From a639a6e9226aca9f7730b51747a9de2409531c5f Mon Sep 17 00:00:00 2001 From: Josh Stewart Date: Tue, 11 Jun 2024 09:43:30 +1000 Subject: [PATCH] Update avrdude to v7.2 --- bin/avrdude-aarch64/avrdude | Bin 483192 -> 3844760 bytes bin/avrdude-aarch64/avrdude.conf | 32059 +++++++++++-------- bin/avrdude-armhf/avrdude | Bin 435180 -> 3313452 bytes bin/avrdude-armhf/avrdude.conf | 32059 +++++++++++-------- bin/avrdude-darwin-x86/avrdude | Bin 554828 -> 0 bytes bin/avrdude-darwin-x86/avrdude.conf | 15739 ---------- bin/avrdude-darwin-x86/libavrdude.1.dylib | Bin 403776 -> 0 bytes bin/avrdude-darwin-x86/libavrdude.a | Bin 572384 -> 0 bytes bin/avrdude-darwin-x86/libavrdude.dylib | Bin 403776 -> 0 bytes bin/avrdude-darwin-x86/libavrdude.la | 41 - bin/avrdude-darwin-x86/libelf.a | Bin 117448 -> 0 bytes bin/avrdude-darwin-x86/libusb-1.0.a | Bin 123392 -> 0 bytes bin/avrdude-darwin-x86/libusb-1.0.la | 41 - bin/avrdude-darwin-x86/libusb-config | 81 - bin/avrdude-darwin-x86/libusb.a | Bin 14376 -> 0 bytes bin/avrdude-darwin-x86/libusb.la | 41 - bin/avrdude-darwin-x86/package.json | 7 - bin/avrdude-darwin-x86_64/avrdude | Bin 619592 -> 2262416 bytes bin/avrdude-darwin-x86_64/avrdude.conf | 32065 +++++++++++-------- bin/avrdude-linux_i686/avrdude | Bin 374504 -> 3101112 bytes bin/avrdude-linux_i686/avrdude.conf | 31450 ++++++++++++------- bin/avrdude-linux_x86_64/avrdude | Bin 537192 -> 3442912 bytes bin/avrdude-linux_x86_64/avrdude.conf | 32174 ++++++++++++-------- bin/avrdude-windows/avrdude.conf | 31454 ++++++++++++------- bin/avrdude-windows/avrdude.exe | Bin 379392 -> 4650252 bytes 25 files changed, 116446 insertions(+), 90765 deletions(-) delete mode 100755 bin/avrdude-darwin-x86/avrdude delete mode 100755 bin/avrdude-darwin-x86/avrdude.conf delete mode 100755 bin/avrdude-darwin-x86/libavrdude.1.dylib delete mode 100644 bin/avrdude-darwin-x86/libavrdude.a delete mode 100755 bin/avrdude-darwin-x86/libavrdude.dylib delete mode 100755 bin/avrdude-darwin-x86/libavrdude.la delete mode 100644 bin/avrdude-darwin-x86/libelf.a delete mode 100644 bin/avrdude-darwin-x86/libusb-1.0.a delete mode 100755 bin/avrdude-darwin-x86/libusb-1.0.la delete mode 100755 bin/avrdude-darwin-x86/libusb-config delete mode 100644 bin/avrdude-darwin-x86/libusb.a delete mode 100755 bin/avrdude-darwin-x86/libusb.la delete mode 100755 bin/avrdude-darwin-x86/package.json mode change 100755 => 100644 bin/avrdude-linux_i686/avrdude.conf mode change 100755 => 100644 bin/avrdude-windows/avrdude.conf diff --git a/bin/avrdude-aarch64/avrdude b/bin/avrdude-aarch64/avrdude index 2d7d44edc39cd6cc5cdaf5c01b0996ffe1185597..0d90590d69dd9a76f4fefb31fca135d19e2d339c 100755 GIT binary patch literal 3844760 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 O^tRAh%*PCh7F< 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

kL{mGmZ`tPC5z6Pmc7IPBi6@ztEVo ze>(UD$DIF;I;eEzb&zj6$BJXLO^v?xzIC9Sv5~{inwMZ#gT;uP&-bE zox;nGvT^K9$NTZZc=y=`S7$;B{%xAWdNDXF?i`d>ILEbS9Gu-A=R$Cn{8>qU?c-n< zXOIMIfpawX>D#~5e}0u4dvEN;_2&g^jUTkW+tVDM`MQi3$+lhj%hK{^w=N%!k!9l* zg`@MnQl`IDcKszAdy9w{J`c3}G1@h6BX)l^Hb%c;R-L2czgx+f@2vYs_5C*mHx8XF zbNfVE@uWQ_Y58v#UtIa$bMW`1`%oJ28+$ngUvj<^+S0SZKBH^K&~5!RW2wwjJ^Sm7 z6-A8IcB5zQPtqDV#&930Qg<1{I7hG{NG4@`NvFo&E)5O z0Y6v&ocw$%;K%IdAe&EM{x{zGZyGy0i22!f#9Ke^ucJz|i2P7<1l3%h(br3#?Y-_V zY#qsSl6|nYRr8q1TAnc{lg@`T-rg&o`=rh+12sZh%!GBO{;C}-eA>x94t0gFHP1m&#JXX;1w?E*5ZZMkN7(2Gh6or zZtUTz=tu`c`;VGoXzj@&;q-JCHO~Sp!^3*4l&5}gQ~$2AO?24$6<@!$mpL?D!(%zU zMkcCXKqiwZF8CdgE`TK*rVHw&^xOJvz0=uu@VhLnhrDd=rWL=-9KYgW64}%#BltIK zKaQU#5)I>mrTWOSS$FjprcHMbq-DHLQ~p1v=bq-C5Bqav)B6v`8K2@O0vBg{RP`Mb z*+nJgS9oPR)C={Q$}#CdpU6UMyiJzKDwbZF%j^9L%Bg%$AiMCnbm8SMdT#Xex5Asr zUiPGVpJ(5l_RggIy+7Vs!EW2pAsa@v?cWDC^m7d{McD>fyYUm4Q z_rTSAeH+5~fbJ4>-8DVEOmRQe#{l~&Booc=>3QY{0iCwqrxjh2PiVubPW2poGf5W(zTsa@=SD9oLebJwL{k zuh?9)%Bswx72vS$?UzBP)<<t*J60e!5WGorUT1B9+P2ReVeR;yzWLze{y5QrT~KaMBLAZ7eMh>s zUbd_IQ+wRK;=9QwIeN&)!=17z@DTI$9VYS<;dx)rD>mS-pHO{pED3N7i%;tGBj+M# za>c&xX6Zw9*NHdgqd6Bp^6MhRljUx}GW_uSiCOrqud7sxv@`k+x4yqBUx7yU)*u_6 zOE$Kybsc#0O?U9|{v4ANYh1L>>CIkFvDOG7gLiwGloUUy|1D&a$}PtevPpU3fGK#& z>m&8sg5b7#cZ^>T*XrHL`2T+d-z)KYD|?xuL(5-Uo=*-B$}tZVO|+$=x`mBj?leX1E6-yPpqkBNhp+XuLY5k$a=j==jo%IG2{+ zeYnTnvi#@M_*IoJO|HP!RuCt?5^wEeAA{Lebj%RnU36q7j%aA*g3?_b3!=ML zF6iSw=Kl=-JNVzof9GAr?lbR-yXV|R4rwuG-0LHzp9am>%1-_Sxli8@KFTEbMeaL` z_nZAKV!ckaejn%1fBMs#Dxa>tw{ZRNZP5$m$D`{zH>+&IyG##G=e@6!9tG>(2-_tl z-0fi2?`;Eza>?BuA7$%YC*YT#UM2kk_qVWV+S^fG^KFXl$!25}z$cJld7&(Yzf-;F*TKgRb2^^GKO z(?7=+C!wK;9U#YE_V~ISPjG!b$)&EgnetroEp>-aGS#)-|Lu<)f3`+g`X+b$gmk3q zLC%V6_>b+2ezjza3}}DY6N{XXb4U01VSU%fE0D`Mw*HXkb)FaWy`~;;-2kkk+!@QZ zP7%L~YSAM3f%XSw&)yQ-vt*0s4;;oDute(s`KsQLr#)8Zo$(}E&hhf%o&3Vq!v^Iz z3$P(4t}P#=PTj9Dty7ls#HKdTpZt#G1?u78DW29SsOLha}wtzmUBf6Y*% z50&>*XxvjF)~j4he_g(Kn2(nho4D^v;S|<3U~=wLt2{*YTfv;$4raL>Ot;R@`g*i0 z^s}lJjgu6P7(#}IqX6CMvzTXgT{>cj_TZ78i3NMUhAh(e13IURcj(KN^KjIUOv`Bf zc|yC=bDHZLn(T%H`f6*3?0X6FGuoL;;3=)E^ZwFn(Ko`o{*GvS`Ygn2c-A)INdi34 zaYK{5H-84tYi7Z76YucRp=Mmz{glfqzns~L#hN9=wAJ*Dv6VFcOl@OY=cmuZ?&jeW z^N__7&V5Dp))vzKYFq=^TAPd?_15R%U&xDR=R`U?Qg%<7qGAB$C%G^o>JMZHhc%gwcu|1o4KR>=cUShh5;;UFwev$HT=$*0uKEeLvV?Ces{lWB}{?mYB zh3?f(l9Od+Ym5{4TtV-weiCo31?BBo+4ubfgEilRVK%~9Vroa#Kd}3XyU*Yg8^*EK zh*)p^8tR*mQ(thcpF}(UVV}43gI8tccOi^EVts+F_X$9Y7-yThE6ffJM<9pXXUZ-%;Z3X&@R&N3Iw66JP-!4H*^YabF%$4Gom??Qwq*Jcz(t*!ktv>;t&m;d7 zm$jkrXz-Z(H9XK~bVFYFwvm0nmg!iV>RDvwTXU_@I zo{#=GDBFg<1m5;ux6|iLGtV0`eXmAd^vARoS~h5XS;>*-YmtAfxTd};wq|Yh^EW&$ zKDfU&ik8@VwSMIhzKq5ihDC3Bk1zFUtRcPUy=+vrX#E*I_xQpx%`h|;r18&84_s?p zNP0*(ALQMl-M6I`;ny|aJ{Xa2rnqbV+r1vA$@e4PSHoxB@zy#pN}^G1yxz%Yk;!4L z@RW!TO?cw;9^MR38WTc1#DsD1MEb6F6P^zudw8`Rgnu{YB%a7wW66{FW%dTVHH?cT z>Qno3QX=7|uOj(uz=qXE>)z-9RvgH3n6l~@Nw$)uVhsIii`U}&NbK5Rd)ceqw7uBa zMGAjF@|Heae}cX!bb=?M?61HFc$f_GW{9|KP;l4z;x&OyG=0jCR4c%JKD;OVs zqJ#6#`F*{kS7nonUA#{&_O{Rc1&4WG)3bf~8hDEIyW{1KhPXyv$g}8QtiSvEbUpoW zN_+W)p_^x+{a8=?oub{tk^VG?kvzoM9nZM0>YsSv{^vy1N1@rC?}``~@cZkb|EZq^ zauSU_*apuxV2jD?qKn3_tST>ck>Q@xAVJ=->qi%Q|gbsO#XJ3lgTxQg6{RweLetu&6Op0_E91*aJCtjPaKjhRi;cIPHzvg9}~ZcEAHL3;k*0e-a5Ec z2YY{n*mhxZ6+C)cWb?^`eZ5f>Z8BSezDUpR&p#{U_XYIs$AmT|*m?5A8LGE9y%ujJ z#Vc@$H?3Zv_?c+1a*{Xr`t)5H z$(U>Qr8wDhJ)mp&(({V!<0{G&qOG45J-X(*0}Ik?bR`-}z*a6L9I}Z@%CF9ofZhUr z@oCM+Ae$WAN&vSMzy;s_!rdmg$Ww5K4}`{lcGqR-iok!AY}U&$+1CHL4ao5k$vS;@ zL&=^U=bxEu3#C6lN4%$Hrf)a-n+$m7t14v--4>h5Cn*h5k+dfjmr) zius2}ThCn+;A%zVb^Al(&HF)Py#F*3yN;7=QyF+U*`CkznU~8k-d0U6$U$?mCHUT# zP1ro2x5uJ%=ly^D0It1l_Ujsa#Bz-nRa0G8LYz^vF5*3(fClLxp*^uaf%Cb{S9A5D z*}j47b*r|Q{jJ7F3M0iE9r52&S6`Byr@pQ6Ysu1&SERDExS;3wipkr@Sd%xr_ch6Q zIFvCy@rbu~#iV4~*;^>*C8D88&NUCi)p34wYyh{eJjdIS?50`X742tE?d`vjZ@fK~ zH!>bcZ5O%r={k+8-gXC?;j*l@~EpaY6A_V;15k&6^UnapF(?U;mu=f7NJOH^|fMJ>?XSKP$OB`FTOez$3#DMV)&)3jR)DhPiH5%=P)J!Zcp>D=P!Z|mAAD=zKyJ@Z~t}Q zM(SE{7r1<)lGfw?UF1(GfAQ5vY}PgVRZWha@_#Q+0ywjc+{emAuNb%A_8?hgagg`wYl^2zT3&fCw8y&V-L9XwJbgx8;H3T?rF`;Tpp>_VJa4CGye)UU z=`5rz*!i4j&#}4&2XK0O{vhAa&GmtKXY{3IKSF$G{Zgy`Mi1}$)$W1=-X9}h*?F#L z(LDJ{&c8;W*KE9U^3V@|9N2hMKlyh&59HZPMQ5x&mEbaWZR3c*`xNr7^Do#BXudb4 z5t{4rYn~f_$h0CG(S4wk#LKRg@4p-Tl7sWxlZU<<(uzL{7Jb}a^UoUN0MZGuM(`)q z=O$kLtLFhZG;FXb-e$f5ybCEmPksk1@f9xw57%*_q1&@P%)eGS^PgqTfB3FfIv!im zwIAy%a6Nq!edUv|XXHoUa?b&>ajqrHoUXq^PK4YdeS2yLJTZ18e(IDhO76%*^W|Ga zgX%Ypms~!dbJxMe7^K>X6YG+%AAd4AmR~t^O(@4EoiFmd-7MZbeJ#ga1RtG_OUKZ3 z#Npswhpg5)8yi5^pTjofBXfXhF$Fr(v#DH+ebvxKv(WPWWzOHr?g4 z(=eLZ^Q(qRv%vc&5APDeJE%0(`#xZ-jTqm?e%F?!zPOcp#tqTw6uj-}m%Z}*4^)ow z@G@m>9p#<>tRFgR7JOgy_;hamT+YvUl6t#cpF{%7~@%=@DJ(eC}ZNZ^aG1C42w`B$D& z;9uhxvJd55dTw*&mz!)j^N3tuZJE0_TOAhM@IH9|^6RE=^>f7JLXNMm0@uoWJ(T6g z)bHS4x{jk)+nVq54z~7hPg!ef!uOnQp}o8wa+RCed)8BduC%tozN<|tL*oAe!KWr4p#;r&u{Z|TQ1GoftARnRHz-cfqeRS z&eAm5&N*D)l&>b2cMe6Bj>r0`UrbINDh!v-jfSIh?Rn&%mru(-uf)E5@cd3}qeA=a zWng_s4}0?d3hSUQdmjAH+S*8Dl)VQ>`2Kj#YO}Qu3!+78j|$K&TQdHJUp=%4-?H@> z=M(FG!^?r|&mxDnif_?TqJ5Y_N1Vg+UG?{53*?%>f5gclU*@a&UM}*BTG0}nI`sYj zXwdRU0WBYe7F&A}@`;Q?KKCVuf7=)RiV^#wUw#(QzY1A~_mVBKnlqR?oqRdlq8jk@ z>j6&}!IR>Kd@jXna}&fA*=ibx>Q|s!&0#^?R~a`~`?&YIulYGUw`M&FV$Ckjy?T;) z5n@esns#P-wT~4aJR}!$YOHI@VhgcBvE|Mw;JfmQhgIlk%+>k$Xn7~GUGegj;s+cN z?F_V6ZH~>oqwXBnPV0W5@;Wx3IQ`InYVqs*k8O zcqRIYMRG6X(W`QiazpCZxlUHNocfRPaq^Zb@2m39b6C?7-oIWp$b0;15$k9Sb{*IS zKd)nUCK}b}h5wi6`_{Tg9_d(jnLKL8kI6Gw!=o|<7k{%l_qceQtCPyj`pzD{#dP9X z62U;{LzYavsZJQLrqhlY@E$w6bYsm8#f?FfDdPL zT-Rxv&E|l4oU^%VV-0cBJhA4nu^ris*|O-6UQ#&@0@zQd_#H`4Eh*~-`PF6zVf}~2?xIxysPs}GAKw7{{2Ak-st4H_{Vmc zmxy}pjHVP9>%IE~Tler{_~i?N7d%V(INtM-(dX^b`qBZ+@uvEci)gG-&12$pm=i6h|QExhZ|D5l!XMr|Xn9>Qz$t1av@OugS{uoa!c(N7Mq>GfQ1t zYjgh1u?#q=T{Y%){hG0!s9NvAoh$qFb_%W z*1yg7z0IwMc%y9no$y7>>A9NuGyM2M*%LI;HV+m#_lSP8!HH`(ZDOvps&}#a)2Bq& z>Ux~-%*G$YE>(wb9>>?a>k-zV$Caq}4?=ju0ldoX4S0pt@QN+qeI$feV2@))-^~qp zZRqO@;KiQ4_lNLwwv~rhUvbDQGJf087YFcCe#;&n@%&oZZjm;>5bQ5hPC+g?l(e)k*q_~eER*azC-WB{I+v(SaFL;usaZ`wkdWW&^qd5-X2EL!?>~) z4CIyZTbR?9jy@0LO|4*@63C3R1lsY^?_r$X3dRRZy~@o@hu1gO#YL48YkP@3oe^|) zSl-r^w8t^xajXM}+R(k%_1%@O6`bA?XF7R~^^Ix+>-4h~%Xe)gFQc8w$#^5SC%k8s zswU&|+@W6!^;9TmZ;JDsgPoohf!Fd8WMZ}n4E8==_0eXZQ9B&Ut` zw|wR|tG{52Q7op2Fb!0@`c*MqR{Mo)Keqo!V(br}Of*S!vkjzzV0+D}g@;`_-IHhaU?~h^O=U>BhOdkfKpht~nFm}lqD$a!XwRi%j!<)-MZekI zywNUjr8pjd7Z-xY6dS!6a3)@{J7wF`M&Jd^I&~Y+G)ktPwnM-FutYvJnY}C znd1G0^eKol!CK=6pUUlK&{8@eud`@n#_M>|(elWPk=<|;yix;R-%1DX{u%HZ@|r1eCN1|S*%k*1q`;cF` ziN2&kU;Hx1?{zcyZNQwtZ>UzQabbR5hUEs#_-IGtCSW?dNo_b- zqfUFPHK8+T9d3eKYrq}xa8FBhqwnK%M_cth&KYnD3-a+bfKy!U=v(9HTWswPdJMmb z-gz9pLHiMXFdDkdjpy1vkAFNU<;m@(2)`@dQclT&yqpS0HDrH`qoX_JN8e=kd9}v= zV(cpPyXnr3EMGDIMTRNg%DbOl;@k7mOY%55Lxfl}sGPojtZ;UZKC8SS<(d3I-z;KG zL;1j9Jp7WO1XwF*JJrVZWAD@8I-K@dvIxsOgFIAbMD0Iy)Xvh@_4a&+vC#AxXWVPv zr%&gVtSe2Or#2Z}noCe@uF0R=wVR()pH}aIr}t%z1^Tj#14-9|I@cxOd9bVYl2G4+ zodM7N$2*??44%`vzMUNGD!kO{&EXrY;w!8-VD;vW4pR?3EZ(X7L^2z6ZGXkb0o_|0 z{f!&-9rJ2*Gx)CY{f~1QoBd6TujH4GpGaeuTz`@0$f{~(x&Jfn#c$;7xxwQ#mTz(v zjH6X&EjQEJx6bkS0r80KB#*|jot=OEQgCaG=3;Un`ayMI75RU;@)`16*|>5=Teq+t z-sp!|o=SP;sUwoTo-g&!sjughanG^4jYoIf!u_anBO5Q^AHGa?vVj>gFCWxaSK}u_ zJNf2D_|QCuaK~>eU2CuxM%UWBtLQo0(XIEAS&_XK;-wo}ED!Yf2Q3 ze!Yz5SM`p)Bf!{tU@KZV3zGiJ;+8T$+0nWjS~Yf*@@aiw57+mlu(L&N;nWRI_h^@N z=WRQ)&(h+y_4;1v@IQ|~O{4FSm#fIVrToD^|ta^FZ#MiC!kOMljgD32kY#Zv0rNj@54*N zI5yZ>Ys9hsQylMA#gZVWG5_?sx45#*+2Zf4#xA%<&vwR8)-T`K=mT2+4_~qVA7kB5 zx_>^6|4E ze+u8%-21;s-=l}z`^3HfT>4&pt+0M{u)!bo@5gJnq-tBu#VoA4ZfU5D~+RnG9TuFmjAhqlGrS8{m2;PGO_w&o-9d3nu^H&`q$ z=o&iKzkrNrlM~_)5Lp}_cn`oz27#l{32UsE5@ddbbe*&M*( zdbx*V`5Jk?-oI$S3S`@VrsHv&=h6IXTMNG;HnA5%`Jd@9YcGZm&D%|-VK>Fs3iiCw zcgk)Q7nN@+H&{}d+IBt982|c^_#qd$Rrllv(n+juWgw%wzvptjNV2u|gdFu4c(!>0 z;>v=kO5ag)@qE|A)w$W%DL2tYKX`n0 z{-fPToc-50H*JQ3WV!1=}g8y2oS-)0EE6H+@R zI~(8La}H9xfbk%BuzSu0(sw^}-_tl>le2i4a|zEVEHBQ^*QCuHES8rtAK~EGz0Uuf z6WkATwy!@U-`)>%#z6S}k%g;=bWUau z&+wVv==wREH8)O9{kwH?o1(@@fzhG)d=Fz17$u$;Dc=%?&iz>MV(LTxDfHd+RCm6sd$;yDOAfv~Z9}hQYjeQCbIGTt=H`9F z^7g#K{4IHv{Lv?DR+9KVHlIGggHiP)$>Blx;vHwVoD!AYdg&45d^cq* zf93ro?@M|wy|vf_UQ|BX0#1=U^wawT=QOuBU{rZ$07vuFHP(4qUjTcoixzaCbrRTP zZ}Om*A-vSNmQ0jKTs39=yK3@~*Y!j2*sSY^d|k@axh7Ayx~A)(ymT#{rE3tUH_l;P zrQ@!>+ZcDy9FY0|8%!rtPo9ciHUR6OSn#Ge*I?>Ac!;#edm22`yu$`X;ZzQng0)z-N(UsD;imzu|<3_PEs^2r??L!F#6G)bNMHok+)m}_!*Jk$xE^x1nE zPmI*=@r@@L#8{VoDvj^?Ce*i+&(;X3?4w=eu;(dWYsxZVqeh zi8s4Dqj*TqJ6O|KTn=ya+b&bz(fD!adL+m~aKsmM&o`NP8uVN;I0rhWC9CO*@jPQ>{xQlvcdm_H53e55**eMj;9>8}-$F-Oxe;fnM04C2L8LyE-m?$H_DA}%$7_s3cnaG0 zOq>IDoUoRVT>9P5_?!oSFxmTYC!N7VzroJpNszDIchV>1x$1YZK2H5&pL^`?EH&gi zVsj(iqX!~iWU;ur6QA|8+~e&-G;7VIt*bRYP7-ZZ@f5>TiMX!wGbCS?m5fwg>nfAA zrKwxqj{TekU1vGo>+qhVpE6cQw5yJ%y-eHFRhS#*5;@w7HZRgW`p++Mw12Y$+QA|F z&eoKp=kGP+QyFNi--LauzZK$3+T*Kxd=Ghie+fRP*OTmNEEyv~E>CRB}EfSaD^Z`OqJJ*ZI(Z_M`YRW(#-3w$^`ucHobGh`nk(?t1U5 z&HfhFql{u&&W46_^Qk$yW1G|I9(}o|oB0B_P8K^=`&7SEw(Db>Xy9J4N_(c$cj)=5 zbF?1P+j^^*OPs4liqC0`NNpb4i^zrC$=3Cs!Ctz_wNZ6)8~R_xKe%;?PIRdD^#nex<52--v;a)uC5$MX@l{<65uB zlH#TGzJPeXA3lXFGuv!OlkBn|yDwtDtGHI2DAG2HmsY-DYn?>{vAj>?9I}tH%{|cO zHSDTec6G-->?*C-%C4AK4aPTfcGYKdXWgU!%gf&O%H82?M`Ow2LHnGM<$U~iQK}dD zeJj2s1InIb^m;h`*dTh{bc6O+`DY(%@?Aa07pj>LGymF-<`J7i>mI$z)BNlEV=us0 z{7LDbO^4!HzH;s_$}ZSPn!>ztKVYite$ndpyLKIjeFSq+eND2>WSYz(Q=7-@9zDd% z)Xoa<{_%0<7%EzGH)i7#7FQDDNEGC8`;@D1-$Vb<^-9`^e%gp4d4R1m#(pm2`5E}o znf`hsWp1R*8I-v!>ezk;d`~LIG`GQg=PQ>F2Kh>#pELXx`Iq8B$MAu~vdSjeW$7aN z9k)l->w>naoqfd6q`m&~2eq9=a)yot!Fi0DGh@td?nSSg+Luf^kjbuVD!{8$=@VMK z(w^Bmd5vHU>w69F1K#_bKb9Fk>R>)3CPo&ZdogsI4w_>1{>XSG@~nebGM@zB8H(%5 zwVUHM^X~2Zuy2iv+aE=yMkD+1#+z)<+8SUdz?Iyi$^zO`a!lygeHU}(g74=pbFpc_ z!`~|S$mb~R9DOaOpRmvNf!v019lwVOeLcJx82m@-gQM$x=|=VIlvfIXX4tg=(~ zBDsGaSSEM+Fmu(uV6Vzq+SyF{TxHU@sr)z1jnqyFAG%+&3qEC6N$1?r?Tq`Tc(QT5 z;RS7Nd}OWk!S_GByuNV&w!RPAWY1}tl(y!!O0>z|L%ULplHKcHXOYHH+`65k-9%^f zQ#Z0^v1z`n$9#BdT4O`3-8mS&CaYZ=9*pfwb)a|peWPyfD}J_v7}~1b^YEJhi?Kkb zXJFR3PW#_$b=K&z#@WHs+tg=veYWQ|b7t;(?4NZ6lUwMw(SNh`amovYZwo$1pX@wx zI`vJ+G17k4MB2|<`n1at3(f~7((ksE)R(HcwH&@LHPKnIzSM;Jssnxw_I_{Q|5ImP z2?y~ZxeA)D;-C4<3oeJhE1>HNmtT$qc&sn&=RD27sAG8fPFvu=IlOh7d+i?mw8wji z@B-WVK@Ssm#54JkowxC@=U?Y-h&FOT+WM(%KM(UMpZ^~8Z85n`kuU8TcKcpzPYU;2 z3&B034>s0URvxy6{))~x00*?&Squ2xv)d)>>|I5^`0O*yJVP%wZ2iTQCgY!ZP2<0? zzAgVnKeziP_&)^O!`Dn_Cd+-n<$Kxf3lpU%I7CDUU2JOz1zT&yvu8Fx}ICuzT8e(PDF&dat}N z)hGK^+sS>v&r?4|93bW_{)~9?_Kd$ST0)zL{E1t_jSZ7CTU=oc_CGULRpxwK=o;e8 z|Ec<=$kLw+^SUOPKg~O{Equ2fE&YCO`AeRb0cfH9*qKmwWj8uyoFlzIQumu98^b{U zdny_~+3fUP3~;LrFucR<@y0fM0kyO7w3F z#B06}QmyEJ8RKAHR`U1IHYayO_Y&TF+bp~O?nKsi^z~ZWrXO4Kb3M7Z)aU1>-=}zf zacSyklMn4b|I+Kr#nTdJs|OOB>)4a->1$!DZafk_E;8DDxwH?`6V!cHePh-2b?TIr zO@Gbhwhcb8A<3(qoeM@C+f{w$Gi`j)=cd?ghl@iMH2697b>Ky5|XTa=6`KWAWj$|Nz;(r(I@g(g{{RV8LbI#~1pQXHTP&c=a)7@Kp zkPzo`@t_I5*-22|{J`IfZ`poSI^E@uX*{T$-qr_4`b1mzXx;pc@x*!1h+qA#{(-v~ z9wY4O_cfLxJnRXV|CIutv$nv$)0z_VKhFJ}OTAXQ>_5Zd{4zK%{x0yDlLF?}1ek_{ zd`tK5O7DX`o;Bqe;L@6#v@G$-&N?~|Sm~a5ozbiJqP21;HjM71TXb|zeZKwAxATWZ zx9zE&v$ap_#B}fX#nu$J{r#xqaSl1yHPMviU_7^dvDf%{v>#WhllWl?8z`o8XFRJT zOWB3;;#l(@l#diYfs_2$V*Db}QRlhFmN(FTuTl=Cy1-Lic<8nJW>}Or-rsxy+13VrhT)z_cA_D_rzO+13i*Y@-%IWFH?Wo<@cXZy!FrYetMTb zBizG|Pk{bi71iGk>|W_FO7#csSnDo$PyE>~UiM2?yS#kBm6H|E6HnKCoxjhu@O?tO zaE*K~%yf)QUX{wk^K5(0MR#CVCH!vsiKx0%WdqqyQm+0))BfI8dVRvv3XG7}RAzPF zquZ-2zxHx$rt>AjEnTYJhi<;lWchSmvgf>M@mS$n@#`?k_AtMk+BI@LM|F|^eCjXa z+YZ%wCpLe(!#gU!!3XRe@lA2q`@{S+u5JIu^hKJt6I{(N>0k6O`T@4@X&IsYGPu4S z2y;!_0|U-)kmD!nBMXP+C4E(k37i4ZE+!OTrumY?Ro#}9sf6oe=qBza(l1$T64Tj^OX|g zxW4Vd@4yxLwTcc`tG?8T;p!fJTfkEzZ(3k9wyHO7_2!MfQ8cb629KSMOre|W65}w_ z@9FHVBVXMga)Ha0WUpl#(_oGhUE1}qa`$LdF)`wI*ZJi7*yInTYuSv~aW*!A-40Vm zZEYG)(->1e92tRc?gg)#GCQHH^w6O^R^=~tF;wMk?0{Tj5*k^bW^~&4(arem&6Y=; zSZ|gyWtG>2u$@hJI62qiwzkuMu5`-$AMzT5H^YGs*Jx)_Te7yZiB4p*Cd5~Vwjft> zwltjEqnfj&5s&wKUC2y)HO8FAvb;0(1N;=gUe0~Bwlu`~G|wFzH>c|TH3z5o1}BRvfs@wF z{M_$5ZB?(&>dhN{OCZDKJsVw{u66`H%lGBKx|Z)}?L~7Nlg4YFD_+m9=f??0-vE#J z=#S=Dp1J9{&1c?a<6zt7xHSXYIFH{TZJ=Ap(q0~!V{6b;>@Kbq@kcw97yXZk<)DA(dT;tX%uXwk*7 zJbzJcZX*Y~xXJPNgophF%@;|(%4g26SRV&@W^;x{xBBDcq`T0a#^92x;F+_v0*?F>DM~ngGzQx1ZZIg%W;wEUg$=QW$KgIDbaA=-QG$oHvW`p^G z&a`uDp}3EkV@z?~gRPVV?_v5BJEE%1_de|5;w#=ha&x_(U<_6HL$bq{1E$JJAF<}U ziAnOksM+_L;F=FoHs^orcMQg>a<)`|qjbUiAG-Li>`3sCv3*0W4Xu~WMyurDX)XLb zv{u^FI&iV0^;vvVdHi3B-W?^E|08FO(`ZaXaU%n70^I6|jnmVxV z;&flL|3GK$$?03OafZm|deU)*oWA*&T-B=j~H=( zRNW$3-Jj>1cxT@MJWKEV+~wqb6=&D#+j1=%B*)ZwzN3@KC^tuW4RW}~@%jwo3gH~( zch7CK&lc;bYh!8mQU0`O>(|ug>Y6;@c&_VQ>ueP1OZ-&uAB}qq^RND!{3-QQ(NI+T zG(VbBy&wo=xJT zCB=F_PbOMK|J^$8=zb3a+1I&F?c>?!^0~t8;QKakp27y6L`J*dZSo0t!d?pSyiMnw zqT4JNp-iOMMxAe2yem!p3;*>;z`+k*B*U%I#EpkNw?cDXtX16BncuIr47sIicafpy z$&_OpAJ}D|wrZG17ZIzq7Bym0;xv}N3Y;Ld#UPU-;oO7Y|Deanlm*2+s z6uUFtD-GWJE_1x!Dc*y#kyN)UaeFpf)f@5kKJ8`3+|JTw{?yK37gN!9&bD@EAg~SB zzvJC-=TH{2hI4x<$=L%sFLyroA&<|_-bHr!*oDlw5My}1C91B2j&#mK_M_ONoUGpI z=EaH~l}$UI@naENT>X_=`>!<(8{?ss?l>rdEN0&-=@^*_Pl2`eSzcOd4{zMyb&qxePjeXPcaijJvbogBWiX)?uep@>l z>z>B%6XRSQ;S8j0eovXLz4qr)wen+pcR}jM^d~}}wfX$K&km;jslpSv{?uURv$U;U z?4t?%aj>&yc0OqH`R{P@+~H_lOyZ_?)ndfEw0B$hG`D{~G3R{#iO+Ak6j>=}CEm+! zec#G(nhrdTX0Mc&KLj>A(N$~O>lo7W>&|9x_w;l@53yk|()Wc|gHtrDjWkw*%`jF% zKQy~O$*vhgIn>T$a?e>4d#XEY!T6$&8WRV3HxaRS&)1)bYFty_VzKDwY%jet{+Vmh zy9B$^*vXf$%{qL^et(~{DgV{k;9y|G6J5!np?&0JK5~_l`P<=9Fgh+F?t6Ihxg;0| z8$a0kUnW~`dlOyk^^@)S@yi_S{&zaq=L1_j#)TE^Ybs5B@6F)a2oD>b&U|b%xTZ6& zCm$QZ(X=No(9yWz=pKEQ*U=xs|McBaRj|>Pi;;J74{uS~od;CW{KwtIn|q_`BE=!z z&EZ{gZ>fq**Gy73m4V_0c4c#kdarLZTO8rq{1X@{t~$>YzqIG4`Po_*|MRj-Rye&N zzcO|e`a<#DPIi&wYtt2?^Uj}>X81Q-ax`BkzQv39`WqKd8nPFTPSy<|AL*>Ca(G)B z``_dIc1%DSv}K9%ns?d3b}%W2Fuxua60-Cb;BgMluFr3=OZ`f2Nl zWs6q|7cfl^;I4Bm8A%8K#<$!Q?+#U&n;oyifevJ6W#tfl?`URgd=FUh$&bP1bTV+Y zQr87akTheXFFRxop$zR z8ap*sMqfpKc%b}{_@#9U=xxtPlYCSri%W5gXf(U9NR~`oV0>9l8zQ z`94<7hdz~;54yQ}e6T(4z7IIuKZ=}97KK~>_7?mII2O;q(HzhIrkVGYjv2UDw&lC- zaev+8&iRASG4@_pb!Y6S`33zJ^%I^vh<0#2wui2?o>#UNbB>huUB%daayfFi+{v(p z3{5xqY*cX1EMEBcBg(a<^Wgm>&2{KA+u8wa+T`u=hV>*X(GgWv4gKG5HGJdkmvb#z zkS$CpIa+k?8wRYLrA!66rq zI5R2w;cuq9qK>4URhHU+eF1ho9y&wh66>!D>DzvkNwn(sCHpWFSqsmUuU)r6nr;Ndt7 z@Kb-VHidTZz$Q9mOPMSique~Gc5{O zwYFs!SJX~G#kC?BEEQ9|>RXmowuK zaIo}Y-P6Pa{I00d?|~QM4@5^C-MCQCAJ>tws}G__%n>^Eh8JQjNp(l&aCi>UAN4Kj zi+Z?R{T}5r%RCqLImA1kch_s30?OlK+%CPx-nqwZG0rW~j#nBwz_Tvs)#h%~c0F~3 z=hokY|KW-ve41aTUh|vUk{_jB0uTP~#GSnp)xmjXv4tw;0u$DyFTfx9^6cYg?4iC- zx*c&t+b`-EoI{RcqP8L%(1F~N(FO2jqBg|Q;<-oh41gzmV}*M^!sQe54Kg$Rp$+6% z304@rTdLoQw`b%#xpxEaJkBd2mk`g~^UZN-2J&jeyY_weI&wxE@&x$Ca1Q~xvY&E$vNjgjP~ z@@EZm66lBdD%!9-*K{5EC2t8W2rk=!D_|!7^F2rFG zACfkL@tnM5jwV_&2Mr-(l*PHx#V>KJGWP6Y9eN@-_;z4r81>=j2mIi88FN=EKL)v{ zdS>k$<3zBiyY$%;*5f#YKBIFoW`E~EEAGFsaUSr&IhJ%^2LG84@IPf@n|tA7>5I;z zo^AB#0~*_f@`^EqywxtBi%{`w#!Au{C80UZ&m-UD{Zz@LaX6FKb7*mu6fp zW|^^>{q*bTFGfGlQF{Jv`nMeOZ;NsjJ3f2p19O%`*al}tYCLn=!0&FyeRY-9i}39i ztILh_A)Q|0XS@n{W9A@H%w@hca$tkMBd~GTsb1v(zGH~73G{#_;NSx{{%3!g6RJls zmuP=uy}H72nQ;PbRLb?cA_e@;;e1TWJ415We)W~2LkmO~us=J4dqOf^*RhZj_7Tb& z1;1N6jJ`$Zyv2QN@1gzlgD>6OfqI3xsCT0;-)xrWMYV4$t8K~pMFF&q01n1x#%cq8 zrUvWxe|kysW?U0_n)@`-w=X$TS$C3s8X1%qTG1D5w+FUgNSWu$srTdsc*6FGziYoS z=Pcm2#rY)QOg*x{;rF()ujAJv28VCuIFQkA_fU7RUv0@Ml(D|=oef^4m%JH%40UDC zlhBb{jPiNq?}LVM_%TNge`oufndpBJ`@aZ!hQ8SE2%aPU6bQGad=Gh}^6UrQt~>`V zAJ7lRZ1IOSmJc>S55RBoYq!;dlh7B+R$|=9qO9-=ho6U=XXtSp4(DYXYV~BT7ch%l z>s4KN6gawkT}HaFRyTz5OK`?O_*5c2sWNnJ3vk?$ZHKP4V=t`2cI9+m0-nf;GFCk< zk`LfX2Y%~5>4A=FO`pD|?Y*;$duY>)2SeaPIeljo{M0^69E;W(+H#JZzLevvlWyG8ed9m>CVbORev_RQ{KiK-XL-A|LEA0bHj8^% zP=AZ9e_%r%dv1OpG2hrW-qB(1NI9?}z2kQmxZdX(dLJER=@{BMJu z04LhttsJ8fDoqoT>rPS7qo+Ou7TFv2~nOFzn@DNYh&SHFUP{e%722q zIuXYm*svOM;JzrXPnz?AW9iymHk6Z`%fo!+0Q4)wJg9E`y6 zVlXrQ**4Btmg88)^Jy3B{l6FE{@)j2Hy2^fuoZt-gAbP)ePMh(_G^60ox1XC#WfiZ zqAqnM1)Z7@N9e;w=s`bqX99SPNdw?AQ9Yj1kQnjT8bbr$5YOC4K%HB|duXrLF%#p( zggBDtI^KLz_0{(l+x5!y&~_!x5bHSiEcRwh3NQ7MIr{vqj!om4dcwU0(9vG5dsyG;!FOW3i1xXa*!CjS z*F8t@m!tpkGZS}JK`-~=@|-~ichjQII>O=a3yC{?f#8fW=}?a4j7i}aWPM-)ol7z1 zvig{eorG`jH;hNom+XO{ox&C|=3}pPO5%#vYQh$Snl1YOKwE4t9|>FBKz*I4FUlEq z0N>ID-?+Kt&?CNP3hhsP;ia3I7vbJAS?`=|TgV`2!`vgyykgqWm^(4Y2r#{eHY}`+e^704hXY4W9(?s+@-wSi08ya&!2bo)uF(;r8dBm%n zMwvX)+=uw^A&fI=x0gdtC#nzGNxu`;gI?YKN9gYw*uff%5m!RT@CRSCKhseR#B==@o{%wB&e)%yIpXD(gkUs1S z;rHB|;=UJtbR^xnWEeir;{Wf!pS-qXu#CTH-Iu(2I^rZx^4$kG#&hnq95E8+`6J5^ zBOzaQ05Q_o+EnET%3-<6A?c$!=_@eKaa>w^t(lV^;qK>v|HqjA`p1kfWegsyU1jn* zfF0sFSf+DSoQ1OZy5)J!Z)S4c+4$6naG}3cd&b=pC%SX?p>(E&bM_(5+4G+>zHtw1 z;1STs{8A@;UO*h#AAGp39rw06`xaowF*t()r>$J2EhTt>@t?ViUb|lKyGIQlie?P$ z^$JVunAGc)mh^>a&wEma!9%?(WpwXC%HA)-A2Rmp^{Y!{p7d_S^%L?!$HpRc32?s3 zHXM`jjJx!L44z)I4NvzB&lhq>fZY5SVV;LJD!^H_`X)ro#4 z#2M{@GslfyKWF+qiZ~}^gV?~#pUIng?|_4+e0y60hkEs+K1-(0gBbtFr!{B`pEf60 zlQQ>qCUq-V>W*zO-SR(A9c?S0D1KV(W*y-KYgUP__H+GS;YqxK{vzG?PHG4@D{$M( z9e`Un#OQqvv=%hqAbFG|o|(q*x)skc(0X77_af$SZ{l=w1|m&gctw3iA8a8TgCN>wNJWhoNp~$=^)-?);g*xr+a@*?y(s5BiSh?+tpEaf5HxfiBYD z7x|UoVtu~YoRbVztYU6xP6)oxKgqa2*{DCXxN#h$&bQ`Hiu=4m&F6);8J|bnWnC{g z3E%ls-ZAd7&&snr$D^$>)~~~yqQYn5a3gc@;GL8Kca~9qo z-*5E%3g9I$u-{1Tz69TdX2Js>_#9HU!~^|&nq!0ZpK->CsL#Ok$-R-FcPQ=fqUWDX zpX=GD_CvYZehPT@kjs5*tJyp8m*zjdcMQE;2tC}H?n})y-`M&HZGCla)H}oQhimEf z_y7Dm&P$+8u-M@LBhtdU&@a&Qyv$qlx7F2>ZI3!felOnseJ1Z+lRw(}=+}iwowUC# zOrcHtiRMAY7Wie(C43WSmuly_lKjel)#y$u_(i_V1wX1BOL6~nxcJ)moE>9Wj&o`+ z-xb{JS0=2tC^s5B?u`cb8eRG{>3`htr-ypw>bugQer})@`(m8Dd`!mv4ukX0As^!W z+Y`r^{=|&0*!$bkxBnvKKprDLJtn4c-tFbPN8lG|Kimf}!>^6;z-{9? z8RMVNLk6fb;1^o4&lCIqw48EaxyN#}9h;S^ya1mN&Qcyac?piaQF$`qKpNcLL)xoNpb)8J=2SjqrL1dWkzq z5#NrI{v$zuup2zxZR85PVsf3Rf1iF{WglREh!}cQb(e9`Kx;|%mdbu8{Eq2C_D-V* z7eNm`=kmG%?#zq(SbHL_v{TaX56Y_^>L$vG5BcF^E;B5$tCRZ>89_G4wMFzb=o9<; zN3)nu_>0i*LgOn6wBv=>iVk`?oH=`>Hs%qh4=PU7HMWs)0=`McGOiD4eb%LZ)Pt2m z92DW!KyR4)fj!H*M3H;o9ea%0HlU0AV-7N^*PsvPLMUHZZ?d+~2qxznGcZ?y9>7K_ z`_e6{1GW2AlRA*U%jm$Pe=xovfFJk;?`x{V-^uXAC%#VG5%9VIpNF`83FM74{j1D8 z2lgG}nZ9i$=7GBdGp5S;MO|6}9Rod)PcF6h;at;be;e@Kl^b39dyFkgzAeb`$YT#q>7dgDuhOH5w-P)F>g+Rpf}zP7>{KyN1G zAKFnqjFHLn0Qkz<#_DN(g*s~+%A^1prt-c5w(YUc_;;8|fvyE_Q z;-@C6BWno~S4obxw-sl6q0@3UgSMw}=z!!Q{>9kZ0PK7|cozU)(I>_|s=G4gV9r3F zp|Q2#%Q!cK^_N6`A_l)l;J1};5kC_5A@ytlK1}jd9NS<=IIrVZn((Za8ogp1Z|2GZ&Km1*d{)cdv*f8LQ z+rV%1SNJ{py9)hXW$gA1S@g$eLOvz~7m zJ?jU4{O;*g`;wR%G&pfIeAO!&_BW{geH{IbUFugd^bePT_V7C7wJ~Nsg1?9S%Ik@X z@}Nk+{!kBig*}zYbyDz=^Aa;2Fx3O2T3r@Ce`W zG-EgT65=_4-theleD@%awUPjRXLt`2`eHfHL3M6i?sk z@^n&d3{MYHo)&qYO?6n-04Jft+!GN_&{qdz01K;*FKFT1wh4@B6TGKhwL%un#xAT+ zBCp=MB;DEggr8EEbCz^wNzTsYxF%W8 zKh=?k+t;E=^d)QC6X25uJ`>^$`U>3hhjnkA>oHe_HJRG?d6RxS{5RtlFNQqqxP=_Y zq{gk(wBnvu{swzj5MSm@?kPTAR%_qdP4+wZ9roK+ey!8*YMu?%@u$Rf-(7xXHf%ZE zHL?6DSMenr>vySMp?!#Ft5>_-vEC`qHyV2y$rd&%;{f_J`aY-OIFSE$!{0RM#6H)W z9oHGx7!M4Or207D*^9Y`UCRn}p0nTpY;L2D)!@%Co->GP?S9|YLuO1Ev~jv!2ei6X zr%%yU(8Kk&NWU7@qaQ+_?tWkPpV;pkv-kY>4E;L~)b#6zkm>N+{KWdKHn<8l7~$4P zCTiOm*c)ti3Gbr;8UA9D7O=Xbq;_{ge1+s|Me&&Y=Hff}zjIYZ_6IK1`%BVh&G6vW6W<+zajTbe#b^#(FyDdJ@wqpR zwTuktmi_tnlW%S1$KcmF9xNu$*uEIGNB+3>-39W?ZQrBqccHy)$DAha#$S&<22$8t z#=ZEAA>P3|;idq4P+<=k+?@MUoO3N5$a8jLtrW3I&}r7bxX*e#4-W4;zLq=dO$Rj| z^#8!{;QuNQ5NG1PO5l7%ZuHBq2F^S)!*e4T_dEwS*Om979CSX{nma<^t8T{NckeQ~ z`7yv}UEiDE$FpBYuL10%f%nnI2X!Z4+w)<}|Cv5&_Z;LX2Zsj#0n^93(Z`DMGJLMp ztKA=vY}+kuasMaU@*J4tT2xN5b`JdHp5K*4#^a3RyMWUY!Ku&~ZolG`16=IuHL*V6 zlV19`5M{K(J9*b{TrY+ad7BumgNpAGz=h62FYecKZ7;(%ispOOk!^U>BHPIS$mqpv z)6d+Q;A@6=ixg^i;8Zau(eFU4w>tAw%KI$mC-xilFUw}DwQnDbymB?Xx_@l&`fvCN z+N{V6x|*7g^TNtU`YDVNa{evHJ0Rlx9dFYPeE&fMe~*Fh(D5B}4)_T8%B0<4UAmv+ zliHx1iJt*E>s^h|m0o+d$n>8WznF3KJ@Qrf25-zxv4+XE^i_jDF?ijjbe~N<*FJ>a z5wCB-|3KFkdk1Z~j3u3BpIyJxpXjyIHnK6?mB9WZJ9hf-eu(|Imv7YmC9eR!`^SLq zi*pC*FEZrydC>9mjK9bw`rL=FtDgVw$l;C$ zo5;brn?UfZ*5nXAY~=6;<-@z`$f5ddV>w`b=0YnUj+x|#?{&(Ud9C79fL-CcIOa}v z>aNDNwjJdi$t+X5&tM#`dkil-71u7}3VlHPuFh}xn@h|o*xzUPCdPs+z22cc)#IPW z`HRcG=(TqrN1b90GOBx5qU}k(*?+;d-UEArIq|mC4S&(g(35Io+Wemy+Ma&y|F51L z+e}YN=8lJ&|7?xy)qm9JNfr3fPvz_A$(c>`WODXeyH`PE@74P6m;T$!CG9`U{vjXM z^Uuy7v~m^MobWPanWA9g!dz+Z|r|&owegyZ8$etfQqda-v zNXGH4U;A+ro30vsBUxo?yz2hBk=0))uVh}r{@~a1u-CCG;L{MZ(4UL1UG4YndImPW z48B&&#n&!1zIKq`N^!O$XQJIs#FHLx-54P`^PKvM>4)|1pONuj5#P5TD{{N^1J63hSvW;U-2;q zca80|-#vdBad*}98R=Z1rgQ!;jm~{r>H8r08;?_-YsI#&+WxC( z&$#u?XkS9k&d(gv7a&&kp1#`Lzk$8Jp^VKEyUN-}VDfvtc5Sn6yVw}BxFH_?6NY!6 z03H^9#uxQqrm$D2Ub!95p2EDb5xrUM=lxDU8aIuPmmNOkrCnS3ooL5cqLXWnh`l|o zn=>BAbLYEoJ{8~gw)jW!SfMf9J%N$m`G9NUlRqO4&zvf{8RrYHTO>E{&FkHq2h z+3Axm7+nC}=*Ay^7Z7{d_&kd;A9n^Dymr3)`9YAtt6IaWd&JjcX59q`~jb7zb>9*t0x#6>>kht`wn)Gbrj`UX<6iB#^L+4!S{0I zncP=~@u!;J_~`$pzI^FNP4p#mMqH+uwwk{D%IM4Ml>QHppUw0I^NASk#aB0ko&Rq` z`zcEMMNRbOn*aDS^d&GjaPBAkcjyZhheMUVGbf`j&i5yi@VfUKnnn@-(!Lg0eF0w@ z>PwPm-txG6B-p_(L#P(p5$%8S!Lb-Z{w!VMjdIILFd`EuBISj;_ zq?LDlO8ks|d7g|pbe#8-eBz+VnHauZhge>Yg@P_)_vXLI?JbpgocS^F|Q&1;}@B zj}dSf@(au59MOmAFI`#OsOtu3e?=Ww%K=MxvMe{cT4LF_3K(k=+=Ugp+XuW2 zk&hid75QZ3x7eOIWk~~Mi=2Ojch{VOzDkHwCC=OkdAo5YV5@%1cvWJq1N{QW=L>uW zOzz{Y+aBe^s4Mcud9qu7W!73{9)TEM?smbwAmHO1oWHNsgCX_?7>Yv|`W0Sf7$cz# z&%R6i2Y3R<&KnT_UC#TF0H1Tre(*eke{qdQo);Yf4a4y5A@aE7c@gmob758I&LPq% zxF|fHTc9p^rR8$2Po4wntemkB9d7k%-)zPE=hCIx_|pA?@t1c)79RYijDOqgyyR|^ zmxO;39CVD`2br^<*1~JzezNMo9W`)o23%>2e2d`yW!jcs_A|xxm8V4xa-Vj9@-OU% zKAej6q*KlM&)w8dJcFO>XbU0gaNVo(1U+w+c(;;wbfZq>KY-6uSPP&Z25ox|Uj2x< zv%|>|9H2fz2SeBr@1CMR5uXWJqhE8EF`w-oUf|RT{jvJM@<#qwe5TX3MBB2z;Xk^K zPh1Zf&g1=jWAHEGrMRcy?@gR0`ilA==KUD-fq16AYrDBy(T;cPQ5PS41$m|Rz-N|I z-}r4Al+)gX2KYkX+$)1|s$F6Qwl8qrX6q^46Y=4{Aiv4-;bX?;B$p8JQu#r9R2i)g zFt%KY->4&WWv~uv^`GB^dB48<9>y)vaf~IRi$&2z$uEnJlQxaHdtRb0c9ee${o-8T z!i(Z{eE*ko!$p`2C)*B6+qUwPXgjW5?kuDKGsm~fkFigz|A|iLMn467p@Zw^s?0bx z=)Qy{A#9yK`RkN3^pA4*80wQJ;!~{7Ku&}I178B)djNjG+^uVEHIYMr&4#nYPBD(Q z_buX@81#D>?Ko$re>rCiWjKS)=S#@XDq~cQXGxCgcv8Xr7v7B{M zpqIKXK9hB;OBtuh7`6cPOBww!aXv;qN4EFZL)O!3R6nr;HH$RAgNSIohWuX8BdkG`S%MwifEvQC!knS{@8fB=6B zzqTHzHlVaKcQpexG>p2WpX;MNv@yWu^FP6tus`a=NuUKX8=!nwv5vET?BlM;$QGH? zLH!>C-$-7H%Qta;qCS2$e^b+E$_D;q$iuiu9X)g3OE=S>680cqmzb{`I!kqNp3E&Q z&DVpE^v(A7efVwVKen3pQJMVrfeoo0(bxuFjDV)Gn=sC7$KUnfFXg%o&s)99I{Kxp z%6t3{wieBqXYeUw)~0bk6a2smwLN?0nZFsA>-gw%9C6xa8K>huC)~#}XBd6in06R& zA@k_W^J(ng!v3sp&N!F+%?0p+XP&dvwVM<_&~O~Q=$)&b<)vZbHnqkUGov%KF3x&dCSi*kR! z;r)!4d7l;dFZn>^m_pD*T8Lv0pMf`@GuX2uIstsurwp`K%{RW8zf0mcIN$h`bLhJj zUeSR^-g$`Wc7Qkdzy1#VXM7`bP4M5VtsxKi-Z`>PScM+SHx!l`e>;d+!r~;~W7Brr zm-|W7r7wCMdTZj%d5kv)TJhc5*P-9NX1*We>)?^ZxuZM>I1{&PDYq+Bj=+sFB`+{1 zG5yy3D|jK_!hvR^h%j=1A;)Z8bk8wsW+1Fhss&c!kmq zeCRjngSq#M<4r$dA+{k68JuCWdOMCs)|N8U86%3lXOA=bvkCYWIp4~hD6xTk2EF_~ z@^jwoa}Zy6<{5fU9N1rpvf+Czdj)tbYa<*}N-O*BKi_;?$kqXjQSk@8{^n=UHiYls zZ|1jGQvXZW9>p=Ih}e?!TRdoQ=uhH$3(Mlb@ff-}1lWvKq~EX9>sR+&Z9>27ld`b1 z5q@wr?9i#>;rjr@rG$GB5wrHKYAx=8?kwTmEEj@Kjvt58j<>@9;(L!7oGtM2y+@qC zSR(T_w7CQ@7I1!sI?Vm>9)}RmxQ|WtD)ByMoH^*SGNYYZ`b5`IkNdF!Q|7i9zYp>o z0Hn7SeoWSO>d194WAyHK)Opa_34RYUW>oqD@XYo(DLu&=JqZEN%EZP=mWPxjb;QD@ ze5j`jR8Rl#6vlap*`V)fqwfc=*4X7#(AWW8M+`H(bUX~J>rVlO#4c8UP6dDPS66=s z6Y-DOg)_#8FGRWUu$16ov1S|jg@%W>Tbf_x*an^>+sGN)5Wb+?>Z;Fgm;yJe8yB!p{zW&b z3!cAeCSywACVJuc4D!a}Q?|CPa3Z_xpbmOVgn!k>{OcCn+Qn8Z%t`5;Ltnqrx7v|G zOz(hONFF!QyT6L`&c>tn%KRz^y*!8S;8z0Bn&Y|?a@c^?n=Ks9|B@Sxm1h=6xs{*Q zajTz%C+{%kCf_ZO@E9C7X9=K>Z#xY4k5FeR7vcnaEioPrWNicc@gN)2^D=4Rfc0z4 zG3vcf15 z`Lxi8v55LBdVq7c?*>kqOBhP$7R$UbRXn7xpXck56WD`s%Eg!SK#p6}GA+0d2lE@? z9b%m2yj;GGDf7W;W#$8s(>X2cjLA{I__k@IezVAHu-|V;yjGNTUbp|$Jk!6+PvY@8 z%quWfW1phcm)iU#)_wwc_}C|4<&^;qe1_cS`VV*&!+$$>b@-3G9Qkkg8}n7(%s8zj zhsQHWYkPSMXdQ!mmN-6!Fv1SQSBz0`GtqwAq1J+d8O7NS%ur#zi}3~Zj^AR2Y*u1j zV>mH>hz?+HHf2!{R+i&AWU-F000Xf4s7HiH*o3(aa|ug#B;QhFm^}*fY`}EolIHi& zAV zf*#K0J`~HBm_C#ajq8I0qhDaOmwyMJGX;GZNa({r+Q1y39ft}t0L%vZfY>YY2?MQh zeTc!z&N4JUNLbDFAr3RH4>6cM3iI2FU(J4XAGfiqI6R!eb^OObx*&28dV6LY9B&7_ zBK@KI;WW?c&>o;)*B)Nn({p@r5A}<(wsVz>AT!pv9yyhp&)h!ZBWWM2 zL*1-X$NOpT`ixil(04~5*Z)PhZr|b;wQoDlxbH3fEgWZ9??$8NCC1hIoAEF2S@CkW z>;b;Nx%LQ&oh84Qx&Mg?!tVFt@r?SxIM0Iw&vE}S z#uDRijx#*J|4GC1h2;4?=1!T6@u_iGIHwx3Wd~Mwr-Ah^2G;u7fK}D=xH{Ghv=$n- zAJq2!ic2l`TH`Be{)*;$>(ZK;9mlU&qqTp5!S9m_|1G2y@V=_>-iNc{Mx z;QbBY5zf7;Q+4sm&1r~NkHWcB@mivIz5iv>=`S*PtyOr3E4&XhgI8^WpTb+A@RIsD zZZFdlxWftg6w6DQ?>rI3Lj$e3xp7`pYcdKK6ZiIV27QU2S?G5KPgJ`+tP5cMro$^7 zdAj_^T28PS?-n9wVC@xS+$S`jRaXZ1)^kjEoqoGdFg!~sjf==Lz>a(YU_T1jvaf9| zd@?95 zgI5vxo_ga>TQk`Qjr;IVHGOPT{>!+tGPlJYcP|7-guhyffcvzg*r5a8Br3s+3g>FXn3*CGQu;n|XYmEK&FisfZSm$pp*7N<<#{K!PG5!4>F(T{}V>$X;TdXin z$>{tKvw^A$;3PoCRHjdv%SE`o88|#_Ldy{;-}7l@d4N;Ttm(75mHO4Ikpl>STW=+pWp{LbMl%{V`o)F+2lKWF;8MEg6h zkv>7kAOks{9qAcu3U;*0q5FQ^3D-CVPw1J8N8aF(Q#|VF*}NunPfE|6{sy(bMcQAa zXUyX#^lUrs7;^Qj?mobc-j)%Q+ZJCXvB$>T7XPE28<-!BjfXf#9Mk`5P51KWlMn6X zmxdABp}jZTo8tk7HxqbaPagLa2G}R}NPzdw{wd9$xqh;@wRn`RG?DK*SAm=wX`rYpJ4Pwp_{ho>UZhd^) z7P%%&qgaoyG5{?fgXBWAGbxXWyr>CL%l`KkQh-oFdk2Ha!7;0B7)N z9eBNj>x|UX2p7IknbsY#$IDNqXimfgusvf?mozc&pf+@ z@-^J!$$6&e7oJ&e=?*V0R=6io=99qpmwz;NSr=cNqi%$6_nQsAZ&Q2^ReWV$e=+(q zxXd8le5MSDYnpopK%Z~wBj1WRa+{6KYV*qQREf)ke_}JI=CkqxH-Z62!a3?$B zNzvbM9r0=}pFzCPrn9AG^Ito%7zZoY7*=+@ft6KT;QWy=MJIrti~*dZLyvN;Tg27a5s73*Lt-a$A_oU|t}H`)?>4^_6jWIAb2u0S8`Q;r-mvRTHbXbP=}q z-lG|#BPWC3BQ3G0ulH z;EZ@zuoCylFh=3pEb8Gs&aPn(F4~3oO&;)WN8t_XMRtN%ZJx;Qry5T<@wTp=SUFI? z_AQn<7WDMEIPdU10IR3n7aQIB6zDKKgU+CzZ@dDz8O-InVbdOD!?|sd_Rl#E;0ixE z&*Aem?HlCxukG*I=Jx>utKWfDf-WkoJ>&u7ZT9y|?7Qo%<*Vaz$Th}4|8^sXx2YUt zzueAve0xeW8CM&_9#q(?6}HSjcjgdJx%1EarzVSBXIvKe2B4M2;6@{h#R*xgbNH80 zS%8l(OBUxiuo}tY>SnS)jy-0F4*vZGBa1&^?DsHcOU?|kaO1Dt&0uFT4Pj@y4eUT+ zi+_hKytmKa;GgYv;7;r=5C1XlEa88Y%~d&V0WQvZnqxDXw@uE6zSImy+z}9?zfhB3 z|GNy1-%=dqY>dvM>iV=owjr$SyA7<{71nC{eE2eVembWao;c6n5Ko2uX@z|fVZ#;| z*l_~(*xd|vu`%rIdko$mQP_tGY%`av%Y)p)#&{~MOBELVMqHN8IDG`xj@L@AM|_9) zza!ND1&KbYHJNq)HSujPzX5$j<0$O=!-qQl4}0pwXK_uJ<165bzvKAIXY2p&vA@;- zeI366tJ{GUv$-#;|3jTG>OJ6f$Dz!kIFB6s^Y1hKK1z8c`HZzWj{7!ezuxBT^T>17 z#_)pej*s&*SL0`X zv*G6*34T62v!;u=LyazG@c-rL;`ba_jrjQ@zAeyjEXExOF@13G&wj}8^D5=1_?2yr zUxA(@C(;;p?v)K;_bcpz!WO@>t%+a3T?-BIywc$LCWTe=E92L*LbGQ)9*>kxabXXn ziz#ChIQO52zH_g^nSdSY9`!R0G3#9QZQGn%*L}M&SUn1Bq2hTm^z%#9J%xKoGq|P3 zaDA>*0>?uY?h$}%VNP!bGt(GmkHUQ6m&TTAJhf|eiE+16_Cq{p_lfW8gdgQz-OOn& zZ+p{0%A6?zZ+mnPz!T`h&Q1PndX2XwJ+sIBxq%hKHwJ4^V6~NhtoSmoL?3{0P;&PR z!Dkt3ffs!I=mQR4#`RM*_XDU5WBqjNzJRZ3Ka`>P59H_9^%nhmP)}jaGXKuO;#q`Bxg=y-Rub73hG~rO3bMULCgyr+vS+zYy(ZU2PHaEE$~f2OpW!MNS3x z!F!^wPc_4_6uU>GH|_KhY9A{U$G@YVa?J&O`HP^d=*!Lxm`|f^>~7Xq?##Gva{B6) z_5ZeVM*F&?9zUvQHsr^kwx8|tV?NG@U6Jdue7Li*(^so+qk*+h@7$KR$nl1+RsJkCkcB^Q~hfUJ5<=O zR@k|^ayqM_oVs<7!trPy+<`gHpVE?t%|K?H^9`fS^0~VipQ~pzq~Bj=WH(cB6dO@} zXm19yiR^k5<{utU&H*MFKjv1%c~Ww8P4_VbfNkT)U$#!cmK|8#3hP0|lQDS;`%Em{ zna$|ev!S)PrG{guaKEK+g{K-ne*NX*s{0$hG>)f@<40=;lE>i~RBvA8O^fU}Je#`E zUj8I`tG@U8so?9t%D&d<)khTHiRM)wYRc=xyvpfkQ2Tki_9HSxZrtL3Ycu?FXUFZr zft%O86|Yyg?%1)a8O)?zI4}nl=4lGEHg-(XE|T-ALQQtvs|>%70&J_l^QVHR1FK(Q zwJDzKXcw(DyLf#wxIu!a4&3Z&gX8o6S&I)WuFvAGE}LtD-VWJyYUu1xtHV?3aN58e z;@H!#Fn^&iUuk@7ynW%dkv~bc_s=yr{TS_291GP>4~^3phgW@Vq&G=;d4>0F#iu4? zYo~Q$eZ={0Tz_c2{A``L9&u0IdBL|PipzCwF|9%SJ0{uQ+StdYBD<>StjNw^Yj}UT z^6De?WQVhLHjWWqJMFu*{X5Y965N?<@%dsid>s8u!s}Of7brgKfzJr$U2=y7{3qk~ z^PA~KP>ThUu(NM5w4Sc885>)CPicm4QuiJD`xWM~3UgAr@3i-2ZvygvXfL|2KL5?l z@Tr~?*L??GUg3@YJUQ+sVq;gAF-OE51kANbzHJe7Qohp#ep~)*6nn5fvUz-MnYkds9hkdk{zllDqAN$5s_~5|uFEjXlS@E4HmcFeiUuv;*66b#H=abq` zGM0Xz8U9WzorIfxufhLHh3m%BS2Tk;ZtSb^w_jntQ(@L*I7xeRVrjuQBljoD7|{KG zgYS8OZFTK+Q^C`L)vvJ5P&~!noLKtGW^j|SiUZfIxwn;%Q@F0Z9n}nGlBW*Lep$!I z_kR^;(%#N*1~(ZKJ8-kQzJB1bWL#kFt$s{w=K+q*J=co8wXt}xSd&}-2aV1B9R0ZQ z^vp@d)6H`2XHGIEZUzH;#V3_>{|aK+MzJ{-Cmk5${nW@L;;C>7@syjdybj-hn)Dnk zsL3U}RqbEpUxgpHveg{^5btz~$<=A!qwO!HTsgPbvHJFA_#|U02i~BMPt5bXgo_{UJsbf;TFD?6LnX);c8VE6PG8m233 z?pqr#r&_*J{HD|1zt*%LeKel0EMm+~<||(v=ktIw-ydjo@|EagC~f)}koms$5ugtb zv7z`qmEAA&oG|xS0Pi@=xZjJx%x*Jy?^c+R-&44UG{rR*XT;$4E8KroxZ}qt@7bGYAv_EyB+TYj^KzYnFZ>OAeO*q_7w#`bp^`&-?y^-`Q$>o77D zUUXnT1mO<>zOKIxwc_ra<7+YYP}q;;5n2!3HIwEhwDY((oQ?5q*3yBg4n``a4RnmL4d6w%r2 zO@`Kwyi8i}cp0?*qzSD*X+rB48qoTQX0+mLnx)n6GqkRl3a#8D4Bfe0>1=49xNE}I z-LF{tOq8E!?K4q+RRh}AHlr=5(H4Hj(ALs~wg7k9a39z!=ivM>#)1Ij1ouAhuEFr$ z=-i6jD{?L3SNfq%{6_MTyS6lg)KQ(>>F!|l} zF0aMhkKE1kDu_GivpnL3wRk(`z#eu74}E5j*HM!1V|)^4z!LGoP;04i-#xdOzVFq( z$KAJL^P9X2M&l6O_tX{niA>6kcZbrY8g1R5BmDOA9e^LecafLF*z<4qXPh0I12}Uh z-g5w1$bD0{A*YHlru*0KUT-G{wGnkM<{#j0L|yF3{hHKmFelUVT_ZS~B)Dh{^0D8z z@Eu%urUK{4hF9V&lh%Dtqq=%#N$|!wBI3O}R@cE>_xBI41>V?8O}xF|5(k5K?CuA~ zCAe>kcWsPZCVS~54x%i=%W_+SWkY4&4li1N^|1pn-N#Cw3ib&DHLwNy6+`n8zqg#!`YG z#)%&SKcN%wAAG(E{Ay$P-MVkFMd9=8(=g}hpN^ zQNPm{%n&>w+;biO@n_jqklRC?=P#_ z)<6Fb{n{jL3pT^E^`gtLEqm_G>a{t$GGETHWN=oSzg@d}3I6u9NZ;G*^S_jkVNjD{ z{&>TyKkhO1#XI7yzMtKg{{so%Hjp+j2WYc{3iC;YDR&=0H*trp(1Ck>4GpTR_q)2f z+Iu)?LoCt;+b&)(I=0%=@5;r?y|?5l$#-F!SF!EFHu#9Qcyd=}vYxHuT{sCC7ft}< zt&@Q9)&z`gpk)@$v(Es&Gq5)6PkB+jz(JCah!f8zlnM^R6>^q7V4vb&Ag+^z)+A!~^BB0}*Q7h5GRCn- z=PD1z^2i#KfWL&p_w4h2)DfN&XWX?cb_d+$KjES;fq(AY)8#+xFp6EsPnD<80RDj9 zHM|cZMl0i$2CyQ&TUg{7@bJ%`y`k9ine~W$mmton^xxpS{8AlLvUdH+!z~c}Y}$e#ZuX_N;h0dBOWdsEc^EvatGtz1UlV!P|)2 zAztn?q8~ZNE?Q2RcP`4wyq9HFtxI~SO95r>lvlO98|Bnj>a9n;b$tNz)@>8P(z}Xd zb*&$PUzHe~K1JgNo;w!)u?%;NFoqy+qB7hwB4x+4Z;0`g@^Rq8Uw4QX7%K%d0*uPsoPs`gA z<@2??B~gA1%C)^$I$wCfoPaG$&(?cR(XWSZ8{OAw?=nr79|djDH~MbDt8;c5cYr8= zInQ?aOS_teaRFsdlP4R&la0y~@)FOKAq73D*s~Kz;;5Xr|!8fxK@7M6X zt-lg}<|NcnJ)0Yl4$zLa&j-XsziH6JXOy#@&+l8IykUMo{UPZuP}bC0$k#s?IO?;9 zXUJn6@Rjk3D$ezI`U_A1n~b@t=Ah&ndE zKeqaKe9Nc>HtY8t*f4F!@0LMN)?!Y#2J`y!FrQwH9PC!mx7OfHJUiQSn>nttFZx`< z3;xhv30FghP;ZQKu=S5wC4BFpe%iA6rYt0lwrrj$6S{5LY*QvaAu3Dvz5gM^o@%H3 z-wGTuz(KyTp*RJYYlLW%1)nn~!RBmxix1^s%T78^=BUwc&?x)@kNc5Vv*Svzc6yBu zcZs~_1P9tHV{4{YX3~b>pZr&W2Wvh_y_37oJ&d!|JE39C1(fle0QEyW2V3>tIOp3} zW9Ln;%yM82v)*|ZRC0{vakoqouILlq3tY4nxcH5FGeU)b7w(oJ4YXV2se0`hTuX0? zKF9Lnx}96FFK?=uz};W_;9H(T4EAJ)SJ{hL7iu2cb6+E;Eg8dBBBy3J#nvxIOqc&I~k(`x=ud5KS?*_1D#lB?Kunjhe7`;*!C*WKMZ|{=%$Sc-3I^Y z+=inM{Yv)*Q>5FpYb&o%y0Hh7XJaGXxqKqLzv|!(|4|?B!yC#g`vxPgqo;_sX@~v4 ziuVPsywo4&kBZAHMBHR`LUY=2836xrJkK4`5cfgF{h6QW{q}lyKV;SG>KcAOr#jl3 z!d=0p9rFKZM_oJ0#r<64r%}FsIqqT+j_8Z&-2$F23js5ax{=P+mtAiw?(m!j9I10jI`V6b?Ct^`R_A@x^_{UP3p)JyDfn*Gb;laT zpXCR!{^QblXB|3O?|`kBpz~zt=$}nzaAadTe|8PF$?cUKL#%%gN$?E`KH2&SYuq(Lt(k>5iM8M}Mz}f^KOxz+^vyR8yBuWc8DUE&wu${4+$u`k}8fO>qF$L}$~ z3s+*CCOr~!PeL1HKQACNcVo6>nEM8UuCRl@LbRMj%67)e!RhqF`stETKipy z0DW2g*0Butjvmuc?)EIm4>-rs{tNR>|LhlevDz4={a${AQ+A`lrFyti){C;|yv;LR z{8&cX$U8fBvuv-o`Pq3+8Q~#smv_t1Z>V|_>~A+Q1?2TB>fA$+6Xjy(Ru8S)B6&Q< z5vcPc))_HvS}0?UFT#-pebKj((VpMJ{j|#Sec-j_p{$_+rtO3C9{OyrdaQgmOrC>d z<$H0uz6O7OTtj|`>y4eg5B$a)q848(**DZl+URF+|GLArg&*345n z%726B`K~Q%y^u8SKfkg7zSQ!Db2!s3wd4Wpmx$(&*aNl|a5$ghT!DJT|MVaHPoFG0 z44V)i4VvkrgB9@ED`5M0zY?~*oA#mj4j;Gy<)7sIWjE?>4{mK4jqt#{i}~u@+?w1x zmO=k7aBRnS=O=jY9h3VE)-=k&t>=#R{jfHkvMt|*D6iWW?62UAmnqD32*XDnBm`c0 z_!`XRyCVGX9yza$6mxb>>ZLG8YWf~?rl#*PhidvBbE>-U9h_(b$Ws~o@tgwQb=z3G zf(~#U;aTdI)Sq3yzPy`X_nnow)d9CZzKig|^OW$B`VH`rclGh1+U4BZjo|d7p70^-gh&^v|gyv52die8*e@`fY5lnzJb)SM7PxSQ@%x z&~`<12?6RJBdZd@EPoEmqS2>_h;VtlTakjW%-)fCd?W-haVSamT>GX=M ztyw&l8ayM}EmgRv7vkCK%68;`Y(Jgtsha<>bLoYk&GHW8Bz>^wmfdJ#hVBKxVe$0J z*ur=YDOfn3Uq$M`V#Nn-f`$5wwjrK5_K@$qm)PUCDofM2z9D`0qiu+`woWhyuy!u! zbH}fHF|GuUIWnK54i@npQx~?!G5yO%2loOetOc)kb@0{D!Qc_}^9aUD@a27^3(vhN z+|S%Oy@Cayd68apj^~5KwN?-GeTe_V=rjM`?$?N2b}DZGFT}H@dkuI)*s-|k>*M39 z<=_Qz+wa(%O{9+zN0V@FS~#K!NV4Xz>n4}-T6E>^eneN4wuHcrQnR@?zU#B=bN z>2o)}$qJn2jUAEb_XzD5|LgXv?_>R2&KsnilLM>YuC4rSwDaJt|l&fW)SUEfJi81r2Elg_e2czn>y4rd?b4<4VgQX@QUT&NlXbD91qk z9p&J9v4(z)f3(astZzbD@DObAA;hN0*YSVGUC+R8+QHp`7vkCazmo_bV<^i~GY602 z|2$wbKg0StlbaFQNN$GXEqOv1l&^PuL!J!ES;zMBo2SSV)2^+YQ=VMo$k&^>DmI?x z;CHP|J@`4|95}Y_$ryXA%ww5vcI$f1xa?)%2WCvK{E>Ds12)qEU*4ARDxunKZ=KM(W@%F_w!no`YQmpEb_f2)Py<9t`-lc<~fP;PYc zl?`>WN6w12mv_M4tv{QL&oS-V%D2)_z~?*$83`}8r6fk%i@uXF+U0XijFxSW<0 zpK=u5(Voax+EY-wOE>BFLdE@WfdlzQo-b5CE^A+PibgUmJS1sme-QgaO#btzpyx3OG?sj?vQRTpGEp%4`_>h zrPIgT0qn`6FGC%%xhL^`2geoz*tz_MFXQ{|ffEDHOm&TowO8IozK(&OH2lDe?Xh*i zAl<+ZyePIXCqVrmt@xpRNI2FHpj>dGA3*(1`T@isA)X^YfO)dZuYGJ!-N>B~-_P!h zrQLci_rL?-je|G$2u3kj9lX2U*j?Yp^aEu{{SbJJ-J|*%yH7y#Zs>x`ivWC<-&PL4 z1y3-KJFww(SPSPlxN~=4jlAJE{6_FC6znaKy)oX|$kC2r9*5t-iyrc!_&;`=>|N@C z&lp2l@FM0UtTTpj0=d5(N5Yrj8T-&SFxM%5mcQG*xm<_ky_Mve1Z9bxA_M8rx&X-4$1l=`$GAzP#&%TuKi{|Re`^8FEaBx{oE@8 zSTb)0EQx!8tLGgh;}+}k+eZ!SvX9?-o2S#(rQOlBcG^cb?_jRm$1zb|erLN;AJ9{| zZxgWvzWe2k66XldYg&YVu*bQot`C*d35*ehhn*2$JhbE7 zlDNv9|H=1&N4~LMBe-7$%?7T?sZ%Gd&LAegFt51P)dj`vhXSK2Jmg#}+eBU#_6})7 zT{8Xpq)*|oU(5e0Xd?{;z#K;d*Lord?)7Bb8rwtfn5M!<`}?svJx#H=~?Var-{ zj?TUSn{r^E>?>$PU#Q1@B3ZOu3Ak(ee;DL)CHWV9N%`GYs%}wjOqm^_K99;-#*}jHx=)> zzk3Aw&%G?p-fHK&t2}$--hYaH8u+$R-vaw>5u6?QK!=Gzs4pJkmiH2$mAd|g_uLER zEi!u~3W<0s(Dy#xvkm6{O9GzP#-2(%WB-TokFEGts@>-xV|KMR$MgTzhi9oQo%^X* z_4--!=l5gbdh?B*baOoyvZl_!%A$Tllx3kOIG-`f_o54mQx@^0|3So;DED54T#;wu zq%8Rpm6^OkUTx0QGjT(=>JjE;6~;F3F;Upj88K7FEJ4Qiyz?qD=O>E z(};g8pPs>74Df<2f0%`g9Z=tFzjy!?px6JruWi*>Xctfd9%D7{9}Fmm-@7$ zI^~zZjyU$!vm=(%j%ZgF&)FaO_@1##U$y(-)n5FJ1Yk=H+|p(BJSbndFQr0=9`h}@`Hmf-Mkm?uERUe!+uYE+xJ=@`}of*?%^JfKD-~hb7^Jl z4*Y$2Y2`lP7~XlO@vARvHU1lZ9P;kV0!HS&g^!B7@7RPf*WdI$>~oo@egN3ym(YZD z=Gd7gh4aS4KntF|KlyWf{J}47&I}Zf@~&y?@Crw6=xoVtJ_&wuk?LWzU;fLRsAFq9 zFSSna!WlKLPqxf<)+Zr5_W#fPmKfkJ<^F!A*XJr^LRw1VM zFph=DD=px6I&TAR%qgM`p9zQg!4PeUH}zr-a|w5VcW84e&oSHzp5C*x@<#IX9+Y#e zO7gTMJpFcftAR1dyi23Hb@-p>{sqfh!t(~BC*)Cy@q%p!-S=BkU9sP{c$HUCruPVc=LFyv zpF3Y@-+cM+;S+!-&)jEWqvR#`!Z+-XjA`7P zbrO7w8wX>Kg8iaL^*M8vfpo4G2j~C6#KD>S&79@+Tz^;`_Y(!ufblNPJeYll@%a)v z_rkdR!|F?NcT@>;`{2?!U0w_RUpA);&-||49@tQsZGSf_K1W-^{y3Hb_PZcQIaW?arA0)?gH8!&UdoEc3QNKJV;%!cx#;01O4S1FZ!Cx@s;nN z;9jUiy|A;!Pl=;Z7yf+|_ipe!KyPdA=!U$_%Do=#T z?dab_=tIPR_MeD}J_TP(n}AoV(WyQ@XVwL!Z^2*bOMwrJe@IJ+GRaGz3^{_)0OPZs zcj#>mn$Y);)SdQn-&E<7c5UTtN+0qzkq*512F!!5Xu&zFb0xnJCh=EYVSFHSbo(3e z1Ixr$+cG^r$+brEolBEFgXjzu*K+T;kbtM`g%7^ zW{UKhc5UUkO7Ckxuk|~kXI2J~3G>U=#xd44l#|F)by8w0@Qtz6a3sI9kzcj5AwAtn z&oh`O0H0pR<^~e`|9jOB4lo~J+F}1c+R^6di>+V4Gw#S-wPS4O9CJ>6=fcPjAJ~xI zVSO=TrU99kfQHMDhA-LJG8$|=SLR}QGanaxl70m3uy-Kq($t$SiH{cC{LdRZ`_^P= z8rQC^yhCYvwjFi`d@xtU*q7O?XAxpJA%+#4SqFXqHshBCzf5dDKn%Yg#qXvm;%C~m zm3tJw@5k`-Hs4i;XASYg_kNu*E{0#I_+2(d{7k#H@?R-_Ur_vH&ZvBZKCjDYOjMc* zzTTpS_;!E6$a}>U@ipz*$|oznn~AUbdx^n_GvWlslqKU=YqHmRX^so}Ec8UoL zN5(lz588<@QXdndeHMC-HJ%E6Cf;$3Ff^57>*_I@`jw_ffZK#V#<54!uC4rirD?iL zlg+^sH_WRiO%vM1XrjE(zAjBzQ*C4;+1reqzBomiOuM#nuhR6>wwlg$eieKLkA3Kk z)hUVp5#!t6ot!7Ad^$NVu+KNvo_)yQzoGWKld(SeB)KZw6N1=h@OOxPs1J;T|J1hm zP5d3zG5M?jcQN=_`?P)dpRd96UdYSbE8u+5>Wl7+%yBMc%TOc!R+V!9Ug8@aq@igGdS+R95*E+25@BDDSq`=gkLsDob$^SOf8 zyM80=O7=`y+EI=itIVNuGKWreaIV7pR%Fg@;+k^%&YvD46mNWTx2SCY1*}wpFlhMnuRW}R0llfa-d%+N0(ihMswbJ`tInp?8j7o zT3e8HGc9xN!G$k%T{ySrB7MTUIX-R8%E{_2_gULA_zA50chFY0yZZbm=sni)mU50~ z>!K{uakQgspKYYqs2jCI-I!iiV{1Y&z0TimWOeOSWhL#}${$u)eVgYr9lS~3t=yBeaZ=p)7|#qMWF$$h=~wWV;;+R4QoG*e5wCWhPE|Rq|LNzE5BB0 z>v3t*`JBf!B#W<;vy*&{mdp8WTL<|S+S(f%jF0yGV3BiVuI~mX%Xuq24{(2LL~rht zhV%|9y|boBuW8p-_Lbh(fnM5Q@C449z4Oy^oF;A|`o6KLL zT*n5SvorZT%q^JDyC3=y?PbGwLEiowzRwtZ3;UYBrF)hL7thC19+yJLA6n2AT!#O< z@gHzJ%ri5%TTSr266L#4eii=j)c3Q!zWIDlx^`Y7`*BX>T%FIK_cuSly*W7Nn0waj z-|k0$A%5HaGlM)EsC)>~25S`9mx%w^Gh@pklmY46tWqHPv=+o+D}f6nYn95*&`EEJ!`K55svQ{A=An9s_Vja~o6y;y^i{o%D7 zQy%se^{G5BIesMCcZq#$)1c#eUM~i}Tj0a~0iSlzGY$Hd7;{44`R9x^5svEja}M7A z4H#2YZpFk{PIBGDcxNDMP$}GI7G01fDa^Q|Ey1*DSrT6Y`>h-ybCnw}GchcX*re0cDN9 zn3oWoQEunmgN$P>E~Z>?mUGdH8{td}XVkMeTOQZbmj~Uk26jWfp0p5nXn*zEoD6?D z#`9@7k0xi9a7ISX6j|J@UxUvAZEJ!jlnc|}iXveW-rW3OcE37=`WAqQ-0#0K%uazTi;5YFpKxX9s z3gO+lE$;#zQcnE?f2o_?XK!T~*%t8s1aaPuv1@x${v>R5<6!OaHG-Os}}?9(>Tvk=e0t>)eKXYj6xe&5KrMRjT;zKPJZ zt~)pRtg)XA_*ro8MzQvQ_qc+s%I4j6s+E z`%5=l_&Of zzKkGl8h&COb78W!_95K)ZF%GaU%B(e@=)*JVGcxi$8$5gj9rvoS=0HByWlI}GnhwV ztX9SSW`FzNV>fS2d7CyJU#n+rgZlO%ybrDiJlofgO)jP188f^gQ&wq}WS&)+=g+SV^j+pJp_n6e(%UiX?Z;2r6y_p~X?yJgRqvVPacJZH*$x9qp3Ok!tC z+fPl|po{a*Oj+R=r(f{V=b4S`#Sg3@FC!m}vJv=U*9U(A-@>ftgFW62hWZ}HX^;B` z;CHcC;x&wW0%u-8dB{0?;&uHE70jd_mbzFI8i9P;=qp%0vsQip<#Lu_n#d{8vHujHT>)DC@!yQa1fiof9hQicqRT4eam_s=WGvUy8_PPcH{pQ z_`eJPH{t(I{0Hy9VrhM1_Lks@p)G`SH}4VQ^Dj=>{6;?S3 zc%3+7FTPRc>Nxjlb6$NO&QKFR+XI)m8(&Co&h!?IpW5W;Chq4L-gHBSdVTk|F$V*V zGLPLqzRmq< zQN9d5sNp;KqK5C_lN!E*Z)*4sKC0n6_^O8Q;IoqNDEn@;36s~wxOthwL-pY?-=}=d z(GRco`&^&)5jUs=A>(MV6K4UO^`>vbXYyX>r6`j<2tISZ7~9X_JaK&s z@-^ee==;pr{=x5HzZvDd%lMEYV(mzW>-lWOyI^Au#U}z&8^^CFv<9=$XA*d=z8Ghz8h~?)mPuxxZ%kWp^6h&q?B^wo?zk67kk-ghNt0bjlHQ&`7y_&UURu!^{l z@nFB=J@Rj=GnTI!Q^fjKJ@E|QLtdP(16~4e;>dm+90xq_%o>i>$>Es2-|+U|k~nIN zQxC@~<0Gs8Zk&a?X=1u+^Kck{(@#71&R*JHfoxtLjTz8*>G_NqC**&qv~5e$rm z{=Sjjnk0Sj@tqhq>e6TIc07FvyQP1P>=k=!I*YgiKx29jcT(lR3#0!rzY^2`Q1M%s z#7|@3diWLHIQvF3U#q&l133`n)@3iU$NA~TnlAAU4Yl(DuW)AH8Ne~zc)rAGe}(Ua zh_A=*r_%Ep^0em%4gQYV z)6MT8;mqhTzoUh5h3Cb1{=!RN8=b$fdf}dBqJ3cReg%1)4eXcCa_&ga#7NG;o@c~5 zwVU_BTmhjV+Boln^U(KJ=;3^SbCz+VzLWhX3bTMdb6yF1Ej{d0FUeZ*kEl;L=i^<2 zywEJacCPZf*uys~--Xy@QwIDk;f~W_r`I*M3ui-69_+^RLpbxi6L}2$4P*R-O_tg3 zCgxhTf5O0ApbK{v%bBVyaxv^L<9Tnu_Y`E$K#9Dt_;S9C`X!uiWq*Pja}4ZP@NAbe zx$NI-K^@@0{;#!rTLI@B%;BgP_WU9D_qITW$O-S^o>q)qLw$HCR0X))x=eZ4rljWgesz4+ePlQ_@)6u&!Q$En1+R}TJb1oy%Z<9w>k zzkEdRwYRvW5Mu{;FLL5q4bR2)VxH};&p_T1123n2`2hu~1Bj6MtTZQd>8T({mG^IKagoW~4rJ(uH|_}k+#P6k(_{A!c|59;SI z=4c^)6EEo3ngIL|y~W%mxC(WNFZ~3@u8_O}Jig!W`cjU?8~oZGnW#hkxPPB>my^;e zdESdmAK(}IzRuw3*uZ7~8t1dfr?^~v(jpT-$N9X6@@XrVz~=?DZQyM42H{oLAx^E? z*9YmZKu?CblqU6FUk?X-kDGq69uC<@3=Ug?L(&&|y6#=#dg(UgoL8qttseK#epQbP z#EJTi+)=EY`5e{zsC>vb-$&5;gBA|TyYZX>p0r)w?a#Fo`eFJ#=%M(q9RA}zROAZQ z$@&v?B(f9gw(z{r)zBuwpBj2sgWjpwgl+d~wF%spG%r}aY7}{B9hmMLN^YT4|SdXDli zwsGIN*eUj&(@q~u&=Ixe9!c(jL_NeVm59FLS&e0`^!;Fp^o7z6_kSsUy`%v&$vu}2 zosnFeGM9GRPKb9H|8@sAwUEB%yx63?*fdFApk9m@g%u5X;s4CYdfOCvVcNBo|3-Q7 zCei@=2W?&C3GYyq-1hbQo8$L(Jj2d|oBXaK?H05L@UQS=&u18~pdFq!$r>MCh!?JbYhgdpd=jPtO= zylY`8@*x`#zbwT6i|`-u?C`1BbIfyZQqhhv+sM2UKgp? z$eH-1b8OC}*RP%fc`N;idR|bg=VeyfbN}4)*4tWI*^n2Z^8Wu!kr$?2Te+yb_($>r zx4eXFgmwq+yO`W7wQ&|hz{<+-~-P_!l>>Z-8s=X+-6 zxpVK{jnTL7AG>#+d1lU>IdkUBnKNh3qcteUbEdpzyq3DMsh!2Pr^C#8CZ}kFK8 z+H>fRniGqmSr_}J$CwxU=;tJKxk)jHkSprn7h3KF&ZB%?V+wr==;E@yPD+OGEF4qh zgz9ayZ=kN``@$Vg2Cj}`%xI6b*v|`pHd)XaTb?(+3jH(}MiS1OFFJ-j0sA%63$Vo) zZS}5_R$ui+)0Gd5X-uVC`Fl@&UuK-0-N599&DjXPY&XW2d@me*xj|#v8$+&`+{qk` zzW}WS`%SbZn(@!A>74QJnOj+RCixkAN%_HRy{jKeyXB5q+bz~zyMOH4z0|jRgW9DH z(?e;Gw%i#Lcxa!lHE4+S=|4XSy;i}W#10TX6{j~h=s;gO5?q)D& zJ7>i)op3n5-Q(EjaeR$%G+YwHMfiS2_^`(g_>@}lnGFy5I55s#W3%H?_jtU*h4{M)_Zc!-kOPMjrKHg>ADFp6RTu1GQuk*Ys*}pR9SE0Xix0pS$;M)Ft zUR*}+U&Qu$A|5Wytv1Q>!a2E|Nx$p(>Eq0yu(o>J%}o7fM!oLZHb3`%k1-A7 zpuPwv;r;h5c*kXsmzM{de35=kQ0F4@OgE$-(ha>_7=1kSrQ9`ZUxs{NBrAWFzPNhb zwX1z!F4Fv6&3)dE3MQ$_x?7kZfk)~wzqjaaN&L?1Zi9?t0hu7*Nb5U#K!^4$z<-Rh znSJnWtDi_O-w70d1iPNayri7ym0g#N+FcUey+!vB{k1I3(=&8>6 zv@2Ot;QXGL4RvhQD z7gmd%;vMp|U-C2pp95v_i1G^ERo(TD-<#gS`uE-=^YgmB8T&QuvsBmki*z#fvi`hp z{@HNr0^cp{=foSxrvb(=y%`y6e(V=khm4q~$c z^1oc_UxmyV1fTk8QT`WQ{w~QxmFJzxrSh@yb(Ig_=CD+s^{$`3=RDf62zskLJgRwJ zfLtXflh5n#jUZ<C9=JzFC}p333tG!V@(=Ha@SS5rO1tM;u{UoVYtMAtHY|1SI=+S2w(!lsT=ZD z7CWc&bHYC>Iq}#l@LgJ)l9!jEuFAmc^YokD%XiK1E!|L9uzg*!VC3C}8;5r$zbHT4 zapU1v$bV1YDUk*=hcYzOas3VPj}be#Ms64(CJ26Y&C7`T}?gl(5vC0 zu}E$ps}9spPp9Ill$;nhHmSgX3aO- zd=98YoUOMU6w1>06F`e0VB6ob* ztlOvOFqh}~bPs8rGpo#e(!Hr$s}_^jnO46R$*XU+=veR8*ij~yX%DxQA-*tW+Q*vB z+`c;>kDOOdfyZ4P)&^`@W@Bp^m(11%s-;i(Y0T*NAGee_qg}sGclv#)g%9(7^L|FZEAyK9G3xi8 z4%hGNeZPC;AI6RTpZb=Pw6Is2aW%>I{tfh^H-W;;}x`KvUX@b zW@o^MKDJn*^DW|P{XjB0<`o+NOIw@WH)B z;1_|9jGUTY&$<#|&2c)_pw{$|hm8=K;Ov1R&+ODLjzOaRZpgpg>1oo7@;q@pVn!_H>}vFn_@5TG2JY^*9vV9?f{ypKWgMD$UQoTOgk8ES#%7qw#3HOJmht zo6lI4G%t52Zl2u*Z|)}kT^KLgdCJ@H)`Dk?pTzbQn8IZX{>7rj;rQ)_F{rzwirjmK0Nm@ z)@9j0LpkO}TYn1q2(gE>bx!*C(K9+Os^n`DWV`C7-jWBt30;*&|fNTn@Ns-D$;T#=6tMWw6)b@_)cZlZSb`e{f3Um0TL}}`Og|*82QVxqRg(uJAap_J;>5jdHWcVrk z#-}O^iK`lH2;OEeM{5;zI@q&nZ5Lm2x3gw)gElJg19p(J27xVJe+@8^6XU_=V6ly!ATz&iKg^sISWlfrnAmu^pw4tw0c z0$$n6a_yfVdh)p)xxQLDGTt+@=A4(WIeVU`aq6vIt2qqpU7kmRjZ8MN8185cH=7-9 zaj}E@Tfl{W>z+oIgl{T5ySXtJW114v*U3X@T7aIKqtIeu`i*GK_iJ`V(FE z-G4~m#Y_48jrC(>Y@Krz#rm9F!P)#doXsx--ZCfCGr!OLuOB-ZC;2so{aSoEEIYRJ z4atA(*mdz4eDVulR=iOFzw0R*%GepSENEVb%MCu*b-bIeKVWW^w3otf(c7!p?;Ky_Daufm>7-c7_vuj@RA{trFVu;-R&`xx4Zbs?h_xT@?0-X~CeU8d~e z8Z%%DSHly&FucK2GI^`M9}17edhc{(m(<#QFutlRalCT%Y}?E(PSV(S*WP(3W8bD;*^hlDn#yiO zpMITr5O6-oJQ$DW!MOQi1e!F@7v!(=#h|a_u`h=D-Zj>k2d%V7``kP@<5#4GtJht7 zzNf{Xi09!g@sRP?#$@z1TEYU1hD~;$`vu zO`?0tys>)Boen=|Q^rmF^9SE))YUw=PIbXk@anpMsqvG~k|_<+8iFR$p<`L~+Gxxwv&kwyMn^|uG#q3VFlWdrcuBHq!w(`^b$_!C72AgVf%Uae^``8EF7$=f_qWk=p+uo=m8vuHn_}Ipu zG<>9QAmnj7H^LXfdzqgvoz$J+ebE2P(m8mx^@sY>C7HY1?Cjrk5%w#LD{U+~C=G{u zn`u~S&@g?0qhYV7p~d0}xIzof{l~!j6xy-#OWF0(r7v{!cnBSCK}1)td+hHTp1tmX)$Oj0wdj9g{}A>L6Y$~WVt5VQ-t!~Ji<$Og z;tj2xpEa2yUO^6~8?i@9uUmJq_#~A1Ommsn`!W~AWxULzkAh8{ukKB6acS3%->-~G z4h6Wg$<|fLXdM_CXSAB*p*{GqfztD#~Z(J?qH9h^z_5Ovam zt94251pj36)o1aA=(O6?$?LeL4~zH1oS)u$Oj8`^XV9^;W#~lM|E5ovJF0O`D#th< zk7b_D%e$-KGbO(f_T^L4OFH_k+%V(>r^PW z!PiL^6PG2b^BU@Gr0gTqxsKo6ovxh{~|g=4Gu$u!z2Q)eq>=cS|5+xXou$JHrQ z?lxbibX+yt5!HDYb#_vAC3SZ5yJW7fL%Dl=os9IoQJo5PzChWH)cGpElfF*jc-_fz zG~k;9*clqQZKuwIl-)_4hxy&z<=V+8_lU1kKB1aD8r2!5&Lm|Yq|TH4Zs>M(hAH>7 zuTwa&%6AwW?Tk?8=al_9bvje})8qR?xp}F>jri}J1vKi6QKy%(XLO8CpTO^=uT!Di z5?_ZH>YQs+CMAXra_X9n(R_UIPsz?nr^I{N?!#Pr70R#lbqjq}zE#I}?Rb{mYFkv7 zv*2v4ue;%JSGPp@D}3FgP|dE2aLvH=8en}DTsQc7OXm4{l-=m-jgh`Ks<)qd*HQ0D z>TUM*CVjo62;ca68R=W1dI|V#quvRfqtmzXyL-NCi+JGK&QOQ+ol%_y)Y(nhwbZ$X z-wj9jI!oXiU#CL)OHrNW)cGo9H&f?+ewQ5S>I_rv!BFRvYW7f62mg%hVanb^ok#ec z^mWE4HyP@jTFoAh>XfMSBxN6=&eQzvKFYN-M!BDdIxnbZ(@~w*P^Ytlc{OKrdLF+U z7I@q!*V{4WD6pmROemPIft?vsk4&b z$xw%Kt9_jU-*{XT)u~WtEoFC7=ZX%`g9}|-CCXmo>k(r(TOZZiPQ4A(dysk?`Q6a# z>J%t%+D#imER?cTv=lA!podz%pFzChBFqU>)z8bb(!{j_gpl! zO3!yv|IUl1jzdSyc2f4Pj;R;&zJAw5Q=FMJzFWh$-0Hhi#kTqBkt(~RW9ndKCU#sT z-KZwm9iMUQVR|y_LOZyV2KUQaX9l?MSl>z8)Mw3jGDT-^TW3j!#o0-cB=^6UO}uSc z^i|;v`~zbr9lQ*Bs;zhCo7fK51}tKuwV{!Jk3J{AzN6D58AW#)m#ss4&bD=SJN&$U zJl<74BR{`^cgH)qA2`ffXTHVfI$h?IjKTe^qcN=xTTI`ew`eDwlD^otcn1_Gv>mRV zhN62xcTTC7=xh=gs-NA~G3D;4c%R(cE}Hu1s_gyn(>bOGAMmAMX@8Z!zrDu`x&L|Hq*tJvbJI1?+cYHBxfc$z| zajAP;E&-Q!iLUMFHQC_P&*8rm(_a1^?PyP>8Z??soGD}2{Xnar6-KB%{5k9bZR(6)dzE|IHeBjS)ADj23ZGCw8 zWZG)`&f{wQ!9L5zWcbWk$E3Kz(V>3#b34qI2EO9Y3>lS??kgt;{`bF6b2iy*=MV2* zJ{#?`*=b)q-?jMwZHgyFd&$Ztbe90xskG!s`Y-HJ{CHZ-5*ZnKzrJEyxFUu}gwYPmX&G)*;XBd2@cXv$5k0HS40Ai}XoB7^GPM@bS zX!kCf^A+&c81(v>(!TD*7GvzR%E$!{{+9MjwD^%wrtc!S#2=qWb1~W>q^*W zC2!WUpJ-dxxAS}dkL@sD)~ZdNb4(Z=I{aGJVc#X4SluBX+n?$?HtM(H!DRE;Tg*#F zpO*aUJjU^7;^Jzz8=HZC@yeoFKVy^8hVdq2q_pwoQ}BrAi$Un1{{Q@cQkH$kE1quN zD+^bZRXmAju)&%C?$%>woGYg9sO;64CE1Ex<4e;yrmN_r<%wojQHAbQ>pxEsk>)-8b6COs_A@(Z+&`t+@Alc$KLb2zgR9*)3N+{yjY<81JU#HGpp%0 zqUXvBtLZ;Q&m+fH(|?PfkF2Iy^t}A+YWn@?d8EIZ?$4k17xz=YC&zDpkv&~HCx0F< zE?-$qe-xG9KBt=g)IHPB?ZxcGYWgx)-kwKJs-~Cb_4gOYPOqk=_?h>MqUYsHs%hCh z?-G69^@3{p%ERPOv3LGNLk8!*{=~#?TGtBa=lViAARguWAJV~^#`mw?S#@7BI<2#+ zz7jUsTpi#eVy%l2=Ym>`pA+L*fuAKVW9HE%roo+qdK1+ zgSVA_q4MQpOZo-M_hpulF8MS%&!WVaf4<5b;mRLRx~#i&)LpDHI-@6zKwDJtb&pos z!1SAx&J-d%85a{F9h#d%i{_oM-{aW2|qYxD4iffsx-Rsl%bNL!}EIL=Ny!7 zz1ZHxBP}#bpxHiT?<6+hm|kB1zV36idv|;$K0FAm)E0LBwry?Un{q8}Jr>$(^X`m& zaa#@gFwgd`V!gC|B>1P%8YdmB80mMpEG#r)STN`IcUG3k4m{pLY>S~H^A=h7D%PnZAn+y%=~MXlMQ@A*{8rME`!~u5g*9U)#)|xE;M*`FM1>AxSR_t(s|MA z^$f2Ir*!P4RnhPFw>n)Q-b>~ENmju0O|VUG}!wB7NXKfqi?{+DI<2 zHh#yqF^o(O`lI%v=%l|~KlO1Hybjca!!E<2r}oomZ;<0Y?BX%B)Em)Q?D4pN&(#}= zd;vzf#@wC$T<3Cqwt976@7vT%=<8j(Z9TO5>d)iQlYWnM4PRJo+FwO522T~;dTI|k z7z-^%7Gv|ng>I}gPU5d2>2GWN`TT0{7ri?9NA5NCW83ae*dz7*G~IM5c85KTXK}2n zTDZFWWpup-g>MwtfA{^1a7jw5s^>8NmgbKBa+e-YlBBA;W#o@1<)peaq`Av*T1Xet zDtk3ohI`A!kj~Po?v`2IQb+ZKkRI!(9vjky&Z_(stW2e|x-g`ZIaS?PaP7{i>U_x3 z*&IZ5$e&x4AC=2j%!rWRRSo`b&R4U*o>XKG}_%MmY~0<=&yrCfM`O@q7LwtM7+T@;!fHx${ec2a9Kj4|;1ahYzy##CKpl9nzWL z6>e>P5$S+ugQt%&c>bJeyfcC~WbnFc=K)Xmw4^J9`r^&(+RA7h-M-*$GuV5UioRWA z9wvC|Ifl8%VD{7s!jZFJ=wWw#bjL|}uHszf$zM#*#50>6X5HgCPcWCc_0{l$1_|HX z=6tX>Nsd2TzlZ7UIT{DuCrK5H$Bz^DNqXteQvG&Z;LG|kX)5c-EiO-bVVyn{`R(3x z(>mh&Eqx67zz6Od2=GO{^RT6wt8ctBz1{BTzS)hkjah00M=Ff-2QjVFL@ejniZ>+r;&$McT_6Btk9ujt|$hO_>=Y`yFxOb?CeJ}v zLl>C-5tQ~v^UXWP(dvi}bs_H$<{yAOG@WUh<%a9?TaH$Ot1-51?pa$|+sO*ih6 zP4h0FcaFJn7g({ z4V~xs>l|qLVep@ZCW2qT=HmW|C26&@P+52McHb^=C3imL&sRy?T_ao1k!yNaX3Z|o zg40K1obWlC4W~UXaX1|bPQYxIOW>6E3%?ZRO+#Kr{VJ{yjGo%F(wopXglk3nFzFs1 zSLvF%OURk;)S0Z!hCh3Xz#B$~^$j{abZZ+rpf?G2ru`%70Q+Eccx6n7WZ|rI7&zb2 zL3^)*(qVYvtaR9AFnVfV6&*aTMu!O3oDSrD@6&DQaI60&f#?NqjKYVSL)o?gH=p7C zI_c~divzy#Nxny)eSteIjLl1ipc!>UqhV+({;KmVT@ri4R0eG43;Tb3{K}d7Y2amm`^N?c$4K?c#US#J6#~7rS=Lv@0E?@>QM%7ye4NJNZ(92I1N4jQ@7iI=g$W zGT6WHb+P!P>DACkd9SlIrZ!3Y7Jq9MxOUF1{hhzZQ9?!x+a7(c-SZZXDgGt$4cb=m zx;j2*mR}|x`n}5YdeQ0Ewl3v5LuFC*)L2$T{o8ek`qy1MJ7iUIiqXgd9$`#T;u3^IPE6j_D*Qa@4C11Ycz`S!1rP6 zkMD4J6c$$px$`VMHhVn$KCHRV<;AnMJ#eY(^OMj_ZC=(Yj~EyA<8j8t`Z0X$tgwnN zcm4P`U>V+wagZ0KR{Ch{d7sO=@^Jw_Is1uUW5%`ChX&y=XTbZ+r_mG_ATlw`)u=9 zVlB2gEg!huiN(>?{`d>Xvb>D9S(K4sb;_vR`zf=J^9c0w+D+KQB(GHd8RWChaN3pQ z&RJd#UA6%q9IivwRisa#D?tCLTW(HocYE*qy=-GY)}1un!X^NlV`-%9$#9+yT>OXnx}f--MOV_O~7Z!#af(8npWwTQbB?t9FAZDW_! zsZ&_csGHt+EceG#j=__Kf|nla-vv9B_(Ht$nMr;?sQwx#bq zDUSVt4&>JVRf+rd9rL>H7k!)FA-O#b&B&LpSaKq5>CT6}acoIqdj*=DjUv3!AokA2VYs!6)0p z8Nb#%$qMabEbaHOrkm=W-wWBER?mLFq&@Ahcs<%He*_vK14oj|@nH`>lE`-pUTxX$ zYA-p`HP*zRBb^oF&+TS&xk~)mQ~L<~X!8_(VUqS=A85gzZl31fdd6ctV+21Uhqbq~ zzIiz{(uJJT9Po0gsg0ql-5huiZOo{LU)ZUQb+D=49$!y$MeEUWwkgJ@mT0N*b|y;37w9%7;LB1dhZsIIQ@^t;KW?69!&(rwW&Y)fL{8;XcbdEK~HND35eKBpDdh>JEPC|^oh^BtR3<3$BmbZzvKG+@1mb%+XHUB8fwK= z?^rkd+RXeosTtpr#qBegLk6>__H~c1&V7(a`B?o(vcb1ybjFWdGNzL|%0b4MJ}G^Z zeDn2Id18zG;8U(_$6qzy2bKO4&Sr>t*svpGKdYl#Pq5dXWUsxCeRjB0hEJ)Ti^O-B z8pWJ-$J>~&hCN!dZprhsa(j1m)9E2Hl+Dj4rwg03D}ym zHSM=FvA6A6@rm`0*xL527{&HXEEUZaVinhcCEuuco}C=lB=8^o8T0HQ@Ud<5vv2D+ zn;tL~PxvwVux}+YnK9DZV7e2q{!FlfeaH8+)WYYFV+S(%Unw;6cQmf`H@a~>f^jWD z|06{I&Dfu46B=z34~dR-@aB0Q@vDdl=*Fe~Ble&0lDk9eV{`sL@+&;BF1s(yW!)k1 zZB}UJ+r;8;7~k%Ci|gM%Yiwg)^nBYB@#2`;hNiRe?X%2R^k0jMoG`8`8~FAQ{u}uA zjlU+}K1?4D##jHZd^_)#@NI@|EuRzj4fH4Ti4mkZq5K=?*!)P|e&Rxv32TVv%QWL` zw#r#}U2CD{{gYGh`kR@%*dW84p26$9GhQDqHuHMK3q$X8ys!>l_*Hp*;OUvX{_JLd z|A;kQ=eE)JdXH=GXxc-5+BtH%;GHKGjxFap`t(}!Pu(7L zSM9m;zTg9X@hq^1e$UbOXA!Q78KF5-XoqL%lv!aFf8XKxIIyN!^Nt4Bu$JZhOirD( z{*bT#uhd7T>@}Md{YaD7p9FuhZsBJwJsTfp$+=`s>DlGb^9=B8`(Cyy#<%S|>e~JW zy6IdFc*F*uy{!(Fhvud8%P0MJw5jv@u&2mvZ_ASd-~Bl}>v^WW7JT5FKtsvZ$H_DP z#E*XNEMq!wgB#QLYfM)S^uwe5b@)=e`hMz!ef>pYouj>JeMfjDJi4+)pCpchcp>^e zW3ErO=Z_aO&*g}Z2miqF$9nKen)Jx8&y4%Ap8aDqw{DT%wVv}q^@aS_zI-j}%Qtm@ z&3vS0>ZdWxcLTE>tWQUsnx(~`4GQ!!`x@)IIea+CfgN_*M%wc@aM9e4NA=*z2z>w8j9)nqY131lF+p-Z`rstT0m9K zK@abDAs?w3a0{o$ytTb^xB<5~=YgZTwu?&_{A z6kV@^u6ro2^p&LRoi6`!(yV<}=GDqS(xulbJ;$XlB|XsP(ifB7rTb05xrp?T;uMiy zMS72~dx6SJS0=xowEX*yf%d6?e=d1?C%ApYXd96IPH~RNdy#)Pz%Tv_#s_+@y_@ES z=ZB;7J>)6e4I~C_{JxL87a?0`&!Smfl+ z9I$IHOudGwj}#9$_Z4a{UVn8QnF zg<1D7mjP2WOyySy{(G^X8$G2H$yP+(x5z8{_kXYVXE=Q;y#G3RL#Z39uj&11&F}wO z@3{jjSYIJ+dKKv}sVu+y_3QVfm+o|W#zFU_hY*h<(DxAZ_w8M!Gn(ndee^KL>mLSh z_MMOY33#EuH|=j%pm&j%oXOgDL9)>FTz*-9=VkXLH%y~5u9AE~H>@MG$X}anfEPBv z9~EMBIGq1=An z*_@)>50th!&bh79noHzAPTJ-Y>3yV?_k7JS%~jHmD(@h;{44JRF8>tDMtm1=`4;c~ zfAcYM?$(9A-1=kiK2$z#-fwO1jK+Luha2-BfAaq`AItxa^B!zj=;4)hxi6a8t)t{x!)VU}$dIT-CgEJfIly zzf`uc7OvaJnPjVMS?b3mLw-nyJY=~N;k#$2!}nu;JR0liKxCKpaoy$51D(vD$NTjL zdU@S)dzZhX)L6S4w5fkmZFSeKr!B?=-OQhrgt6*ot`2vaeKDM)pUfT$oJNbwOJ7cx zCtuDeV|PKyFRiA!3lg3ao^=-_JP&hMLw7;K^J{q4T@d#?Qe5z2cNZi)FJI>Ff`n(r z*zSUa`q`=OE=YK;oagR>g!0RI)?JYBoV~=|1qsi(OQO3V;rTVo-CdCIy#0K47bHB7 z(;wXh3C|18t){0(&wQ6ncSEEnGXQzsx-dH0XH3$JIDn^-w8g*>Y1`6s}u^P7>U zwFVj7Z*7rxquK(N%8`FyNZ%r$tuD!G_N2Oh7x>85L*CguBQ{5*2aa?Wy1ngrMb+dj zI>0{R1uuP6-$m8lU3#A6zxE_Nr|4tybH44`^!C5u?~mV=-u}sV;}>&TI`ul$xs1Nd zzjR7>_qlwwC|f%)mArFo{%jUMwa!9iFLv6R%3bju&ZWWc?>R3EeU@))72N#U!}hMR^JndMx3-a8xr}d`M84`i%fNWp842P|FzE% zzwadYg??LK^etcMo!Fk^z7%|4UeVH*-;MiHY4Wpg8pFYbt}oZo7umIicfvfL@aIwG zIiG9@chbEO9Vy(AaY>IhxlQc6DAA z*P%=idddc(@&m}(lymVgF5*Sul|hqc`ETEcY}nEwzT9<;`qWdqFd84`3TO3mtFK@l zaA&Zlaa%*W+`%^-nNRX%4D+VWyO;4!JQBnc$wV{^H>M-aA3YCg2g;@JV84J+7Z5E5p3fn->%C32>$uE zcQRjW9bKd|LHK<3cI(z|Z|(cgVtRAO=p~Xv9$u>0jGJ#7&FyrIQ$mbv@n}V7(C<2e zd$fssM=hPOh8X{X>(q7TCo&`du;xCD%g(7j1Q^_*9sNv%|1kE3u5#m>g6fatlkz*p zR#XR1aJ>Cj;II2%oGOQ@R#IHif#-AZJvJ=DW)>rX@^(nb9=7pv{4L#rS!Y%aafcnIosY6p}J*6~b z;AAhc7^b&$jGq2W#>~cX3*-32W@m3zZ1*?Qr#I6-Z(FKFINI94JHxYbVQlAZ!gElu zS(t;r1D=K>bu`Bp2%jyUcHkFi*Os3Gttc;gJ~+ji74>nj1+O*85yOi+9MPK9j90spFr&WGmd9XgUqjwGiKOn)_rPy}|;mtNMZpdM<_6o*_@PiM0 zr7;uTI(YZ1!bRU*`YYDy*BLhTM)}5^lQG<#k^by`1DeJoJ=u-N!ykuFe$75hxA=8= zYTJHz%B@=_7fQ&5Ti8buZ*d*+c&}`wirsgS>wl&aCV~rjqTCyG-*!36m zPx_Ve(YKUV{@@owzn$H1kJBGa4jI3&2C7^I`8Q@dK}Yau+MaNSsg7 z+X)?2=CDof_f$Y|wGcR{NGzwEZeBNe6@JXXwD}6mtA*>e$*9H5P`z2o9qG&2 zT_RwtVvdhR@=rWde>xyM2qyN)AGIE9{a$(iu+=LkMlV}obLC-@A>?X+8;Pm{M%i7 znD%WxoMU6q53lxb`{U=Z<3Rt*IJ^GomT;fs2HYIoT#fo~JWDz6>xAvnwdv0~ws%Ht z)~(H++F#P9_Et0SEze$e!0sb;*Y2Wjs5hhS%Ix)rtbR{z2lcUwy1m{x&=j8#^oh%j z=SV}}O}nrShBk6q4$ls|_+m%P3a}+#4)&dxr?2R^TX$XSYtYYEBd@(*r`j#Sv&O4y zO8WlQ{*J;bzIP5!!Ji-29K+{OcMoSPv)Y&8EYJF(`!b;)=x|dygH=00w)Bq8$z@A# zGPk-+d~C9$*V%dsbDQ;y;RgQ>oTWZ5s;zc?cHbbFr#t&+R_nB%>!9T$sFH$pY~^cLr=8c)lO>GT^h&VEQu7ZY2wRoA9gCd1;UOHc!7P834Rg z>o30@@|6;NWQ47+!2P(L?=<3Z{_#OzG7s0*k&C&^!RIWyj5!LPOPI42%}L+BzFn>{ zRLo=QHNJtaJrHq%K7YH#HL&u+UA`ej?DPSK=$EYkHtkXWLHV-QFLUL1o@e(v3>UuL z1iuc)@&KRIw(@|z@BfVDLDm@0U3MR%Q&VsBgNhY(J8@ z(AeYw{H654`HRqNO3 zVZTnJTjzZ+`PR~hSNcB8_cZur<&(J2;9YB#g^{jM@w!&4JbdzPE%LC^)hrLAJ`P>z zzqhHnKwfm7HpAd&uhd)ILCc-)Jg z`dM+`qRYpX`w8lA2mQ3OM*6uh;tT2XKX|L#1FBrtaN}EcMyII$fX+4919nhf^G|yo ztr_lKsq?##)l#T&bNlNN(if@rEi)eQhw7UY@fyd*Vb$k(R@2JH~tkq^MDUdwwJ;lZsRc4G7b^UL4(;_8wRGvVTS&Ff6}-!;B`&Y1L0?E zhc<6N=hn4`Y>=KP|9Y*h(nC!zPQ9F(m-`1APmD$VGrN9I?GM2vv>{u(n+NE=_zI47 zuK$<+Z+yX+&dLwawk`>+tcWy)jn@?u{@2*|gGPcKsv4v+2 zX>22y0|v9V_Ci0lHphT7V~ll<8e+~6pCctM2Xm=EdCLj%x5oG3c=@hq{w&Sk@x52~ z?u41|-rMKjnV)uZy&KbBSMT{V>)qJt-<{Ov-CX~!ug$w|wU_4`e4ZQUo34M;#FLsn z!TaQ^fBybrMRRwHJ@buh{5$pT#`FrK$q9bmQZFOjcOt%L&tZq6Jol)YY(Gz5k=~u% zNB#Rs{rAYfO*lcP-udW)LUCm$)X$mCsw4=y%SsXZP}}vO7ar>M!#3 z{~_d2zoPoO!>D>{hhKxK=L-_-Qv>W5XZo4e*Mr~sQvbt(MLE;4{Q4w2e8S#K6`gV|UJPPXn8{`~BHZO8ut`S9s9r>ng{3>-kV~OzUGIS|f5jsxrS> zj~Z*xtzK|z-OtdUv@V??+zp304cK$IKd5i8w}YL{4tucZU{8A3GsYPDt6xoH%=bSp zhBxyuj&U`3eE(Cr9`)QErf@gY`@jS{O&_|8;=pQM?5m6>cMxAH#GRSr_N)U@e>9IC z?<={ptHP1Z^eUW`uOH5)-c$R0)Ta#o2=_q$<74Q!v$R>K+}9s>Yp(7Zs@?=XoTgL2 zN4jU2``mOk?hxj465pQbmHeUCPqPQtnwE|oN&I{Ky{qm_TKW;PS9`EUW!<5`r)1&` zcXk-cZr|?8*6Dwpx*6{&PnJ0r{q^!1t84%FuxJulN?$Y%e3oH~Vmi_hI$)ZaZr(c0=tE3;S_jv&+q10@5`-YdW|1bzCSn@{?-|~=|kK}4LU*ng-$N^ zGp52JyN&o8z^!N>R_K$h4!dMB^*X&<1zz$;VI0=!c_q*Iqu88WFFh^YSkxJv^6^Qr zd~i_yAhB0t87Ek237d|}>euOSUYE2O5@r`~#dpBR5<5ckfbmhk6OEZ4k3=>X;R(z- z<8^`OjRE;N__peleTmN>5>26ZFS?}OkD&`eM>kf|Kk2{P7>sBuefXPi%J(4SUBiu- zMc_N$>F7Hyookob)O%}n=7w}5>6wOy=n5T`7W`e$ApeB7@}alV)~@a>`hJ$x2j5Tl zP4wKJ-+7{p+U_bG9narpT)d6_Z@?wg^>T7t-}2Iaa}ImU);{d`1 zKPWth9DQEU<;Ujs63)kFp86N^ICl!^B6_8KaCk76()5|9X+*9IEm=92- zKhd8}*x2*_7NOOQGEa1F`dn0I0KWs33FB_MQv}oNQ1F3$*DTDv@y=nB6^@tBakApY zj8ni*`htB28U1J%cqsqBTE2}MzLjMBLV1%5l)F=FI(34L!s%i@E(JEUIW}zNaWVM)EcF!=Iq>2DXVEkI82FTS^F9(I3SMvYG3k>$bba)8=Vv76qqyj3`uOJ&9-@i$k#cWRAK!Mzx|42o@+w&l@Ax|@V@EdTaAO|!#yY@wXN23}`J#V! z?H`02I;Pg$0rp?htZ6Z>DY~`ZD;DAV>8JGS`wzc$-90a z5$nlhL4-rv?{N4WI7k+}NBv$x+{sJ%?uproNski)Mq_mb>8trhqSDJqXX&Prv-39O z1a-OSQB09h7W6_Qtw$EU% z5$N&0gVBR{QM0!FQb&)s`nF}8(b?A$kAuZvK{ku#C3GCk-NPlvc@Fbo31gzYkj)?R zPx82I6g{JItvtA>g$IwOP4U{+kHQa^!Dq4sfs4}8VL!tC${+_r-a8l@jbo6x=5OHl z4Y9ncFUBUuxMYhRtUX$DBl%(c-pf1s7w$`HT(y@Aa^VT?W$S&|%PBUi@VyFrB?mkX z_+HP9&z-mB*W(PlMUM{t_VB0oI73ozW7&K%-C;wyGr#uTf@F_tUpP z%Po#xfgTpa6JAfp`2HH@Uds43$!p;NPLg9WzSg$h#c^OFd~JS#gX$s+ma5O8uaAXi zUspKW`w&A0`|o$oAa2JJY@ygECgFhz<|b{rbv-$@SzeVJvUKnw&5fSgr$t}&m9wou z@wD2fy%c=neys8~&SqYC+1-qxv&pTF_OX6_U@V2x)IM<3J#e#2!t*cH{DbdP=0Kfi z*&OQ3L+SIPL)J(93*Li^*;XY74_f{NVgjFljOrVpZfWW%Kle13!FQpxcZM6!j{qx_ zD=HQdegqkQ0x|EuSomSbGyK5Y@auK>$)}*mUN>bgp|vx>x~pZr>+WmZhi&+sn2j1d zL`%h&ZQ>vDO{UUkr;{~e(wUqeZj7Ca>DN;`hp|)t8u9@fX)YgH_MM!8Pa-F>#T7fd zO#QsPN^2i-1D-Sglu9dJi{XdiPK)1ZcvW2Nxm?y~4ZK|3y`I_;9K85c3i)fGYmX)ikd?rxlNPR`-!}9&@nYDQ#`l(4pQg~? zn&OdZPgf^Tvgk#B_uP&F!B&|lu20i==pFKm`K)~pYuxe8>rA1L>m_?Eb{_kGXsPj7 zD%e|-Ds#IgAH2}+vn@OVzb`V`c{+Xcw#X9nS9@uJZybWdHBV@KTz}Flt^c<7sA%2R z*qmthToz?FR@UiTnNNQBxg9>Hzr_W5oM*Lh&^wqx-)5f|>%{2BriZu7L&h|feRlI` z_}+)uZU=;+OyBk2GurW#}fpF7TUe zaOH_}G-Y>FkWtLn1H;-MqDyt8F4onbYHj5i+-j0z+b8u5ZL#H=9Oj+w2!!`f>OJzp zY#zLW&#HARLw)jP_lV`f%^I%_$O`Tsr$@n0>Jxg3`0<12i#k)%I$>@4@hme=W%yKm zDe+s^n90VvyxHy}dx&fs>enE3#7A#2SdIR@J?jf8v45{rd*GMy9ccA| zv9kL(qN&k_cPH~s{T@itZ8(s}fmviVeedYW@j^*QlpZUgc`(DRSHPDHx6-|0lsD@`B0 zj5SR4!TDV+eZI<%b#gBK1oo?2$74M-SkF686U9-_$Afe}9+Zpm$|RRggO=1)dFilv zmL2VJ><$y0v8sIFF?8{!v9tXEWi$>phQQ(Mx<(wq(J+2k8Jl!f#Yu^A&7^BYv??Q0 zwVv0(qoZff@%kM=R-!-Jx59>nBYo2PES&3lraj5;3E)UK5e@(Af5YS8GlNe&Z92I- z;rQZjXT}X_vnGwv&V=}K9`KRTKmGc1J1qXnZnt*4p0Nw>-icn?I2UnpIg=fPwRzXu zKD2k>1D}7Y_^od}RXi$tDwRExclNC--Dzpucidmx&V9qieaHPp;z~sK9rqVYy!ZDV zfwR3>Iy}Db$hWJS?mP0WDZVYGZ(oJ>_H*BHU;aF9?de-s`TM!~{YUQejTB$Q{Y8KO zk>~N^0`4d3TUeCu`({*c4cSqP_w4L{HNiH{;wHJvW_O*(=$QlrO0M;QR1LkmGY01LR_n z@wM}R_$RkjlfGE%a%4Xq)_gvV@$~x~$$}*0dHr8D@Ik%{8JE+#X6+LLV7Zea2L`dT zQg?r_Kem<^FQaRs+t``>NY`*9rkh}O(ii=96pGbUwsrOicd#}GnBEpK(nTyP?Y+HS zvZ-Ft>UGyXL_N_V;cVjq^_lcb`DK0Ed#~m#eHK2<_XpK?`XhbI==t&QKet13FfL>I zqT%0JJM%-{ZwHv@>Sl}2>GzG)e1hY?_kBCvG{~GQFecKGO8f@hxekni{4_KM?5{Ld zhPRius#k6;U!eR7;+v{p>|M2ABA(WP4<5l7xjo-M)_G6g@-vKG8dJUFPHg;c#g^oD zjiuU51()BXfUd!J$#xM7JkZ{3gKg?t-PUm}EQxj2rt#Usd4tCFWX5M2*?hL-KeA1_ z&4(rbNGD^-(ef9wbfnJ|@Od!Zj5{ZiyT#L!%TKOMTp|wbT_z`}Z zx_2cS!grtA=J@WD{3h_7Y%yVc!njetiT8f?=YQ%hh5z-eI^u8X14_dawq9V@ zZYqCLTwZumHmn(W4C-YG`!Joou{UQ=nB!VGrTW*xReSed)5}K^@(v3y;Vt2yKG^)^ zT}S**?NO$_44p&sNNM)8#>=GJ?bGtMhcBpp%F{_Ws|{p&3;xYMa>&O6!&=uVt1;H| znE2K|7q>YY$FyoH1MQ9tWrRER7V+HI`9Y+XVm-~xNl(NRywuXPkZtYd4_Qg<1)Qk z=ejL%r&qxv*!ico%)MLZy4v5M`AwQ=K!2mf)SC>)U(wAZ91p;GebU_wXy41M7W0FlBdBpY!(` zhv`I>zg8m6Z%BM0&@woBw{s-XgR!EILU3`F12Lgx?v^OFWfkFCeaaY3g@b ze*|0a1zYDKDZhHR;sfs89&j1(d1w2)x`+RFoSVhC;UFk}T&H!_+DT5cc7~~Ewkxe! zlGnce(p!{Ynwqb5(7y}k5{>n$jlB2uTl;rRXxI1e1ugwMg7-tdFVnOw+(Tb(Z|O_W z2lF$E$gUmxyZi=y0}sw`-~oS!#`G9?M(grVkg+zt$mK}>ZSN|aCYyXXE8E^#_zmgW z+ofv{*j?M++FzsB+8L0>-^tbS5LZC?@1}p=F1fv{;^29|q$YSn9^T!+I~E#2&L7JG|4HLbj!ITI@Jtk`!t&oDZT8EqZy#Y3v=d8)v3D3faKe{&`O zrkchklnrC?nm0Ae5!v=+bJMtK4Ki4n8_Qr1e3En0Y1W1upUNTNLm9(o!@==6za2i& zdSv(vdwj@W#X4g6uqJ7K+4~5eF=!p~to`-P?Q6_a^hMdek7(C+w5Bz+O}^UR#{Gd4 zoIJyR>c=mPFJp4AKTj!=S7)5mUP4^a2gwioQIK2|-F_68uhtj2P4!xDOLVr*9ZPkIFvd^wac8tx{*|O=^^L1wE<@qszXT2^y#Jo~} zdih?w_F|SM-lT9}1Wwim=FQGOpbzMG#I6BP?p9Ezt9*uZ(BRk7jHmg{9aCEco(99W zH%5D+!5NH!=I-~g18fYm^7C^bqEAkLVkbuWZc|%zYm4~55&eG?m>>KjlO0Z0(3dBO z6R5V+n0JVkctONFYXUBmr|f~UzTw`6S6=IRWsvwD#>Zoktj^qgO4`Wk2i_maYU<>& znsku=V?qAgdoRB|%v^r++*W>rw_r+t2xFe}7-ImBX^*zOD?4*mdItZvanlE!PA(ln z>zd9(bSLc@)>-oj_O^oQ&N=yB>**^x?|$Z*Id}g=cEeSyaqOukusuy8{{l|=xDLO_ z?#|?EYNfGW3@jI~ch^2IJYs!h1>cC)IrnCGakHDlU1JW8VjHM`oe`WtgVS64q;xmR zUnX4*7=hl2_5eKlv%6e={l^;`{1VEWt!^drVpVDC!B0-_c21R`TLz*%0+JJ=@8K*V9kQ zhF;pP(}v(2t2VEr&FiAImUN(j=B3{0c>{frzl6pdID56WiKa>R;_6!;2hOz(I2CXY z^)z3S=owi3nr~&v?`zq2%*AeukAc!1*rr0guyz*1xcGHE;hTbz5!vNVW~4W`aZ0?L zC`NS4`KeV-MD(efKVf(6c+b}lcDBqBXqAfI;MYv^WyYiJcx&KXNAtPjE$Txti=F#T z=vk2*4tH#^b9~Fo+77<2UPNvt{Qd4Y^%(Dj@#cKXV&et=`NSUH{XEe*-(Hn3@V8Fo zf9}?i!`;4oJhzDl{CRKps#^OoysUZ7N3m`(F5v#5w>EIMJ&kA%oUg?=@ZGPbH74rIE|0@DPoE1!A7He@WiIp! zxM+;u(t=C8{>Qj{D8?l@dsbZP7EhqJ_7;!JaS;hP2i{!Aq0#On*NNT}ASHm%jfD%(=j{ z`Nq82$N1Y>GWCMI8pgLIo^zhhNAi8XpL65v3#98>p9<&Y@}sp+yH-jj_0~QwS}>>9 zD<-L6SYKxH;ms}no>x#_{K{UWdK355fA413p91?oXlr=cdMkQG{z?_eZs?E(R0%{_}CUhZv3nbn*&?n1^(Vo-)#P8FG=nYkxyNGH20J!?Cbp)^RSba=h8Cw%%MCO}q_y0NuS+ z4=Bg6HoP7n_#MM5ay{U6{{S4VC-Am|=i5>GcU4JDV5Rdwoc>L>|X_kyc3kXW)3aJ>z00@r2DJmezf317G4`ul#(p+g{YLP~Wp$*JwBj&eF;RMJ ztNnQYNIdB0VBp1EcYu$B?y%VVJ^ej0SA6mv)%z;*N%k`7p78o5TCX;kO>=*2*Z98f z-UYfkT{xF>)+Xb29{4{aox{)lQ$2mTU(H_l7{3NJVi>pfYtX(mzNmJD`W3Gk@JH)j zL3O*vUTShpdxch5Lk6p-_A}O@LzWTIUg3&wx$#Yq5tAEq=87MQmj$=}4ewg^3TsrJ zG0+IZYGW29w%ft$umu59J3vTe`HoostYzzJEFGJkVfM*pAu&*ye5 z2A?MW6rH@i$Fu<6L|!*_Z+=QPEM zkj|pBw%bpc-cez{deTjd1wJC-EX?oKo5y^(5i@#NIz92Tgj+}H!fHCtjrlTgD$xGV zD$nh>3Aonx#hmwT6@1fQN7b(G!PI$9FG$S4t#Rho@L>t%k_%WrJ#OC=o~nN;wjT47 z@ZU&}zl}jz`IqGWs=B8u7@Xf^_#2$O9~jG$sSiQ7Y#Dcb^}Hl;x->D6Wj|b5cDAIl z&ZwW}F1pu$)3STtF@$c4ZXkOsV{3EvZEindG}D}Y95|v+*Ki}QveB*FpxY4NN7ork z9r|c2GtQs~TX_TcxgD^Own71=%>8U3BO2Ng|&24~DfA)ABKBxY8`K!6Cw!3^h-gfosRoQz}l`fV!7(MGs1buVD!`~4u*|^_~K80==elw z?ag-m7iaVM3N**S^mkmCPj%^};?2NsIy2OBVNSI^uQc_WfpU0!3t95u;b7~UXfXOY|s7PNr0hozv z<5gO7{j=_`G|>hgG1`EiboAU_HrC+J0q+mf4{Z#;Kdh{~4jPN+Q{t}HfvNS1Z>i;c zl#ln=>~Ni*O?PbxaQh>E&+C>Nu}f{dBAkZIU#7dZh`KRtI*xU;NuZ77j&w)eA6ygh zL=GQ%&erE4^L6R2{etnD4Sq3#zYO@Zl?!<2SL2qxK>J1FM4ayA%iFvj)j0Ei!24D- zd=G#<9>zb__XET;^s%6^7EI(u`VBYFgU>*GH&bQS{I+XX->9h|lhUNeYz8O8C$!!8 zMh#`nXPdo3DxYbCj}JC;KHcx0?R{mb^JNa@lNUK(=J1^H?7#66aN=9>jW}N6ex8@> zW`{+;Khw$3?Xp2=tb}VCwYLl%o60O`F7s($MtmN|%g(?$xwCwwiwVNKYR1{eP|NpP5zc!| z=6BcL;BmehoHN0C4QJi%?5`PCGSB)i`KNx%H#+pc=;h|+g5_~AeGz!b?9p2~T%E3h zgV7G30WY&lz+mlOc&_m21)tKdj*pZ7eE+use&{I1R7$xvo zAbgN>$(itG_dvg$N%-ePKC|;$@;D2rALa7O&@7hM;Xavs@EK3@#W(*yel`SQio z^8)|7$p0RjH2dQFyJ_r=tUPgwStr30eYdDPCBR61UA;>#{lMNV9e!$6l00cKT-;$rh)trmq)@HyZW*O}W|Gd95XdTH8WJVLO zOOI5a#1qyB*@RNJR~$Y}E6YsbkDpD@3|lJi8{aB588>o_F&)};!5tUFLA#7 zs-v`YJcB0~tn;?VB)`1#kM@rJ_$yD9#vggAyy1zb3OA1JOn$NM;ga~0wpDkwG9B>g z1bmv@*s+tnlEto%=~Jg2$R`+HdHis%i@ zaa((ej9q#zb_LdzL8VJB-IsALNnYPR|NDghy}-Xe#ntaS-TkIoBd<;kPT%X&QGG9# zzAc(Q!^h%VhCV|~GW_*ze<=TN^R;?AcO?BcwM|~|9+`7=Mm?47`$eb4;;S#KjArnh ze6zTB@SuLvmwaF^>1~2VTifdREuc%f`n0dKY+66SpUBZA>}6VF&xp7Eey!dOp3p$$ zL+n2n!=Ur-XYY4+M(X%UPprpp8XuN@>(lpPugc>2~xkjbY52zY-n? zYoC}+K|h?)zWERJ)ZRn;ZroNkVi0VV4|_{I35~_IX+JRtrsN}Re0J?Y#$XNQ*teTZ zTLbN(A^m(1KTnr08K-=HEq^WfYn|+0iY%^^&Si$?yWU@>^6-^lkhU07l*?8pO|mqn zA9&8uID%)Lwlt29Y3!7yU1G=7bYDsNlC_p5|GP>9e*)N((039&Z$k10nf+b%G>81Eq;m+DyPE#8@Ro_QXwPo~x5~3q zv!>r42xwhl(d<4~i%6b394UhNsR$xbLQTPPMtLk#_d<^MTQcrw2yGW3oM7 zueArhPzg2!0=m`m1#4uhOBvN*`)} zDSOcV@;>h`>9+j^S9qzKfxqzPuHb?1>YknYb~F1GdW| zp~HLm!5Y_%93dw9LgXnS&+R)|3p@BNYQIW5|Dv(F7hUCE*N3v^De3r6QPttAi6g}r)AJ@79p0SL2tn(uI zel1-M&rk3!$f#HAo8hd3`8a4zyp#Uj8TC);&_AU^|CBz|{!#Xz{o{S!Kho{`H$9n5 zDMk~vhpB9`G({P^+m`JF-<=V@N(X$E4)`j4sQ6O$p!o7W$Cq?Fe1)UQP4Ld_KtoeU3ZncDQFdF6qxUgWKi^ zH>Cq^N(bDOK2+Q&dr;hXpW{ZlEpF(!qAl+p%yzP_>}1Y$CJ)vhwY+WFgXqc1qg)zq@Qo%Pwx(#N}fytZhsw2F3C zvWDK5_D_D5y;7`?FH1~^NzQe$FOf_+0$qGn2S*3|ZsS}-zqcf#Itxv(G3s5om#Te$ zt zHru##hM6q}zcKi`FPW09y52_{y``zo|AF(3E6W#N=R?@b&F;%P#-txx(^8ewoY%9% zCzZ}K-c>m!-bajg7B1A@dR%+!J>FN~uQk5ZXAgRVY(4PN4WeTlSA6<@?WbDqYlG+H z3ieay$Pe1zK{(BDn(CD8QfcwY&bif-y6ZSafW3+Q_zuL2SIKl

2p-sz1nUce#d95alGD41-DmAy+ucw9_hwHfQ-`blC*e!lD7>Y7e*IeZ zS;W7{D5LyDa*=X%(rRCDwu;9oCw?!%OBshwwhLW7B|qB}H?-Kk{A49nt*O2=7}X zS`Qy@cwf+pH+76g>!};lJ3D^X@vmRy@Vx_ku~RsFZiWZs=PZ0KfCrRjY|~+Qp83F> zvY32txWUQEB;s{{t~lN`cEYS}roW{&yK9?i^H0^LV4ex=hnP@xmhI`Cbj$i~yecg5E^I=oinMqTYe zjh3{f^;UAE4n3IX8}EM+^big`;BYJU?p59WcJDB1e_|E-9)CHUTN~?kz!_T>d)%32 zX7mmIqb&2s^I!J-S^Kf)cU(VCQ9lG*bOOJ+@S$IZzw}bleZ$G7&z$DRR{L-NUiK>C zn1S;W**G=!+J}3($aXK?L*MG0e6L?CPjzrQDHrM%%|7aA8Q1yC>#;Qg%i!wV0Qg$# zQ|-My4I6xPQry=OFDpjOR=wWw(RY!F^8)W8vnpC^G_Oh>o6^6dua?G-Lg(MoU$)WC zHpfF@Oz-Za&y26~8Sk~w?egrt)cDTlZOhQ_k?o7d#Fw`K>%!m6*HXp{df4h(QI49Zk)-n2|J%@CUN9Xpt{RinsNXwrg=qvYl zdns#!jn|{BnUC-%eF~l;k2S*VpCeu6zFFy9f0N^>TebE8L+hJpnafmQqCaUJ7)gnn zs{S3LILj-X{C@H);H!3d7XJJs7j2yl^k+Sf6zZZCQ#wC*d3A6)zo(u{{ak4cAK;+{Lu6LcPUGG}h}J1@39 zgX*a)y39X%{cq}pYDf5=!WpINkUp7nHvOtit6NTO&ZtaZGRNWos19~I7|S)r8`U~#owrPE z8R$1Xw>5vW&*xkanr=b{UfEQa{F7zB28Pv-WJ4X88TF&}am2^_3wq5+=a}iGCTr{0 zIT`R#*8F-Odn|Af-7{df+GoWtnPkj4@CbW0duII#wpr}x;*o`&{ITy{no6ERgKIU1 zw^DDb>yPa#NNcZ?(Pq4#%j2CbhDN;_lY}uz`V}XA-wCDB$<3wyi7o8adck3FY3ifI zfyq_^d!>V|cuz_nC)oUQ2Gy@v)<^4^Z-B{$Cj8)G`Pt$tSen`?{$=kK^wPkyidV$m z*6Ad`P#XW1P2X}ctcj`rfcc%d7+fvqm%oIUejnJs7B3yuhL`T2g_o3nsJukkL*k{1 z#g1(7QnE^W9OI=un;kFxoHeh0RK!cbj(MrT+~(QjPu7N?*6?1o{#JgfYmJAW9w8>K z;z*fHp`96HN|_gEOt&y*Tf`SVXFVytQ2H00XMM=0*<&0X&K0?5KbmcJJQT*?;okfnkT?q_gmsa z`8}|nrtM^Z(ufynvcJ$6llm5oNq6mkFebL-{RHv{L~fDdbWTQ~(5 z|Iz!+jdVu%40<^41`cbd>lbsXEgWL3oC;0b!P({El!3EAa3UG_IDHfyy2_3CaWm** z^?Pcsp}zRB;Y;7}A(gL;t>^MJ$y zHqO*pdlW}z@(kqNGSaL=Dfeo`=QY|0z6V-ci*3ig5r5A5SZ<7c`hGWNi|M0y^D1=d zWZeh$?*BdDuBENDZq05F_q1l(M{xIexT%LbARQf8|Ndj<+-1;7x`fs^(&~qF3Cbvz zGjWgI9uwKS?gi`@lxO+~{z`9V9EoWP%~@x@#GIinzWr0bq4B-Subn(YTXeJz{x0h8 z`>SNrVS=snKK4DDr=+p}U7p>Qj4o1Ly-U(Yxnt8txo^92W*1VqO1kO0+OsQtN4n_) zKApTSHF&zmEqO4ccJ3;T3eRKI2KlmoCG$_bqC>V)-kHsGJ+@xxF-gCOv%1vQZTf7w zANxM`-u-!hDa%>&fiYm$>91%h+7+>5Nlw{%;mf4-IWA-Pc-+eE_@p%Zc<%a;X;4zML`MR zk(ps;+|>!7qH=Y{o&)sx{+_i~)vn!D>F#*mKi<#h{i8m$*V=16>$$CGJ?mMQ&2y^X zDPQa1iig?rmwZfB`G3#29rC|g=(ahs@`wEQQ}q0;LbrW8MbCE>y6w9udj0|OW_*5Z zdGl|kxW0a5?c43yevtpD=<6JOljvLFbiSsKK0aQOtu0>vpw771p8cT@+H*@>J)`_1 z>a+Mvf9+)wd{g%RopUOEshxXD7h^YsQ(QcXIelU5Ynofu#z4lCW_nSo-}#i~+ol_x zUd;0N4{ME`@$fa^pf&il={BQf)@HxjOpT?}XtQ5)|4pB9ZT?oa4;ntNHW`-{hf$k5 zW|r1p?da@}xkE~2Dr)m`bo6qKvC(E6Jmc9%RhPWO_*cHhaOt)6SM9y4@0ahNSy+~~ zcm3^7j)qhI^A4xGg%j|!UXm;?jA_qU%={0Sj34@@PP;!Z=D(>CeAqeY&m#0#V}fiv za*s}SxF&o>SU3#`rt%YXo%I~%tZuI4pACO~&y_M&-o*)hPvtc)X6;AoEs=Z@|6D7- zOWy=4Jvc}DLzyb++B}PNYM#{}kHAl04*zldrV;p@d>6QCLouXt;qSQ)=by>m@~rk0 z2kZI;XAshPvV#Y8*|(jm-?cq^>kJmpqjSKY-$v|OuD|rzmbQrpL|8(!~T-;{DcQKmjFMi4)Y7_mBiAOBfSkH5t_6)<9HqxV-w~@zqw>4k% z=L|?kl&{4%NQZsK;Qm0^t1EmqxqiC-ywHx~AHIH%#zXGUv$XF+pAOB`w@Xa*NV1Mi$_gU)8OX1B@*Qb7~zRdHr zaHlJp3Kl% zwcAfXf7Thd>W-*(MvFbmE^Yyx7(1<9HjaCZXW)nMeKemp+~RExw^_oir!dSK>%xXM zwKg5vyd~AvD53p$XqL zGd{U9t(Eseo6`OaYl6KrKNEWke|JW#o5mkde9F=$;{o#X=y5tva-YiCR?Szu9hz@; zh_-bW)^O0d+wg5w=ApMg%lceOubQ3@o&VYO#i;V0A8vlJWm%26>YF-C`Yp<-t=IcI zo8RU8N}XqJUYzEc;r4dfl{ybZZ!>(%Hh5dH30ol>B;WMT;3p=>msRFK*;C(#KjYR| ztuIKIivA3@+CcvD?fYkP9~be5x^G{o_l^8do%{>PU$!OU+=_gHTb`i}-^W_QO^u+W4@}!QCXd@a3!G zGqUe`d&JyUdtrPGWbMR#JH*I`wIjugQNk*fWhb-+??X0|IjenS z?X0%F--)fwp2c2^pUS$2eRpmaaPW1jq>)!QzO3E3Yj)(=PRVeX_wzy;n8OKmtSn=3 zj4vcTsei}Z%^A59a4aW1h~^j!`4$7*&l~b&R|U(`b5mu|?U2_{COW|MN&Kuz|D_`% zU5q2lVXU14Y)rA|T$8e;R9W8BwyRgEmn~s)tv-1*xJCCq+`BHFHks1zemOh3F|@7w z_;}tK)$8tzQgu(jrpD2A=xW>GhJB+Oi*3w5__sQVYeVrFOOIIl#EMMD_OJQ2z4N@% zo!J_9#Cw&KJp4Lif1Dg%F0cne`@%FYl`cgIGQPCL*@f!+C5wpIg26j>4*AH~$zo?z zAnn>6)3=w@Z=%uxwYs&ty8kq9^Y4+vDDz0u)#S*DZ4!$JZHD=8p1mrRhfhb9^WZ3a z>>W4|+q}4sIg#Ppx-N1*zE;=p5&fFK!M|+XuEP)BT;;nO;*-5g@gW@x*zRO+^h?Gy zS->CC+^1&eIU4w=`USIfofZR=PKkG#8#9L9E4u7G_l=0ZPM(EsCRJ#ud~}fN^;ihVxYz zH*)2VJb=Ahg8kGU1=%LeU3hN$XXUddCO?dERO6%Y8<9QWnX(U5c`yG(JXP6mKQxg( zG_{#Wy&j7 zpz=Rp-zR14nYz8y)mTrzcq*#o%5Q-0lJi{f6`cJ8-lb0awuRwToMru?Mz3UoZ!6zH zvZw;z%27x6IHv1-pR(8}Vhju9mp&C0^5x@vo6mCpbq;y_n6%_=^_u9Td^3C#2RDsZ zMh=%C2f_O{;0Amo+w+>}s&x9HP>wdCV=TA0wEpLryaIVY$>w>zX{8VAz++@-Y5n)7 zS??6;6>0Bl)T`u6>-$>qWe+?!8W^hk`DwO&81+iD{V}!8{{>CjR{n=Fa7W1N%j6~G zU6sj;meBt*c{%dllgTTPcS$C%NZv)6ydd9JGWhK;-~;vEoT)cL-kUOclfilzSP}Yi z+BEC^gn9{jK)}}Nqt~;^+WWrhf#>o}z36b(9W!~8!TNi_IplR0oEcJ5K<9qhg z!u=!Ei>UWJcU~KAQ>6KSP_IC}KTNaUWz;KCk2%M*+Pi>yMe02`&3flhuYyePnr6M% z3QuJEooUuvMZFwy|9jQr|Eir$Y$f@XX~JDBI-vjK)2z3UdLz{P;56&aq+Ss`|CV}1 z?9-Xe=$OQ={*iHAb>E@3`S0Ef7`uU?y5|5R$N!Og0plTHsP5Wn^5AZ@EgBh5H~G0x z0-WQf3Fn)@v9WX{U%u^rd&wJX7wEyX8!Z}#&Q}4snE20N)-3y-W0}R!@0vIFw zzkV-Z{0ZMpbuR)&h5wWH0>sfHjrt-{BUzy22Nae|2k;$J=eu?~}GWq+FUm<@tevW*dUrO`g59AlfpOMM`HTfmz9Vfn#E4=VGbs zLm6DGeevxbgKvKKi#Pp?U__<$|D1xMctDl7nPPRsj?PY4Q!^MAn`?-v4W;6`L+QA# zVoib*ts=fcTy;C^I0mCqiy=2HA0NtHbHaD0#iHHwBz5wX&qoK8^Ry?MKb3a!&>XMw zbWH+3?tm8_Cup*JiSy8Bd5Pm|5BpZyIk#HyHZ%s8WNArz*lXp4+wE<{pop33o~K#u zJTI|Wso7oeOY!VviQ`$~Vy{DyZzCq=7uu}R>EGENM(PRnn*SPK6v`P);=k9D_clIY ztTi*m1$D<>#Jxb0O%d5>FOJp8%~70Z_=fx3`M?74{4`AgZmoSEcbA^TS9NVb?z7{o z;sxACwv5%hd5Q&pBH#mT@z3;ubuxn$IsRP-FOEy;U@QK;)$=dl5$FpzS{fe4q0P!9 z`ZkGdMQ866+k6FWDn6*aSJqeApZN*tJ6re8|Jd)z`JR1`+OG#q-jBdj zy3s%?j{-**rI^4mC_y%lY1~Im^=qh`%va#nD0d@E;|u*n^g!dV_V?ZI$_{Jo{XU*;oZ#G0 zy6!US-tEg74ByW4@5C3=_&f!g5_o;MczjyP$=Ab>U!;AW_yy)0wbKrIx-8%-Jj1i$ zhTc@6D~-qBI@~rh_PG2>@X6YXEd0Fox%+)~v3QHU)PCV~o8OD08?|4vkbXBwySTl*Z%7*M(YBJhmS*@j2*$X1u@*4D`IMeLm9_twHjdljzc}4l-9j2R;*5z#X zaK00N2RjJe{mxfypxfv9_jP$RrPceFR!6#}eg>~>t=8c0MSW~WdAcwP>O;&S&~=?1 z8+QJR+e6H~$`2SWVV^~p`K?x7{AAzB*qP{4f{#PGTXr>v&W1GWo6C^R&h#D(>7VIz zPt>hV2I(yh|t>@Dr{H{Uc4M@DcAduL(5C28f?J_npoY?df!uu7-Eiw>0vi z4Pa?+VB`5)&6g7PRaiOXrFLoK>5}t3Cbiuvn}=t|FsCyZ(C){$mUYv6)CS>Ev29}e z#VNM$b@oB+*Z6~ANmlUD+1jvAx_(BvJ>Z$5b=qyQCz5{nM8WMdG&%#{D#R=TFC}Yx zE;_zu_x2TB45y~oP5Tyj?g@_7Nqnq^{VG#w+v=p|Rg=}Jx;>y{`@mZ(i_YWMtw*QK zW{BTGuO@>fKKYo`^u~0~lpAblRez~J*ZY1ge-fV6_!%|AGTbtKMzlFw*m(9P>MT9@ zABtn7_9XSu{~71-?N*dG*gJfwMT{HxHHr2-Yo6%mZ;$gHdv9lD=)<K#$~)YA#pc`8F3_kT@CKhHhzzF z9qarI@iOwh*A;JPZuHk~EYRFGM?VPTreu>lJQ}_X{7tqi3W`D4{`Nh|DboFX)aA}Q z`3=S|+UyR`5q?fc%ePg&_NM9I_;94hmpRD)Eq+Ls_h;;yD66_HRr}&ifiu-#3$`Jp zYyV%ig*AP0^ZPyOeJCp(G5!}_e~UF|kdH!oDz+)u*{`#g)9UTP&c1NvHj8&=tHjPLARNnAjEI+RVzGvKH`WA;CHZ26&7e`sgSv%U-*=52#9Hbdtv zj>nD|yb`e+_30F!#Isew$K<`*K%Z(nQo0A<_}AEuC{a1a( zwux!G`EDost>KU80jF+wV`oSF9B{(BB65h3-!k|YF-{XVZZ=N$N6~TRcWNA^J;vp; z;mI!7>^YW8qpH)Zqg6JPRt^YUc z9tQqfjSU}i38yZ4K(iM~mHG;&;-Gom*trmFbA z;-sQ8FS+qN3O)s%^Y9s6=+-$_#-DjQ7i;lS+CuLv{+}#ju8fV7?=9KDi|#6Uf}ykQ zk`?*gRqzp=A7VVwoI7FeOxX~V?vF~x^BqR;CExfZ-trvo3k&m5>GFs_v!y;Y3f}a$ z{+M%z>QDc20c*wZ`#Jtgb}sZ-^_yY&Z>D>Z>l?LnuAVNKopx)ydT(iBH|hgQ+c*7~ zM+dm@Y#9F7*dER#h421_wyHYwgnr0}Y+8o)o0YNp1;fp74{eA1W^LQMimk1N#?2lUA2F6fzmM=O|Ss=bz!L_z=dOL)Ev`pDT`slBdRwkXN$}MfX081>$Fz zvu!~CCo2!!vDaYBLpjw~Tcs(srLx;~em{llLFigY3;s9IOY8+_$Q#FnVE-?B+l$bs+yhf^8h*%!u-gnLDJZ+gSM38sJT zOSuCpzV(H*QTf>oZMTkJyU+0W<@*dLySTggk&dzCkyFQ#hxy+{Oza{4A0mB!$5`}I z#)f-4#>Tf%{`>n37c6FCXAj(SrBidc`O@VM*@K5ql`SkAtZiou$0tV%l*jukl6!gg zr!5ch{(&m(sn1t=*Q0pb{@ky`v+yAQ-uU_6PuMrK6r;PLW2{Qur24@JRrYt6$L9oC z!cFg@QTNW)i+EPP(X`dqWi26k?td_>VpoL2p;38XS*Q<#{iD1zLcUTtoUAXyjRP$PJY~8$G}F6Vll#;^YQ&>ITY0?Z;K{>rG$K5!q4VWXEj>w}Gd}Z7nCflkS9P zE64cEUYc{HqanX~ExJUxm!M-IFO+$ zv`+bp)mOf+x_+L^Gh^Y|34P4U(chB$kx>pEKrTkhh}HtI7v#eWmzU~)dCts9CSlGc zeBxYNIYBmd#4|mrZ)bjJ=7h6%*Fygt~?LD>fXNK|*Pp$mEq5Qp5D?dAw-!`@K>q7Z& zPNn=+(IKJySEf>azmbDO`Oh^eFCJFmIsV#Mp69mxwjazlT@T@#t~It2f z`#`#0Wn#TYsdsLZdY7i_6=qFn?_uhl(WKs{hI)R@PP*)A`3dz_XX@!Y>8@W-Z08>- zzam>6`B?d!!4LMq`0x$NFUgb_|5m5*Do*6XE!2An^$c#s&P-bWtFRAJwrK#nWp*vM zy!_OiFW&TT*|M~uF|Sr`WO?~9$~}}VhdeI3dYAU}X6t;&(;M)F2UeZ-=XU-Hck-Kn=Q z`R1u(_bYude7o4$LBXxC|H#q{@q0)ULvU%@7k`Y8m1D|>&}JuXT3O=zEz6c(QJzcL z7obIDW9f?dN^~>3l!kYTp#!Jw7w$iztZa|4nEL^!y!r&O<%;;QC9^*^q%*(ZU~oKh+P>UD*&TpYBuShkp2tyJ+{9zKqxP zhCVeE4{rr-phLDT^s!(YwCCru;`2uMywS@C`5Rx@e^G=lq0S6seWvt@a=V(~8p_pd zMhe#t3D;mVJg&?w_DJ6qQ=l)j`S0NQ#z5=HOta(RUEu!_@c*<)${b3WSBEl*)6XoN z1(bQ^BxUxc%+aAtWtN>OFgOM0Cy7S^Zp3^cwRes?KhCGG`f}wnE*@Y2yb0caLKg7i-!Lf4=fR~U>1-61$Uh@OvXXaU+(2}cUrc$FDr51iTXq7N6|U6(Zy!vISW)P|2|*7a5u4#6iwm&gCh;Jwo&(R$Hu1C-vl?T?RJdEOw=$t=H1I9OjF(*Y+9$3<+fV0{?9@sNe zWqO;GIf^nba6e0^x2Z{)9A%!PjPb1KY}yCl>658?=;ws?=Tq;oOub8~S54I$Xi~3( zdjFIvv%N`~|INPm`%`7AP0Bn&nIEOf#PLKNe?ysnOqIzuDU(pncFCn zlTX5!XZKJ_$0ivAdcj*`z*p|^ecqQp0zTaYyr8Ge#@VkjMi*yBHM?>Ub#%8p zZNJ7oye#D}r|s4+7=tu7`tPBBYTOxQoJiIZW8S!rvsch(_6pbu@RHj)#^%Y_zU|bp z=Sa(EOxD)NB-zVn|H_Rueau&-_X)6A6S6vwco?cLpK-hHBHHL;Z`*?%_H8aunuzS>B07%g-ouB zHvd|4h93Ou6h5+fYv7T}$i`LmEr((o=Zh?E%K4&wY%ke3?W^u3;F@md-Cj0!m-RX) z`vDi*VEyo<@=VI>ZY9M}AK*XD*DmNwr=t{2XG7E7neys$#*@=LPu8~PNpB0DJgV_! zH9R>j#go-7ctV*5o{)~T=1TjD1&`ByLfs=XJXxCN$=W(k==0c^lgitF_~K2vTS+|m zh@)|5m<3LH%8&PW`d1tM^|DD@`2zeG=|o(oe`l1^i7$)(mC)YAxy(eVo{asu6>NZF3-IVoxpoWL~z&l0n3DCO|JovV@(R)G*dMQ(* z_jk}s+UTWyqnGv*>V7pt?`>&%Psq?)Sy_G!<++5^c}>saW6eI+()sA1<74*Z>5M`{U39?jPpp-lQ1{&n=c{h0_a@r^aSfmD z@_+o}-r)1ny~pSM2Q}bx9QfQ4@F~8k{NP^U^Rhn!pFqk1vXb7d6r03HqO{ z`~HLRF`{98Q_cEO@s#raR=mdd&k8v4J)jy+pC^4l;92zQ@+o`8vxR>K&lWWB?ESR= zTkdxW_)eW?==EOn482bCEb1xWp5oaCaQbwLXJ?V#zE?P+>wAqOx}L^yq^JCMDIAx9 z)1@gKUoM>Y3diWrz_F`_qxr?9sQi``jxjjBHihF0yt}jsj(u()XWdR`bv&Yv!i)4c z6lcr4|7C{DswRDCQuyzuA5RfJV|1gg;>S!1e=7J#hZ&9P$HvPjF7K1#rS$XJ6z>K} zADT+rIQ)Z-%_YX`uKPM{&0v3ErFphVWAfYetOifbxr2ceZ+Lgzl-&@nk}HtXKwNS zT{Nq#_o^4(zZ3i(ap(W>yUai7mhV^0=u;c8jRs(dt`P6Nlk;2Y{Aa=0(!c^vcQ1V6 z+*|iJ-w7GNm*4&TmhLmm*#pND50A1>7uib^V8!xvmR>&`9b1pzM8q;xF6Y)Lc18gg z&eie#n+I(zbLknw|1t#q8#{-Sji(Qbmak=K(fm8KBU%<(TW1VEe23>P_3#_d-p$&@ zF4hr8+ZTpAZ`somm$ws_PiV({OK8z^*U{1Dk21dvaMi|s#03~n#t!B`M|SWzFS}kd7=zN0vJs@v+iI`Sb3tkcrClOMj$09@Zbg`#;@W z$9UHam-E0ST_>-*U(SM;XE|QpyCyp4V_ygE684Xgmn@+@%81W--Wi?HVe&icy5Z>4 z6XjP(`J=7Mm1$#7u&T5hYY%aXzVATaks17-*7=wo@b7W>uRA4!W6uG<%(G3=qdojQxqS@M!ar;ZI#MmpQeyFi2K;!5^|UsWd{FKh5u6UU+VC`_(;RC4tMDkacolV`&k?_WwJV3{oac=ZE$iP zQjDW!pU|hYZR(Y+nS*VbQy;$qFQgmBGcRM+)BF|N_*4{ilykHZYUjDD8yuo5@$~)WJ{e^Eh80j_)SIXNs$$u4^ zBsVJq57MxI!=8(P`=`KNzK47O^$q=N@2~z9f6#w&Ib#~@5%jlvwZBa93hiUGeD>d3 z{=+{1VPe19i!8qR{f>IBZgaT7Kkg|w!tYTmu8Q8rw_)dW4l7?{d36qY628v>%qSYU zg7#)7v(c^DPPdjbHrg|LIq${N&EM{jR}m-gBQ9FV#B z5`Ex$f!d^>w~avawP!eZNk_TJxA{VO^lQG_lFW;;-|Sx%4XySBN4i5rdq)+YOzlTq zC;5=Cy|%wg%g67vReUEO@>}e&-4EDd4>@vtBFCL(;IcE${dP+&5``NBiL)N$rQ{`LT29 z2V2h=es;r}TVJ@cm+!|eZMdhRc25aBVxzO&|Do?*{GMm6$vK^wTfQCtIYRFxKgU}? zR&p;xdL35xwNs9BA>r&t{rmJf`!UMh42j)gvgh_b?%T_YUpi|>ywlD$^L&E(Hs^#j z#v9IhW)0uU|I6~1=vj{6-1Cz<8G1uL0Ufv2-kPd^lB3FpQA88Yt4 z&{?p^&Og=f6TFx98}hPzEX^yw#p6}T;FYcyY5zGi=;84GNY_Cf zn+wW2)cqf&yrVldC(7gB>K#rRo7;7y`-is+yH51=_`g^0RuLPZ&P#bGJ+^fV{*^B9 zuNY*J|CjJz;$Qu_!oT!vgnx^(^RL(fXH3`6=0C^3>{x++#TJVE`?2+@C^x_S@ONF` zs`r^Y?3{8q?=;T&#PLhfH}pW?+CJXJ9EPG1=dUmxtv^tDupC>w93J9>amUrz_$|!G zzk+|wx6X7or}RkAU;7J_h5J?)>27QU=jfm2T<1ACV9D-9{OkTX`*xAeD^efXbSJy*>Inr1d z(%)jgh+v2GRk7RS8Pa?!rzDtL3O1Kde}DY9;gr0!YyQP~W>WsGfIX1BWBiXv%V0CaBgX!V8Q`B^Z{c^9` z{;NsaMxXXb_ujVKGfBI>Q{Z`Mo4&M}yTMIAyWSFQex05<1I+p7&3#^P<6JaPHbC;> z`E2!#m^LJvQImU{mwTJZU9yRhjmiuDM?DqHqAV0UJ?ae|;BrBR_AVK1Jvg=iN=8cs^U>c{5%4nzMJ{xuEn#-GxG z<;#F8zkdSlSMgo&Ks)W3uNCSQ7L_j$-K5)iH<^vvlYaM3QODMR5Os9$ml^=ly!F%D#d+Z*P@oQ4w z_T_tnReYpTe|H0(mhGQ88r>vD%DlXbyAoXgotb-SIedFpu-l6-E9<{)gt?RM&gFZx zyXn8sIREe9W90zl#odv7r&)1#G4vF_{e=}3KGb|#N={na@xuL#d< z4t-7dPH^geGv>B7f62M;uNUYamgf8Gl66JnwdObed+f5+QQ^}M=Az0o3HN)H=5yx& z`kU4rTSK6ZzN21c91@u zuFsR|_e!YDL(h4hSK7<@(?9lL-&b#cCjYaaJyYF3c?LO~eE9Fr7v^NX)BMuL?=-*h zF#Aq(L|;AYW6*%l(5%f8cL;q4y74sz4abuE_Orgz4c&IfV3{+*V%#(c;3`? z>8^%*sluE&O%G@EeBY!W;fG7N>+;O>;cZcQF>((wy<7M1aK9|~5N(!U6y#~&A*T<@ zhR#efc#qWa?%PjzcMhI40q+n~s_U@gV`^J4W4`$+`F)c1Ej{AWzaX9NQ#OYH4^9gY zzZZQ$XH&7aI_w(Uh`2Ctw*lOAn>$g}Z#<9rOCq{M!9J zJ5pn{*O?kVBfvpd&IeBNwz%Bp^?a4|ob+gr1!XRvOs!tx>b+j|*1ECRWJbC3(&eJX z27j%}Eom(GhIF}{E7z@Zze?!<@J=N!E%)SCg>KqfCj9sxe%!5h?VMRyEd5eX|5jRbl`OiOYEwQ8 zd`YaF!z1VR_4G$MzjuiDGqfI0yfENlydvM^z+6LPV@a@hMt^iqn_Fj0ph0^TLLbO2 zZHagOP{+$L#$V0Rqc<`Kr48LnqdN*TekSneKEH+qF8!%_z|hP}1MH!8*H?$y7>DDR zIi8FP_Qh_z+60}E_IX!kF#mCRMK>N8T%%EVu#d^xgQ1xtOKW>A=+g~t^jRC7gFm5- zh0q`HYXv7YXK8@5-NX4VaAb2=04s~R~9!l>(+bW3?9jkUY* zi+4pfrwRT38SWkv9dU)bbI|?coUYaBf4tD``@zsm?zxvOJRJW!OM5=&WcOk57dU?b z9B_BO^$zD-hp|L{OKluk%Niwje}T_fI{$?$C;B5Jn#+j>(XF^OblEdLzNMe=Y5aRj zKk3u^`Si1-q5tNT-TMdKJ(%IiKPr#$6P@nXf227CZRTkcU(@Aj4xv2wTg#)J>Moad zv^zg$eC@=sa$IqE>c3h0|B35=TQVcg{@;{l?rSnB9aYvm^S!Td{z1e&rO89J*!)mD z;@-dNEPO$1Y*jk3(&@3q67~Fi`{qkBI{i2>1%GC=O!A!X=X^u$B^%pZf8jgB@^KFI zI;eGn>%p->r-5J7jp8!v*EQWp!Rqs{+JRN2POy8nm#8B$U-v!0Hku2|jpo;Qn$!K! z+rFWhrR6Q#>gAhvn(zNwezv#e#Av(U9N-s^Hu%Q`_>4@7K z+pt07Tj^-yoA(JC`Np^Y#J78BKftZw9UarMUf$}>8vI_fdfcxeIW=pq*Vp@MvwF!Z zTGrd->wSTG($#mqp^mTYRZT}KD-1?69jSU+Kk8u2x3wj7_#5njmQG8bH7@l2hWHQP z7qWRae%(mB?oZ74=;~*FUfm}>CLI^AUmt&jexi4N4!-e?!1iUerkXU)vv)>`lh<_T z*|M22d=TtWzKP)a??iuI?~jqq)V-R%t*Op!gZ-Om>l%5HQ+z{fa+(7?f4c6^o1bXS zPiZ~h#`7&v`GR1_z^MezuKyfszW+9T*TLq8frjt9^~Y3PZ5O=Ty#-kG6YUeT`X%bK zclB)96#RqjitRdk`|&Ww7lq%FxZB2f&4qZDEzCXN`;g?J_0tBJ6$kTV4^#3jc^LAM zc5f+k@1p)FcvKIeuVJ6Q_t6(`nkzWGOO`tL%Kx_f)U?k}UT>g%gmy@a7fyb6`*~yw z+L^Em@Bu2+aL=s-+!jROTJp~-3`nv|Gxn{3_u8KEcua}vR1Fwz*pY`CAQ~&m5qbQnhWzZ$N zQ;>MD_!JXE6b#y6c?aDiK1{5*?lS@J%m3T=HLq{GNn5+x3kL4V`F;%>+yqnmHpJ_K z_Hpn|&){b3NLgH8z;CMQAa@B#*4KyjiY|Q*X`@-NPb>_->-E^gCUpN+etzJK=auy- zV5aAJMfGvjhbM-c>~9lzntPcHHn=sVYyOB`KiAQtaoX0LGQ9su6MEhh=&3k*ZWRAK zEh{}OFI?%q5B0*8P5N$1M;dhEEGPdU_d(hYb_Tl4CQXnpdX??p#{~SmeBYhIZ%*KK zkadQa70BVY!8Yx=4`@wNI$-iT+|ADhq(|^8YqNKQo8;Gv zJRhZ>?53Sv$USXWm(Ul~Pc%PifKhQa`k^Vn_?(9!`%j;;_09$y@kRUQU=wM-p}z(? zG#B@MBTK_Kefve}WST~g-)-SNd{*0U^K{5ZQ-AHcF?Q#7)z@hw^m*Z02>lhoC zk%QBA;xJ@oeRnSX82fP|ZKeH~O|%)&=4;g^zD+M*v13m1~y%m`0eB%ps+vjp$Dsa>KsycRNMzLx3vi+L2gl~LR=LTz! zc}i%{(wd|2zLv)`Yr;mGt$)*w4j({f9J+I44q|4G_*(3D5uEP`K5Ax@* zBDHnsl0U2C=Xd=x3&*GDO8xDL&8Pb<{`8k6o0qP^caja!z43mW?~fDu9sIgMw5bhz zkPCv$$^T3$pM8Mc$v8HLa>hqro_#0fhWLcmLdRV!qKMrKK3AB7B(oSlD(#A8_s6*t z&F5cC42(F^aQ@iB9r3Zz9V$~DAK#gO>X>r;gU&IZek#w}bv%+v&t-qA5GAssZr-K#cn)xE>|^X7pqykH6;48@qA|@yEX_SAN>^8xYHhQB zWotq@o?Bwgn)5B-I{HQCV%J3F#~5E8rS09^Ps5qYWuxe!`832iV7&#)iGjStYJ z_+uCIO`}2IX%~&uw>}PiAud(@6aCH8Uen1P9ko0CHI`J_^Eyg@WG*naduufI=nc`> zW1k>~d{abBp>#@hdFhnV6{S;lolrVu_sY^KkFGAA@>oyll*iYWPSLnT971F7P&8z* z0NckT+xu1aYPz=BhwbCN+_!DELbfc@dINSt&--~BB7dqBp7CoU{Pqo!mCA7rr4Z`y zP2my7kk|39l(h>ZCpE@llEbavwIwH&2j)4ua5Cdo)4IvZmUXxLy2nuWlxFQlt6J8r z`nrcvS9`4|;GAn+H=gfsmM;u{Cf4O%lZJRzir&1h8&Owd_=I+gt?Tysx=+83cG0y^ z*W&BgZpM<~$Cq0iqkm?pHJmeGn;3PXb%INBt{j-Oe`@71lX^$oCrTNJ<=ae%f*hut%Z*0)?!C5|M9Jqw|&!9>0o=u;9c_1OxNdOo8A82 z{h^synDbRROOTgtDeYs}(zibPaHvOmSnp%SprzLu<0w<*Y>0SZF*Rs#F}2i~#T-d{ z0Cr(Rb}y>qZ?Qeb4B3R4BdfHQ5!N<`+H*(L^m5ZnB;(G(Pr)PEr$s4Q8NYiIequ1lJ z1egu-EVSlRpQmFnaGl=xwTbpNY;XImFYM6wR61_`Beqxlp?YC791oS(Z<<|sPjaD~ zE5X0B)BEzZ-(xrLq)Y9^?(zk!h4MTU7mq0C(5nwKpR#w+tIAhr-d)4H@h#Z;Ey#ZS zi|dW9G`!NQ%8Osx2=8wLyxi*Yn#{XPHFpC}zz_3N?fu2`|z_1}3{Y-g5#%X~e^ zOLrG6J3~HTVfZS>(Ldr-znnDp4`_^3{~r6NtKu6qRzFMM{Ud!?ct_DG_Kj!pH>w;_ zX1+33v2|YJWW1lnSfc-#rIQrL3POL!K{x68iyd6dnad9JQ34d->%=>41i z#9R^^>*{ZEb=IG&I?N#!a_;w8_d>@e)-ba*Wj2L4rdhjt~+>dfk#BT2WRo!;(1zLQV*S7?o!Iyubefbmd z+`<*3(2+n#I2TuNc5gU3IUo@tnhkMF5m z6t(T^+g_%&9lp^O`u`30Jk-tzt_|xh^?g89#s&Pk;XG%TG@rPJxK6YELZMvj%Uv-^ zxhlL9yh|r3*X!ZEqg6TlYUW7mdp$hcPoy;v?n8^BE{j#dGg~WqWPkU)<7W7`rC^*% zTh9K4vy63qs4b1t!o9GEa)KAios=mz-X1?-`_;gGv?uD`wc7jrvLCM3+qHqTdVMbd6>n`xEu3| zq(!-2XseZ5IE8X8;0&bNBNl%Jv6c-+LyPk1cA4)_t9(t4)8t{WA^$%wz06lTKR2iN zQVTh44{~kszAwC|uh=?^`X9b#q_`7(FU+m?-_4v981!8?_U&L#il5ixL%TV^*XhSv zcb!B1cOSYTt2KPKIr=V+p)n> zbf)#wqRpx88yFS(boDm+`qvBHs%PuIf={eRZ7SdB0ymwVHoCw=&vsr-aX#vglmiz}Q%&`Z$;_jPSgS&)z;mXEnY}@(x7>pxYd#Et? zs4x$qKM-&3+5kSYW6kr44Tu+&wf;Td;vi12%*rYzUvNHauD@il_6l>WN)P#mMh|fQ z>FF~V2SYl3{?vy`AOGNkxikLZnbP4ud8Y93-OuE%8u^_3lpOIewK1@kaaiXk_06{^ zzBl^aRrY;3cv_CAuk`raa`);CYdWvO+^$01=+{?1l+JHj7XNoH=j~Mf=8c810e%~G z4?}#+HFOy>_soD=M@tdp$tglBwtt4Z&Wkoa}Y0a=qSOTRH6Jq~%()7wom*r0w;j z@Kio!uO}_vqW#$04Qn4AzL|33#hn+%HwGDLPh#Ty`kjgk$ge-~wa%~q&}q)EKbExo z`T%G2iblV_pnFY5ULE}U{;0@aN&NcK3Ve`uz9qk{^;D_z)E!KEbV8Dwo0d>iw@avGiiK-b@c>PwO8^r)m94Gg>P>6KE|QJ3U%^t^C5l%RH?*A5+;#9|V8t zY6Uv=T-n(GTTQ72Be2mAC#!{Q;f> z%pJsD3OQPe2Bl~o^llNjTcm~h2EpL|3Q##B|XOn03 zoDJ%euPB)3Mq{>Dw8#35^?BtnE}{#H_uBo|>pReU#X6Ih*gUqT1Ml}b@Kf|$^Vs)! z9SHSb-b@F$(^F$tkvUhyUSR2a@s(51fswktZ?f_W2cJauBIcazbzGR7i)=T5GrwS~ z6$chB()lX#O}vg&=?AQ%y8R*O`h9=RE$8x2$?w6=XZ!W5J)QlY&R1pV{N4K-`?b+F z;>PGSow<{yM`zy3FC6@~r*nhoOv$mx-oOY?&nYSaSE>=w`b^bfpkXC=({s(*_$~MG2cDR^F!=7W-RxEysu4+G0 zvWPyRd0Q8-x_G|K`KJ;7i|w7>Uo_v|FG!VVu2jokP}x4s=Mi z;gX;`!h`x<8QrmdQfRN+2KL#@Hsns;v+hXe+M%ESof-@CR(|2&uhCiA1{QjVEv@Oc zac$O`Zuwow>^0qr2PSjYbc?6Sf;HXMMf}{oitK5gvFx$-j%APXtsAX>SsM}ej{#fH z;&%z!*Te4-@sYS-q<_T(J$;G+uA$7g#UIv_Jb#9QuW*#-&y}7(M`ZZ(@a2s*Mf649 zb_$2c^QZ9Y8h>_rUtwq3S1{aD{OPsw3kNHnKWD(7@f*Ed7_(uIcpN%#z zboSxB^xgMb-(yZ!TA#~}9ISST{S5E^73UPCuZ0=q(O%zHbfop&ZM0S8{fMm{&a->( z8q%Co8hLk^KF-wfS5RyF1Km9H5-` zC`+G{MPKB5$k>}n%Kt^W{P!up&HTspvh#wI!-q(|-7L zWFaf*wQ%kMwv~%!l`qJYn@zbAa6l&0!C9lI)s8i?VIN-<5e+RNH=?0X!OG zx7Ic|Z1HviI`k|%@io~{Pmjr^=rL6UT8gTUf{z))8NBF&2jjdY!x`jm#NwA zk$uZopVcUXi;;nq!?&rGE6gt6oGG`-=>cnCYv_|}>64nD=}twz4z{DYe^zB~W@D!M zt$c8epZ#vEsc3%X)5+J}zQbY(Uhr)BuPcoGtL{A4`~;sB-FsT=$$I_+`O*tweZxxs zJ88Wy5(h2$dk1XI_ck|{%&g3=okui%tQ=MIh2jmg$r}EbPvuT~WDvD|WWB)^Zs+hL zHYL5^1iqSE+FF5sCm))2!6}UsT8TMff_%%k}Bfe&ws*k0iuZk1e&OJ2;eCXi zc{B0E8ourX4_IK01!7Uz89!krTPCQodjpa0t|OQ7m|-|V=Hlh3tG_dYEMJIr{Pr@8h-b_W;!%?0u9k$ zPLGDz$}|7>H2lQVAe}#9qvLnt=3O;?U*K_lhsSkJ2G{M)a4pT7fNN=*xb}HmKkRY+ zg2(lAot09*_GkN&U^_?~-;v2iY;etH{Qc=KbmoeO738C<9_e`Qe>*I9Q1P%Ry5g`< zXFYXlHp9a%rC^)Ad-e6}3sL1gq0VbGCV0Ko_r~R4RcJ^5*HKq}EKBf!E!w{U+bm$MOUhTj&3L#o&Mhk!fZZ!TrRu{IgJbK+ zzCFQ<@#C!AT=)JxI+LXL$SK(1c1hyD#_Koe&0t0eb9aay`MiLx^WSDAwHPA$lJ-7rF5U< zNBTa}(OuWC|6-5biBc=~BcJ~n^3(N4eEuiMSN*nMoX$RP*IxRrp|GDG8)qC$zN1lW%+a0bOZb11YZSN?`-GJ$Hnii%d_#|3NnIgtsN^+Q}K7 zzm5Dfj)#Jy*>URH9n35IoCLg?f0+F~hP$V&-P}RtHJ8-eh356|^0c?)ujsmK5B%g_ z!JGe^hZ!w5e!j`WwDAf)1o^~4KEM-ye*a0QH^$d%_P|%xWdG~cUdMjWsAHm`j(civ z?}CU}GwVa_-;(U)%VQ&-mVc)@8l$9JAzsZof5Z2j6u*w&XK`xQeCBRYEI=|0^^bD( z?VZhkt-OzM(N=XwRQ|T7Pi>E~hfH}3kQa7hXDxogo_O7h`Y7)@(09K1r1;v-w&bN{ z>zC~_1|Nc-s;l*S>mRJ`V_yd~?umv&=pWElyH`=ZtK*A{pT984`B3(BbdS&CH=Exa z;vc{a=Z~Zsx{9|8A6hg?j%ldQVHA>S-_Y*hw(((;OTDS$7$N^epR)1Vqy4iq!Y9mDOLwARpHd-&RejiWBY)Y zXnzNJ*|Ve-)+h!JiN%uQb4i)GM`roT}4)?JE@{fT}A${{k*3Ze?N}m2zuR+%625pU1GW^gP zDZywzQTRAs4}h0o2rsQux5H!BT8&S_Ye4vcH?o~QK)&>P2R1@*BzNI2xeriAc5VQ= zK6MH(NNbI@e*SCN;=3(*nSrN$A%Y=!MejRoL*-ofeeN{)O&n0=)BOG&_R)AqyZ}9U zS~kCO2>Ow>`Nf0Fi?8xFs_1Og(R^QmJ~IDM?O~Bjn1{ElpF5;{bEf{GzCLGQT>Y@8 zXDK$9eGf%!{g-$)yPF(RUh{!^`#E%FKk8e%b^j6H=g{&6nR0EZa_mDImTcHlv_a>M zZU*lGXq8@UXH7ocPaczAP*!`NDwi@RSNc-+CBDCFgXHREJe&D)Siiv+d0Dw_OC8T5 zc#b~f@r1tvD+*(!8|(ZY0G{aw`Tyqg+bO3te)ahQv+r(ZpNsI2t)h?Lt3H?=k91e{0R60kyMJrr zQQ@$%>Kuzceu;Oc*QLYCqu12=Qh+aiA${TfZfL%R@;CF-I3*q3OuRd-qdJdecGT-Z zmR9NJm!Q-6E?wn2KiJsTYT9!BtE;^D?;78oC_HF$Mko97fWiK~GV8*F%tZ#%{icHN zmgRHUk0xHm#8PQvsGajQcV^l+gf?bFgW(Y6%4HFtT!B%Qano2p1VU(-cQpS$YFrGH#A-fxuCmK%PL;px}<(sefw2wIZ z`irMs|M+3(AB8>CujI>%KipXVE?@t4)o)?*KIrGY;XdhGd|9)37qb8GZPD;azWp}v zue=TZG47~84nVKQIOZgbk!^!#e!|h&-lE*Vh0fNw^6i5IDld4lFSH{bwL#;a+Bhz> z(V|?ojq9>)fP=LMZ4EX<_KbJZ*IV4#(FXrg{W;Z_huVsZ%P}zr`3onzeqwy7^;!85 z-rx8j^U8FeJrjOnFKXvTyYOEpz%P0D=+EK44>b4{jEfpKV*1GQ_!ZmmNoa#TYS0(X z_Ts0T-icT2^-$bB=%Lb9Hpr58h{9M-^ZF*XZrUe%|EXA;$9E_?(Y+VSlAN z5$7p%E^I__+6KRey%68?wB72Sk_!4iU-C%TPh9=MDb)Wj;*J_8uvPQJIpf;?9{l4f z{_!aO@vcd5y=fbL>;9EKM7pxugE;s9o776z6W2Q z));DbJz7#8z0qvXP@Fs3=C5CV%B`RL{#DE`d>zHVwh&J?cs;<=z1sXUCQpR-$wqi( z5AUA^&(~SyW78F4Pet3$;P%J9d$o%_{Se$0d%B2pI`(w%r4wRLoRR0=TH-*WC(_-0 z#GVSDDuuO}ejj`4&%~Y>(~ef`sb8_DUMs(Fa2NeiIMS~z#zt({{cEk!=q}BV-xt|^ zgw119_4rIO$MIX|c%-A^dk((qS$x}mu4r-3clzh|OBe84!kj+Dj*?lFt8l;heII+U z_vc@Irtf3-J(CajoAZu47@o?%kvkI7cQDN5&Vu?K4E^~x_N4D%7|LH3rSD)E%Fm6< z@qM*B5r* zm9N<4W$I(TUOJv8cv18}*B4pqxG+_wjr!>}1!E)c4PWk}9OX`(G`?RDzFkgd6~nrj z`ZL~w98f<)GVa&V zeIVg|1>Mp8A*8#c6Z+>q57&3xxjpMUbHHm(VOZl}6kYg*=)Bwk(H+Mf5S<(!pqLhA z{J9t3Z?{C<(TmsWzAEi+=zfy@D;krN<-j4WeelFbxQFME`NZ27BpdDftM0sx>MYm% zmvte=?_?u;DWe6)8!VnfpRV0&*~9rB>=t(Ais-5twujPUX|s(7?AtLucmF)#pqQqW z-G4#Ask#E%XtM|3Cw!MLw9{&QsD6UCF(o+;*VXm5~!|A7vz60XOMe7=tc6pY=`F-bONG$Rpiu z3^|6eLu1Ipq{A5U;Y*r~A0yl)6~>R;E8SW??V~fAdkxJhtgtnTnT2D^;m!)D)95kp z+j!q+>y{xsE-s|9TZEq;Ph3%u~eR4x-_;AfHz*GAubKHM`yzMNL z;vfatjBC;7Yh8cYm%D7ze!#oD41a(vk_`Vk$S{S|qGqzxJxM{9+^r;EpyJQK?@^Y} z9b`G+&%h_JqZ{uG z{?jTq53{zZYi;vyZ3n-Ww$Jcwhq0$N#`(4}hIM+I;9&GJ76rZ@NWa%OI$68#oY3xf z+@5Q2tNJyt@h_s6TiS0O-_pTv2EUp7X5FfDF+Uei)-~nH&Zay8_iuWh^esXjUvzpr zz<$^qGUvW6jTt*luFc>gSFK|$-mh?L+kVlli}&m0Kjwc8|84xQ<-h&beCMgR#+@Cv zCiEfr@N{mW&DUDO4g9+cJIPwmnCaAM?yS-od^2KCIEA{#d)m7J7@>ZS7^$6eCO-il z>8%NT{Q!I${akOi;I>PLo6uU64*yf3dm}bd{2Bek$Q6^8KX&8_mCv)UW_0=X$>Co# z;^5;0jDBtk@K<^G?AIAR&Bs>vg#W_Au;I_VZFKDv%FlJ>E4uRw-JqY$lTHLVCX91a zk;QtAe>%g>{z{VtdjNYlcgB4k=Zqo?VD!fo?rS4fg1>eJ{>Bw~?){59S%c+$J9Veh zj>(+ycz%#M?KH^TrA_9xFG@CtexqmEoTDCN?1Ro1uKcNw>H2Y`E7CcI{^+Uty;hcv zblk@E^ATcj*R2fm-Nx|+Utp*9qv(F8LMM0DL?_qo^Cvyjo^+O#-^N`wn{)>!cg{Tr z4dbbHyO@7P%p>EG{mW|W650~I0T1RGWBSH&^o#xnbNU_|F(28@18sfT8;Mmh1B0_|*FNi#NX~zAFE@ z{PV?!@>k*4U)8lBkFR7nChnX=;Dz?|hJ3XrU(R?_I;Hl#lq_$y&k=7r2fqey+*su1 zXN(cLzrf*7JAwzDoOi;=Un8+YCh%eNw9gZ?jMkEn4ZgOOw*irF>tbT-?n4V7~3xRlqqQMiSE7k<&jrI zdG`IfwmD2S!!;@v*`P2~EecZS}UMgj=e77Pn+u z^ESl8G(B0q{44&Bc&xoSi}t`@_6v85x6pg0(dv2Bir+tyALaNlPqH(9aIfV4jIjY9 z@uiupzN@+^nPqYQx_|#Q{+%9%Zw}P`u2%JPlC`IIU-duQvHPVZKk$*vBE{9RxF61W zgw$GKD4Sz#I`pZUeaXGr=61UkpOJkj>{GKZ13C4fS%d$|xF0dM!*N`wdp_hJN(S=f zgwx-OMsPBn125w{WlRp>mJ2#~TS^Dj53+c}b31PZO!}H^)-v{IclR(ZHpQL$0W>dd zhI`*)hx^w&?!@jF27U_XGk~A!7yH)w1@G3hdMBQ<54I^Txt^A|3@mZDeAwfnIkI%I z-p^8V5WjCpHUN8U{Zi+dWIv>TTE7wgF0Lg%K8znzhf(!5k*v8aC4!vmbzm~V+^#WwWpEbos{U(edp z{Co9njnm;g8FD>_@6%7{ADkySc*`b*Hhdo*nptQKZowK_)pNe4BahtE(LSIV0I2(AbGanjqVrDaLgS^sQi$Ew(dgtchttztT%E%|2YwnoxtV6kyt--f~* zBiG6OIgK`s`*Zd!D_?Vr>Tyor9yzJOepvlI*tq_Tjcb6JKia33FLs&$3i4V)CuFii>`pCNT_Tzo~=`%chBS>W; zV(?A-rrxnHqSiMH?Tz$DvupJC^*Z|B<>`My^iw~?88%7Qq@`z3=?m+L3BBj@!pWD> z{5@R;Kfr86Z4Q~Vr~O&%UA^t<8nr!ZaGi8M1#ckLrt-6~4QLMYtj4yA9WCkHwAQtC ztf%uE89FCzvp%};A8)gr60PsRW1VqweD-&Zt6lD)czufJb{7KqHgcE@az*SJqC_x}DzFyLL`* zNn<^RAy{ptS>+)25n?j33GYJ2(hZFhR%T?DJ1<51ip8bN92v?av&!4O-rk-mLwN@$ z>MRfVGGES=Igm2ag@|*2lz%#(qP?cqxz0xZj@0=ZztPEd-wAZ5_Uo`-pRiv`d#a+t zrPEy#_vm=PP_g<$uP!DXK$r`@oB= zT@O=-*{t;0JE^1Dx7*^gpxx%dopiXLNvsLvcwBQXlV{qdE?XG5?*gv12kTn5B9jHp z<l-@4)vu5es2C;WgapX&gHQN^-*|MRi8VOGkKaXWc|j)Zfe^{E6VAE>Vuzr*|QuXS@T*@Bd}I3fl9 z-MP8o%WCL1t#!;?jgS0l`QJ^Ac!AHl{NflWeFSWUT%P?d_~QVlt+&RCatM8yc^) z&JcXsb9)>2x<9Ek#g+8E73?dgovC9ysl3$WI9hD63f@&!e_`opO5Vz%$|E*E za6XS)O5Iqd7Q_v5)7{8X;Gx+z;Ol5# z+)R6Ek(>KK`xtx8WZSG3?cm&@&$Qs&(q|%gIrf%GH=pGD4Chap`b?kK%gg99+K=!& z+LU#hn)Gu@JhpOILr1Iar7xtf)%TcZJ%W5cB0TZo+-2+N=pXVu;oEAd;-(rb(${#M zGl-2&JF@3;a8HAG4Sk_L{4{yp+9o!grAks80H^;R{V4fToznH@C=7pz(BQoIxIK>_Z;DcAnF%vM1n;>760^4E-z9 zRb9*Aui6*BOGn5?7tUHY)qg6Sfb|*b6yFD->0jpNPEtRW4>GJbgmVYj`c3=aV|^B6 zk^N+&roU+0Py8vgqBBnELeH!(&FJ_jyk5egvgBIM~W8ofb5oL87?eo?st_&pQxYZWcas` z&3WY}UAYC?|BelwkILoFcI93pJ;ivjPw}%n9nNMw#l=l@<4`j`>@{lA0}F`xG`~~%AB||9>@%8w`2r^+MbXT; zg#LrM9q*Hl(R1acJG75#UYirYs8idF`SrtZ)0gL!JB+MM`Ep;QoMh!S;9CcWj0VMb zYTE}+HF{qz`siQMoz@2?ml=Iu@bnGi3*SWFp2L2y@5u?H_$+3>(5{bh);`o#BtCqO z7)lpPFQ{)7T)78)xrDxn@72bST#0Y&GyCgjgh{_uT&4h%SVqF-zGp1=JS!*NKaaPS z6FRm@@mwc6zw3FMgIA6R#3EXUzC0J*vl<%(95i;+!#ro6zM+2f&A$b_3zVnde0-79 zk%f+W>NG3&&!Jq|mAmH|%bjfHwD(m0@T_gCuKeXec4eRWyTHzE*RPV3I`U@BujgrO zl-zwrb$L0%4x3P1t-lI*S5Go}cX+&0_KSvgkbN1O< zlMWX@$8OS>V{6n-y|qQ{`c7%N(a^5kl$GnL{Sx^J_+<7}>Ew>(>b~5;w&hOgST1Mx zM)cHX+Lk-DW4WR)_sw?YDyMZUH|Wc$ug;^7m~Lcu=bwVc%54PSzTY;oxH?j(MDNr9a|MyXxC=A7IQ9j(ks;52o0>m8G)R zeYwJd(K^1RL+G(WWSi<HVwA$KE@U4Kl!36*s7X~4pE$Pq1~!uQ~5kyCFv@a#!-_oxLub?k=5~wVV1wzVsZ8yVG4|{F4Jt zZvGA%jyc2D9DXv@_X!WL-VR=JR!4Ys4{s0fQtdlyL+4UY=OsB8SME{T(Rjgop!;0q zk^cjJ+|Qb(^@+Go$)5LoDgIvn(j4Qf+LLkB{0)JegdR=Tpk#aooo@Z=+1-s?@=GfwNaT z`&x1ycq^SQI0u}qI^8|FvRMxC^#-{fwDr*5T94$AdWy_P>B~z$f(_RM&*PBz{q8E? z&7A;EZ5P3H>#V)CCq$Dk+dPlJ?nM^EH`jiCEr)oXSvu!9a?`hOEpRU|zSpIR_WRFq z{&h}gUUS>hUnDyNo>@QUUVu(`4f^%XuYgx5Cw|p`Q8Jj=QWM-cyUNk`{A`VZ_k;O} zz9ECtTbmFZ>6U%$K|X-40#4Ie+{b;I{D42=+3=3;X?fD8>HE)lrrkal^cs9y;$;LK z=K4HoYb?#}{cW$uR*8Pwhun&H{pGGd?pC{8JE;1s&KUkrbTYV9djRm51LLH%>F3K`FvNlPh8hNv`D6oX1zcR{TN_PiNpYAG{Zy zDQ~XyT-JL^vw!M&8}s`?OLOg+a4sp()7)PgI!Uk#(l>3|?%lu&a-HE_I=3_4uX6Ix z1KtJs!TowpR~!FTTm4;nf!!hBjwi#fcCZgheta8sMRVWWvAQofw<^~g=>e_j(ih;* zR>rthD)%jD(zx~(Z;#vrUz4}|(bkiYwE#C+Waavj1*d8+7jXfaVSK&?#%}>5y>D*_ zH&nrr@`Y!Yk{!FcJHO5n5 zQf}+>(O<|~2^(sLd{&>vc;Msg$`?v@ALdkzHAC;T(1vDa$rm>FnW)|(@%yEtew}*XgM4Ok4E)>R zRlIJcHJkY~HP!@8h9cOx*EwEn1orj7zL&X|lZ_XRrmT6r+RNrJ@^5q!!$j+;;aM~f zw$S`xXudaVQwQgw00)^YXiPw!>>dE>I6w4_cDN_&n{Ctx_o3f(xGx5G$-nsBuyfpe zZjkff%b-hr)cB8YHt@&zPyNRKLg#wwR!?v3XVA$y;Yp!zGBI~>QQ?}lFQ za6CX+;kOGrPk6lF(K;QS3mEUNu8(D)3C@^@^AErgtvWNSfB9GR@6PbJGq6&rHD}y)Vxxz)JCsM@~rLKk_qv7`ozMOck ztzfq94Q!P4Yu$`}?QoppoKA*E=^}>*v6z(ivp&9QqIJ0@`rP~q*|azw**E4``x)yL zn@03>F;*1wZmc+CY4QQ5Q9`@KkDnL&{i5#vwS7@{lnoq{LH>p1{|)FF3*R2 z9<4hExeu~fcRI6K2GW6M8K{`fG+7$vz6R<0E0F=#l9wTe&1I`EmK=t0cRC-H9eSfH z`*O<8D_7oN<+KK=z7Uri_T|=7u2tq5Yu^ny$arq{r0auIet&F34qZDX*bW)r(hXkL z9N%8<`BsOw^YCrDN29KuRC(({1V@PdTLwGMz4|2Y%OrQ9^HQive^aRX19{|YK?*Ti&$f7vRhw7zWTm- zw(58;eTl8B-4ATtS2~Cc%rH)-*W)W8&P5%X65ag(ALs|W2bl|@!v+NZBh)3nj>+~R zzt*5X9_wD*yg`3N_4bAMykoS#0cikQ<=BQfJM@A;<#2P_&PdL9qm;4Ij-Kp^*_$;UM z)dnAmH;50twRP|zT@#NjZtmEYua(AGZR2YMZ_MEJ)cQSN-vr$OSLMwWc7-2)~4_jC`W(30G8vYlZ{7l!vG?)~`ieyn@%3-3AieiHBSB)Mg| zdp|Y2yE`e;{_yV3NTnD;Fnciyi>+RipX_;58Zspp1Dok7Qb-uqT3#syLRnY4&9u%_($wVtFw=E1{rUPU%P_- zde!2IbOo_JliMB%afttkc1*RGFI&fOV?@w-o3#(2>AUk+g?8Vh@3!ZE@s8j2vhY%+ z(GMlxvCQn1{)lAeLZ2_W%;}-wNC#LS!4^ah&K?MUWzOwI^H}V$C7C{$+Ufei4$u43 z18idFQ>UHn3vJmJc67$g`a}eK@Es2JZ+O_j7d1}S^RE1--ucVB&XtamywTQ&!}s`5SDSoCito@f!FUFI z-wVEmqxv^(Q-{AP?Wg|z_>Z}hLAtY_bt2;SXLDIBd0pOTXsGy8!I!t8=Y@#?VnS_PVc_W>$2?3Yru(r^|zw&*7Y~( zXPbxWTR0;d@*`{5UbPw8vW^at{`>J8XgB(w>1Fz=^(XqM+HL!coj*q}m-cvlyn8Z# z&9~xMcws))s%K?$2OGT$UvzlZ{)0M~q=k3<*2kIO8XL=CwEC?{KS#VoHeRjyB=pIi z^EUT%SHc>&#_tmQa>;vz#u?V$b>|ml=Icj&i*;|galX>{UvB8$;deXzxD@`Y-sS3# z_qp{OY|gENvPpeib<$sOGwm>WI!XqwmKxpErHqOwV|Csd1(eddBmq(K903 zvVOax=U>5F^q?DT&qgNe;4YmV)7Tqm^mlyymUqv6Y$=G>Vs?~$Kr4(Dqd^SsPCU!Ueg{X3{m#GSMQvPkGsif4=y|&GFAis82De9e%`LU!KK3AA4Hy*cWY&2{ZjEEl!Izi~H%^up#P zHg|7s|H;OAMQi^`qy3AcuKiD={VzebBo{gPgn@ZG_gf_LS;gyjlC?r(|GD*#u>XK> z@1RUblU~?>Z0P;oV3U*QPUR6CWNaVbWGh&`e*Zx?GAP@;63MdlZ}NIOainGc!8phI zGnvkP$o1_5s+)Rp%uls8)}$+Z{pi05U}}y%qP++Ba>5*}3Ffee`G|)p+-=>-!@<^a zdk_5kAnW%z-5DS1xk2k?r&vq~_%R@!WMe;h&h>nY(_S6%son!T?k33KaerS@KDi^j z>jm3&|aa_$C_r zm+b8H3h43ew+dT9^8wM6`Z#N;|8DJ)oo6RDU1)3C<7?rWn02(b@pm)4YobAO&OG~D zsLN>JjPRS{K2++<`epr39Su3r;PENYZW-T^Y0kFw32*U{zOc1KTs>^rz5;O_?VE2S z*}3WuOQW_-4pTnG&hl`MYX>LBA?sJHU#5GTW$BWZ_SadZP}a-Rk{q&xEc$il`TJGt z#J`)t4@9{}|I%~RzZL?wj$TMlssO9`d^#~=u^SV!8;8wD75t#lK2Pcp|LCJOKBVMx zXQN!5>I>AKpYJyglTUCOw!yK@w!xOt zQ@Jh4Q_3@1bvnGsMj$<>J4C{m8Q%SvsdAP-*bw18*bpH<=ht(8@9vkdF*?`~EGSQ55s%ME5#OfWvBG!i8!1kAXZKzh z{DZ5UjS;-QEk}BO4~Xk8?Mb?o0{q1#FD9(K|l;+=cGF$%avV zkqy(SZ4=fhe^fk5+mkapkw0fVKY6zF!FX4B+32A5yRx=&i1EIF%zUZf+FE+Q%kNKJ zEnA?2tcgzLz4wgPJoA0Pu^rRtTzT;IhPC+Er{7dwXNIMRu!DlXxU9KCw8o(EDCo(| z4(H5F6EBjL887Or1Bn-(fnIdSQjO70hsUhE>C(O`@dA9*-!*S(^vy^oU^Au< zNBWF1pO;=BR;|tumm-{HZyjJhWjZ}=!MoJJJ7?$kdutzqFV9dslqhxNO!woCA_Pwziw{ z9yTpH8z1^n$;5qb9cJU!&89#>haJjr7A7;~ngOM0y(|38wy z{@~z1^^gB}Yvqq8-d4D!dUryc@UC0(+~L@@O8&JZ=~|d@r)>cru>5(Fo4Q+@Jz~0s zPj`CdqoRxYa$3uSH~nWOJNC?C-?reTyLQuGNFU^Ol-L_+&rf4FI)7bry_LrKF11C> z&%x)pdf!96^V*^6%IQo{Yq=p`?)NAsxqBae_$v9*UAcj>{%@yUxxX>p&3)c?X?v$QXHObFTD7@!BHx8ioadq#R>i?up>lK0`OYIP@WbZs zbAFx#jnt=kx6S*zt9IV6EsqAz6pwmqKf&&3g2g^_vw^Q09I*L^TPGjsF4-Btwy=gg ztU9m)jX5{wHOuv6XBcA!gZ+QNV1UkK&*+11hSR03INABawm8*2P7eW3JT{#+d8)PJ z|5Qv#+EX@8%>Vxtr6;VF^uICJUN3MrH}*#Rdj0wMkHqy>PqTW*1;0fvJZNdIu0mU$ z*;&Z2kG)A3)cx7_UDTyMeJ6Ztg@2!iZ~XH#7hku08~SRZHSZrq^yjocpMGKcDndE* zrph(Ri~p98AGve>9`1ea$e)!??tVSyPr2Xt^JeM~u>Dvz(p~A#;@`FEv|)b^eiN|f z9#%hY?k8^)JrC38(CSuA7WMA)dx+=by}V=j zx|Q##ok01D*{9$Ro@o#N`DXpH0vep`7K}%4;61i;PHOEdJ?_3TmFZ6GjA&cg$=Nw@ z`oG3d+VCOZ2Hm%TXXMGvv-i%QXQ$Xm4-1dTCW`Hv*oJAlj^ocdey*Rofu%E%qG?!d z#Cxv%zO9ElFPX?T^uE)hJs+ugxzVY5GCJq431m8hd!~gG^ElrQ?mbc22#+H@FL|VV z(pk`S?w&_BVh_I;IW1^TC;ukt$rRCGqH_h{d}qKp;eKD_pItak?3B?tQ<-km%IUN+BV<>f&Tk5=LUY$OsOuUbSImZ55fh9e4rJIw4J0HzoO1j@`F=F!>_UF9$ zdCYr}$AbKO@psNDYyVE!e;>n+E7@Edn@N3Fbuhod#9qsAI8UUS64y9@1V2#*Lcl%LU#~0#j?f;yw6=`Br0I z{dpgIze8JSk8HcP0EdeD6MhZ&XS^sN_m-Ag+H8Wo6y}J7qDA==*0m z6R+lD@P|)Iw`eZ;^x&hy|26PSx*$&LCoN@d4%)3fjW@K_q}o{R7|Q~8KuZ?><#Z=2 z(p`ykIr-#cY|2}3c^~n4H5M_KaWLU?Cgb3Bzs?A+h{gcY{=3q^9lrb_blF;DeZ}BB znv2K^JYX-)pyPw_#`6RohPkx%dn!-h8SRd)5AEjH!dm-~`~Y6|{sH?_INP{Xf;Mp6 z369d4=3C|c-Ml-vVZMEMd1%Ni^LhAsyXTc;poy2B@3)5U$U)P0&+D7~cgg&IWMdz= z&(MB#zb8TMAL3wUb^HGP=4U9YSfLwR+qmr7__e;Q5|xV*m_=ao(- z@5!xjt1j=RC~rZsL*D1k%j^34MN!_;b6wuhzn7@Y#%OLrTOHTZb|*^S;2H8}^A*V} zZ5jE_f~0ofTElRAt=K1pj-xJHdy;K=4e#yrz&7kl>Ab7mcePETGnw)=As0DM zTRD;o`|jIr7QHLIRF34rzI(ZNB7BFY0yMEUW_=Y}9ldwvY`-nvwuZQXhRZgulYnb< zU9EMQ$y1mkv7gH6$W8PMojK_Ay+?DoYf2Nz;$(@+y$xJa_PVkzGpl|b`20%YM4J4# z^yj8=ow%LQ1xB~U*UNHzXtb*+5Vb6&>5#2O_a^+3^4r9X@8h2 zvs+~{ov-uir-C18Ib!Ksedym%pS`o!T4k~{o&#;RPmOxi=5OQ7owdQF(-nX1&)|iz zV^QE4<-vVn${L#S5PIlm+c(Ld0<2$(U*LM^<}dg$=IG?l_H^!}kvIcSZQ_=X0`o(9ll?~cj>AiFGb`?^{Wl;ZIvUBTXvW7N^l^r;j@}&#;|x?dxCRO^W^R7 zN<-dg6FUK|^_#yFJ<^f%pEm>>m3I7Ml%8<6B)%Ir&Z?jJ z{JEc1&$Fu!5)5R_8-CA1sKF<3C(f1o(+PuH#2G+(Vv+wNxDKzg7+QPf;ln?NxUlQ*J znl2WA*VqpW(ug+&AXkxxEeyH$JM zC7Y4|tbK@)($qfDnycWMjpkv7wIplj{UuC|cIfT70qMX}5sdFU_c*~OWlaRic^3-qk zi(s(Vv=Hj$d0}{Fyd9zpeP!z@z_0SZoc~Go>S&HqC1wtji)E9fYmQRlU-OKF@3LVg znUiP?C}RU1r}PDttr|xwU z#8~3?BH@7shttV9O2SBJhH*#}!!!GrLvn{Vl*PVW-;-QA6|iE;ee+~_ge zZr{2eU7@p1Gw4_BlvSMVsJ;C}?vd9xh%N=L#pw$AQRiWmetSY5)~F8fEWOiRu{bSu z9#8Li?ta&QSLOMm!xsO#ucomv@phudf-ENRuHZw8^fY^8W|&j#W2_H%k)<0e6PiE3 z_ucy#zq}1$v<1+l7G_iW!31r`KFi}#+S6gm*Poo961%f zF!tG4^r~nqlF#t~=>`Wq7S^y^;S3p^-rBK_zgt&8b46=m@~2$xe3_}UH#nPs-1@ye zDSLC&7g8_FlEuXBZR=A%k^ji%1;+wQz8J+^#|M+pzwGW)c(Dt3Y6sDe-k9A+JBXL* zKe~G*!`lAbuC8pal*zK6Kboy|S!woXx5I-=SvMA(yJ++EJo_=(_@MJDCTFXg`B`{T zCTB&9`P^IkBJEJonrCTQ<}1iSe@GJ#(Dm{sj3!;^_7Nw0734L%ONUKv z*~OY$14nR~t?KBz$7FklE;U z(rL@t^e)fGmiEy-+UTi?1JG@F5#y$*A4Tm{v^C1!+IsLpcPw2=J6M}|9V;1s-@kjF zK(pyac-G2`(j0lD8_8pJ7A&qxLpMfsj#-_3wNu24Fz=uZSI#DP2KiK*Zg@JmQ#eUB z_}|*lon1E0#kwlslj)#jO>>_qH~P#}f&PXq`|q@!`fu{e(nQboJg@o@tFWIe#DS7b1Ed{VzvG&+kKz^j?xATlKH@EjW2Oa%*^UpQ+qP@;gd$EV%J0}T;lG_`oaTb2O`AF+4xmYn;w{NX)%-8pRU!UwD!JZ$B zAo$(gx#`yXZ|zP=_J4}zAwPC*7c8aS;`Ruq+JnKkoN8=guBr3ZveVM*8JE$|(m&>F zy}mTjr#_8cQDx4EU9`0PF3vEclg@Z^;Ub+&PV}Afb)HqnM&^)q*CfySW->;8vrWSI zLjU-=)>V$AjnWpL5nDsNGke6=7<+0j@jN>p8tT+5otf3Q7+R_C+ecbo<@{K$aDK8; zU-29#6GdO&3Dh^YJ()27+;(_pd?{a)>X|v>I{3&OVbvAB?s6An?{?2K%GG%eJX=V7 zem%RG7>7TLz2JMVoVD>9`7mECbyaN7T9A$AH5prLiO&3lerRi@U=Mk>)d!n`0KdYIa87D3^gJ1`r*U5rIdFvFbOVKd_nu$#}iFM2c$9Lj^)7j-|M8`EE(WE&zhX^fw`OM1ir;S$Zski z{4-gh9|>mmopkLFjrq!RbDLeAOsGE!#xcF^+l=;Njzmmd@afcE#|lPkdtL3?i#7Ty z9lxDl(w+P8F%5zpoNw^rGVuahNEbE{U%+~N92fu=;GU zpWHeBFz;-ft;=zyN_8c~0ebYN<~`TWMhScV8)c+_WCOh(T@>dr-$PH*eAmaO+J7JN zS9$k7I{TiSp84SHy?lJ;gR^&H)#cKt{6Y59e=qXEO|NbC(QU!U=Y4eSe;wga0d!ZRTfuHplld#chaXj&?rSQ(*0w_UZoS%{wc_zKcM+a1*Saif;>I zJH3hWna{+ht1WU`2c<3kr^bEJ6U{xqGi#5GpOcQC-gd?>eUF+LHxcK$R>0CnmCB}@G-vFM-pT-x{xh*mi)6i^BHDWUvpQHMRJr6#3 zlz6*xJ+)gs-Y@jyp2;(|$M+9|8+N_Xpu9GpX77i|L)sb7DUav1M~SB^*Him7kEiXI z&=@Z{=U+Hvu`X=>oUh$_qP0cS*{?bCpZal@b=3L_Vz7Vg zS%1|0Tz$T^Kf3gBqs5;?`L~S!VSJ3{ndsfR>+jyp_&Qy;+3 z^h3R`q1>9%?C-wb*~{X!-go==vf77tlSBU7$>G0H*9QfY?_L*-=ZLi>UGT#nJGd1O zS9f~d)|$8C^8U!@E&4h$SXKA^fd8Jz4i_#uJIk6&qBS6o8$8bJcm1O6K`Z!BIB|E<*Uox3oVf#I< za`T6e;bTel%-M*`^sM~QBfmjU(p_WPrvscV zl22rC(95KrCEtUOGjCY$o()%?LwVa5!n=4egD$A^D{*%3nseCyHB$K#$$w^VQ^$kg zDxT=q>?>&4v0eu>_tD7?eblF`k52WuKKg$|$MNu@85K=boG4Q*AtKZ1@W1>L)vDIyZ#+snr$fB11@uWlWaXAoRf-ik}gpjXx^Y_TL%HZ zq@?yuG$u^7cY;D=8a?BV5(AG?9w zN?WS^c=%3dm}}@xXPlbL>hMFl5?{q`AlZsK2azDxOc^FGJt)boPadXZf? zo%iV`8-DHQm6DA$4LML7db`l%&D(e5-OYAk6Rcr_)l+*RumZkWxn{etZMl`Mt(P9h z87kIaCct6GWC1yX-tWB5jRBIYN!A24AFcAA-pV+BD|y)mT$jv|_Xj@j5bp)X@Sk~o z7VJ#rG5+D7(D+i*oO=Uf*aj!Nb!X3I{Ve8-*>k?U<2(QKf$i19;GS=TyL9y>l$~k#HsF2U z(NWHIq+`m{F>;i2xN<$U+dLg_f)4dF$t8MVp?vV6E$An!6hBdGfisdp-$s^>pI+(5 zayMdATak`#xS~#*6|upJ(5xRZOlL3Qe;@zXLhrTYF`o`Pi8INwHiw`t$yj%#t0Ub* zwpQ3%+j^9AyK>zB>*>~7o~<=dCvuYK#Y)}i=t8u8Ceheq@ji|Bgh zGaorhzPNHdwGq#kheU_(pR~`j*P+DeYSN(*&O;vO9Y=|?E7w!I*5iDK$N4{1hgKUg z*IIc$<>}aXlytaqJ+<>a9lA^AS?N&bY@tusc=sQnL!($@t#l8a;bbm%lytjtJ+&v9 zJE$)rXV0udBb~THIx^Ck^L1pt_TP@Dza36TKHW}7=G)tu_;>cRpBCPZ1V2M&Be8$h zY)gD4e*BSbIo?zCda>lNH9!8I?+zzhSFwS1nWD7R<64_WCZNbUjSSK{$le2To zy|uRa(ew>huBY}tJY662bOm2Y zoj$*j`RaYnR&R@MJJ~AAu9cl0=?p*T81GINb);j+&fWLc{_H5}aOHYxcX>K?ijLLT zm}{|Y0l+nZ|B_P0D9N$b5>i*hfe+y zx|x17pgqgV%bpryNV`~Vd~4qStTPIf_4^oRfww!HM^JhuALW;t@9R@PaPm_Tp45e3 z?}>AG-iP0LhIi@RT!H(TnD?B%xLK!akK)}{v*`$YipB5_EddW( ze`f5-aPj`i+dM8+`6a!r7yOmxhrAzN-S6h1yM?cw@k5>)@i>F&>6>oBZ&JP|k6)eg z$l7*`{YRSd?EZ@E|BPpv^UGhun2JA$c=P$Z^PlY1e(yH6zs5DzEkd6#n<3b(@Uv+= zOHOije(5=}uVg&$(nmC&75#pkLoK{N;_)nkHDs`QYX1hTfM3V)tWCLprkrexf03*o zW<0x5JeRM3{j(U)D$i-|vk^XHo+l3+B^|C@Pp#(ZFx>-=M?9V>uf{X}+xRvZ2cFvz z=eoyv_fg{P%JtOV>2ZFScu)ODJ)X7Te%SG>(72aN{Xdq+!PU+_eeF@w;mY;YHhVfQ z^K=}w-fyAfuzJ6+xMO=vc{)}eB^|C@Pwiw+hwYD3dw5+f-NAS|p!K{Q>v*A`nI0fb zdYpYgtHjst(h}?Ue*Zu-pM6Y^Ic)As_w4oS^U=N(eap_EwED@}H`i4E%F={~&Ao;gH$VF5Ps`*b7`+|7(VW?w0rd^b z`io~p1!=~h?W*Y&|Rb;WB6em!R-n+qL}tazJ2x_(kVz9>z4Xc2v=62+cY zzAE|Rv}`S8a*4%-Hn~fexERiyL$&@*EHM5J->J2ZH$&j7aWAaF#JI*XWwKOt`j628BQ{oeR2?S6U1X+PpR(++j|bk#X@fvfX8>I}R~pW~kU zkEX7|$;O{~^!aq7&+pso^L6<%gyXrS&+M!-IG=(o(b)e*TiO}L5zaj73?uL8i;?0u zXBPjG{Zrw+e0~-`)xIw#-sz{J@9ZzLGoKC~G2Yq#rTt`~{0*EL)tOKCoimc0scgh^ zoi3)tTh)Ft_kFxrAf~&{bcT2B57U{>@LnYby!Mj?c#Heo{;}|0AfBrBkGc1Q#WMTT zbjCBhC&ZxF8PAZvOw4%g9}Dj{aE4R+$3p%BXGFDsEW972e)f-L?_1#4vSzuly?n=G zD;|%1NQ~x+yN}PFvon~SB~G<2t~@+vXE3qZ%d$U}j{U0VO&Y88&bo6F%CJ6P=K13A zt-!jGY+dE!IfJ*HGkKxRY19e4HK7c#j8m;^s|?Q{lO3z)b6w1Xv&g4@$vLl4eAw=p zIB>=AoSZWHyzop+w^PG&^_0=&;W<5J^n~!7oI0wtMF;cLQQgO6&(%{$rAzENIc-$? zV_lxpMs-HPp3~FJzi!Wk(?_#0M`KaM>uNaH3g2U1XFNCzuS@V|J@o}%S3*0$>nhJ{ z!#DUV-nZj*Ih29dlkgM2mV*a>OEIs*GrUfi6P!%G0{T#VE3=P9d&3Ltm*D`5`Mx1$Q~`u{5Wy#LJH4#w>(`(H^q^qmK+{`cl~h(G-!?q6qt`#%L7<>TMVReiaS zQVzJ-Cd>N2l-r>>Q2$r?7wm^}7L!r*C)g6AzrerfFYzz>%beL2{bk-oe~EX|U*TPH zQ|13S{tKjw{*-soKgqx7Pe>R233G=)e|B!DpE*10OxR286YK3G_O5KFiS$AKAI1;( zU}=E+qZaBM$r$CKVKZ~)?Ay$zwMV~;ee|4*b#~QA4xN*7=3(f#FouP*1^ymF=4Y&7 z&(5r2PuObC7GNhm#v1&0!Q;RR^v0=-y^3pcJ|13bK>L=N-wT ze$hR7db7QWZc};}G4zK0-h$nXKjOnT#V6{)R@54$=9~+Yi<70cw$++`%i?XecT9LG z|Fz)dpS8!Oj$KLl-L`je4YGxJNEFcm{hmQ2Ta;#bEvXXahSBL);O3 z97~m7Z7G=cPMPqYUe7tDtC9)HT&lf9o-Sy%J+KCs7=mise>)bqEqUtK51On9PRbso zMCX=(XE89ScO!HC&DsY+KKj#U%g1vjHy-w*g1y4&;X&y$%BI_r3CZ|A>b`_MeMNr4 zNA}u*h2$q@ht)^EI?v**>f5a|Kkz)cc(FSZ;dr+&t8>!P^S9JFcX={l^NGuwX-}5J zH^l{EuYG^TjScq9S+D=0_EP%O^nL%VJ~w%c*E#H8RJ*@L?Qprrk$UPpi!Q?vzrFIP zUze4Sbe&sL8%ZAP*Sfs+j_lc)rn!5zsw}Z*ue7yV59>L+8@=K^`yB;W?+cJQouf*x zt7Ppec@1TOO?&Vi+3QE1irP=L27Hr#JKL8+n|Oa4wqwToq%itk@gDpR-TcMoSY>`s zjb!Cv<=L1(Ph~6TmM7+phnJT+Ueq@_9=sL!>X*9HPVFH5raU>FZ=;O$Ghl(I?Z-*g zM$CoI&>6XiuX>i<@B+2F&$E#{IxD4n61s?!@G*F7vX4!pIik*y=^Olfys9?jT{15| zls#V1Z}=pOz^4W0|IN2&jWf2*;c$KzINRO=;Y{4nBfE4?B2L+awg;P@m|NO4{dgRD1}zz6*6lwLb~>!tR@C? zr+#+s{{{NLflkf(*_jKDsGrGhQH)284;q))qoqAJ+4;MePy`j4gAKcwx_y*%$7G=2C3>D9f%8e_gu=eyd{bOd&7&c0dsD_oi3iI4{!G7w;t zR{?{vR_=SmNq;`?`L0pr{qH&-en0iy@9O(%0KE z*f+67dKcJvXi3nm?-HFWU*TlL>d9?q_2Np!7ttK7hz%UuRrBghJJ&hr{YUGlvk692 zANWtOcTT>yk#1t*YY&C)7Uz9DAK^dbVHG_7vIm6!uY!LQ>{gyQ{K8q7CYU+z2U>V^ z_-$RlT%r}fqKEaAWMsu91L9rvL~MEfzlwa>xPeUA{1v-T`%n5cUsWFdx1Yj4^RqJl ze?mYe6Ed*@q3t4K=*X;O@%znLy6IXT*!V$F8H4itiWf^ z&K>M7oe|3kd$X30DqS{l&ik6aAUcqfou1D>0jH)qfC)aEQ}reGTO+>{#J;d+v!9iQ zo)*sZk1Nu9xG(rY@VRf$@L!?+k-x;r9qA!o{T}yyhIxBTU#GnFb&PwT9-OGJ<{#Mg z75<(5uxTGZz8Mcxw`5K4;z4;uXC8RJ*t^w7A|A)GZ!jt@#+jGbCO#HDjJJC}uJnAo z7d{e8dt$lTcs=8`_MbltPT*Hk+c95)7rW~Z4^Paj>>3?>^Uy`IM=bB!_Ia_rwpt$G z!0RQ%;D%PuThgTWKc;;kAh*x}HEoI=*TmPM7dk!m zJkQr}fSdHdWz^A+Z&YK2{$+3LUpig?qT>sqgS)BCx4EG-`>yXv#;Kog^tC63r{U38 z+;he0+6K;~gX8Q0hx5Vi^sJ8ZGx#Eh<4=8?%V#A1sXq_4z|G(h*DTsU)fCE zOMn;iGlRkXHpjpVe^##v#?X3)(=;%I%b}ZJ#y#CVe%;jkMYFn}XNEqr?|AynNw)sI z6dNL&3u^3j@|6tC(ccz{u0Hp@j$gp!M!o{2DW;|R-)e7u}}V%4A}p zV63c6$fl9pYaDEXwbGX-Z=Gl1rSjWl%Ts5nduUZB&y97EC|1(8u021+ub{QhI`+T} z_P{>uf&I)uALC5hcUc<_{V?b;%`1e9t)ZjGOrJ4#C2b*boF?Y(fiCr3?1$8+n~vKB zj=M}N3@!Z^H_rED`l0Ljt^eAuH=PmiXiO;Ke)fNA( z?7yY@2ab)?$kh)RW2Urclo&wZxw-Do&VQ{%-r_vg=g4P$uFw>JY((n>O4pb$^b+7= zI}CdHn^K#h|C4a1jr@M(O{(XZ{UtqlsruS?ut&dxZOZ(}&H|DrS9<=a_B4Fw80OY@ zBoogOtUG9b%82I)?Vsh<+@HMPByW0$mjlWOW}SEOZMEcp_f7Dpi(k+yo0;1-;J7+J zr#kPVydRs=-O0o&RKIv|A8mIZ|GOPr^SSV>^qI@iSNi67t2-Kqw*)@KynF2a(u9jg zky|AmMOv zUWPC8??L|GicCuWrGrhjZv^g*lx1E!#J5M0VSW3gWSR73qM!d0;H&D`$Ftfn2aE*Y z&bP3Kzsvh$eA}Nt0srDM{EK~#@2TVatKdU@^CbgnpRTx_t_tncMVaQdx>&s9yYV@y z?=#fbDnsWhFMND*+a>6g(yZNQxi`d+@^MlkKgYX!$iE?>4WRK-bjMsWAfBX~;Q6Jr z#|E#@;0H7=<)CRt9|wBK=D#`S&FE2^+xCA6JCm~6d+P3aDEm50zlOYDZOQx3t{o~q zZ#FOVIH~=F6T0Qd=f(I`p3(n89`nEK!vDgv{4blkqj{n19pS98V9t*#@J(sPgH6bs zo9EknFu}ge=9HAJ_c2zhj^MlDU9cpxWlz%s&}94vmikBC(;Q;Fj6YkNg(Gq-pB{K@ zf81iu&_CPIei|}jdQ0@lk8=e0zZd*;)i#p0xFi#PYM*c(de)d?PLNpZkA-{`W(F zCdcxP90ASd8-d0;V?T1d89PU|$r1ZT%pW4Zi2NGZG)X6)$R~3Xe<0n2?MQ!HqWOXB z=3k-T+8mHMg=EQmA`cELPkWyT`P5%snHHajhfz2WeFkjnvzHMs{sp{ypUC~~eIgAz zUG}-`bnrC0rr9SllAnz1n#<9{*fk5Kqp9z+@IOJ{-PXn@QgD8d&h<3=L7M8xZE^KH z0k2}aJ@&hpE#}6h>DUh<8a&R^vc-xX*1wAH;5_Pa{xxu(o9iB^NSDiB#T=_2eP7br zBmY|a?*Dt%U;V$WX-=XKpPO9yT4cNbo5bqVdME#zWi$SBa)o>suf!MhD|{~qF7VNh z+4H2YOK0N3_k{Hd)sLRl9A!NCC$hP-YnSQnQX?K~D~&_j9KZg|)A$-s<7sLa?4&yW zH|f+#Y>~s(5ygCMt)qCQtK$Q%O&WLt-`avYC^Oxit{x3Osa6<+9>&cc&+|NbZ+#tO z>nHIMt>z!t^%ed-_=@<}M7!Qad$kdNbRO-makT%t+Tn2W9{Gw|VGMd0|3~tI+H@pYGr*YLhqf74Z!oE|IT0^Zk%E&sXGmSVxW}H=mQO z8S&TV{EQ#+XB#}mk=W<*+t3pGT#EZeBXS0vj2BM~e{G)6rO}SfJ{M%L5jV7zhsED; z?eIswKX@NW2Fv?M(5-7TA4w~WF%RQ*wFC4v`AD><2459++HBf`owitd!pW`p@&;#D z+Fp$8JNY!8;{U?0$KHDFUr-s!s{K^%w|zPBOggl&7o$zgMPk70XKtZ&#Z-F@bgm&; zW^1ukbavYB_V0t|bdGqMI@A8aygN%Uh~7_6lKng`Um?CxJzHFx3E9=O#l!)CC8WtV z+%K7H18=8?S3rL>eXqLuc7*S(_)NO*za72{pBR2}f#EykzZX5e!pm?y_%Kr=o;|L1 zelsp#a^zH&fPH3UG6Aa()C;m$-oYcX|A0eDUWK_I-orj}yS+^;k zl4LGfM;qpAU&=X|8}>4SzHh|1d5HZHUN)N2_a{4gm5z+IrGd7N^C!f>$>vPpb5T2d zxQAZ&eAMF;+Hxr3^Kc8F&u-;UNie!<4|X;8qu~g~Pz#I`+Tl`hxD2=8G8VxZY=M&p zPUw%C*M)eabGsH~=UkrLmfw^4HrKG`xf&gTU-L2f8v3#8Pt8rttYAHHUDs&3scY2V zS5U*RQNtf=@tPjPrlz0msKEcGF>HbI|Pv3c>4_sKk(f%041(aQ~IsFhiigf9H zlg|%1{{my<72NYk9`@xuOuTORJsjbqIPhxgZGV^Cnem%DAUfeQv|af0)&7}&t8&K) zAMB{XggLa^3$^vDpCNAecIe;k=pSoS-+Jo9&YL~3-nB_LvDG`(S@(55?CbnN7j**r z%+Ep(K0UQxEI%2{$<8o`-s<>T1LijbPxCy<8*slT+^z%v>*lv#;8#y8{^j)@@gMpf z$Fn=A>u*&TG7^uWDPwU-bDI7I1Cpa8xo8xB?5yV4YPT%C;L?Rx5@L7B)|PFgv}HaX zWdF+sHZsPSTlj)KKHJ3e(nXzdzTWZY4dDDf&+os7-|RP>WslW7xek1pdZ?vcOO1G% z^ZM=$jxVpGjvG`5aFar5r{;g1+q5&hDTCKrdm->%*MZLk?Y;a_Zm03NOl*)_9iPjr z{b%Wl8A7_@b7pC0{YQg4+w$|)7JjlHzLN|Ozs>RUx#0FfPiyWqrJccNU2JKqOomGv zI>OA|=wQyGhv1j>iQCmi*MR#qo!jU&&22Q^U1`LE6koi49oM{n%IfH=rPR@*I`;W{ zCg>-ZeaYz)FJ~i~a|b!tNF83EjCYq_64THGfB5a9p|AEO;B#Nh?A&hF#x&pFjVyfc z=0|ll7X7C68QV)Yv;kRf{f1p@3>ZhIrdc&T}s(fQgV=kfjeF>d&L&zuJ9plO%Y1`Yho#|D| ze$C%4t9;nWim_#Sq`>%E=h@(Ejt(8N6QqkDhX=Ap#IvM;-+miBXla8SZD3{Ldr@;9 z|6T0?p1b`Vf3xm{X=-251MaEXinSGMuWjHVo1>g`l$XJs74zSn3eQr;S*>qLKjdX6 z0MpiINi$sTaNl;h{@su*jn%S8GzNw`lbpL-yp4>E`8t1z9mj;kYyjbIZNd7N(XX)| zxH^xj`SklD8L|H0>9su6Jwx70$UDP&c^2C#;8JbGv}%>t!J8fZ-v*Z;GqzT9BQ~IH z$G8vOsQDgr@}DfCPW4AU_Zpw|P9MoRJCAr$FK4`K*GC3#adm!{I)j~KekR4y^ste^ zCrS~Yb)MPUvXt*A|6>NXr}h^SEw)#cbx5VBt`XZ7`kA%3Z3jx@>tTcS1Eh2G{idz5ukeSa(a zeY9>X7^+inzQTShOFPy1d2Ib#dB8E2qfibSH>l1+ND}zb(qYD8C>+(HZHbKPYF8JEo-!e&V>F8!g#Jlgc}y`P)AvS0h0 zfb-=E;Pkuo7_DdOS#VO?_Q`FV_P7|v3*6qHUD_*?-*aehGWz7U1$%zF8u*vu=h_6_ z*a7?4OS^x)(j=2k<|@EcpQr8Z+!JfqwvR1c@A9ba&Q!bVopDO<`xsZ$p0v*+DQ$Ya z+EaTF(9e>;A876-IBMSr4zjSjeouvc06CT2`VVu5><-ocFLl0wvZ_<_^H`<>ZJ7=! z^fb3^apK!<=XaLzHQe7%lPi;*sQT9@CqIci7wBFFg|^maU#^eOuCW$CrA(T z-$&n{hBxB%8Q?3P8N9{FEpUqPvu^%t{_$UP&QJ0=%UZB>?Cg^o$MPpQJznjR{<8gG zHg-gG)Qyg1waYvm$4EYaj~=r&f$s~S-1ai$L3U5ayJlT(o>_h+7)&HR7cJ1%G4m_Yi{b^Wz;W{U8elK;y z4j>Qm+?WSf8nK&$C4`?Yd))=3U~E8=s*?*#E&YnWaXiIBYJ!{dvmn!GRRV6oNdH# zYQ?>NyKwKR{ZEhku*Y3zoB|xPQG7dOeIjYZQ)-1d{9eb82@mtF9;RffUpfgMT}PVQ z%J$1J$Dhn!^Q}WSclL2Vc2Y9&UF;$Gh=blKVN*yRhU8c5E6w(54AJ*<82?WyO?($Q zd+gNGtoCE&7jUm)AARI_^03DH-6z;fk6#-;E(>KIqm1p{A`f|I>y(#Y{rgY4yg1)7 z|63DpJWd&J$}PO9G-PFJx8u#*;LQv^ygEP0$~BVjYUPyR(|aaf#C%B6F=lhYk3h>j z+M&&8hpvZy>gdtALQPN###G*2pm~7BJ_6Lsc3!e?$(rZ!smwo$>MfP+i z^HDr0!-aF${9At=9&s|i1YE@XCK*6h_Ae~W?rV{O`?*71@*=-$pX4C6rCZy-+K6S< zTKCwfZN zbj}JC7)NaHkKPN;S7YDKOw5<7eWT(*LM$Ws(GvDqrC&@YP7dj1mtL|p`^4z9{KWaO z{676TA%E59myHFS41R#aS!|`N&$AbIB1O-u@3KF4;st`S*Pq?v8*Q*-5?bVgu5d1L z<qQ|qGOEc|Ue6div2VsEnP-j8v=rpk(U zPyNExQx#5a%A5x6;)(o-`k%Kq{W$HNbv~PK082buA^S+Fkj7CO%)-w)ko^C9@7_DW7G{bBOdt&eIv@d_g}2K!Wc+es`(6h+T^319k61)9q{h&dOHBQqMmtnK~tg z#STa%YS(&yA>&)=pMmLZF7adV3EBZU({ov4O3V+^ z8RukA;y-M}($ag(i{eKdFCKt4@xbgqaBLp${r%J}GN?6ejrXyxFZnTUivRtLWv%*o zoHeVH;d5*H%h?+(ecePuv%ba$*)(2{=PQji9j-b$-s9<*cbD~=g#DTHA8_8M@ri!I zoN_^ElQ<%4I%DtCV^@a6PA$$M|~p7OpZdQXTQvpAV;f zCKx5&V;E)LV;B_&V`&Rt&@B_zuGL0tF>BY!20zB`bNsl(^TWmh#>#lzq#}A3lExaC z4(qaZ@=SdD&49&q-Qu+ zKjh!p<868{mx43vw7>qp-8yX==_ffCi zUs;A{=F{anc#fu&sq-v+HZs>=p)(JZH+;T_JuJN`yt%tX@#XIfxG4|im2W;yZr?}+ zefr)wzrU-gQ~pF}#eka^UW}i9-h#ebZ1a}S150v0CYe}A{aPPG_nZF#9Mg3PKhn7a zs_yAY*SovUH8&T3)PJuHI6=4a9-hCBmO<*YvpFi``4;>ORgaJOC?47!p!Yc0Doa-2 zxy7Z0HsdS%PNx=nz7l`)w|RbPz)5*J^7RB8+fv4^3*!9Gz}GVEaCV&E-;vd+9a7mz z;E@MzyLJ%&)DC7FiQnzofVMeY8*~MH;F;R-Kf4VIw84Luj)E@P!#Y2sed*foG`Ef4 zRmp_e9*jxWzOr5P9N8ZK@RaYDK7Bs_BHJS>TV4u3!@KN^CCQaGpWo==%O0U`>2A(+ zUt+$7Jo-iQZ~g}IZP(tmn-~YM0i{EX_cu8iW1o@j!vt?T<8y)N^xw?)C4E@Jz6Q>l z{+H8X*s9vkfSz>e*MxNGrhwNZXLQ25mr3c7iu9xM_%vYI8dOqRJh}yaEBu1o%PuX$ zd-1lwf6(DM{C35kyz9}K6*-+lec%jmmoG0N&EG}+fcBQEzB=`__%bpZ=5yi;zQhb? z@(=zrvROQgLHVFJGbUZ`*KD@=|Erw8MD-Np1Mzt_;sZ(V_qyXo#tZVN6b_&zOK zM4RH6OzI!sSwZs}#_>e|>u4{fujl{9%0!^8_~!Bh>Gkei^p|)S-0f<|8{IgUUSBfb zrj@xb87+{<^KR*(o4@R1pLm-GdqMXIC9;h+QrGcLMnq3R^>0WfG&a?-&#)yYUaEcW z%E$Y1+G~#Q@J}|y`9-xY_1RnoIA3MV<1Rh(UG&qgW>;f>>bW4J$nWElALN^Qc2vSM`z%aXNdK^oBiWR`QyJEpCp0hM z+*|D|5v=pNk~@v|T`}#>ryqQ@(n;dK;{Vt)bG!6vp5dX@se0%; zZR24Gmuno((qrreu)GENa|O?T`&jgCBYkDF=H16d=f0`S_I`O>>eN@%ItzVLeU~=U zIZ4{ZzxM%qAwTu&yw)eXG!Gf+PL{^JAITFRZ<76JlH0Mrb-e$7Jnz?u_g6dIxlig! z!Pk4ya5ufOIgw5lFMK|ugJeCL_?H*UNO@S?VIn5{Z3?A6}6UY&EwEXbCjW!EG zUQqiWW779}4*DG(G9lYxAN9;Yi|Ld5N)w-Fe?a0P!;}LA>xlbk&icy$; z65V+4osX&yAqT{;VU7r#A^N6dJCxZa`}>pVN%5Gnb)Kb9#8;h(oBK5NtVWKnK|fv# zuC#A%vd{MKz3p3W98Bqt1?foTz1HDm{e`><_k!kykDildqkg8}Yo?z8&BtUzf7-#O{j&D<{>72*(z0fmD>q~=_jhW?p4zN*k(ZOK9I-d)w-(bx zIOd~rMPKf5%89=hiC5Q@X6=mAJl`c;(fqn5qX5`>ls7Z;!{2;9z&XV zJUr#_`9sf#?;s>|$oAYPWDmfTPc+N1>d|@qdFj%ZcaeUVYZH?{$s#uPAn{y+%)w{p z1N7_L);I2QYe03*=>3^!pr3?w?D%^Qp8hG{=RT(Tqk29@|4EVyQlGBARQG+z@UZXw z_I>Vt%6h(+wKu>&zg2kY+3)EK&*y4=Qt8l9fcIC4Cwe~z|7`fi^KSXwlzuMvdo}uB{&uu)`h~;m1eJ-#5Y8K0AERF}uGzkuk#6E) zOINh(&$<60Iqt2cW=B<)nm_%1+QaMGlxM94*7=v-mVW)X^q;*art|x?7KdC(ep2MW z&U4VkUpatJfpUWPammUx?s?G5^V$orkv>G34>jOR$7}D3jTMp&`Z|3o>+3^$Mg|`G z88Q!SotcmQ(uczOALA5bK6ltZ{*cl>)kmUDP#FPX)14)0rdSM2BT zKF+&hJBN4nURi8s_dZfgR=Zfv;hjB%7Rx#0zhSA1%^cnfC%V|p;r)hQ7wb8^D;Bk4 zJ%{)5sV>%acvtLe#dgl#p^wlb82(yz6^48VAkpf4H>Mukm7YJ}*8uHj*!`cXOo_ zoAY$nH)oM2voVmnx2*juD>~9J=3(v(FsBa#lW!T!(wQA$=86u_HwKtD z0Q0GQdp!A;!6bIpG4U7@x4(yZd4T!$!{Euc3})r5jxeV@%ohikzXwdUVLN{EErVG& zyCck^zi;oX0P_}LRyx4sTLyEoGt4o62i;;|TAv(m^vMqfT|z(LOv{~;i$AF)cS=_s zM<20qGwLUQq5k3Dp_MtHzn9w2&Ek6*o1-VERyn=(3G9Knb=ctBlbsdv5@&Y+9xhG4!um^8M{b6*n-5S&lvdxH zjJ|;~+i4%$pAmn1Hr@}UQ6h6^#cf*q~*e1yyJTBlc^ z>v4IG>XEI>7$9DjB#){Kyw2p=>_^5J`DDyj*5YdmeZ}Ht%Z9~v*@r!}|5jufe#iYS zwAERvQ}PMUe<0c}_p;fJHlME}ZJZs;_`J^1_K(=W;`745!*I_Xc86kL)o)EkjW*^T zb^655jV335ZRuH=OyEzNkWJo+rqvNmuYI;ORU0%7`*@G{dYYD~9`)n6y~IEGWb(Aa ze0sa<{Whm0Mp#mtAx(4&cYIj*N}nCAFN-m|4O8OYji=pxsC*Lhl3x%M+X<$XX| zKg0#S)MP!1qvB+}0k1gV;B5n50aW zh^%!ueiB0{^SRrewn%@?8z+d((lkz#8+Z@DSa|o;&H``ibJ3kkp$~o2@y2}D@@ZVw zq7$xzUgJ;M#c$D^+V~UIGq}O=XQAi!!-5&~Yr%~LgUg^bq!DXd^p7c~N=Q4$rR7Ld zEPY$2{8+NHDm}6(Hz2;Jm-27%8gm2l_)s|4_@Mj7TJaltiQ~gQboku$$;8dV?|LWu z!_xaYXR$dqp!GXThY#XU!KY_9($?A^t#R{D|AMvz&!%tJ=0-n!Kk3(zzTLI4jgi;6 z=P*Xxq?ywTt2n2=^Q^q4hb99SP^r&VV*-9Cucv1C7@n0gW$x1{x2kFT^w!8gX%2X&fAM zG~Rd^8ovlmq7gc*4HNlhXzS3PA3QjBrTN=i?JVN)sQhU@YTh#4i zkZ$-k{s8JD7Slk=+LB@z65rkS9GN}6i?SYPvpdOiBl2cE$6ier@_ifs-e+hul-4xs z(Ncqk!B>igzS^Tt!Z%=Vw$nM-yO8*r!g4)s!xzK6c9m{l&HyJsQ&7Gt;?dqqu zLo0YGMy}cJ$YuDx$E4350C(eW+K4%1{X61s@iNEXo5kNpoeq=!72e+f$Ao_UVeps%R-OK*^iKua zB6?oZLeKjb0mIW%)U)VVgx_8Jk%DYp=*J?hTea$j>RPjZGu;s3JoYQXxu^E4!ns4a zY^;pRP5E-AcI760eVpBID|Z;a z4El1tD(87zL?&|=V#gmw&dz)WIopN38RYE0@Z3Sprn{TvY&!3FKdt%Gn8hjVtJS6d zTI6iKm$Pgx8P4}@3g@-7PJDQMHTNL8X|89_++6RTg7niq`e)Ej2e>x{eKm)knnMT7 z(f1RbBcPvGbcUb4JgNT&a|2byZg|++JbQhi_@I|9{*6D`vF# zFaLtpdyiwS68}Qzw`<_xVf5j2H}QHRyK*{THGOD&oZ1F{=)*h2NBU$xcQw5g-O#Gb zax&s-e9UC!n^d8qg?BfMqPyOP_{m4$jIi>XB zWWv_4!AZ~Q!)KIHpsQ+@Sc6TLmPZN5Hix@D;! z2gc%Y;PTwg`sIT=#rO9lZXBpdk6l%oodpNsdW*{1xZ%fx$DN)xeg31vj0aD;e1{zm zes1zMYjd@I?6q1@+EZST>?ti6KwU{#oq}Tb* zc(c2Hsb6zN?|$`%hwieyL%wYM?elyye*3a#Xf5;hS5SAdNBqdfsD~NLCS4qJ)uC@+ z{xkYBeJ8!v$E;D>M@hSnG@k39_G1_M?^j#i7mZgBHjh`PN3JDiCu4Bp#w%;*Aon|H z7tXD=oGpJSmim#JA^wqvDp4~`Y*xWW=f$Le&qIRCANAm6rN$?9~KEcbA zowhG?1G?kpWap&m4Rqz@rJW`dkMoS*OmhzFuP1Teg7~Gmdft!aN)x{}lcqU6wA;MH z&ohH9a=K(M@5b_in|CyL1FYrn!}~|*4=wa38)VZ>OOH-nNw z)P6EQuZ`9Pu^|WgFHUxxqyE!_Eb?$o{625!AcvjV*6P6atZ5E#}g0sN6z1;c7-1EU)%SB`~JS@ zdx7u1y_v&*uI(BqWe?^Ook=~+8fdi;uYryfr@0SS_u0aqoYqL!Ziv@FM~W5R8*88= z#gzBP8YuVeUfjF}x~0E)4Rj0l&+0x~2Y6!3!2wJr;lx31HGZx zyau|3dvGp_)<9XOX<8F4oqg16qNm>b|Bp4%?<*!6KIPUm(O;5|ENlF+HPIjPPJaw* zqSoJR9>rQ4eQlNGqMNhI%%8&8bC9bz-2932HDjl#ul3eGh2C4B{u`}{mh3K=#`=r) z{kE=&j%n|SAN#ZUWYRcqs`}&lhHMSCr}jtEv#sS)S1z+NBRq$Fx%am#=g)PvD>vrL z-9kC(jnmm*71mF+ezcJGZdyYvLXXxI=dYnQcpJWJP4gb+Wp1A5c+KAMPP`uUYpAak z4YZH+Xi0if@aC_fHrLl?4b|Elv&-V-94cj#i07mZI)`fXy1p(t zsb_he@B9bssK9X!wG~dCLlvCW);Md5^GS;{K8G5wyUw8s&O&_+as!__hx)L^`2qMl z+>_h1?)Vn9k+ZfoiL<6S@3J^QYutk&1SCUNHHns%>PoR^M)6W_*zv!*yd zO`P!U%*EJzx8!9qUik|6KE|7E_&67{2(uQ3&_C$Gsz9H@y|D1D`u?k`XZ^_Bgya|6J zrjO>HN#jog_1~mH9+GhZVx9j#=Ax4}zSQN8`<_dc>b|IV5!<)3G8Otj{qr+eCydy% zVNI9Hm$C@)ojIuoX~%Vb$>#L92WXhGV%(~+YJssFo+XagSQYmBREb;X>H2=goLD0l z!2VR7J>QInaXEKAhQ*p@$EFQyU54A>SHlBXm#)emIBs$HJrsNnkB-h@oBdq>Gp2Uu zmZSTl2meyMw5H;IM6^R$Vx*~cx7NR}mC^Nso^@eT;y z&dPf!OVxo0&XaZ3(==}vk`Z!6?1bG&H#Rc$+%>)gRS zwd{XWneF>(Ws7+@%7QxV>zwWZEo57GIkI)|<^^wOWyW}9>%bKiZlcO|QWM!Wn>XLQ zBl(VF-uzrge}6vVRqAiGF5}waMt>iE#@LCZ{&v0`89R7=nWOHk{1A9|sJ{+eR^bK# zNBv!BWIV*!iF4Z)7yGHsZ4Y-~Eo;mUI`~4JE58BwGSK_ge?&cB!Q3{^_>9?c$%izV z+qU_S*gB7w*}iXmwe5?!V%vuXbng1B7VUe@Q!mFp)$xXcx3ltw@wBhQkAI}`u}fY} z`#Sh)f-hZ}r|tXfldr6OpB#7l*7s?Km;eTM};*(Y=54WHH!b@ z4>B{#^gjoyya!B9$DH%HWUB0yl5#myZofpiJapGbIXQm~_&<;D>>rasL*THtg?hb| z^~c&G(xU(Kd7mrFmrZ%>4g0a~H#KXs?YitO@bzw-;QCJFNvDfn#(FNhhQjTKx`tx7 zqg3CQK%P>iy1w+v9Cy0%J=hcSEw&RrNamdBI~Wfj-bNlUnsYuEbwOG1Z2f-yTnIbY zJPGwetXUy{&E}ddpONp(&5YZMpw446wsqDFpfBvzlFtFf^H=DO(Xafi^*d>stc}82fi25*Px9g3kgc2K{4p2wF^ngr z4;+rX9P|ZeJPv7{O#JH2a>qQwsX|?6vTtOax+)K|A8}r3-`vOrw1sPcN7wk|m}A4Y z_j25NFzm#^#H6uRlkw?TJGLZ5U_9dmShw}j6gZ`$I^ zfTunAAZ--tE$bB?!Fq*9kQYN;u1?e?z&yE?pY%VJtLy(5^i~*pA6I&3kRE9;51OQl z+}cvi2j(!YvwXZK!AFDa#>q#otR+ZS&Q(4R2OnF|?jioXQfcKm-jubO;nJS6Pnmoj z=}imI#6D*H--}=?J*$p_vy+q>~g z`bwE+qd(-nzz{g$PbLM>XY$N<_#NFx$T;r=ocTbzpImFyblu<%`bG`0_n3Vn(;e>{ zSTDu8a{Q4$$@Gn#Q779szRX-mlfH2?=)9`F;n4L@HoEpKVpZ)M!_l5z^h5ABnCKgW zDFZ(!d@KATfFG-G{3KBq?Hds->bLfd!Hyu-H{$eG8h$q^y_efJZc6Z>edA^GF(C8y z>B@le5$hXXFZxDi+GlBmD(2*{m->rxWwAvp$b^E8rUv`K-mXhnmkS z&|mO5gEg?QDRvGuZ|qB5hM*nkS1D6=#&CnF%xl;WjXs}Y^lK61hhT!Shu{$Zhn(0a z&{n`hUk5#n<-}rmdIe8cWe?y9P``^UHTb&_fA7cN#aRDwO+v=_ zF7K$rC>P>8?vuELKE~rZ!b{U#(iVVcIayzV?|dg^@L$Rip7>WeYYgEd&tx6IldQ9a zZ}OQV2R!3-`ZoH}d$dfHkKdr}iEk&dJsp2h;J6QQ)gkOJ8_XPr$9YXYqrc>t3%(A| zSaT63`pXvZpRAvW^JHuQ8?DS@U$H5dMy4{;O|8Ior1s9nzS>%N9~MqNjXIA z4EPHoV(* zwB*=CKk+R3xysQ`K3n~K|367T9eLV&)4q=SHP|5VJAEwubnx`Phwai;>8G4fzY*5& z*`w>{K5gpKGsQLk!Mq2??;h6Y7`r|56zuD|MBYuoog8Q{?E9iUSt#%E-0e-5wO9Nv z_a%Fi*H)oN-3unmJy?ukGq4j}kJLS7-dYcRx_iNqYXkKC?gbgSTX}c-G59Obn_G^a zGjp+iQQzn0mZ#Wf>?!8{Gbvx4TV_t*z|O;dN?U$jS=LWzU0#GuvUwBP^SLW**sjRm zb)}vh<$UkQ_f~7AGIE~I?q%fAhN9=m^=ICTWZ&Z~*P(9A z(b>JW(Z1boug8}0aNm=UeIWKX&UTI9J>Y7?w=8I8k(-N>F<-O%ro>i9@M z7~QavV^{8Vws^6oJkHAobN+?>u6&$qf5-U19ZxYnP_HB(-bt{T*asQG1Ewh-fDP8? zdPXs4Xzm60mN^3!eOO=%)6wo2Z>pSqp2c$$&ZFdBM%qB!_wrz;|0y{i=Qi{O^wam4 zHkY&4VsQ8l-Ca?Chj{u9Z-{NrGi^fP&750U0=x^U1OLXe=I%f&?Vgze9F*lop2Ldg z?d$H1=U%}#^_TGX6Mix3x46z1pZVSLKsl4=67d1%3xHu96ZLavPq6r0jJX9C^RTdQ z*cYq%F^GBDMX-D47<}A203WvU-7YQ2&Yx0R2|Zcio_TgV;}iIr0rGn$_{I30JpIw} zqm0XiF4_ZhN6wlFnKLhB@(6<+p4kWRsM%|Wwa62UUo9M1_GLX-SLMKM#;@kVQwTWn zN?Bfj_Tn>XyEL|-Oo%l`Q#(NGMC2AuWElgK0nhH3!G$}Nymgw~gv3&SqiyIY93;L! z$}>7V_R5;Bu1cr!Nc$Bq*8%$MSCp;n0|tGOpOriMq39&uL$@XgAMy@z)V7%X=TXz| z&}NY95ZfingTS8~z1KMiJ^zHc`>p4AJ)CRc8AYSW5$;2t&M|9_c$R=S31`QH7WIHO z!~XU`BgC9A+Y~%)l=rGHIJCmf(8PP5;XER-G;|tm{8Z}iCjT?mTty0U*@E)IJLudAI<_A~ z>lYmP%uSTPBUWD56FB7q;M||Qp34CzHWaq`doAE?T=N>#&+ybZA4HzW`(2d5jNH)M zx7ysgS+5-9AMCenVER!T{4?KMD&eiuQs|$SxH&^ z=6AN2chprYa~|;Gx3$->!I8W&kW0{oZ?J{IBrSt^7|NKJW6%r$gUq3*3H!b-6u~TR>X|GfG1o1M>XL z3~e)fa^CZfr`>bE<@gPD1!Z<3zM#{bb!^){ru*n8TOju^fkW`CZ7Q06yYdLMW2mk8SuCbeVQ3K*zQw_$X*SEq?w_gO9Pwd0yL2EC<>#erO|I z-q4SF*q7$mIcCuQ;0|oc7TA(r>MF{9ReXlEC-u2#wlT{UwcLN~pj=+deRc=svRbZh zN9BCO-@oploUi3B-9fof>0Y#ha(TsfZi{l3|9kMgmuC$?hSx#f9M{jJ%(+tOtI7jqUp!=cAvjENYuP3)%H@KPTF74xZbb zZ%^R2j9a+(7;>?)e_^}vNjaVqjIoTz7|_NCD0@HRJnIv5eFpqyY+qJPCRtfS(plLr zA(IcOOq$v|M;9id&B_01_-}dKh0kj*mwG)7eyx6_o%fI9y)ECy_dmW$$_K0;W$MHY zC7c5yzU?lrhcX&a`P~Q^)%5wpc&44MV*lPK%4O&mFut&{q38Ikx?B$9dIGzLW-#S- zijS0dLe@QWR<D_>T=-w3|xJH`LOuQbR2`{Ry*{3E~a%0SLP=&W1^T-146 zcb)+{y2y%Nm6nqrEYG9oU~onKY|MP1i&eRVIwXtbMv0yxRVO{K%ND)dZ(i<^v`4Xbz4sSc(=-%@gL#Os>2hHjoa<}vHY~apHzo$6<64DLZ37d z1Cv$`aYw5dAm~In#5Q8{&|eWJY?N^JP%+5yrdJKSkzUijA)lgcg|;(m;@IBrl-$Yjq6dX~%-atg3_pkZp|7BR3vo7g zkMzwncqMJTmpXucgD*lIKEZX8fVbELY^jqxP$P`w;YgS(&?cj9jm z^Gs;}X8lp$wLvB!o>4B=r^l@)cS29@Qau4pK6^8}PazMYGn6^_;4}66E6h~^rmh=_ z{M&l?aMocI{J)4l_C53^$x%6d>5KFy*ax4bU0x3!MqgfEycY0d!J&P-f)}gQ|Krhy zct(9dL+S?Jf+JL)zyqIIxBFQ)_WKt_XQO_9F?}1}OWw?>1LJ{a@7M6XV*|FYtLNs! zb3hw0>Xvh)AIn-@=HJZO;?Qe;;~XY+6@7dP^p`qQ&zFC_-WN4TN1HbKEByV|+%plT zaNp9eN<-{_ZSaqR3;H`mnK4K5E7YBR4=}-RRStmVGh>>a;j=@)b1g>13*bZC@7nDB z3w-|q^gdDkjjH#!UwdJ*?|J?1oi+0m^s$BP+oC%U>77*%fwvDs7x6p9Gi?CsB;)$* zDBBAB9_g)pqlppwZ2oB*%Jp-vHO^6WVy3=Sp|i~Qj1#kRu0gtThQ`ZhLk~ySr+Va` z1IS_z_B)q8aPqgMZ}SR4cd92`zq}{tUfx4p3xFfUGi8~{RQD8lKOpj6C}+MWtc_e&PEM%#OX!HltT+ zO)pzC^n9hq`AFJ!vAf8z)9zBQjV=7S&IKiGNjKK{!Vlu^p&_};2|C#J&Et@p2W~tw zr$^nF_47;NbAT6ZAU;QAg)-0+xr@nDKh2ym{KXJuh<^HjD5iD_I@xGM4 zr;hgOI+eiyXBmP|=0*_blh$ zXDB#3EB`tcpHBQT9zL`0r2eEUYn$<@GH=Rft~H-|!P!|ki#S!6Wc;GKL_biUXBld+ zv(Q(ptCGBIpI5+|6vQ^Lc|D_D?SG?h_#*x&f4|ft`&-UUe=`QF}Ul zYTJeCJA&5rs>!;VbmeDkACxCP-H#W^XdBu|nTpz(Zc{#d#Rs zE~U+7)SY$lXh)FChpl9uUY^1K$ZtL5>8U5Uui+;vpks?5gGDCK#`#@7{|fI>7W)<; z2mJmieuGcBtJwB!j;FV+vA*&sH>VQgGd$n$`AP7ZLVIPrt5*`Q<*5UBgr7bmixOo` z{_vYNu~0(W;CJ>c&a39=zt*x0-_5~0mO-4dS<0N+SSE{iEQ7wfc`M}oSSqzp?wP^) zI$OX$WVJ9zbyU{Aggk=N-};^Yp>rLP3_mi(moZ*x%Qbnoq{+K;o4k8plXo9(@~#wrC+&l|Me()NAB^## z12UHJl*gc+-;nRn8OAX(Z(-{qV|mv51cRS2EynVKgY>MNSZ;?jAkTm0@)`Hyfn z=4a%41OF%&;nti?t}#Cn$E|JU@ZB6Y%0;-3HnQ0vZf)}&;zqd$_mShot-7;A+$a~} zK7X9JRR?#78|5P09~dX@51Vp3#Eo(h?n}psTl>Tgaid&>`-&aoM&BB=^Q??VPo+&x z*q(mpyb8DcnY%i+$MYiFLtCW&bC~g;f04002g08n0{dri=(>SHugSWB+eaI1U@Ja) zTt50+^HEbib^#yLzz6&GV&3cJ)VGM(#>P_L{p%=m$D7Hok3P%tXX71w+)BbTMz(eF z;5%*{!8vk{JfHb%{P&lB2mh$wVZY$ROL`B|Pj%c-pMSLFh?oAZ1b^thyBs`_&v!sh z?tAzjd4E>o{f860{bz!=e@XDhx;2~63o(wd?I3;^@vw;x{Ah2aw0|beF{-qGc(L)j zgNO&f-?R`g%nAJM&G6+hI!(?1*|&cG0QbId?7%bq*%sKJIuhU+c3#FxkHUX$r7y*| z5P3VsNpIOx;suG5GN3K%98N^P;5Z8S2rtib@r-c;*OS^efH{ zh+GSGxz^TEuAP;)L9VFV%K85V`2w%i->cB3#Eo@WL!c`%gIwfJQF)K~ZLaGS-f~Uq zq3;;apq!}#-pOy&gX2{TYv0-5KJ-?eGczRaGwrPReJ!7aeFR?PxP&r7c`MJNiEUS& zVCm>LtaTs3S@hs3PQ%i(@FC$9XT%TqXB!Y6<&dXs!`gW~V;x3tmp-TQd}rHGBujih z%=8awZ{jlaRVD?GssOb1}U^5CLs>$FK~u<4(?ngI=cwDX6k{-MdWTB zT|P63U zoFQ`l6Au~#4)|PK1pVkCPwpCJ-k~_U$R82Ev+DApaIVfVEXoUCTzBlwFO+aUrSJhc zNsf~;Ls^gcec<6U)^I<6E9Vy=JG{r;0Vo4`$}?r_+BUZD6f>>~bo}nmgp2{}?qxyy zua)+vEyOq4!Znb2hO%b6oViTKi9T^SWj@Y!0d3}=ciuVvP40r`m=*DHB93m1N41>9 zFnk_Q91R)ysDB6<`S7n<_-d|em3b)0c@E}X#O_m;vVRQgB;-BTNoZTJ40Tdu2RtF( zbN(aB8-tfq{$kchgeVuRUN*Fj`SEiUMs=5aygmV0h>ii~CoH2f>xU1g-qIG@??1qI z%Dl)tF!hLS0^Dw!g!rAonr+r+E5_4XP|o_di)O_A8*R*}(~n|(P5YGFZi^nP=ld*A z|K{=}J`lEK)5Q3^WVZ(%^v)yKj-b5M2Qu)WGjrH~!EYPv1^t&_!rhwi(U1Se%)He>a;{HIQj%ir=#d$2`uozaIbB<3H^v`^v>_ zLkLD1{7(VxL%qt;CZ5K!bs6jr8Av}m?ea$dgL2bR*Jj@v{13`T{6a?OQAUfK$Y*hL z`8X)14EaFb-QUu+nePUSjLfcCht*Fk!rFRy4_mK#CAQvtpGv)H zrXRn4Vf6YfsAEX|xEQ#&F3k0_cuv~-<54E2Q>sI*d~SQD(cT^jIO_vE>HDy^sh$2A z_IB9X+mHWx$M*KIMteK#tG)fmIN)yueA3?9J#L))=e^3bEq z6ON7!W^sO#|9x|&H-0~t9mYM!dSqv{-_K>=HzhiAJp0lp?tNYoohgprgV`xK!(8uG z2L9)=-ofrY%-E}kdzkf%a^dH>OxeFZ!atbp!x`j*&hL}({hQA31Lu_e?>fJS@%ujK zci-HyKb+=xtB<)H=+X#d47<4a}HX^pu-*2oy13Q zZx`DyRXs?3#H4b57y5|K$`Jf<2D*F2FX01#muG*qffmQ2+o(ISaeh6|VauMKC}Z^o zHf%)JjbNT6Od+R^F_72+Jo_&l_mF&p&3E5>FP-#|a!OfG*E^3bvTa0>fLjIW(k4yPJ9 zu7(^r7qkTa#lmyUC2O}}FBwD7hU(noa0kvQZ-uis&G_$?zzG{P;!Vz7i**Li`(`|s zXyev+1_V!MB?mm*cVzjB^do2u8!GHUmIwN0#*W~JZ4ZC))TX~luEp@@dCzlv(mP;#%jY+P&9sIsPB(R6UwL~oSaSw^bGi!qYrwv_ z8Ek0`y1N;=_W%}c(OBPVYuHd>zXw>(e>SvPM$VCM%5!mdL-#hoW}Cs5TEm74djnt@ zZ(F*Oo6z=;`bW?jPjLo$NLT0^EsjX1p>Gpf^wpZcbyh9~oUv<$;s-eey51U(bC&)*k)&VfYg5%d|~C?lcnnOdo*0&TsDf66dI~UV!eY203QxXX+<;F79b~o=!Oc*H0k>#8uN| z?J|CEGQTm#vhCJ*Zf1EO-Y_;iwShP2&U~S#ZB(kaak!V^?HTys2DoIM z95`S0Pfd=H$d{3q;o3`nY z4ciW~!MFzNg1JA@?x)hRHvFUPr|QBvK%7e|9VP7_%=Jd>Z+{QQ3Np74*G=4=@KIOa ztBx#Z8(Dr9{7cRoeEb4yoj6ZWgM2*RueH^~-DHV)CNni!>mj=1;*|R>Ix8OqPPd+- ztG1q4r!fclMymq_tmSB+k<%$5=smx)Y zf^A-pv;of1lK)t@-dNvhE!(0v*U*`>gSKG);gz;UO=(PgnQaj&+>5X!&Dvtwj@rVn z^W3B@2A%kOup{0UgDKM%gKdRL<=%NlM!x|c+*9f1l_ZCSJ_*0R=C*BE3(I_z{cUVT zf=;Y0Vswi04V}A8eTUhHUESllNXQ}iKFVW7F*9rd^f20w^HXp3_E~7=>r&3$eQHoz{z#WbI=y{ z-DS!TVn62LrcDPASR+oo724vD0pr29!6$R=*kDKh^k|)8l8=D}VbY>>+yT$D>h&~ne*-qiMnx& z5o|CvAY*J;T)wbj$AD+G0WsP&rF{fw$7BP1kPFvuLN4Ym1RXcV;6s5=R~8w$Ok>{K z;)&|+?c9=nUhnnTi*<*MOYV_3vbO%~n=;pE_peY^m+xxEra8njfy!R?{hfPs59X!J z*#Ymw^M(3c!1HQ-zArbj2i5>$AN_9L_`JZUE7t;^aX!rCtF$)& zmN_jG=ik?G){nO8lXT)Xc9TLehJjm4Re3d2rvX$kt+*h0Ex2LNttxdxG@XPDB z4();08rpA4%5%i9pK3#b|;L*pXO&O0|9r*0QhW-HtK8i7;ybSU^?7Q{cRecY4 z)K3mE@kT-CnBD>&O0Dc?X=c0~a`krT)w@4-YSIqaJJ!$+|ATkz$F>~~f4S}8(9R!b zwvDHh_?XlXyfiDVty7F7VvmNNCES{G7?ZDTR{=I;=a?L{S{vog(_+O9xTg$(w z@;{w&pgp@A?b7ZY!#bUS zITret_L;IKqt}TgMTboehB*rpAC>kj&xejiaRAN(uzn@4XCmyUa(f%sCR_a848fn@ z5q?k3Ol-<|-yDRBIxc?d6uy6F0ne$Hp1jQD1*58^YRv5n(R&niAYFO zf66lD$TU>cm>4$s+~(f^ytGid=I|9`a8@T<0d+Gfb5 z%CRN(tKhG0BTzQOJ+fQ9@)xZ?#k;HU&b8S;qK(*UVqWNe)K-zrOvbzpkHx&<@n67W ztc`&$YG1^>6I$qcufXH{55Q|4J(82iCmHWLv};QH9KcHM4RzyuqsU5QN3N}rHAFm* z0N?)v*~Px|9BVC8(=t!GWi)0ajsg81y5FG>e|}KghcuC2c+UNe_!V)C+y~Ny?`WUO z6nrmqAkWhg%Rk2JovYtLkksXYLz!~fZrs&KM#Z6G|-!7=nXji zF>2#6=w**K^d^8_L>*nFU zg>M~-SbSf=Jp$W{d48@d!M>}_lKX`1BRuwT%Q;du)}Xy-Uq<_NQJ?>4=1BT%KLhT* zj{e!M?)9ln=;L@elzU`4D-UdzdgvO#2OHKM+gJeWAxAD@+v+$4e%<7fwB0XqzfCdU z{=zyt^L%bh$M^M^PV?kC_C;Tc*8}J7JL8bPR6+cO)WerMMmj5>M?Hi$?lGH$yXzf( z&@P-K9O670oEhcbCw>ySU(fNATzgxBE#v)8mIrHV)pzxEc$t>G*!xO80$vKteW=}R zM{b+EwV9l#+#MzBl9_h^uO;TS5hrQ2CU>L!`&d_NWSc5yz$obs4f7 zl4tenIr??|hIt9`abKcsy$gQ*F5}mGjU5p^6&-QPtL^XWi2HWzSFQ8tpGdost~?7p zd;&*< zPN1x9L(}K&+U~aKjCiqe$nkGMKirD*6COR-8+vT9HxwQW`7hSBbsNx6uavk0wo&H= zme$)}R&G4C?84R%xPo;NoxtDr9T+Daq$GVQ~@xsme|V}^?vZyxTf zS0L8U26%OXL3awLC@+%FtIc(xDw?c3u8Or z!|1d0H*-*|e+FZ~0PVtYObn;ypFX5Gi_nv5Go0{?5l;ANktyoy?`-A=p`X&;{$*y~ zXD8HQbR*=x(X>T?{?-N_{J(<_@OA;#L$eMGoqibEI&WUfwkV#)w!r{&I|Asf)oi-VpbM@;#s3HV>}BJL((sR@%Na&z*yfx6SFKm#+K;afsl$&>IS_ zGo0-HO@ztrzSj3j#yp&KVNHVZbQZ8l(EFwS3LKgr6PNq^yySkJc; z`2#%5wJQHwl(W1?@+r)3**~&xGxE8I{DSU}Z0rn~pTNCQtDG1c@4kh1YzG^c+)SQ$ zj{xS8xW1x+c08Vr$;v;|(5`^Cg_Hgce34C!$I~(RtiY!$pC#|m8=q^yp+jo< z+=X0FJqwr8hIleh_7U)G=|wV%$KEkIq4HTG9q2G*Uk;%svOW{@g?C7Q#(cK;NYKIB z-vDigHr^OsQ!?e~`>~F5!TrF&HUzI6OG(TJoYZly*`&OeIc;!8Lf$JV@71qN-r2K_ zyx;r^<((J!bmgcP^2RyJP36ry0$z^1eL2&lvoa5K*az5;*k5oLm+>7NOyAw`2do={ z>>l{J#9xClC#CJoKD~V%?%-SAX7<3yI%@yc?aL9zF!pZZmqxMPSLgv&=v~;x@vz|K zdIhd4w)Gg7U&5UTu{bt&81o(y#|{*Yop_46gSP)q#C>kRnnIfnTh6`8w4FKH_f->{ z+V?KhpRhIBGTP$R6MHhW->AWk|W)P8p;3}aBS-+H*E4*7R` z{+eZu?PdL2`a-v!t4uw=hI)GNgcX$_B*s|?Z`_jzUw*IBPy zHnvY#gSJ^UvB4*N2m4WEUkiN}@!)^VHzeS0LwQ@b$nN33jaE8ZTy5mHjP(J1*EjqG zd)ml1{M1w*b}Y8O9{RjU+syijv#5tGkF(oo_qe{FYx?Oog7NqbN6z_k4PUdsm#vTV z$0qn&`Vj|TQShZJY1Z@oXbbugtP8h(zoc{xXcA);Fuzw}p`yI1)d%+fBo`&&v343}vaOaHGA^uMFA6Djn z$vf!TAYWshp%+(c9B1|7FxWY}TL*1^yO> z;0t#9^-}Gl&{g~RL!~ck5IzG_Gm_ zlT(;%104f%slxPvPD%ONJz2KjlwIqT&1qTJ|A>48Q}*3jwg|ih+pg+=a%}6R*sB5` z6E4roT*dL|%pakAw6w5`Kq^KA2t7$5co$ea0C@9jZ<`^lr?tI`IeztD$NEgrt{xt@6_d`#0j2UySo}TT=uIVPK@>kLAM{kd)CkPEBNr~v}GR0 z6|}b~Z|!YA^4_*z({8a{I-EG2zui9Uf5_O|Dq>d)C-$HTe%f2X=dArm;>!xYbmey7 z^AHnoosY#E@#EOhBz&*(a|2^(+s3Lh)EDT$2;*qfy&U3uBq!*~aX&LKl*^9vNX}E! zHuR}CXcNH++;YbD45M#yCNE-gSN}}xY4-4prds4gXn&Do%1{T^ArEq~H$HotSs1ss z-r|=O*&sI*Jb>{eW5=8D-?a&v8@K}gg?f`^{WxcPGtL16FV7URBnhkb@R%`Ra|$~@30pGu>oA3_S-a@aotcE`H!%A-Fk&Aam{xXjmckURodis< z&g2sUyrX=-W8-7Uz(arf7U|>t)Wq2F4!j?|4e&Q({8(x;_g>zlxd!OAwRu_WeVafW z&bL{3$KS3kI-2$gePIq{g}x;B5q<^lTsw3v@o0V^GakF+=<+~`y4)$g(b@;GJDMM8 zYG)kyn!scI4}1;fav^xJcv{*S2R_?t=wD8FjL}jdgwUqf``2|SXTwV zbL!}oknsa~+(+s6@UAa;#=BAcrd)Ftj%DyZTwfYu?j^EQXuD@9?}TjMnvku;2Cq=I z;RaK;6{wq)$;*+ge+A*wl_ONP)Om|%JhCkcd}n15;Dd{eK3A#Fi8}9rI-~8d9tC6h zlo`vrcb_01yd85Y(S0`dx7RnkxjO%eKl$G3FHFf4XKw^<>Hu^4Tx&=e?}ndmuFj2@ z$!HlFSFy}3_ie6b<7Lo(f+xi~>+=@a+APn)Mqd0=xYx42e#Y4oa--M7d%YUuR883P zLfxMGA2;n3!VYA(*N*F0Z-iaP+G>kO+70g_-eQ*azqAL}(I)W} z70-FV69R_%gZM>a*k{GFAPKqJSs6Iic^b)fJA z_@`LPuLEAL*NXH8b@;)bpi3JZ{ldF_61tRJ$7p$o>Xg(a zr%pAY-C5ZSv@M+I(guh3q%Jw|$jgfTngn?2(iErtBKi$6XkDiHKEiiaUPL?z_-MV{ zXv(jTwK291yAX?xnte_AT>*nW#e3n{r`B+7?2G1GQNR6JzimWL1oax`{Jzv{6z#-0 z2&@l)4h?tozb4wB#^0$xcpK)J+rQS-?P2g1!-4a_V>mL4TjIznj!g~@j>p_J3Z1ZX z-I&*}uaBjT*1Mvedn?^DhcG6VJzl8qG{%A7)%re#{g%NI=9}12eEXVyn5v-~+_ z?%l=zkHMaIKb=}zz}PN}w(I^|YHbcax%;Km+5x}>prH?uf<8)66I?Z_Qy+5-KPzf(8^oB!FKz1JJPDRAtvD7W3#hrW$>xFO#&f_5E= za8+C58cqeUK;dX63GxHJ@xR zjFHi=dw6y|bZB7+IvM0sqVL#~Dc_Hr()>H-DdqdDbmMp60&O$@vccRhEIdRo4j-0I zD?Tirt@x07?SO~nh6l(M{RML6d@E!?e=EORoG0MpJOSYwJZ1q?FMqmukNVj6>=$;O zlkFEmkFw^RZmTm48gMI3)Z5}FkKRkCw?5mzl`->SOT9~k??`r-H=Z@~6z@pfSHBcz z9q`;7mcet>PF6;*>U;!UGmf(oN8tmf!#?JaNA`o)${Cu@8myrZXU8nXJUqwmP0Ju( z%e9j9o77dV+2S+SM$1~|Er1u>R5+>}$o{h#?lJ8c@`{}HUgdj34D zRVR-KxER0H{jJio{ee2JG0|{GW@+R%`?>Zu*KTZeZfQ9?$N1jApbrYq&Y24qe-vLJ zH$4HdLw$c$9Zym4;QlY*Vf`Cm3$0-X6!u}ugOwZV3>iKcqHd7+QyX~h0_#a0F?P)$ zht@!63?6;m1NlABsmB0z&z0Hx`vPT+^*{EkFt5ou84WZ`o_nUnV5+|^mr!Yb9yEE^ zF2?{Co^cZMrp$fNhBvZL)g zsu^slHEdpC?*{DRX0SNlGiIk8x<{%qkThlJ?XJmaTU~A1_5d*i9SE#TT0M_culN<-S`U1TuK`*E; z8RSfo9vn!-K_*w+}?LA$2Egt0(JuA?Pv{s2SwzX03a47Su7wx+Q60(MF>*q}9R{xyc~ z_W_HzjeRGS!{@BbZZt)DghKaQurHJ;wZhKJ8Nc&-GV-#5eKrCai2 z_ZVLVJQ>dUz~|0zaEuXCU_VnV4ve*HQTHCdA9y9EXyVVe;;hd`*~NTo45!_bd^T|2 z8{36k7A)AHx2ZuG|Sc7DuFqW6&=O zTxaDgfa6%%oK^ml=J%$Vxsryuy{jI7_oae%j=jW|=5;^!XB?hbuWiUfh%N_H;%oOD z*rLFuD^~(m@+b?ua&Z%$F?L~|lH;SS86U;@DNQZUNB&s%w#N7gm7j}%(?gj&{Cm6y8&xdPk))K-~|KFIGLa|Yo5LGEqj?^#~C=GWo94D!eL&OL!s zf26$Qo#c*CzVIRMQ#og^Yr~masHfy~Q8szzRztg1Ti3PsaAS`Tr~H8HkB}YfY|q?! z-26tK+@87R1g*%F!ExT=icJ&SD5CWFV&Yqj9~StD0_!HD{ZJ#(Z`;>#oqR1@OPMhLk`Yc+lzfe zqn!W6dSu3E9&8@zGiGw@lj7Phwp|8iWFh~}`SJqxRY_Z~$C^#%VTk8gl%YNVM~LTO zg&FtVggx1Ni}v3P)sJhOHDif;KyiZ z(0!k_^9;ykJas1hBJb9q3~_#N8e>@QkB~K&XtyoMm&(3GlKvu8cV|AOHCcvGhXu1{!Fqsf7O`;6lhg!~7w1P~dDnl0iB2iM8gka~TXh@c z>hRHQuXN>Pw3qY|)bm56O*-iN3urUYN7$BVo9BxTy~v*9ex8_(bMS|Pzq8UqeLz1D znV{djoif4MWW?(u|9=L4Tl#Oc^r5rV^^Dg2B)*5+`v71eyN#jDp&&=gc12tI z94{&VqVFiz_Cd4vEdc)kZHYaL6*}>Z$&*8u?F>$065Wa*9=SnO~uRiS=fp!YzXTop&XI&kig8Tr^-eVo*P9ud4u*aoAw}Rc{{?4gW@y(_^-hetWwhqvL z!2|A>_j>+u7thZCU%WT|Z|fgozhu0EV>9H8j+|pRM7Agw#k1ZFH=o;=a%kFpvHO9h z=1k-L6nFl7)YTsc*6f4rtn3L`Th9jCxbLSG{J@EKW zz_+{6V}Tuq9%GzZKLaU=H-EB`!9C^ZCmeccpIKzR4@UKp8ED zeLl?_qCE%}w{iVQye{4z@w!x{??_#;vOl)7ayw}*hQ1?Tb~$1q@HXfd_Q3k~ROQ>y zH`&%bJoWEUo)3N*tBV{Qo_yU?dnI^c zosLbxUtu5U#}L;D&P{$)N0Iq8CT7XeKhPH&n=#mdvu=)Y+t8))79;ETvfi7Vb(5%9 zjq(0XzKPrM`#-Vvf%|Xm-qEKWeR1jYJJ!4nHS$qE6DL{Mn(}c1_+Y*lwxoW~Gsfrl zJG3+g80^S-(w@;8CbwR1WxYBpOIWYNVY{z%>=o*A8TNeameg64qivBGm344ssAtB`=urTc0>F&DN^@lh9p#W-(nX4~4{Ir<(pl(aa<9iklOQ_ETY_WXrdqr|=F zV*f+LFaGKHOY&6P(A97JPN2Co-f%J zy}Cd7N%T3}hopT;2lj}3s~tr@-n%89n&3%Se&yha+OFCfE>!yWIB*gDbb@}+8c$aD zJ%6Veo+$>8v^DFc^Z&6n$9nEoGAb(W{${u}=M>2(*WD7&fa3Y2gC~+v&>F5LaGjNs z0~g6?=J;jgpP~J~86MTqNJh|6w*7czlvmuRHN&mCJRTYKDxPDKc(f0AL9XX9<|yp% zN3{>z-%ptHrlRjp=X!8wRlWRkxt>Se-+x9O=i+RLy}Y5VI3IcoY#C$#dpdzJ*dWhe zX{8sT^13H@Wxo!tEOGqtAY&8wj<~(1-ob`J2Fz;$ubfrVv`^+`Pkg%44!rE|-+_OT zb=-LVCZ2g70O(BRIRSj`o`*5U&oQR8&m5nsZQ9?lrPP^icrWz(>u04j*aY3z{%AGI z(e*J-kQ^;++bvk{AJwCO4&~F-r_}^cS7kHscqnr%a~Il9`T00^VIKUr?j^`0cOiL< zBPXwY0zBJt{yfN4VX|rOLBd!&74@Cm+-UrntV{9j#y5NoJji|;rB~#*pLvs)b~QNw zrO}LDa2m>C++Rq@((>hj$GUFMYw3T@{`Yj{li`y-gU%g8I0G!vw{_k_|FnFcD9?-1qu=l8?EZ%A8KMos1 z{9gwC2L8Q;E%~o0{4W9D0M~Ee+IMP>PGUUD7}#r*bp%$X)_=?d zACdpaB=$HsZE5z|cU6|DjM^Y0$ZF*a7%OjIx4eF~hO^fD1+I73ygc(b=A6*IB}c$q zZK(tLu^fA$jzu3{j=g7yF*)}0f%om;yUPA_jyJ@8QiV2CHly!sJ=n$#xX~x+S3TSv zCi`;u>>W_|_sRVcnGWXpWjvZ+13Jh9q)|`Uxgqiu?Zrag{%sh)@SHxxB^BoJ&*5Cm znXpG^8ap*Ey>;k?La(#(H0oPm9!J;sZv#H^)De#jhEsqoARoXyfPcQ>_4k0K-oC}? z?O>Ge)bX3et9`aFF@B5T>=m4ymAk1oSYH;N>5Sh{-Z*K7Wi**GO6Xz@`ogx9bK~)i&pFJ=h<+mvVsehn*TY-BBH8L*49(jNr%Ltq%3nxc zIxA}pFPQ%_ccYAM=!o`-#QIFiFTaDa8Fc>NA&-*e7a$+<&$H?8Z8y(6oBjcPF5vm6 z?LE{Tzkt09DEmLVBNu!x`r^GNuV1B)CXS)aG^bSYp&h9wJ-(u?o2T`FY?m{`zZA9meLJ1zoK&MwknmhxZ=z zArC$KFYZm9fcJ~l7S78LNq=IQ?|bFV{LcQ7ao+#fE8l0|!)EMHy*|+!xs&a7BJ4eX zb6ys6Oi`bq{Y0NR3i6W^BowRFMLmB<>It__Iu?u&2VPCGS3u{_{EilhdmA&yk#OGAb)-@y^d=_IfG685MbnygdK(Ep** z&nRqNKg{=U>-VO(3tss#;GUhtT{5sYj|KZaul!5EaxN^UBmD;U-xM~a?@G3P$t(Yq z`);Azmn|^5&S%>2-Y4XoD2X+rxTX5qxP8ubMsa5CUyNN^j{Zn_vwuQ%690aNXMd&I zB76Kfo)c+vVdJ&O4z1#PLu&zOS-T_l7~|=t_Sk{#71(rT55T@+d+gxzONN&TtoL%* z<7?uv@bS>O278Qhkv#^_W7=bfR#9lBD}SWzRU9&Zf#=Vno$VN|!5(95cQe|#r9F0N zghHdM@*rr`?Xk|KHygJ-f;fZzxII_)GAHzSdM`o%eH&Gq%)CpMaVg5ZI1PD^CgmkQ zKpDmd1(sa}8`h*8=l6K7Im=~W=Y!RL6i3K7qX|q2Fw_gLdaxbq^?AX;cC3f7!69+I zuGaP1oO_Y3e1bAx<(#z%IswKP9Q#>4e~fVl#-i9OFL4IPc~(E8J_I{-4ET=5Iu5Pg zD~v8(1X>nO^cwh@>a_zqAh7AmD!_X6{KU(TH5{DTj~ag7%(^dvZey(Lj&rYrPBrK@ z%0;>jzQ@#UhgPr9N>>h6TEr1t2ps^vt+30%g)PQ;c>mn3+C=|FN4XX=amUaPpr51Ag>T@0N%Io6P3yXF zXk72G?!2Jm_S(mc?4M=7hK|j#^M}y8Wz;*^SgUu(QtuM^1<)F{YXyjt<9SE#22+OC zFmnXOs|>A&LCeC4-eH_Bu<`st47OKb)0Lk9mU<^~1n2e}W84OQ-c|1hF`V`clR?(K zNq*rkXm8a!!72T|MSj85J(gdH(JFqNbx&75t+Yh%G{0~R^-l8(Rg49#Y;1mErRtrb zahRKDjnN2&Mpxxh(jdP7z!`5`Yp8Z2MEoYUEG4!qE+_BsmU!*?DDNiTl;*doYtWH_ zsotli(v~Lm0B2e_{UgR__G+UCD}j$~DR~g^=yC4K+BK}v|HP9R-_g!O@3Uw_U+*1i z>__#rS2ljPaJIkDo`crPPk`5c@(!QTz_Yi+?I(jN>|21$MR$AktdjYZ0s4g7Pd>~s zGvs3X$z_Z~PK13vF=n6R@=o>>hgS9)BcGi>%kn7w1o%V;lKsSi%?oV0@*;GKvOO8~ z4PHq2Bwe{zX-Plf*b4a8 zeHZi>$LzDn)Z~xzJs*3{*k_^P^~Ckhp)nvdx+-5+8Ofbfs%O00in>Pq`2+UtP-h~2 zTdsCn_p{skt}@7#`h~;Byzi=MnM{lOuFh|~?`m{Yd-J@U@@?~HIg@h`xrn`TzoSp} zq90H`UbRPJ6nPGMBt|iEdmZh7UF$WN3hI5p|99$Ty7Er84e+*MeH3B*>g!}|bi=3r zA!E}jV<(PzC5NQBGLBc|JlF|kj#&iGJ3`<-sc`+A>rKFU$@(Y`-{#u+KZP?!aOSJ< zpF2X@UE`h@|25_R5N-EgV-9k3G4eH(Q6jG7oB;88-jU_tI*i35zD!OGG>t6;nP83z-%&SS*O!7gj8o#S04tmoCnu2nftjNd+f zdxfiH-DpPNv5bfD`=RzOvTnxN?7QYJvKZfr6XS-3(uP56e*MoIem8+%-d8dvp2F+n z_S~s=QSp3@Hl^G6v;pn+Pw!g4uf&yw+*bl#Wp9J>%sO74ymyS>B7K@Ix*)pE_s)G} zmUqT!B3FEq`sa>n$#?z>tbb=^gYa$e5%$qt4A0aPwqus_>rME`v5)aRW68gn^~v1# z!*^fRdhD(rAxP`em z(2sI#h(F%@-zE;>I5^K-CF*M7Mb78h*#_T+{DX zfA68*B>Dhzby>ANHN9WUo|i1^V2LAPPdvu;2|PuvQ;_@v&bQkW`noUq@ym=?ABBI6 z?sC(K|ys=$qc>){eNW+d1dUJ!{IIq2tc)!xozU%^d2a z+{iC>l|K1A#{|UP{SwaUBK=6lp7Gz#chYldVjT|Rv9?>cZ@|2et}7T_jhG*@T{0K4 zKinI^9x~qBGjaldFGjtZv||SQBPdtj!`#|p%;{fe>_q`*b!B6u=JkZY9eei@-f_I)mh*6yEojHy zwfjA6&l{`_iQ3-8ZW-?7f=#8I3-k@%1ZkhIe*p zr|l{+BmI`wQD)p&<(d!BVBClHaboHYp{p@?W zhN;Jj27IPnn&azi$zNXa9S(dAd}JoJgexlCeny@v|NQkjyzN(%Z-=*2%QguGN4hf8 z;K2Pio~+?Na*nYNv<;jC33*@8YTgU9>{i$nwUzO6!5Vn)-znY~`=vjdzW6O8!@t9J zA}-$?VC_?h_etVBv3DT9XY_fJ*upmIGh*@@>_&#|A517`F{a4&?+=}Tuf7bpmV1|A z5A!93%oQuKFY*%FN*{ZH{NJHIc+OA3^RPZse;+o_-M=>fy$se^!0v8>jj}YTW3l@v zF((_$fW1IJVxOa(E+y`xWS$6qb|q8MjS>6F1`QMV|`~HctTn<@Ux!(S2Wm!tdGPe_Lq|wVC8Cjk>4q2Y{zbMPS zU!^P;IC}Zqvxvc=lM)l_nkJ9A0_|JW`?i_Tb(VoYrQEr`tJ(JyzQ=IE?*ucOGk-D|8z1zy##{V@!TSs1og1G&S)lm{JAZNj{E<6wBPO>n<^ynLim$tfPy;W(77~xec%!-&bk38|N4scyZg=I&xNiUDQYRapfZTz6sR%N(Y_R(ENsTiMXG%c;U&TnBD`#^kQ74%|*Z z>dc|NTpg$>tsc;_JdRffLV-Pf@q7KxA7Uuuh-l|7d z2X2G?8%qbi`(&g8!yTnvBOPG7YX9n!vHn)016xQ#$GLX?DKNU#=h%hej?9#3PAQ42 zCb&8)4**w&a~T+aL@^R^$77`EyWIP&-!q7T$Ort*G#_`jH_X?i66-se7sFWr_Wp0s z9gOby#+ftF7vW#}qTofmc6d&67BbH?+)ABP?GnqD2m1mi&zuy-Jiq&-8J}mH$*)j9-zrHf`?%4q^`OO^M)>q&r`hZiuVkx0deD^f1rPqm_y#c`5m)f6+8~gdVkdG+CdWwhRoYTh8)|4&`a`o z=Oph_Tu0jNrDR^R#5flB4l(E1uh0AAIfhr)q+Y6cdy#9YYT0bEtjcz+md%id7>`Ew z=Q+3n#U*<}-Lkr-^lYcBqnEi6)LSKU^gtB*ihhO8`F2M0il(y zT&1*#gKOXmupbt`@!bah8$nzB_i#th)v{lQg14*ke#N^F^tqY5((Fs%eRlKj_1r$z z+g4NO{1W$B$Ky`qyTe7Wv9PsUkHtRv<=)U^OOg9s4jC-fd#pF$9K0*NAxodSfOG%j z_7`$xZjvxOPXy<1Ss5}`K`b{t-d9SF9e&Q};1VmtgiQ>Yr$rs-VZDxP)2g&}pu=~) zDC1>-2X&A=IP$)I?Rn07mh~23?Gomn{{B_yyK`QS<6hVo=(6lbi+qRf3Fx__KHg@1n0tUPl=~4y-hl7Ieg)*8E8!x@5@pWX$=KdP z8*t*CJ71E+`KuYRXWr0-)C06ZL{shWETtJTPfnT%*=8^oH50H~*xqbI-aU`!jGlkb zvlb-Rhi{grr4uk$>Da3Z+XuW~23nNG+b9d*@VHJ4`XqJRVD4$y#IyTQ_9B#}uAIoS ziFy@)FV}9?{$_T^{x6izLN4G5ak3*f%;O!Dthf4-KcIc77vf7?xfF~q`K5lZDevI5 zobN`$Rpe4(?FPabGIyPkJHl%OpM9ulzlXFB(M|o+YF0 zumWc}${iP+lXTy6%{+aY^ff$Ndn57CHQN8s4$}W}^|Q#5x;*e#)BjF~4YB7=Ew4XAIW$?bdq(U-vp1}eH?xazq@dz33=xpvn`I^+yyxHy^wihj7@IW^5~NSFM8iy zTDgY00X!+ZPwHfddPzCKfqAyuF}~SYuY2U1GrPC6H^sl3zB`Ncb!>vfJfKS*y8y91 z{kHIm-xtwmJ34>Dczm>DFZ>q`%~90NZ70`f#(cB`n-$n}V3(`Wr(y6PWWob{U6Yg249VG^s{K2g^ZcT z^wkcnP-x-)Kcz(+^ws@IU#p}P~eGEDX+cqg_E4MykY~{X9@X&VF$4~!{eS39Aysrgy-(K{3CBDp4HniOd{}a+i z;{5?wo9p`abLkggJG>LnzVPY&^m8|1?Bd#G^{cDCVr;#Su@mi%^kem(SEr4w;=RI2 zKjY!7kBs`yH?d7z-0DA1P~3UqPS|(of6Pw_jV5)h!uNXciwA3+>OR`|qJx!2FYsmH zCx~aiBtPoc7HHXoU+eSLuVoxuImNYm99N&LpTd}LH>Ye>%W{2VvYsWjk$x9{qxU?+ zCiHPUZpTo60<7zw#_P9o%-!i323P}S`m^y{gB^vL(K&$hV=3rX4tWmdH^O$KTNU=V zD@`2eaqO7Tfl00o+@#|?(3$+$==Cq)_xty3?ytH47dZaPLwWid%dh$xj1Ts3^*_dA zzJok=R(i=JXf5+~9~|`LVT=V_AM+df9Nu|-v8l^s_?QH(zQi~%Mk`cW?*=UkC*wfi zgY5beiK-)Urd8u@JQWBP3FMaO~i8}W;b16$E^Y-Wt!fYPI_%%~o@zU5r#Qk7%P zL{8VzQQ7xV9?m#0MkAj#vY*2`(YIXei~}M6)o4%p7K>BjCfBz>ZfJk3f01z@XvM~X zF4csvArZW+IyRk!2oP+ea6YaElbdiOH4_5m#mC-D#Pv9C77KTews2yD7CgM8ksV{Fuw_YIwZw%UYo zbSs>(7{|fs&oX+@Mx0uwop8Sd{ouPH>*_0sZyfwJ!QWZ=Bl;o7o4Av{o*RL#FW%ZD zzCk(0CZa#!2|lTHeB;o{?rrMwfYKt4Zp1ew=&6;9#5aon8t96Sog3pD2X9gEc2$Oe zcaEd4Rn>p$CiGeEfq>qZWBDKG{X1_#-N)G{Z0^l(ulEzm?L^of_7{Hd##&>(JKnsT z7LBntjbn_>IA_%B89ms8jA3VwXzR%UFV86CT{7~FxfLs~F=HNYcDzsZ*JGZ6jA@JW z*%qzh7T)*1w5_K^`W!bW;)4QoI*Mbaqs+~*u{Fk%<{X==Z&km>eGISxX!mPrdpXXM zI)X+(TBxgh|J(X&>7R3?i@K6-8}8$w&Gf6Y#nxY}ICHc~?)SiaztDaMkDPa~agwjO z@@DZwX%El%7|0oUQrGwQ`8t+AL-8UeZitsCkCMi9ImS(ths&Gtew^j41@Afgy&3Pw zSAQ|i+n`@EzVx*UM;kBx9`swqP8l1Mpst^c@=|nPPB7NoB{SsfF|agy`gt1&RFcEvCh3WtByftw(h4pJmfImx3SI>=5g*pN|o6Kot&{u4|x%bhD zLy>zi?fq>_8@O^~;G!M0xOo3c441}EHz}?na23YDMIE=e7b0`7I zv0levZ4YI=5O_V5`5MdM{VrJd#rJj{_icQClg1Y7OGDod;K%u!u?1|#*ZF(tGMqgK zc^!fO4?wp~9%a~Bf6~|Cb-OliFlB7sFmpY<3yp7I47<#EYR==yS$d!o%?E(D^%z&X zIh89IW2}P>S!ZI3s}VoK{zi1!zKNVljBa+3p*t0HEu6#@z*k^Q5wzyHD6r{D8+nGW zh25DNGHuX>>i(FiErU+~c&q}g1$-B|5`k6JLJ(zNM zFCJoe-xstjob;)4azg@}>{AYGufSse4`3_HLl# z^2&H4>Q~@<%zow2DhjQ1g}%|^kh79_MpAp5+!1c+NdLn7n;&udmU9O{Qm!?@jq|@0 z_Z9Ggl#z@T$uDAZj5}q|9^!O~_tu#*^|dD(^gIsPi|OCGeL3y`!d|CfEIlpEjq7Ql zuBYJ=Biq}_6VEEZJ%Ii2x%~e$`W5Fz!I%8M4}FpQ0O?0*cLV%C2y*B7`8mw{@l5>! z{&W2r@AWGY4*vyio|ZYmlwm%>yW2aN_|hoHoNJEp&*9$4Yw%ps=S6tV=<@>SdA?Jg zV;x%tzBGC!PWyfjJX@Tc!?Dkd18jRX^vCMlvNIkXOgVC^y^eBASI$;j_$lH^^mF!8 z&gXBzp0^PBiOFAz_b19b`JcDBk zuBQ)Q4P9ETd4TcQ0*7YtNYd=A%mYnVPTPR5sV#6|dj&RK*-d4%0y3(;5+Cc}^j~lI z@hAiInQ*n^V^RNO&=+@0wyA3i!1tK8z@b$XTItGT=!20hxCV9{_&)t*yt{^Hdqm@Q z@#$g{@cxT`Fg8JC~G$+vk2=0=Qg=- z$F@ao-NZm1JJ2O&>MdH+3#^a)R7)Sv3DT8x_k5g;qKkz3Yri=P|)-c5hNf)P>kTAn}{IDVFvV|qS7NO(x{Ajyo`9H+o*sXb&Pm9 zUS4-+z#!-`T+WeE<9yGvYSr%Adv=GQ;`{yHKjt^R_pVy^TD5A`Et+oQEi=1!?v_2( zhVpW+$Epc7hdG$bPmSZE^0Cm_ZsF)O&`tQw@t)l~&9ecVT}yn1GIuBqH{pB$+AHbd z_>6ni>)*LI5CBIvRJfP6&Ak z9`tKBFn5Of#;lneZOMJ1($3EWkY`oMZV2{JSfgjzs}?+d_p)Sf=*NO{HBk zU_}lTgrB*XXe~Py`}IOzVq?rEWVuB zlJvt1{qK341%oy;D?&LL3xPg+rVRdLJ$p<~uDSn=`^_77n(obanC_9=4P*Vmcs<6Q z_Wn50O-=5eae4l}9QK~zz33)5)%vv)p_>x(XCtP&#QkSmFm@TiIVXsR5HnQSj{Z&Z z0r0z6!^C#s@(8O*_eSIlwA=?67ho;2ltb($Z2@)ypMjXKZCwL0kNAujl%i+%>zHuAE5l+8Rd&w{$!LV?4S)}36wpc9qW!D zZ}x}4|1{~#pJ8DigN{&-gH2)&j=9fH8)%XgOZ=d3=^@$jKwll!Y#)$LH0q#QmXv9Xq1|-c6~p z3GMkQ@?U(7<^QjkuN_fc1o%%Gp!_&pL|Pu5tKes@#>f97#ZNrQCw_r=%D_`O%i?(q z^@N5ArA?+%d8S~@jYfYvnrd41zfg7@AF!*NvDSS(tPBwpqI2< zZf+r$@O2jF#{lPr^32nH9oH@m+%}*g$sXffwn_^(HuEWMtQQKzVNRyvwguZQ|HDg8Aqd%P>F^eBF1eGu)YtaT2~prxec4@CL9$n%$zJnx-RC(=53M^l@%wOk9D!Z%o&Z~)8;+liLl z31ze7X)@@kX`R2g_N?;!HSf=JK2znHUu|i5+Lcw=JnENKdnjqy-=OUL414$$`AxOi zNbCF;>SWPBoKYuVv@{{Vl(6Ufe43R0l9olEWy>o4pU|>t-&ND{Uqbn`J$yEcmR?KC zJt&`L50#8MMXmD@)cGdt&GlK=`1GqxYg!h;ne{zJ$4eRg>A4s$rR7^Z&(a6K9QUUM z_4z9^%2%}f+hTlrHx$-fY=GUS+xUeU{Do^Q&Nl)^mQK&fs8i88XQ7VoyI=0hM0IN3 zXyKpg%BoHmx6o-(%ZDhR*6EQMwA8fxVJM%a(?uC|^5<+{ZE=PWr=JjgLy9kTO z3+22xv`(1FeRkbt^ViAy*_v}eIm8?vhmAG<^3fR_SBYOi&I9?gIQBFb0@h+P^eOl) zSHAbpw)~GMvsC#|%YWD_-}tL7|6oS>l9vBhzx-BP{{D>eH7$RwU;e*sdGRYLdd!}nO1sUaQTK*ufyyN$rjPho!rDvX3-syKmM)^?7@9LLVewSyI zFKPKnetG40X-4^)mgk=Tkx@R<^56H%E5Con`ptCv%3osX|0c@k!X&?c$S7aZ@?ZAKJARRu83(_n<*QzK zr{AAuls9j&^nA=OulzoeQ9ji2xBBIk-v=_vm$dwQP<~{CIfVWyC~eqOAA8^#`m8Tx z)QPkX2HvyQ^prP^U`)e$Wv|{RGV0|owY*@?d)9`av}sLX>jmW|zJJT8SJZm1C%*i( zo7Nb`=heF*qh3Yptw25T!|(i<_~8rMpcl>=&h*B_ms#45L)np9$+l}Pzb*rIQOh6c zU|(Zlugrj5(Xt1k>;}ZvLW`DvT?Xt(%VV54>#kJ!S7(&Zud}qXZ!;&|uqp~FZ~fB8 zw%sneEMFVza(|_*0lxF*{qcCXruCWQGZ%eu)u&L`K%dj`jJ~qZuXR zL9$+%Ih$NKtsnpUm{+a86||slJbS?PjT=8Lc_5juwP)u(yC-Ci_`1P492uJ) zj(0cU9xvo8*700&M}yAY54IPZXJ`xlN)vzY6~y0BJyP)>20s_$z+Q+gcOpmaaAFU_ zi2v-)uf}(Go^%f1i|r6xYUO!Mh+=U039wm|m9)cMsf247wA zJzw$o1mE|759oBpR_N66kDSM?0ne`ne*gUHG3-s=jB+LBDK`Y&dDsHaXyN?Fv9L$U zPomD!UsxTvoGZsJoV#$}kHlO_v=;HsS{v_Ror&FZqB&P%=VHaaV%=i@%JIO*`M0zz zd#|*ztb;cv6Iqu5_$WKr?ybv6*DXuk&gvIXmvZ)`w*duxG26LVKHpTmPvHcdfZ@7ywu6LRJ7U8VnimZv7$UM5lxiyT@e0?!zih84x zI|V+OM49slXB{;c7s>?+J7X@ zgunA}))nU*Pd94I!|k|>ne}+jecB!yQm>=Bi|S>P+T#Og|IwwI$3#2iZ^TXOK07jY z2JCj#vzVjs&kVL_lG}AKGWUXhjqP^~XR$c`V|uW58T3eQUFb2>W53Ug3 zaLhLSPq1T01AK7_?KgZE${|;N4d@lWfVr6p%VQoxo-vOx_6Iwc5n=867}`I_kK#*m z@FASX>A-)?55&F%xb{Yy@^LYb8U2gJ#ql%G4|MY)^Vq%|UC7H1uq^zM%gd9_;x)GJ znXJoiT&KSRc=7v9lrh%vv3vt_<;cOVMPA?xd52s+>2}}Q2N~Ks+Kgdt+4-}NOkH=$ z=-3%;k=u|(GJ+;v!dk}qCEUeoCkRY=C9=p zd9*{&@ih4|WeXe6cD)T`S|n`9H01xuR<`Fke+8W1`!C@1m>oY4x0~j@ylGpj6E@oE3hk3*{Je2H^YV+$ zkkPZEpfl*kjJoF_Z_hc&WA77q*PRLMUiu{m= zKzaDNl>9t6b%E1a9fM99v}2V`z`ZRxul0N6sT_{D{hLFqKZ2czP5?8n``>%tV`+O5 zFzG*bg)H*^UiwQ*Lk-9?kNs>qSBJeg33$Uf58i;l>#Y8SZ7uE3(Dxj;ZR`vOU+L>> zN8d00($bfJS6BMJ33#b`gY98!IvQH<-<7Z3QhYTa`v|<{^^Bq&;jM7Jwck5ayfxSc zApd3XCr@F%CPn9V`Rfsw9n~8N6SjC7ZIQZ!tV)QJvS1w#Icc1fkX3Ml)#a6*ti1KB zgY88tug7*0J4nk*~jhM)Z0qi7#E?~BjVKRQk?!fz`Y z3-7fwzB)xC*Os9jxHTMu?dDLw&q~nRBQQFvugIbma1wsSpNH1FJ2u0wjG(_X^c~AR z-*F;-FK_ye&y!C+a}NT>PM_81c>f`M#T7qm`VxaapE=ps=i>X@*uSNHiRW|8j_A17 zY_E-*to;7!$=%a&Un&+J&Utl%_pvVS|3Y2TTJYM0-xd?P^XiwSen<7!Dcl@SCv=B< zaM7M!ypf<`Kxz2CrNOQl*kJpBZCBlY&$b-;VO=|uvi-sKTJug_`pR5>M(oELH(R-U zm2i0v0@kCHcn<=`oa_@(elWnf+*}(|`>@^r!#LQ`hei|o1N3c)dk{{?dWCcJ9)z>Z z-+T{3`6Hl5aj*|doLP=On(HpMcMrlj(2>LtQ^V0SU~Bj-xs3myU9CWzxWdNT?8~TA z<~%~k9{pK&h4zj3pvdQRd;oag{wZK!U5&(7c>XTq1rMgg2e4u3_YfZx6$j%Ru3?)2 z-UN257z8jslfv=&9mKJh;=m%f7)PlEAGf7&d~gSGOi&yVa2UYecGb7NoQ1c>oaatp zecU*E%s21a6?-f;?J@YEwZ~bo$B=X*MiE&dK9T1|HcpA-HORAwax~G1y)@oNd#Mqu^JYG}k|3{lgaM zm3cw>aeWQATs`rJcAfTkf9UbsBXx29H|m}Vek*LJseMomrtcrm2j9*9w@FJ~X}O(z zLw1b|yfxa;=P!R`*JwMKq9@fSbiOdw70!x*Ou=_^A5>b#g*&XSu2x*MiAdLI9{`=X zHQGh^IEQa0?E-7GyFmxy9geGE56!cm(>MkM2hRTn4maL0o-f4PJcm4Ix^BK=>wd|r8=$U(gZ}!E;9N6QqF>(_bQ`q2=t1~-(t~}G zx4C+!o;E~#+I&0e;vB0G>p2;l=KD%}a6h%P2a(-1Dl3+wJw!*ySx9la_GA@&+{)_L zw6Bebi;yE?4pGiJMtyhI@tRHG4c|Arb`Lo${7I5u8UGRr@Y*TxKLh$X-c85}<=DogokHJgU)k-{!!;nd zI;*!TF2dlt(`^=6(6%eApMA7E9W=iJH|uJGX!Bjw3{`*M-EEcAIhPvnbCmx9LVZD zyf@x!1JqUVlUA>sd#C;Fj{oWU3E7^geU+2zoob7<=Dp%+{tKV7wsnT(@{WqtfTwr%`I?WxD3*ZRSvAN%GX z$MagNT3%;+b(6eWKPI`OTg=cj+Q}`nO@nRX)~@yokOT8%DE{JJ3%8AMQC?(%`aI7g zy4>38Bgii}xKkCbv{}drYZb=9EPlqq{JoaVg839-LY@QgyRd!a6K#76%%?Xk_#yb` z^DNUp0NUmIrJx6NaW0vOy#o{?+;Lh``ACFWvNT?-B(&W2z}qZ*3fqk zyLmb09>ovAUeG=e>m2F(?u1@@KL>mm`&|aTlHN9qY1L0Sdz%bcdaiC;^_gMImzm7a6YH?{%T`c~$gyf`i)s|I1Af7pkzLY}R0Te5$+2s+pP zp{Wbz<6QrMcJKNJiz^YwC2;i&TD?qCT+%;atd+NMu)vqNP2qnRdeQzNv7a6KPrxk; z+?mzqs3X+9Tl_*e`bqpZ@Rz61-tc|^&*D>{FY$HDjhvk%?ErQuXAWT=;=rfS2GGu2 zTRJkMEtxM^eeFTmE!yWzTd*#B8FaoA&g<0tlIu&JeRjNFD+*Kc(Xf@bkq_AWp1_fY zL%Y5N-xF;F{Z+(qkkbkJG{~y2z0}?Bje`=h8~CEt$tNK@%4%HSvOKl7f%{(OBTnTw z@f0&O3$%TlzQE1F?}okFoKwNPx8xmlt#}PK&Kw$aF6ZIE*EZ)BPEr2`csRog_hIMO zT>?Mk;&2~M8E}eU0?in^?@QTxF!`;d-_T$2+mJbT_UWKyi2G02hZR`{^b&Rj{{ed_ zFu_7o`FF1QUr4{ey>cTM!;r6XN!J#DuLZcn7<;^U*QNA_Y`6I@TUz|JcL|*Uj_3q< zq@Ao#ofKc5)Jdt?FVzVX{wq|SNRDs0KX>5W&kK5ZeiG-x#*nAvT+}$7fQFG#(2jBq zv;(((Uvy&I+IXFyjYzuyJel`N>%@a2I{7MSzSInzLAiS{MJM|0Rs06oiB3Rw1HVJa z7_xtBEPL=VLLceN9`rv4^xGtUlkxDoMD``vQcb@(TiOj}61GG<*k{K+ zL~IK36PvnJZ7Mt}X;Zi_Bd@Ve@BP-M?p2>SetvblO{H~}PwNWyHUb{fx_U!~u4-TR zbVXZ*U1jO2yOplUv(pvo`!@FX=qmb;*19s^u-`;iz;8@bS9$&Rg1VxO(I=17)zL{^ zg|lK^)d`#JKTB7Bjvskn+IBH z=?`l5S-x+5d4KRN@42tLKX}MK4~&g%EeyY+KX^2L9xkjrsz3NyTz;?+?$RIp&U?-; z?hm%c&sz({8T~=$PJ$o!wie70{lSFzdAMM9?+>1f%MTYWJF-7`-haluuDny;(mz?J1;_c%)BA&y>~oMu3~}o8A;QKwhW;{q zO^}}=cbP-hdKXWI%&|@`A@ff3=bft^ZZLB!|`@onf;Q|SeO~|?xB9+7zI(nvo|C>{IOPilQ@#N6dkLBL6_UPSIOPk__7lEfFy#v% z!-Ox`u1tkqukDv#0vU%G*90Y=h2Z&Huk8yBp1-ZX6f*AX^6mDYDr4ct^S8q9-y!oI z_qT0HnNJJX2h+@Y`ihr8=CJdGzeU^K`z4ckgMHNB;Tv|)-}VI|?mzeK_A>Z}%dBqz z4TFV2^urn_)c;Pq6?oGS2WX##XWRBQPLSu)96wIju5Xa?eTX|WPLStl|2R&-^WP=I z9kxR=AuYqNLWW;`iR^H^f87e6o3YkEwe6Sx0seH`Rn2o=%+94vZMPve#<`NInDZzh zCc}T`?U6HiTJ!3I?(9+e-uB|l{J42IS6g7$0GeI<>(iJs?Wj)s0P<7lFMrXGJeI<1 z1Fit?j(NX5lV;mh_8b|X9#{5Dps5RUtF8>rVu@pJ<_^uA@K&y$q0Wt-Pa(Ml=5~P( zW0RZW?^q)#b&j5PI&(bZzGHsR!t5OX9kAkaU^MQBtT2v%ta$b$@CVG5^Z73){m9W% zz_;f6mG(X8NWMSYz6XByo;=4fZ;EG(UandY)M$W$=3(%~Mf# zD*UxiGoH=Wou>z=pQbxOM~ZLrm$QGAfFryskI;qVB_R`^cj}CDs;KA6X5v$tNuvRc z37o2T=yH7)4F9as2J=a~b2-TSBz1|dVU7mKU)ITk9`d{lXLW3R9yx7CAKG;OMbg($9D4$X%X_)=RJUFARlAlAGHqb3 z;byeSl7GKE&X@ci&h;9{Q*pQc>wLKun{uu1X?@5Te83pyD97n)CU{$xp{q)3n1wl3 zS5E>a>%Ne#TG7@ka5}0#1Dsa6YE^eY>ptvgpsqLv3wr4HVqH1}6#)NF0z8ZJGNkLd>)9|ND?jVJBUB}@Y)@F8{gmXV}-t%!;_E$^UpQoz< z#rJ;TJ29(n)VgkAuBG)l)b(}TY%{ZyZO_N6b>FUhwo#UlA$;Qxr7uH_HHNcp1~7*@ zPJXy2ZDI@C>ybIXj%pEbXL|g|8WNRf>>En0;nW3AXZ6*9L*FL40F9!LDOh8;FJzAY zINJjHz&sfA%=2f%J^WjlZ0?vONg+i&=G})^&q| zt=mP}LZ&z)_UYg9%t`XEedWkTIb&ITWMFnfJeI3I%D&z!({+Q|7XD8me>f|)h%<8-`h06$|9gS-{z zU$L*MTAUEx16#hQ_h@{>Ujcp{eefvlax=>3F&}D*yZ0lv z_Mv@rR&T#`+wBhnpMw$4ITu^kE$nM;>ju>QT2|d!>$-KVyB>9EXOOpT^PSB$--b5- zi7dEgua^Au?q_LQ1Gpjb=@IUnp+A~)%Qmb-#+jSI6&(d#Xl%gP)9`+G`;542#tiz@ zitSfpc{a43A5(~I!`8Iag%;%hK?~>doNOgVX$7y?8eXu#>goW>3_KY6N$}UeZ@6=hlr1uZJzG*_>bX~TGQ50I1>Sfa}nY@uwKKU&kE)s76-pv zZ^CDT*d6UG4&2pU2#rh4N^XYh^?6xdLyg<8-TGLbB-^!{1 zKc>Dv)}`Q8|4sjI+sNFOGAb;zu)Ysi+pc=ZuD50!Jr()sshG!{7OX45_sj1o!Ma}j zhV9K@d}Z+8jRD+VfoB=RVs5&Db^eKwV(X}>ZW3>ByF%SFNR6LsVi;Q0FK63 z$+}_dy1{{#uge?_w0H2=06h_6;5f!|^fhCwB#!OS*Q+?r0uJBC+XTN^RntDW2%Hcdlp-~lTmkEyCRQ}Pb`~cOqGCB7dV~O(LRl- zSXcc6 ztO<$x%dj=fy1<-SeS|PscY(%%&}mj&ek|n6^Y=sQ8Erd)p0QUp?h9gl;U3^tc2qdn z^6@#~B)oBUg1cB+)h%n?J5l%0th)Jp%eoD%+lRV)XVopXuG@2nrMZl{FZ1e3?Cr@d zwv}3ISOWs9v-%dmx)rb(>mXR16;Y>i%+qpyFk#M7U7$S$S^bwOwB)sZsHOKz;NW>+ zEn!2?nXtpwu!F-a>|+3XnkS1`_r=zAd$jIi)Mc!^YJ0S`;=9%wena8!_P6qF=Czb* z;c&~hX~lQgx^A!5eHw8a?I#^SN!wF@5!(>%^Jvu$8UnAg`YXWmW93)}=p$Oy?K#5o z@qMlPEOIe!-_^FOzCJEzLfhfox5=N17{;E(S3^v&8RIXBBk>)30^Ywi%N9V#`OWd{ zU@mI*^Sw(g9iIUm&Id?51h_UHnkRL2A4H;VS?YFHKZ?4H@z@t#c{6?^4vD(Zj+*)5 zq<<|n@6`yoUelweq4eAUn2d8I?gOkk*4YQlqvE$gpAFdZTVj05hWk@YxE^DBtkY|& zewXWvSQa!n86EIG(6$reqG%%H!_nLn+viWnW6nkCm$kU47v&~Yi)PtR*pC*o+P!x- zNScR2x0UHxlnY=@`d7=#1hz9gx7%mzv-_5f`*L$}w}YNxv7HzWXN}@4`ly zD*%W4%G~p1cy>DUZ7`wx{K9ygHgJ@s^T4$3Ay3hLaqpz=y}EU&+gY8fJepr(z1fu= zLyar1AEK=?E)0-siSV57tbI7TyaQ{~Pn5GfcJ|~cwubkD&+O9@-@wtN759Gu-`F)B zL&%F@Tv3_U&dnRaD$p8485nW)*QJ(|6_x4JZ$(z#} zpcOH}S~FbUBf1JSUWND50PE^bTW>Au@f~2ud&0VOYIlwMJ}#fyJ$5C&LnrL-8_+G! z5kfq-ej)7-^@#74;MaI(32ec8@H^aI+oyjY*!W|1A9`QT%6FJ!=$>Vk-|wjHe1QBC z57uKeuDaf?DM$Zwp#JQipPcDJ8=U9ugs5loB=X`q)Oo8o_w#Pe#VUx?SXQ%=A(SG*+ ziIRs)ViwdBe}(Un-KWQK<8ZrK(30n1xs`he{1NPcV+gi2?(ddo+x8w|j^DM52d0^PDt|)#)Y_)K_mC2rziQ0KAOWbEc|D*j! zqF#^I+Zpvr{$4i3wDzo#rmyQpzY+pYG=FM$p8xlQ{rbB0eK}-6e-v<>KYyy^&1}xM z>C-c9E$P#fw4Pvj+zdJl+UyszYz=s&FY)n@Fc0eXnpynOYS^EaX{@$72~)PQ1@FZc zLb)fR=_5S3H-x6n>VGIr|4N!hkk7~1pv>IC7Q3#!oPy0VVt4qSusig_34i3_DxXOH zJF6cjF3*<{hsH|7?WKjucH`9_(E7KczUU8n9D@$!_o9EUE_+Y1y1Z277XJT0m%+(a zzOPi8xUWNWiLrsN%W*#BZ_wp{;#zER>Dd!|{cV1r*7O6tr&zh}PPl155H3pk0k2+J z>rFl2ZMZjF#yE((5c3X&h=bhPneeOj5S{eI~&)|apvE3et(}|WcMy0rfsaUx|$x94;V_s@tm*(MJIU1>kEGh;K3@f0V=d0cBmob%E#D&t0!jmL#v z9gY{=*bsT+A>^?o#=pqxW8>H-T%7C=J(|mBSen02+<;lW(b6va`ygZD33#3v;JdXH z{@t{c7uQpaVV?%~d5o9WlB6C=O+EC!#^Sz@^1@j1M#>*BqD9-0e^Jh3Yx)EaUR~kc zq4HmWoT`g&sNc5|zLyi|&63r2;P;$m>D@qCfyN_LR)-T0=5`u*M_FMH`w;gXGUl&i zY>0O+7$cIttTBHri$-&BGA{RI5WLpX_&U-E{5yk2(q@onn56XbZVtaq=4fZovmZ0Y z^nj<>&b)nv-_4}!kffb?boIQ>(sdZ=QhI(P`UpoK!+*Ay5%w3r2U@Wf1nUWSo{k^m z>9;t}tI7FknYK_khxl;+uZQouiti!C_n^b4^JN?(*R%L4CC<<4%XxhDo@@E~t0(6{ z#q&AEgE7P`*)t0GGBzV0iWBP;W^m77o<0CJGe1QWzhh6fjF(DQ9>eiGcp47JZYYa* zeXu<|EVdCmZ&jKHWlaADE1MsBG;dIv%Sv-8O~=&}PM6#R>B0V2j^AqAqsJ>Ru|4Wo zy5zhg(OH_V-qn__dp){duXLTGbkWy~jbOftb|Ujvkb^(38sY4k2z%L>Cu!hp2GaUH ztJkLN^t;f;^BX9$;t?%n)?2i+y_>YTy1>)G9xXW&0_Sveg}bafFeMZBy@2oVaj;1_ zLzm-g=t$1f$dpAx@m&af0qX%z9%l~-Z`3>U8z*}E;PGx1Wd%9Iwx-jT9B$N`EN9-K zJbe_NZ=#>29=TVQ^7-t~vGxxBA|MRlO6()crS@0D-@9DzOy1Mw?c2MUS()Tm!Q{{0ZWJo`|59Nq=Im+G1itAjLdG>^LQr|#%(z83t@373w%i}&E zO;hg$mZmRyG@TC|myC_=W^+Kgf85_c$~kfD8Qlzhk07`7n9T{r`r888i7cWN-uwZK z_e59q3oYIc5HI+Ves(^1$K3jZ*mvsI5S);@&uo#q=&W8uT2T)+VPkjB0YYE9s}8S(PD-iv z^n1@ve0nFgpto?5rFR8!Dg4H2&jui$LvVJ^ZYlk{vaS!49FF4=XQhcgibuDUQ(5qK zRuA^@I#}kyJ(1VOS$vn;TxJPt?c_Js7nb2$W8Auaf$LKuwjre-{iXB^U0ACUWXS{j zkM=u*?@f$}FqU$573()VCeCLFKgFiq4_spT`6=n(m?JfgGR`NLCib_%wy3wD zV)qAkp8r=llet0JqV9(=k3d_z2+#B(GVcw$itaMqhIf44jq}Fu#km_B;79I~HH?E3 zqGS4bmgadZ2N;uhFRuqf=Aqz!-UvAWCdQEVj*0}&SWgrZKJoA#0L3$QAMibZxcUL) z4)4eR`|YAO0CYrkvAM^l z0a=f;uTt}l53w)gA803xBO7lA&+vE4tWSde^uA?p9|rZ>TqD-JlgsgA4zoV4Xzgkh za~3aFURN*%S&VpKv4ypWV{F*f_ur#-@5znyNIOH>EPG4S)vI*P_UNi*>v4Dj&M@-z z`0A7%JE%v{^=Xf;F6c68`$>JUpLlF?I6A-Go?q|mtPT2g@=oMiphH(Dm#XtWvv!~k z+SokcbaWpoih`E`G_iV#CFVEtf7TFVU6vn#`OoT1w#NV?`@T~nd{Lxm?-;SOM z7=D{*>wp~ao;i@Nqjy<%G1g4WbILyr!1qfZSCM&g=?jZkYvgQH`qsOa+c|{0ms|gA z`=8;-^_Up19?}`w6_v#g-UPpBU>g@_$y1Fk! z$389S=v6u{wQX|7*V|Ptu^jYXSJ*RX88#92wSEzDKMJzLoi$ifF0r*itXZL~p@#!$ zW0Y+S!=95_axl2YAOS<~Q$*idQy6o`!I&d>Vi;i>hW%ax4nrRcIwk{#&|FNFoibZs zvAvfRU-ZE7-L#Lo*I$cF!6#zn(ddi#<9QgEzaq@`QZCttdphd9&gym#mFWePX)G_x zYYDiE#C=z;o9q0V-<3~%7kT14`DlK(@@D;ZVubuV$_rvzRy!-S?+dA{bxi!Sq zt_(i$BuunzxH_Wt#R~l&e}mA z`=){ST08h4eJ#o}cOf$4Z|>9M^WBi4(%J?(C{LN6#XIJueV_H?iA{L~Xm36}4u*-s zZtU+^7(YLz^P7spJP~$d?9u%GJH#q8&Cuq_7^_QOAZKIes5M`~O_s0o$d`i~8OgCa z-|O4KJ5qLV7x*YLr{>mVquqTE?N;8^)X!qB?*O)Cl{v>995b;@5KY8hFpNXc|HSzB zW~`3(>)C`^VBaCn*wpm_L9>0ZpFuwwFs1{%|D2Ju*Y%XQ;}5WmF{`LE;wf1_5!*vt z?tmUQ2Rztr+T%5Ev?t#->hH5MoDLbvdPs){^cmy~;x?S3ai5edSAs?-Bk@-;99>W0 zo|h!nRSdRQTGQ5hv!(6H>pcA)mLcCG?K^`tzcK$ud-8>B>3^JjuSm(a;L8`VeEC8K zvF;Om9i8F}&!P|dL&Sup)X`6WD8DNm*mop8+uC%kqoqCu{?+pQS@3+c=RXYiN$4ZR zQ$5Ag?XUE!MW_FGJXYGNC9DB~)lt11 zunb~?8t9F6cU*>!PqOc7Q=sGJ&G;%uyM%6Ce6?+Qvh7p}7v(>^b?kQJyfBnK4}SEa zP0{oxo(aqaA2YLi=i9Iby7>+_4ZRf9o1vfx;r4;mcZHBE51Ac zJ*4g3q|Mtu9Mgh&L0ANRiaVU#5_dy!cTqRnk&S-JEL2Jr($DJ_mS~_qa!K8FG$;njV3j>bOI|I-Y3%)@^I?~xQq$|kfhKd&%l-beX^ zUtAbm_O4rn$0er!{iuIjx_;5t|5VZDVT_~6mrsa(A9W8;*Dcw)w<_+u){XU6vEOgh z??D#qm8SnKfQ?3*s@{jRGw(iARS7Oh!&M!0lD^Zti;Iyr_ zP4GAD{plW@RZE#YKCu~N9}7R|V&zw;AN=mg@XKh&7v_LJZlgLzSqxiAw^8V@NSu7X zz-yyeOZz(a{v?dIXul7@epwD}b}!O*w;BB^`Mf(EJ($loq0Qdp@m#UCx>$KGFrSI< zv~y?wJ;b5!%+=FuZ2Cpu;XAZtwsmRSc$T)!_kP=U@6&CY@BOyOwykxAm&u9)W#V=OfZ|(MR}n zP4#GS?eA>U|3{_4mmS;r(|9lK&&R86;D?G=+JOIE+rY#6UD`Zp@ck0(_~%(TZ!rCj z;{DPzuVxqVBmbU;>FF9XVEx}FOxh6c*%W`s-@Iq@zP9dpX_z=K5jJ1FQ(>0bR+UcC z;aZiIj|2YtGr%G3&*!;l+u!>Xmb5>@^6OSi|3^t5?0MZEtbOx0+h5}ev_H}+xd+>x zDmXL4^&KW};}y(w+Hz4Gs@g(bQkV^#WTkFLjoIh*k_gP zJZdw>CtkusTPVADGt4#P&EhU@PxxSaX%~s%v&MzJ753wu)fwnR#dblL)7rm@5dkJp?|v^bKXapq2C;8h8|ypdu8U! zT;9-TjD3-F9)j$Kw&W&roY2>9rup+mgB-UR-Ou0qNh`a%AUpCr5&2D*Yw`Pm`=?r& z-MG8$2Y!R~E@MlBp=e_p)#Xs}C@1NcKw14LNw13vR(l>zKul*kS+{w6e5m5M5crnjH)Q>I zF1w99vrE#i?8P>+IFR$|W&UMD&d%#ypX(mG39uHcEN;nlZ(f5u*@hhR>3tJ$emCbl zuB9ws-_yBfV>Q~^YUl}mQ`d?0xpUd1jpt|i{y8cC&r$vz)hgR3adIsS=;CkoB?rPM zQ(j#>t47~_kK-WV<{8I?AK-js_L-Zmv2C?XTc)hpZ)yHHLO<$kMaS;2i{^Q8fRmuB z_dZM4yFr(MpZpwLB34f%{% z6#2Gp83XZI_kl{@kk7O2_h@|HuuspsbNSE&{f*C){?6(dpr0{@7p!4##~JDE>L*k58lDH@tvgQJX7D9T z@2}vyX`2gan~omXd>Y>%@y!6f85ZBbi^Nw}e0AW9@qq8Qf=}WXnJIqJ=`5__!87+H zq8}U0jb_HZ`aW7F1) z&6ukGHQEl&|5Dq*`naK~pnZIMneETD4CXu-J%}smvtL0NUaUC6H9g4u$nazIJ{)zfk2H z*|I-#Wf@aCI(0rFmT!J9f%_52*T2`**R^4;ANqfDE7{}RsFt#?TYj(fWPePW&m)8G zL(}gL3%U<-yyxc%jh}G*Fs_JspDVT%&Qsn)TlPa*wuCVX&rIUp{FvvWEwh?DuQA*= zvMoRPiA|gr2$-XvcJbW&f+Es>@4(-AbDiu8C{xh619Jf84%XPQ_|0q=fH52My63l& zQDtsR8TEY2%IF|ZM*qY9%eRk{g6=2rPTH!<<5K0Zh;s-NWseKGe;t?Y64|{`%NmXc zJ^zGuy47HwFo3Vb?_q;=aEQIoC&z0I;5)m7cAXPQ_@|!lSlY+nH%LP|{yahPX2zPe z1l&ILr^B4PE(_d_>TlUkbB+XbF`s4-2Lw1vhOzBph1~;RHLgs)AZ7OT@M9i!tBb)2 zryb|A&~BBl1pd0>e|S9pVYfceDC`jaYaIU4Ji*_tWhCdB#vjdVi9dLda_y+zL%F8w z>E7rpx(izGj;wl>y<6hz(Rw#$)zh;Pvhek4y=z!6)g~+SrD@tDIYS^@<_hcLEE=Ny zTGHOodT+?AC;Rs^@f9AjGG2*#jK%i6swrz1JBXdsntQR?{(L(f5Ez}+WfsN^_AQKg z);tMVh=KSUec#jduVCDNCD+>>dkC{90TccH z0=$Qh84{cqSUlX{5&ROeL){*nOCAi{-_j30YJYeA%>Fm|3H{uA@dNm8ho3%6?y*Px zwmin>h(l?Q9GBDYQ;sE`Hv!p_hChRL(#HF(8JpZl-tb=d{1bGg?VuM`f?{qTAG1K$5FJob|J6rUgXJNT?`htIOd=Z*WQEkKT+W*yw!#WO##o^#QV)}0aorL zS!Lbp%Q`whWc{WLSy#6Gjj}!+vc_1z$=dt_;M~jj@$=wa3F=YS6_xd$p0IXK8<%#^xgDiPazbmu^;?kVmp-7>ny&JX$xmnX z8-UM!ug?Gdgz({G_9s5~QIEcg@abckG`5CQ z5I8fd^d))vV$um1LrSCbeRcSRo(_D6znskea6Wt;_6bowMX&!6`QW`l?vG`*@Hb;B z>^X1M#u`FHXY~q?7nQ+w+h*aXRt9fEJ?d`><+&U1{mja=LAv-HulL>Skbt>)eaHLB z#>qSqI^7s8(KdU2X7Rle_-fw1eafH${rT_A94ng${fGZPzDe0cSGwce*$kG5RIUivNg-DO61WgAfah(AEAvkBjl{=mYH<8}}BfWV$v?I z{fffnZ`yf*_lqa>FKv`E&w^K1THi&P!*`J0lQLu;aBV!k-PA(nwrzY%+lIGSCP@qY zOiFI~#j(804J+^0ftC>KB{9$5o#%h)l*=6PDZOCH3=%H0OZO*7{QQe~0>#zis*`yN-AK*fkzsUU-&`v0M)JFPJN= zdHyKCneze@@ot{6E%3tE%m^MbLpE1y_mU;fs(|gdbE!x6Lm!}W6@L!BFb{xS#*mvU zBya7-=9vb08UHk8-SaqQ-B}%bC-_6moyaM3{0ErvxShFW#N$26SH^f|xIL2d45a@j z?p#rD4a$0U!PQZH47ljq;Kw9Ka&O9(-iY_2_vOgdVV!7nV$eNyO3+PO-v3RTM=Y_= zaP;cj6m#I@ow2SPKTMlq-p_f+E|Zfr7bW_P6+!pjz){iP1=7*vb2!j>@hhPjRwu?Fua_o$8Bd)7pE?nomNjuMkaQ%kZ7y4KH7yGI|1>M4y zPo*uRzQ_h}8;1hl(s1-H%H~ecb|+xs`!cN2F*YWO>DYpAg2x;#c<3wBczS+k@f-p? zV}M84&Dh1}${W-h-an^)#P!)YFJKmVqP*!BOdhaw{A3O@)4}V)(JMj!a>!@7`f`s( z?RN(KxwJHW<=>OOj_M?BXVZuiu(-xB;5jb%Z4meMqHV>`Sc?IgFh?G@cla^8?(bl= z-8$(Yub8)jpSm@`9GK`C@MdBTSkC5CSswyfv)vWj02A-*dMj(wA9i9wsQb&4+ z9f9_@0T=9i#&<{yU_dt0BiOOo!4(0oG~4dY%xl?r9t1M|`=cANjt1uPg1Gdq=!KgL;%bZ+@M;^*!~B zI(4lh>+4c{)I8V?EhlS7zz^{?CR=>2J(s6&J(3wkUpuP-d8r;w;XD@G*u#M5zh@hy z?~CxAzY~6dZIkVtdSH9693JltA7|&!(#|`pE7>>SVRah9|F*Kpnc_#cNX;1r&51<~~WrKOB+|250wYiQQ_!+;Je5KIADvD)3&|l8Ee~L%z#5%e-?d`6NPk5K*@x|~N{!sh;_KET6MS3I8wo)_u^E>HEZQ|XVr3*Rtl--=3NFJL+%0s<3+q z+tv5{S_s-W-lSg>92q{jhFmM{?x*8$SU+^9;wZx(D z^Y`VZ{;%wnt!Y`=Gwb+NIhE-5^t_M9K&*|EOA`-k|! z($b_K^lUL015NOQyU^y<4;uQ0l#RT~w~-O}8Tvo?qJ2ijZhscfm(R%de`lgz~k9J0{#g7D`UWJ-n&+(%s~VCmFW$X zXMgd#@$nA&fg}5wm*PB$^aCFMWmA@Thkc{dh4X{N_b%w4b}6<-nsAmR*CDumC(dCN zn`aTFar6cj$CrSEFfUY?uFrMx$9$ekh3^6SN%D^v{4}HI;_=?LH(X)spN;z4^U1mY z9y?9><*d2=aQ5VZ4Z(CQb-K433x^=U9x6u@CWM@BK9P zo{xSeXXlNn*Y>b^9+AkS)bz8#1j?hcx(@OfLA}j@(O87~XnzlPT6uC+0v^&Yels3}+gMx1eZadr`^T%m+f_}wf71%BwaYCFMiDQ`PWYb8Z1)~%6NS@!{2HAgTQl#Y@d!QO~z5F4!<0F4#J zH|AuN;v?MK*!~GN+NHe5@G2JGG=*39;Gs|36w5sYvr=fnoRo%HvoQaRwn!R%nBjI{ znyx0y|DiAQ`7YW%?x|Ha=TicmB`4<$-Bqy967;W%!1LxbtjN;$Glf<2cy8+3>b93_ zM|_*?#9hshGuHnk=_^_KzM(wl0W(2=#eV;?erF#YvM+?4$ULIYYt5Fu*DIUXviGI& znxn-YDqh*5%H_g6r^!d>}TBj(i9?ao7nMQZne!UlV zytsjW9nb97(>}V`k?hm=M%f6y475F6z}R~82K4WQh1^P_e}^rf{JU&F`*re+m?@YR zc89X&XEx{BB_758j^?`w`ff@n>+@Wh+rSU{=~Wn);~ogm(rKPPiFS(L2KS$U&%pxj zEGt}CJd$~C)?@jPu{`stxT8zfeXzXj`Ihs|WbFw1nVjuc`k0FhrrZ9j4!;5zGq471 zR&=}VH)@PY0KW%&G!@5;>-hZ|`#ogrupBs$$727s41L=G>BM)?c^bxv3rREjg&T41 zsq_!XZNu=Wxgdx^f{d{#2POX#X+ zR~vi1hT~-5+{xO>49GXuNlkS^eL!c}F9X_`s{jr0SR1pH;LK|M*%gZ7-V)8Afh z?ey8192fW8gYmGQ_s`tuc4DzH%wM=z>^6zPVwy}Mf*X5W}@-xsQ$Tf|^7-Yt-q;7P_{2|NwO^S_Y0#8DfA?jqxf2N6d-@&a+x zER_3!jiZ`eLP5(5o;s!urv0l579Ot z(-^0YbN~8Qi?iWyreM%+L-GciIrr-D8jW}2XRN&+M;G#X;=6pj8V^N^mwuu`zYqAW z;-UP^CLjNn=0oG5|5SK&4<2}L84s0kr?itzISo_ep|51X47UR_+PMi6XXYm5tuf5q zD{VX!$1t>oRD3$Xy|$2999L@$b5-0PLv@r~D9+!rtG0Z!?vJ%6f zEIO4WFGU;gT%o*_AoG&yFv|{QuaDZH><{+sLF0gP9bUi+w*!lQ&FM{Y7CtPE15Q?0 z^uNXJz$!u>4wmcd_|BmJJD)t?X8X4ybMAKr{oI$D_A77vOLDGAbcA}QMZeb=!~MdH z0Z;~hEjbqAcmVv!*xB}%H#JaB{55>_ZI{7U3S9DLO!V*V}tIHZLkCTzj;Q)9eBqx8E(h_nfQMj{_lqWDBHld z&3OO#h=I+wVcsZMh}3D)|PEZ-P$Zlr?Lh12NEPK21D7$j7sVWrzc3MkaLb;iw;Iar`grk~r>B91?fp zImcWVG`?}I?zi}rBmrMCWuY<<|l!@5r71?`~ETlYWMUTpL2 zU@%uZxIbz)TN&5)EU|X*2x;BEZU=)J&Z2~F%b`B(mC+zOk7?RAp|na78H#?RPK z3qRR>#(r8pi{FHtkEfiKAKGyPwiLl`A45#Zxh=-X5$yG+PpJRI^I?>M=4)lm4D`BK z-!=7gf3v+J*SHz&bPV~$kZW^tnp^8YTr)Z7E=@#?GZp?Y2Oo%eHN?2^xa4LxXy7!vpwW5n!e+BIZu(!en(2iiE-yXk~$@yOYJTg5SOwRD#V8lMz zf4Va*scX`=QP0zT5`8t=VQf=EUui24pAe?{O9deSB~< z{5{^Uri?wfh_!}{S%ayOI#r)hd7 z_Co7hl00Egf#+8eJoPI42=M8%(*48OM&8+w+M|lxcC;qw|D>Y@|Jxib(A!#-?<0tz z#YWDsZ8)U7X)}1nxV@YGeue&5-*FwwX|SuY`LN&p@V6-FuJKOP#puhIqc5NDY_#3l zC~&fFJ8hJE5-zYddLv;XzAeIj{)KkRSa$;Ynp@BoZs9(>wsm2aobnw>IaQjv?|p^U z!@p4vfOj%rUqINziM~VUGLmwySa_OKAIy31f@3VaYZcz%fY*h+#;X8x1n`MN<}U!B z{fG18oWHmTWg9GWL5bgfm`Cm#vXq#fGIX|Q*I)Ob{bMeFPso7nuc&7fLUv+n9!-U1 zq^Yy|deY>z-RJ^6uW@Y;{F_TtR95HoP~Dz0PG zxDb2E*xSJ<>N$uRFv<$!V3pxx@VT^K%2DRZH|jkQV#8ieU_Z=>Anx4^zezie+Z1rb zZE8QP>)vK#)2B{=J*hlooha&@`AggOO~#psx{iCWy_TXqYT8pHq^xIF+ekZbanB$1 z5rmT%+f+|}l^wGMvw(YpcOIwG$aO@l*QYd2KGv3FpN6&`pJ&5%>B?T`_z77S?Erhd zd%1V~di=(GTmd=9ggkIA4&~wMzfJ2eT4u}5QW>xv*LZ#?$zW89T0z>?HP6dpzjj+jh_9Ofxlx7@k{)MZ#kdyIB26c;2FL^ z@?$~C=8|qc)!J-+k)%-WO^Gp}%!{P7v48J;A`ghXBa#JwhQ#0#KR^Jisoa{S1 z8}B(0bYU%E2k6>^eZ~($@c1&jcA0$@pHH22NEGuwZ?37$o15SHd93NWK+ai>eM){8 zi4`*SMm%Uszh~^}wWIkd{x>N9Yv=t9{FhqrU)iN4|MinB{||z$znlNk)Rz4BoNW33 ztnz=p^Mfh=mn;AGa^6mLZRX5AU38B=E=%`aVOzG|an2b0ty>e3@NGS>w0yr8^hn-F zY}@KqeEoALY%_>iW8Fs6TJlyVEa>*_Dc!C~@is+yo6LUW#oBh*Lbt`~EqUxc#qzlF zAEDcDMoa!1!~_11Na=QYivR!ovu)d_uwQ$z{F@g1*JiZjzj3PNe;Vj2yok0f`hPy9 z|B9R^mg$pwUuF6K-?wbLUCtSV58m?^)+f^+qYr$#=SNsW*p55`_GnIo?W>RI)Bbi? z=GSMQX6t{htLHNkMDm|&7x~N_1OM-$|EK8xN&27b;Q75>|1*ciXBUgb zIkb&79!u}n+B{j}guVdhd2xL9e)ego@Ag!UZ7@HKFwW)PuFV~Y*;t9Soex|C-OK05N01kk{n|}9x(0;(2I%B`2=uhot?mB)D{a5o!?i8s1LyEDrr}+K@~mrJ z8oY+D8BqL$o0)z@B>^XHuJ@5_aUGM8c7*=wv{n1psl+&{jE z@Nh3K{1tOZ4afxRqP{>odanmt=FX`%@YEhQ&ynM^55F$(JFCxJV&Q%gd>iybCsQtr zyTJoJ3P!eJAc-S)`rqLNSKrx`DT8N^r3Aw zeudn?GUNvEd@f{!-04tOK8e1C?Tav8gSC|rb2`Y|upJ)Y=|}V6(0%jVH_;95c6GWR zc&(M+O`yp@Cnr%S%mHD3M&JTZj=bSNV{6jfSX8oeE})%b{KGSKwp&tX9?ss^S)6YH z&N0kC(5E{&N*(~X0^(d;8hSyUd2j~=ZfEsu$`?5<(28>uv3483$rE(8_K_XYnFq73 zv@R!1z;Nv`vB%Dh(V@E$>~VSwKAO6Vbqkwe&Z~hu0d48#)SZi`V%+5T_wDF--{xyg zot4kE@|z2qTs@K7YVgVY3H`jZNqcYO-gey7m-Ao@2#n6^&VWI^??b&ak0Cln{^?TW zpX5G5-tt{KkP&OJ0#eq_|CsWVmo=ri!mR_Hsj{=hKLvCclufDdutGF%)F6y=j8OvI))LlICt~QZ& zA!nZQE*^)IHp#ZcGIAFW@E?KL*?o`wTxieLi|yT`qkNv_`83dxXaBkp^M`lAmu-YC zqODA*?Jjv*j=d?Wk!8oT%VlqrBRcY#)X!bN5G4#C%zQpH|c}uvvcwKsy?3e zM_933JXpb-39GaERmNkeAIGzR!G0_PZ57I81AHsKpNg@A;k^6xc;0~d0?g?(j>0({ zXyfvXc{t^UcjtG+gF&W_`Z8e^-)knbWhS|ksczhgUz#|IjNf8ou| z7(CDQ3z*-7ZsYiu{=$tV?)J)xy`U_|a|t~F2iw2SZA1QZl6_5hcUz+!57M|ik8D(Q0^Awe8lEY#GKhFc()vK=KS^2 zaP(Ew0iWmCc2GcG^NoCW4ea)Upc`_X5v|q#h)?ACa{Yg${=Z89U!(uo)?C|}kG2E& zw805DH`1OJhPDGazYlHEm$UQtqF1!7cf@*qNcF1YF&*pIbnGE(^f0ax8;8BUW+Qz8 z+>C+`e1aeGB^w}Td=q(?uBJTD=6IGzRzD^3fV~_R%frog zC+~1Y8x|flp54kbC7s_CzQQAjSNIyZl6-YkF9Kf;$b)|6aI6`p4LUurKY+f`uIzog zeqLrAF0AWL;KF*U7}q;2t`)%L_g!Plo97hJ&o$s5WKYzIIHO=W&L}`^KXwbo63auL z_cw(0GC8`*43+#d3YJUXXeV=ti58dtl?wd3m)dN zuR#4C6HG=Quy6s}%SQMlu9*RR`lMxe=ho{H?u5!bX*+GYUT-~ooZHXk+c4+Lng28x zL!-^JU$pxf0T=J4bL}~0^*c{T@p#Z%@1EwR@h)pe9|kYZ9=Qh`{k-f0Klwu2A09&d zz`?V9-{;|wegyADW_m{HW7s#D##8?nE3*=120ji|xU#3w+R-TOXg*^de8+hY{jzqx zGr1;U|2NtC^HE>g6Lc-@3GGatVF#4MhChs9-K;$WB<2TgLgvet`)la!nvWemUj*k! zIJoq^(J4F7Zu3jyb~{kE@;(M~NZ23Z2Whv64W!+kj{j`8*himew>Zx=;h#L%b%BlZ zzbRwDqi?63jBB^V#dZrE+ikZV?83EHf71vXG!br@?UH!7ZvHGwtJxcQ6ZnA<>ghz- z(20q>V$#2v#r^xBUykj?!`Bde9o6U5POh}=cC-wi0o&{*+?mX)0snjdWPL}m&AxZ* z+nk=9pEw6F8rZX}d?(M0@ZNLJzW52s9={WMx)bl1C!v1CkM5oH6CMxscUzfl1P`RQ zjcXTEvZt&NUm_RQR-N-G+CIuj3g9UU_7Hu+=^TUta;SR?xYV!#`MzZ`~cq8LZz)gm>t(2Ec5~X0{bld)b{NULi;>0Ha1wmcrG~3 zd&U{!!AbTx$fM1iI(>++4c4bi8{#>Ke1;z|#-58_VSBdtA+O2(!JM7s9tZ5>wtJ4o z>t$=`#Cqw(`oK;jxIpJWUN2ksPwHjbK`)tJc#lPvKK@?$b6hUxO#UO}AMTfw z|H|4^!r=$+29WPvthR`G4^L(dup&B!F>W=KQrj}GxFWQA89`$&np+l z{mcOUy4TO(`__WV#r{m5L-3+{v)^~}`x)Rzdu#SH!-dLGem}Fdkl)?!XMk@~+|PLa z4E37*OP&2kvOnod^(XM-t^1Pz>)xmzj)`4gks4zU#&Zr_w-GJ%f^ zw>ftt^Ccn1UKj&Cj4{yIp%~ZmocgKgM-i8BKH&OeN~^vDKk_)n*_?Ccn*28U6|Bqn z#4*^%gpjme0skSE!4w0Xb8ouD1@wB$|51LFFp9UQmc>H+2v7dPpe`wHMiJ(R^f zYlwI_ztG_RM2_EG&fU-FJAUS{9?y+Yc}?-)a4r|{n7>Ww_896`a^{S;a}oS1Z6&{~ zzrp>!u$8A6-y*N{h3)WERM|`djuP?`CE>}Ao#T0gqFJ{y=6I=#CLhW3d@)BbBzaBh zdu03iS>Wp%4O|58}2#9a{;`WDfK;KnJhv3$NOMODF2BUGMkZyFNw<> zX3JndNVj{3byw>XWsWrKp$k3l`&*hPPT8LGH>7I^{LKw)U(VlT*xz4{+>ZT4P5bM~ zTl<@?_V-%KnD#g8McAJQuOaX{tJ~ga?eBQP+i2w$uTOnYoNus@9Xr~7u;_>q=_ZW}+<-~X5OEA-AWGvVjfJ;|{a^>`%KL|@%z*W}WUGVP$5 z9~a-Leb9Re1HSa_@MV&(!0$&f$K?9Vv5h7^BO=1O66aebPfXl^6WjT5kP-75$Xkm4 zsM)<3oU7z>4tK}kzxdsOeXReu8TuOs6YaN|2W}JJ9p`~P7(K$VH6a`$yqR<-xx;J8b*)8I5G>y*&ZF? zgqFPYDvbTIV4Um0sI-PrRv5bihK;{4zl*qr^Sfiqxkt|1Uxc|Sr~i1a27CO@hrVLF zF}MRp?WV9FW!+I7LyRSJPw-)kZ`x5FebpuxFCB~L0Csma`t!tmDc7MQU({7H2bXC3 z{5{JY+~f6u>{q|D)bneli6XBodV>8)&&=vCK+ntIgB&k}@g=}Odl=mU9MT@b_GEwR z@ztwv9wuKXe+XbvcETg{e?I5KFxPeo|F1y&K)UGz?AonCFE-xV9?2fYO!*BgwDP-8 z<#%@qUOK*bw=aiEM@#y97FjubNa@%3v3Vu{<~{BF{`ff3=zK&RJJ>nNMEroYTI(ae z*R@-TvdHrrBfdV4H==Xk=U0d8OXXWvEkpirK>b|foNzt*g7tf`zrc4hW!8+YCE>aP z`*=PdfPMgdFKC)BeFpp?%TM=o8{28vNxNv~o=Z(TEgxj%d?w^!P^O#s7_-8sbajU7 z?!lV2;=kZdowLB#S)hsW5BNhI-OXp7fgt$FGvrgiclkzo07GN}zWw)vou~&{x$m<* z{O0Q5bYpouP5vW3Q@&@K<7OO!cQd2YLD%Uiy6~KU@6iPwF*oYY|F^kU^b3;v61s4% zB;ttm%qa=|%v-rQhj;rPg>TEOZ1%?y%dl}B*zAE^|L5{=fhg<*g-t(;g zi~R@ezqtl^$LaR_gfz`RdO2u51-zbOeW?1pnC26=M{}u3b8w`k`CQTrSSO;5@jj-I zZ4LezwkPvgjQOE^S^G`Dg)`P5Z=Ba=f}0BTTL$qG=J}-#&Xtw761iPW%-S|ft3+tG~ zuGR2k0Ip5(?GOE@=t1I3z>s(ncF6v}-AwZ10@%-ivHkQOMVdORqrK1t%Cm1A;CPVh zQ#95+89tu6;JY_)9hGkb>>r@R!>K!bm;8DOzS#YKw~@7B0uO#xVqU_A4`aKQXTck+ zUCzFQ-xM!nY=?JLOz&%Hr8~*p4`3`p+A;aeoDU=0}S&%OhBwJAwH@(0DZdQPyox+x>Y@f3Km@wbDWjJ?Lm3Hx%rxO+HP zYQk?Q{DKFc<3ZZNo4MX(KQn|iIMVLK7V+Dy{k@cH?!*pleBkGGnM)i;M=eDM?vZjb z9XQGIIrd`YhJC;ZzQV;Zyu!&A-c#e?HDxu9zETQar3r69;r$fwoF1Hi(EcSzsr6O%-i$(bI`4{LFbDUPV9^HnP*RIMtPR~ zIDHR(pYQ6v+tO2^@4)vi_&EOmBg$F3*+G4osY&^oC9!<#r&{^mHcr0VX|Kf;ykZkx z&#NrFYqkR~+on=5F$dyos;)3E0!(YCuDxj99(L~bJdU%4a9Wc0P|kLen5OsDmewN$*mIhN38!sHyXSgYt{+2;w8<~?{JFM_#1N?C#+_YHARo+j$#=Ye1@L=# zf8`3Se`ot8u2XFLt+8F%-`)IA9msdoW&1AD4`|uIj^qD7_TE1}uBy)eKQogip%hw@ z{sKxflN9;`6l_b|2$)G)ErPp1sN(XYnMv8TT0crDYATh^q*cMNYo=6j#kG^7Kt^3F zv~J_Nc2Zmgaov)xzjobEXVM~Kb#2R!c7U4C^L6gMlRMJ{ii`XCejZ={n8!Ky%(>^h zf1md`=Y7sC%7o6jTb$Fw=c)A^^5NXS%)$BF;Ox<>I4+sml*XlsvD7JhFK^$g%KSa= z!S9-Py7!HH-)T+=ZqbnMHruiG-#c3s*B|>eZGGC>dHcQPZ#@CN^T2nWgOAafT=GAp z9N&O@<*3W^w|N%6#y2;xeEl?a#MhWT%RM~y`*7@emxJR5V7+9X*&JpZ(VcWQJwGUU z9eDBv;2>tUjsF+S$LHV-1N{~B?SQbpJs+;q`T((krtlSbJ=6rui^bE+3-~96FGz=) zc)mL3_;nxDI2KqHuK^#GFLTR*SLHqW*00Ln9kX*V=F86h1^ou1=$!jsfcd6i2`pj# zm@?(xs4p8(Zj5PFDmhF@p3divJ@PT`hB<+koYx&Qyv|T61J{c_Rhdhm&k*#`K8*Li zwJr21AJg7Jq&#c1j3aX_{@gt#xFSlmr$@XL|6zwhTEB%a_Drp}j#Scb;6{fp=g_Zo z!Q-zd&oRDHU+e?jc*jkyKJm>JOCR-#?7z(|&+A?o7gpKGXUb&7`_KB>E*^Gn;H)(R z>*UdCbdv+?5%iOb#VoIP;(J;@kG8OTmN$|S;US$*yXTiRhkbNz(NEo08Fjwt?8X~z zbM>)XbJ(8c>ZdmIGy0M5qcK$aqtxOo8I*-y*T|Dq(Ql-B=GWBo zy_Y=2rCrz=&yAjSXQO1xqw6@yuJgTX4>#9VY^%(Uj#DJ&$k+YggwRg(-Yv=&?YiR@ z?F^s8M1D$W({J0U&ZKC^YopkI?o4Z|MxtpX?)1Nb_lD4Wi?@r*D&|a9|F3s__6s#{ z<4yt5hB}7zq9)Ese+ql1{o0AghVI3;nPU0jr=O4C7BAT)=>c{?cvQyD8XdkBj%>;H z155Evxbk>J|6cY9_;W7J=bvs1CG5CnWvcmR2mi&ie}X^h%8eaoV4h`B&OLI zrgymGX;@=~|9{R?DQ|E1pl?%cZAe$M%SzWaZ_#xC$@Ze`a?;Yq9R zlPSkfv_ftjyv#Y`uV?4Bxp#nA`p4hn;I$t+CH~s`)7`mr$vTGXx9FZUdnS;(AIke2 zk*4W$N_ii(=d7K+S2}%v_qFuRTHXQH@t(TS{eC6uaF(YRBFl;eFI`hXwx^f&pZ4|t zUZ?*rjnu#Ip12ZudaeB@>Pq`J_H3ks|NET&H`0HJOr*nBX8wV3UpCE-$DYrJKav-& ztf8R$t8`yP2_Lk!BHdOUE7Rdp-S+pt%IW`R7ypkVM|shYcf;%{lP^RRYk*I13Ucl5 z$E$}uI#oW9p`Pv68LyywWYm5m?|1su*eIEM5B=IU+zW*%g zLFv8I*BtfDnkjTOx>rH{&!K;nU0IC7kz5ppmKDce+I~=U`(U*1Rqa7yblN3vad@*2 z*o*eyQTOgdzm0Y0j3@G?p;X=z!}8v|+TqJ%qKoXg=1j~_a<$RIzQ-uT#(YdXLe`(v zGq%RDu?;ElrK-`n8^?%N_+)ksGmJk<-rB=)rjNCmiT0he^UlFV&O5R4cW94@vebFv zspzXVc>j9uea?`m&tH4*6OGVc-hJ=ABfUpl<7n>%ZgY5c1Mg|9 z5xqQkMTe)Mk#MU_%(QJ3eH=fowvFn{6;2y9_PjJa{(#GK@mqS{e8^c#FCBx1&p8Cr zA-kqw!n5qRZPBSrjQfV8+%+5vN7qKf#_qp4F``q7vHtcMAIFRJx6gad_Q$9miX1v8 z<(-9a-skMW4~y}$ha#K>4D9heZzINgIEIxNRpM>kvl7nxGmB>>>~r_5RA3zItySo= zVp_W|D8{tb<$Ue3=IO<@28`*BaBrx0hQfK~%z+!*YM&=?hQmEWVV{{7duJw`=Sjs_ zSNnW*#GZ+$(|*}v@9wMNwJMLdMOic#m-02{ozq&7%FlIV@NE2 z-}^Yg+TT;el4|VIoKm(hLK(wSI=K(uUp6CnMaRLjX;k@uSAdNFg=oIIP^HvrH7R-`WNkyufB5Hl=#ll zgR@zCz-QGsuDe{n$~uV0o1*_Jzs<9!*+$Lx?VVhfH+&DkllA6_f~7k10`o%c$4-G3 zC2d`m=*u&=k^cf68{PS9ccpo=zfHy?+h(`bAGggsZHit-d%Lu4Web=kTL+2zrJp^% zSe)+4@aS#!+cv8*KXlSPeV1gRy!=>T^<&bTvU2e^J0{Uu#4kEJ zEP+W5&3az}zw=)j0l(PjZANUHRhiAS`K5B)pqcfD9e#FKCPr^3?!wkdJD;W<@$?c> zKkYM)?2byiA`Q&w{p8(#R??5`%?Z5Bj{a^$-`~Wi{tK6Wb<@o1JiI!gjoj#MB;7VH zciZq}%+N*m*&e*rN+w+k)L6$G2*o@z}pF?vC*qf9tS8j77#-tFZZT z(mR#&e!|N$E-5ejV*ewSIV}6EdQoTmnxOwGwFZ4j%I?)D&si0%rP=btB`G_$sXTW{ zO8132^)F2+u40h3^c>*(kw!js_?%So-T0bre%PmQ?#=PWTdk?=XN<{f&qZ`l``Jr5 z=j-OpWhu?)@M~KSFo)XzkBlSCkpe&KwEK%cEsG0G`1H$;mDs>Xh(U12%I?bOWq#jd zTPQnhJDbmT#)eJshH+qcjm(af-aR$LK9+oref015ncRC#`-aAwf<03re9{Y3dFq;u z_)b!5gZZwPjc2woDf&-)F1({Q@hJ|!{r9Y$I_1}R@lZn>#+1gS`qpytvQO^alf6C~ zSo^I1n9o4lZB-_y@u$0zJ3BR3DEj$sxyF$EbjQYC?b6|9_{-d=+jw`8;q&}2eOrun z8L#a(crD+;Z%NH(PnN|_$ywo_6#LN@ken9m+{~rLU|X`!bhPi(SfuaS%lobozn&PbC*MtcGYyGWyJqnyHpipc6A5?- z&E#J^>d5q`#v>DD|Ld#*cgXeSo}f?a4u(R+A?lks&Uc<9KbFqmxLkDpK6StE+OKjt zQ=Ub>{JLC1=cpswlHteturGExRui8zZ_VA*K5zxhVmk9Tpbb|f{nW}mxar03Sdj;isli9M~P%R9qe z31^F6`d>be#(TFe?;dUj2MbG;b>dXVcngfOi zw8Wk@if+U6d*3(E@H4C|4xt0$J-qmVY~H7#wF67vm(T;zG%k9F5;c!|FhgtEtv&p& z`>b+Z4(;X7{|@;PFBoI5)SV(89>eq=Q|fa>PcPz-bmvwd5)Pk?_I=IcZ})U7yFqMb z03D3*T#v05Z1UHw46r9-@c^#ixM*+vIMW*(*Gw89Z6OWz2B&gY(^R9gSAF3{j!YS| zZj)%95O0VjHRjB@#CuqIGiGhsf0OKg@_A$9yY>Byv6@fXxn;*>XHA6vOvgl|; zeg8$v{`0^0G5cS-NRPAZdp0gm{db({^bal;7Qv2;nTp%X-kVzX-W2CO)iob2t2?Ev zE;JDj)Q4zEAEKQ}bUL&w(#tsXa^+PrDO(mm_Wy1K*}U8@n;WcbZY!Dh$4X?gJLJe_ zcM$!Ghn?}|NAH3U8=`&s7J#QG>hG{^TlUNO-r&%q!*`E9YuAmiqxkf)TimT@{lICK zr|ABb==XJ`*EzmT#2NcaVawX{OrD+U4iV2N+bP(Rb}X*SJP2%R|MS4stoSC{yZu_= zT}s)QNz4FKle9zzW1ZvJ+P&5>iLXR1qS>w_yMw(|{AbD*LC+(c= zN1}HdxVAa^@q;p13A*?!Q$6X1rL^_Ik(}qyb|r8Kzc${L3>0bX$>;{} zEMuvR;yY|Ju74p~hTS-CzF#0ecUus@LcWxAx>|7gevf$_9wjf-qJNAjVXijA4T5_NzpgE=YPIqE8@t8WDUUN zDh`^?(L7h@D4d=xmZtRj~kkIM2_W1;r|&q{!_k=b$;fib`4PaA9&fE zA>M?y>HE}`wTfvJ4DwGSD`UsRYt@6VtI*1t7Jg<)=k@j2_h>l#dBp&Db%JhNQMavn z6UzA8t6v!|wkMeUYf9WfG@yOxN^~>#J7E2tBQt)VuPCdW<$9}M@3X^tAK@&i^nSc6 zBkWsEv~9^};cWh`v@d*g7f~8}^8xSq0w?bN1if&-{ot;*c87d@^}BsNhx~3C8k*w0 zE5G2~Zo3&|yeQk8uLAC2zu4DSbCY9V^LBi5{9;ef^0Jc~9GMQFYjxFIKFv>^$|#ZTX+^Jvfh6MV`h^E4Af5+9cg`fu9E!Ys-NF9`ddFP-E-Wt}WlP z_~dLk^+vVjzCI%@!oNE6G5S0yTkd-|Y2U5Ne1La7JgqJF_g!wweed_Xeap9Gp5V+y zL~rPe-aIKZl6=srz=k}?#cFOW%X#E6I0>fF*?n9Y@5}YyJ_=% z&_rY9u+0C+%KT8MzH|>}CUUGj4&PkH`cv+A0F#=(VAle-vSvBa^x3tGnVgptJua-k zuU%sGGJ7WV$Riu?#)T|S@xcvii^^OtD9Eu-gU{GTVyQ6_r} zjT>!Wl>Jr#f=o;P(4I^-Ej1g%up{wtGKCJaP+{6ardbAT`ybA?APhP!4YP z9GjgBl=s2i+SZnjr4R4j?b6M<3g)ZyHFJp_vo>f=Lw(Tppj#fr7n5%$9_ZT|TcN$= zJ?o=!5zpN4`N47+;-@)yJ|p@G{%OJkx{((T`-#2KJka`cZkgrZSUgl$^Rkab z*CGpjx))4+=v*0o)`+r@AMeP5Y@z!6k@{R5Oa;Tpxpa@dX1~{L7LSvfU+X_$(SOt* zSb*FZJGTO^vmLmi*x)>Q^=;6pzu5-;r|>`T4pMI0owB4blXtP%-$)>5G0iJ-W9+;_ z{Lf)myfV8ENd0rSAHO#?9eYH6f^;6clLx+l&Xa+A-B-u2j!zhY=6v^YG=BEGF;h#$ z&&4&V`dgj#%MRKfT3pjOv{Y9KC0Nt0X|(@W57VXUui%GlU$tZV{O_+6e6+W?GSS*1 zo8i)Oj^24sbzkm1m)mh701xeZi-zkQmJF#~d`{Wak=mJB*3SEVvQU&YGknghT-E|p z9sN5+ctgWq(w^|NW9j17M$2#6_NC;B%}M*(x3WeZaN-`7*2WT9ON`!UzwNU+^BZV$ zrsV8Ow~eb>?LC$eo!t=L;Oyy*?Ta$wp4YbW9GyBUKby~VcC71i@bN^y1yH}La z^l9F;{PCSHv~rgn9#k?|;iD>exQ`UR?>Fe0}t| zeP}MkTx(Bp-HbV|JJ+&fXi-n1XQ#gGw~xNI0`}}oRi=ry>|E=mW{nk%x%J~4kG{j5 zYpuWPmF8NuFDu8?(_G8K&lyDZsdck*8ui#dt26cV>CUxE;Z2PGZr+8rmUl~Z$lrH* z^!Ec{M}I=RpA)XK?UJt{D;L*TnIkXz;I5mM!j>Jq?H=29RpvJuGr-%%{)F)9bx+}j z;d=^4lzI7~l69Sl!oQ^d!=9{v4jBp!Zfv#kt~&g`=VoNJ4cplk?X!11kqYKHWwNDj zr&@mG&Q6uclbK%h1(Wp-O}+!%lO?Zh%=>u{Sv?pnYfn0joEDy@Kie+nEk|p&-);9H z(c@&~G0ZI8vo3b)A7wGC#TdKRZe|<_S-(IGadAK zQgZ5hH{kAjzL$4PA7g@71c?)rteEKZREyRdJK8(K#$16Otd%@j+_e56**eu-PtqKR_UQM7@g{#N zbf6wFQcvQm)mYzyet)VMkv7_F119>+Q-?dwo*d*q?`|}mt?ZZIuR7epr*kpIy3EhY z>q-a1&_QFE=;4iF{xdCt$HGB>8Vh#-hi&&#&M68n$^y^%2MLL^s?;DU^ewzPO zuQKMGJ1fp5V(g7l9t_V+MO?rCpP2W7=YaK-c+Y=NNnHN1%Gk@BsIgRge~j6(RhkES zeY)e$o=UzqQDPf>{ROOFUX|%_`19?j>PD2L~LwQRc5{ByYxMmzJ>qkl5O~-cu#m`{So;Pz+m$Me5Jrn z(>JHyYXztcJ#dljjmRV|wQj-#ftXy>qksj@Ab4m_j|H`%u0fUE72YWOdNR zKP&#~f8C2hnf?#BZL_CYP&|utLHpxMJ%7@^Bfk@Thyk>CB;B@zQ-Byhi?ixLgOWPX zLUrQojd|rG%5Zp2sSNw*-f#Wos>~rrW@%c~ZJU8=sru-ai8Gh>u3r=!10);n)n{Jh&!`7Hl z<~uz0*Y{|kIk@dxb<5gRonXZ<92dLo1}V36{G59yIl9mv^wIfh2hL)>FAUfF2Y_ih7@%(bpvjJ=R8Y4Lr>csN$n+F+Nr3Ca6-hu1eD12zwx#P{NVJipA? zVE?_48L_x@W}_8-sx<^A{Wvj2E~TH}o!qnvnF$H(=3yAYo?kKOZRuQ)Db&oA!% zAZLd{IiD@Faraf3vnAK~xz*wUso5E2y~oV4-!XwUnpd#y-pUx*8gb9ktv(n0U7r~I z?YAwwzO}~kRM|JrgU6wRhc(f zTU_}HZRTBH_$jx|H+yaJ%@xIydu}@FiVec!0JT16%*@?e4emyt_G|k9=cm zca*PiOaPJDll{~{B4uh#Spp2|GKuD69W zw_{v?gx_;|d96Vcx@2wd*#^pr3FDz|4Osu-=qx86O^qXm0W3819QcpI@?`-ds zY*aXQ^4HRhCh%x-=1K4K(Oj~z+%Fs4H&`MYJ{XerF8bQc8kdirUsxIkQyRx}0*;A` zN^y)0yORd77lk0W;gmf+}vq2G-yeDf>d=%3GeF=5j6L1^sZ zYsWzAhuRqFwb*%$gMIei7~~6?D!6O7dn&o>@8jU2*dF+OD3l(iN!-T&Rc9uPCZ0|3 zwTn-7Mm>Ifo-%zCs-ECz+n3L7{E~j3qEFckog1q6(QSq3_6m06r*%HNVdj<6%?GD< zXZ>%mi?SPv^;685aBjk<(cIjlO;OKdqqmoLWBh;SwkJQz-`z_u=+b#ugO!`K{iDD~k3y`6h?Avw)=r zdU>+%wW+q;br{B!g`>8UciWjvI~E4lPZ<$T{37@t4efyI9`C%Ph3E3&^#-kn43||nYY^kGU(h!~y@>L~F*m3& zcUxtyq~ARu2mWoEyT@&uX?5mD@>|6t*H?==d@O}Sew(uoxUDiVeCL72Sbv-SZkv6y zS!aDb|2J34&bP7-kYC8ysyij{yW;qy*uQ~hc&=Er{dI`}8z;#BnqxOfC$Hk1=2gx) z%}@E@)L4A`bpF@aKz)llXY74r)t*qy%9zDH@5ZTq8aUPG4E0I7hB3jg*7R4%KW7>W z#DrVfcISAOCaw+MR>?X1(c14{;ONsw-1c>LDt}cHf5^9YK-;sH(huc%^7vAA|6Y9- z`;WaF z6z689fVD9rt+Paf-i)uSbS%A3P8MGt2mM~+U*h>8{Iu>3TTl5rj z{5tAIfuUXNexb^Y_HWd$m)CbM^{n>?>0k9;Al^uOi7MCg5jXybz1~98rA~|vXa89L zyR$X<_(QiYCVp)_Ytec74X{SCg0U$y!StzqGjp&&H?c;{zXF>{r;>io^a+lpY3A^3 z-cehTjh`H#okHXte}5!C?q81dFU=pJ&4W?wuk&rB@AL-Pn+Mm{;~|p@Me%>>Lw6pi zpTI??@aPz`gV^rE`f-87?}gsKW^A~d7yzw*HbIAe=-%AO{ofU4`{HK&0P*YC`b`lt zu8aBQjtdT%)RsW-;GOWGY%^q-V7}JSC|y>0SA=>$HT!oBKY{hXn}8s7CPrf3vKM7CFYoAvu5%hv||6^;Qiz`oE|N3sbN99U&~&}(a@Qh zFmWxSTay3hu@@0uwPulIv4=MEob_5WG_)hOvfa`Xzjaykl*GW_zwP+Fz@O>S+BtZB zw$5xn5SpCXzan7ioP_4##qelj=-7A9GKG3*j;$+r|Mw%W;WZ{TP32?D%DYTzvdT|) z%7gGt@)W+`q$a4m23fT{b@~cFYEolWJ{f<2b-w=DW=9elbV82^xMR~TUmu!{e4fR5 z*YQ!#znWg15F*TDS)Jd;W%&Ug6Y({MG_zU|Ut6&b&Q)ZFBGO+ntzx zQ&qhn3O_V9n#s_90cXEL6Ek`j+j2%?0e(r@J8Cn+y1-~{s=WLiGc7T2EwpBRG!vU_ zwrB6Tdtm(?phD^>p-SoI&@zMY~uP5?Nk<9C4jH_~T2vUn8uj)f-A znaqEJ`8*fq^aQiLZry3Uf;+;yg7+iKP4BK?V3h}NM`h*g+lW6p8JGoc0zHhi5{GT- z=Ej7B%^RDaSY@^+PJdhPhu?@EoQF>e|AWYR`+26YB4D=1XRz+beFkmlLl5ml;CB!8 z^sF&$$DC;4GsydtO0%P#c0W;_sQEZ)z7jo#$1SFEtn3iwtzRY|*1nk;Gp7@tcf#{n zJ^jo9#y_vL^v#E+WJKRDaQ@6s=c6kY57QdGc^G=>|81mcD@&6ysv}uS)2`^>2L10n zKD0eoS-ntoPdUwOj-ey5O0(Ue!P%Au`>B^i&%v!L{)s^Ek9Zb8(a92is{Je6|Ker; zEulPI#Ts4KT%&zT`Dt&L&nUSVb7DKvorS#9j-6=3Zpzn_{SD6uq|*PJI}c_BQqM9@ z9pT<;^{aN`*bYw@gx^fw-w(Zl(m7WbI>tFTW}hG0A)HnJJDpjQOCZ*}4B50%pHXTYPnS^SMPLG#4Xpy`Uu38X$tIb+7*dB7gS zZbt`(mRbH(x4hVMc!+f&>&Oz$5Fs`+X zG4nN!o<1+cl5rCqcKnPcn;iT6C!Ute(!H(#~9OhV-M=q1$qx`h(27mF4)_S zUAP~es#_Q8)tDojQTq{)PQ{Z8?htv$wUugAVC-zI+j z+|5}g;vh5*o9-=VsZ8|9jWgQ=^SSqf|JV=ei=S#PK7PBi9;@;Gc}oNM3{8%*mz*AJ zwg=}k7GaZi1%vh;jGM7Vxv^%M{JG{?(E>K|U=myO3}ajRjnM)yY<~zEZeJcPOaTuZ z*X{SzL<{%GuFY+3{4g@yZ>krx*RvLZe}O-^{R`CBfB7+H;j{4aC%+%saS!!s-FJGZ zAESPZx+%AAgu02A=Ek%!3-|!Q_8fX~l(FqD{@)zrTX-)I?f3}wRlbq3p3df8=HG{B zOo0E;X+33WY-YlQ7o^|p!2MBM=Hx%3{JWg|ZRB&INts(oMQe?*R>#=$_V%=;_wVEX zJ@7|x?6Y!NoB2!1eq!^1IpTx*%mrpGG)EUMOk@AjFAVJ&M#|OWzcs z?XXFlrM5M1fbW8RK(HUb-MObk@BdnpxTV z%et!GUw4^4c(gr&-|(xMA$)a{`DGpc6gt24v(df-Q^xe>=izH&@AI6`eu1@3*-7mS zF0Ur0TYeGa-~FFx?#f6x2bF=qSV zc*aO{;J}n6z3r!)UeS4Q{9AkFUqm{l*GSfHo{TJ*bLO_69_0T(V;WybxZeei<#1h4 zYc}h=P7m_UoiV^kw48G3mu#i{W$p3L~Qei(hYRxli%>3J0*=q)d ziNH$#h2N4_deDU{hMhC?FCFykh~Ty5=%8C}byVeHck8`(^GoBm9^I+zA?r+&K z*=*LhmN*p}i583%F?1ODUk!bhDZaf2pE13hGH}37EsOmi+Lx%9u+Yi?{V2Y%9vc?L zS8W52yLhj*diUqobO!IMHMLK425X;KADnpba_APO4}6=hHs-dh0W6cueha@^V>UkU zlZ^Wo_j-II4^OSx2=}0`%#Ja3@5%WtTmU%K)`MNk%MH-^ zQE*+tzF!O*vGK9yzMGF%Eto-_E%7SLGK`YbxKKFFDDS8nSa8EP$;TlE{pADp+ns;|!A8%?<9EWaFQp_d0kNc!yR z#(LzU8QBhXyX#W$-;;CJx-R0`b z)Gy&?0W8DvQ5$*%`Izt0 zCF-WFZtD3#4!xFIIaqS&W5arZ>_yloVGQXrqz&1&ozes3bElO9>RMT{aFRO#Xak$?_aeR(w zS-+1 z51fk{wozvrX_`7|QsB0Ax}7{Yz;EgtBF#}JM+#21&K@TZev29|LMASPeqm%HObWiX z&IBh9?!ZHxTS#NniIGAJ2OcL6U4Vx=+ep*YNs~e+2OcN?TI8?ig%Rk<+^U40(i`X~ zT3UHC@Je)&EV_Jjo%#-6o%-anjt)BSz+dj5J8Aw(jy?WPfWF41 zdDzK^E+Q3wqom^R)ue)3V`0q6Ti%Pm37*B@ZqkHXC+*}d@5SFN&*JYM(yUu2=j1K# z#b5DI{B?P1`wCMAuPyJzU-3}J90$K&Okl-xRG|*FKS$mz4h9yhXz6Lu7?IK@FWO5 zln+Kpp+RsPDKrRzcReuJI?zM;V1o3}zD2=9q`7?^!5nGU)~OBdaq_`z-J)5@lOI<3 zN9FKF@izsp{1*!^bP&8AtS!iSP-6zPuyE)Zdf5JyhbAk_XfjeiqtXRA_WH7Yh%Q%y z1GKO>$DDld7E;kgxQi~`q#j+;PTtZ?bOCou7nc^aQ|r-4G#iO7f4p%MdmMJ{F=+#^ z|99=y|LnNw!e1OW|NDCBhkyUm!H4hv+rM@7@~wN*tk<-C!5n@s+*CR)Ia9f&HpTkYb}MvZMyRHRvz$R1qabX8ihG&6v8P8hz$2F{{sI z@Wfb`7d*4sGapf(U3lu#H=(QNAd@$_y6WVE3DQG1p{t}h>f}g)-OBbJCm+m`UbK8s z5Sv{eUfvN5lY*D6Gr`FR4Jr0Kcnc}^JQyPdXItlLCm)QGV$XxyNU`U^G%573b-JB= zFhPnv4;~`Lo(FTJ(8__w$p^Ef7olqxp+{kKEldg>9eA94(2(9jom)tyvoTU=?7-vX zPu`Z%4tiOiqn#XS)@^5xlb1eU{@g3`DJQ!NpL#vJ>$hX@sA$K?Tl!nub0fldrIox3VYsit;S^x|-CJub7j!vM2dU@GSXq zWy4Dc}Mc)%9KMN%Cd~7hfb6)XFRy-#k(}G|INBme?IE^^Q7`&@M(6+PjUVA zMfmEA8usAF&{qR}+Id!vo53_sp{-&6{i+ugyHwJ?{CBl4|6T1vpFg_4oCQ`t%!hb} zCO+5~H6zDG*zqGg`q=r-2=o!`C*l8=_UqDW1?vqV=w;_SCrdAlPaeG{0K0ML1z{)u zy853Z(JSYp7qly>|HHR-7nvWTKSAs6&uJ}GdkLWmdp}U;SoQ#dO+Qf#Rvr6IG2}c(S)G}D@P1@+LBQB}iKFbp zd}yrc`|w!yBHX=IZ(lVQj24poytdR%92wWTpjTJ#d-YjE?5_8%RZ0(37WAz*du9GL zXqBlQ)gAP`uYIACwtelWf4%c>td9sDt8>V$){rH;6%(3Yw0lLYBQJq3&$1`c!#bzk zqx9{c)U)ocIE$@zo=|J!z!Y<#eYi(S+bhlC7&teuULRUnzX)C)?qOX`dqRo@*>i~# zm*Zc5m0#nlpIXoU{hhp%=N)gaMEjpRes{On;Ea3o62UxqmH}SS;BSE04Sc_@g6`Xu<^MFaM;g{Hb zQ%7vzoJENvH!X?{k`D5GgmmumMX})YMTz?59kCkH;PRciZy;9h3HPX*+dV zNn6}H?M^;+E9t}3=_K7solT^jZk?@8KK3x_5$fzF9i+|x>29~qpp%asA)VU>Jaxd+ z20Wy}HWwZzADc_sN}U$c7V5N;-pX@3X*}J=CNKKg`gPQA zbJ}UC>kzGMo9*N~-Fzqct!{oR`Q2`QH~B#~KUmi>i#v;75Bi*}T#xt5_1i{}>)q!# zaxHn5Tn~~;uID08lIwcXpet)NPTtDA!Tby`So<@r|9 zcAncwH}SlQw3Fvf(ua9|m~<=8TS*6a9w6P#^KQ~3JRcz)7BaMG|na`w4}BG5)S#>}_C; zDajbG@u!o$-I%HSiQ1@VZ&2+#!`w5=UTK~&O>rmGv%aCqA|sRq7~lN$WOvx(X{DVh z4Wv(#D$WvqESnAdJwsbs^Fv>|m9c770{CZX+`52sPPCn1tgE}6_;&IUvxV>4J26nZ zc}M*W+V_I1*k|C}!NWCbBR^%!S&`eOU+dMaJetm8d=T9GBH`-ow`K zsJm8iNZQL+zv}BLp7Z1tXBr^YxW|4x^|@%@Goj#|8MOUH5_w)Av0Sdg99y#&mtzoYM7_QuachI^Ps_naYEY@ojgF%kr7T zBgy*nv}xG4&fRDFo+B>U(B2D|n8HTl5fr<)aY9AcM%vo=n{|70D{nrQTWkvN!slB- z{Lo_7I#!s8T^g^6+2gxuoH--jN8dG6JhVZ6B(oZCj$WepDdOm?KlKB9Cv1)~`D;<+ z@nP#{OtEn+w!W|43SxHreW*|MbHCe9j(9x9t*HHCf4=vHYn=Ef#SBXR%HdF4O^i6H zG<<4nzSokoUJE*wl{j zgGMgD-MjJO#YA|#rIOeIN@_lvG*!_vU(#lR(wgk)yNLC_P;b_V_YOhvMV}=k-#6Y`XRrYxTA|ZqH7o4 zX2<^>3vP+7UB-JCzn?PVT*Bl(atg7NLt6&+1-a+!9Q=0T&^A|^Yx$*M8HO9ShzaU3>8|o~QBsE&gw3 z&amSx(M?DBwIRQYYs|8n!9j2n2id&>9FpYE#WsY|qo-~+eFxAl;S&=+??9f>qdGI? zU=03AKKsGRwT-PFP8;aU%WI!mw9{SC&j-zp7Bl&YA^h&g=v%tDf2wqGa@SLfL#YbR z5e=e?`3*s0>uNLmk~5{+ofHgUh6l z>1y0NJ@vx%)9wqPJNFUW{HuB9xV|G{c|c6mmpOCr0K5PXsUymH&{0TDm zt@knS`2aE4+%w!m+}8t>|7>>8n@!)=k8%c=G3tTI6}?-5;cdK|7EI#t?ZmZ_dUi^3 za0kyZ?B4$-{SfsP7xm!erM(aG{sXl85b^U5(C$P0$N9K9bKUm#F@`nc@29UoXTrqA zG3M>6jvg@+6KCzZl=FU@iLZ@tZy4*5LzL&AWvs*g^^i)w1k>kTSbDI7g5?ImqL@4E zzU-4?+$V30_SLxcg7t|3$%)1h>A*yEH(43Hukj-Eef{M7R=9GL!_WFA`!y5kM{=Qf zuzkemYVYR$<$?RK0cV6)1n%3-|B8XX44jw`&dCw8oeNFP%*Ngt{_}J~dQAMA)eGf2 z{(Y=7)?g2|Q$G1N#!OO;AC17e-qLDnW(w`7zGp8Q`0x3rqkUHXU7RAsX{wI!Kbtby zi$Nz&t;Ala&fn69{@;pS6>PFgI-7Bi`bIW>L8^L+x%##*|7-Hz+DOIKi-|Q2_Rgr9 zuyBRD<{^9h0%NebDB8z3or$9}8l!{IU`H^}l_zHJWoWw#JDOze<$2;*7x1oKJDD5p ztA)nw2ToMX;Fe(R!CvUBn7*E1Eo1hSIjKd^lQ9}Q{td+-d|c10JIlwan7ZVnG0G&9 zJ;V-b9w%Bvu~&)}lyCgc^sRj9nCrx#s!U_O>Zy+C;;nV4O_ldc4rsIdf5o%@1XvVX znJx_NQ2it@s7=-Xjmsmo5vSa1!-K=?rw)HA09^yY2@3-zT8JZi$8X=&JBIfb)3?@7 zDxj@5*8S%~=S){K<2Q0PaQyau>!-lmJ(5Y4dA^(S^5GKrKqYZ~jN{^);`##6TkBSV zt2v7Voq4BqGqHy8>#a}SnhZK?QeLd%Oe8{AR3c0YbW8$NG8JZQ(}v|x)>$56NB7RFfM zt~b!lu5mfCX5YOzy7n;iQGD}Pbk0ce%`ZE&e4g@_#K`Z8w|*M`+NHbeBU!r3-?#M~ zzsZ*6DD!wBI!LZ0PwViPSf5)hyX(o1|Nl*|^8Z&y`9F&7_10+ob5zA4=k{$GkS?%B zd+@!`jWe~G=b&S(23>~s&CI1@(APjq`2%Nirc6GaWXR)17#@huaZ=TtxX!G-IAQu$ z{D|+9istw}E4Zs_#g7bU0L`5GX@)bs`1ZayVjnGAC9mcGtM4U}@s})LoU<;z_iev7 z)9)?ZeO1Z_+n)3unz!1uP#fp<|DQNRt@*ybai;%o#}U5%^!R@}?iStuqwddqne`#N zKa&{y|JnT+*&lb#Jm8JfDs$(?C1ov+EiabIS5e(T=4{v)TkiK+Y}>wfWZOpGpK;EL z$d`Mbn5_>Hv*qo3B(%qWqZ3;t8!q3VHq2Rn`b(Z3ZIpeCvkt0t^Uduhm1K=J&iZJQ zHQESkv~ku%m5;MVn%up7QJgi=F z&xH2yD>uuJdx*Fy!M{WM0Y^Tz*TK^{3!*Wm?PX-?&ZymAa@LE2nJ{Zd?>z9)O@jMk zGs&(EO$7G1g?nNq3EXRffmFQy#*QQ~$AdRon3KS)d=i-Bx84Zcr0vuJ=6H)+2e_3_ z0(ZRg#$%1Z84uocECJm3vzz0c28Of$vhl1HXAaYrJ{pa-vuE zmml5arZ`%gMK!6nCCbjy!g9zTB3R-->Jwn$)*>)_Quix6X}R8rC92Z+$1x z+pCg%I=26{)0=(a5_)gp`DEzr^tZHxzlytjCo$U|f92mjbuO4_-nEsiY-&W>T|wlKRVlX+IbT^m99tFBa5?l zmfYP2|E6OnNZG$hvUd_;FD^bfz2jQoV=uyyKi;`Y&z*J0WFzim4SX~k;mLiuozNUL zjLf~uwG)$BL$NRt*8tylBIi%aMp)Q_({?6X+IHG}%e0*r*}kViyNQ`MSh&uyaLuvh z;iCfloU8`wGe|4gdRkoYr`O9={i#+|O^T$1cC6!_psz7SMFJOVi!ccK!#j#DWeT zf2Mq=L&qQ6a_HD@QY;Wq?$GpKZMjQ3+I+(PS9eT$d8a#OWM3z}6#X8d{c`&Ky~<9K zekY@sp50Y{oaNt~_=Gto-IQH_t$KMf{f%S?y6E@S?7%DOeO58f=)GdOJUNi9v3`Rc zPiixs&+tC_vNjeR-=n<7{}#t4AV+rmSG@CRx;<=PU)kRI>AIA5PnNEKD4wzlGwCOW zzG=J^zOr-mwhWmCNBK-M^z7QOSHn}|=SX(;r2I7e8IR`HPs7hC`e~b-ynMM4{WSa> z>!)c9WjuT-^`8xQl)oFc!;y|75y~VH$6!O z4tjmv_SIJO)4sy9^!bnFr`_ZA2Y+PaKh5*W_zka%p9a55{4{u$>~wuFc&5CSGx=%o zEGa(?o)!HxcxL^y-K0VMGhp}pw40Q7{j}?Cx#Oo@XUiQwZJ8|}_S3HBS>wSU(@$GS zAAY}h9?vI3??2Q&pH2I(W}jb+p9YPsy;cl^XRpisw0O|;c{Xe$A5H$*Gkl}K@1H%T zXVh?@?k&hJ@!Ax4|~j`+3V*_v+>MdxahUVGq=5b;(Az=7zY1( zm?z(?H4?*I%ihYw%;W6k#EDqyj)2Az20 zM7@(w%q4B5P77%Zby`Vp<++`-o#$IgH}Tv_+R5`K(uaB8O1hQjhe-!`-c7oj=K<0q zJP(o%wspv^CyvxD>gW4TcFm*AwoC3tqGy&EqF1BmheS`}ieu1I>vIv-F_OV^I^ySX zcf0cSw6OVh z@||wJll)dUzm@!MH@}D=G*|PE^Ig&g{ zt|U*A8Of6?L)MpeWy{JM^7IQcEKfgI-X~8#=Gn^ATzFd#uj@%Yd8%>pR@PeKe=E-| z)M+8TmFHVY+j(v$-Nf@I(oUW`Ngw9*rs%2SefUdfbX$&(|=(4El0lcA3*?~|dV{m+phPkubv0dFfe;A>?DJgvNd zUr|=jnU18l-dUz6uR}cVHp5=c9}v&mt=Lw@RG8s--tNc)H zZ^aI`(1-W@+vonc{V7KIJYRo%>CX^XqWx&4W?c5)?cOx&xucZ_h+R;f2z9-@)>FNF zd3oDAI1}oexmr7mJAp*A+11gtbH+v2&YaLZ`wh@EPkiv$Q_TFQSPve@8vp6xMC-IX6=I)1ZF=l!Srox zp3!y1WzkI^XKk4~;O$*wpR9-;VN754M&gMoSI*eEF?w#-DP#B+Jh3F7pdNFB`9o&x z!A|(OkMl;Ci?6)XjIVqycN?9z^5&g_r<(lt=%2XczVnGE?j@gOE_3S28OPM7*WQ=8 z_epeNjbZ-X&2Q-1c#UAGI7rO#vMpnxM~G`#b{_YS&sh2XjxnU7%VW^zacJ`cX!Ct& z^DodQ034a4Ll;YqBEvD3o5X|refUGTwGU1R%>EkqXIYEa{h_L(_nLk09dXy`+b$jE z%Nt$3ylGstZ)SINb_9O?4g9#-<;etiQUgzfe+<7te0Ur_+(~-g*zENW0|)1R*FKmw zvmY2|`YKvxbp1&5XI^IM4-M~zmIhoFK!0cj{m<+AHGJb+6sc!`U3GsoKQQ|f&}&QJ z^n)$XX%~E`7QJ{kfIal{p$a}cLH`dxuU_c&1IE3FrZ&%(oLmTBs*#U>;eYs4NHXUb zZ~1dx*Haaypgz^#_lU3ILZ0~(THe%E(c?Y`uV9v*OXsEMG2XE{k33aQGP9-UL*|r&pP;{gM$fwfX8sk;=XWh}bvy)4 zZRogR-*qIt9Zfe2&{ujn9{SBj&t{nMF8#&>%Lh9|w>!TOo!yQ68Tt^dL^sh$^b(Dv zn-kE`Bluc5x$=N{tM)V^~sw_~42gXd4<=AXvR{eK!a|1@s?Y1}N%<2)O# zv7p)KJN;?g9DUqObM_$aqm}$pkB<89WXH`O>b{!)=^r;=t$z8q`D*nSGtT>r8>}*~jl*HWuGUck}C89P$-459aLJ z4)wRSEPm2E_hA3?#a(LM(ED%aVZLkR#PJV2i=V)ngk1yh)~~g{rdSBY!Rx$;nV1+@ zdV%x3Am&TkdpM65q%2~pQ|Fw2{N5Pfbs+Zr;SUXPo{Y1B@zaUlX$dqcK1BWcCzHr!0RoNJidtn&@@JKoQ?6J*+VCyU_n_#yac$AJsFE`hH4PJwX!OK^-H8`>e6 z*BNxR*}^$y(OGpoUGR9I@)$Cqa@}Jud6gVy;lJvX$42W6|Ksj|{Kp61%GTf29cwi`uGEI1Oj= zV=H6Fz;8qt4g3z-qF*{&lw*DyuHw5e*?D~5 zDwyFL-`oYjck!U7_P`>Ey3{|+K7Mb0aYZU$RnfbDe4-||A(T2$LCU=ZgBwih!1z;V zYtKyI`ZzEp*sJ#rOnEDLzCD7?)}266WS~Gh&e-6bgBMKf8|^XCvr@M`x457)St{df za<_@q*|Ps|^}w?^&UnE%G0uK-Vf$v<*Zof|$lZpTXyXRv&^k96omktY?@!6T$c81c zWp`0mbyR=7sa^FOH;zvJfX1uj`NyaD$1aENzViUkC2X+2oDcgg{M6Y_!NYmj0s3rJ z{dACTJa7({VYF*6`kxJQHl95zeS_e9H;!0!yg2lm>C@@wJNEopIes?^X5d``ej9=P zOD=xx|Fv$f@YDAj0<6RE-Lhky;K+Sb_o|-W*#eF~EaDilI9^_cqsHN6Q;~PC*{OHn%at1URNo&T?uX~EMuF!Ce;_>He$DU<^JP1- zdC%bVRIC!82wMAPC01`zKR?}UHi2Uc6W`)HNJB&ORWApuCnY2zU!pxJ z;(vF@&g>N0k_KEe(@`DCThb^j~{Zz|J$^68~uxh?W&KR+zd{li)>&mx^i0}Q4?(_V(!5dDRpjho<`Wsi(i z{b9HSr}te>eXHr4{C_WfYP@;cp=WEQD;L5&_Pe1SdPlP1Z^vuHqmAehuXkwE5_RaZ z0J?0(PVJs`{N63tDJBWanz2*!u~z|X&eufq>u=kM!1iqkn$_>Xen}n^+^HdX=f0FF z>RaD`Q2&DGR`SnITu}4VBT9z8{%DHrm61M%mYw>-qkk_*-QPTi~zy zdKnp2e_v%!DF+Ob$6a1{fjQ^VgV=oF{W0zQ44M7~I+3V~rnc5MH=1yBV;$d|&V{Dg zI}V!zW@3ageEn6~na&&&Jx;}t{Va4e7nqK)k33+U<3UPRB}+qcgIPTidqtxvst6>__V zagTO$S23rm=p4{DudBnCAD4a0y$Akqx5=&=vsvR}xZ&8s7pPauJsZHC%C(uor0+%> zpZ^EbxBZSs?vo$18M@2HFaAW1dr>~hJV*CBT_2j#H3{G8+Ecmr zqf2F>6H&N#(3z`G>(~jCccAjva zb}+&o_zSvA12~T9o~-LG?+rFY`*zoxzToNR;vHKB$E1S+_QZ16ayJ-yru&1E+~e}{ zBhVO{w^KhD=B}C3%*8qJ8~*3uIrraOddK5)=qvQj!==dZ zEgaY31Epd=zD@^X7~mpcXLGxZ&nH|(xL_UdN#nIXEAKR^T3F#osq^4 z!0xU$sy_8(15^ijTy?7aP~nX3+zBuLk}*}!gKMIN5Oh%e75Enw*rePl-L(<4W99N7kDR<6~gFBM%+$|1RoWYwOfzK1ZEF;Es+%PEN;{u=Q#)AE2J_ z_yBlxQJ;B9ZwqTB&7wX0Y5tF)?VN=v=sUQwQ{ScUf23aigUA8)p;PC#(-8}o{P1=B ze+qrc7uOtGJa1;4JC|{;1zS3ZEebHkeNSzG)4BNEV|aclH0H`NzZ+U$=|Mf&EZt=$ zdnSE#Y2513SN83w=n0KwYYqDPWBSfvXC>3{(avksp5PLVFNDT}(hFdl%{bw~C3v>d z*Pvt&J$W~Bbtm|~jBk;pTsluYoBb|eEi^fYcH|p9!nlw_=Hl=zk6cQwUPR74nUZ{I zoc7D#@!K6albp&<*m3FyLpxgONBmEa_5q`O1^EdNLBk|8cIGFy?G&u|L{|>d-!&Gt zVCG)o4G)i>VK(1HSp-@O9^t3@ODSW`agRB`{JJ=AcfO%poY#f;W*~f%Uxxf{*F7Hc z4HAq~Uz4tATwxAjSdSB4w=wR@F`9EGiqNjHc&*x|-49&$e z+n#Ai{ergita4kHYe@Z+GUZjS{#)FBpLF}}rQgK$AKrNYIu+;h%riv`*^=Ynul~1C z5ByvG>v0CZ)S34<^D))e9Ca$bmSp#B&_aHF4E*aZa@K`BeyW|wyJN*Ur?)mOzJ=kT z{%?kVUb)7p()DQvK4*yT zUw{^$ark>eT?dZg`KSCh;l0r9{}dPJdjjTS$;&;gu_S2A`ZM^J0rkP$K)7kH?cwLa z`#5v5A`RSnUL8OF;!plU)A!qRkKenZCTjiKJahIHL3~?$H1veIPiW3k;Nlx9mj2J+ zcZ;@aKZ$HPw%=JF7^XpNr{L1sd_QaA>0qKpb+s<-$%n`1TV0%g2n??;pI!PQOWX%4 zy`1yN>)1y*9_=n3pMM?uaO7mz&LCHFyl{yV1D zl=Po-`#0y={`+60|EpfT|55S3c_jS9A;)gI`1ia@|JS~H|D)o+WF-6(ZvQU+$ye!r zp6$QXE>4d)c9Hd{1w%82ZIpZk>7?vbz}f|D6!y>4dyfyYPx@ar>Zq%a5$1`%3^{9s z(#xl~%kBX8&o)#{om=&>MC)#i5v&i(F8@9}-2cAUsei3&dG_FK_)*eT;rIR5sr?r4 zi%gq(t=Erm6^_EK!TcZI-aS6b>e~O`Gn0^Thg?Vq)Jy_ih^;rSQCpr2c&qiCimA1> z=P=1&YvuIYgF)nCdk)FdZcT8FTR)(_>uvHt%U9KPS%(wjL=-om@`_LNI3q*q8M(L(SErUWpdH)onyo9Cks2%ZM`J`LYD37$Njw|%l+HeA!R zOYa0z^#pTn7W_WQe5w9w&MWJjz%XBJdgQ?cjTVf;IgBxB$zu*dH0-a9!Y?rroQsGj{Nu;t8_Y=GFMkC(Utz>A^UdwXdt`#~MpR}V zc-T1g1?V*Ctka8qV*N83j@pd;nj8+B$gaLhF}`xbFTx26ANmu}d~3 z%!j@8$F}TSL7$QfYu_2aYzA?`BdQ&{PgzhwPEzW~7l!?_s5@4bIj}C`y;MDd{mY_` zS(<>+yYd0_$G$NmZR1MJ7Wxqf)V7|3Cki{+$}9U*mhlKB?1K$X{Msgl~NBOy$$8 zFwTAZ>&X%Aw0!IEo8+?9_{wK89a`d7sngu9anJXb6k~JK)@9If;CcE2?;`%I-7iu{ z{MOQ3?R}QtGkG5B*S_9qGG*9_HH@WkB3|TJ`%_8A!XN|gssT^#Q)uFUa~pX^lE#bk zeA)!3Z^^i5M>Bqy+6kub7U*HHr|ez^I|N7uR@h|!>e?slC#ZR%HE%<|CfHL*g!X z(GBpEFIR*8Z*VJzULl#Y7{pXA~b2uZL`F}tYPC)y_ zu@|4(%N&#pOuT$aU*eiz4-2^%u0g^p#`_fSQ^YwfpuFT}62Fl8(Rci>-#|7(&F@3=1$>^%;8mVBrEshdW? zd#B*XuQGklK+h~^cuquXJ)6P%6TS2K;=3KM#N3jX(f0+*tK_ZkVehNw>{!RE>@UAE zZRCts&tA~+>e-Qwmrq~FhyAY#VpfP-=_YRF0C6h^iCZ~D+{#PDt^AR=m4g*yI}R=| z$lh@sjg0N_HNUaGF2BD)J3Ydk1oJN~uFguL@!z4-NPa_a;WNahG0aV?R=6k>PaXe{xl~egt@*~U-cM*M*?4geKE%VzQD3=>7_c-OkI4;R4oe5#JmP@Is#6>|5_?;ygN@okD0s|z8VMV z750u4^v!)d%a?;Qc_trK*F(k|Lylq-?Va0$oxnY0bxr7k$%#(=)%fQPx@{?EW^%F7 z8P4r(w(#ZY`J3p^o?$^&hp-C1L^|fBkU<)UtH!t`i-A=+qkaAu^nVDBt|y3rKxWDR z@yckkIa>%UQ+!y|ehANbz$2KM!#gC;z60MWF6x8OJV*H+-nEh=(;elkDm}xLv>G$V zoOAiJr5`Ju;?rYvW>p>zzP$2%v}xe)K493(E6dzM8R;L)^JQs`SsduDgMlDEORM%K8LzBuSsGnkS}E^W?QuI^q@3kM^-&;yaXEk$(zfM2Q

{5%Z!cyqM!MGJL!&j^^%l} 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�ce(O073HS}|m=X7s@eOEvK7=2i{&Zf>sNxz%A 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�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
oZ??QW%U0eR_uPI;l`N4@_vGUG? z@8^_{^Yf;BpBME0g4IWK$*&sUBKUq@`B+&^`LgG$Ab;{>Po*WTizAuw+_B#R&yCsol#Pc$uMKA4FIt0{qpbJ&TJwJp+y1y9R>FFPlH}7DDYeEnZE5Z${oWWX|EB3j`z`&J=~oBeZz|uUTw9m_tJ(*N2MW4h z8+UFE%<_h)-@@{~C|LQmeEpWe_x}jrqsmv8|99XoE8zP*t${&sPKX?6$_2>Up_}bZTRZ(neD4ib{x+@O(w~@q>)`vJ$~UA+$gin>?+rHo!1!qLng4A1 zZG!KwlyAS$HRt<+V0|s0FZfrB&ws6a!!e($4;m*~A7Z~o_0bK!|0R5n9s=L2U{QTY z9?#zO-eBZ2PPmi(@`m918|8aPt9+M&^5^FBmB9D6%13``s$a3cRKWMY+u|$smn!%+ zmG3~SNm#+v${>*E?e`xJ(7JUEE7TR;x!-+A!;qw>i((*2t1_s(GUuhM+0 zYnU&9@1K;9_0g2?J;B^R=9hOFeE+vCJ}K`mYabk+GG48MZ%g^!*=l+B1U-L~U*2`_ zeNy=t51N*@I38?*@1K>A@t`SRaXbkA&Ens`DBrgmU`)yj@ z;`TcOzU$lKD{jAY;Cq(x-HGz4ehtf8+9@W1y9T~4pRb|)ireo7_&!Vd*nXSVM{)bz0^f6#kNssR3&+=Oue@FV zZt?H4m5<{M$5+rkDjE-p{kaExpVJm!u|M~M?{k%p{ZUi>iv6z)zRy!W_D4aFx2W8mvnz9_yZU!p$1=SZ8>#}xRUt9+b)gw6S8KAAt> zm1Sj(a3(q{;~kR8@Q2; zd!h1iz7;;ZxPI$4KdO9I{(NQyd@oYID84k~E7orfd_B9mUh$zwI%B z$mi?&l*PZ7Dqq+--_#BHd_CZMnecu1_285CnzUbCl0!Wt_EWPqvR^OwUaowv(~IQS z0$-8+%HVs2^1asRTH#xIetvmJz;~na(O+87uc$u8z!xeX{iOxIqWYKu-z$}m{?Y

KDLjhd@l)#+DBJl{qmcXkL{xcKHs0| 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

ei8rh9Q)_sODnRQ$@$vG; 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 z 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�P^ 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 z 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�r{YtvM4W$fzznpO5`uHr@?FBMU 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

)yX##Q5yE3w!TZ7r<3i=6Ygp3wgZKYCFZY5S+ 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

SnD@j#a@So}?)tG{%aeO$c@a2& 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 V@-XuD6#x5|%Kxo=WR5PP{|E2f4I}^n diff --git a/bin/avrdude-aarch64/avrdude.conf b/bin/avrdude-aarch64/avrdude.conf index 61c3b95..1097b83 100644 --- a/bin/avrdude-aarch64/avrdude.conf +++ b/bin/avrdude-aarch64/avrdude.conf @@ -12,68 +12,105 @@ # # DO NOT MODIFY THIS FILE. Modifications will be overwritten the next # time a "make install" is run. For user-specific additions, use the -# "-C +filename" commandline option. +# "-C +filename" command line option. # # Possible entry formats are: # # programmer -# parent # optional parent -# id = [, [, ] ...] ; # are quoted strings -# desc = ; # quoted string -# type = ; # programmer type, quoted string -# # supported programmer types can be listed by "-c ?type" -# connection_type = parallel | serial | usb -# baudrate = ; # baudrate for avr910-programmer -# vcc = [, ... ] ; # pin number(s) -# buff = [, ... ] ; # pin number(s) -# reset = ; # pin number -# sck = ; # pin number -# mosi = ; # pin number -# miso = ; # pin number -# errled = ; # pin number -# rdyled = ; # pin number -# pgmled = ; # pin number -# vfyled = ; # pin number -# usbvid = ; # USB VID (Vendor ID) -# usbpid = [, ...] # USB PID (Product ID) (1) -# usbdev = ; # USB interface or other device info -# usbvendor = ; # USB Vendor Name -# usbproduct = ; # USB Product Name -# usbsn = ; # USB Serial Number +# parent # optional parent +# id = [, ... ] ; # are quoted strings +# desc = ; # quoted string +# type = ; # programmer type, quoted string +# # supported types can be listed by "-c ?type" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_PDI (1) +# extra_features = HAS_ {| HAS_} # extra features, eg, HAS_SUFFER|HAS_VTARG_ADJ (2) +# connection_type = parallel | serial | usb | spi +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# buff = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# sdo = ; # pin number +# sdi = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# usbvid = ; # USB VID (Vendor ID) +# usbpid = [, ...] ; # USB PID (Product ID) (3) +# usbdev = ; # USB interface or other device info +# usbvendor = ; # USB Vendor Name +# usbproduct = ; # USB Product Name +# usbsn = ; # USB Serial Number +# hvupdi_support = [, , ... ] ; # UPDI HV Variants Support +# ; # -# To invert a bit, use = ~ , the spaces are important. -# For a pin list all pins must be inverted. -# A single pin can be specified as usual = ~ , for lists -# specify it as follows = ~ ( [, ... ] ) . -# -# (1) Not all programmer types can process a list of PIDs. -# ; +# # To invert a pin use = ~ +# # To invert a pin list (all pins get inverted) use ~ ( [, ... ] ) +# # +# # (1) The following program modes are known: +# # - PM_SPM: Bootloaders, self-programming with SPM opcodes or NVM Controllers +# # - PM_TPI: Tiny Programming Interface (t4, t5, t9, t10, t20, t40, t102, t104) +# # - PM_ISP: SPI programming for In-System Programming (almost all classic parts) +# # - PM_PDI: Program and Debug Interface (xmega parts) +# # - PM_UPDI: Unified Program and Debug Interface +# # - PM_HVSP: High Voltage Serial Programming (some classic parts) +# # - PM_HVPP: High Voltage Parallel Programming (most non-HVSP classic parts) +# # - PM_debugWIRE: Simpler alternative to JTAG (a subset of HVPP/HVSP parts) +# # - PM_JTAG: Joint Test Action Group standard (some classic parts) +# # - PM_JTAGmkI: Subset of PM_JTAG, older parts, Atmel ICE mkI +# # - PM_XMEGAJTAG: JTAG, some XMEGA parts +# # - PM_AVR32JTAG: JTAG for 32-bit AVRs +# # - PM_aWire: AVR32 parts +# # +# # (2) The following extra programmer features are known: +# # - HAS_SUFFER: Only present on Xplained Mini/Nano programmers. +# # The Super User Fantastic Feature Enable Register allows the user to modify +# # the behavior of the mEDBG programmer/debugger chip. See the Xplained Mini/Nano +# # documentation for more information +# # - HAS_VTARG_SWITCH: Programer has a programmable target power switch +# # - HAS_VTARG_ADJ: Programmer has an adjustable target power source that can +# # be controlled with Avrdude +# # - HAS_FOSC_ADJ: Programmer has a programable frequency generator that +# # can clock an AVR directly through its XTAL1 pin +# # - HAS_VAREF_ADJ: Programmer has an adjustable analog reference voltage that +# # can be controlled with Avrdude +# # +# # (3) Not all programmer types can process a list of PIDs # # part -# id = ; # quoted string -# desc = ; # quoted string -# has_jtag = ; # part has JTAG i/f -# has_debugwire = ; # part has debugWire i/f -# has_pdi = ; # part has PDI i/f -# has_updi = ; # part has UPDI i/f -# has_tpi = ; # part has TPI i/f -# devicecode = ; # deprecated, use stk500_devcode +# desc = ; # quoted string, the long part name, eg, "ATmega328p" +# id = ; # quoted string, normally an abbreviated part name +# variants = [, ...]; # quoted strings, each starts with ": ..." +# family_id = ; # quoted string, eg, "megaAVR" or "tinyAVR" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE +# mcuid = ; # unique id in 0..2039 for 8-bit AVRs +# n_interrupts = ; # number of interrupts, used for vector bootloaders +# n_page_erase = ; # if set, number of pages erased during SPM erase +# n_boot_sections = ; # Number of boot sections +# boot_section_size = ; # Size of (smallest) boot section, if any +# hvupdi_variant = ; # numeric -1 (n/a) or 0..2 +# devicecode = ; # deprecated, use stk500_devcode # stk500_devcode = ; # numeric # avr910_devcode = ; # numeric +# has_jtag = ; # part has JTAG i/f (deprecated, use prog_modes) +# has_debugwire = ; # part has debugWire i/f (deprecated, use prog_modes) +# has_pdi = ; # part has PDI i/f (deprecated, use prog_modes) +# has_updi = ; # part has UPDI i/f (deprecated, use prog_modes) +# has_tpi = ; # part has TPI i/f (deprecated, use prog_modes) +# is_avr32 = ; # AVR32 part (deprecated, use prog_modes) +# is_at90s1200 = ; # AT90S1200 part # signature = ; # signature bytes # usbpid = ; # DFU USB PID -# chip_erase_delay = ; # micro-seconds -# reset = dedicated | io; -# retry_pulse = reset | sck; -# pgm_enable = ; -# chip_erase = ; -# chip_erase_delay = ; # chip erase delay (us) +# chip_erase_delay = ; # microseconds +# reset = dedicated | io ; +# retry_pulse = reset | sck ; # # STK500 parameters (parallel programming IO lines) -# pagel = ; # pin name in hex, i.e., 0xD7 -# bs2 = ; # pin name in hex, i.e., 0xA0 +# pagel = ; # page load pin name in hex, eg, 0xD7 +# bs2 = ; # byte select 2 pin name in hex, eg, 0xA0 # serial = ; # can use serial downloading -# parallel = ; # can use par. programming -# # STK500v2 parameters, to be taken from Atmel's XML files +# parallel = ; # can use parallel programming +# # STK500v2 parameters, to be taken from Atmel's ATDF files # timeout = ; # stabdelay = ; # cmdexedelay = ; @@ -84,52 +121,65 @@ # predelay = ; # postdelay = ; # pollmethod = ; -# mode = ; -# delay = ; -# blocksize = ; -# readsize = ; # hvspcmdexedelay = ; -# # STK500v2 HV programming parameters, from XML -# pp_controlstack = , , ...; # PP only -# hvsp_controlstack = , , ...; # HVSP only -# hventerstabdelay = ; -# progmodedelay = ; # PP only -# latchcycles = ; -# togglevtg = ; -# poweroffdelay = ; -# resetdelayms = ; -# resetdelayus = ; -# hvleavestabdelay = ; -# resetdelay = ; -# synchcycles = ; # HVSP only -# chiperasepulsewidth = ; # PP only -# chiperasepolltimeout = ; -# chiperasetime = ; # HVSP only -# programfusepulsewidth = ; # PP only -# programfusepolltimeout = ; -# programlockpulsewidth = ; # PP only -# programlockpolltimeout = ; -# # JTAG ICE mkII parameters, also from XML files +# # STK500v2 HV programming parameters, from ATDFs +# pp_controlstack = , , ... ; # PP only +# hvsp_controlstack = , , ... ; # HVSP only +# flash_instr = , , ; +# eeprom_instr = , , ... ; +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files # allowfullpagebitstream = ; # enablepageprogramming = ; -# idr = ; # IO addr of IDR (OCD) reg. -# rampz = ; # IO addr of RAMPZ reg. -# spmcr = ; # mem addr of SPMC[S]R reg. -# eecr = ; # mem addr of EECR reg. -# # (only when != 0x3c) -# is_at90s1200 = ; # AT90S1200 part -# is_avr32 = ; # AVR32 part +# idr = ; # IO addr of IDR (OCD) reg +# rampz = ; # IO addr of RAMPZ reg +# spmcr = ; # mem addr of SPMC[S]R reg +# eecr = ; # mem addr of EECR reg +# eind = ; # mem addr of EIND reg +# mcu_base = ; # MCU control block in ATxmega devices +# nvm_base = ; # NVM controller in ATxmega devices +# ocd_base = ; # OCD module in AVR8X/UPDI devices +# ocdrev = ; # JTAGICE3 parameter from ATDF files +# pgm_enable = ; +# chip_erase = ; +# # parameters for bootloaders +# autobaud_sync = ; # autobaud detection byte, default 0x30 # # memory -# paged = ; # yes / no +# paged = ; # yes/no (flash only, do not use for EEPROM) +# offset = ; # memory offset # size = ; # bytes # page_size = ; # bytes # num_pages = ; # numeric +# initval = ; # factory setting of fuses and lockbits +# bitmask = ; # bits used (only in fuses and lockbits) +# n_word_writes = ; # TPI only: if set, number of words to write # min_write_delay = ; # micro-seconds # max_write_delay = ; # micro-seconds -# readback_p1 = ; # byte value -# readback_p2 = ; # byte value -# pwroff_after_write = ; # yes / no +# readback = ; # pair of byte values +# readback_p1 = ; # byte value (first component) +# readback_p2 = ; # byte value (second component) +# pwroff_after_write = ; # yes/no +# mode = ; # STK500 v2 file parameter from ATDF files +# delay = ; # " +# blocksize = ; # " +# readsize = ; # " # read = ; # write = ; # read_lo = ; @@ -139,19 +189,29 @@ # loadpage_lo = ; # loadpage_hi = ; # writepage = ; -# ; -# ; +# ; +# ; # # If any of the above parameters are not specified, the default value -# of 0 is used for numerics or the empty string ("") for string -# values. If a required parameter is left empty, AVRDUDE will -# complain. +# of 0 is used for numerics (except for mcuid, hvupdi_variant, ocdrev, +# initval and bitmask, all of which default to -1, and for autobaud_sync +# which defaults to 0x30), or the empty string "" for string values. If +# a required parameter is left empty, AVRDUDE will complain. Almost all +# occurrences of numbers (with the exception of pin numbers and where +# they are separated by space, eg, in signature and readback) can also +# be given as simple expressions involving arithemtic and bitwise +# operators. # # Parts can also inherit parameters from previously defined parts -# using the following syntax. In this case specified integer and -# string values override parameter values from the parent part. New -# memory definitions are added to the definitions inherited from the -# parent. +# using the following syntax. In this case specified integer and +# string values override parameter values from the parent part. New +# memory definitions are added to the definitions inherited from the +# parent. If, however, a new memory definition refers to an existing +# one of the same name for that part then, from v7.1, the existing +# memory definition is extended, and components overwritten with new +# values. Assigning NULL removes an inherited SPI instruction format, +# memory definition, control stack, eeprom or flash instruction, eg, +# as in memory "efuse" = NULL; # # part parent # quoted string # id = ; # quoted string @@ -159,28 +219,28 @@ # ; # # NOTES: -# * 'devicecode' is the device code used by the STK500 (see codes +# * 'devicecode' is the device code used by the STK500 (see codes # listed below) -# * Not all memory types will implement all instructions. -# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Not all memory types will implement all instructions +# * AVR Fuse bits and Lock bits are implemented as a type of memory # * Example memory types are: # "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high # fuse), "signature", "calibration", "lock" # * The memory type specified on the avrdude command line must match -# one of the memory types defined for the specified chip. +# one of the memory types defined for the specified chip # * The pwroff_after_write flag causes avrdude to attempt to # power the device off and back on after an unsuccessful write to -# the affected memory area if VCC programmer pins are defined. If +# the affected memory area if VCC programmer pins are defined. If # VCC pins are not defined for the programmer, a message # indicating that the device needs a power-cycle is printed out. # This flag was added to work around a problem with the # at90s4433/2333's; see the at90s4433 errata at: # -# http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf +# https://www.microchip.com/content/dam/mchp/documents/OTH/ProductDocuments/DataSheets/doc1042.pdf # # INSTRUCTION FORMATS # -# Instruction formats are specified as a comma seperated list of +# Instruction formats are specified as a comma separated list of # string values containing information (bit specifiers) about each # of the 32 bits of the instruction. Bit specifiers may be one of # the following formats: @@ -189,23 +249,44 @@ # # '0' = the bit is always clear on input as well as output # -# 'x' = the bit is ignored on input and output +# 'x' = the bit is ignored on input and output and set as 0 # -# 'a' = the bit is an address bit, the bit-number matches this bit -# specifier's position within the current instruction byte +# 'a' = the bit is an address bit; from v 7.1 the bit-number +# is set to match the right bit position for the +# instruction to "just work" # # 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 # is address bit 12 on input, a0 is address bit 0. # -# 'i' = the bit is an input data bit +# 'i' = the bit is an input data bit (can optionally be followed +# by a memory bit position between 0 and 7 if that differs +# from the bit-position in the SPI write command byte) # -# 'o' = the bit is an output data bit +# 'o' = the bit is an output data bit (can optionally be followed +# by a memory bit position between 0 and 7) # -# Each instruction must be composed of 32 bit specifiers. The +# Each instruction must be composed of 32 bit specifiers. The # instruction specification closely follows the instruction data -# provided in Atmel's data sheets for their parts. +# provided in Atmel's data sheets for their parts. Note that flash +# addresses always refer to *word* addresses whilst all other +# memory types specify *byte* addresses. # -# See below for some examples. +# Example for signature read on the ATmega328P: +# read = "0 0 1 1 0 0 0 0", "0 0 0 x x x x x", +# "x x x x x x a1 a0", "o o o o o o o o"; +# +# As the address bit numbers in the SPI opcodes are highly +# systematic, they don't really need to be specified. A compact +# version of the format specification neither uses bit-numbers for +# address lines nor spaces. If such a string is longer than 7 +# characters, then the characters 0, 1, x, a, i and o will be +# recognised as the corresponding bit, whilst any of the characters +# ., -, _ or / can act as arbitrary visual separators, which are +# ignored. Examples: +# +# loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; +# +# loadpage_lo = "0100.0000", "000x.xxxx", "xxaa.aaaa", "iiii.iiii"; # # # The following are STK500 part device codes to use for the @@ -213,7 +294,7 @@ # section avr061.zip which accompanies the application note # AVR061 available from: # -# http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf +# https://ww1.microchip.com/downloads/en/Appnotes/doc2525.pdf # #define ATTINY10 0x10 /* the _old_ one that never existed! */ @@ -269,8 +350,8 @@ #define AT86RF401 0xD0 #define AT89START 0xE0 -#define AT89S51 0xE0 -#define AT89S52 0xE1 +#define AT89S51 0xE0 +#define AT89S52 0xE1 # The following table lists the devices in the original AVR910 # appnote: @@ -322,989 +403,1946 @@ # in the Internet. These add the following codes (only devices that # actually exist are listed): -# ATmega8515 0x3A -# ATmega128 0x43 -# ATmega64 0x45 -# ATtiny26 0x5E -# ATmega8535 0x69 -# ATmega32 0x72 -# ATmega16 0x74 -# ATmega8 0x76 -# ATmega169 0x78 +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 # -# Overall avrdude defaults; suitable for ~/.avrduderc +# Overall avrdude defaults; suitable for ~/.config/avrdude/avrdude.rc # -default_parallel = "unknown"; +default_parallel = "/dev/parport0"; default_serial = "/dev/ttyS0"; +default_spi = ""; # default_bitclock = 2.5; +default_linuxgpio = "gpiochip0"; +allow_subshells = no; + + + + -# Turn off safemode by default -#default_safemode = no; # # PROGRAMMER DEFINITIONS # -# http://wiring.org.co/ -# Basically STK500v2 protocol, with some glue to trigger the -# bootloader. -programmer - id = "wiring"; - desc = "Wiring"; - type = "wiring"; - connection_type = serial; -; +#------------------------------------------------------------ +# dryrun +#------------------------------------------------------------ + +# Using -c dryrun is a good way to get acquainted with AVRDUDE and its +# command line -U memory operations, -T terminal commands or the +# interactive terminal -t. No hardware needs to be connected, as the +# dryrun programmer emulates what can be expected to happen with a real +# -c programmer and a corresponding connected physical programmer or a +# directly connected board when it has a bootloader. +# +# Examples: +# avrdude -c dryrun -p ATmega328P -t # Interactive terminal: enter help +# avrdude -c dryrun -p ATmega2560 -U flash:w:myapplication.hex:i +# avrdude -c dryrun -p AVR64DB48 -Tconfig programmer - id = "arduino"; - desc = "Arduino"; - type = "arduino"; - connection_type = serial; + id = "dryrun"; + desc = "Emulates programming without a programmer"; + type = "dryrun"; + prog_modes = PM_TPI | PM_ISP | PM_UPDI | PM_PDI; ; -# this will interface with the chips on these programmers: + +#------------------------------------------------------------ +# wiring +#------------------------------------------------------------ + +# http://wiring.org.co/ +# Basically STK500v2 protocol, with some glue to trigger the bootloader + +programmer + id = "wiring"; + desc = "Wiring for bootloader using STK500 v2 protocol"; + type = "wiring"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# arduino +#------------------------------------------------------------ + +# Serves optiboot bootloaders and others using the STK500v1 protocol; +# it is superseded by the more modern -c urclock programmer, see below. +# The programmer is named after the popular embedded programming +# environment Arduino that has for a long time used optiboot +# bootloaders. Same as the stk500v1 except that it resets the attached +# board and treats EEPROM as the optiboot bootloaders expect. + +programmer + id = "arduino"; + desc = "Arduino for bootloader using STK500 v1 protocol"; + type = "arduino"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# urclock +#------------------------------------------------------------ + +# Serves urboot and optiboot bootloaders +# - Reads/writes flash/EEPROM via the MCU bootloader and a serial connection +# - Automatically resets an attached board via RTS/DTR into bootloader mode +# - Implements urprotocol, a skeleton version of STK500v1 +# - Supports vector bootloaders by patching interrupt vectors during upload: +# + Vector bootloaders run on all parts, no need for a HW boot section +# + Can be much smaller than the smallest HW boot section of a part, eg, +# 256 bytes for ATmega2560 (smallest HW boot section is 1024 bytes) +# - Checks sizes of applications so they don't overwrite the bootloader +# - Keeps the bootloader alive during interactive terminal sessions +# - Provides a 4-byte metadata interface in top flash for +# + Allowing applications to utilise unused flash similar to EEPROM +# + Storing in top flash the file name and its last-modified date +# + Displaying file name and date of the last uploaded application # -# http://real.kiev.ua/old/avreal/en/adapters -# http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml -# http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html -# http://www.ethernut.de/en/hardware/turtelizer/index.html -# http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html -# http://dangerousprototypes.com/docs/FT2232_breakout_board -# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H -# http://flashrom.org/FT2232SPI_Programmer -# -# The drivers will look for a specific device and use the first one found. -# If you have mulitple devices, then look for unique information (like SN) -# And fill that in here. +# See https://github.com/stefanrueger/urboot + +programmer + id = "urclock"; + desc = "Urclock programmer for urboot bootloaders using urprotocol"; + type = "urclock"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# xbee +#------------------------------------------------------------ + +programmer + id = "xbee"; + desc = "XBee for Series 2 Over-The-Air (XBeeBoot) bootloader using STK500 v1 protocol"; + type = "xbee"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft2232h +#------------------------------------------------------------ + +# Interfaces with the chips on these programmers: +# - http://real.kiev.ua/old/avreal/en/adapters +# - http://www.amontec.com/jtagkey.shtml and .../jtagkey-tiny.shtml +# - http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html +# - http://www.ethernut.de/en/hardware/turtelizer/index.html +# - https://web.archive.org/web/20161221220118/http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html +# - http://dangerousprototypes.com/docs/FT2232_breakout_board +# - http://flashrom.org/FT2232SPI_Programmer +# +# The drivers will look for a specific device and use the first one +# found. If you have mulitple devices, and they give out serial +# numbers, a different entry for each of them can be created in a +# persnonal ~/.avrduderc or avrdude.rc entry and the usbsn = "..."; +# field added to distinguish between them. # # Note that the pin numbers for the main ISP signals (reset, sck, -# mosi, miso) are fixed and cannot be changed, since they must match +# sdo, sdi) are fixed and cannot be changed, since they must match # the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of # these FTDI ICs has been designed. +# +# See also https://ftdichip.com/wp-content/uploads/2020/07/DS_FT2232H.pdf programmer - id = "avrftdi"; - desc = "FT2232D based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x6010; - usbvendor = ""; - usbproduct = ""; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ADBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; -#LED SIGNALs - higher ADBUS-Nibble -# errled = 4; -# rdyled = 5; -# pgmled = 6; -# vfyled = 7; -#Buffer Signal - ACBUS - Nibble -# buff = 8; + id = "ft2232h", "avrftdi", "2232h"; + desc = "FT2232H/D based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; +# ISP-signals - lower ADBUS-Nibble (default) + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) ; + +#------------------------------------------------------------ +# 2232HIO +#------------------------------------------------------------ + # This is an implementation of the above with a buffer IC (74AC244) and # 4 LEDs directly attached, all active low. -programmer - id = "2232HIO"; - desc = "FT2232H based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is reserved for generic H devices and -# should be programmed into the EEPROM -# usbpid = 0x8A48; - usbpid = 0x6010; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - reset = 3; - sck = 0; - mosi = 1; - miso = 2; - buff = ~4; -#LED SIGNALs - errled = ~ 11; - rdyled = ~ 14; - pgmled = ~ 13; - vfyled = ~ 12; + +programmer parent "ft2232h" + id = "2232hio"; + desc = "2232hio based on FT2232H with buffer and LEDs"; + buff = ~4; +# LED SIGNALs + errled = ~11; + rdyled = ~14; + pgmled = ~13; + vfyled = ~12; ; -#The FT4232H can be treated as FT2232H, but it has a different USB -#device ID of 0x6011. -programmer parent "avrftdi" - id = "4232h"; - desc = "FT4232H based generic programmer"; - usbpid = 0x6011; +#------------------------------------------------------------ +# tigard +#------------------------------------------------------------ + +# Tigard - FT2232H based multi-protocol tool for hardware hacking +# https://github.com/tigard-tools/tigard + +programmer parent "ft2232h" + id = "tigard"; + desc = "Tigard interface board"; + usbdev = "B"; +# Reset is different to the FT2232H; sck, sdo, sdi remain at 0, 1, 2 + reset = 5; # BD5 (GPIOL1) ; +#------------------------------------------------------------ +# avrisp-u +#------------------------------------------------------------ + +# Kanda's low cost FT2232H based programmer. Uses a different reset pin. +# Adds a buffer and a LED indicating that the programming is in progress. +# https://www.kanda.com/products/Kanda/AVRISP-U.html + +programmer parent "ft2232h" + id = "avrisp-u"; + desc = "Kanda AVRISP-U"; + usbsn = "AVR"; + buff = ~5; + reset = 4; + pgmled = ~10; +; + +#------------------------------------------------------------ +# ft4232h +#------------------------------------------------------------ + +# The FT4232H can be treated as FT2232H but with a different USB +# device ID of 0x6011 + +programmer parent "ft2232h" + id = "ft4232h", "4232h"; + desc = "FT4232H based generic programmer"; + usbpid = 0x6011; +; + +#------------------------------------------------------------ +# jtagkey +#------------------------------------------------------------ + programmer - id = "jtagkey"; - desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is used in all JTAGKey variants - usbpid = 0xCFF8; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals => 20 - Pin connector on JTAGKey - reset = 3; # TMS 7 violet - sck = 0; # TCK 9 white - mosi = 1; # TDI 5 green - miso = 2; # TDO 13 orange - buff = ~4; -# VTG VREF 1 brown with red tip -# GND GND 20 black -# The colors are on the 20 pin breakout cable -# from Amontec + id = "jtagkey"; + desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is used in all JTAGKey variants + usbpid = 0xcff8; + usbdev = "A"; + buff = ~4; +# ISP-signals => 20 - Pin connector on JTAGKey + reset = 3; # TMS 7 violet + sck = 0; # TCK 9 white + sdo = 1; # TDI 5 green + sdi = 2; # TDO 13 orange +# VTG VREF 1 brown with red tip +# GND GND 20 black +# The colors are on the 20 pin breakout cable from Amontec ; -# UM232H module from FTDI and Glyn.com.au. -# See helix.air.net.au for detailed usage information. -# J1: Connect pin 2 and 3 for USB power. -# J2: Connect pin 2 and 3 for USB power. -# J2: Pin 7 is SCK -# : Pin 8 is MOSI -# : Pin 9 is MISO -# : Pin 11 is RST -# : Pin 6 is ground +#------------------------------------------------------------ +# ft232h +#------------------------------------------------------------ + +programmer + id = "ft232h"; + desc = "FT232H based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; +# ISP-signals + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) +; + +#------------------------------------------------------------ +# um232h +#------------------------------------------------------------ + +# Pin J2-7 (AD0) is SCK +# Pin J2-8 (AD1) is SDO +# Pin J2-9 (AD2) is SDI +# Pin J2-10 (AD3) is RESET +# Pin J2-6 is GND # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "UM232H"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; + +programmer parent "ft232h" + id = "um232h"; + desc = "UM232H module from FTDI"; ; -# C232HM module from FTDI and Glyn.com.au. -# : Orange is SCK -# : Yellow is MOSI -# : Green is MISO -# : Brown is RST -# : Black is ground +#------------------------------------------------------------ +# c232hm +#------------------------------------------------------------ + +# Orange (Pin 2) is SCK +# Yellow (Pin 3) is SDO +# Green (Pin 4) is SDI +# Brown (Pin 5) is RESET +# Black (Pin 10) is GND # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "C232HM"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; + +programmer parent "ft232h" + id = "c232hm"; + desc = "C232HM cable from FTDI"; ; +#------------------------------------------------------------ +# o-link +#------------------------------------------------------------ + +# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1". +# You can find it as "OpenJTAG ARM JTAG USB" in the internet. Note there are also +# several projects called Open JTAG, which are completely different. Some other +# sources call it O-Link or just have a look at ebay ... It is basically the same +# entry as jtagkey with different usb ids. See www.100ask.net -# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1" -# You can find it as "OpenJTAG ARM JTAG USB" in the internet. -# (But there are also several projects called Open JTAG, eg. -# http://www.openjtag.org, which are completely different.) -# http://www.100ask.net/shop/english.html (website seems to be outdated) -# http://item.taobao.com/item.htm?id=1559277013 -# http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!) -# some other sources which call it O-Link -# http://www.andahammer.com/olink/ -# http://www.developmentboard.net/31-o-link-debugger.html -# http://armwerks.com/catalog/o-link-debugger-copy/ -# or just have a look at ebay ... -# It is basically the same entry as jtagkey with different usb ids. programmer parent "jtagkey" - id = "o-link"; - desc = "O-Link, OpenJTAG from www.100ask.net"; - usbvid = 0x1457; - usbpid = 0x5118; - usbvendor = "www.100ask.net"; - usbproduct = "USB<=>JTAG&RS232"; + id = "o-link"; + desc = "O-Link, OpenJTAG ARM JTAG USB"; + usbvid = 0x1457; + usbpid = 0x5118; + usbvendor = "www.100ask.net"; + usbproduct = "USB<=>JTAG&RS232"; ; +#------------------------------------------------------------ +# openmoko +#------------------------------------------------------------ + # http://wiki.openmoko.org/wiki/Debug_Board_v3 + programmer - id = "openmoko"; - desc = "Openmoko debug board (v3)"; - type = "avrftdi"; - usbvid = 0x1457; - usbpid = 0x5118; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; - reset = 3; # TMS 7 - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 + id = "openmoko"; + desc = "Openmoko debug board (v3)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + usbvid = 0x1457; + usbpid = 0x5118; + usbdev = "A"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# lm3s811 +#------------------------------------------------------------ + # Only Rev. A boards. # Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf + programmer - id = "lm3s811"; - desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0xbcd9; - usbvendor = "LMI"; - usbproduct = "LM3S811 Evaluation Board"; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ACBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; + id = "lm3s811"; + desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbcd9; + usbdev = "A"; + usbvendor = "LMI"; + usbproduct = "LM3S811 Evaluation Board"; # Enable correct buffers - buff = 7; + buff = 7; +# ISP-signals - lower ACBUS-Nibble (default) + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; +#------------------------------------------------------------ +# tumpa +#------------------------------------------------------------ + # submitted as bug #46020 -programmer - id = "tumpa"; - desc = "TIAO USB Multi-Protocol Adapter"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x8A98; - usbdev = "A"; - usbvendor = "TIAO"; - usbproduct = ""; - usbsn = ""; - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 - reset = 3; # TMS 7 -; programmer - id = "avrisp"; - desc = "Atmel AVR ISP"; - type = "stk500"; - connection_type = serial; + id = "tumpa"; + desc = "TIAO USB Multi-Protocol Adapter"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x8a98; + usbdev = "A"; + usbvendor = "TIAO"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# ktlink +#------------------------------------------------------------ + +# Kristech KT-LINK FT2232H interface with IO switching and voltage buffers. +# Created on 20220410 by CeDeROM Tomasz CEDRO (www.cederom.io). +# Interface DataSheet: https://kristech.pl/files/KT-LINK-UM-ENG.pdf +# +# AVRDUDE FT2232H PIN NUMBER DECODE: +# | 0 | 1 | .. | 7 | 8 | 9 | .. | 15 | +# | ADBUS0 | ADBUS1 | .. | ADBUS7 | ACBUS0 | ACBUS1 | .. | ACBUS7 | +# +# KT-LINK JTAG CONN: +# 1=Vsense(->EXT13), 19=5V(EXT1->EXT3), 20=GND, 3=TPIRST, 9=TPICLK, 7=TPIDATA. +# +# INTERNALS CONFIGURATION ("~" MEANS ACTIVE LOW): +# ~TRST_EN=10(ACBUS2), ~CLK_EN=14(ACBUS6), ~SDO_EN=13(ACBUS5), +# TMS_SEL=5(ADBUS5), ~TMS_EN=12(ACBUS4), LED=~15(ACBUS7). +# +# CONNECTION NOTES: +# * Connect EXT connector pin 1 with 3 to get 5V on JTAG connector pin 19. +# * Connect JTAG connector pin 1 to 5V (i.e. EXT pin 13 or JTAG pin 19). +# * For TPI connection use resistors: TDO --[470R]-- TPIDATA --[470R]-- TDI. +# * Powering target from JTAG pin 19 allows KT-LINK current measurement. + programmer - id = "avrispv2"; - desc = "Atmel AVR ISP V2"; - type = "stk500v2"; - connection_type = serial; + id = "ktlink"; + desc = "KT-LINK FT2232H interface with IO switching and voltage buffers"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbbe2; + usbdev = "A"; + buff = 5, ~10, ~13, ~14; + reset = 8; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~15; ; +#------------------------------------------------------------ +# digilent-hs2 +#------------------------------------------------------------ + +# Digilent JTAG HS2 programmer. FT232H-based dongle with buffers. +# https://digilent.com/reference/_media/reference/programmers/jtag-hs2/jtag-hs2_rm.pdf + programmer - id = "avrispmkII"; - desc = "Atmel AVR ISP mkII"; - type = "stk500v2"; - connection_type = usb; + id = "digilent-hs2"; + desc = "Digilent JTAG HS2 (MPSSE)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; + buff = 5, 6, 7; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; -programmer parent "avrispmkII" - id = "avrisp2"; -; +#------------------------------------------------------------ +# flyswatter2 +#------------------------------------------------------------ + +# FT2232H based JTAG programmer. Requires a buff pin to be set. +# https://www.tincantools.com/flyswatter2 programmer - id = "buspirate"; - desc = "The Bus Pirate"; - type = "buspirate"; - connection_type = serial; + id = "flyswatter2"; + desc = "TinCan Tools Flyswatter 2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; + usbvendor = "TinCanTools"; + usbproduct = "Flyswatter2"; + buff = ~6; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~11; + pgmled = ~12; ; +#------------------------------------------------------------ +# serialupdi +#------------------------------------------------------------ + programmer - id = "buspirate_bb"; - desc = "The Bus Pirate (bitbang interface, supports TPI)"; - type = "buspirate_bb"; - connection_type = serial; + id = "serialupdi"; + desc = "SerialUPDI"; + type = "serialupdi"; + prog_modes = PM_UPDI; + connection_type = serial; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# avrisp +#------------------------------------------------------------ + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispv2 +#------------------------------------------------------------ + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP v2"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispmkII +#------------------------------------------------------------ + +programmer + id = "avrispmkII", "avrisp2"; + desc = "Atmel AVR ISP mkII"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; +; + +#------------------------------------------------------------ +# buspirate +#------------------------------------------------------------ + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = "buspirate"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# buspirate_bb +#------------------------------------------------------------ + +programmer + id = "buspirate_bb"; + desc = "The Bus Pirate (bitbang interface, supports TPI)"; + type = "buspirate_bb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; # pins are bits in bitbang byte (numbers are 87654321) - # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS - reset = 1; - sck = 3; - mosi = 4; - miso = 2; - #vcc = 7; This is internally set independent of this setting. + # 1|POWER|PULLUP|AUX|SDO|CLK|SDI|CS + reset = 1; + sck = 3; + sdo = 4; + sdi = 2; + # vcc = 7; # Internally set independent of this setting ; +#------------------------------------------------------------ +# stk500 +#------------------------------------------------------------ + # This is supposed to be the "default" STK500 entry. # Attempts to select the correct firmware version # by probing for it. Better use one of the entries # below instead. -programmer - id = "stk500"; - desc = "Atmel STK500"; - type = "stk500generic"; - connection_type = serial; -; programmer - id = "stk500v1"; - desc = "Atmel STK500 Version 1.x firmware"; - type = "stk500"; - connection_type = serial; + id = "stk500"; + desc = "Atmel STK500"; + type = "stk500generic"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "mib510"; - desc = "Crossbow MIB510 programming board"; - type = "stk500"; - connection_type = serial; -; +#------------------------------------------------------------ +# stk500v1 +#------------------------------------------------------------ programmer - id = "stk500v2"; - desc = "Atmel STK500 Version 2.x firmware"; - type = "stk500v2"; - connection_type = serial; + id = "stk500v1"; + desc = "Atmel STK500 version 1.x firmware"; + type = "stk500"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "stk500pp"; - desc = "Atmel STK500 V2 in parallel programming mode"; - type = "stk500pp"; - connection_type = serial; -; +#------------------------------------------------------------ +# arduino_as_isp +#------------------------------------------------------------ + +# Not to be confused with arduinoISP, this is the same as `-c stk500v1` +# but treats EEPROM r/w correctly for arduino_as_isp programmers programmer - id = "stk500hvsp"; - desc = "Atmel STK500 V2 in high-voltage serial programming mode"; - type = "stk500hvsp"; - connection_type = serial; + id = "arduino_as_isp"; + desc = "Arduino board as programmer using arduino as ISP firmware"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; ; -programmer - id = "stk600"; - desc = "Atmel STK600"; - type = "stk600"; - connection_type = usb; -; +#------------------------------------------------------------ +# mib510 +#------------------------------------------------------------ programmer - id = "stk600pp"; - desc = "Atmel STK600 in parallel programming mode"; - type = "stk600pp"; - connection_type = usb; + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = "stk500"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; ; -programmer - id = "stk600hvsp"; - desc = "Atmel STK600 in high-voltage serial programming mode"; - type = "stk600hvsp"; - connection_type = usb; -; +#------------------------------------------------------------ +# stk500v2 +#------------------------------------------------------------ programmer - id = "avr910"; - desc = "Atmel Low Cost Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "stk500v2", "scratchmonkey"; + desc = "Atmel STK500 version 2.x firmware"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "ft245r"; - desc = "FT245R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # D1 - sck = 0; # D0 - mosi = 2; # D2 - reset = 4; # D4 -; +#------------------------------------------------------------ +# stk500pp +#------------------------------------------------------------ programmer - id = "ft232r"; - desc = "FT232R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # RxD - sck = 0; # TxD - mosi = 2; # RTS - reset = 4; # DTR + id = "stk500pp", "scratchmonkey_pp"; + desc = "Atmel STK500 v2 in parallel programming mode"; + type = "stk500pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; +#------------------------------------------------------------ +# stk500hvsp +#------------------------------------------------------------ + +programmer + id = "stk500hvsp", "scratchmonkey_hvsp"; + desc = "Atmel STK500 v2 in high-voltage serial programming mode"; + type = "stk500hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; +; + +#------------------------------------------------------------ +# stk600 +#------------------------------------------------------------ + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = "stk600"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600pp +#------------------------------------------------------------ + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = "stk600pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600hvsp +#------------------------------------------------------------ + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = "stk600hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# avr910 +#------------------------------------------------------------ + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft245r +#------------------------------------------------------------ + +programmer + id = "ft245r"; + desc = "FT245R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # D4 + sck = 0; # D0 + sdo = 2; # D2 + sdi = 1; # D1 +; + +#------------------------------------------------------------ +# ft232r +#------------------------------------------------------------ + +programmer + id = "ft232r"; + desc = "FT232R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # DTR + sck = 0; # TxD + sdo = 2; # RTS + sdi = 1; # RxD +; + +#------------------------------------------------------------ +# bwmega +#------------------------------------------------------------ + # see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega + programmer - id = "bwmega"; - desc = "BitWizard ftdi_atmega builtin programmer"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 5; # DSR - sck = 6; # DCD - mosi = 3; # CTS - reset = 7; # RI + id = "bwmega"; + desc = "BitWizard ftdi_atmega builtin programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI + sck = 6; # DCD + sdo = 3; # CTS + sdi = 5; # DSR ; -# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html -# Note: pins are numbered from 1! +#------------------------------------------------------------ +# arduino-ft232r +#------------------------------------------------------------ + +# This programmer helps programming the Arduino Diecimila, NG and +# Duemilanove (but not the Uno) without bootloader or external +# programmer using the on-board FT232RL chip. Instructions here: +# https://make.kosakalab.com/arduino/bootloader/index_en.html +# Note that the -c diecimila avrdude.conf entry mentioned in above post +# is the same as the -c arduino-ft232r entry here. + programmer - id = "arduino-ft232r"; - desc = "Arduino: FT232R connected to ISP"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # CTS X3(1) - sck = 5; # DSR X3(2) - mosi = 6; # DCD X3(3) - reset = 7; # RI X3(4) + id = "arduino-ft232r", "diecimila"; + desc = "Arduino: FT232R connected to ISP"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI X3(4) + sck = 5; # DSR X3(2) + sdo = 6; # DCD X3(3) + sdi = 3; # CTS X3(1) ; -# website mentioned above uses this id -programmer parent "arduino-ft232r" - id = "diecimila"; - desc = "alias for arduino-ft232r"; +#------------------------------------------------------------ +# tc2030 +#------------------------------------------------------------ + +programmer + id = "tc2030"; + desc = "Tag-Connect TC2030"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + # FOR TPI devices: + reset = 3; # CTS = D3 (wire to ~RESET) + sck = 2; # RTS = D2 (wire to SCK) + sdo = 0; # TxD = D0 (wire to TPIDATA via 1k resistor) + sdi = 1; # RxD = D1 (wire to TPIDATA directly) ; +#------------------------------------------------------------ +# uncompatino +#------------------------------------------------------------ + # There is a ATmega328P kit PCB called "uncompatino". # This board allows ISP via its on-board FT232R. # This is designed like Arduino Duemilanove but has no standard ICPS header. # Its 4 pairs of pins are shorted to enable ftdi_syncbb. # http://akizukidenshi.com/catalog/g/gP-07487/ # http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf + programmer - id = "uncompatino"; - desc = "uncompatino with all pairs of pins shorted"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # cts - sck = 5; # dsr - mosi = 6; # dcd - reset = 7; # ri + id = "uncompatino"; + desc = "uncompatino with all pairs of pins shorted"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # ri + sck = 5; # dsr + sdo = 6; # dcd + sdi = 3; # cts ; +#------------------------------------------------------------ +# ttl232r +#------------------------------------------------------------ + # FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP -# http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm -# http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf -# For ICSP pinout see for example http://www.atmel.com/images/doc2562.pdf +# - https://ftdichip.com/product-category/products/cables/usb-ttl-serial-cable-series/ +# - http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf +# +# For ICSP pinout see, e.g., http://ww1.microchip.com/downloads/en/DeviceDoc/doc2562.pdf # (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...) # TTL-232R GND 1 Black -> ICPS GND (pin 6) -# TTL-232R CTS 2 Brown -> ICPS MOSI (pin 4) +# TTL-232R CTS 2 Brown -> ICPS SDO (pin 4) # TTL-232R VCC 3 Red -> ICPS VCC (pin 2) # TTL-232R TXD 4 Orange -> ICPS RESET (pin 5) # TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3) -# TTL-232R RTS 6 Green -> ICPS MISO (pin 1) -# Except for VCC and GND, you can connect arbitual pairs as long as -# the following table is adjusted. -programmer - id = "ttl232r"; - desc = "FTDI TTL232R-5V with ICSP adapter"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 2; # rts - sck = 1; # rxd - mosi = 3; # cts - reset = 0; # txd -; +# TTL-232R RTS 6 Green -> ICPS SDI (pin 1) +# +# Except for VCC and GND, you can connect arbitrary pairs as long as the +# following table is adjusted. programmer - id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - usbvendor = "www.fischl.de"; - usbproduct = "USBasp"; - - # following variants are autodetected for id "usbasp" - - # original usbasp from fischl.de - # see above "usbasp" - - # old usbasp from fischl.de - #usbvid = 0x03EB; # ATMEL - #usbpid = 0xC7B4; # (unoffical) USBasp - #usbvendor = "www.fischl.de"; - #usbproduct = "USBasp"; - - # NIBObee (only if -P nibobee is given on command line) - # see below "nibobee" + id = "ttl232r"; + desc = "FTDI TTL232R-5V with ICSP adapter"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 0; # txd + sck = 1; # rxd + sdo = 3; # cts + sdi = 2; # rts ; +#------------------------------------------------------------ +# usbasp +#------------------------------------------------------------ + +# From http://www.fischl.de/usbasp +# USBasp is a USB in-circuit programmer for Atmel AVR controllers. It +# simply consists of an ATmega88 or an ATmega8 and a couple of passive +# components. The programmer uses a firmware-only USB driver, no +# special USB controller is needed. +# +# Firmware, schematics and drivers are available under above URL, too. +# +# Alternative firmware for the external programmer: +# +# - https://github.com/mariusgreuel/USBasp +# Windows OS descriptor to load WinUSB driver automatically +# +# - https://github.com/nerdralph/usbasp +# WCID compliant, meaning it should work on Windows without any +# driver or .inf install; default SCK clock of 1.5 MHz and automatic +# SCK slowing if target does not respond; PORTD is left as input, so +# this firmware also works with USBISP modules, eg, +# https://www.sciencetronics.com/greenphotons/?p=938 +# +# - https://github.com/dioannidis/usbasp +# As above plus HID UART support, setting unique serial number and +# AT89S51/AT89S52 support + programmer - id = "nibobee"; - desc = "NIBObee"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x092F; # NIBObee PID - usbvendor = "www.nicai-systems.com"; - usbproduct = "NIBObee"; + id = "usbasp"; + desc = "USBasp ISP and TPI programmer"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID + usbvendor = "www.fischl.de"; + usbproduct = "USBasp"; + + # Old usbasp from fischl.de: + # usbvid = 0x03EB; # ATMEL + # usbpid = 0xC7B4; # (unoffical) USBasp + # usbvendor = "www.fischl.de"; + # usbproduct = "USBasp"; ; +#------------------------------------------------------------ +# nibobee +#------------------------------------------------------------ + +# http://www.nicai-systems.com/en/nibobee + programmer - id = "usbasp-clone"; - desc = "Any usbasp clone with correct VID/PID"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - #usbvendor = ""; - #usbproduct = ""; + id = "nibobee"; + desc = "NIBObee"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x092f; # NIBObee PID + usbvendor = "www.nicai-systems.com"; + usbproduct = "NIBObee"; ; -# USBtiny can also be used for TPI programming. -# In that case, a resistor of 1 kOhm is needed between MISO and MOSI -# pins of the connector, and MISO (pin 1 of the 6-pin connector) +#------------------------------------------------------------ +# usbasp-clone +#------------------------------------------------------------ + +programmer + id = "usbasp-clone"; + desc = "Any usbasp clone with correct VID/PID"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID +; + +#------------------------------------------------------------ +# usbtiny +#------------------------------------------------------------ + +# https://learn.adafruit.com/usbtinyisp +# +# The ISP USBtiny programmer can also be used for TPI programming. +# In that case, a resistor of 1 kOhm is needed between SDI and SDO +# pins of the connector, and SDI (pin 1 of the 6-pin connector) # connects to TPIDATA. -programmer - id = "usbtiny"; - desc = "USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x1781; - usbpid = 0x0c9f; -; - -# commercial version of USBtiny, using a separate VID/PID -programmer - id = "ehajo-isp"; - desc = "avr-isp-programmer from eHaJo, http://www.eHaJo.de"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x16D0; - usbpid = 0x0BA5; -; programmer - id = "arduinoisp"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2341; - usbpid = 0x0049; + id = "usbtiny"; + desc = "USBtiny simple USB programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# arduino_gemma +#------------------------------------------------------------ + +# https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/gemma + programmer - id = "arduinoisporg"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2A03; - usbpid = 0x0049; + id = "arduino_gemma"; + desc = "Arduino Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# adafruit_gemma +#------------------------------------------------------------ + +# https://github.com/adafruit/Adafruit-Trinket-Gemma-Bootloader + programmer - id = "butterfly"; - desc = "Atmel Butterfly Development Board"; - type = "butterfly"; - connection_type = serial; + id = "adafruit_gemma"; + desc = "Adafruit Trinket Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# arduinoisp +#------------------------------------------------------------ + programmer - id = "avr109"; - desc = "Atmel AppNote AVR109 Boot Loader"; - type = "butterfly"; - connection_type = serial; + id = "arduinoisp"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0049; ; +#------------------------------------------------------------ +# arduinoisporg +#------------------------------------------------------------ + programmer - id = "avr911"; - desc = "Atmel AppNote AVR911 AVROSP"; - type = "butterfly"; - connection_type = serial; -; - -# suggested in http://forum.mikrokopter.de/topic-post48317.html -programmer - id = "mkbutterfly"; - desc = "Mikrokopter.de Butterfly"; - type = "butterfly_mk"; - connection_type = serial; + id = "arduinoisporg"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2a03; + usbpid = 0x0049; ; -programmer parent "mkbutterfly" - id = "butterfly_mk"; -; +#------------------------------------------------------------ +# ehajo-isp +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# http://www.eHaJo.de (closed from end of 2023) programmer - id = "jtagmkI"; - desc = "Atmel JTAG ICE (mkI)"; - baudrate = 115200; # default is 115200 - type = "jtagmki"; - connection_type = serial; + id = "ehajo-isp"; + desc = "AVR ISP programmer from eHaJo.de"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0ba5; ; -# easier to type -programmer parent "jtagmkI" - id = "jtag1"; +#------------------------------------------------------------ +# iseavrprog +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# https://iascaled.com +# +# https://github.com/IowaScaledEngineering/ckt-avrprogrammer + +programmer + id = "iseavrprog"; + desc = "AVR ISP programmer from iascaled.com"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1209; + usbpid = 0x6570; ; -# easier to type +#------------------------------------------------------------ +# micronucleus +#------------------------------------------------------------ + +programmer + id = "micronucleus"; + desc = "Micronucleus for bootloader"; + type = "micronucleus"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0753; +; + +#------------------------------------------------------------ +# teensy +#------------------------------------------------------------ + +programmer + id = "teensy"; + desc = "Teensy for bootloader"; + type = "teensy"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16c0; + usbpid = 0x0478; +; + +#------------------------------------------------------------ +# ch341a +#------------------------------------------------------------ + +# Allows programming of AVR parts with F_CPU of min 6.8 MHz with the +# CH341A chip http://www.wch-ic.com/downloads/CH341DS1_PDF.html +# +# See also: +# https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html +# +# Connection scheme: +# CH341A chip -- AVR ISP Connector +# ~CTS/D0/CS0 -- RESET (can be D1 or D2, see reset setting below) +# ~DCD/D3/DCK -- SCK +# ~DTR/D5/DOUT -- SDO +# ~SLP/D7/DIN -- SDI +# GND -- GND +# 5V -- Vcc/Vin (or disconnect if separately powered) + +programmer + id = "ch341a"; + desc = "ch341a programmer (AVR must have minimum F_CPU of 6.8 MHz)"; + type = "ch341a"; + prog_modes = PM_ISP; + connection_type = usb; + usbvid = 0x1a86; + usbpid = 0x5512; + usbvendor = "wch.cn"; + usbproduct = "CH341A"; + reset = 0; # Can be 0, 1 or 2 for CS0, CS1 or CS2 +; + +#------------------------------------------------------------ +# butterfly +#------------------------------------------------------------ + +programmer + id = "butterfly"; + desc = "Atmel for bootloader (Butterfly Development Board)"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr109 +#------------------------------------------------------------ + +programmer + id = "avr109"; + desc = "Atmel for bootloader using AppNote AVR109"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr911 +#------------------------------------------------------------ + +programmer + id = "avr911"; + desc = "Atmel for bootloader using AppNote AVR911 AVROSP"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# butterfly_mk and mkbutterfly +#------------------------------------------------------------ + +# http://forum.mikrokopter.de + +programmer + id = "butterfly_mk", "mkbutterfly"; + desc = "Mikrokopter.de Butterfly for bootloader"; + type = "butterfly_mk"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# jtagmkI +#------------------------------------------------------------ + +programmer + id = "jtagmkI", "jtag1"; + desc = "Atmel JTAG ICE (mkI)"; + type = "jtagmki"; + prog_modes = PM_JTAGmkI; + extra_features = HAS_VTARG_READ; + connection_type = serial; + baudrate = 115200; # default is 115200 +; + +#------------------------------------------------------------ +# jtag1slow +#------------------------------------------------------------ + programmer parent "jtag1" - id = "jtag1slow"; - baudrate = 19200; + id = "jtag1slow"; + baudrate = 19200; ; +#------------------------------------------------------------ +# jtagmkII +#------------------------------------------------------------ + # The JTAG ICE mkII has both, serial and USB connectivity. As it is # mostly used through USB these days (AVR Studio 5 only supporting it # that way), we make connection_type = usb the default. Users are # still free to use a serial port with the -P option. programmer - id = "jtagmkII"; - desc = "Atmel JTAG ICE mkII"; - baudrate = 19200; # default is 19200 - type = "jtagmkii"; - connection_type = usb; + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + type = "jtagmkii"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 19200; # default is 19200 ; -# easier to type +#------------------------------------------------------------ +# jtag2slow +#------------------------------------------------------------ + programmer parent "jtagmkII" - id = "jtag2slow"; + id = "jtag2slow"; ; -# JTAG ICE mkII @ 115200 Bd +#------------------------------------------------------------ +# jtag2fast +#------------------------------------------------------------ + +# JTAG ICE mkII @ 115200 Bd (and alias jtag2 the fast version) + programmer parent "jtag2slow" - id = "jtag2fast"; - baudrate = 115200; + id = "jtag2fast", "jtag2"; + baudrate = 115200; ; -# make the fast one the default, people will love that -programmer parent "jtag2fast" - id = "jtag2"; -; +#------------------------------------------------------------ +# jtag2isp +#------------------------------------------------------------ # JTAG ICE mkII in ISP mode + programmer - id = "jtag2isp"; - desc = "Atmel JTAG ICE mkII in ISP mode"; - baudrate = 115200; - type = "jtagmkii_isp"; - connection_type = usb; + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + type = "jtagmkii_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2dw +#------------------------------------------------------------ + # JTAG ICE mkII in debugWire mode + programmer - id = "jtag2dw"; - desc = "Atmel JTAG ICE mkII in debugWire mode"; - baudrate = 115200; - type = "jtagmkii_dw"; - connection_type = usb; + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + type = "jtagmkii_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; -# JTAG ICE mkII in AVR32 mode -programmer - id = "jtagmkII_avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; -; +#------------------------------------------------------------ +# jtagmkII_avr32 +#------------------------------------------------------------ # JTAG ICE mkII in AVR32 mode + programmer - id = "jtag2avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; + id = "jtagmkII_avr32", "jtag2avr32"; + desc = "Atmel JTAG ICE mkII in AVR32 mode"; + type = "jtagmkii_avr32"; + prog_modes = PM_aWire; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2pdi +#------------------------------------------------------------ + # JTAG ICE mkII in PDI mode + programmer - id = "jtag2pdi"; - desc = "Atmel JTAG ICE mkII PDI mode"; - baudrate = 115200; - type = "jtagmkii_pdi"; - connection_type = usb; + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII in PDI mode"; + type = "jtagmkii_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_jtag +#------------------------------------------------------------ + # AVR Dragon in JTAG mode + programmer - id = "dragon_jtag"; - desc = "Atmel AVR Dragon in JTAG mode"; - baudrate = 115200; - type = "dragon_jtag"; - connection_type = usb; + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + type = "dragon_jtag"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_isp +#------------------------------------------------------------ + # AVR Dragon in ISP mode + programmer - id = "dragon_isp"; - desc = "Atmel AVR Dragon in ISP mode"; - baudrate = 115200; - type = "dragon_isp"; - connection_type = usb; + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + type = "dragon_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pp +#------------------------------------------------------------ + # AVR Dragon in PP mode + programmer - id = "dragon_pp"; - desc = "Atmel AVR Dragon in PP mode"; - baudrate = 115200; - type = "dragon_pp"; - connection_type = usb; + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + type = "dragon_pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_hvsp +#------------------------------------------------------------ + # AVR Dragon in HVSP mode + programmer - id = "dragon_hvsp"; - desc = "Atmel AVR Dragon in HVSP mode"; - baudrate = 115200; - type = "dragon_hvsp"; - connection_type = usb; + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + type = "dragon_hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_dw +#------------------------------------------------------------ + # AVR Dragon in debugWire mode + programmer - id = "dragon_dw"; - desc = "Atmel AVR Dragon in debugWire mode"; - baudrate = 115200; - type = "dragon_dw"; - connection_type = usb; + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + type = "dragon_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pdi +#------------------------------------------------------------ + # AVR Dragon in PDI mode -programmer - id = "dragon_pdi"; - desc = "Atmel AVR Dragon in PDI mode"; - baudrate = 115200; - type = "dragon_pdi"; - connection_type = usb; -; programmer - id = "jtag3"; - desc = "Atmel AVR JTAGICE3 in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + type = "dragon_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag3 +#------------------------------------------------------------ + programmer - id = "jtag3pdi"; - desc = "Atmel AVR JTAGICE3 in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3"; + desc = "Atmel AVR JTAGICE3 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3pdi +#------------------------------------------------------------ + programmer - id = "jtag3dw"; - desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3pdi"; + desc = "Atmel AVR JTAGICE3 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3updi +#------------------------------------------------------------ + programmer - id = "jtag3isp"; - desc = "Atmel AVR JTAGICE3 in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3updi"; + desc = "Atmel AVR JTAGICE3 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# jtag3dw +#------------------------------------------------------------ + programmer - id = "xplainedpro"; - desc = "Atmel AVR XplainedPro in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2111; + id = "jtag3dw"; + desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3isp +#------------------------------------------------------------ + programmer - id = "xplainedpro_updi"; - desc = "Atmel AVR XplainedPro in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2111; + id = "jtag3isp"; + desc = "Atmel AVR JTAGICE3 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# xplainedpro +#------------------------------------------------------------ + programmer - id = "xplainedmini"; - desc = "Atmel AVR XplainedMini in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro"; + desc = "Atmel AVR XplainedPro in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + connection_type = usb; + usbpid = 0x2111; ; +#------------------------------------------------------------ +# xplainedpro_pdi +#------------------------------------------------------------ + programmer - id = "xplainedmini_dw"; - desc = "Atmel AVR XplainedMini in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro_pdi"; + desc = "Atmel AVR XplainedPro in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedpro_updi +#------------------------------------------------------------ + programmer - id = "xplainedmini_updi"; - desc = "Atmel AVR XplainedMini in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro_updi"; + desc = "Atmel AVR XplainedPro in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedmini / xplainedmini_isp +#------------------------------------------------------------ + programmer - id = "atmelice"; - desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini", "xplainedmini_isp"; + desc = "Atmel AVR XplainedMini in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_dw +#------------------------------------------------------------ + programmer - id = "atmelice_pdi"; - desc = "Atmel-ICE (ARM/AVR) in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_dw"; + desc = "Atmel AVR XplainedMini in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_updi +#------------------------------------------------------------ + programmer - id = "atmelice_updi"; - desc = "Atmel-ICE (ARM/AVR) in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_updi"; + desc = "Atmel AVR XplainedMini in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedmini_tpi +#------------------------------------------------------------ + programmer - id = "atmelice_dw"; - desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_tpi"; + desc = "Atmel AVR XplainedMini in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# atmelice / atmelice_jtag +#------------------------------------------------------------ + programmer - id = "atmelice_isp"; - desc = "Atmel-ICE (ARM/AVR) in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2141; + id = "atmelice", "atmelice_jtag"; + desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_pdi +#------------------------------------------------------------ + programmer - id = "powerdebugger"; - desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_pdi"; + desc = "Atmel-ICE (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_updi +#------------------------------------------------------------ + programmer - id = "powerdebugger_pdi"; - desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_updi"; + desc = "Atmel-ICE (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# atmelice_dw +#------------------------------------------------------------ + programmer - id = "powerdebugger_updi"; - desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_dw"; + desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_isp +#------------------------------------------------------------ + programmer - id = "powerdebugger_dw"; - desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_isp"; + desc = "Atmel-ICE (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_tpi +#------------------------------------------------------------ + programmer - id = "powerdebugger_isp"; - desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_tpi"; + desc = "Atmel-ICE (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# powerdebugger / powerdebugger_jtag +#------------------------------------------------------------ + programmer - id = "pavr"; - desc = "Jason Kyle's pAVR Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "powerdebugger", "powerdebugger_jtag"; + desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_pdi +#------------------------------------------------------------ + programmer - id = "pickit2"; - desc = "MicroChip's PICkit2 Programmer"; - type = "pickit2"; - connection_type = usb; + id = "powerdebugger_pdi"; + desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_updi +#------------------------------------------------------------ + programmer - id = "flip1"; - desc = "FLIP USB DFU protocol version 1 (doc7618)"; - type = "flip1"; - connection_type = usb; + id = "powerdebugger_updi"; + desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; + hvupdi_support = 0, 1; ; +#------------------------------------------------------------ +# powerdebugger_dw +#------------------------------------------------------------ + programmer - id = "flip2"; - desc = "FLIP USB DFU protocol version 2 (AVR4023)"; - type = "flip2"; - connection_type = usb; + id = "powerdebugger_dw"; + desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_isp +#------------------------------------------------------------ -#This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface -# -#To enable it set the configuration below to match the GPIO lines connected to the -#relevant ISP header pins and uncomment the entry definition. In case you don't -#have the required permissions to edit this system wide config file put the -#entry in a separate .conf file and use it with -C+.conf -#on the command line. -# -#To check if your avrdude build has support for the linuxgpio programmer compiled in, -#use -c?type on the command line and look for linuxgpio in the list. If it's not available -#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude. -# -#programmer -# id = "linuxgpio"; -# desc = "Use the Linux sysfs interface to bitbang GPIO lines"; -# type = "linuxgpio"; -# reset = ?; -# sck = ?; -# mosi = ?; -# miso = ?; -#; - - -#This programmer uses the built in linux SPI bus devices to program an -#attached AVR. A GPIO accessed through the sysfs GPIO interface needs to -#be specified for a reset pin since the linux SPI userspace functions do -#not allow for control over the slave select/chip select signal. -# programmer - id = "linuxspi"; - desc = "Use Linux SPI device in /dev/spidev*"; - type = "linuxspi"; - reset = 25; + id = "powerdebugger_isp"; + desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; -# some ultra cheap programmers use bitbanging on the -# serialport. +#------------------------------------------------------------ +# powerdebugger_tpi +#------------------------------------------------------------ + +programmer + id = "powerdebugger_tpi"; + desc = "Atmel PowerDebugger (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; + +#------------------------------------------------------------ +# pickit4 / pickit4_jtag +#------------------------------------------------------------ + +programmer + id = "pickit4", "pickit4_jtag"; + desc = "MPLAB(R) PICkit 4 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_updi +#------------------------------------------------------------ + +programmer + id = "pickit4_updi"; + desc = "MPLAB(R) PICkit 4 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; + hvupdi_support = 0, 1, 2; +; + +#------------------------------------------------------------ +# pickit4_pdi +#------------------------------------------------------------ + +programmer + id = "pickit4_pdi"; + desc = "MPLAB(R) PICkit 4 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_isp +#------------------------------------------------------------ + +programmer + id = "pickit4_isp"; + desc = "MPLAB(R) PICkit 4 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_tpi +#------------------------------------------------------------ + +programmer + id = "pickit4_tpi"; + desc = "MPLAB(R) PICkit 4 in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# snap /snap_jtag +#------------------------------------------------------------ + +programmer + id = "snap", "snap_jtag"; + desc = "MPLAB(R) Snap in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_updi +#------------------------------------------------------------ + +programmer + id = "snap_updi"; + desc = "MPLAB(R) SNAP in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# snap_pdi +#------------------------------------------------------------ + +programmer + id = "snap_pdi"; + desc = "MPLAB(R) SNAP in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_isp +#------------------------------------------------------------ + +programmer + id = "snap_isp"; + desc = "MPLAB(R) SNAP in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_tpi +#------------------------------------------------------------ + +programmer + id = "snap_tpi"; + desc = "MPLAB(R) SNAP in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# pkobn_updi +#------------------------------------------------------------ + +programmer + id = "pkobn_updi"; + desc = "Curiosity nano (nEDBG) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2175; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# pavr +#------------------------------------------------------------ + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# pickit2 +#------------------------------------------------------------ + +programmer + id = "pickit2"; + desc = "MicroChip's PICkit2 Programmer"; + type = "pickit2"; + prog_modes = PM_ISP; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip1 +#------------------------------------------------------------ + +programmer + id = "flip1"; + desc = "FLIP for bootloader using USB DFU protocol version 1 (doc7618)"; + type = "flip1"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip2 +#------------------------------------------------------------ + +programmer + id = "flip2"; + desc = "FLIP for bootloader using USB DFU protocol version 2 (AVR4023)"; + type = "flip2"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# ponyser +#------------------------------------------------------------ + +# some ultra cheap programmers use bitbanging on the serialport # # PC - DB9 - Pins for RS232: # @@ -1322,67 +2360,104 @@ programmer # Using RI is not supported under Win32 but is supported under Posix. # serial ponyprog design (dasa2 in uisp) -# reset=!txd sck=rts mosi=dtr miso=cts +# reset=!txd sck=rts sdo=dtr sdi=cts programmer - id = "ponyser"; - desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~3; - sck = 7; - mosi = 4; - miso = 8; + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts sdo=dtr sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~3; + sck = 7; + sdo = 4; + sdi = 8; ; +#------------------------------------------------------------ +# siprog +#------------------------------------------------------------ + +# Serial port adapter http://www.lancos.com/siprogsch.html # Same as above, different name -# reset=!txd sck=rts mosi=dtr miso=cts programmer parent "ponyser" - id = "siprog"; - desc = "Lancos SI-Prog "; + id = "siprog"; + desc = "Lancos SI-Prog (same as ponyser)"; ; +#------------------------------------------------------------ +# dasa +#------------------------------------------------------------ + # unknown (dasa in uisp) -# reset=rts sck=dtr mosi=txd miso=cts +# reset=rts sck=dtr sdo=txd sdi=cts programmer - id = "dasa"; - desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = 7; - sck = 4; - mosi = 3; - miso = 8; + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 7; + sck = 4; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# dasa3 +#------------------------------------------------------------ + # unknown (dasa3 in uisp) -# reset=!dtr sck=rts mosi=txd miso=cts +# reset=!dtr sck=rts sdo=txd sdi=cts programmer - id = "dasa3"; - desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~4; - sck = 7; - mosi = 3; - miso = 8; + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~4; + sck = 7; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# C2N232i +#------------------------------------------------------------ + # C2N232i (jumper configuration "auto") -# reset=dtr sck=!rts mosi=!txd miso=!cts +# reset=dtr sck=!rts sdo=!txd sdi=!cts programmer - id = "c2n232i"; - desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; - type = "serbb"; - connection_type = serial; - reset = 4; - sck = ~7; - mosi = ~3; - miso = ~8; + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts sdo=!txd sdi=!cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 4; + sck = ~7; + sdo = ~3; + sdi = ~8; +; + +#------------------------------------------------------------ +# jtag2updi +#------------------------------------------------------------ + +# JTAG2UPDI +# https://github.com/ElTangas/jtag2updi + +programmer + id = "jtag2updi"; + desc = "JTAGv2 to UPDI bridge"; + type = "jtagmkii_updi"; + prog_modes = PM_UPDI; + connection_type = serial; + baudrate = 115200; + hvupdi_support = 1; ; # @@ -1396,62 +2471,78 @@ programmer # This is an HVSP-only device. part - id = "t11"; - desc = "ATtiny11"; - stk500_devcode = 0x11; - signature = 0x1e 0x90 0x04; - chip_erase_delay = 20000; - - timeout = 200; - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny11"; + id = "t11"; + variants = + "ATtiny11: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny11-6PC: DIP8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PI: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PU: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SC: SOIC8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SI: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SU: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11L-2PC: DIP8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2PI: DIP8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SC: SOIC8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SI: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SU: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_HVSP; + mcuid = 8; + n_interrupts = 5; + stk500_devcode = 0x11; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x04; + serial = no; + timeout = 200; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; memory "eeprom" - size = 64; - blocksize = 64; - readsize = 256; - delay = 5; + size = 64; + delay = 5; + blocksize = 64; + readsize = 256; ; memory "flash" - size = 1024; - blocksize = 128; - readsize = 256; - delay = 3; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; + size = 1024; + delay = 3; + blocksize = 128; + readsize = 256; ; memory "fuse" - size = 1; + size = 1; + initval = 0xf4; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; ; ; @@ -1460,131 +2551,106 @@ part #------------------------------------------------------------ part - id = "t12"; - desc = "ATtiny12"; - stk500_devcode = 0x12; - avr910_devcode = 0x55; - signature = 0x1e 0x90 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny12"; + id = "t12"; + variants = + "ATtiny12: N/A, Fmax=8 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12-8PU: PDIP8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12-8SU: SOIC8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12L-4PU: PDIP8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SU: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SUR: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12V-1SU: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12V-1SUR: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 9; + n_interrupts = 6; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 8; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4500; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -1593,5922 +2659,5209 @@ part #------------------------------------------------------------ part - id = "t13"; - desc = "ATtiny13"; - has_debugwire = yes; - flash_instr = 0xB4, 0x0E, 0x1E; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; - signature = 0x1e 0x90 0x07; - chip_erase_delay = 4000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny13"; + id = "t13"; + variants = + "ATtiny13: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny13-20MMU: MLF10, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MMUR: VDFN10, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQ: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQ: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQR: SOIC8, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13V-10MMU: MLF10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MMUR: VDFN10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PQ: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 10; + n_interrupts = 10; + stk500_devcode = 0x14; + chip_erase_delay = 4000; + signature = 0x1e 0x90 0x07; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 90; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x0e, 0x1e; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x0e, 0xb4, 0x0e, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; - - ocdrev = 0; + synchcycles = 6; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xxaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 1024; - page_size = 32; - num_pages = 32; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.000a--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.000a--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0x6a; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny13A +#------------------------------------------------------------ + +part parent "t13" + desc = "ATtiny13A"; + id = "t13a"; + variants = + "ATtiny13A-MMF: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMFR: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMU: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMUR: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MU: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-PU: PDIP8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SN: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7R: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSHR: SOIC8N, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 11; +; #------------------------------------------------------------ # ATtiny15 #------------------------------------------------------------ part - id = "t15"; - desc = "ATtiny15"; - stk500_devcode = 0x13; - avr910_devcode = 0x56; - signature = 0x1e 0x90 0x06; - chip_erase_delay = 8200; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny15"; + id = "t15"; + variants = + "ATtiny15: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PC: DIP8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PI: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PU: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SC: SOIC8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SI: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SU: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 12; + n_interrupts = 9; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + chip_erase_delay = 8200; + signature = 0x1e 0x90 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 5; - synchcycles = 6; - latchcycles = 16; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 8200; - max_write_delay = 8200; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4100; - max_write_delay = 4100; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o x x o o"; + size = 1; + initval = 0x5c; + bitmask = 0xf3; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.xxoo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.11ii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i 1 1 i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; #------------------------------------------------------------ -# AT90s1200 +# AT89S51 +#------------------------------------------------------------ + +# Nonstandard part +# - Tested with -c avrisp +# - USBASP programmers may require different firmware + +part + desc = "AT89S51"; + id = "89S51"; + variants = + "AT89S51: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S51-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 372; + stk500_devcode = 0xe0; + chip_erase_delay = 250000; + signature = 0x1e 0x51 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 4; + pollvalue = 0x69; + predelay = 1; + postdelay = 1; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; + programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "flash" + size = 4096; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x02; + delay = 10; + blocksize = 256; + read = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "0100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + # Nonstandard page mode is available but not implemented + ; + + memory "lock" + size = 1; + read = "0010.0100--xxxx.xxxx--xxxx.xxxx--xxxo.ooxx"; + # Nonstandard write: expect verification errors + # See datasheet Page 20, Note 1 https://ww1.microchip.com/downloads/en/DeviceDoc/doc2487.pdf + # Activate lock mode 0 through chip erase: avrdude -e + # Activate lock mode 1: avrdude -e -V -U lock:w:1:m + # Activate lock mode 2: avrdude -e -V -U lock:w:1:m -U lock:w:2:m + # Activate lock mode 3: avrdude -e -V -U lock:w:1:m -U lock:w:2:m -U lock:w:3:m + write = "1010.1100--1110.00ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0 0 1 0 1 0 0 0 x x x x x x a1 a0 x x x x x x x 0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# AT89S52 +#------------------------------------------------------------ + +part parent "89S51" + desc = "AT89S52"; + id = "89S52"; + variants = + "AT89S52: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S52-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24AUR: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + mcuid = 373; + stk500_devcode = 0xe1; + signature = 0x1e 0x52 0x06; + + memory "flash" + size = 8192; + ; +; + +#------------------------------------------------------------ +# AT90S1200 #------------------------------------------------------------ part - id = "1200"; - desc = "AT90S1200"; - is_at90s1200 = yes; - stk500_devcode = 0x33; - avr910_devcode = 0x13; - signature = 0x1e 0x90 0x01; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 1; - bytedelay = 0; - pollindex = 0; - pollvalue = 0xFF; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S1200"; + id = "1200"; + variants = + "AT90S1200-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 183; + n_interrupts = 4; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + chip_erase_delay = 20000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x90 0x01; + is_at90s1200 = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + pollvalue = 0xff; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x00 0xff; + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 32; - readsize = 256; - ; memory "flash" - size = 1024; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x02; - delay = 15; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4414 +# AT90S4414 #------------------------------------------------------------ part - id = "4414"; - desc = "AT90S4414"; - stk500_devcode = 0x50; - avr910_devcode = 0x28; - signature = 0x1e 0x92 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S4414"; + id = "4414"; + variants = + "AT90S4414-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JC: LCC44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JI: LCC44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 190; + n_interrupts = 13; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + chip_erase_delay = 20000; + signature = 0x1e 0x92 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2313 +# AT90S2313 #------------------------------------------------------------ part - id = "2313"; - desc = "AT90S2313"; - stk500_devcode = 0x40; - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2313"; + id = "2313"; + variants = + "AT90S2313-10PC: DIP20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10PI: DIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SC: SOIC20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SI: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 186; + n_interrupts = 11; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--111x.xiix--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2333 +# AT90S2333 #------------------------------------------------------------ part - id = "2333"; ##### WARNING: No XML file for device 'AT90S2333'! ##### - desc = "AT90S2333"; - stk500_devcode = 0x42; - avr910_devcode = 0x34; - signature = 0x1e 0x91 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2333"; + id = "2333"; + variants = + "AT90S2333-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 188; + n_interrupts = 14; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "fuse" + size = 1; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxoo.oooo"; + write = "1010.1100--101i.iiii--xxxx.xxxx--xxxx.xxxx"; + ; - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + memory "lock" + size = 1; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2343 (also AT90s2323 and ATtiny22) +# AT90S2343 (also AT90S2323 and ATtiny22) #------------------------------------------------------------ part - id = "2343"; - desc = "AT90S2343"; - stk500_devcode = 0x43; - avr910_devcode = 0x4c; - signature = 0x1e 0x91 0x03; - chip_erase_delay = 18000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "AT90S2343"; + id = "2343"; + variants = + "AT90S2343-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP; + mcuid = 189; + n_interrupts = 3; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + chip_erase_delay = 18000; + signature = 0x1e 0x91 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 0; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + poweroffdelay = 25; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--0000.0000--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 128; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; + size = 1; + initval = 0xde; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4433 +# AT90S2323 +#------------------------------------------------------------ + +part parent "2343" + desc = "AT90S2323"; + id = "2323"; + variants = + "AT90S2323-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 187; + stk500_devcode = 0x41; + avr910_devcode = 0x48; + signature = 0x1e 0x91 0x02; +; + +#------------------------------------------------------------ +# ATtiny22 +#------------------------------------------------------------ + +part parent "2343" + desc = "ATtiny22"; + id = "t22"; + variants = + "ATtiny22L-1PC: DIP8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1PI: DIP8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SC: SOIC8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SI: SOIC8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + mcuid = 13; + stk500_devcode = 0x20; + avr910_devcode = 0x00; # Unknown + signature = 0x1e 0x91 0x06; + + memory "fuse" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AT90S4433 +#------------------------------------------------------------ + +part parent "2333" + desc = "AT90S4433"; + id = "4433"; + variants = + "AT90S4433-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 191; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + + memory "eeprom" + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; + + memory "flash" + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; + + memory "fuse" + initval = 0xda; + ; + + memory "lock" + initval = 0xff; + ; +; + +#------------------------------------------------------------ +# AT90S8515 #------------------------------------------------------------ part - id = "4433"; - desc = "AT90S4433"; - stk500_devcode = 0x51; - avr910_devcode = 0x30; - signature = 0x1e 0x92 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8515"; + id = "8515"; + variants = + "AT90S8515-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 193; + n_interrupts = 13; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4434 +# AT90S8535 #------------------------------------------------------------ part - id = "4434"; -##### WARNING: No XML file for device 'AT90S4434'! ##### - desc = "AT90S4434"; - stk500_devcode = 0x52; - avr910_devcode = 0x6c; - signature = 0x1e 0x92 0x02; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - ; - memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - -#------------------------------------------------------------ -# AT90s8515 -#------------------------------------------------------------ - -part - id = "8515"; - desc = "AT90S8515"; - stk500_devcode = 0x60; - avr910_devcode = 0x38; - signature = 0x1e 0x93 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8535"; + id = "8535"; + variants = + "AT90S8535-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 195; + n_interrupts = 17; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s8535 +# AT90S4434 #------------------------------------------------------------ -part - id = "8535"; - desc = "AT90S8535"; - stk500_devcode = 0x61; - avr910_devcode = 0x68; - signature = 0x1e 0x93 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; +# No XML file for device AT90S4434, so parenting off AT90S8535 +# with which it shares the datasheet. - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; +part parent "8535" + desc = "AT90S4434"; + id = "4434"; + variants = + "AT90S4434-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 192; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x x o"; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + max_write_delay = 20000; + ; + memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o x x x x x x"; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + max_write_delay = 20000; + ; +; #------------------------------------------------------------ # ATmega103 #------------------------------------------------------------ part - id = "m103"; - desc = "ATmega103"; - stk500_devcode = 0xB1; - avr910_devcode = 0x41; - signature = 0x1e 0x97 0x01; - chip_erase_delay = 112000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, - 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, - 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, - 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "ATmega103"; + id = "m103"; + variants = + "ATmega103-6AC: TQFP64, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega103-6AI: TQFP64, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega103L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 3.6 V]", + "ATmega103L-4AI: TQFP64, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 84; + n_interrupts = 24; + stk500_devcode = 0xb1; + avr910_devcode = 0x41; + chip_erase_delay = 112000; + pagel = 0xa0; + bs2 = 0xd7; + signature = 0x1e 0x97 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x8e, 0x9e, 0x2e, 0x3e, 0xae, 0xbe, + 0x4e, 0x5e, 0xce, 0xde, 0x6e, 0x7e, 0xee, 0xde, + 0x66, 0x76, 0xe6, 0xf6, 0x6a, 0x7a, 0xea, 0x7a, + 0x7f, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 10; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 4096; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 22000; - max_write_delay = 56000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 70; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback = 0xff 0xff; + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o x o 1 o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xdf; + bitmask = 0x2b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxox.o1oo"; + write = "1010.1100--1011.i1ii--xxxx.xxxx--xxxx.xxxx"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega64 #------------------------------------------------------------ part - id = "m64"; - desc = "ATmega64"; - has_jtag = yes; - stk500_devcode = 0xA0; - avr910_devcode = 0x45; - signature = 0x1e 0x96 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; + desc = "ATmega64"; + id = "m64"; + variants = + "ATmega64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega64-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega64L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQ: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MN: QFN64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQ: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MU: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 72; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xa0; + avr910_devcode = 0x45; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 64; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega64A +#------------------------------------------------------------ +part parent "m64" + desc = "ATmega64A"; + id = "m64a"; + variants = + "ATmega64A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 73; +; #------------------------------------------------------------ # ATmega128 #------------------------------------------------------------ part - id = "m128"; - desc = "ATmega128"; - has_jtag = yes; - stk500_devcode = 0xB2; - avr910_devcode = 0x43; - signature = 0x1e 0x97 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; - rampz = 0x3b; + desc = "ATmega128"; + id = "m128"; + variants = + "ATmega128-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MN: MLF64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MNR: MLF64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MUR: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8ANR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MN: MLF64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8MNR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 85; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; + avr910_devcode = 0x43; + chip_erase_delay = 10000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 1; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + rampz = 0x3b; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 10000; + max_write_delay = 10000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 5000; + max_write_delay = 5000; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega128A +#------------------------------------------------------------ + +part parent "m128" + desc = "ATmega128A"; + id = "m128a"; + variants = + "ATmega128A: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega128A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MNR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 86; +; #------------------------------------------------------------ # AT90CAN128 #------------------------------------------------------------ part - id = "c128"; - desc = "AT90CAN128"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x97 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN128"; + id = "c128"; + variants = + "AT90CAN128: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, N/A]", + "AT90CAN128-15AZ: TQFP64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 176; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN64 #------------------------------------------------------------ part - id = "c64"; - desc = "AT90CAN64"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x96 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN64"; + id = "c64"; + variants = + "AT90CAN64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 172; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN32 #------------------------------------------------------------ part - id = "c32"; - desc = "AT90CAN32"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x95 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN32"; + id = "c32"; + variants = + "AT90CAN32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 171; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 1024; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 256; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega16 #------------------------------------------------------------ part - id = "m16"; - desc = "ATmega16"; - has_jtag = yes; - stk500_devcode = 0x82; - avr910_devcode = 0x74; - signature = 0x1e 0x94 0x03; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 100; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega16"; + id = "m16"; + variants = + "ATmega16: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega16-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MQ: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MUR: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16L-8AQ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AQR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AUR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 49; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x03; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" - size = 4; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; - + size = 4; + read = "0011.1000--000x.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# ATmega164P +# ATmega16A #------------------------------------------------------------ -# close to ATmega16 - part parent "m16" - id = "m164p"; - desc = "ATmega164P"; - signature = 0x1e 0x94 0x0a; - - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - allowfullpagebitstream = no; - chip_erase_delay = 55000; - - ocdrev = 3; - ; - + desc = "ATmega16A"; + id = "m16a"; + variants = + "ATmega16A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 50; +; #------------------------------------------------------------ # ATmega324P #------------------------------------------------------------ -# similar to ATmega164P - part - id = "m324p"; - desc = "ATmega324P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x95 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega324P"; + id = "m324p"; + variants = + "ATmega324P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega324P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AUR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 111; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ +part parent "m324p" + desc = "ATmega164P"; + id = "m164p"; + variants = + "ATmega164P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega164P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MUR: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 93; + boot_section_size = 256; + signature = 0x1e 0x94 0x0a; + + memory "eeprom" + size = 512; + delay = 20; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + ; +; + +#------------------------------------------------------------ +# ATmega164PA +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164PA"; + id = "m164pa"; + variants = + "ATmega164PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CUR: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCHR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 94; +; + +#------------------------------------------------------------ +# ATmega164A +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164A"; + id = "m164a"; + variants = + "ATmega164A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CUR: VFBGA49, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCHR: QFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MUR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 92; + signature = 0x1e 0x94 0x0f; +; + +#------------------------------------------------------------ +# ATmega324PB +#------------------------------------------------------------ + +part parent "m324p" + desc = "ATmega324PB"; + id = "m324pb"; + variants = + "ATmega324PB-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MN: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MNR: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 113; + n_interrupts = 51; + signature = 0x1e 0x95 0x17; + + memory "efuse" + initval = 0x07; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; +; #------------------------------------------------------------ # ATmega324PA #------------------------------------------------------------ -# similar to ATmega324P +part parent "m324p" + desc = "ATmega324PA"; + id = "m324pa"; + variants = + "ATmega324PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCHR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 112; + signature = 0x1e 0x95 0x11; +; + +#------------------------------------------------------------ +# ATmega324A +#------------------------------------------------------------ part parent "m324p" - id = "m324pa"; - desc = "ATmega324PA"; - signature = 0x1e 0x95 0x11; - - ocdrev = 3; - ; - + desc = "ATmega324A"; + id = "m324a"; + variants = + "ATmega324A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 110; + signature = 0x1e 0x95 0x15; +; #------------------------------------------------------------ # ATmega644 #------------------------------------------------------------ -# similar to ATmega164 - part - id = "m644"; - desc = "ATmega644"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x96 0x09; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega644"; + id = "m644"; + variants = + "ATmega644: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20AUR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644V-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MU: MLF44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 127; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega644A +#------------------------------------------------------------ + +part parent "m644" + desc = "ATmega644A"; + id = "m644a"; + variants = + "ATmega644A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 128; + n_interrupts = 31; +; #------------------------------------------------------------ # ATmega644P #------------------------------------------------------------ -# similar to ATmega164p +part parent "m644" + desc = "ATmega644P"; + id = "m644p"; + variants = + "ATmega644P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQ: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PQ: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 129; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; + +#------------------------------------------------------------ +# ATmega644PA +#------------------------------------------------------------ part parent "m644" - id = "m644p"; - desc = "ATmega644P"; - signature = 0x1e 0x96 0x0a; - - ocdrev = 3; - ; - - + desc = "ATmega644PA"; + id = "m644pa"; + variants = + "ATmega644PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-ANR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MNR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 130; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; #------------------------------------------------------------ # ATmega1284 #------------------------------------------------------------ -# similar to ATmega164 - part - id = "m1284"; - desc = "ATmega1284"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x06; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega1284"; + id = "m1284"; + variants = + "ATmega1284-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MUR: MLF44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 140; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 128; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1284P #------------------------------------------------------------ -# similar to ATmega164p - -part - id = "m1284p"; - desc = "ATmega1284P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x05; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - +part parent "m1284" + desc = "ATmega1284P"; + id = "m1284p"; + variants = + "ATmega1284P-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MN: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 141; + signature = 0x1e 0x97 0x05; +; #------------------------------------------------------------ # ATmega162 #------------------------------------------------------------ part - id = "m162"; - desc = "ATmega162"; - has_jtag = yes; - stk500_devcode = 0x83; - avr910_devcode = 0x63; - signature = 0x1e 0x94 0x04; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - - idr = 0x04; - spmcr = 0x57; + desc = "ATmega162"; + id = "m162"; + variants = + "ATmega162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega162-16AC: TQFP44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16AI: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AJ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MC: VFQFN44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16MI: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MJ: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MU: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MUR: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PC: DIP40, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16PI: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PJ: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PU: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MC: VFQFN44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162V-1AC: TQFP44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1MC: VFQFN44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1PC: DIP40, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AJ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MJ: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MU: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MUR: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PJ: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PU: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 90; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x04; + reset = io; allowfullpagebitstream = yes; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - ocdrev = 2; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - - ; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x04; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1e; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--111i.iii1"; + ; memory "lock" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--00xx.xxxx--0000.0000--oooo.oooo"; + ; ; - - #------------------------------------------------------------ # ATmega163 #------------------------------------------------------------ part - id = "m163"; - desc = "ATmega163"; - stk500_devcode = 0x81; - avr910_devcode = 0x64; - signature = 0x1e 0x94 0x02; - chip_erase_delay = 32000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega163"; + id = "m163"; + variants = + "ATmega163-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 91; + n_interrupts = 18; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x02; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - - memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 16000; - max_write_delay = 16000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 20; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback = 0xff 0xff; + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o x x o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i 1 1 i i i i"; - ; + size = 1; + initval = 0xdf; + bitmask = 0xef; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--ooxx.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--ii11.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x 1 o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--xxxx.1ooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x 0 x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.0xxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega169 #------------------------------------------------------------ part - id = "m169"; - desc = "ATmega169"; - has_jtag = yes; - stk500_devcode = 0x85; - avr910_devcode = 0x78; - signature = 0x1e 0x94 0x05; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega169"; + id = "m169"; + variants = + "ATmega169: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4MC: VFQFN64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169V-1AC: TQFP64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-1MC: VFQFN64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 104; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega169A +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169A"; + id = "m169a"; + variants = + "ATmega169A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MCH: DRQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 105; + signature = 0x1e 0x94 0x11; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169P +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169P"; + id = "m169p"; + variants = + "ATmega169P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCHR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCH: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCHR: QFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCU: VQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 106; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169PA +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169PA"; + id = "m169pa"; + variants = + "ATmega169PA-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCHR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MNR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 107; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # ATmega329 #------------------------------------------------------------ part - id = "m329"; - desc = "ATmega329"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x95 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega329"; + id = "m329"; + variants = + "ATmega329: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega329-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 121; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega329A +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329A"; + id = "m329a"; + variants = + "ATmega329A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329A-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-MU: VQFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 122; +; #------------------------------------------------------------ # ATmega329P #------------------------------------------------------------ -# Identical to ATmega329 except of the signature part parent "m329" - id = "m329p"; - desc = "ATmega329P"; - signature = 0x1e 0x95 0x0b; + desc = "ATmega329P"; + id = "m329p"; + variants = + "ATmega329P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329P-20AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329P-20ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MNR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MN: VQFN64, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MUR: VQFN64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 123; + signature = 0x1e 0x95 0x0b; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega329PA +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329PA"; + id = "m329pa"; + variants = + "ATmega329PA-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 124; + signature = 0x1e 0x95 0x0b; +; #------------------------------------------------------------ # ATmega3290 #------------------------------------------------------------ -# identical to ATmega329 +part parent "m329" + desc = "ATmega3290"; + id = "m3290"; + variants = + "ATmega3290: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 150; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; + +#------------------------------------------------------------ +# ATmega3290A +#------------------------------------------------------------ part parent "m329" - id = "m3290"; - desc = "ATmega3290"; - signature = 0x1e 0x95 0x04; - - ocdrev = 3; - ; + desc = "ATmega3290A"; + id = "m3290a"; + variants = + "ATmega3290A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 151; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; #------------------------------------------------------------ # ATmega3290P #------------------------------------------------------------ -# identical to ATmega3290 except of the signature +part parent "m329" + desc = "ATmega3290P"; + id = "m3290p"; + variants = + "ATmega3290P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 152; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; -part parent "m3290" - id = "m3290p"; - desc = "ATmega3290P"; - signature = 0x1e 0x95 0x0c; +#------------------------------------------------------------ +# ATmega3290PA +#------------------------------------------------------------ - ocdrev = 3; - ; +part parent "m329" + desc = "ATmega3290PA"; + id = "m3290pa"; + variants = + "ATmega3290PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AUR: TQFP100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 153; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; #------------------------------------------------------------ # ATmega649 #------------------------------------------------------------ part - id = "m649"; - desc = "ATmega649"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x96 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega649"; + id = "m649"; + variants = + "ATmega649: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega649-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 135; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega649A +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649A"; + id = "m649a"; + variants = + "ATmega649A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 136; +; + +#------------------------------------------------------------ +# ATmega649P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649P"; + id = "m649p"; + variants = + "ATmega649P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649P-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 137; + signature = 0x1e 0x96 0x0b; +; #------------------------------------------------------------ # ATmega6490 #------------------------------------------------------------ -# identical to ATmega649 +part parent "m649" + desc = "ATmega6490"; + id = "m6490"; + variants = + "ATmega6490: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega6490-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 157; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; + +#------------------------------------------------------------ +# ATmega6490A +#------------------------------------------------------------ part parent "m649" - id = "m6490"; - desc = "ATmega6490"; - signature = 0x1e 0x96 0x04; + desc = "ATmega6490A"; + id = "m6490a"; + variants = + "ATmega6490A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 158; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6490P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega6490P"; + id = "m6490p"; + variants = + "ATmega6490P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 159; + n_interrupts = 25; + signature = 0x1e 0x96 0x0c; +; #------------------------------------------------------------ # ATmega32 #------------------------------------------------------------ part - id = "m32"; - desc = "ATmega32"; - has_jtag = yes; - stk500_devcode = 0x91; - avr910_devcode = 0x72; - signature = 0x1e 0x95 0x02; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega32"; + id = "m32"; + variants = + "ATmega32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega32-16AQ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MUR: VQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 58; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x02; + reset = io; allowfullpagebitstream = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega161 #------------------------------------------------------------ part - id = "m161"; - desc = "ATmega161"; - stk500_devcode = 0x80; - avr910_devcode = 0x60; - signature = 0x1e 0x94 0x01; - chip_erase_delay = 28000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega161"; + id = "m161"; + variants = + "ATmega161-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 89; + n_interrupts = 21; + n_boot_sections = 1; + boot_section_size = 1024; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - min_write_delay = 3400; - max_write_delay = 3400; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback = 0xff 0xff; + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 14000; - max_write_delay = 14000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 16; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback = 0xff 0xff; + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x o x o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x 1 i 1 i i i i i"; - ; + size = 1; + initval = 0xda; + bitmask = 0x77; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xoxo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--1i1i.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega32A +#------------------------------------------------------------ + +part parent "m32" + desc = "ATmega32A"; + id = "m32a"; + variants = + "ATmega32A-AN: TQFP44, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-ANR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MN: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MNR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MUR: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PN: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 59; +; #------------------------------------------------------------ # ATmega8 #------------------------------------------------------------ part - id = "m8"; - desc = "ATmega8"; - stk500_devcode = 0x70; - avr910_devcode = 0x76; - signature = 0x1e 0x93 0x07; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 10000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATmega8"; + id = "m8"; + variants = + "ATmega8: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega8-16AN: TQFP32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MUR: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PN: PDIP28, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8L-8AN: TQFP32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AU: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AUR: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MN: QFN32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MUR: VQFN32, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PN: PDIP28, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PU: PDIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 45; + n_interrupts = 19; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; + signature = 0x1e 0x93 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - page_size = 4; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 10; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - # Required for Arduino IDE - # see: https://github.com/arduino/Arduino/issues/2075 - # https://github.com/arduino/Arduino/issues/2075#issuecomment-238031689 - memory "efuse" - size = 0; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega8A +#------------------------------------------------------------ + +part parent "m8" + desc = "ATmega8A"; + id = "m8a"; + variants = + "ATmega8A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AN: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-ANR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MN: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MNR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PN: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 46; +; #------------------------------------------------------------ # ATmega8515 #------------------------------------------------------------ part - id = "m8515"; - desc = "ATmega8515"; - stk500_devcode = 0x63; - avr910_devcode = 0x3A; - signature = 0x1e 0x93 0x06; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8515"; + id = "m8515"; + variants = + "ATmega8515: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 160; + n_interrupts = 17; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x63; + avr910_devcode = 0x3a; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8535 #------------------------------------------------------------ part - id = "m8535"; - desc = "ATmega8535"; - stk500_devcode = 0x64; - avr910_devcode = 0x69; - signature = 0x1e 0x93 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8535"; + id = "m8535"; + variants = + "ATmega8535: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8535-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MUR: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 161; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny26 #------------------------------------------------------------ part - id = "t26"; - desc = "ATtiny26"; - stk500_devcode = 0x21; - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x09; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATtiny26"; + id = "t26"; + variants = + "ATtiny26: N/A, Fmax=16 MHz, T=[N/A, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16PU: PDIP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8MUR: VQFN32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8PU: PDIP20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 17; + n_interrupts = 12; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x91 0x09; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 16; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x x x x i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + size = 1; + initval = 0xe1; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; -; + memory "hfuse" + size = 1; + initval = 0xf7; + bitmask = 0x1f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--xxxi.iiii"; + ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny261 #------------------------------------------------------------ -# Close to ATtiny26 part - id = "t261"; - desc = "ATtiny261"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0c; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny261"; + id = "t261"; + variants = + "ATtiny261: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny261-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 30; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 128; - page_size = 4; - num_pages = 32; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny261A +#------------------------------------------------------------ + +part parent "t261" + desc = "ATtiny261A"; + id = "t261a"; + variants = + "ATtiny261A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MF: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MFR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MN: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MNR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 31; +; #------------------------------------------------------------ # ATtiny461 #------------------------------------------------------------ -# Close to ATtiny261 part - id = "t461"; - desc = "ATtiny461"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x08; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny461"; + id = "t461"; + variants = + "ATtiny461: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny461-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 33; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 256; - page_size = 4; - num_pages = 64; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny461A +#------------------------------------------------------------ + +part parent "t461" + desc = "ATtiny461A"; + id = "t461a"; + variants = + "ATtiny461A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 34; +; #------------------------------------------------------------ # ATtiny861 #------------------------------------------------------------ -# Close to ATtiny461 part - id = "t861"; - desc = "ATtiny861"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x93 0x0d; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny861"; + id = "t861"; + variants = + "ATtiny861: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny861-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SUR: SOIC20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny861V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 38; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 512; - num_pages = 128; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.aaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny861A +#------------------------------------------------------------ + +part parent "t861" + desc = "ATtiny861A"; + id = "t861a"; + variants = + "ATtiny861A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 39; +; #------------------------------------------------------------ # ATtiny28 @@ -7517,671 +7870,728 @@ part # This is an HVPP-only device. part - id = "t28"; - desc = "ATtiny28"; - stk500_devcode = 0x22; - avr910_devcode = 0x5c; - signature = 0x1e 0x91 0x07; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny28"; + id = "t28"; + variants = + "ATtiny28: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4AU: TQFP32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MU: MLF32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MUR: VQFN32, Fmax=4 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4PU: PDIP28, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28V-1AU: TQFP32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1AUR: TQFP32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MU: MLF32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MUR: VQFN32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1PU: PDIP28, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_HVPP; + mcuid = 18; + n_interrupts = 6; + stk500_devcode = 0x22; + avr910_devcode = 0x5c; + signature = 0x1e 0x91 0x07; + serial = no; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; memory "flash" - size = 2048; - page_size = 2; - readsize = 256; - delay = 5; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; + size = 2048; + page_size = 2; + delay = 5; + readsize = 256; ; memory "fuse" - size = 1; + size = 1; + initval = 0x12; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0x06; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; ; ; - - #------------------------------------------------------------ # ATmega48 #------------------------------------------------------------ part - id = "m48"; - desc = "ATmega48"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x59; -# avr910_devcode = 0x; - signature = 0x1e 0x92 0x05; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 45000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega48"; + id = "m48"; + variants = + "ATmega48: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMH: VQFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMU: QFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMUR: VQFN28, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 67; + n_interrupts = 26; + stk500_devcode = 0x59; + chip_erase_delay = 45000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega48A +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48A"; + id = "m48a"; + variants = + "ATmega48A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 68; +; #------------------------------------------------------------ # ATmega48P #------------------------------------------------------------ part parent "m48" - id = "m48p"; - desc = "ATmega48P"; - signature = 0x1e 0x92 0x0a; + desc = "ATmega48P"; + id = "m48p"; + variants = + "ATmega48P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMU: MLF28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 69; + signature = 0x1e 0x92 0x0a; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega48PA +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48PA"; + id = "m48pa"; + variants = + "ATmega48PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AUR: QFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMHR: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMN: QFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMNR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PN: SPDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 70; + signature = 0x1e 0x92 0x0a; +; #------------------------------------------------------------ # ATmega48PB #------------------------------------------------------------ part parent "m48" - id = "m48pb"; - desc = "ATmega48PB"; - signature = 0x1e 0x92 0x10; - - ocdrev = 1; - ; + desc = "ATmega48PB"; + id = "m48pb"; + variants = + "ATmega48PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 71; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x92 0x10; +; #------------------------------------------------------------ # ATmega88 #------------------------------------------------------------ part - id = "m88"; - desc = "ATmega88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x0a; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega88"; + id = "m88"; + variants = + "ATmega88: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 79; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega88A +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88A"; + id = "m88a"; + variants = + "ATmega88A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 80; +; #------------------------------------------------------------ # ATmega88P #------------------------------------------------------------ part parent "m88" - id = "m88p"; - desc = "ATmega88P"; - signature = 0x1e 0x93 0x0f; + desc = "ATmega88P"; + id = "m88p"; + variants = + "ATmega88P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MUR: VQFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 81; + signature = 0x1e 0x93 0x0f; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega88PA +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88PA"; + id = "m88pa"; + variants = + "ATmega88PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-15MZ: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMHR: VQFN28, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMN: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMNR: VQFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMUR: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 82; + signature = 0x1e 0x93 0x0f; +; #------------------------------------------------------------ # ATmega88PB #------------------------------------------------------------ part parent "m88" - id = "m88pb"; - desc = "ATmega88PB"; - signature = 0x1e 0x93 0x16; - - ocdrev = 1; - ; + desc = "ATmega88PB"; + id = "m88pb"; + variants = + "ATmega88PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 83; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x93 0x16; +; #------------------------------------------------------------ # ATmega168 #------------------------------------------------------------ part - id = "m168"; - desc = "ATmega168"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x06; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega168"; + id = "m168"; + variants = + "ATmega168: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega168-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQ: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQR: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 99; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; + memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega168A +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168A"; + id = "m168a"; + variants = + "ATmega168A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 100; ; #------------------------------------------------------------ @@ -8189,11 +8599,52 @@ part #------------------------------------------------------------ part parent "m168" - id = "m168p"; - desc = "ATmega168P"; - signature = 0x1e 0x94 0x0b; + desc = "ATmega168P"; + id = "m168p"; + variants = + "ATmega168P-20AN: TQFP32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQR: QFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168PV-10AN: TQFP32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 101; + signature = 0x1e 0x94 0x0b; +; - ocdrev = 1; +#------------------------------------------------------------ +# ATmega168PA +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168PA"; + id = "m168pa"; + variants = + "ATmega168PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMHR: QFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 102; + signature = 0x1e 0x94 0x0b; ; #------------------------------------------------------------ @@ -8201,11 +8652,617 @@ part parent "m168" #------------------------------------------------------------ part parent "m168" - id = "m168pb"; - desc = "ATmega168PB"; - signature = 0x1e 0x94 0x15; + desc = "ATmega168PB"; + id = "m168pb"; + variants = + "ATmega168PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 103; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x94 0x15; +; - ocdrev = 1; +#------------------------------------------------------------ +# ATtiny828 +#------------------------------------------------------------ + +part + desc = "ATtiny828"; + id = "t828"; + variants = + "ATtiny828: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.62 V, 5.5 V]", + "ATtiny828-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 35; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + bitmask = 0xf3; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0xf7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.1iii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny828R +#------------------------------------------------------------ + +part parent "t828" + desc = "ATtiny828R"; + id = "t828r"; + variants = + "ATtiny828R-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828R-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 36; +; + +#------------------------------------------------------------ +# ATtiny87 +#------------------------------------------------------------ + +part + desc = "ATtiny87"; + id = "t87"; + variants = + "ATtiny87: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 27; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x93 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny87 has signature bytes 0x1E 0x93 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny167 +#------------------------------------------------------------ + +part + desc = "ATtiny167"; + id = "t167"; + variants = + "ATtiny167: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-A15XD: TSSOP20, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny167-MMU: WQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MMUR: WQFN20, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATtiny167-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 29; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = 0x??; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x94 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny167 has signature bytes 0x1E 0x94 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny48 +#------------------------------------------------------------ + +part + desc = "ATtiny48"; + id = "t48"; + variants = + "ATtiny48-AU: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMHR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMU: MLF28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMUR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MU: MLF32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 23; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; ; #------------------------------------------------------------ @@ -8213,436 +9270,1347 @@ part parent "m168" #------------------------------------------------------------ part - id = "t88"; - desc = "ATtiny88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x11; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny88"; + id = "t88"; + variants = + "ATtiny88-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMHR: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMU: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMUR: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MU: QFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 28; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x11; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 64; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 64; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega328 #------------------------------------------------------------ part - id = "m328"; - desc = "ATmega328"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x14; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega328"; + id = "m328"; + variants = + "ATmega328-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 118; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x95 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 1024; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; + size = 1024; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; ; -; -part parent "m328" - id = "m328p"; - desc = "ATmega328P"; - signature = 0x1e 0x95 0x0F; - - ocdrev = 1; -; - -part parent "m328" - id = "m328pb"; - desc = "ATmega328PB"; - signature = 0x1e 0x95 0x16; - - ocdrev = 1; -; - -#------------------------------------------------------------ -# ATmega32m1 -#------------------------------------------------------------ - -part parent "m328" - id = "m32m1"; - desc = "ATmega32M1"; - # stk500_devcode = 0x; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x84; - bs2 = 0xe2; - - memory "efuse" - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; ; ; #------------------------------------------------------------ -# ATmega64m1 +# ATmega328P #------------------------------------------------------------ part parent "m328" - id = "m64m1"; - desc = "ATmega64M1"; - # stk500_devcode = 0x; - # avr910_devcode = 0x; - signature = 0x1e 0x96 0x84; - bs2 = 0xe2; + desc = "ATmega328P"; + id = "m328p"; + variants = + "ATmega328P: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-15MZ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MNR: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 119; + signature = 0x1e 0x95 0x0f; +; + +#------------------------------------------------------------ +# ATmega328PB +#------------------------------------------------------------ + +part parent "m328" + desc = "ATmega328PB"; + id = "m328pb"; + variants = + "ATmega328PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 120; + n_interrupts = 45; + chip_erase_delay = 10500; + signature = 0x1e 0x95 0x16; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x i i i i i i"; + initval = 0xf7; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; +; + +#------------------------------------------------------------ +# ATmega64M1 +#------------------------------------------------------------ + +part + desc = "ATmega64M1"; + id = "m64m1"; + variants = + "ATmega64M1-15MD: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 76; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x96 0x84; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--0aaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--0aaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--a000.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--11ii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32M1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega32M1"; + id = "m32m1"; + variants = + "ATmega32M1: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 63; + boot_section_size = 512; + signature = 0x1e 0x95 0x84; + + memory "eeprom" + size = 1024; + page_size = 4; + blocksize = 4; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + blocksize = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16M1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega16M1"; + id = "m16m1"; + variants = + "ATmega16M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 54; + signature = 0x1e 0x94 0x84; + + memory "eeprom" + size = 512; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32C1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega32C1"; + id = "m32c1"; + variants = + "ATmega32C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESAD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESMD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 62; + signature = 0x1e 0x95 0x86; +; + +#------------------------------------------------------------ +# ATmega64C1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega64C1"; + id = "m64c1"; + variants = + "ATmega64C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESAZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESMZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 75; + signature = 0x1e 0x96 0x86; +; + +#------------------------------------------------------------ +# ATA5505 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA5505"; + id = "ata5505"; + variants = + "ATA5505: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATA5505-P3QW: VFQFN38, Fmax=N/A, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 198; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6612C +#------------------------------------------------------------ + +part parent "m88" + desc = "ATA6612C"; + id = "ata6612c"; + variants = + "ATA6612C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6612C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 216; + chip_erase_delay = 4000; + + memory "eeprom" + min_write_delay = 4000; + max_write_delay = 4000; + ; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6613C +#------------------------------------------------------------ + +part parent "m168" + desc = "ATA6613C"; + id = "ata6613c"; + variants = + "ATA6613C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6613C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 217; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6614Q +#------------------------------------------------------------ + +part parent "m328" + desc = "ATA6614Q"; + id = "ata6614q"; + variants = + "ATA6614Q-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6614Q-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 218; + signature = 0x1e 0x95 0x0f; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6616C +#------------------------------------------------------------ + +part parent "t87" + desc = "ATA6616C"; + id = "ata6616c"; + variants = + "ATA6616C-P3PW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 219; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "flash" + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6617C +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA6617C"; + id = "ata6617c"; + variants = + "ATA6617C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6617C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 220; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA664251 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA664251"; + id = "ata664251"; + variants = + "ATA664251: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATA664251-WGQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA664251-WGQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 225; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVA +#------------------------------------------------------------ + +part + desc = "ATmega16HVA"; + id = "m16hva"; + variants = + "ATmega16HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega16HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 51; + n_interrupts = 21; + chip_erase_delay = 4000; + signature = 0x1e 0x94 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0000--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.0000--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "fuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega8HVA +#------------------------------------------------------------ + +part parent "m16hva" + desc = "ATmega8HVA"; + id = "m8hva"; + variants = + "ATmega8HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega8HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + mcuid = 47; + signature = 0x1e 0x93 0x10; + + memory "flash" + size = 8192; + num_pages = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVB +#------------------------------------------------------------ + +part + desc = "ATmega16HVB"; + id = "m16hvb"; + variants = + "ATmega16HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega16HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega16HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 52; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 4000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x94 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xdd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xe9; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--111o.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--111i.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVBrevB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega16HVBrevB"; + id = "m16hvbrevb"; + variants = + "ATmega16HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 53; +; + +#------------------------------------------------------------ +# ATmega32HVB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega32HVB"; + id = "m32hvb"; + variants = + "ATmega32HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega32HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega32HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + mcuid = 60; + signature = 0x1e 0x95 0x10; + + memory "eeprom" + size = 1024; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + num_pages = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVBrevB +#------------------------------------------------------------ + +part parent "m32hvb" + desc = "ATmega32HVBrevB"; + id = "m32hvbrevb"; + variants = + "ATmega32HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 61; +; + +#------------------------------------------------------------ +# ATmega64HVE2 +#------------------------------------------------------------ + +part + desc = "ATmega64HVE2"; + id = "m64hve2"; + variants = + "ATmega64HVE2: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 3.6 V]", + "ATmega64HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega64HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 77; + n_interrupts = 25; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 4000; + signature = 0x1e 0x96 0x10; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 128; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xd7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xf9; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--1111.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVE2 +#------------------------------------------------------------ + +part parent "m64hve2" + desc = "ATmega32HVE2"; + id = "m32hve2"; + variants = + "ATmega32HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega32HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + mcuid = 379; + signature = 0x1e 0x95 0x13; + + memory "flash" + size = 0x8000; + num_pages = 256; ; ; @@ -8651,555 +10619,607 @@ part parent "m328" #------------------------------------------------------------ part - id = "t2313"; - desc = "ATtiny2313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0a; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny2313"; + id = "t2313"; + variants = + "ATtiny2313: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10MUR: WQFN20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 42; + n_interrupts = 19; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x91 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x1f; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; - - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x64; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + # ATtiny2313 has signature bytes 0x1E 0x91 0x0A + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; # The Tiny2313 has calibration data for both 4 MHz and 8 MHz. # The information in the data sheet of April/2004 is wrong, this works: - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313A +#------------------------------------------------------------ + +part parent "t2313" + desc = "ATtiny2313A"; + id = "t2313a"; + variants = + "ATtiny2313A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 43; + n_interrupts = 21; + idr = 0x27; + + memory "lfuse" + initval = 0x62; + ; +; #------------------------------------------------------------ # ATtiny4313 #------------------------------------------------------------ part - id = "t4313"; - desc = "ATtiny4313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x0d; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny4313"; + id = "t4313"; + variants = + "ATtiny4313: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MUR: MLF20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 44; + n_interrupts = 21; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x92 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny4313 has signature bytes 0x1E 0x92 0x0D + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# AT90PWM1 +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; +part + desc = "AT90PWM1"; + id = "pwm1"; + variants = + "AT90PWM1: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MUR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 166; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x93 0x83; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xb7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--o1oo.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--i1ii.1iii"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM2 #------------------------------------------------------------ part - id = "pwm2"; - desc = "AT90PWM2"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x65; -## avr910_devcode = ?; - signature = 0x1e 0x93 0x81; - pagel = 0xD8; - bs2 = 0xE2; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90PWM2"; + id = "pwm2"; + variants = + "AT90PWM2: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQ: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQR: SOIC24, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 167; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x65; + chip_erase_delay = 9000; + pagel = 0xd8; + bs2 = 0xe2; +# avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + spmcr = 0x57; + eecr = 0x3f; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xf7; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + # AT90PWM2 has signature bytes 0x1E 0x93 0x81 + memory "signature" + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; -# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM3 @@ -9208,9 +11228,27 @@ part # Completely identical to AT90PWM2 (including the signature!) part parent "pwm2" - id = "pwm3"; - desc = "AT90PWM3"; - ; + desc = "AT90PWM3"; + id = "pwm3"; + variants = + "AT90PWM3: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQ: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQT: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 169; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; + + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM2B @@ -9218,12 +11256,28 @@ part parent "pwm2" # Same as AT90PWM2 but different signature. part parent "pwm2" - id = "pwm2b"; - desc = "AT90PWM2B"; - signature = 0x1e 0x93 0x83; + desc = "AT90PWM2B"; + id = "pwm2b"; + variants = + "AT90PWM2B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 168; + signature = 0x1e 0x93 0x83; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; - ocdrev = 1; - ; + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM3B @@ -9232,11 +11286,182 @@ part parent "pwm2" # Completely identical to AT90PWM2B (including the signature!) part parent "pwm2b" - id = "pwm3b"; - desc = "AT90PWM3B"; + desc = "AT90PWM3B"; + id = "pwm3b"; + variants = + "AT90PWM3B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 170; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# AT90PWM161 +#------------------------------------------------------------ + +part + desc = "AT90PWM161"; + id = "pwm161"; + variants = + "AT90PWM161: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MNR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SNR: SOIC20, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 177; + n_interrupts = 20; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xe2; + bs2 = 0xd6; + signature = 0x1e 0x94 0x8b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# AT90PWM81 +#------------------------------------------------------------ + +part parent "pwm161" + desc = "AT90PWM81"; + id = "pwm81"; + variants = + "AT90PWM81: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MF: QFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81EP-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 173; + signature = 0x1e 0x93 0x88; + + memory "flash" + size = 8192; + page_size = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # AT90PWM316 @@ -9245,52 +11470,26 @@ part parent "pwm2b" # Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM. part parent "pwm3b" - id = "pwm316"; - desc = "AT90PWM316"; - signature = 0x1e 0x94 0x83; - - ocdrev = 1; + desc = "AT90PWM316"; + id = "pwm316"; + variants = + "AT90PWM316: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 180; + boot_section_size = 512; + signature = 0x1e 0x94 0x83; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - ; + size = 0x4000; + page_size = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # AT90PWM216 @@ -9298,560 +11497,512 @@ part parent "pwm3b" # Completely identical to AT90PWM316 (including the signature!) part parent "pwm316" - id = "pwm216"; - desc = "AT90PWM216"; - ; + desc = "AT90PWM216"; + id = "pwm216"; + variants = + "AT90PWM216: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 179; +; #------------------------------------------------------------ # ATtiny25 #------------------------------------------------------------ part - id = "t25"; - desc = "ATtiny25"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x08; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny25"; + id = "t25"; + variants = + "ATtiny25: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny25-15ST: SOIC8, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MFR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSHR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-10MF: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MFR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSHR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 16; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny25 has signature bytes 0x1E 0x91 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny45 #------------------------------------------------------------ part - id = "t45"; - desc = "ATtiny45"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x06; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny45"; + id = "t45"; + variants = + "ATtiny45: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-15SZ: SOIC8, Fmax=N/A, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XUR: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XU: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XUR: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 22; + n_interrupts = 15; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny45 has signature bytes 0x1E 0x92 0x08 (data sheet 2586C-AVR-06/05 doc2586.pdf indicates otherwise) + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny85 #------------------------------------------------------------ part - id = "t85"; - desc = "ATtiny85"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0b; - reset = io; - chip_erase_delay = 400000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny85"; + id = "t85"; + variants = + "ATtiny85: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny85-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SF: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85-20SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10MUR: MLF20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 26; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 12; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 30000; - max_write_delay = 30000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny85 has signature bytes 0x1E 0x93 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega640 @@ -9859,380 +12010,282 @@ part # Almost same as ATmega1280, except for different memory sizes part - id = "m640"; - desc = "ATmega640"; - signature = 0x1e 0x96 0x08; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega640"; + id = "m640"; + variants = + "ATmega640: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega640-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CUR: TFBGA100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 126; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1280 #------------------------------------------------------------ part - id = "m1280"; - desc = "ATmega1280"; - signature = 0x1e 0x97 0x03; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega1280"; + id = "m1280"; + variants = + "ATmega1280: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1280-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 138; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1281 @@ -10240,219 +12293,185 @@ part # Identical to ATmega1280 part parent "m1280" - id = "m1281"; - desc = "ATmega1281"; - signature = 0x1e 0x97 0x04; - - ocdrev = 3; - ; + desc = "ATmega1281"; + id = "m1281"; + variants = + "ATmega1281: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1281-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8AUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MUR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 139; + signature = 0x1e 0x97 0x04; +; #------------------------------------------------------------ # ATmega2560 #------------------------------------------------------------ part - id = "m2560"; - desc = "ATmega2560"; - signature = 0x1e 0x98 0x01; - has_jtag = yes; - stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega2560"; + id = "m2560"; + variants = + "ATmega2560: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8AUR: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 143; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x98 0x01; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 4; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + eind = 0x5c; + ocdrev = 4; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 262144; - page_size = 256; - num_pages = 1024; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - load_ext_addr = " 0 1 0 0 1 1 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 a16", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x40000; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega2561 #------------------------------------------------------------ part parent "m2560" - id = "m2561"; - desc = "ATmega2561"; - signature = 0x1e 0x98 0x02; - - ocdrev = 4; - ; + desc = "ATmega2561"; + id = "m2561"; + variants = + "ATmega2561: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega2561-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2561V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 144; + signature = 0x1e 0x98 0x02; +; #------------------------------------------------------------ # ATmega128RFA1 @@ -10460,848 +12479,802 @@ part parent "m2560" # Identical to ATmega2561 but half the ROM part parent "m2561" - id = "m128rfa1"; - desc = "ATmega128RFA1"; - signature = 0x1e 0xa7 0x01; - chip_erase_delay = 55000; - bs2 = 0xE2; + desc = "ATmega128RFA1"; + id = "m128rfa1"; + variants = + "ATmega128RFA1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZF: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZFR: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR-SL514: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 87; + n_interrupts = 72; + chip_erase_delay = 18500; + bs2 = 0xe2; + signature = 0x1e 0xa7 0x01; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + latchcycles = 5; + ocdrev = 3; - ocdrev = 3; + memory "eeprom" + min_write_delay = 13000; + max_write_delay = 13000; + delay = 50; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 0x20000; + num_pages = 512; + delay = 50; + load_ext_addr = NULL; + ; - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; - ; + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + ; +; #------------------------------------------------------------ # ATmega256RFR2 #------------------------------------------------------------ -part parent "m2561" - id = "m256rfr2"; - desc = "ATmega256RFR2"; - signature = 0x1e 0xa8 0x02; - chip_erase_delay = 18500; - bs2 = 0xE2; +part parent "m128rfa1" + desc = "ATmega256RFR2"; + id = "m256rfr2"; + variants = + "ATmega256RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 108; + n_interrupts = 77; + signature = 0x1e 0xa8 0x02; + chiperasepolltimeout = 20; + ocdrev = 4; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 8192; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + read = "1010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xa.aaaa--aaaa.a000--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "flash" + size = 0x40000; + num_pages = 1024; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; + memory "efuse" + initval = 0xfe; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ocdrev = 4; - ; + ##### + # Three separate flash pages + # - Offset 0x100 in signature row + # - Only programmable with JTAG or HVPP + # - Readable from an application + # - Cannot be read using ISP + # - Not erased by chip erase + # + memory "usersig" + paged = yes; + size = 768; + page_size = 256; + num_pages = 3; + offset = 0x100; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 50; + blocksize = 256; + readsize = 256; + ; +; #------------------------------------------------------------ # ATmega128RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m128rfr2"; - desc = "ATmega128RFR2"; - signature = 0x1e 0xa7 0x02; +part parent "m256rfr2" + desc = "ATmega128RFR2"; + id = "m128rfr2"; + variants = + "ATmega128RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 88; + signature = 0x1e 0xa7 0x02; + ocdrev = 3; + memory "eeprom" + size = 4096; + ; - ocdrev = 3; - ; + memory "flash" + size = 0x20000; + num_pages = 512; + load_ext_addr = NULL; + ; +; #------------------------------------------------------------ # ATmega64RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m64rfr2"; - desc = "ATmega64RFR2"; - signature = 0x1e 0xa6 0x02; - - - ocdrev = 3; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; +part parent "m128rfr2" + desc = "ATmega64RFR2"; + id = "m64rfr2"; + variants = + "ATmega64RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 78; + signature = 0x1e 0xa6 0x02; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ; + memory "flash" + size = 0x10000; + num_pages = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # ATmega2564RFR2 #------------------------------------------------------------ part parent "m256rfr2" - id = "m2564rfr2"; - desc = "ATmega2564RFR2"; - signature = 0x1e 0xa8 0x03; - ; + desc = "ATmega2564RFR2"; + id = "m2564rfr2"; + variants = + "ATmega2564RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 145; + signature = 0x1e 0xa8 0x03; +; #------------------------------------------------------------ # ATmega1284RFR2 #------------------------------------------------------------ part parent "m128rfr2" - id = "m1284rfr2"; - desc = "ATmega1284RFR2"; - signature = 0x1e 0xa7 0x03; - ; + desc = "ATmega1284RFR2"; + id = "m1284rfr2"; + variants = + "ATmega1284RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 142; + signature = 0x1e 0xa7 0x03; +; #------------------------------------------------------------ # ATmega644RFR2 #------------------------------------------------------------ part parent "m64rfr2" - id = "m644rfr2"; - desc = "ATmega644RFR2"; - signature = 0x1e 0xa6 0x03; - ; + desc = "ATmega644RFR2"; + id = "m644rfr2"; + variants = + "ATmega644RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 131; + signature = 0x1e 0xa6 0x03; +; #------------------------------------------------------------ # ATtiny24 #------------------------------------------------------------ part - id = "t24"; - desc = "ATtiny24"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x0b; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny24"; + id = "t24"; + variants = + "ATtiny24: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 14; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny24 has signature bytes 0x1E 0x91 0x0B + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny24A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t24" + desc = "ATtiny24A"; + id = "t24a"; + variants = + "ATtiny24A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8R: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 15; +; #------------------------------------------------------------ # ATtiny44 #------------------------------------------------------------ part - id = "t44"; - desc = "ATtiny44"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x07; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny44"; + id = "t44"; + variants = + "ATtiny44: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSUR: SOIC14N, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 20; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny44 has signature bytes 0x1E 0x92 0x07 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny44A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t44" + desc = "ATtiny44A"; + id = "t44a"; + variants = + "ATtiny44A: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = XVII + IV; # 21; +; #------------------------------------------------------------ # ATtiny84 #------------------------------------------------------------ part - id = "t84"; - desc = "ATtiny84"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0c; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny84"; + id = "t84"; + variants = + "ATtiny84: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84-15MZ: MLF20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSU: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSUR: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 24; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny84 has signature bytes 0x1E 0x93 0x0C + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny84A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t84" + desc = "ATtiny84A"; + id = "t84a"; + variants = + "ATtiny84A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MF: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MFR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 25; +; #------------------------------------------------------------ # ATtiny441 #------------------------------------------------------------ part parent "t44" - id = "t441"; - desc = "ATtiny441"; - signature = 0x1e 0x92 0x15; + desc = "ATtiny441"; + id = "t441"; + variants = + "ATtiny441-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 32; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x92 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - memory "flash" - paged = yes; - size = 4096; - page_size = 16; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "flash" + page_size = 16; + num_pages = 256; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaaa.axxx--xxxx.xxxx"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + bitmask = 0xdf; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; ; #------------------------------------------------------------ @@ -11309,60 +13282,41 @@ part parent "t44" #------------------------------------------------------------ part parent "t84" - id = "t841"; - desc = "ATtiny841"; - signature = 0x1e 0x93 0x15; + desc = "ATtiny841"; + id = "t841"; + variants = + "ATtiny841-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 37; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x93 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - memory "flash" - paged = yes; - size = 8192; - page_size = 16; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "flash" + page_size = 16; + num_pages = 512; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaaa.axxx--xxxx.xxxx"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + bitmask = 0xdf; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; ; #------------------------------------------------------------ @@ -11370,177 +13324,281 @@ part parent "t84" #------------------------------------------------------------ part - id = "t43u"; - desc = "ATtiny43u"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x0C; - reset = io; - chip_erase_delay = 1000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E, - 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56, - 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 20; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny43U"; + id = "t43u"; + variants = + "ATtiny43U: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[0.7 V, 5.5 V]", + "ATtiny43U-MU: QFN20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-MUR: WQFN20, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 19; + n_interrupts = 16; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 1000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x92 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + memory "eeprom" - size = 64; - paged = yes; - page_size = 4; - num_pages = 16; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " 0 0 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + paged = yes; + size = 64; + page_size = 4; + num_pages = 16; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--00aa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--00aa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--00aa.aa00--xxxx.xxxx"; ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 4500; - max_write_delay = 4500; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; ; memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16u4 +#------------------------------------------------------------ + +part + desc = "ATmega16U4"; + id = "m16u4"; + variants = + "ATmega16U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 57; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x88; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--00oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -11549,382 +13607,280 @@ part #------------------------------------------------------------ part - id = "m32u4"; - desc = "ATmega32U4"; - signature = 0x1e 0x95 0x87; - usbpid = 0x2ff4; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U4"; + id = "m32u4"; + variants = + "ATmega32U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AUR: QFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 65; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x87; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB646 #------------------------------------------------------------ part - id = "usb646"; - desc = "AT90USB646"; - signature = 0x1e 0x96 0x82; - usbpid = 0x2ff9; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB646"; + id = "usb646"; + variants = + "AT90USB646: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 181; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x82; + usbpid = 0x2ff9; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x9b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB647 @@ -11932,203 +13888,156 @@ part # identical to AT90USB646 part parent "usb646" - id = "usb647"; - desc = "AT90USB647"; - signature = 0x1e 0x96 0x82; - - ocdrev = 3; - ; + desc = "AT90USB647"; + id = "usb647"; + variants = + "AT90USB647: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 182; +; #------------------------------------------------------------ # AT90USB1286 #------------------------------------------------------------ part - id = "usb1286"; - desc = "AT90USB1286"; - signature = 0x1e 0x97 0x82; - usbpid = 0x2ffb; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB1286"; + id = "usb1286"; + variants = + "AT90USB1286: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 184; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x82; + usbpid = 0x2ffb; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB1287 @@ -12136,1404 +14045,1522 @@ part # identical to AT90USB1286 part parent "usb1286" - id = "usb1287"; - desc = "AT90USB1287"; - signature = 0x1e 0x97 0x82; - - ocdrev = 3; - ; + desc = "AT90USB1287"; + id = "usb1287"; + variants = + "AT90USB1287: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 185; +; #------------------------------------------------------------ # AT90USB162 #------------------------------------------------------------ part - id = "usb162"; - desc = "AT90USB162"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x82; - usbpid = 0x2ffa; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB162"; + id = "usb162"; + variants = + "AT90USB162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 178; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x82; + usbpid = 0x2ffa; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB82 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 8192; -# num_pages = 64; part - id = "usb82"; - desc = "AT90USB82"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x82; - usbpid = 0x2ff7; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB82"; + id = "usb82"; + variants = + "AT90USB82: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 174; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x82; + usbpid = 0x2ff7; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega32U2 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 32768; -# num_pages = 256; -# memory "eeprom" -# size = 1024; -# num_pages = 256; + part - id = "m32u2"; - desc = "ATmega32U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x95 0x8a; - usbpid = 0x2ff0; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U2"; + id = "m32u2"; + variants = + "ATmega32U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 64; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x95 0x8a; + usbpid = 0x2ff0; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - num_pages = 256; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + num_pages = 256; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + #------------------------------------------------------------ # ATmega16U2 #------------------------------------------------------------ -# Changes against ATmega32U2 (beside IDs) -# memory "flash" -# size = 16384; -# num_pages = 128; -# memory "eeprom" -# size = 512; -# num_pages = 128; + part - id = "m16u2"; - desc = "ATmega16U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x89; - usbpid = 0x2fef; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega16U2"; + id = "m16u2"; + variants = + "ATmega16U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 56; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x89; + usbpid = 0x2fef; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8U2 #------------------------------------------------------------ -# Changes against ATmega16U2 (beside IDs) -# memory "flash" -# size = 8192; -# page_size = 64; -# blocksize = 64; part - id = "m8u2"; - desc = "ATmega8U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x89; - usbpid = 0x2fee; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8U2"; + id = "m8u2"; + variants = + "ATmega8U2-AU: LQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 48; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x89; + usbpid = 0x2fee; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165P +#------------------------------------------------------------ + +part + desc = "ATmega165P"; + id = "m165p"; + variants = + "ATmega165P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165P-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16ANR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MN: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165PV-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8ANR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 97; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 256; +# stk500_devcode = 0x??; +# avr910_devcode = 0x??; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00xa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00xa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00xa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--0000.0000--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165A +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165A"; + id = "m165a"; + variants = + "ATmega165A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-MUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 96; + signature = 0x1e 0x94 0x10; +; + +#------------------------------------------------------------ +# ATmega165 +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165"; + id = "m165"; + variants = + "ATmega165: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 95; + + memory "eeprom" + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATmega165PA +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165PA"; + id = "m165pa"; + variants = + "ATmega165PA: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 98; +; + #------------------------------------------------------------ # ATmega325 #------------------------------------------------------------ part - id = "m325"; - desc = "ATmega325"; - signature = 0x1e 0x95 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega325"; + id = "m325"; + variants = + "ATmega325: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 114; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaaa.aaaa--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega325A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325A"; + id = "m325a"; + variants = + "ATmega325A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MNR: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 115; +; + +#------------------------------------------------------------ +# ATmega325P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325P"; + id = "m325p"; + variants = + "ATmega325P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MUR: VQFN64, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 116; + signature = 0x1e 0x95 0x0d; +; + +#------------------------------------------------------------ +# ATmega325PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325PA"; + id = "m325pa"; + variants = + "ATmega325PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MU: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 117; + signature = 0x1e 0x95 0x0d; +; #------------------------------------------------------------ # ATmega645 #------------------------------------------------------------ part - id = "m645"; - desc = "ATmega645"; - signature = 0x1E 0x96 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega645"; + id = "m645"; + variants = + "ATmega645: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega645V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 132; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaaa.aaaa--0000.0000"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega645A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645A"; + id = "m645a"; + variants = + "ATmega645A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 133; +; + +#------------------------------------------------------------ +# ATmega645P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645P"; + id = "m645p"; + variants = + "ATmega645P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 134; + signature = 0x1e 0x96 0x0d; +; #------------------------------------------------------------ # ATmega3250 #------------------------------------------------------------ part parent "m325" - id = "m3250"; - desc = "ATmega3250"; - signature = 0x1E 0x95 0x06; + desc = "ATmega3250"; + id = "m3250"; + variants = + "ATmega3250: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 146; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega3250A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250A"; + id = "m3250a"; + variants = + "ATmega3250A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 147; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; + +#------------------------------------------------------------ +# ATmega3250P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250P"; + id = "m3250p"; + variants = + "ATmega3250P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 148; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; + +#------------------------------------------------------------ +# ATmega3250PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250PA"; + id = "m3250pa"; + variants = + "ATmega3250PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 149; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; #------------------------------------------------------------ # ATmega6450 #------------------------------------------------------------ part parent "m645" - id = "m6450"; - desc = "ATmega6450"; - signature = 0x1E 0x96 0x06; + desc = "ATmega6450"; + id = "m6450"; + variants = + "ATmega6450: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6450-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6450V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 154; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6450A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450A"; + id = "m6450a"; + variants = + "ATmega6450A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 155; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; + +#------------------------------------------------------------ +# ATmega6450P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450P"; + id = "m6450p"; + variants = + "ATmega6450P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 156; + n_interrupts = 25; + signature = 0x1e 0x96 0x0e; +; #------------------------------------------------------------ # AVR XMEGA family common values #------------------------------------------------------------ part - id = ".xmega"; - desc = "AVR XMEGA family common values"; - has_pdi = yes; - nvm_base = 0x01c0; - mcu_base = 0x0090; - - memory "signature" - size = 3; - offset = 0x1000090; - ; - - memory "prodsig" - size = 0x32; - offset = 0x8e0200; - page_size = 0x32; - readsize = 0x32; - ; + desc = "AVR XMEGA family common values"; + id = ".xmega"; + prog_modes = PM_SPM | PM_PDI; + n_boot_sections = 1; + mcu_base = 0x0090; + nvm_base = 0x01c0; + autobaud_sync = 0x20; memory "fuse1" - size = 1; - offset = 0x8f0021; + size = 1; + initval = 0x00; + offset = 0x8f0021; ; memory "fuse2" - size = 1; - offset = 0x8f0022; + size = 1; + initval = 0xff; + bitmask = 0x63; + offset = 0x8f0022; ; memory "fuse4" - size = 1; - offset = 0x8f0024; + size = 1; + initval = 0xff; + bitmask = 0x1e; + offset = 0x8f0024; ; memory "fuse5" - size = 1; - offset = 0x8f0025; + size = 1; + initval = 0xff; + bitmask = 0x3f; + offset = 0x8f0025; ; memory "lock" - size = 1; - offset = 0x8f0027; + size = 1; + initval = 0xff; + offset = 0x8f0027; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "prodsig" + size = 50; + page_size = 50; + offset = 0x8e0200; + readsize = 50; ; memory "data" # SRAM, only used to supply the offset - offset = 0x1000000; + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-E family common values +#------------------------------------------------------------ + +# Fuse for fault detection action on Px0..5 (unique to XMEGA-E) + +part parent ".xmega" + desc = "AVR XMEGA-E family common values"; + id = ".xmega-e"; + + memory "fuse6" + size = 1; + initval = 0xff; + offset = 0x8f0026; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-A family common values +#------------------------------------------------------------ + +# JTAG user ID (unique to XMEGA-A and XMEGA-B) + +part parent ".xmega" + desc = "AVR XMEGA-A family common values"; + id = ".xmega-a"; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; ; ; @@ -13541,52 +15568,69 @@ part # ATxmega16A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x16a4u"; - desc = "ATxmega16A4U"; - signature = 0x1e 0x94 0x41; - usbpid = 0x2fe3; +part parent ".xmega-a" + desc = "ATxmega16A4U"; + id = "x16a4u"; + variants = + "ATxmega16A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 232; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x94 0x41; + usbpid = 0x2fe3; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x803000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x804000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x5000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13595,9 +15639,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x16a4u" - id = "x16c4"; - desc = "ATxmega16C4"; - signature = 0x1e 0x94 0x43; + desc = "ATxmega16C4"; + id = "x16c4"; + variants = + "ATxmega16C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 233; + signature = 0x1e 0x94 0x43; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13605,9 +15666,28 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16d4"; - desc = "ATxmega16D4"; - signature = 0x1e 0x94 0x42; + desc = "ATxmega16D4"; + id = "x16d4"; + variants = + "ATxmega16D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AUR: TQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 234; + n_interrupts = 91; + signature = 0x1e 0x94 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13615,14 +15695,22 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16a4"; - desc = "ATxmega16A4"; - signature = 0x1e 0x94 0x41; - has_jtag = yes; + desc = "ATxmega16A4"; + id = "x16a4"; + variants = + "ATxmega16A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 231; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13630,52 +15718,69 @@ part parent "x16a4u" # ATxmega32A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x32a4u"; - desc = "ATxmega32A4U"; - signature = 0x1e 0x95 0x41; - usbpid = 0x2fe4; +part parent ".xmega-a" + desc = "ATxmega32A4U"; + id = "x32a4u"; + variants = + "ATxmega32A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-ANR: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 239; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x95 0x41; + usbpid = 0x2fe4; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x807000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x808000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x9000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13684,9 +15789,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x32a4u" - id = "x32c4"; - desc = "ATxmega32C4"; - signature = 0x1e 0x95 0x44; + desc = "ATxmega32C4"; + id = "x32c4"; + variants = + "ATxmega32C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 240; + signature = 0x1e 0x95 0x44; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13694,9 +15816,29 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32d4"; - desc = "ATxmega32D4"; - signature = 0x1e 0x95 0x42; + desc = "ATxmega32D4"; + id = "x32d4"; + variants = + "ATxmega32D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 241; + n_interrupts = 91; + signature = 0x1e 0x95 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13704,14 +15846,22 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32a4"; - desc = "ATxmega32A4"; - signature = 0x1e 0x95 0x41; - has_jtag = yes; + desc = "ATxmega32A4"; + id = "x32a4"; + variants = + "ATxmega32A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 238; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13719,52 +15869,121 @@ part parent "x32a4u" # ATxmega64A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x64a4u"; - desc = "ATxmega64A4U"; - signature = 0x1e 0x96 0x46; - usbpid = 0x2fe5; +part parent ".xmega-a" + desc = "ATxmega64A4U"; + id = "x64a4u"; + variants = + "ATxmega64A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 252; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x96 0x46; + usbpid = 0x2fe5; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x10000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x80f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x810000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x11000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x11000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x10000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x80f000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x810000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; + ; +; + +#------------------------------------------------------------ +# ATxmega32C3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32C3"; + id = "x32c3"; + variants = + "ATxmega32C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 236; + signature = 0x1e 0x95 0x49; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; +; + +#------------------------------------------------------------ +# ATxmega32D3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32D3"; + id = "x32d3"; + variants = + "ATxmega32D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 237; + n_interrupts = 114; + signature = 0x1e 0x95 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; ; ; @@ -13773,10 +15992,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x64a4u" - id = "x64c3"; - desc = "ATxmega64C3"; - signature = 0x1e 0x96 0x49; - usbpid = 0x2fd6; + desc = "ATxmega64C3"; + id = "x64c3"; + variants = + "ATxmega64C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 249; + signature = 0x1e 0x96 0x49; + usbpid = 0x2fd6; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13784,9 +16019,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d3"; - desc = "ATxmega64D3"; - signature = 0x1e 0x96 0x4a; + desc = "ATxmega64D3"; + id = "x64d3"; + variants = + "ATxmega64D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 250; + n_interrupts = 114; + signature = 0x1e 0x96 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13794,9 +16047,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d4"; - desc = "ATxmega64D4"; - signature = 0x1e 0x96 0x47; + desc = "ATxmega64D4"; + id = "x64d4"; + variants = + "ATxmega64D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AU: QFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 253; + n_interrupts = 91; + signature = 0x1e 0x96 0x47; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13804,14 +16075,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64a1"; - desc = "ATxmega64A1"; - signature = 0x1e 0x96 0x4e; - has_jtag = yes; + desc = "ATxmega64A1"; + id = "x64a1"; + variants = + "ATxmega64A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 243; + n_interrupts = 125; + signature = 0x1e 0x96 0x4e; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13820,10 +16100,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a1" - id = "x64a1u"; - desc = "ATxmega64A1U"; - signature = 0x1e 0x96 0x4e; - usbpid = 0x2fe8; + desc = "ATxmega64A1U"; + id = "x64a1u"; + variants = + "ATxmega64A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-CUR: TFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 244; + n_interrupts = 127; + usbpid = 0x2fe8; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13831,9 +16124,18 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3"; - desc = "ATxmega64A3"; - signature = 0x1e 0x96 0x42; + desc = "ATxmega64A3"; + id = "x64a3"; + variants = + "ATxmega64A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 246; + n_interrupts = 122; + signature = 0x1e 0x96 0x42; ; #------------------------------------------------------------ @@ -13841,10 +16143,22 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3u"; - desc = "ATxmega64A3U"; - signature = 0x1e 0x96 0x42; - usbpid = 0x2fe5; + desc = "ATxmega64A3U"; + id = "x64a3u"; + variants = + "ATxmega64A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 247; + n_interrupts = 127; + signature = 0x1e 0x96 0x42; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13852,9 +16166,39 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a4"; - desc = "ATxmega64A4"; - signature = 0x1e 0x96 0x46; + desc = "ATxmega64A4"; + id = "x64a4"; + variants = + "ATxmega64A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 251; + signature = 0x1e 0x96 0x46; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; ; #------------------------------------------------------------ @@ -13862,10 +16206,25 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b1"; - desc = "ATxmega64B1"; - signature = 0x1e 0x96 0x52; - usbpid = 0x2fe1; + desc = "ATxmega64B1"; + id = "x64b1"; + variants = + "ATxmega64B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 245; + n_interrupts = 81; + signature = 0x1e 0x96 0x52; + usbpid = 0x2fe1; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13873,10 +16232,24 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b3"; - desc = "ATxmega64B3"; - signature = 0x1e 0x96 0x51; - usbpid = 0x2fdf; + desc = "ATxmega64B3"; + id = "x64b3"; + variants = + "ATxmega64B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 248; + n_interrupts = 54; + signature = 0x1e 0x96 0x51; + usbpid = 0x2fdf; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13884,51 +16257,61 @@ part parent "x64a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128c3"; - desc = "ATxmega128C3"; - signature = 0x1e 0x97 0x52; - usbpid = 0x2fd7; + desc = "ATxmega128C3"; + id = "x128c3"; + variants = + "ATxmega128C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 261; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x52; + usbpid = 0x2fd7; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13937,9 +16320,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128c3" - id = "x128d3"; - desc = "ATxmega128D3"; - signature = 0x1e 0x97 0x48; + desc = "ATxmega128D3"; + id = "x128d3"; + variants = + "ATxmega128D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 262; + n_interrupts = 114; + signature = 0x1e 0x97 0x48; ; #------------------------------------------------------------ @@ -13947,9 +16340,24 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128d4"; - desc = "ATxmega128D4"; - signature = 0x1e 0x97 0x47; + desc = "ATxmega128D4"; + id = "x128d4"; + variants = + "ATxmega128D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 265; + n_interrupts = 91; + signature = 0x1e 0x97 0x47; + + memory "flash" + page_size = 256; + ; ; #------------------------------------------------------------ @@ -13957,14 +16365,34 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128a1"; - desc = "ATxmega128A1"; - signature = 0x1e 0x97 0x4c; - has_jtag = yes; + desc = "ATxmega128A1"; + id = "x128a1"; + variants = + "ATxmega128A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 254; + n_interrupts = 125; + signature = 0x1e 0x97 0x4c; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; ; ; @@ -13973,9 +16401,10 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1d"; - desc = "ATxmega128A1revD"; - signature = 0x1e 0x97 0x41; + desc = "ATxmega128A1revD"; + id = "x128a1d"; + mcuid = 255; + signature = 0x1e 0x97 0x41; ; #------------------------------------------------------------ @@ -13983,10 +16412,24 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1u"; - desc = "ATxmega128A1U"; - signature = 0x1e 0x97 0x4c; - usbpid = 0x2fed; + desc = "ATxmega128A1U"; + id = "x128a1u"; + variants = + "ATxmega128A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-AUR: N/A, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-CUR: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 256; + n_interrupts = 127; + usbpid = 0x2fed; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13994,9 +16437,18 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3"; - desc = "ATxmega128A3"; - signature = 0x1e 0x97 0x42; + desc = "ATxmega128A3"; + id = "x128a3"; + variants = + "ATxmega128A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 258; + n_interrupts = 122; + signature = 0x1e 0x97 0x42; ; #------------------------------------------------------------ @@ -14004,10 +16456,23 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3u"; - desc = "ATxmega128A3U"; - signature = 0x1e 0x97 0x42; - usbpid = 0x2fe6; + desc = "ATxmega128A3U"; + id = "x128a3u"; + variants = + "ATxmega128A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 259; + n_interrupts = 127; + signature = 0x1e 0x97 0x42; + usbpid = 0x2fe6; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -14015,56 +16480,82 @@ part parent "x128a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128a4"; - desc = "ATxmega128A4"; - signature = 0x1e 0x97 0x46; - has_jtag = yes; + desc = "ATxmega128A4"; + id = "x128a4"; + variants = + "ATxmega128A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 263; + signature = 0x1e 0x97 0x46; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 512; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; + + memory "usersig" + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14072,52 +16563,67 @@ part parent ".xmega" # ATxmega128A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x128a4u"; - desc = "ATxmega128A4U"; - signature = 0x1e 0x97 0x46; - usbpid = 0x2fde; +part parent ".xmega-a" + desc = "ATxmega128A4U"; + id = "x128a4u"; + variants = + "ATxmega128A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 264; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x46; + usbpid = 0x2fde; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14126,57 +16632,71 @@ part parent ".xmega" #------------------------------------------------------------ part parent ".xmega" - id = "x128b1"; - desc = "ATxmega128B1"; - signature = 0x1e 0x97 0x4d; - usbpid = 0x2fea; - has_jtag = yes; + desc = "ATxmega128B1"; + id = "x128b1"; + variants = + "ATxmega128B1-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CUR: TFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 257; + n_interrupts = 81; + boot_section_size = 8192; + signature = 0x1e 0x97 0x4d; + usbpid = 0x2fea; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 256; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; + ; + + memory "usersig" + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14185,10 +16705,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128b1" - id = "x128b3"; - desc = "ATxmega128B3"; - signature = 0x1e 0x97 0x4b; - usbpid = 0x2fe0; + desc = "ATxmega128B3"; + id = "x128b3"; + variants = + "ATxmega128B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCU: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCUR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 260; + n_interrupts = 54; + signature = 0x1e 0x97 0x4b; + usbpid = 0x2fe0; ; #------------------------------------------------------------ @@ -14196,51 +16725,60 @@ part parent "x128b1" #------------------------------------------------------------ part parent ".xmega" - id = "x192c3"; - desc = "ATxmega192C3"; - signature = 0x1e 0x97 0x51; - # usbpid = 0x2f??; + desc = "ATxmega192C3"; + id = "x192c3"; + variants = + "ATxmega192C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 269; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x51; + +# usbpid = 0x2f??; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x30000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x82e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x830000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x32000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x32000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x30000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x82e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x830000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14249,9 +16787,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x192c3" - id = "x192d3"; - desc = "ATxmega192D3"; - signature = 0x1e 0x97 0x49; + desc = "ATxmega192D3"; + id = "x192d3"; + variants = + "ATxmega192D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 270; + n_interrupts = 114; + signature = 0x1e 0x97 0x49; ; #------------------------------------------------------------ @@ -14259,14 +16807,41 @@ part parent "x192c3" #------------------------------------------------------------ part parent "x192c3" - id = "x192a1"; - desc = "ATxmega192A1"; - signature = 0x1e 0x97 0x4e; - has_jtag = yes; + desc = "ATxmega192A1"; + id = "x192a1"; + variants = + "ATxmega192A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 266; + signature = 0x1e 0x97 0x4e; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -14274,10 +16849,35 @@ part parent "x192c3" # ATxmega192A3 #------------------------------------------------------------ -part parent "x192a1" - id = "x192a3"; - desc = "ATxmega192A3"; - signature = 0x1e 0x97 0x44; +part parent "x192c3" + desc = "ATxmega192A3"; + id = "x192a3"; + variants = + "ATxmega192A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 267; + n_interrupts = 122; + signature = 0x1e 0x97 0x44; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; ; #------------------------------------------------------------ @@ -14285,10 +16885,46 @@ part parent "x192a1" #------------------------------------------------------------ part parent "x192a1" - id = "x192a3u"; - desc = "ATxmega192A3U"; - signature = 0x1e 0x97 0x44; - usbpid = 0x2fe7; + desc = "ATxmega192A3U"; + id = "x192a3u"; + variants = + "ATxmega192A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-ANR: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega192A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 268; + signature = 0x1e 0x97 0x44; + usbpid = 0x2fe7; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14296,51 +16932,61 @@ part parent "x192a1" #------------------------------------------------------------ part parent ".xmega" - id = "x256c3"; - desc = "ATxmega256C3"; - signature = 0x1e 0x98 0x46; - usbpid = 0x2fda; + desc = "ATxmega256C3"; + id = "x256c3"; + variants = + "ATxmega256C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 276; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x46; + usbpid = 0x2fda; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x40000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x83e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x840000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x42000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x42000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x40000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x83e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x840000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14349,9 +16995,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x256c3" - id = "x256d3"; - desc = "ATxmega256D3"; - signature = 0x1e 0x98 0x44; + desc = "ATxmega256D3"; + id = "x256d3"; + variants = + "ATxmega256D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 277; + n_interrupts = 114; + signature = 0x1e 0x98 0x44; ; #------------------------------------------------------------ @@ -14359,14 +17015,40 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256c3" - id = "x256a1"; - desc = "ATxmega256A1"; - signature = 0x1e 0x98 0x46; - has_jtag = yes; + desc = "ATxmega256A1"; + id = "x256a1"; + variants = + "ATxmega256A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 271; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -14375,9 +17057,45 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3"; - desc = "ATxmega256A3"; - signature = 0x1e 0x98 0x42; + desc = "ATxmega256A3"; + id = "x256a3"; + variants = + "ATxmega256A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 272; + n_interrupts = 122; + signature = 0x1e 0x98 0x42; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14385,10 +17103,46 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3u"; - desc = "ATxmega256A3U"; - signature = 0x1e 0x98 0x42; - usbpid = 0x2fec; + desc = "ATxmega256A3U"; + id = "x256a3u"; + variants = + "ATxmega256A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 275; + signature = 0x1e 0x98 0x42; + usbpid = 0x2fec; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14396,9 +17150,44 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3b"; - desc = "ATxmega256A3B"; - signature = 0x1e 0x98 0x43; + desc = "ATxmega256A3B"; + id = "x256a3b"; + variants = + "ATxmega256A3B: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-AU: TQFP64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 273; + n_interrupts = 122; + signature = 0x1e 0x98 0x43; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14406,10 +17195,43 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3bu"; - desc = "ATxmega256A3BU"; - signature = 0x1e 0x98 0x43; - usbpid = 0x2fe2; + desc = "ATxmega256A3BU"; + id = "x256a3bu"; + variants = + "ATxmega256A3BU-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3BU-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 274; + signature = 0x1e 0x98 0x43; + usbpid = 0x2fe2; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14417,51 +17239,61 @@ part parent "x256a1" #------------------------------------------------------------ part parent ".xmega" - id = "x384c3"; - desc = "ATxmega384C3"; - signature = 0x1e 0x98 0x45; - usbpid = 0x2fdb; + desc = "ATxmega384C3"; + id = "x384c3"; + variants = + "ATxmega384C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega384C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 278; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x45; + usbpid = 0x2fdb; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x60000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x85e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x860000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x62000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x62000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x60000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x85e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x860000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14470,60 +17302,87 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x384c3" - id = "x384d3"; - desc = "ATxmega384D3"; - signature = 0x1e 0x98 0x47; + desc = "ATxmega384D3"; + id = "x384d3"; + variants = + "ATxmega384D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 279; + n_interrupts = 114; + signature = 0x1e 0x98 0x47; ; #------------------------------------------------------------ # ATxmega8E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x8e5"; - desc = "ATxmega8E5"; - signature = 0x1e 0x93 0x41; +part parent ".xmega-e" + desc = "ATxmega8E5"; + id = "x8e5"; + variants = + "ATxmega8E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 230; + n_interrupts = 43; + boot_section_size = 2048; + signature = 0x1e 0x93 0x41; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x2000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x800; - offset = 0x00801800; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x800; - offset = 0x00802000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x2800; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x2800; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 8192; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 2048; + page_size = 128; + offset = 0x801800; + readsize = 256; + ; + + memory "boot" + size = 2048; + page_size = 128; + offset = 0x802000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14531,51 +17390,70 @@ part parent ".xmega" # ATxmega16E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x16e5"; - desc = "ATxmega16E5"; - signature = 0x1e 0x94 0x45; +part parent ".xmega-e" + desc = "ATxmega16E5"; + id = "x16e5"; + variants = + "ATxmega16E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-ANR: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 235; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x94 0x45; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00803000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00804000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x5000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14583,51 +17461,70 @@ part parent ".xmega" # ATxmega32E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x32e5"; - desc = "ATxmega32E5"; - signature = 0x1e 0x95 0x4c; +part parent ".xmega-e" + desc = "ATxmega32E5"; + id = "x32e5"; + variants = + "ATxmega32E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 242; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x95 0x4c; memory "eeprom" - size = 0x0400; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00807000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00808000; - page_size = 0x80; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x9000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14636,214 +17533,199 @@ part parent ".xmega" #------------------------------------------------------------ part - id = "uc3a0512"; - desc = "AT32UC3A0512"; - signature = 0xED 0xC0 0x3F; - has_jtag = yes; - is_avr32 = yes; + desc = "AT32UC3A0512"; + id = "uc3a0512"; + variants = + "AT32UC3A0512-ALTR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTTA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUR: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUT: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]"; + prog_modes = PM_AVR32JTAG | PM_aWire; + signature = 0xed 0xc0 0x3f; memory "flash" - paged = yes; - page_size = 512; # bytes - readsize = 512; # bytes - num_pages = 1024; # could be set dynamicly - size = 0x00080000; # could be set dynamicly - offset = 0x80000000; + paged = yes; + size = 0x80000; # could be set dynamicly + page_size = 512; # bytes + num_pages = 1024; # could be set dynamicly + offset = 0x80000000; + readsize = 512; # bytes ; ; +#------------------------------------------------------------ +# deprecated, use 'uc3a0512' +#------------------------------------------------------------ + part parent "uc3a0512" - id = "ucr2"; - desc = "deprecated, use 'uc3a0512'"; + desc = "deprecated, use 'uc3a0512'"; + id = "ucr2"; ; #------------------------------------------------------------ -# ATtiny1634. +# ATtiny1634 #------------------------------------------------------------ part - id = "t1634"; - desc = "ATtiny1634"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x12; - pagel = 0xB3; - bs2 = 0xB1; - reset = io; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny1634"; + id = "t1634"; + variants = + "ATtiny1634: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MN: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MNR: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MUR: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 40; + n_interrupts = 28; + n_page_erase = 4; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb1; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x12; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 32; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; + paged = yes; + size = 0x4000; + page_size = 32; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaaa.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + bitmask = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxi.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 1 1 1 1 i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny1634R +#------------------------------------------------------------ + +part parent "t1634" + desc = "ATtiny1634R"; + id = "t1634r"; + variants = + "ATtiny1634R-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-MUR: WQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 41; ; #------------------------------------------------------------ @@ -14851,33 +17733,37 @@ part #------------------------------------------------------------ part - id = ".reduced_core_tiny"; - desc = "Common values for reduced core tinys"; - has_tpi = yes; - - memory "signature" - size = 3; - offset = 0x3fc0; - page_size = 16; - ; + desc = "Common values for reduced core tinys"; + id = ".reduced_core_tiny"; + prog_modes = PM_TPI; memory "fuse" - size = 1; - offset = 0x3f40; - page_size = 16; - blocksize = 4; - ; - - memory "calibration" - size = 1; - offset = 0x3f80; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x07; + offset = 0x3f40; + blocksize = 4; ; memory "lockbits" - size = 1; - offset = 0x3f00; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x03; + offset = 0x3f00; + ; + + memory "signature" + size = 3; + page_size = 16; + offset = 0x3fc0; + ; + + memory "calibration" + size = 1; + page_size = 16; + offset = 0x3f80; ; ; @@ -14886,15 +17772,21 @@ part #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t4"; - desc = "ATtiny4"; - signature = 0x1e 0x8f 0x0a; + desc = "ATtiny4"; + id = "t4"; + variants = + "ATtiny4-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 0; + n_interrupts = 10; + signature = 0x1e 0x8f 0x0a; memory "flash" - size = 512; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 512; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14903,9 +17795,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t4" - id = "t5"; - desc = "ATtiny5"; - signature = 0x1e 0x8f 0x09; + desc = "ATtiny5"; + id = "t5"; + variants = + "ATtiny5-MAHR: USON8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 1; + n_interrupts = 11; + signature = 0x1e 0x8f 0x09; ; #------------------------------------------------------------ @@ -14913,15 +17811,21 @@ part parent "t4" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t9"; - desc = "ATtiny9"; - signature = 0x1e 0x90 0x08; + desc = "ATtiny9"; + id = "t9"; + variants = + "ATtiny9-MAHR: DFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 2; + n_interrupts = 10; + signature = 0x1e 0x90 0x08; memory "flash" - size = 1024; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14930,9 +17834,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t9" - id = "t10"; - desc = "ATtiny10"; - signature = 0x1e 0x90 0x03; + desc = "ATtiny10"; + id = "t10"; + variants = + "ATtiny10-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 3; + n_interrupts = 11; + signature = 0x1e 0x90 0x03; ; #------------------------------------------------------------ @@ -14940,15 +17850,33 @@ part parent "t9" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t20"; - desc = "ATtiny20"; - signature = 0x1e 0x91 0x0F; + desc = "ATtiny20"; + id = "t20"; + variants = + "ATtiny20-CCU: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-CCUR: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSU: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSUR: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-UUR: WLCSP12, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XU: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XUR: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 4; + n_interrupts = 17; + signature = 0x1e 0x91 0x0f; memory "flash" - size = 2048; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 2048; + page_size = 16; + n_word_writes = 2; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 2; ; ; @@ -14957,15 +17885,102 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t40"; - desc = "ATtiny40"; - signature = 0x1e 0x92 0x0E; + desc = "ATtiny40"; + id = "t40"; + variants = + "ATtiny40-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XU: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XUR: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 5; + n_interrupts = 18; + signature = 0x1e 0x92 0x0e; memory "flash" - size = 4096; - offset = 0x4000; - page_size = 64; - blocksize = 128; + size = 4096; + page_size = 64; + n_word_writes = 4; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 4; + ; +; + +#------------------------------------------------------------ +# ATtiny102 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny102"; + id = "t102"; + variants = + "ATtiny102-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 6; + n_interrupts = 16; + signature = 0x1e 0x90 0x0c; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; + ; +; + +#------------------------------------------------------------ +# ATtiny104 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny104"; + id = "t104"; + variants = + "ATtiny104-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 7; + n_interrupts = 16; + signature = 0x1e 0x90 0x0b; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; ; ; @@ -14974,63 +17989,76 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part - id = "m406"; - desc = "ATMEGA406"; - has_jtag = yes; - signature = 0x1e 0x95 0x07; - + desc = "ATmega406"; + id = "m406"; + variants = + "ATmega406: N/A, Fmax=1 MHz, T=[N/A, N/A], Vcc=[3.3 V, 3.3 V]", + "ATmega406-1AAU: LQFP48, Fmax=1 MHz, T=[-30 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_HVPP | PM_JTAG; + mcuid = 125; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; # STK500 parameters (parallel programming IO lines) - pagel = 0xa7; - bs2 = 0xa0; - serial = no; - parallel = yes; - + pagel = 0xa7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x07; + reset = io; + serial = no; # STK500v2 HV programming parameters, from XML - pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, - 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, - 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, - 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - - # JTAG ICE mkII parameters, also from XML files - allowfullpagebitstream = no; - enablepageprogramming = yes; - idr = 0x51; - rampz = 0x00; - spmcr = 0x57; - eecr = 0x3f; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; memory "eeprom" - paged = no; - size = 512; - page_size = 4; - blocksize = 4; - readsize = 4; - num_pages = 128; + size = 512; + page_size = 4; + num_pages = 128; + blocksize = 4; + readsize = 4; ; memory "flash" - paged = yes; - size = 40960; - page_size = 128; - blocksize = 128; - readsize = 128; - num_pages = 320; - ; - - memory "hfuse" - size = 1; + paged = yes; + size = 0xa000; + page_size = 128; + num_pages = 320; + blocksize = 128; + readsize = 128; ; memory "lfuse" - size = 1; + size = 1; + initval = 0xcd; + ; + + memory "hfuse" + size = 1; + initval = 0xfe; + bitmask = 0x03; ; memory "lockbits" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x3f; ; memory "signature" - size = 3; + size = 3; ; ; @@ -15039,77 +18067,167 @@ part #------------------------------------------------------------ part - id = ".avr8x"; - desc = "AVR8X family common values"; - has_updi = yes; - nvm_base = 0x1000; - ocd_base = 0x0F80; - - memory "signature" - size = 3; - offset = 0x1100; - ; - - memory "prodsig" - size = 0x3D; - offset = 0x1103; - page_size = 0x3D; - readsize = 0x3D; - ; - - memory "fuses" - size = 9; - offset = 0x1280; - ; + desc = "AVR8X family common values"; + id = ".avr8x"; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 256; + nvm_base = 0x1000; + ocd_base = 0x0f80; memory "fuse0" - size = 1; - offset = 0x1280; + size = 1; + initval = 0x00; + offset = 0x1280; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; ; memory "fuse1" - size = 1; - offset = 0x1281; + size = 1; + initval = 0x00; + offset = 0x1281; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; ; memory "fuse2" - size = 1; - offset = 0x1282; + size = 1; + initval = 0x7e; + bitmask = 0x83; + offset = 0x1282; + readsize = 1; ; - memory "fuse4" - size = 1; - offset = 0x1284; + memory "osccfg" + alias "fuse2"; ; memory "fuse5" - size = 1; - offset = 0x1285; + size = 1; + initval = 0xf6; + bitmask = 0xcd; + offset = 0x1285; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; ; memory "fuse6" - size = 1; - offset = 0x1286; + size = 1; + initval = 0xff; + bitmask = 0x07; + offset = 0x1286; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; ; memory "fuse7" - size = 1; - offset = 0x1287; + size = 1; + initval = 0x00; + offset = 0x1287; + readsize = 1; + ; + + memory "append" + alias "fuse7"; + ; + + memory "codesize" + alias "fuse7"; ; memory "fuse8" - size = 1; - offset = 0x1288; + size = 1; + initval = 0x00; + offset = 0x1288; + readsize = 1; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 10; + offset = 0x1280; + readsize = 10; ; memory "lock" - size = 1; - offset = 0x128a; + size = 1; + offset = 0x128a; + readsize = 1; + ; + + memory "tempsense" + size = 2; + offset = 0x1120; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 61; + page_size = 61; + offset = 0x1103; + readsize = 61; + ; + + memory "sernum" + size = 10; + offset = 0x1104; + readsize = 1; + ; + + memory "osccal16" + size = 2; + offset = 0x1118; + readsize = 1; + ; + + memory "osccal20" + size = 2; + offset = 0x111a; + readsize = 1; + ; + + memory "osc16err" + size = 2; + offset = 0x1122; + readsize = 1; + ; + + memory "osc20err" + size = 2; + offset = 0x1124; + readsize = 1; ; memory "data" # SRAM, only used to supply the offset - offset = 0x1000000; + offset = 0x1000000; ; ; @@ -15117,16 +18235,22 @@ part # AVR8X tiny family common values #------------------------------------------------------------ -part parent ".avr8x" - id = ".avr8x_tiny"; - desc = "AVR8X tiny family common values"; - family_id = "tinyAVR"; +part parent ".avr8x" + desc = "AVR8X tiny family common values"; + id = ".avr8x_tiny"; + family_id = "tinyAVR"; + # Shared UPDI pin, HV on UPDI pin + hvupdi_variant = 0; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1300; + readsize = 256; + ; memory "usersig" - size = 0x20; - offset = 0x1300; - page_size = 0x20; - readsize = 0x100; + alias "userrow"; ; ; @@ -15134,16 +18258,26 @@ part parent ".avr8x" # AVR8X mega family common values #------------------------------------------------------------ -part parent ".avr8x" - id = ".avr8x_mega"; - desc = "AVR8X mega family common values"; - family_id = "megaAVR"; +part parent ".avr8x" + desc = "AVR8X mega family common values"; + id = ".avr8x_mega"; + family_id = "megaAVR"; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "userrow" + size = 64; + page_size = 64; + offset = 0x1300; + readsize = 256; + ; memory "usersig" - size = 0x40; - offset = 0x1300; - page_size = 0x40; - readsize = 0x100; + alias "userrow"; ; ; @@ -15151,23 +18285,45 @@ part parent ".avr8x" # ATtiny202 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t202"; - desc = "ATtiny202"; - signature = 0x1E 0x91 0x23; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny202"; + id = "t202"; + variants = + "ATtiny202-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 280; + n_interrupts = 26; + signature = 0x1e 0x91 0x23; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15175,23 +18331,45 @@ part parent ".avr8x_tiny" # ATtiny204 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t204"; - desc = "ATtiny204"; - signature = 0x1E 0x91 0x22; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny204"; + id = "t204"; + variants = + "ATtiny204-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 281; + n_interrupts = 26; + signature = 0x1e 0x91 0x22; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15199,23 +18377,45 @@ part parent ".avr8x_tiny" # ATtiny402 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t402"; - desc = "ATtiny402"; - signature = 0x1E 0x92 0x23; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny402"; + id = "t402"; + variants = + "ATtiny402-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 284; + n_interrupts = 26; + signature = 0x1e 0x92 0x27; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15223,23 +18423,45 @@ part parent ".avr8x_tiny" # ATtiny404 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t404"; - desc = "ATtiny404"; - signature = 0x1E 0x92 0x26; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny404"; + id = "t404"; + variants = + "ATtiny404-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 285; + n_interrupts = 26; + signature = 0x1e 0x92 0x26; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15247,23 +18469,47 @@ part parent ".avr8x_tiny" # ATtiny406 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t406"; - desc = "ATtiny406"; - signature = 0x1E 0x92 0x25; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny406"; + id = "t406"; + variants = + "ATtiny406-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 286; + n_interrupts = 26; + signature = 0x1e 0x92 0x25; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15271,23 +18517,34 @@ part parent ".avr8x_tiny" # ATtiny804 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t804"; - desc = "ATtiny804"; - signature = 0x1E 0x93 0x25; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny804"; + id = "t804"; + variants = + "ATtiny804-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 295; + n_interrupts = 31; + signature = 0x1e 0x93 0x25; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15295,23 +18552,38 @@ part parent ".avr8x_tiny" # ATtiny806 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t806"; - desc = "ATtiny806"; - signature = 0x1E 0x93 0x24; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny806"; + id = "t806"; + variants = + "ATtiny806-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny806-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 296; + n_interrupts = 31; + signature = 0x1e 0x93 0x24; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15319,23 +18591,35 @@ part parent ".avr8x_tiny" # ATtiny807 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t807"; - desc = "ATtiny807"; - signature = 0x1E 0x93 0x23; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny807"; + id = "t807"; + variants = + "ATtiny807-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 297; + n_interrupts = 31; + signature = 0x1e 0x93 0x23; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15343,23 +18627,34 @@ part parent ".avr8x_tiny" # ATtiny1604 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1604"; - desc = "ATtiny1604"; - signature = 0x1E 0x94 0x25; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1604"; + id = "t1604"; + variants = + "ATtiny1604-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 304; + n_interrupts = 31; + signature = 0x1e 0x94 0x25; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15367,23 +18662,38 @@ part parent ".avr8x_tiny" # ATtiny1606 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1606"; - desc = "ATtiny1606"; - signature = 0x1E 0x94 0x24; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1606"; + id = "t1606"; + variants = + "ATtiny1606-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MFR: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 305; + n_interrupts = 31; + signature = 0x1e 0x94 0x24; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15391,23 +18701,35 @@ part parent ".avr8x_tiny" # ATtiny1607 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1607"; - desc = "ATtiny1607"; - signature = 0x1E 0x94 0x23; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1607"; + id = "t1607"; + variants = + "ATtiny1607-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 306; + n_interrupts = 31; + signature = 0x1e 0x94 0x23; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15415,23 +18737,45 @@ part parent ".avr8x_tiny" # ATtiny212 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t212"; - desc = "ATtiny212"; - signature = 0x1E 0x91 0x21; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny212"; + id = "t212"; + variants = + "ATtiny212-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 282; + n_interrupts = 26; + signature = 0x1e 0x91 0x21; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15439,23 +18783,45 @@ part parent ".avr8x_tiny" # ATtiny214 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t214"; - desc = "ATtiny214"; - signature = 0x1E 0x91 0x20; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny214"; + id = "t214"; + variants = + "ATtiny214-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 283; + n_interrupts = 26; + signature = 0x1e 0x91 0x20; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15463,48 +18829,91 @@ part parent ".avr8x_tiny" # ATtiny412 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t412"; - desc = "ATtiny412"; - signature = 0x1E 0x92 0x23; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny412"; + id = "t412"; + variants = + "ATtiny412-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 287; + n_interrupts = 26; + signature = 0x1e 0x92 0x23; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny414 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t414"; - desc = "ATtiny414"; - signature = 0x1E 0x92 0x22; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny414"; + id = "t414"; + variants = + "ATtiny414-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 288; + n_interrupts = 26; + signature = 0x1e 0x92 0x22; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15512,98 +18921,209 @@ part parent ".avr8x_tiny" # ATtiny416 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t416"; - desc = "ATtiny416"; - signature = 0x1E 0x92 0x21; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny416"; + id = "t416"; + variants = + "ATtiny416-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 289; + n_interrupts = 26; + signature = 0x1e 0x92 0x21; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; +#------------------------------------------------------------ +# ATtiny416auto +#------------------------------------------------------------ + +part parent "t416" + desc = "ATtiny416auto"; + id = "t416auto"; + variants = + "ATtiny416-MBT: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny416-MZT: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 290; + signature = 0x1e 0x92 0x28; + + memory "fuse2" + initval = 0x7d; + ; +; #------------------------------------------------------------ # ATtiny417 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t417"; - desc = "ATtiny417"; - signature = 0x1E 0x92 0x20; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny417"; + id = "t417"; + variants = + "ATtiny417-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MFR: QFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 291; + n_interrupts = 26; + signature = 0x1e 0x92 0x20; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny814 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t814"; - desc = "ATtiny814"; - signature = 0x1E 0x93 0x22; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny814"; + id = "t814"; + variants = + "ATtiny814-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNRES: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 298; + n_interrupts = 26; + signature = 0x1e 0x93 0x22; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny816 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t816"; - desc = "ATtiny816"; - signature = 0x1E 0x93 0x21; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny816"; + id = "t816"; + variants = + "ATtiny816-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNRES: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 299; + n_interrupts = 26; + signature = 0x1e 0x93 0x21; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15611,23 +19131,46 @@ part parent ".avr8x_tiny" # ATtiny817 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t817"; - desc = "ATtiny817"; - signature = 0x1E 0x93 0x20; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny817"; + id = "t817"; + variants = + "ATtiny817-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNRES: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 300; + n_interrupts = 26; + signature = 0x1e 0x93 0x20; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15635,23 +19178,45 @@ part parent ".avr8x_tiny" # ATtiny1614 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1614"; - desc = "ATtiny1614"; - signature = 0x1E 0x94 0x22; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1614"; + id = "t1614"; + variants = + "ATtiny1614-SSF: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSFR: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 307; + n_interrupts = 31; + signature = 0x1e 0x94 0x22; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15659,23 +19224,47 @@ part parent ".avr8x_tiny" # ATtiny1616 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1616"; - desc = "ATtiny1616"; - signature = 0x1E 0x94 0x21; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1616"; + id = "t1616"; + variants = + "ATtiny1616-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SFR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 308; + n_interrupts = 31; + signature = 0x1e 0x94 0x21; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15683,47 +19272,45 @@ part parent ".avr8x_tiny" # ATtiny1617 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1617"; - desc = "ATtiny1617"; - signature = 0x1E 0x94 0x20; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1617"; + id = "t1617"; + variants = + "ATtiny1617-MF: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MN: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1617-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 309; + n_interrupts = 31; + signature = 0x1e 0x94 0x20; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; ; -; - -#------------------------------------------------------------ -# ATtiny3214 -#------------------------------------------------------------ - -part parent ".avr8x_tiny" - id = "t3214"; - desc = "ATtiny3214"; - signature = 0x1E 0x95 0x20; memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; ; - memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15731,23 +19318,50 @@ part parent ".avr8x_tiny" # ATtiny3216 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t3216"; - desc = "ATtiny3216"; - signature = 0x1E 0x95 0x21; - - memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny3216"; + id = "t3216"; + variants = + "ATtiny3216-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 314; + n_interrupts = 31; + signature = 0x1e 0x95 0x21; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; + + memory "userrow" + size = 64; + page_size = 64; ; ; @@ -15755,23 +19369,723 @@ part parent ".avr8x_tiny" # ATtiny3217 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t3217"; - desc = "ATtiny3217"; - signature = 0x1E 0x95 0x22; +part parent "t3216" + desc = "ATtiny3217"; + id = "t3217"; + variants = + "ATtiny3217-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 315; + signature = 0x1e 0x95 0x22; +; - memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; - ; +#------------------------------------------------------------ +# ATtiny424 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny424"; + id = "t424"; + variants = + "ATtiny424: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 292; + n_interrupts = 30; + signature = 0x1e 0x92 0x2c; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny426 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny426"; + id = "t426"; + variants = + "ATtiny426: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 293; + n_interrupts = 30; + signature = 0x1e 0x92 0x2b; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny427 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny427"; + id = "t427"; + variants = + "ATtiny427: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 294; + n_interrupts = 30; + signature = 0x1e 0x92 0x2a; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny824 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny824"; + id = "t824"; + variants = + "ATtiny824: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 301; + n_interrupts = 30; + signature = 0x1e 0x93 0x29; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny826 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny826"; + id = "t826"; + variants = + "ATtiny826: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 302; + n_interrupts = 30; + signature = 0x1e 0x93 0x28; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny827 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny827"; + id = "t827"; + variants = + "ATtiny827: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 303; + n_interrupts = 30; + signature = 0x1e 0x93 0x27; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1624 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1624"; + id = "t1624"; + variants = + "ATtiny1624: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 310; + n_interrupts = 30; + signature = 0x1e 0x94 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1626 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1626"; + id = "t1626"; + variants = + "ATtiny1626: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MF: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XF: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XU: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 311; + n_interrupts = 30; + signature = 0x1e 0x94 0x29; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1627 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1627"; + id = "t1627"; + variants = + "ATtiny1627: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MF: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 312; + n_interrupts = 30; + signature = 0x1e 0x94 0x28; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3224 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3224"; + id = "t3224"; + variants = + "ATtiny3224: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 316; + n_interrupts = 30; + signature = 0x1e 0x95 0x28; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3226 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3226"; + id = "t3226"; + variants = + "ATtiny3226: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 317; + n_interrupts = 30; + signature = 0x1e 0x95 0x27; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3227 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3227"; + id = "t3227"; + variants = + "ATtiny3227: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 318; + n_interrupts = 30; + signature = 0x1e 0x95 0x26; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega808 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega808"; + id = "m808"; + variants = + "ATmega808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AFR: TQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MFR: QFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XUR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 319; + n_interrupts = 36; + signature = 0x1e 0x93 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega809 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega809"; + id = "m809"; + variants = + "ATmega809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MFR: QFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 320; + n_interrupts = 40; + signature = 0x1e 0x93 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1608 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1608"; + id = "m1608"; + variants = + "ATmega1608-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 321; + n_interrupts = 36; + signature = 0x1e 0x94 0x27; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1609 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1609"; + id = "m1609"; + variants = + "ATmega1609-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 322; + n_interrupts = 40; + signature = 0x1e 0x94 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15779,23 +20093,42 @@ part parent ".avr8x_tiny" # ATmega3208 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m3208"; - desc = "ATmega3208"; - signature = 0x1E 0x95 0x52; - - memory "flash" - size = 0x8000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega3208"; + id = "m3208"; + variants = + "ATmega3208-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XFR: SSOP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 323; + n_interrupts = 36; + signature = 0x1e 0x95 0x30; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15803,23 +20136,38 @@ part parent ".avr8x_mega" # ATmega3209 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m3209"; - desc = "ATmega3209"; - signature = 0x1E 0x95 0x53; - - memory "flash" - size = 0x8000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega3209"; + id = "m3209"; + variants = + "ATmega3209-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 324; + n_interrupts = 40; + signature = 0x1e 0x95 0x31; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15827,23 +20175,42 @@ part parent ".avr8x_mega" # ATmega4808 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m4808"; - desc = "ATmega4808"; - signature = 0x1E 0x96 0x50; - - memory "flash" - size = 0xC000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega4808"; + id = "m4808"; + variants = + "ATmega4808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 325; + n_interrupts = 36; + signature = 0x1e 0x96 0x50; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15851,22 +20218,2124 @@ part parent ".avr8x_mega" # ATmega4809 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m4809"; - desc = "ATmega4809"; - signature = 0x1E 0x96 0x51; - - memory "flash" - size = 0xC000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega4809"; + id = "m4809"; + variants = + "ATmega4809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-PF: PDIP40, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 326; + n_interrupts = 40; + signature = 0x1e 0x96 0x51; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# AVR-Dx family common values +#------------------------------------------------------------ + +part + desc = "AVR-Dx family common values"; + id = ".avrdx"; + family_id = "AVR "; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 512; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + nvm_base = 0x1000; + ocd_base = 0x0f80; + + memory "fuse0" + size = 1; + initval = 0x00; + offset = 0x1050; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; + ; + + memory "fuse1" + size = 1; + initval = 0x00; + offset = 0x1051; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; + ; + + memory "fuse2" + size = 1; + initval = 0x00; + bitmask = 0x07; + offset = 0x1052; + readsize = 1; + ; + + memory "osccfg" + alias "fuse2"; + ; + + memory "fuse5" + size = 1; + initval = 0xc0; + bitmask = 0xed; + offset = 0x1055; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; + ; + + memory "fuse6" + size = 1; + initval = 0x08; + bitmask = 0x1f; + offset = 0x1056; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; + ; + + memory "fuse7" + size = 1; + initval = 0x00; + offset = 0x1057; + readsize = 1; + ; + + memory "codesize" + alias "fuse7"; + ; + + memory "append" + alias "fuse7"; + ; + + memory "fuse8" + size = 1; + initval = 0x00; + offset = 0x1058; + readsize = 1; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 16; + offset = 0x1050; + readsize = 16; + ; + + memory "lock" + size = 4; + offset = 0x1040; + readsize = 4; + ; + + memory "tempsense" + size = 2; + offset = 0x1104; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 125; + page_size = 125; + offset = 0x1103; + readsize = 125; + ; + + memory "sernum" + size = 16; + offset = 0x1110; + readsize = 1; + ; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1080; + readsize = 32; + ; + + memory "usersig" + alias "userrow"; + ; + + memory "data" + # SRAM, only used to supply the offset + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR32DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA28"; + id = "avr32da28"; + variants = + "AVR32DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 338; + n_interrupts = 41; + signature = 0x1e 0x95 0x34; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA32"; + id = "avr32da32"; + variants = + "AVR32DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 342; + n_interrupts = 44; + signature = 0x1e 0x95 0x33; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA48"; + id = "avr32da48"; + variants = + "AVR32DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 346; + n_interrupts = 58; + signature = 0x1e 0x95 0x32; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA28"; + id = "avr64da28"; + variants = + "AVR64DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SP: SPDIP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "AVR64DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 351; + n_interrupts = 41; + signature = 0x1e 0x96 0x15; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA32"; + id = "avr64da32"; + variants = + "AVR64DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 355; + n_interrupts = 44; + signature = 0x1e 0x96 0x14; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA48"; + id = "avr64da48"; + variants = + "AVR64DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 359; + n_interrupts = 58; + signature = 0x1e 0x96 0x13; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA64"; + id = "avr64da64"; + variants = + "AVR64DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 362; + n_interrupts = 64; + signature = 0x1e 0x96 0x12; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA28"; + id = "avr128da28"; + variants = + "AVR128DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 364; + n_interrupts = 41; + signature = 0x1e 0x97 0x0a; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA32"; + id = "avr128da32"; + variants = + "AVR128DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 366; + n_interrupts = 44; + signature = 0x1e 0x97 0x09; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA48"; + id = "avr128da48"; + variants = + "AVR128DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 368; + n_interrupts = 58; + signature = 0x1e 0x97 0x08; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA64"; + id = "avr128da64"; + variants = + "AVR128DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 370; + n_interrupts = 64; + signature = 0x1e 0x97 0x07; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB28"; + id = "avr32db28"; + variants = + "AVR32DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 339; + n_interrupts = 42; + signature = 0x1e 0x95 0x37; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB32"; + id = "avr32db32"; + variants = + "AVR32DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 343; + n_interrupts = 44; + signature = 0x1e 0x95 0x36; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB48"; + id = "avr32db48"; + variants = + "AVR32DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 347; + n_interrupts = 61; + signature = 0x1e 0x95 0x35; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB28"; + id = "avr64db28"; + variants = + "AVR64DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 352; + n_interrupts = 42; + signature = 0x1e 0x96 0x19; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB32"; + id = "avr64db32"; + variants = + "AVR64DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 356; + n_interrupts = 44; + signature = 0x1e 0x96 0x18; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB48"; + id = "avr64db48"; + variants = + "AVR64DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 360; + n_interrupts = 61; + signature = 0x1e 0x96 0x17; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB64"; + id = "avr64db64"; + variants = + "AVR64DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 363; + n_interrupts = 65; + signature = 0x1e 0x96 0x16; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB28"; + id = "avr128db28"; + variants = + "AVR128DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 365; + n_interrupts = 42; + signature = 0x1e 0x97 0x0e; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB32"; + id = "avr128db32"; + variants = + "AVR128DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 367; + n_interrupts = 44; + signature = 0x1e 0x97 0x0d; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB48"; + id = "avr128db48"; + variants = + "AVR128DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 369; + n_interrupts = 61; + signature = 0x1e 0x97 0x0c; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB64"; + id = "avr128db64"; + variants = + "AVR128DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 371; + n_interrupts = 65; + signature = 0x1e 0x97 0x0b; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD14"; + id = "avr16dd14"; + variants = + "AVR16DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 329; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x34; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD20"; + id = "avr16dd20"; + variants = + "AVR16DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 330; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x33; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD28"; + id = "avr16dd28"; + variants = + "AVR16DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 331; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x32; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD32"; + id = "avr16dd32"; + variants = + "AVR16DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 333; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x31; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD14"; + id = "avr32dd14"; + variants = + "AVR32DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 336; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD20"; + id = "avr32dd20"; + variants = + "AVR32DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 337; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD28"; + id = "avr32dd28"; + variants = + "AVR32DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 340; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x39; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD32"; + id = "avr32dd32"; + variants = + "AVR32DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 344; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x38; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD14"; + id = "avr64dd14"; + variants = + "AVR64DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 349; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1d; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD20"; + id = "avr64dd20"; + variants = + "AVR64DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 350; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1c; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD28"; + id = "avr64dd28"; + variants = + "AVR64DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/STX: VQFN28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 353; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD32"; + id = "avr64dd32"; + variants = + "AVR64DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 357; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR-Ex family common values +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR-Ex family common values"; + id = ".avrex"; + # Shared UPDI pin, HV on _RESET + hvupdi_variant = 2; + + memory "fuse2" + bitmask = 0x08; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "fuse6" + initval = 0x07; + bitmask = 0x07; + ; + + memory "userrow" + size = 64; + page_size = 64; + readsize = 64; + ; +; + +#------------------------------------------------------------ +# AVR8EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA28"; + id = "avr8ea28"; + mcuid = 327; + signature = 0x1e 0x93 0x2c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR8EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA32"; + id = "avr8ea32"; + mcuid = 328; + signature = 0x1e 0x93 0x2b; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR16EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA28"; + id = "avr16ea28"; + variants = + "AVR16EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 332; + signature = 0x1e 0x94 0x37; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA32"; + id = "avr16ea32"; + variants = + "AVR16EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 334; + signature = 0x1e 0x94 0x36; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA48"; + id = "avr16ea48"; + variants = + "AVR16EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 335; + signature = 0x1e 0x94 0x35; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA28"; + id = "avr32ea28"; + variants = + "AVR32EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 341; + signature = 0x1e 0x95 0x3e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA32"; + id = "avr32ea32"; + variants = + "AVR32EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 345; + signature = 0x1e 0x95 0x3d; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA48"; + id = "avr32ea48"; + variants = + "AVR32EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 348; + signature = 0x1e 0x95 0x3c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA28"; + id = "avr64ea28"; + variants = + "AVR64EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SP: SPDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SS: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 354; + n_interrupts = 37; + signature = 0x1e 0x96 0x20; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA32"; + id = "avr64ea32"; + variants = + "AVR64EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/PT: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/RXB: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 358; + n_interrupts = 37; + signature = 0x1e 0x96 0x1f; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA48"; + id = "avr64ea48"; + variants = + "AVR64EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/6LX: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/PT: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 361; + n_interrupts = 45; + signature = 0x1e 0x96 0x1e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# Logic Green parts +#------------------------------------------------------------ + +part parent "m88" + desc = "LGT8F88P"; + id = "lgt8f88p"; + mcuid = 227; + signature = 0x1e 0x93 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F168P +#------------------------------------------------------------ + +part parent "m168" + desc = "LGT8F168P"; + id = "lgt8f168p"; + mcuid = 228; + signature = 0x1e 0x94 0x0b; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F328P +#------------------------------------------------------------ + +part parent "m328" + desc = "LGT8F328P"; + id = "lgt8f328p"; + mcuid = 229; + signature = 0x1e 0x95 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; ; ; diff --git a/bin/avrdude-armhf/avrdude b/bin/avrdude-armhf/avrdude index 00ee573167e92c9ec3321b0119ac8d2edd1f45fc..ec78c804d761e4264d53f6ef4b96c22fe0b29923 100755 GIT binary patch literal 3313452 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\lXOVI(Dw>{0A%0Z?d-{LD<6X4ZeDGl3@&~kA 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 z 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�XdNp^EsSWug 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�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%0A?7zMuZo9%Q%n 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%0A&+NS2j#f6r{g%2@L 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

    C6ySZA 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

    ^jooYKnG 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 z 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�b0v$Y`DEjiTc~9EG0EbIYLnCN zV1H9dB1%39L#Ppbo0OkeVLgwgaN$PW-YB1%Ei@&7`? zpQNdNd{Vg^DwjyxO3M8_X`UrGxff_;Gb-OEvIEi?@Mu(?7CNIEN%}ar?^s-X)AYo? zAw$tTNwDvo#>ia>k4Ezk^XW92*MZY$e!Pgw?Ey-O&~@6Yca*3 zh2S*)?bx?NUfn&vqaA2qPbgbN$%a*I#}u?fh1~KsSbHF9*euPwA5hHS6EuECnDH~< zx7;K^7-r_;5oLO?&Ig`D7-7zcjWpX^=K`NWFyrhK#KyfF7-yp@nX8^gubV)bnv#Z^ z#d3{MUWGDh0uibHt5O!Xm1lG8bhryQ*|Z^ zXr>gMs)w;ZH(@qurkY)uxrv+}mQ&4^$-IP_|E8LaqIrq_dhkv)8!ht^+@a9BwQFwD=vdU$J zwuUF|u=sdWmM?B$L6Eb;@sVyvEZwvr_lQCu%h})oi{0Gj1L%Q_ar%KjY?! zGSzIn|1)kLB~#75`#Ovd~hVwxnUFY9pp?2Ano`4u@Icf z`}xuIZ#n}P+C)~|O02jub-+%+4-H}Q`zel2K<{nyAK^F3vI-scFmnVA7jO^f5 z*uiJ%nBF8pFK4DM4Oj3N2URmCO$1Ny7sdO|)WHk|zbsK@ymk1_lH&ob-S-g2y6nEY znHUxXj`O!+|99=a-Y*l3oaT|2QZcbG=tl#vRkM?vy4LG-*G_R zm&Or)WPm8v0bFDcR*iq2J-C}G_&IV-^s6~f{IQknrXAVSNS@8xebCisl<;{I@nEKK zYa;INOd@Vf#NUSjmb{6$AL!3C5&uj~J<+^uMfFX@t+}|oNBC`07;|xXc~XPHDW60) zDNpvki#Q%)Plj%7#>s`1_lQ|G#urr3Z*Cvpr)MlJ4wHYT%ZN|w`n{hI-8UGlWvKc40$Cpc>Y{tn_n{l#e zGfv)C^%Z!G%{Y1cP_=c%g|uPv&OpjY%DwTM3sOpL#>t}1IC*!~lalfTJvq6mvS%3PSjd#?8`Yj=z10n!^5ri8lp7#)f->lp4}+gYBwruKz+8E4Y78i2 zV6H4NFjrnzrJ`4#${N4&M$6+c!YWG)%$2tro|dooj2VL%qmPs@N@g#lR*&Z@B!bQ9$J`=Y`x2vA(QFI z)_W09WjeC;J`Plqj%>Zx0oA4>Td!zs>B!bA+Jtmu>lJN5IB!c50#df5BU|q#psnf1*86=5dqX<1^(x)AbT?aXI5a>&-^CUMb$&-^CUNO&hvwu^**m?!dce9bLS0J|D-UVB41-qQ-$kw}ptyHIPWa|xp{PZ6r z2wU%|Kw&zv^{VeA(~+%LP(?bj^$JR*BU|q>GN?>PwqE65lkR5gO-HugEsWHLbY$y2 zgZ$c@-m>)?^RDEiBlE6m(@A$T@7gRd?<$MhzL9xXYB#34n|J#a&AU~YcdtTntugP` z8uM}OW?=_$w&ta!*?csE|UX9^++Oq-I^}Plerw>lK zJlFRc+*1nr<-?Vt$p8t*xQq8n-Nk!#m70-^UD4}iSM(aZSx~H9(QB^MRAuanUN^g< z*Xo@F#n=`7{#iXHja|_nY~!*k`V%vH=o!1BKd+A-$_2aP`x2YCD=J>FD+-WZQQh^^ zc14Xm90=1!1-qh91-qgdMUh?cTL}1+yLgS`|2=o{n(gyi6y3$k)cQH@;-x{+UA&;8 zyLdgJKhItKyVO8KI8P zZvra1c>g(2(Z&1oKt&ht{{Skwc(1Hf%lBGGBVleG0917G-U(E6@xC0W=;Hk%prVWS zn}CWg-X8@jx_EyTsOaKdP-i+ax9$Zhx_D1xTq?SFmu5v5@8h5qUA!*>D!O<-6{zUq z{hL5V7w^ii=;B>a(Z#!)AZAc$42y?5TOVW|KRS@P@^^d{F(dugJdd)7(I42UXQ*%d%bBP-+wYovp zKdhNwFP-pjjL44`$cjPvG5-?2`hCK`op@8ie~y1f)}M)3StjOLSz3rB{8u6-HA=nc zAYI~h>M;=_P27l5$EjC$x9;0jHuwieWc4IV)|#Xn&&-JDg6=#55uv9V^${_BS4>7* z#h^%D!v97@f3!eXl|s2aqNwR@N+p5v$TAosJr^qUrI`mL!=GP)w--yx)a zK(3=968=p9b?Uhh`Z3~0adlwZ@J9A1WuPAtJqM{^Zq+ya%71_wu5%9VOXk!0-AA&Qg`K4A3!%x`1{gd`^$FR(CU#=H@`0p?y z5=I*DS1-4zlRXH$gV6ki<)=FCt5v^;?>*pm2rV}#*Vj@{Q3&@f*ZDWN)^7{yW>(mmQNsVaqw)mcwsH7WvKs>Er$3Sl-w2LzNJ$Nn!dkbVr;BA_n za60yMrJSowk@!k#B)LrbGubwPbw8B20dB0FDjgq#=XgXdlQ>Z(H^Flw*uR&Eo4g{A z>`9s^kI5VJ$i@<6$4-!ijB{i>If;I%-D50UX$_y|jMeRGr|X|Di^b$xnD2o3f;{tT zHHR2z578&&h28YI!rtxq&7X=?E@8Gh|~pyDJS6W{(t&v{|fh?W{8c49QP_2Mw54t z{ZA>#8 zt<`lp7e;EYE2<5lptrV}O`A)k(VN5YZxElVLuu|ciCd3IIZKSr3p0_<*9?}zCgy47n0&%Wc&d9j90hS>0A}5u;nvUm^yD3xot?iw;11_CZ}Vv z6j6I;?uLPir{3Xf6~eR+5$RrB{#UqSn^rbs#r#^?F;rbE#Abr20~u}O-eXe5C%ZCi zQu9Dj*Nk^Mllt%Q&(I^`>!sLKh(wqQ!3=l;@u@n}=$@0ErqWN)=9o-;@)&L;Qi z1r^ujRXkoQo@Z42BE%CS6>V*8mx^~HvJWbL^l24efe<|yn5%3LpQ>Yt+&A7)EPJ@gue3)M%%iey`5!oz9WamU@XZud8*e^ORo8`FdoC$ny ztI(@GIp;ZqC{z!u*e^Oc+mDm8`$Z>b`*Cu1&MS+!>5-5gncT0}I#Lq)EOnD}o&u?m z9+KRz<|LM1gg(dPw$?iZ9SMC-ax3SoZ|8l7P`gjk8CXMIIQP?ld4u7+#nxb0yENrY z$J#Qr?Y}n|dIS4ty&a3iuj1L_jbvTw4Xzyyim&-kIB69IwgA+Sv=**>W_u6NXBY{+ zYx-*5^(q^M^*gM+OM8Uu;H3!u!RmL!*Alp;13ubA<3ZFY1?^7meo)gE9st zn)>Pe$r=OGPG91mHU=h+$^2DfbY3+0)OpcIAe6n&6D{QLI1(EJU|5#?1_Y=4A^J&J zUUfBb41klNTWevD9^vMQxku^Y(jLj)HyLJYC@fo8snd$aP*}FOQE`=AX^o+<>1 zG8C3=k1vtHYsQmBsiCl}XecbZt?C?jjG?fs3kmzF&cNP6B-SawTT&r3l{N;xSBwT8m7hbo1)hQhL42C#<0vQk4~S*fA0 z>`}v(HxxFL+)M%Z8dYbT9KoKB_73T>6u3fWz4Bq9cq?SqD<2*l2e0G#45;!Eo)Q@| zV|ip|ET7in`{KTYp;$hn*0iCKGBY%IBPBYTs(kN(+vt%uGnUWx&H$BcDc`@xM+Hf9 z`ln*n#kHwUP{wjtQDQl)C^?#1aiist<*=f}a#&GvG_|6ewH&6f9ExTwhbb(Ff~@5*h2>CE ztmQC;LPEQc3Tq7uvD zmja3uSq^*g;`@1)!|Bk9mcx3UYemc9Of66fmc#Rbik8EpfQptw(TbKs(TbKs(TbMC z2gt8zITUBna=0C+XgO56qUBJWMa$tSNGVzluLAl!%c0VJp5<^gw4&uuoJGswi9kim zp=kfLH#KhJXbJw|HLa`-PeOD%_zQ?MMWHb2jDs4R+>L#h40upFka z9DWzc|GSpM6qdszo#y`|%V7%3p~l&NV>wJ=IXnp7gnu}{bu0L(H$NK0^<(uQPWYO> zjO8$ebElBKJ z;ms18xArMsu=WX%wNG8_)7CzXmV~cKv|#NMs$lIiJwLMc9b6QU@HNx^ht=)}tXn_F zY9~oWtDT^t)oz8>MCop)2-DFiLVaOUwAu+OTI~cCt#%qTMXQ|#+kaT?3a1F)LeYX* zYmjx*Moy)_MY{Xx922P|>Va#;$hJtkn!uG;19QR5WXy z08}(w-xYY8fvwXO#$nzeQU70p`GtZ3HS1FdM*`ZrL~tffzy62`ZYk_9I=S+(X1t?Xx2InsA$&G!MdVZOPocsmij@_tR<*u))G`SYYD=v zrT$@#cB!rFHH;WqmBj1R+!10Ral@rnH^};*Xj;;^}y`L^IpU=q&ts5WodpZ0ZcyoiOFcI7<9=?_@g8G2?hFb5TG0yQPlJ{rIJ87 zIijdb7Af_4@4Ym=y6JC8T~p#!Yh{2vDb<8=++!G_uXfP<1ui5~GxX zen@&2JO#6s<|$*=sv42fD~B;_RgE-pV|VI>-RT)pBz%#L-KiILC!vhpsk+golijJh z#O_pGVt1;xcBg&c9mA`{f|T^wyDa4_=fAr}X1~T+yv(_WHHwm8lbxmJz*Q$Kcih8` zY3Kw~?JwITC@BV-rX{;vA5RpdLyXDZ-%nu>2hC5Xh*m0~p#6<>E;QFGJ8_ zNpsOIzRN(pWl*}vR*b7f7CY^r2YtfVGJu1VsMVqy(cGa4?JQLSyIYPRtu6D=fhzM^ zXmL8BagwTeL~p%V$2P5Kl?CmK@W#F2yE&23hJZf-K4DeV&iSC(;9T~y_7rfa!=Cb> zB@j{&{+=gTJ(XkylzvcB`4R}X1)K`GkHKM=!V~b$Jgz;$<(xsUd zge}zbBUFRbHgDQ&)T_9;!e#DP0gcLE=B~IY<#rJp}2y2A&ae}SH+YbB{ z7Yq}6HTYF+tyGpmO^w@YbaZuI#mmXj(T-#9X%%hTxLQu3=J#H*?KiBr6ly*K=tEM4 znleAxwxpRuiG-RTL%E~@4@iWXKYK~%h7DSTJ$5p`_GCf0%x)C!=%ASV-N97~|Lu)( z!GCTP2LHKH7<|@7q4&>WyrEAScqUnT?;K0~o7r)SFFBI<=Dwp8*9tYbJiCK9OT3){ zm8!URX)E||_oFCIA`GrfzC|R+cJX85EO9g{|4Qf~LEI+xTdF3wvabfIIl&NI(^sO( zeD81U*#>vjnao$P-5=a*<2QeS_ye^PWKKB*C8r#MM+PW$xqpbpslD|suDIF23`;gJ zL%V?)|DuT6#SBY!F?*C8Z|G5SyrHbA->vW`%?)^s&ZERDbOT;bB8buPhO%QaTP0FE zn&oy!Q(j`&hxO0osZs7P28hcF>>WjoCTH~8s-!*Hq)M)+9t}SA+!VB_=n>}FV+(#W zi#*Dc+DLT*9eSup_MQU3Z7yZdQ|6+))WXVx#jHaQsl|BRs`>`l)No z$%4uRwVJYfnU%UIFLhm?g-VoqlBpn*S{=R&6zI@HD!-Q*RG?KVzn2*_jseK;WdXB=>Xz^k zpeiZlR7q$U{AL=|hbo1y3|^TEu*(3MpzmaW{9b18BLVrn%-}wRr5-hGO-`sD{R@&u zU0a79dfMH{o|&H0dL)^!E43Thb4IOBU{q=kvFFUt;I)U?b5>Hl*9p~QYvDGM^1G2e zXM4J$u4hZn{d*i%kTkcSDXx(;FEn@~DZd+OBz+;0l;4f)Ip1pnWoYL|w0aAFGlHv~ z)U{18RknrqfeS9e%ut!%tqdyK0HWQ>a$kvhi7T9o;?G4Q^1GE)*QOo^Wp*p8N_H!& zuB%dM%{hmv8!eA^E2~O&E30ldJm#E3RkU0ALsZFM=d(BQwKy+WHA9$7()%GbJcgY`XUS_L()1%=Tl0Fs8(DX{OZ*lr` zzp3vQ<zU^d`S751|s9?pD{#cEles!SqxRqZo-G|zXrw>JLBE1-$g7ks#gy|1S z+#~%M@v`(Y@RX;AF>NH%GpW;-^iH&Fbu#8ChwcL0gYc}5a_BC=qp4jddkXBj3s8`o ztw6Ny0@OSf%jzhH?gA9e&qj9v3W{fSltXs`3QA<7y8s0RSsmrjU4W7jW_6T9cL542 z%SLwr3QA_9y8x9gl|7rH>MlS*J+skWfPyNsI?AED00mXqoBDKZ-}{uPU-2l%b0I~F zHe`)wjcm809NFk7$0e)>!)$bv&*kZ8kc}AJ=d z?`w$36wY->Xf`_6p{jMV-OhE`{5aR4{A&A0=Q>n|#%%X<9es-DI(&9#GpwNgt84rE z6wh_&+P?FY&YbJ0GuQUjnQQy%%(Z=WiQ#m_I&*Dbow>HJ&RpA9XRht5GuQUjnQQy% z%(Z=WzZuESM_vBfzCPWr?Yl!6{jaa>>$9F!Kz<(N+CFWw|8HE|*Js7Sh16Wz*S}m9 zqBoe&xVA4-xVG;w*s|s{c64oDw%fIR+34Cn=^r|Mqig$)AzitD0>AaE_-W7&h%@<@ z`IslaxwdaI!!z5UDU@sb1UT8~+CFtQKWh$%N7wdcyItFtHD|x0Yx}GkT-zr#l2+m9 z+CHmrbZuWYy0%Xx%VeW#`!x7!v(dGEGti|W`}h=e@U7R-#_Y_cKwR6mKeQ%_q7hc^ zGaoyl>QYmwxdg`P)BV~$&7=P>*Y@>|uI;-L-g5t1e(Ue#r@{P4a)TDIko0)!8(rJ? zgyDWl+?wbbj)SFPfqqmPr*Cv^-v@^8&*IZ0YxyjTj_UaN4flQWUF*6aH4?V;O`Yl- zkJIO3PM_{q`Yjgyzq`^e6&>B#LYjR`j_w4dM|Xm5M|V;;sphNeD)rO}^l3+Rx8pk1 z4W6W>eh9^{Zm!hhD7cg~)!mNkRJVGMLNOco@%~vY@XQ8&e6Wpc13x}7qve{}z>m-C zqvd2O+Q6U6v=Zbu@D+E0bICAvc|QR@t)W@y(;N7jUCVtvbPF5!LKQaf%}g0>;J<@< zc>(3Vp3He5^AvS&t^u6clR=@5Shxnz&VgJ5C`o=cx&}~C(hLe+1E^P(nrycX{A{#= zzn0F?kd2Pr2x`nm$8H2Q*?E;~05z`;xAQUA0BSyN$wt=zs{hR9n$6j$7CR#rep!lY z;S@X5E>4X}v4!j!EA}-D*)>+|5(`y1 znZ9#bTgJW-3-!&vE&WDI%$I(Xh1~4Ym>!5Kc=oO&GY;*_XKY*ID(H)HSHR_k|9snnI zFir<*!GjJ^z2k#QFI66GeEPm z(H)G^?0{_NENI-p_-APIv(X)lHNCZn^)*X!2jfVfh1uv1#<@UCve6xk%C9TysUvU) zqoC#4=nh6f$7hEvg~lC>N0DwtHoAlH44{?S=nh6ftFqA@j28o~$wqfD{s3rg_L2EW z;SNS|uFFPuFsdJ{&+f~-qC-J~He`<%#GxQTmt>*al{RmTHPQU^zdlVRt^07M`UfxTC!qL*7L92*SIP7Pb5CD+~3GQBTM^(mf6HM zSXo*smiyn1m`ryO9pp~_)vL!eh9*5*r2k(|9V7LPqJh!IJ)s@_tj`K zsXLEAMD&E8`iPj05|hzZF({H(?$3$n=M?CwQYa@z6g9m~sU%R=M-+9*BBdcuz9u58 zk6N-8Atcmc1*5TgsHK>>-mGTw+5RfxQNOi3rR0BztfHwSTXMe2`hqaR)u}B-d{K?I zfvs1+HMNN{heZ6R3aKBE-_g9|F9)bs&yCRM5;wBdfo;PZ*`r8g4ZL&?NCoSO<|%Io zdz3Z3%@>;9xTVB1@~`c9=PTaNe3O~_OsxHrRQ5NJ8>%``yB{-bwzEYXK5xQT4Nh2{&sO05IDMU|>tC*`5{ zaBp6CH(Y@h*xrHWRzxSz+S{9N0N08=$QWS!Kx=gGV4FvvC9`*kt%l$`?67(Z3|nPj z^g7f4H9^%8P!2Odrb=a~4SFl(5eC%|Jar7f5+k!Q=z~(;kw#`y@NK0$s$L2XcS2Rk z<3#OJJ9QO%)}gmFd|&GKRIMyCGMr$Gq#t9{_np*P2uXTh2=~drcN$gc*-Q1D;K$1W z?4^3XZPOD?#-TIlrz8qpZ*{1{0k%<3&r3H|u*Lv>U>fcW({Q1ay4&=Gwc({o^b1wu z+4)3QD&KQ#qJ58Dd8*@`TPZFc$Qr?0h}vRRpQh&8TC3&ZV7n^s-RuS!QJNlP5#_i| zr=hhIYkH7EI)2k{V8>g`2ULbr+0>F{vG2Tvd{ovqkR8Yg&?*P3+Sid%{Mf!s@_>&*xYg9G*lXsDLfWkDK2 z=>cWxx8=@|>H8h*3_iD3-{cQHfdU&NXP*%%?Nk~gXP=QKp4!Z4ydu-eol0c&2wf^O z%6?%Q96~#0+IuL4A55j6X2uwRJ>y{j9R^4SD+d9LH9%$X(>8!{2B-D8%CjiV2rb)n}ipOA^&r2u35q)MsSs2_xy=9hU4+dBgBpCadBaJ#;!A>Tw z%uziwBP|cgnBOu-m;D^z_~5OX09{766~UjR=(2Dj0#-WSbq})S3$p8IuVH_Yv|*{C zIkG7C`@vA|i(q!HrI(qEgslb`8bhsef2yL}ObVSRFucb{yn~(U?^1nzFG{TfRqm^? zt1qLi`d(}>)f1?WzF)KP9n@35zUHW8_&$2y1oLnwevQ)H1z*2@eTAyNM|^emc;%hK z*Bktxa~Kp~acf(`)>^vM9dzv4QDurd!N*4cv>RYb@Jms~8sPk3)ENNd4e;oQ9;|t4 zCmFzZN1XHpplJr0!6#iZ5==pwsf11^HHCiP**_D$tK3Gu!V0`^h?ZK82z zzAvcb`vRfN_XYKhcF5}cg8Gv03+hY0FQ~WQ7mR!nJ=_CLgT%dB++~lvoYJ_9d+Qk! z_Zoz`krr@|%=5gE0CV$FFkN{}qjDRoggkPPPeZ~ zREFM7QwMfYBkq~uiQ-;KTexQ#ON$dMQYqG&2ZSFyB+A()X&4+V$~m=4k_-+$3gBF$ zK_x=pmkP_Nq)PYv@P}|{AH=;NulrllV0~Wqy98Wlbr1CJ<$k4Hi@2oI`#?%>9|rD4 ziPw>mUVum^eFECL>8^>I+7Dw0c?F}!B& z!;7W1w%kj~dP)8WW~_mPjyuPLytK?Lk&gp$jF6Wt0r~Z^#&K|N0&$^`=Ntv{8)ar% z-UH$l!r0w+T33=kZy<_M!Aawj=x<$?f*#;sA9LGC{&^PiH$eL-(R+NH`}l!;>8jzs%wa^I(B zN5p$SeD^AMv4}WXY7}xenD@wLsLkD6M$3S8#tmA{8@kEAOZi`3mi(h+c7XmB@_tEh zrfi2{3@N9E2%S!(Cym(2=S*jTs{yxw8r`=9*O9ZKwZxcwh~ z^`M{>+=_Gf4)HpP6MtSDlfv;VK0|#xpP8W3a=0a*irqM~A5AQhKtRNPTfa7V?8ik7xoX~l}x zwYDx*TiiFQ|MzF++z_$#a{nP;AvdFGipbLO0rQLJH+c7Rtp8;kZpF{a! zKl(y@XXrC51}ANh`|V}n;I7KZSk|3}e;0D=&s--RDBlM%j>JfyLSo5(L%9U(JRtc4 z$a5r~6r$(+b3S*SFfghFWD57UMjb_B7n=^F29el%EgyYVhcBXBmJviKw_Ccm1!p!L zeiB)a2P(v=T#8UIws-`eztNTG$VJ&^kpGe?Sp{Jg85)4ZXgG4m*Wkzz2RMn10qK)w zQsrhyrywO~Z$Qr&d5bLMMg9D02)Wm%dsW@ANnWr4)t3XqQryZthy|n0+BH-v=2KhO z(IvWjbGmnSD*GK|y#=Tcr*aWOhh?iFDl!M4Mw~4vj+3Y$yGTzo zld9_>&4ZNKNMZ$v{f1{=BcIrKjg|knSw68hApLlVa8%xr zhGSZEPCy!Vh_o{xO*lk~{>EmU8IbxpmD}0ykS^OZ4E!%~#ZRasv0aU}JR@Tm%j5Dk z_|zY0u-!m;1mrssU#JBomW)H``GxCr1(HXB)RQ<#$WV|CBrXv$3govWb_kgS@;!-v z2{{$y%r9MM8Zhc?kabOgQy##WkkcSz9!U4bva&W#`38dffC_OEUm_%@tcHyXh4`#_ z#Hrpvnh?YAysxYSXtb3XTF2p9F3ElF3i!;5m-IF`QU;oo(uG15Q68vSz1LNNyHEbka3*qeq4%b2V9hD z5&-zklH?ER;Rlg4tu%|uO$UahxRqIm1*68ccQ9(zR-WlUw(18&S|CB`I!Y9I>BSl2B)>jcUoJ*68abrUYFx zFCeLF_&^k0vmH7O4L7?3s|B7F;K&AE>AfFad-E2Y?586E!VAc8(uX^A+s(P;l; zAYsO=irx=H*1UB{TNXx(^w}YjDx?D1Fya&le_6l)BvimrfrJeT%V@}kK%MH!jNlBt zfPuW0Mj-ac<5y>7bbwNR3qOz2dJh7JBUi!s8`M{T3gt;|gOc$zU#SCg8Onw%sWiUVAS4O%LBm z)?0xJaVifW6!dP3z`m3gb)BBdTAJaHB&%`g3Q?*X0&3RZrZmdg^wZifq@6P76)R7G}Aul1zc3ngZK9;kQYT z|7aTd?o2n=U+&EWR$Jhm>1Brs+>&mVS#@SPb$7a1PTA78rrXlZmEgVU=7OniR6Q#1 zv&cl=rn4=e8xyyuo2x=&;{6mC_6sm^lDV2H%y1{y-6MmZOYias%(~l719?8Zr_SUB zHBcr~gSJjs_GX5(0h}4qiHq@T)FhpP+KgvaWNXtYeaNBObPj4`ny*Vx0aLZELDftJ zimlbg&{NSA_DeDJc=L6L8`It6AJSFxbtL|-tKbdkn0`>5SC!sIw@(6VmD5-obHcLc zgnU)cPj6LlJ|C+`%54g9YoNdBWj}qW%=|MW@j1XQU&Gd@(rcceDbf13M$^(DaN_ONYmty^SMDSs-<8Ybm3=?2$EFXX#vhi>OFbEK zakGsdMhD8qZIpUvvpN5Y8aMb5!uukc*8DhX9L4|Eb$)=TMf|5x;~}FUjRY#Mr2s9t znr(DTG2uxy(aY9^J(!mjRx@Q1AZ;_fY)zPlhLZqW+AFrSHzB+Tm=@_k7WRq$$SVI< zlA#L}!4^?V_uXj5Q3UPshape@&UH=zD#S@X1Lbb8%|P-ckRM5WE94E3{@=6e0Fobp ztRk^M$k!l$BC$t^PdxmI#CJjzPY3-#*aT`ifF!%~b3NGQK(ar`K@wjIsRAiG$i+L5 z90#(P#0=orxgc9GE>8w70C^AU+Y&n)B>Z2#83rWRgY+O#EaWPX6G=<}647X${VDr&Donr?U4&)?471RgXKte$s^{*Uf0zPpKcN9U>e|bO12WX&w0TtpTE1`7!(RJDb$*~~SB+7-H z2(p625+SF9+)Uy(LY9EMM&cD9v6@n3({^i<={+yn+ey3tLw&H@FwD!;5>v2K1AD&} z=Ak90x*nSPrE+tNO3*sa6b*^pbZh0h7A*wF%oQ3wCU)g<>!0-aeKV=(Ry#1=E1=lu zx;1LTmYosqv!TGw72E8ftTTIE_eae|{X{c|Js34p%0z;~LpCUw5ql#_`EC_4%$gwF zn9$A%tHAMnW?(}5z=UmBZcS((9i*saOYIPpY9eLFz#d~lCu>5T+5L=1+iJ_RZn#u- zu}0K=Af&5BG$8nADQY%k>t=O_GdXJR)J#0XagVn`&SW*$@&K_7B&DW- z+Bjh~$4MI$zt2oF@%x?m+0Gm;LENT43`zyhGt&mErE-39oo{e18$1`LnNa;8#Onb& z$DEaBg8JEb_-TOMnOU4>Ix)xfoK`@YY00H&rZf9NC=qe}bjn=8k?6Bk zmNYsofpgJNkWlXYfWQ#ovGqFpl_GnrZV#5xfgX%v@l{R3{`D>%=uh9F3wy za7=XDK|;}Es1;Fk+p^FGs}l_=Siag|rOT9ku$5y;ki*6sapo_woQqN%_In^{1QQbN z&LNTVOe^(ZN-7oXD(m4WHXv+FouI&AT|-qiu95GA)&D2|TPv1nX{}s^)mk$;rlk$m z>QSD4s%^E&))i;iW??p7rCjCKp+Y?8yomijw`neWhjunDPwOLxiiJHV8|XjgRwF-5 zT{;=UI1x|L%BVbTjEGl5xB{@QcZ_wtS0TJ4qA{z|x?abK=d=f`>s49T8xEloP){eU z%_~695NYu&_T&?3W}LnR;W-gaHxIWinxE!5d4TbWmDC~ZFTy7ho2ZyNs1TBg@N~MJ z3n!ZE)!pzFY5Q2dpOHD)soo3GI7F0XjB?imxmoOw4oGJ9Fv`Yi-@&{V)OL?bH{Fxv zgw>iS^wg;7o7QSSSxaaqx9M+?`{_hGp(F5UiVMUprb!ihljhh&uF zR38WuQw|0Rmd72~pdJ5$qE)f&OSk@{J%zlIQ_cNGy3blp3%xK=M(L86@h3JPWdd#4;eU8O7?Lmr$tz+c=Z0 zHfZx#+p)m_W|mt7MOJII@r7H9cP~`P{w89=Wzny=2Y|(H)2ZdDntc-)t(tA5j9&q^ zX5U6KRI^fsr#$V?QSn*YOg+@xwKWRR<#`Bz8>4tpRREiDtaD z61*HRj=7NH!~PttTh(ZxOSNvD!-Vb@q@}lmX&P-h;-@N`8f`g=r9j16#7v`I3U&!# z8toPmn}w*+9wqTGkcgsKjTT0w@zFQd@a|WLsa9L6R!h{=E)wgV5_@NjQ#~J|asK@z z-i4z_{1k-_?U0N{lZJ)HKx$2)su{2E7A<5$#EtygUaxYA=?^3_Q7A(z~5+uJT9 zUbpQ$QH}RE+n{y(??cHOk+wSXBgcKy(oJL9CB=L#DaOC5Ve@cM*vS>C!X9o}*dr|q z+tH%1$66NlxGk*i6D^6Jh_u%sFO|IW7bVxyjn4T0&Oq+QpyWNxCEwVxr4@sM9f`Uqt)IxT`H}8 zkJOku*P6F?Js;-9$=s$7P;aBjxz^4<;i7*4`gdW5a@R)kw37M?!hb~UXo=pBkuOg zv#r_IZ{JYR)Mn|I*vVDAf@a@{*S?CNsg2Up$a^YKAx`2TLLC(VVJmhqOH}4x(c)IB zD8bDP6~v7cDXfin^Q2H4`WK??JSh|>u>+waPVzL{zjCO)CybVBjEW;v}j zm!8W_XEZ3--X3tY{+!@v|b$C{${RTLXkTtQ1gaYrEfr#1Gc6Iy1 ztP%B{QL}&~yjSl+z!%*)junTt#2oz?>NwYyz{+g1T7|bDGlnS$2zv zm1BFg?h{Gn+7D(bJhrxU<7dA@XV~A;e61(kObxA^u*w@>tT6UP*lta#wX6kSgw61@ ztCcUp$7(9B)sb5F%dnZ3tvO$Z?d7KCiEr!^TXhQ+g})6K9T&6F`a4T+;r2VsJfY_S z-1mZ#=Qfx8Ubx)UeV^7z?}cmoJE^$$&lZKfZ|MQYby0-J^Jqt^w-c{wmI() z+r?iEd#SLGRqU!W>&pkjW_@X!^Pv`nJ$$IJM_LqSud!ZGVSNwks$r8YtoPDv=LNL7 zO^ZgPLdGUr>OG8{TY>(j^sB;|r{ohkA-oOPRqi#`3cr=-xWH6%km_1ntcf7MvFT1Q z3jouZ)|7wfa<72S3Q?|&N;ihhft#@ijs_}k!?r)1oLads)X$s2aR7)om3p};oK{cf z^39N!lVJf+ekI8LB(?z+5=-6-<$18(K;u3X#| z;m|#3Fh`Q6A}|H05T|+*LW<0lS&wqbc>zaJbZp5U`lH-2IyCf_#VMLVsX1Pd^yCrU(y5JV0&b3JAwO$}#;dYThfPXtF~`fk;7w8Hk)?pw0?vLblX zJ(SkZoPDbZ51PvL(iSRmBVbo2$Amkp13!cCsfgDMCDSqCQauvWKG$<{0P8K4)>}@6 za57-Jy2^I-rQqiQ(=Ng>-D(>*y~b0ft(tD|JOx#+@zjy0=_)(iLFemv=h6UkF*-bK z9s_)Z{4Yu`?lQuv?bzCL(gEWxcK3ZNOFlbU&k4KhZ^ca;1~|@jqwt%OYRZ}s_H>l( zDso*3l&xfH6H%?O6~f&ByS=o|*m_Q>kxvu#a??lVh*jh98fT3sm~lq$=-i0;7d5x_ zN+{CIg@@&|8!&Wtq7?pKIxm~@nl)>dPKN2r0PwORGq{NB-9@(3{Mw^ zmEQ&=4Lf{e{3cbZgRPW%Cvp?aXy_0grqSSxZ%?pwzX{oOLB_Eu{x_i^;@9cHM)x~D z9s;NCVWO1#eW-P=kPVuYeh8V1@Va|(C-s~$jz}a+u$4@yO!9787 z>za$(6BK7k_(M>_LJg-s24$PE^+L$5NzA}{A!G)YmIg2WqT~{lJpOm8{N|uEwZ$Ih4@&oH%nXif#!?Yb7&p4W*qQN>%$dYm`d6y+vuZ4=X5ba-Fg2fslDY z2$M(VG<0mRg%{0ap-*$WO$ucFmMlfhhENwh0(v9va2?S9Z8hkIP#?|OyCCcYrX6HD zbsIzGcr^Pk0~Rbh({X->eC>H+})(SP@MOJ11mf z*cA{i0?M{&p?Yp8mtvjW5S{^ySJ>O=wX~KwPx}z2uop8J>GML~shBfP6H|pKiM=p8 z;@guTE0(O%Eb*Y7znJ_qXVrsp2Tl1e4S6>yzviI|Q4(`tYL42}BL7-wnyyflMKYJB zO5~GJB-t6rDO#06>j?9&0j>D}MP)4>wWO1AL~++bRyJW z?zNC=%>t}<4!5Iz2ZV=2G~PKpRH){96T)jEF4E{39_pj!^4faNj}WaRjT?=xlBb^Q#oo&r>elh}ih2I8Br1MjJvbZ5)!`sG?O9=id<4v?X=mg;T< zS&xc!K;m089Kmqv3`Yw-EUe5&!=NBkolSOgqKeOh3cgr4e z5(Nm!3(qv#j5k+KLEE8i0b@_1j8cbF!gYb%Qp&D#`?D5-F&@T!%?wti&`yT7C!nn` zhDMKe64%0+4d?HNbB=Nni!em7Af4`4!z@>x;P&@2yLMX2NNYfB9%6~xNGw59??AqB ztU?Ekk=P!HR0SN--hd{HPHLv9>7tbDP+66G-eKjM1DPv#q?r(eg6b$@rrfeXe*0na zhvJs`9$e)Jq@HFmU~58;B<3?fRnFHzzJ{QF7|l_98|lmnk;c+lL`BX9@+flVGDxJ! zk=P&PJm>$+Ny}@c+QN>1kVh-gYg^_qc7*6p ztwf&-IP?_ls=iA_DjY?XOaF<<0pT}M^IEeot5P~L#vyU-sXOW$DF?FDQkzR<5$&@F54Io$ypi7)caqUVyU6dX zx{WI&5CNxsrYq@-{G(-~*BI6cJ zxKH}+rlX|%c37=Cc}^x!{u_|4B;vrZlxXsPsDq&l1QJ;&xcp-Lhs^S&mHgUx8Hc0M zY^juycw-r#B}Df8K-La5?TLVcGsPI!<-b!voKnuvkJ`x)8 zd#z-sar3zm1+~812Mx42L**nRR_d^hUdrX(=I7QOPhD??d>oZH7AU_OWHE^aK!wDT z+n`(rwh2holD&~~hLDjO`Hc-K#?Ra_k0>{gm+zB_}t6%z|?okh}rp3K9*#&;uM-CY)|)?P zDKP3Pv-jC8`lvY{)B3@NUotc^nKSmRkwc9S@oa;W=t*tlXhW!Q%fkCHtpz`%lYr^>1W^QnYuy9yy%e?pJaYbmT7X!zd%W8@%`2sO)jd0y+|B_}6& z8kwhnVJR&&av1cd@?{>%*T!peMJnH`Djg5YZ$IYc*+Q@lrB9j(aIm}-)kC}FBp=lqt+|p7b+eD#>;jEv2`srNLU7Q6^ z+=lEegx?c>AjSdG3he$hYM2J01js^A5tU#IUtP51q6 zVb{)PqY|}l(}z&)x}?8fu2MVWc)Atc2iQWULO5PTbH{vu-$}RHH$qqs^fNc- z2lz+n2K$Q;eh1jQB7>~KKSKCgM05XSux}nVuk7YI#{iZ4Fy;k2-gWDnV5EIZr*G$a z49K?z{{xvg>e=R@&8)%senJMHgpNAE+Sb-Lck_P@;R?Xo*4A$)+jcd8j9tFiV`6FmbMK(D6IKt6-^c}z>jkc@^@Vk9&mW;at6h5s zY~MPUJ?Y{51;beTSx4t(3|dXs8Gngbf0;OUCJ)-D**wnpu?$xC7SCP>>}f9G7SDLG zUHaeVnH8_qdAnzIKBA0wcwLmo>b%plo1dRghjXWwqm{Tl8?wbSxBBWnQl7iKL&s0v zA~T-{U=&ZTGmi6^*GsQusJl}8Fpqm#XP{$p-Q~hw^I8e38_^r&bCJ=Y z&Wp5})+=zrex8;xlT;F zY;}+I%xn9+#?UMU&tttJg*~q^I&H&r*kf%id>-J`7#wHO&1AnCFqN}ivXN`EA=loV z%_|;RHIlXLV&)Kcl9!>&yLS5D@;_qOBQ#7?rjin}i&OKMtSQ55B= z^}VqEVdImXZS2(OXXraFi7dDp4LgI3TymSe3KPXNVfc+9J)#*hQ_Xy&wRQ4JAZ;!c z+zKag8H~?heASZCy!*-ZGPjmgOc7lp`~GJ!?5`rG&@rN=n6co{U0%j;Vrn2a>wn9! z2n)*lMOk>~Qw(soD)7!H&|t@Qm1m}{S~F;?ybF9zry#W@d}R9)NB<-Q1v?tuBM24l~;oQEgXL?jvK{;|^t-Xs4*_ z~Vm-f2Qp@?@#$pN>Us&_4fO(Mq7 z0kMx7>~RQ>0H=lJwFlfvwJg{ABWEl--Elv6&CL{^^|SXhK6hKo)xE~iWhTmg;hK9I zZ=qm6pyBhSYp&GukMNu*U@rQ zFtL6?QJkI#_`fs*2VbXtdd<2;(@fqbVI2H=sMalBvu<%O?R+O--QsoY7H>m%O+@1s zuUofheIz>_z_jF3Xnw;ruWa)h53Dg=_onT-1Omf=7F}1WuG@nJ8S7anQNC?@E#KM5 zz~M~~DoB}ozx$AEha_&*Lb9r|gj3tF)TWhjy2#G{so`VWpSE>Qc#`Pl?sHpZE!G7X z>85?Cn)v~}B9do*4dbt_HzgNRF~t#51|#M^Yg^29ae6!9J?omI1$I~NIa^Jq?=a0G z4_o0EPD_1+el59d^FHkM)igPWwx|dCk4_r-F?zq}76`Wh{id_&_pp1SUiY~ld>>#M z&Yt&*({Pms&>d8j_Ng^-o!iCHdeq(FwsP-jw(}0Rw@MtS?<3jsC+nGqoW8efO<8X( zeS;8El>y%L96N;8(t7tu<@=t(zXqnA%;fLRa0~S6C%au-`4X0Vp=+v8|Lx4u` zOxqSGfQ|u-<+k7u_W%d?9L(X8IgT^!S%uDZZfm{%%WvGfI+3+4+v!7_Pk>8>%%n6L zn(8^v&{EyX18KVghP=jxO0&1Et{$4Vgcm|kC0_6_kTOnpBMaxU7VQi9VJx~AC@%r| zhQxn>3W-f021RxxYe@7tiaksq@g;i7G3x!m09}-oY_St!4q8)QTgOula@xjSt2GeS zLYy>2P}cVe1XG48C@9M8r4l9@91LnR;V?n=T&lJ=_j6FqLoV%%QE#aX-~6(MbKJRZ zTIM_|`y;H0RA3xX{u#)666Xu~2gu_j9uo2@$R{M;2WCp$I@HT=g1CJ= z=PM!CfJ_Fd0jf8XeH3k<*iK?1i8Ih(8=PYh&`yPRZVOt;J(hOmAzF1QG^3=7gp_PQ z#7xYDb{j?RF|^=D8E2N328!M|BwN`)AF05=0QP0nURigkiuyIpztTZ~QNSq}^&3_4ri-kzl zO(bpruAVw04l^u>_Mm_?%x%*T5TmUy5Ro*bsBA` z4&3ZToEs0)`GOn$bP+m#1Nm9>ZBx0iW7&c=*7h8POt)~xE|&b|Jt2?mherYx;v@$` zxdChgkW7F?`_tYa)5nAOjZd$hKGh_iS)H6qVkPX^z)+n{*|$|aP_GhrFZJaMDB)Jf zpTYkaD8CvcKEQJdfeMKww?ml-HU^mfB#4P3e;{!qlwSkMS3y1}@o(VR&p_6baqpRo zp3jZ^v#S$x?!}QfCvrU0R8V0j>j}chI#^oaaSX(;?9xNaoQXPMw*|JM%)VS5irf%~ok|w^SF?8wiuRwL`jv0&opwL_zNam(O zTl2Mr3ExFXY4DWNx}{Q|F~Lkl33KW51AUzi)rpe)RVUofX?i?DL!*8UV%NjPl1I6%F*9e4s+qO8Rb~*wTa8EWSMP<#Y); zC15T^#N55lhoSrNi(4?bFV4EVC!D9b=C~~2EF%lg0idiFj=E__OOCzwtUGKITR3`R zYtWc41hTT~vQ%3=^gr8*&jQog>QUeMP>uDH>zR|YS5e=KRc}$N-$CFAtf-z!5hk%W zmB>Y}D2XBxI!-g5;M?+0ZDMsGaT*LY*2-Kbu`{5pNYT(8C8$c1{>-d2iMn$)f?qQ$ zo$Y4DnI6o9ku#VFj{!54bR$tLM6*&ki6KHXl}sQp9x$`gQWSAz%I{&b(&^$WgVqhN6LNbIW*W3%(V1H;AG_A^Fh6Qf0pL#6bk7j|o9%))23%*!G| zOjtgPb#0AXE~NJH;gHALMQ-hkDub9i&b8(psbgKUJ;a8B-l#f$4Zi923zW@~GP7OQ z&t5%P&Hdf>;!Iq&bcy2*bX)(W1G^LVYI!`!7Gu`X_B8MTE#5OjT7{qfl2+i~A`o+3LdEeGfcPr)&kBiV#YUZwxx$h6w z&e+_ATwl8Hk5YQJ+0yvXT!zoqE5Y3lv(-E;uIF}gS>nv=DXSkf%Jt~%Z8ELtc6$8` za}?syJ{$3*XK{unfcYOLC0))t*_?2h=loZ+FSx#T9~~*}qo54|&NNN-nAtGB6a04I zXj9k6)AZdz_7l$3&fF8mzTI#i2aIj@3FWoeHn`zvUYv#{3vR2Ygx_a#x$2}1@f;sG z`sV4-{?MK^0@|t)d(X&rF2EW8PW#{-+J@657L)B8aC9Ad&~og&XI3^#=O1#W26Ax& zT~n^kVJ51`rFpbB>c8PK?}bwxeg8-LiYk9g#U^hkL8pjCK}1 zfS34B=lhHPOLzM_^8K@R(x(2sZPaW2_@CIh^%nYVbtlHxTSUz(CZHtroVzoAJh{Ai z0Y53e9@v0#oX+Jt0$`IWYOG7!^9k@P3bv0Q{(+$?#nofb4KBZrTP8`lf+ptz|r>bUgdpL2s#7}P+%kkY?3bcdoKZ@|e2GF4^Ky$p%ZJzEP zFPTy1gl^9gcgc*tgPhPEX8Yfn9UV#DJ42ViaH6`apwoqBqu+Iw_8!bUKG$q^IQ|DP zYOg7`6a@)qnQr#fvjf4pp5c8Av!%J6b0j0F2e4c>dfW-ib@RuqGxv3BA&&*jeVr8~ zmI={)oy$o43UHPwglXU94WqS$kx>3Hq&r}42FjlX*-zpxLS6*P80tA8VEStyUgMnU z|1|&SA0tgu(PV#nO5gigA7bV>=@_THMs*pP2LZz*EU_ACs*#$?wUC0jLA$UMf-`;$ zd&YAaOl^rrF;e5%EL6P4dMzt>QmJzL|DAc6ZpnTEzlx@Go61*V%Nvl!V@C~8t{Xbb zNSp~IzXI7#VksXf#kEc8!$RNNJ6f)kstIwd6MS`H)1aJ}eeEZ41HHhsRE+`m%JwLjF0~4wD4^ zyXS1m=m2RE`sV@VJwY~;XabT0L7pS=l#m3-4KLD}GRAkyYlyNhpAJG2|P<|gs$4XwG0hB)hk{~e*NbUid zP2w~muYg=m;u2u`yC7cUqU68%e;3%-kZoVp@0DT84Z;@JY zk_ytl2YU`M!TM_w{}!TPJ*b*Zc7S2=P|NmVMYQbgK}2tgpsi@1S7f?g^J;#Q-;+9y zjK>PX%o(WVRApbm~GtbJLAEcJ)y$<^>&UOwOy`#^=?2VAFM}7lP zegnuiBt8~$H^{_<=Zpf%9|hS);#Oe!ZV>JaCjZR;%;7vb2Qm2;$U>0WK=LDy+ezFi zB*qv9wdr|sN^vuMha2MXONgJM5b>b zaVbzyhPE0RR3k%bWI&AyuAV|+rXz17(b6pwAqYAG_zeb_h!k}aCD3#rr5$Y}+R~_^ z*DBKXm2v~%%asQQ{FQK0$In?%R93-PtDC&E@-n@~C4Nb&$xk?+x_$xaermEfUi z=VcNv0m)V%-;(%JNFhkkNTv;7dUp`N@trl(`HBw(AwKY;%BX!kVQDNHZOA?2*RXqgN`v}z9y3rzj<3HAL z(-oE;52>^)z2L{G+!V;SkljzHT&5Sz)L)wIY{gW!N$0}hQEO zybkFtg!cjEAAs~4#V`fRzXUmv#AINMa+chrj?nLD<>wVVTckmmRwJ`2m1z@+Ukj1$ z`$*gk3`^y!9)JSV6H`gpo=6?XB<%4Z666gm(A4yLwGB6&&6{nO>0LkbVXjr_O;=v1 z>Oy)M?JudgQjo7md87Jm`=J{h@o$ zpCHV#jvA?}%CCTQB_&=8m@T=Y&DxUFZ%9)2yZ(Mmof3y&w&X@gi7?lx!Z&q?*(mul z3SI;%M6Dc+K;Q~~#(hlEJfnOD3p+u4c&mmdy7RFapvw)e7o;!ghG2q2O-oXb2UYQ$NaW-p9LD!?R8y0Y-EQs{?S~Wab>o@|hzz;W+lMr}? zet5-sC$mEi6!*$n@k%=mHv#RswQ4w}JNt`3q@$PJFpQ=agiZ_>Hsr14HL*aa>26j- zHk&sBueIN<;e=|A5ddCWN_iTi1fdz>yoTKqc;*%GdQ#-6xf~z^BHLRxjLQdZg#`Xr}NfRpl~Vn#<5l4b)>xGZfD8|BHgHC{sOK_fKGGV+?AL5v{R;-`J zx)^9XzPMq06_>O?;S3o18m*w)vso*;pW-+I|L({NeeFxoy>r%zV(KXpga_wyI`r~Z%u>L%X~c3i-sQs z^Y}s^YW(5ckM%dU?~kxQ6&w6UljijnJC!GQ9zWN%hvE2dOa8{f&7{L2zZJ&%PjxVy zGwE>unJ(f)LT~en<@2yEO=nza z_ZCsWv>c;(RWDTb?9kt3k$?A*$P_!rl1~2*>8B7zd@ISwX$3tX`@0^e(EX+;FB)2f zBSk{*OXw7|MXOqGQhFp+j*f3l=yLo#>KC2f`c9>Ds8Mu&o2N-<=o%rKo*w-jS~K4r zMTwbN55jOVhm8cuYWpJTkdx7g$P&t!lKXebtwBM?NhM0FVCD5MEQfZouXI)@JlzvrTM&PD6?cR z$ST8$X8va&$R>kiWsXKc#x+JPH=8egIQdRaG-G>sgB0Ev_U%7zCG5^}Pl z8TYonU#7i00`j&a&O@Ztg%WuvO~y#eW8qhtwLH;M%g#eu9%=oJwEXTEa_+EN^isi$ zC)1=IJ88YrjC-PWjQwmG1jsIf6l4}wf;?@i6wiEK$TJ2h z$$T7T8P6KAo{pi-AbV@ok58G7m`g1?bf6B7KbJPj>}&i#s~~fD`WEC`T}F3hjw~`g zQpXs~OhyeoNfTs_%GyjuCs!W4Bc-*SE5-sT2Wx4OCYX2jbpk<1-d#-W*7-DhP~ ze5-9nCjTbU3+(Npwm0^mxa^o0T^Z)}u=);sc7d1qjp`HAmmsn`TFi~LLNdFHm+9kk zUMvR#vP.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

    C`oB>O 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 z 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

    d!;`S(om5xJzd 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 F{{X!cS#AIT diff --git a/bin/avrdude-armhf/avrdude.conf b/bin/avrdude-armhf/avrdude.conf index 61c3b95..1097b83 100644 --- a/bin/avrdude-armhf/avrdude.conf +++ b/bin/avrdude-armhf/avrdude.conf @@ -12,68 +12,105 @@ # # DO NOT MODIFY THIS FILE. Modifications will be overwritten the next # time a "make install" is run. For user-specific additions, use the -# "-C +filename" commandline option. +# "-C +filename" command line option. # # Possible entry formats are: # # programmer -# parent # optional parent -# id = [, [, ] ...] ; # are quoted strings -# desc = ; # quoted string -# type = ; # programmer type, quoted string -# # supported programmer types can be listed by "-c ?type" -# connection_type = parallel | serial | usb -# baudrate = ; # baudrate for avr910-programmer -# vcc = [, ... ] ; # pin number(s) -# buff = [, ... ] ; # pin number(s) -# reset = ; # pin number -# sck = ; # pin number -# mosi = ; # pin number -# miso = ; # pin number -# errled = ; # pin number -# rdyled = ; # pin number -# pgmled = ; # pin number -# vfyled = ; # pin number -# usbvid = ; # USB VID (Vendor ID) -# usbpid = [, ...] # USB PID (Product ID) (1) -# usbdev = ; # USB interface or other device info -# usbvendor = ; # USB Vendor Name -# usbproduct = ; # USB Product Name -# usbsn = ; # USB Serial Number +# parent # optional parent +# id = [, ... ] ; # are quoted strings +# desc = ; # quoted string +# type = ; # programmer type, quoted string +# # supported types can be listed by "-c ?type" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_PDI (1) +# extra_features = HAS_ {| HAS_} # extra features, eg, HAS_SUFFER|HAS_VTARG_ADJ (2) +# connection_type = parallel | serial | usb | spi +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# buff = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# sdo = ; # pin number +# sdi = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# usbvid = ; # USB VID (Vendor ID) +# usbpid = [, ...] ; # USB PID (Product ID) (3) +# usbdev = ; # USB interface or other device info +# usbvendor = ; # USB Vendor Name +# usbproduct = ; # USB Product Name +# usbsn = ; # USB Serial Number +# hvupdi_support = [, , ... ] ; # UPDI HV Variants Support +# ; # -# To invert a bit, use = ~ , the spaces are important. -# For a pin list all pins must be inverted. -# A single pin can be specified as usual = ~ , for lists -# specify it as follows = ~ ( [, ... ] ) . -# -# (1) Not all programmer types can process a list of PIDs. -# ; +# # To invert a pin use = ~ +# # To invert a pin list (all pins get inverted) use ~ ( [, ... ] ) +# # +# # (1) The following program modes are known: +# # - PM_SPM: Bootloaders, self-programming with SPM opcodes or NVM Controllers +# # - PM_TPI: Tiny Programming Interface (t4, t5, t9, t10, t20, t40, t102, t104) +# # - PM_ISP: SPI programming for In-System Programming (almost all classic parts) +# # - PM_PDI: Program and Debug Interface (xmega parts) +# # - PM_UPDI: Unified Program and Debug Interface +# # - PM_HVSP: High Voltage Serial Programming (some classic parts) +# # - PM_HVPP: High Voltage Parallel Programming (most non-HVSP classic parts) +# # - PM_debugWIRE: Simpler alternative to JTAG (a subset of HVPP/HVSP parts) +# # - PM_JTAG: Joint Test Action Group standard (some classic parts) +# # - PM_JTAGmkI: Subset of PM_JTAG, older parts, Atmel ICE mkI +# # - PM_XMEGAJTAG: JTAG, some XMEGA parts +# # - PM_AVR32JTAG: JTAG for 32-bit AVRs +# # - PM_aWire: AVR32 parts +# # +# # (2) The following extra programmer features are known: +# # - HAS_SUFFER: Only present on Xplained Mini/Nano programmers. +# # The Super User Fantastic Feature Enable Register allows the user to modify +# # the behavior of the mEDBG programmer/debugger chip. See the Xplained Mini/Nano +# # documentation for more information +# # - HAS_VTARG_SWITCH: Programer has a programmable target power switch +# # - HAS_VTARG_ADJ: Programmer has an adjustable target power source that can +# # be controlled with Avrdude +# # - HAS_FOSC_ADJ: Programmer has a programable frequency generator that +# # can clock an AVR directly through its XTAL1 pin +# # - HAS_VAREF_ADJ: Programmer has an adjustable analog reference voltage that +# # can be controlled with Avrdude +# # +# # (3) Not all programmer types can process a list of PIDs # # part -# id = ; # quoted string -# desc = ; # quoted string -# has_jtag = ; # part has JTAG i/f -# has_debugwire = ; # part has debugWire i/f -# has_pdi = ; # part has PDI i/f -# has_updi = ; # part has UPDI i/f -# has_tpi = ; # part has TPI i/f -# devicecode = ; # deprecated, use stk500_devcode +# desc = ; # quoted string, the long part name, eg, "ATmega328p" +# id = ; # quoted string, normally an abbreviated part name +# variants = [, ...]; # quoted strings, each starts with ": ..." +# family_id = ; # quoted string, eg, "megaAVR" or "tinyAVR" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE +# mcuid = ; # unique id in 0..2039 for 8-bit AVRs +# n_interrupts = ; # number of interrupts, used for vector bootloaders +# n_page_erase = ; # if set, number of pages erased during SPM erase +# n_boot_sections = ; # Number of boot sections +# boot_section_size = ; # Size of (smallest) boot section, if any +# hvupdi_variant = ; # numeric -1 (n/a) or 0..2 +# devicecode = ; # deprecated, use stk500_devcode # stk500_devcode = ; # numeric # avr910_devcode = ; # numeric +# has_jtag = ; # part has JTAG i/f (deprecated, use prog_modes) +# has_debugwire = ; # part has debugWire i/f (deprecated, use prog_modes) +# has_pdi = ; # part has PDI i/f (deprecated, use prog_modes) +# has_updi = ; # part has UPDI i/f (deprecated, use prog_modes) +# has_tpi = ; # part has TPI i/f (deprecated, use prog_modes) +# is_avr32 = ; # AVR32 part (deprecated, use prog_modes) +# is_at90s1200 = ; # AT90S1200 part # signature = ; # signature bytes # usbpid = ; # DFU USB PID -# chip_erase_delay = ; # micro-seconds -# reset = dedicated | io; -# retry_pulse = reset | sck; -# pgm_enable = ; -# chip_erase = ; -# chip_erase_delay = ; # chip erase delay (us) +# chip_erase_delay = ; # microseconds +# reset = dedicated | io ; +# retry_pulse = reset | sck ; # # STK500 parameters (parallel programming IO lines) -# pagel = ; # pin name in hex, i.e., 0xD7 -# bs2 = ; # pin name in hex, i.e., 0xA0 +# pagel = ; # page load pin name in hex, eg, 0xD7 +# bs2 = ; # byte select 2 pin name in hex, eg, 0xA0 # serial = ; # can use serial downloading -# parallel = ; # can use par. programming -# # STK500v2 parameters, to be taken from Atmel's XML files +# parallel = ; # can use parallel programming +# # STK500v2 parameters, to be taken from Atmel's ATDF files # timeout = ; # stabdelay = ; # cmdexedelay = ; @@ -84,52 +121,65 @@ # predelay = ; # postdelay = ; # pollmethod = ; -# mode = ; -# delay = ; -# blocksize = ; -# readsize = ; # hvspcmdexedelay = ; -# # STK500v2 HV programming parameters, from XML -# pp_controlstack = , , ...; # PP only -# hvsp_controlstack = , , ...; # HVSP only -# hventerstabdelay = ; -# progmodedelay = ; # PP only -# latchcycles = ; -# togglevtg = ; -# poweroffdelay = ; -# resetdelayms = ; -# resetdelayus = ; -# hvleavestabdelay = ; -# resetdelay = ; -# synchcycles = ; # HVSP only -# chiperasepulsewidth = ; # PP only -# chiperasepolltimeout = ; -# chiperasetime = ; # HVSP only -# programfusepulsewidth = ; # PP only -# programfusepolltimeout = ; -# programlockpulsewidth = ; # PP only -# programlockpolltimeout = ; -# # JTAG ICE mkII parameters, also from XML files +# # STK500v2 HV programming parameters, from ATDFs +# pp_controlstack = , , ... ; # PP only +# hvsp_controlstack = , , ... ; # HVSP only +# flash_instr = , , ; +# eeprom_instr = , , ... ; +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files # allowfullpagebitstream = ; # enablepageprogramming = ; -# idr = ; # IO addr of IDR (OCD) reg. -# rampz = ; # IO addr of RAMPZ reg. -# spmcr = ; # mem addr of SPMC[S]R reg. -# eecr = ; # mem addr of EECR reg. -# # (only when != 0x3c) -# is_at90s1200 = ; # AT90S1200 part -# is_avr32 = ; # AVR32 part +# idr = ; # IO addr of IDR (OCD) reg +# rampz = ; # IO addr of RAMPZ reg +# spmcr = ; # mem addr of SPMC[S]R reg +# eecr = ; # mem addr of EECR reg +# eind = ; # mem addr of EIND reg +# mcu_base = ; # MCU control block in ATxmega devices +# nvm_base = ; # NVM controller in ATxmega devices +# ocd_base = ; # OCD module in AVR8X/UPDI devices +# ocdrev = ; # JTAGICE3 parameter from ATDF files +# pgm_enable = ; +# chip_erase = ; +# # parameters for bootloaders +# autobaud_sync = ; # autobaud detection byte, default 0x30 # # memory -# paged = ; # yes / no +# paged = ; # yes/no (flash only, do not use for EEPROM) +# offset = ; # memory offset # size = ; # bytes # page_size = ; # bytes # num_pages = ; # numeric +# initval = ; # factory setting of fuses and lockbits +# bitmask = ; # bits used (only in fuses and lockbits) +# n_word_writes = ; # TPI only: if set, number of words to write # min_write_delay = ; # micro-seconds # max_write_delay = ; # micro-seconds -# readback_p1 = ; # byte value -# readback_p2 = ; # byte value -# pwroff_after_write = ; # yes / no +# readback = ; # pair of byte values +# readback_p1 = ; # byte value (first component) +# readback_p2 = ; # byte value (second component) +# pwroff_after_write = ; # yes/no +# mode = ; # STK500 v2 file parameter from ATDF files +# delay = ; # " +# blocksize = ; # " +# readsize = ; # " # read = ; # write = ; # read_lo = ; @@ -139,19 +189,29 @@ # loadpage_lo = ; # loadpage_hi = ; # writepage = ; -# ; -# ; +# ; +# ; # # If any of the above parameters are not specified, the default value -# of 0 is used for numerics or the empty string ("") for string -# values. If a required parameter is left empty, AVRDUDE will -# complain. +# of 0 is used for numerics (except for mcuid, hvupdi_variant, ocdrev, +# initval and bitmask, all of which default to -1, and for autobaud_sync +# which defaults to 0x30), or the empty string "" for string values. If +# a required parameter is left empty, AVRDUDE will complain. Almost all +# occurrences of numbers (with the exception of pin numbers and where +# they are separated by space, eg, in signature and readback) can also +# be given as simple expressions involving arithemtic and bitwise +# operators. # # Parts can also inherit parameters from previously defined parts -# using the following syntax. In this case specified integer and -# string values override parameter values from the parent part. New -# memory definitions are added to the definitions inherited from the -# parent. +# using the following syntax. In this case specified integer and +# string values override parameter values from the parent part. New +# memory definitions are added to the definitions inherited from the +# parent. If, however, a new memory definition refers to an existing +# one of the same name for that part then, from v7.1, the existing +# memory definition is extended, and components overwritten with new +# values. Assigning NULL removes an inherited SPI instruction format, +# memory definition, control stack, eeprom or flash instruction, eg, +# as in memory "efuse" = NULL; # # part parent # quoted string # id = ; # quoted string @@ -159,28 +219,28 @@ # ; # # NOTES: -# * 'devicecode' is the device code used by the STK500 (see codes +# * 'devicecode' is the device code used by the STK500 (see codes # listed below) -# * Not all memory types will implement all instructions. -# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Not all memory types will implement all instructions +# * AVR Fuse bits and Lock bits are implemented as a type of memory # * Example memory types are: # "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high # fuse), "signature", "calibration", "lock" # * The memory type specified on the avrdude command line must match -# one of the memory types defined for the specified chip. +# one of the memory types defined for the specified chip # * The pwroff_after_write flag causes avrdude to attempt to # power the device off and back on after an unsuccessful write to -# the affected memory area if VCC programmer pins are defined. If +# the affected memory area if VCC programmer pins are defined. If # VCC pins are not defined for the programmer, a message # indicating that the device needs a power-cycle is printed out. # This flag was added to work around a problem with the # at90s4433/2333's; see the at90s4433 errata at: # -# http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf +# https://www.microchip.com/content/dam/mchp/documents/OTH/ProductDocuments/DataSheets/doc1042.pdf # # INSTRUCTION FORMATS # -# Instruction formats are specified as a comma seperated list of +# Instruction formats are specified as a comma separated list of # string values containing information (bit specifiers) about each # of the 32 bits of the instruction. Bit specifiers may be one of # the following formats: @@ -189,23 +249,44 @@ # # '0' = the bit is always clear on input as well as output # -# 'x' = the bit is ignored on input and output +# 'x' = the bit is ignored on input and output and set as 0 # -# 'a' = the bit is an address bit, the bit-number matches this bit -# specifier's position within the current instruction byte +# 'a' = the bit is an address bit; from v 7.1 the bit-number +# is set to match the right bit position for the +# instruction to "just work" # # 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 # is address bit 12 on input, a0 is address bit 0. # -# 'i' = the bit is an input data bit +# 'i' = the bit is an input data bit (can optionally be followed +# by a memory bit position between 0 and 7 if that differs +# from the bit-position in the SPI write command byte) # -# 'o' = the bit is an output data bit +# 'o' = the bit is an output data bit (can optionally be followed +# by a memory bit position between 0 and 7) # -# Each instruction must be composed of 32 bit specifiers. The +# Each instruction must be composed of 32 bit specifiers. The # instruction specification closely follows the instruction data -# provided in Atmel's data sheets for their parts. +# provided in Atmel's data sheets for their parts. Note that flash +# addresses always refer to *word* addresses whilst all other +# memory types specify *byte* addresses. # -# See below for some examples. +# Example for signature read on the ATmega328P: +# read = "0 0 1 1 0 0 0 0", "0 0 0 x x x x x", +# "x x x x x x a1 a0", "o o o o o o o o"; +# +# As the address bit numbers in the SPI opcodes are highly +# systematic, they don't really need to be specified. A compact +# version of the format specification neither uses bit-numbers for +# address lines nor spaces. If such a string is longer than 7 +# characters, then the characters 0, 1, x, a, i and o will be +# recognised as the corresponding bit, whilst any of the characters +# ., -, _ or / can act as arbitrary visual separators, which are +# ignored. Examples: +# +# loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; +# +# loadpage_lo = "0100.0000", "000x.xxxx", "xxaa.aaaa", "iiii.iiii"; # # # The following are STK500 part device codes to use for the @@ -213,7 +294,7 @@ # section avr061.zip which accompanies the application note # AVR061 available from: # -# http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf +# https://ww1.microchip.com/downloads/en/Appnotes/doc2525.pdf # #define ATTINY10 0x10 /* the _old_ one that never existed! */ @@ -269,8 +350,8 @@ #define AT86RF401 0xD0 #define AT89START 0xE0 -#define AT89S51 0xE0 -#define AT89S52 0xE1 +#define AT89S51 0xE0 +#define AT89S52 0xE1 # The following table lists the devices in the original AVR910 # appnote: @@ -322,989 +403,1946 @@ # in the Internet. These add the following codes (only devices that # actually exist are listed): -# ATmega8515 0x3A -# ATmega128 0x43 -# ATmega64 0x45 -# ATtiny26 0x5E -# ATmega8535 0x69 -# ATmega32 0x72 -# ATmega16 0x74 -# ATmega8 0x76 -# ATmega169 0x78 +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 # -# Overall avrdude defaults; suitable for ~/.avrduderc +# Overall avrdude defaults; suitable for ~/.config/avrdude/avrdude.rc # -default_parallel = "unknown"; +default_parallel = "/dev/parport0"; default_serial = "/dev/ttyS0"; +default_spi = ""; # default_bitclock = 2.5; +default_linuxgpio = "gpiochip0"; +allow_subshells = no; + + + + -# Turn off safemode by default -#default_safemode = no; # # PROGRAMMER DEFINITIONS # -# http://wiring.org.co/ -# Basically STK500v2 protocol, with some glue to trigger the -# bootloader. -programmer - id = "wiring"; - desc = "Wiring"; - type = "wiring"; - connection_type = serial; -; +#------------------------------------------------------------ +# dryrun +#------------------------------------------------------------ + +# Using -c dryrun is a good way to get acquainted with AVRDUDE and its +# command line -U memory operations, -T terminal commands or the +# interactive terminal -t. No hardware needs to be connected, as the +# dryrun programmer emulates what can be expected to happen with a real +# -c programmer and a corresponding connected physical programmer or a +# directly connected board when it has a bootloader. +# +# Examples: +# avrdude -c dryrun -p ATmega328P -t # Interactive terminal: enter help +# avrdude -c dryrun -p ATmega2560 -U flash:w:myapplication.hex:i +# avrdude -c dryrun -p AVR64DB48 -Tconfig programmer - id = "arduino"; - desc = "Arduino"; - type = "arduino"; - connection_type = serial; + id = "dryrun"; + desc = "Emulates programming without a programmer"; + type = "dryrun"; + prog_modes = PM_TPI | PM_ISP | PM_UPDI | PM_PDI; ; -# this will interface with the chips on these programmers: + +#------------------------------------------------------------ +# wiring +#------------------------------------------------------------ + +# http://wiring.org.co/ +# Basically STK500v2 protocol, with some glue to trigger the bootloader + +programmer + id = "wiring"; + desc = "Wiring for bootloader using STK500 v2 protocol"; + type = "wiring"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# arduino +#------------------------------------------------------------ + +# Serves optiboot bootloaders and others using the STK500v1 protocol; +# it is superseded by the more modern -c urclock programmer, see below. +# The programmer is named after the popular embedded programming +# environment Arduino that has for a long time used optiboot +# bootloaders. Same as the stk500v1 except that it resets the attached +# board and treats EEPROM as the optiboot bootloaders expect. + +programmer + id = "arduino"; + desc = "Arduino for bootloader using STK500 v1 protocol"; + type = "arduino"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# urclock +#------------------------------------------------------------ + +# Serves urboot and optiboot bootloaders +# - Reads/writes flash/EEPROM via the MCU bootloader and a serial connection +# - Automatically resets an attached board via RTS/DTR into bootloader mode +# - Implements urprotocol, a skeleton version of STK500v1 +# - Supports vector bootloaders by patching interrupt vectors during upload: +# + Vector bootloaders run on all parts, no need for a HW boot section +# + Can be much smaller than the smallest HW boot section of a part, eg, +# 256 bytes for ATmega2560 (smallest HW boot section is 1024 bytes) +# - Checks sizes of applications so they don't overwrite the bootloader +# - Keeps the bootloader alive during interactive terminal sessions +# - Provides a 4-byte metadata interface in top flash for +# + Allowing applications to utilise unused flash similar to EEPROM +# + Storing in top flash the file name and its last-modified date +# + Displaying file name and date of the last uploaded application # -# http://real.kiev.ua/old/avreal/en/adapters -# http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml -# http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html -# http://www.ethernut.de/en/hardware/turtelizer/index.html -# http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html -# http://dangerousprototypes.com/docs/FT2232_breakout_board -# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H -# http://flashrom.org/FT2232SPI_Programmer -# -# The drivers will look for a specific device and use the first one found. -# If you have mulitple devices, then look for unique information (like SN) -# And fill that in here. +# See https://github.com/stefanrueger/urboot + +programmer + id = "urclock"; + desc = "Urclock programmer for urboot bootloaders using urprotocol"; + type = "urclock"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# xbee +#------------------------------------------------------------ + +programmer + id = "xbee"; + desc = "XBee for Series 2 Over-The-Air (XBeeBoot) bootloader using STK500 v1 protocol"; + type = "xbee"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft2232h +#------------------------------------------------------------ + +# Interfaces with the chips on these programmers: +# - http://real.kiev.ua/old/avreal/en/adapters +# - http://www.amontec.com/jtagkey.shtml and .../jtagkey-tiny.shtml +# - http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html +# - http://www.ethernut.de/en/hardware/turtelizer/index.html +# - https://web.archive.org/web/20161221220118/http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html +# - http://dangerousprototypes.com/docs/FT2232_breakout_board +# - http://flashrom.org/FT2232SPI_Programmer +# +# The drivers will look for a specific device and use the first one +# found. If you have mulitple devices, and they give out serial +# numbers, a different entry for each of them can be created in a +# persnonal ~/.avrduderc or avrdude.rc entry and the usbsn = "..."; +# field added to distinguish between them. # # Note that the pin numbers for the main ISP signals (reset, sck, -# mosi, miso) are fixed and cannot be changed, since they must match +# sdo, sdi) are fixed and cannot be changed, since they must match # the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of # these FTDI ICs has been designed. +# +# See also https://ftdichip.com/wp-content/uploads/2020/07/DS_FT2232H.pdf programmer - id = "avrftdi"; - desc = "FT2232D based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x6010; - usbvendor = ""; - usbproduct = ""; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ADBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; -#LED SIGNALs - higher ADBUS-Nibble -# errled = 4; -# rdyled = 5; -# pgmled = 6; -# vfyled = 7; -#Buffer Signal - ACBUS - Nibble -# buff = 8; + id = "ft2232h", "avrftdi", "2232h"; + desc = "FT2232H/D based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; +# ISP-signals - lower ADBUS-Nibble (default) + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) ; + +#------------------------------------------------------------ +# 2232HIO +#------------------------------------------------------------ + # This is an implementation of the above with a buffer IC (74AC244) and # 4 LEDs directly attached, all active low. -programmer - id = "2232HIO"; - desc = "FT2232H based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is reserved for generic H devices and -# should be programmed into the EEPROM -# usbpid = 0x8A48; - usbpid = 0x6010; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - reset = 3; - sck = 0; - mosi = 1; - miso = 2; - buff = ~4; -#LED SIGNALs - errled = ~ 11; - rdyled = ~ 14; - pgmled = ~ 13; - vfyled = ~ 12; + +programmer parent "ft2232h" + id = "2232hio"; + desc = "2232hio based on FT2232H with buffer and LEDs"; + buff = ~4; +# LED SIGNALs + errled = ~11; + rdyled = ~14; + pgmled = ~13; + vfyled = ~12; ; -#The FT4232H can be treated as FT2232H, but it has a different USB -#device ID of 0x6011. -programmer parent "avrftdi" - id = "4232h"; - desc = "FT4232H based generic programmer"; - usbpid = 0x6011; +#------------------------------------------------------------ +# tigard +#------------------------------------------------------------ + +# Tigard - FT2232H based multi-protocol tool for hardware hacking +# https://github.com/tigard-tools/tigard + +programmer parent "ft2232h" + id = "tigard"; + desc = "Tigard interface board"; + usbdev = "B"; +# Reset is different to the FT2232H; sck, sdo, sdi remain at 0, 1, 2 + reset = 5; # BD5 (GPIOL1) ; +#------------------------------------------------------------ +# avrisp-u +#------------------------------------------------------------ + +# Kanda's low cost FT2232H based programmer. Uses a different reset pin. +# Adds a buffer and a LED indicating that the programming is in progress. +# https://www.kanda.com/products/Kanda/AVRISP-U.html + +programmer parent "ft2232h" + id = "avrisp-u"; + desc = "Kanda AVRISP-U"; + usbsn = "AVR"; + buff = ~5; + reset = 4; + pgmled = ~10; +; + +#------------------------------------------------------------ +# ft4232h +#------------------------------------------------------------ + +# The FT4232H can be treated as FT2232H but with a different USB +# device ID of 0x6011 + +programmer parent "ft2232h" + id = "ft4232h", "4232h"; + desc = "FT4232H based generic programmer"; + usbpid = 0x6011; +; + +#------------------------------------------------------------ +# jtagkey +#------------------------------------------------------------ + programmer - id = "jtagkey"; - desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is used in all JTAGKey variants - usbpid = 0xCFF8; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals => 20 - Pin connector on JTAGKey - reset = 3; # TMS 7 violet - sck = 0; # TCK 9 white - mosi = 1; # TDI 5 green - miso = 2; # TDO 13 orange - buff = ~4; -# VTG VREF 1 brown with red tip -# GND GND 20 black -# The colors are on the 20 pin breakout cable -# from Amontec + id = "jtagkey"; + desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is used in all JTAGKey variants + usbpid = 0xcff8; + usbdev = "A"; + buff = ~4; +# ISP-signals => 20 - Pin connector on JTAGKey + reset = 3; # TMS 7 violet + sck = 0; # TCK 9 white + sdo = 1; # TDI 5 green + sdi = 2; # TDO 13 orange +# VTG VREF 1 brown with red tip +# GND GND 20 black +# The colors are on the 20 pin breakout cable from Amontec ; -# UM232H module from FTDI and Glyn.com.au. -# See helix.air.net.au for detailed usage information. -# J1: Connect pin 2 and 3 for USB power. -# J2: Connect pin 2 and 3 for USB power. -# J2: Pin 7 is SCK -# : Pin 8 is MOSI -# : Pin 9 is MISO -# : Pin 11 is RST -# : Pin 6 is ground +#------------------------------------------------------------ +# ft232h +#------------------------------------------------------------ + +programmer + id = "ft232h"; + desc = "FT232H based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; +# ISP-signals + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) +; + +#------------------------------------------------------------ +# um232h +#------------------------------------------------------------ + +# Pin J2-7 (AD0) is SCK +# Pin J2-8 (AD1) is SDO +# Pin J2-9 (AD2) is SDI +# Pin J2-10 (AD3) is RESET +# Pin J2-6 is GND # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "UM232H"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; + +programmer parent "ft232h" + id = "um232h"; + desc = "UM232H module from FTDI"; ; -# C232HM module from FTDI and Glyn.com.au. -# : Orange is SCK -# : Yellow is MOSI -# : Green is MISO -# : Brown is RST -# : Black is ground +#------------------------------------------------------------ +# c232hm +#------------------------------------------------------------ + +# Orange (Pin 2) is SCK +# Yellow (Pin 3) is SDO +# Green (Pin 4) is SDI +# Brown (Pin 5) is RESET +# Black (Pin 10) is GND # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "C232HM"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; + +programmer parent "ft232h" + id = "c232hm"; + desc = "C232HM cable from FTDI"; ; +#------------------------------------------------------------ +# o-link +#------------------------------------------------------------ + +# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1". +# You can find it as "OpenJTAG ARM JTAG USB" in the internet. Note there are also +# several projects called Open JTAG, which are completely different. Some other +# sources call it O-Link or just have a look at ebay ... It is basically the same +# entry as jtagkey with different usb ids. See www.100ask.net -# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1" -# You can find it as "OpenJTAG ARM JTAG USB" in the internet. -# (But there are also several projects called Open JTAG, eg. -# http://www.openjtag.org, which are completely different.) -# http://www.100ask.net/shop/english.html (website seems to be outdated) -# http://item.taobao.com/item.htm?id=1559277013 -# http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!) -# some other sources which call it O-Link -# http://www.andahammer.com/olink/ -# http://www.developmentboard.net/31-o-link-debugger.html -# http://armwerks.com/catalog/o-link-debugger-copy/ -# or just have a look at ebay ... -# It is basically the same entry as jtagkey with different usb ids. programmer parent "jtagkey" - id = "o-link"; - desc = "O-Link, OpenJTAG from www.100ask.net"; - usbvid = 0x1457; - usbpid = 0x5118; - usbvendor = "www.100ask.net"; - usbproduct = "USB<=>JTAG&RS232"; + id = "o-link"; + desc = "O-Link, OpenJTAG ARM JTAG USB"; + usbvid = 0x1457; + usbpid = 0x5118; + usbvendor = "www.100ask.net"; + usbproduct = "USB<=>JTAG&RS232"; ; +#------------------------------------------------------------ +# openmoko +#------------------------------------------------------------ + # http://wiki.openmoko.org/wiki/Debug_Board_v3 + programmer - id = "openmoko"; - desc = "Openmoko debug board (v3)"; - type = "avrftdi"; - usbvid = 0x1457; - usbpid = 0x5118; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; - reset = 3; # TMS 7 - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 + id = "openmoko"; + desc = "Openmoko debug board (v3)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + usbvid = 0x1457; + usbpid = 0x5118; + usbdev = "A"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# lm3s811 +#------------------------------------------------------------ + # Only Rev. A boards. # Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf + programmer - id = "lm3s811"; - desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0xbcd9; - usbvendor = "LMI"; - usbproduct = "LM3S811 Evaluation Board"; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ACBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; + id = "lm3s811"; + desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbcd9; + usbdev = "A"; + usbvendor = "LMI"; + usbproduct = "LM3S811 Evaluation Board"; # Enable correct buffers - buff = 7; + buff = 7; +# ISP-signals - lower ACBUS-Nibble (default) + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; +#------------------------------------------------------------ +# tumpa +#------------------------------------------------------------ + # submitted as bug #46020 -programmer - id = "tumpa"; - desc = "TIAO USB Multi-Protocol Adapter"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x8A98; - usbdev = "A"; - usbvendor = "TIAO"; - usbproduct = ""; - usbsn = ""; - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 - reset = 3; # TMS 7 -; programmer - id = "avrisp"; - desc = "Atmel AVR ISP"; - type = "stk500"; - connection_type = serial; + id = "tumpa"; + desc = "TIAO USB Multi-Protocol Adapter"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x8a98; + usbdev = "A"; + usbvendor = "TIAO"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# ktlink +#------------------------------------------------------------ + +# Kristech KT-LINK FT2232H interface with IO switching and voltage buffers. +# Created on 20220410 by CeDeROM Tomasz CEDRO (www.cederom.io). +# Interface DataSheet: https://kristech.pl/files/KT-LINK-UM-ENG.pdf +# +# AVRDUDE FT2232H PIN NUMBER DECODE: +# | 0 | 1 | .. | 7 | 8 | 9 | .. | 15 | +# | ADBUS0 | ADBUS1 | .. | ADBUS7 | ACBUS0 | ACBUS1 | .. | ACBUS7 | +# +# KT-LINK JTAG CONN: +# 1=Vsense(->EXT13), 19=5V(EXT1->EXT3), 20=GND, 3=TPIRST, 9=TPICLK, 7=TPIDATA. +# +# INTERNALS CONFIGURATION ("~" MEANS ACTIVE LOW): +# ~TRST_EN=10(ACBUS2), ~CLK_EN=14(ACBUS6), ~SDO_EN=13(ACBUS5), +# TMS_SEL=5(ADBUS5), ~TMS_EN=12(ACBUS4), LED=~15(ACBUS7). +# +# CONNECTION NOTES: +# * Connect EXT connector pin 1 with 3 to get 5V on JTAG connector pin 19. +# * Connect JTAG connector pin 1 to 5V (i.e. EXT pin 13 or JTAG pin 19). +# * For TPI connection use resistors: TDO --[470R]-- TPIDATA --[470R]-- TDI. +# * Powering target from JTAG pin 19 allows KT-LINK current measurement. + programmer - id = "avrispv2"; - desc = "Atmel AVR ISP V2"; - type = "stk500v2"; - connection_type = serial; + id = "ktlink"; + desc = "KT-LINK FT2232H interface with IO switching and voltage buffers"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbbe2; + usbdev = "A"; + buff = 5, ~10, ~13, ~14; + reset = 8; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~15; ; +#------------------------------------------------------------ +# digilent-hs2 +#------------------------------------------------------------ + +# Digilent JTAG HS2 programmer. FT232H-based dongle with buffers. +# https://digilent.com/reference/_media/reference/programmers/jtag-hs2/jtag-hs2_rm.pdf + programmer - id = "avrispmkII"; - desc = "Atmel AVR ISP mkII"; - type = "stk500v2"; - connection_type = usb; + id = "digilent-hs2"; + desc = "Digilent JTAG HS2 (MPSSE)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; + buff = 5, 6, 7; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; -programmer parent "avrispmkII" - id = "avrisp2"; -; +#------------------------------------------------------------ +# flyswatter2 +#------------------------------------------------------------ + +# FT2232H based JTAG programmer. Requires a buff pin to be set. +# https://www.tincantools.com/flyswatter2 programmer - id = "buspirate"; - desc = "The Bus Pirate"; - type = "buspirate"; - connection_type = serial; + id = "flyswatter2"; + desc = "TinCan Tools Flyswatter 2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; + usbvendor = "TinCanTools"; + usbproduct = "Flyswatter2"; + buff = ~6; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~11; + pgmled = ~12; ; +#------------------------------------------------------------ +# serialupdi +#------------------------------------------------------------ + programmer - id = "buspirate_bb"; - desc = "The Bus Pirate (bitbang interface, supports TPI)"; - type = "buspirate_bb"; - connection_type = serial; + id = "serialupdi"; + desc = "SerialUPDI"; + type = "serialupdi"; + prog_modes = PM_UPDI; + connection_type = serial; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# avrisp +#------------------------------------------------------------ + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispv2 +#------------------------------------------------------------ + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP v2"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispmkII +#------------------------------------------------------------ + +programmer + id = "avrispmkII", "avrisp2"; + desc = "Atmel AVR ISP mkII"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; +; + +#------------------------------------------------------------ +# buspirate +#------------------------------------------------------------ + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = "buspirate"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# buspirate_bb +#------------------------------------------------------------ + +programmer + id = "buspirate_bb"; + desc = "The Bus Pirate (bitbang interface, supports TPI)"; + type = "buspirate_bb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; # pins are bits in bitbang byte (numbers are 87654321) - # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS - reset = 1; - sck = 3; - mosi = 4; - miso = 2; - #vcc = 7; This is internally set independent of this setting. + # 1|POWER|PULLUP|AUX|SDO|CLK|SDI|CS + reset = 1; + sck = 3; + sdo = 4; + sdi = 2; + # vcc = 7; # Internally set independent of this setting ; +#------------------------------------------------------------ +# stk500 +#------------------------------------------------------------ + # This is supposed to be the "default" STK500 entry. # Attempts to select the correct firmware version # by probing for it. Better use one of the entries # below instead. -programmer - id = "stk500"; - desc = "Atmel STK500"; - type = "stk500generic"; - connection_type = serial; -; programmer - id = "stk500v1"; - desc = "Atmel STK500 Version 1.x firmware"; - type = "stk500"; - connection_type = serial; + id = "stk500"; + desc = "Atmel STK500"; + type = "stk500generic"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "mib510"; - desc = "Crossbow MIB510 programming board"; - type = "stk500"; - connection_type = serial; -; +#------------------------------------------------------------ +# stk500v1 +#------------------------------------------------------------ programmer - id = "stk500v2"; - desc = "Atmel STK500 Version 2.x firmware"; - type = "stk500v2"; - connection_type = serial; + id = "stk500v1"; + desc = "Atmel STK500 version 1.x firmware"; + type = "stk500"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "stk500pp"; - desc = "Atmel STK500 V2 in parallel programming mode"; - type = "stk500pp"; - connection_type = serial; -; +#------------------------------------------------------------ +# arduino_as_isp +#------------------------------------------------------------ + +# Not to be confused with arduinoISP, this is the same as `-c stk500v1` +# but treats EEPROM r/w correctly for arduino_as_isp programmers programmer - id = "stk500hvsp"; - desc = "Atmel STK500 V2 in high-voltage serial programming mode"; - type = "stk500hvsp"; - connection_type = serial; + id = "arduino_as_isp"; + desc = "Arduino board as programmer using arduino as ISP firmware"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; ; -programmer - id = "stk600"; - desc = "Atmel STK600"; - type = "stk600"; - connection_type = usb; -; +#------------------------------------------------------------ +# mib510 +#------------------------------------------------------------ programmer - id = "stk600pp"; - desc = "Atmel STK600 in parallel programming mode"; - type = "stk600pp"; - connection_type = usb; + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = "stk500"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; ; -programmer - id = "stk600hvsp"; - desc = "Atmel STK600 in high-voltage serial programming mode"; - type = "stk600hvsp"; - connection_type = usb; -; +#------------------------------------------------------------ +# stk500v2 +#------------------------------------------------------------ programmer - id = "avr910"; - desc = "Atmel Low Cost Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "stk500v2", "scratchmonkey"; + desc = "Atmel STK500 version 2.x firmware"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "ft245r"; - desc = "FT245R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # D1 - sck = 0; # D0 - mosi = 2; # D2 - reset = 4; # D4 -; +#------------------------------------------------------------ +# stk500pp +#------------------------------------------------------------ programmer - id = "ft232r"; - desc = "FT232R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # RxD - sck = 0; # TxD - mosi = 2; # RTS - reset = 4; # DTR + id = "stk500pp", "scratchmonkey_pp"; + desc = "Atmel STK500 v2 in parallel programming mode"; + type = "stk500pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; +#------------------------------------------------------------ +# stk500hvsp +#------------------------------------------------------------ + +programmer + id = "stk500hvsp", "scratchmonkey_hvsp"; + desc = "Atmel STK500 v2 in high-voltage serial programming mode"; + type = "stk500hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; +; + +#------------------------------------------------------------ +# stk600 +#------------------------------------------------------------ + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = "stk600"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600pp +#------------------------------------------------------------ + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = "stk600pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600hvsp +#------------------------------------------------------------ + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = "stk600hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# avr910 +#------------------------------------------------------------ + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft245r +#------------------------------------------------------------ + +programmer + id = "ft245r"; + desc = "FT245R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # D4 + sck = 0; # D0 + sdo = 2; # D2 + sdi = 1; # D1 +; + +#------------------------------------------------------------ +# ft232r +#------------------------------------------------------------ + +programmer + id = "ft232r"; + desc = "FT232R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # DTR + sck = 0; # TxD + sdo = 2; # RTS + sdi = 1; # RxD +; + +#------------------------------------------------------------ +# bwmega +#------------------------------------------------------------ + # see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega + programmer - id = "bwmega"; - desc = "BitWizard ftdi_atmega builtin programmer"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 5; # DSR - sck = 6; # DCD - mosi = 3; # CTS - reset = 7; # RI + id = "bwmega"; + desc = "BitWizard ftdi_atmega builtin programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI + sck = 6; # DCD + sdo = 3; # CTS + sdi = 5; # DSR ; -# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html -# Note: pins are numbered from 1! +#------------------------------------------------------------ +# arduino-ft232r +#------------------------------------------------------------ + +# This programmer helps programming the Arduino Diecimila, NG and +# Duemilanove (but not the Uno) without bootloader or external +# programmer using the on-board FT232RL chip. Instructions here: +# https://make.kosakalab.com/arduino/bootloader/index_en.html +# Note that the -c diecimila avrdude.conf entry mentioned in above post +# is the same as the -c arduino-ft232r entry here. + programmer - id = "arduino-ft232r"; - desc = "Arduino: FT232R connected to ISP"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # CTS X3(1) - sck = 5; # DSR X3(2) - mosi = 6; # DCD X3(3) - reset = 7; # RI X3(4) + id = "arduino-ft232r", "diecimila"; + desc = "Arduino: FT232R connected to ISP"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI X3(4) + sck = 5; # DSR X3(2) + sdo = 6; # DCD X3(3) + sdi = 3; # CTS X3(1) ; -# website mentioned above uses this id -programmer parent "arduino-ft232r" - id = "diecimila"; - desc = "alias for arduino-ft232r"; +#------------------------------------------------------------ +# tc2030 +#------------------------------------------------------------ + +programmer + id = "tc2030"; + desc = "Tag-Connect TC2030"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + # FOR TPI devices: + reset = 3; # CTS = D3 (wire to ~RESET) + sck = 2; # RTS = D2 (wire to SCK) + sdo = 0; # TxD = D0 (wire to TPIDATA via 1k resistor) + sdi = 1; # RxD = D1 (wire to TPIDATA directly) ; +#------------------------------------------------------------ +# uncompatino +#------------------------------------------------------------ + # There is a ATmega328P kit PCB called "uncompatino". # This board allows ISP via its on-board FT232R. # This is designed like Arduino Duemilanove but has no standard ICPS header. # Its 4 pairs of pins are shorted to enable ftdi_syncbb. # http://akizukidenshi.com/catalog/g/gP-07487/ # http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf + programmer - id = "uncompatino"; - desc = "uncompatino with all pairs of pins shorted"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # cts - sck = 5; # dsr - mosi = 6; # dcd - reset = 7; # ri + id = "uncompatino"; + desc = "uncompatino with all pairs of pins shorted"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # ri + sck = 5; # dsr + sdo = 6; # dcd + sdi = 3; # cts ; +#------------------------------------------------------------ +# ttl232r +#------------------------------------------------------------ + # FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP -# http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm -# http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf -# For ICSP pinout see for example http://www.atmel.com/images/doc2562.pdf +# - https://ftdichip.com/product-category/products/cables/usb-ttl-serial-cable-series/ +# - http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf +# +# For ICSP pinout see, e.g., http://ww1.microchip.com/downloads/en/DeviceDoc/doc2562.pdf # (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...) # TTL-232R GND 1 Black -> ICPS GND (pin 6) -# TTL-232R CTS 2 Brown -> ICPS MOSI (pin 4) +# TTL-232R CTS 2 Brown -> ICPS SDO (pin 4) # TTL-232R VCC 3 Red -> ICPS VCC (pin 2) # TTL-232R TXD 4 Orange -> ICPS RESET (pin 5) # TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3) -# TTL-232R RTS 6 Green -> ICPS MISO (pin 1) -# Except for VCC and GND, you can connect arbitual pairs as long as -# the following table is adjusted. -programmer - id = "ttl232r"; - desc = "FTDI TTL232R-5V with ICSP adapter"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 2; # rts - sck = 1; # rxd - mosi = 3; # cts - reset = 0; # txd -; +# TTL-232R RTS 6 Green -> ICPS SDI (pin 1) +# +# Except for VCC and GND, you can connect arbitrary pairs as long as the +# following table is adjusted. programmer - id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - usbvendor = "www.fischl.de"; - usbproduct = "USBasp"; - - # following variants are autodetected for id "usbasp" - - # original usbasp from fischl.de - # see above "usbasp" - - # old usbasp from fischl.de - #usbvid = 0x03EB; # ATMEL - #usbpid = 0xC7B4; # (unoffical) USBasp - #usbvendor = "www.fischl.de"; - #usbproduct = "USBasp"; - - # NIBObee (only if -P nibobee is given on command line) - # see below "nibobee" + id = "ttl232r"; + desc = "FTDI TTL232R-5V with ICSP adapter"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 0; # txd + sck = 1; # rxd + sdo = 3; # cts + sdi = 2; # rts ; +#------------------------------------------------------------ +# usbasp +#------------------------------------------------------------ + +# From http://www.fischl.de/usbasp +# USBasp is a USB in-circuit programmer for Atmel AVR controllers. It +# simply consists of an ATmega88 or an ATmega8 and a couple of passive +# components. The programmer uses a firmware-only USB driver, no +# special USB controller is needed. +# +# Firmware, schematics and drivers are available under above URL, too. +# +# Alternative firmware for the external programmer: +# +# - https://github.com/mariusgreuel/USBasp +# Windows OS descriptor to load WinUSB driver automatically +# +# - https://github.com/nerdralph/usbasp +# WCID compliant, meaning it should work on Windows without any +# driver or .inf install; default SCK clock of 1.5 MHz and automatic +# SCK slowing if target does not respond; PORTD is left as input, so +# this firmware also works with USBISP modules, eg, +# https://www.sciencetronics.com/greenphotons/?p=938 +# +# - https://github.com/dioannidis/usbasp +# As above plus HID UART support, setting unique serial number and +# AT89S51/AT89S52 support + programmer - id = "nibobee"; - desc = "NIBObee"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x092F; # NIBObee PID - usbvendor = "www.nicai-systems.com"; - usbproduct = "NIBObee"; + id = "usbasp"; + desc = "USBasp ISP and TPI programmer"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID + usbvendor = "www.fischl.de"; + usbproduct = "USBasp"; + + # Old usbasp from fischl.de: + # usbvid = 0x03EB; # ATMEL + # usbpid = 0xC7B4; # (unoffical) USBasp + # usbvendor = "www.fischl.de"; + # usbproduct = "USBasp"; ; +#------------------------------------------------------------ +# nibobee +#------------------------------------------------------------ + +# http://www.nicai-systems.com/en/nibobee + programmer - id = "usbasp-clone"; - desc = "Any usbasp clone with correct VID/PID"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - #usbvendor = ""; - #usbproduct = ""; + id = "nibobee"; + desc = "NIBObee"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x092f; # NIBObee PID + usbvendor = "www.nicai-systems.com"; + usbproduct = "NIBObee"; ; -# USBtiny can also be used for TPI programming. -# In that case, a resistor of 1 kOhm is needed between MISO and MOSI -# pins of the connector, and MISO (pin 1 of the 6-pin connector) +#------------------------------------------------------------ +# usbasp-clone +#------------------------------------------------------------ + +programmer + id = "usbasp-clone"; + desc = "Any usbasp clone with correct VID/PID"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID +; + +#------------------------------------------------------------ +# usbtiny +#------------------------------------------------------------ + +# https://learn.adafruit.com/usbtinyisp +# +# The ISP USBtiny programmer can also be used for TPI programming. +# In that case, a resistor of 1 kOhm is needed between SDI and SDO +# pins of the connector, and SDI (pin 1 of the 6-pin connector) # connects to TPIDATA. -programmer - id = "usbtiny"; - desc = "USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x1781; - usbpid = 0x0c9f; -; - -# commercial version of USBtiny, using a separate VID/PID -programmer - id = "ehajo-isp"; - desc = "avr-isp-programmer from eHaJo, http://www.eHaJo.de"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x16D0; - usbpid = 0x0BA5; -; programmer - id = "arduinoisp"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2341; - usbpid = 0x0049; + id = "usbtiny"; + desc = "USBtiny simple USB programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# arduino_gemma +#------------------------------------------------------------ + +# https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/gemma + programmer - id = "arduinoisporg"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2A03; - usbpid = 0x0049; + id = "arduino_gemma"; + desc = "Arduino Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# adafruit_gemma +#------------------------------------------------------------ + +# https://github.com/adafruit/Adafruit-Trinket-Gemma-Bootloader + programmer - id = "butterfly"; - desc = "Atmel Butterfly Development Board"; - type = "butterfly"; - connection_type = serial; + id = "adafruit_gemma"; + desc = "Adafruit Trinket Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# arduinoisp +#------------------------------------------------------------ + programmer - id = "avr109"; - desc = "Atmel AppNote AVR109 Boot Loader"; - type = "butterfly"; - connection_type = serial; + id = "arduinoisp"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0049; ; +#------------------------------------------------------------ +# arduinoisporg +#------------------------------------------------------------ + programmer - id = "avr911"; - desc = "Atmel AppNote AVR911 AVROSP"; - type = "butterfly"; - connection_type = serial; -; - -# suggested in http://forum.mikrokopter.de/topic-post48317.html -programmer - id = "mkbutterfly"; - desc = "Mikrokopter.de Butterfly"; - type = "butterfly_mk"; - connection_type = serial; + id = "arduinoisporg"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2a03; + usbpid = 0x0049; ; -programmer parent "mkbutterfly" - id = "butterfly_mk"; -; +#------------------------------------------------------------ +# ehajo-isp +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# http://www.eHaJo.de (closed from end of 2023) programmer - id = "jtagmkI"; - desc = "Atmel JTAG ICE (mkI)"; - baudrate = 115200; # default is 115200 - type = "jtagmki"; - connection_type = serial; + id = "ehajo-isp"; + desc = "AVR ISP programmer from eHaJo.de"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0ba5; ; -# easier to type -programmer parent "jtagmkI" - id = "jtag1"; +#------------------------------------------------------------ +# iseavrprog +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# https://iascaled.com +# +# https://github.com/IowaScaledEngineering/ckt-avrprogrammer + +programmer + id = "iseavrprog"; + desc = "AVR ISP programmer from iascaled.com"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1209; + usbpid = 0x6570; ; -# easier to type +#------------------------------------------------------------ +# micronucleus +#------------------------------------------------------------ + +programmer + id = "micronucleus"; + desc = "Micronucleus for bootloader"; + type = "micronucleus"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0753; +; + +#------------------------------------------------------------ +# teensy +#------------------------------------------------------------ + +programmer + id = "teensy"; + desc = "Teensy for bootloader"; + type = "teensy"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16c0; + usbpid = 0x0478; +; + +#------------------------------------------------------------ +# ch341a +#------------------------------------------------------------ + +# Allows programming of AVR parts with F_CPU of min 6.8 MHz with the +# CH341A chip http://www.wch-ic.com/downloads/CH341DS1_PDF.html +# +# See also: +# https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html +# +# Connection scheme: +# CH341A chip -- AVR ISP Connector +# ~CTS/D0/CS0 -- RESET (can be D1 or D2, see reset setting below) +# ~DCD/D3/DCK -- SCK +# ~DTR/D5/DOUT -- SDO +# ~SLP/D7/DIN -- SDI +# GND -- GND +# 5V -- Vcc/Vin (or disconnect if separately powered) + +programmer + id = "ch341a"; + desc = "ch341a programmer (AVR must have minimum F_CPU of 6.8 MHz)"; + type = "ch341a"; + prog_modes = PM_ISP; + connection_type = usb; + usbvid = 0x1a86; + usbpid = 0x5512; + usbvendor = "wch.cn"; + usbproduct = "CH341A"; + reset = 0; # Can be 0, 1 or 2 for CS0, CS1 or CS2 +; + +#------------------------------------------------------------ +# butterfly +#------------------------------------------------------------ + +programmer + id = "butterfly"; + desc = "Atmel for bootloader (Butterfly Development Board)"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr109 +#------------------------------------------------------------ + +programmer + id = "avr109"; + desc = "Atmel for bootloader using AppNote AVR109"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr911 +#------------------------------------------------------------ + +programmer + id = "avr911"; + desc = "Atmel for bootloader using AppNote AVR911 AVROSP"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# butterfly_mk and mkbutterfly +#------------------------------------------------------------ + +# http://forum.mikrokopter.de + +programmer + id = "butterfly_mk", "mkbutterfly"; + desc = "Mikrokopter.de Butterfly for bootloader"; + type = "butterfly_mk"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# jtagmkI +#------------------------------------------------------------ + +programmer + id = "jtagmkI", "jtag1"; + desc = "Atmel JTAG ICE (mkI)"; + type = "jtagmki"; + prog_modes = PM_JTAGmkI; + extra_features = HAS_VTARG_READ; + connection_type = serial; + baudrate = 115200; # default is 115200 +; + +#------------------------------------------------------------ +# jtag1slow +#------------------------------------------------------------ + programmer parent "jtag1" - id = "jtag1slow"; - baudrate = 19200; + id = "jtag1slow"; + baudrate = 19200; ; +#------------------------------------------------------------ +# jtagmkII +#------------------------------------------------------------ + # The JTAG ICE mkII has both, serial and USB connectivity. As it is # mostly used through USB these days (AVR Studio 5 only supporting it # that way), we make connection_type = usb the default. Users are # still free to use a serial port with the -P option. programmer - id = "jtagmkII"; - desc = "Atmel JTAG ICE mkII"; - baudrate = 19200; # default is 19200 - type = "jtagmkii"; - connection_type = usb; + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + type = "jtagmkii"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 19200; # default is 19200 ; -# easier to type +#------------------------------------------------------------ +# jtag2slow +#------------------------------------------------------------ + programmer parent "jtagmkII" - id = "jtag2slow"; + id = "jtag2slow"; ; -# JTAG ICE mkII @ 115200 Bd +#------------------------------------------------------------ +# jtag2fast +#------------------------------------------------------------ + +# JTAG ICE mkII @ 115200 Bd (and alias jtag2 the fast version) + programmer parent "jtag2slow" - id = "jtag2fast"; - baudrate = 115200; + id = "jtag2fast", "jtag2"; + baudrate = 115200; ; -# make the fast one the default, people will love that -programmer parent "jtag2fast" - id = "jtag2"; -; +#------------------------------------------------------------ +# jtag2isp +#------------------------------------------------------------ # JTAG ICE mkII in ISP mode + programmer - id = "jtag2isp"; - desc = "Atmel JTAG ICE mkII in ISP mode"; - baudrate = 115200; - type = "jtagmkii_isp"; - connection_type = usb; + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + type = "jtagmkii_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2dw +#------------------------------------------------------------ + # JTAG ICE mkII in debugWire mode + programmer - id = "jtag2dw"; - desc = "Atmel JTAG ICE mkII in debugWire mode"; - baudrate = 115200; - type = "jtagmkii_dw"; - connection_type = usb; + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + type = "jtagmkii_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; -# JTAG ICE mkII in AVR32 mode -programmer - id = "jtagmkII_avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; -; +#------------------------------------------------------------ +# jtagmkII_avr32 +#------------------------------------------------------------ # JTAG ICE mkII in AVR32 mode + programmer - id = "jtag2avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; + id = "jtagmkII_avr32", "jtag2avr32"; + desc = "Atmel JTAG ICE mkII in AVR32 mode"; + type = "jtagmkii_avr32"; + prog_modes = PM_aWire; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2pdi +#------------------------------------------------------------ + # JTAG ICE mkII in PDI mode + programmer - id = "jtag2pdi"; - desc = "Atmel JTAG ICE mkII PDI mode"; - baudrate = 115200; - type = "jtagmkii_pdi"; - connection_type = usb; + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII in PDI mode"; + type = "jtagmkii_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_jtag +#------------------------------------------------------------ + # AVR Dragon in JTAG mode + programmer - id = "dragon_jtag"; - desc = "Atmel AVR Dragon in JTAG mode"; - baudrate = 115200; - type = "dragon_jtag"; - connection_type = usb; + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + type = "dragon_jtag"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_isp +#------------------------------------------------------------ + # AVR Dragon in ISP mode + programmer - id = "dragon_isp"; - desc = "Atmel AVR Dragon in ISP mode"; - baudrate = 115200; - type = "dragon_isp"; - connection_type = usb; + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + type = "dragon_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pp +#------------------------------------------------------------ + # AVR Dragon in PP mode + programmer - id = "dragon_pp"; - desc = "Atmel AVR Dragon in PP mode"; - baudrate = 115200; - type = "dragon_pp"; - connection_type = usb; + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + type = "dragon_pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_hvsp +#------------------------------------------------------------ + # AVR Dragon in HVSP mode + programmer - id = "dragon_hvsp"; - desc = "Atmel AVR Dragon in HVSP mode"; - baudrate = 115200; - type = "dragon_hvsp"; - connection_type = usb; + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + type = "dragon_hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_dw +#------------------------------------------------------------ + # AVR Dragon in debugWire mode + programmer - id = "dragon_dw"; - desc = "Atmel AVR Dragon in debugWire mode"; - baudrate = 115200; - type = "dragon_dw"; - connection_type = usb; + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + type = "dragon_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pdi +#------------------------------------------------------------ + # AVR Dragon in PDI mode -programmer - id = "dragon_pdi"; - desc = "Atmel AVR Dragon in PDI mode"; - baudrate = 115200; - type = "dragon_pdi"; - connection_type = usb; -; programmer - id = "jtag3"; - desc = "Atmel AVR JTAGICE3 in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + type = "dragon_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag3 +#------------------------------------------------------------ + programmer - id = "jtag3pdi"; - desc = "Atmel AVR JTAGICE3 in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3"; + desc = "Atmel AVR JTAGICE3 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3pdi +#------------------------------------------------------------ + programmer - id = "jtag3dw"; - desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3pdi"; + desc = "Atmel AVR JTAGICE3 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3updi +#------------------------------------------------------------ + programmer - id = "jtag3isp"; - desc = "Atmel AVR JTAGICE3 in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3updi"; + desc = "Atmel AVR JTAGICE3 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# jtag3dw +#------------------------------------------------------------ + programmer - id = "xplainedpro"; - desc = "Atmel AVR XplainedPro in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2111; + id = "jtag3dw"; + desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3isp +#------------------------------------------------------------ + programmer - id = "xplainedpro_updi"; - desc = "Atmel AVR XplainedPro in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2111; + id = "jtag3isp"; + desc = "Atmel AVR JTAGICE3 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# xplainedpro +#------------------------------------------------------------ + programmer - id = "xplainedmini"; - desc = "Atmel AVR XplainedMini in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro"; + desc = "Atmel AVR XplainedPro in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + connection_type = usb; + usbpid = 0x2111; ; +#------------------------------------------------------------ +# xplainedpro_pdi +#------------------------------------------------------------ + programmer - id = "xplainedmini_dw"; - desc = "Atmel AVR XplainedMini in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro_pdi"; + desc = "Atmel AVR XplainedPro in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedpro_updi +#------------------------------------------------------------ + programmer - id = "xplainedmini_updi"; - desc = "Atmel AVR XplainedMini in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro_updi"; + desc = "Atmel AVR XplainedPro in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedmini / xplainedmini_isp +#------------------------------------------------------------ + programmer - id = "atmelice"; - desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini", "xplainedmini_isp"; + desc = "Atmel AVR XplainedMini in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_dw +#------------------------------------------------------------ + programmer - id = "atmelice_pdi"; - desc = "Atmel-ICE (ARM/AVR) in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_dw"; + desc = "Atmel AVR XplainedMini in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_updi +#------------------------------------------------------------ + programmer - id = "atmelice_updi"; - desc = "Atmel-ICE (ARM/AVR) in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_updi"; + desc = "Atmel AVR XplainedMini in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedmini_tpi +#------------------------------------------------------------ + programmer - id = "atmelice_dw"; - desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_tpi"; + desc = "Atmel AVR XplainedMini in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# atmelice / atmelice_jtag +#------------------------------------------------------------ + programmer - id = "atmelice_isp"; - desc = "Atmel-ICE (ARM/AVR) in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2141; + id = "atmelice", "atmelice_jtag"; + desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_pdi +#------------------------------------------------------------ + programmer - id = "powerdebugger"; - desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_pdi"; + desc = "Atmel-ICE (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_updi +#------------------------------------------------------------ + programmer - id = "powerdebugger_pdi"; - desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_updi"; + desc = "Atmel-ICE (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# atmelice_dw +#------------------------------------------------------------ + programmer - id = "powerdebugger_updi"; - desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_dw"; + desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_isp +#------------------------------------------------------------ + programmer - id = "powerdebugger_dw"; - desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_isp"; + desc = "Atmel-ICE (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_tpi +#------------------------------------------------------------ + programmer - id = "powerdebugger_isp"; - desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_tpi"; + desc = "Atmel-ICE (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# powerdebugger / powerdebugger_jtag +#------------------------------------------------------------ + programmer - id = "pavr"; - desc = "Jason Kyle's pAVR Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "powerdebugger", "powerdebugger_jtag"; + desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_pdi +#------------------------------------------------------------ + programmer - id = "pickit2"; - desc = "MicroChip's PICkit2 Programmer"; - type = "pickit2"; - connection_type = usb; + id = "powerdebugger_pdi"; + desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_updi +#------------------------------------------------------------ + programmer - id = "flip1"; - desc = "FLIP USB DFU protocol version 1 (doc7618)"; - type = "flip1"; - connection_type = usb; + id = "powerdebugger_updi"; + desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; + hvupdi_support = 0, 1; ; +#------------------------------------------------------------ +# powerdebugger_dw +#------------------------------------------------------------ + programmer - id = "flip2"; - desc = "FLIP USB DFU protocol version 2 (AVR4023)"; - type = "flip2"; - connection_type = usb; + id = "powerdebugger_dw"; + desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_isp +#------------------------------------------------------------ -#This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface -# -#To enable it set the configuration below to match the GPIO lines connected to the -#relevant ISP header pins and uncomment the entry definition. In case you don't -#have the required permissions to edit this system wide config file put the -#entry in a separate .conf file and use it with -C+.conf -#on the command line. -# -#To check if your avrdude build has support for the linuxgpio programmer compiled in, -#use -c?type on the command line and look for linuxgpio in the list. If it's not available -#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude. -# -#programmer -# id = "linuxgpio"; -# desc = "Use the Linux sysfs interface to bitbang GPIO lines"; -# type = "linuxgpio"; -# reset = ?; -# sck = ?; -# mosi = ?; -# miso = ?; -#; - - -#This programmer uses the built in linux SPI bus devices to program an -#attached AVR. A GPIO accessed through the sysfs GPIO interface needs to -#be specified for a reset pin since the linux SPI userspace functions do -#not allow for control over the slave select/chip select signal. -# programmer - id = "linuxspi"; - desc = "Use Linux SPI device in /dev/spidev*"; - type = "linuxspi"; - reset = 25; + id = "powerdebugger_isp"; + desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; -# some ultra cheap programmers use bitbanging on the -# serialport. +#------------------------------------------------------------ +# powerdebugger_tpi +#------------------------------------------------------------ + +programmer + id = "powerdebugger_tpi"; + desc = "Atmel PowerDebugger (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; + +#------------------------------------------------------------ +# pickit4 / pickit4_jtag +#------------------------------------------------------------ + +programmer + id = "pickit4", "pickit4_jtag"; + desc = "MPLAB(R) PICkit 4 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_updi +#------------------------------------------------------------ + +programmer + id = "pickit4_updi"; + desc = "MPLAB(R) PICkit 4 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; + hvupdi_support = 0, 1, 2; +; + +#------------------------------------------------------------ +# pickit4_pdi +#------------------------------------------------------------ + +programmer + id = "pickit4_pdi"; + desc = "MPLAB(R) PICkit 4 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_isp +#------------------------------------------------------------ + +programmer + id = "pickit4_isp"; + desc = "MPLAB(R) PICkit 4 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_tpi +#------------------------------------------------------------ + +programmer + id = "pickit4_tpi"; + desc = "MPLAB(R) PICkit 4 in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# snap /snap_jtag +#------------------------------------------------------------ + +programmer + id = "snap", "snap_jtag"; + desc = "MPLAB(R) Snap in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_updi +#------------------------------------------------------------ + +programmer + id = "snap_updi"; + desc = "MPLAB(R) SNAP in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# snap_pdi +#------------------------------------------------------------ + +programmer + id = "snap_pdi"; + desc = "MPLAB(R) SNAP in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_isp +#------------------------------------------------------------ + +programmer + id = "snap_isp"; + desc = "MPLAB(R) SNAP in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_tpi +#------------------------------------------------------------ + +programmer + id = "snap_tpi"; + desc = "MPLAB(R) SNAP in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# pkobn_updi +#------------------------------------------------------------ + +programmer + id = "pkobn_updi"; + desc = "Curiosity nano (nEDBG) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2175; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# pavr +#------------------------------------------------------------ + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# pickit2 +#------------------------------------------------------------ + +programmer + id = "pickit2"; + desc = "MicroChip's PICkit2 Programmer"; + type = "pickit2"; + prog_modes = PM_ISP; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip1 +#------------------------------------------------------------ + +programmer + id = "flip1"; + desc = "FLIP for bootloader using USB DFU protocol version 1 (doc7618)"; + type = "flip1"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip2 +#------------------------------------------------------------ + +programmer + id = "flip2"; + desc = "FLIP for bootloader using USB DFU protocol version 2 (AVR4023)"; + type = "flip2"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# ponyser +#------------------------------------------------------------ + +# some ultra cheap programmers use bitbanging on the serialport # # PC - DB9 - Pins for RS232: # @@ -1322,67 +2360,104 @@ programmer # Using RI is not supported under Win32 but is supported under Posix. # serial ponyprog design (dasa2 in uisp) -# reset=!txd sck=rts mosi=dtr miso=cts +# reset=!txd sck=rts sdo=dtr sdi=cts programmer - id = "ponyser"; - desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~3; - sck = 7; - mosi = 4; - miso = 8; + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts sdo=dtr sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~3; + sck = 7; + sdo = 4; + sdi = 8; ; +#------------------------------------------------------------ +# siprog +#------------------------------------------------------------ + +# Serial port adapter http://www.lancos.com/siprogsch.html # Same as above, different name -# reset=!txd sck=rts mosi=dtr miso=cts programmer parent "ponyser" - id = "siprog"; - desc = "Lancos SI-Prog "; + id = "siprog"; + desc = "Lancos SI-Prog (same as ponyser)"; ; +#------------------------------------------------------------ +# dasa +#------------------------------------------------------------ + # unknown (dasa in uisp) -# reset=rts sck=dtr mosi=txd miso=cts +# reset=rts sck=dtr sdo=txd sdi=cts programmer - id = "dasa"; - desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = 7; - sck = 4; - mosi = 3; - miso = 8; + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 7; + sck = 4; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# dasa3 +#------------------------------------------------------------ + # unknown (dasa3 in uisp) -# reset=!dtr sck=rts mosi=txd miso=cts +# reset=!dtr sck=rts sdo=txd sdi=cts programmer - id = "dasa3"; - desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~4; - sck = 7; - mosi = 3; - miso = 8; + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~4; + sck = 7; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# C2N232i +#------------------------------------------------------------ + # C2N232i (jumper configuration "auto") -# reset=dtr sck=!rts mosi=!txd miso=!cts +# reset=dtr sck=!rts sdo=!txd sdi=!cts programmer - id = "c2n232i"; - desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; - type = "serbb"; - connection_type = serial; - reset = 4; - sck = ~7; - mosi = ~3; - miso = ~8; + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts sdo=!txd sdi=!cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 4; + sck = ~7; + sdo = ~3; + sdi = ~8; +; + +#------------------------------------------------------------ +# jtag2updi +#------------------------------------------------------------ + +# JTAG2UPDI +# https://github.com/ElTangas/jtag2updi + +programmer + id = "jtag2updi"; + desc = "JTAGv2 to UPDI bridge"; + type = "jtagmkii_updi"; + prog_modes = PM_UPDI; + connection_type = serial; + baudrate = 115200; + hvupdi_support = 1; ; # @@ -1396,62 +2471,78 @@ programmer # This is an HVSP-only device. part - id = "t11"; - desc = "ATtiny11"; - stk500_devcode = 0x11; - signature = 0x1e 0x90 0x04; - chip_erase_delay = 20000; - - timeout = 200; - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny11"; + id = "t11"; + variants = + "ATtiny11: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny11-6PC: DIP8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PI: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PU: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SC: SOIC8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SI: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SU: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11L-2PC: DIP8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2PI: DIP8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SC: SOIC8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SI: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SU: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_HVSP; + mcuid = 8; + n_interrupts = 5; + stk500_devcode = 0x11; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x04; + serial = no; + timeout = 200; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; memory "eeprom" - size = 64; - blocksize = 64; - readsize = 256; - delay = 5; + size = 64; + delay = 5; + blocksize = 64; + readsize = 256; ; memory "flash" - size = 1024; - blocksize = 128; - readsize = 256; - delay = 3; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; + size = 1024; + delay = 3; + blocksize = 128; + readsize = 256; ; memory "fuse" - size = 1; + size = 1; + initval = 0xf4; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; ; ; @@ -1460,131 +2551,106 @@ part #------------------------------------------------------------ part - id = "t12"; - desc = "ATtiny12"; - stk500_devcode = 0x12; - avr910_devcode = 0x55; - signature = 0x1e 0x90 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny12"; + id = "t12"; + variants = + "ATtiny12: N/A, Fmax=8 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12-8PU: PDIP8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12-8SU: SOIC8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12L-4PU: PDIP8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SU: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SUR: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12V-1SU: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12V-1SUR: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 9; + n_interrupts = 6; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 8; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4500; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -1593,5922 +2659,5209 @@ part #------------------------------------------------------------ part - id = "t13"; - desc = "ATtiny13"; - has_debugwire = yes; - flash_instr = 0xB4, 0x0E, 0x1E; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; - signature = 0x1e 0x90 0x07; - chip_erase_delay = 4000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny13"; + id = "t13"; + variants = + "ATtiny13: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny13-20MMU: MLF10, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MMUR: VDFN10, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQ: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQ: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQR: SOIC8, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13V-10MMU: MLF10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MMUR: VDFN10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PQ: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 10; + n_interrupts = 10; + stk500_devcode = 0x14; + chip_erase_delay = 4000; + signature = 0x1e 0x90 0x07; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 90; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x0e, 0x1e; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x0e, 0xb4, 0x0e, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; - - ocdrev = 0; + synchcycles = 6; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xxaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 1024; - page_size = 32; - num_pages = 32; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.000a--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.000a--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0x6a; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny13A +#------------------------------------------------------------ + +part parent "t13" + desc = "ATtiny13A"; + id = "t13a"; + variants = + "ATtiny13A-MMF: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMFR: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMU: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMUR: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MU: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-PU: PDIP8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SN: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7R: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSHR: SOIC8N, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 11; +; #------------------------------------------------------------ # ATtiny15 #------------------------------------------------------------ part - id = "t15"; - desc = "ATtiny15"; - stk500_devcode = 0x13; - avr910_devcode = 0x56; - signature = 0x1e 0x90 0x06; - chip_erase_delay = 8200; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny15"; + id = "t15"; + variants = + "ATtiny15: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PC: DIP8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PI: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PU: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SC: SOIC8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SI: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SU: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 12; + n_interrupts = 9; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + chip_erase_delay = 8200; + signature = 0x1e 0x90 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 5; - synchcycles = 6; - latchcycles = 16; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 8200; - max_write_delay = 8200; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4100; - max_write_delay = 4100; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o x x o o"; + size = 1; + initval = 0x5c; + bitmask = 0xf3; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.xxoo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.11ii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i 1 1 i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; #------------------------------------------------------------ -# AT90s1200 +# AT89S51 +#------------------------------------------------------------ + +# Nonstandard part +# - Tested with -c avrisp +# - USBASP programmers may require different firmware + +part + desc = "AT89S51"; + id = "89S51"; + variants = + "AT89S51: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S51-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 372; + stk500_devcode = 0xe0; + chip_erase_delay = 250000; + signature = 0x1e 0x51 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 4; + pollvalue = 0x69; + predelay = 1; + postdelay = 1; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; + programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "flash" + size = 4096; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x02; + delay = 10; + blocksize = 256; + read = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "0100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + # Nonstandard page mode is available but not implemented + ; + + memory "lock" + size = 1; + read = "0010.0100--xxxx.xxxx--xxxx.xxxx--xxxo.ooxx"; + # Nonstandard write: expect verification errors + # See datasheet Page 20, Note 1 https://ww1.microchip.com/downloads/en/DeviceDoc/doc2487.pdf + # Activate lock mode 0 through chip erase: avrdude -e + # Activate lock mode 1: avrdude -e -V -U lock:w:1:m + # Activate lock mode 2: avrdude -e -V -U lock:w:1:m -U lock:w:2:m + # Activate lock mode 3: avrdude -e -V -U lock:w:1:m -U lock:w:2:m -U lock:w:3:m + write = "1010.1100--1110.00ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0 0 1 0 1 0 0 0 x x x x x x a1 a0 x x x x x x x 0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# AT89S52 +#------------------------------------------------------------ + +part parent "89S51" + desc = "AT89S52"; + id = "89S52"; + variants = + "AT89S52: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S52-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24AUR: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + mcuid = 373; + stk500_devcode = 0xe1; + signature = 0x1e 0x52 0x06; + + memory "flash" + size = 8192; + ; +; + +#------------------------------------------------------------ +# AT90S1200 #------------------------------------------------------------ part - id = "1200"; - desc = "AT90S1200"; - is_at90s1200 = yes; - stk500_devcode = 0x33; - avr910_devcode = 0x13; - signature = 0x1e 0x90 0x01; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 1; - bytedelay = 0; - pollindex = 0; - pollvalue = 0xFF; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S1200"; + id = "1200"; + variants = + "AT90S1200-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 183; + n_interrupts = 4; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + chip_erase_delay = 20000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x90 0x01; + is_at90s1200 = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + pollvalue = 0xff; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x00 0xff; + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 32; - readsize = 256; - ; memory "flash" - size = 1024; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x02; - delay = 15; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4414 +# AT90S4414 #------------------------------------------------------------ part - id = "4414"; - desc = "AT90S4414"; - stk500_devcode = 0x50; - avr910_devcode = 0x28; - signature = 0x1e 0x92 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S4414"; + id = "4414"; + variants = + "AT90S4414-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JC: LCC44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JI: LCC44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 190; + n_interrupts = 13; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + chip_erase_delay = 20000; + signature = 0x1e 0x92 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2313 +# AT90S2313 #------------------------------------------------------------ part - id = "2313"; - desc = "AT90S2313"; - stk500_devcode = 0x40; - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2313"; + id = "2313"; + variants = + "AT90S2313-10PC: DIP20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10PI: DIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SC: SOIC20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SI: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 186; + n_interrupts = 11; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--111x.xiix--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2333 +# AT90S2333 #------------------------------------------------------------ part - id = "2333"; ##### WARNING: No XML file for device 'AT90S2333'! ##### - desc = "AT90S2333"; - stk500_devcode = 0x42; - avr910_devcode = 0x34; - signature = 0x1e 0x91 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2333"; + id = "2333"; + variants = + "AT90S2333-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 188; + n_interrupts = 14; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "fuse" + size = 1; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxoo.oooo"; + write = "1010.1100--101i.iiii--xxxx.xxxx--xxxx.xxxx"; + ; - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + memory "lock" + size = 1; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2343 (also AT90s2323 and ATtiny22) +# AT90S2343 (also AT90S2323 and ATtiny22) #------------------------------------------------------------ part - id = "2343"; - desc = "AT90S2343"; - stk500_devcode = 0x43; - avr910_devcode = 0x4c; - signature = 0x1e 0x91 0x03; - chip_erase_delay = 18000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "AT90S2343"; + id = "2343"; + variants = + "AT90S2343-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP; + mcuid = 189; + n_interrupts = 3; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + chip_erase_delay = 18000; + signature = 0x1e 0x91 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 0; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + poweroffdelay = 25; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--0000.0000--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 128; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; + size = 1; + initval = 0xde; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4433 +# AT90S2323 +#------------------------------------------------------------ + +part parent "2343" + desc = "AT90S2323"; + id = "2323"; + variants = + "AT90S2323-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 187; + stk500_devcode = 0x41; + avr910_devcode = 0x48; + signature = 0x1e 0x91 0x02; +; + +#------------------------------------------------------------ +# ATtiny22 +#------------------------------------------------------------ + +part parent "2343" + desc = "ATtiny22"; + id = "t22"; + variants = + "ATtiny22L-1PC: DIP8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1PI: DIP8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SC: SOIC8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SI: SOIC8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + mcuid = 13; + stk500_devcode = 0x20; + avr910_devcode = 0x00; # Unknown + signature = 0x1e 0x91 0x06; + + memory "fuse" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AT90S4433 +#------------------------------------------------------------ + +part parent "2333" + desc = "AT90S4433"; + id = "4433"; + variants = + "AT90S4433-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 191; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + + memory "eeprom" + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; + + memory "flash" + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; + + memory "fuse" + initval = 0xda; + ; + + memory "lock" + initval = 0xff; + ; +; + +#------------------------------------------------------------ +# AT90S8515 #------------------------------------------------------------ part - id = "4433"; - desc = "AT90S4433"; - stk500_devcode = 0x51; - avr910_devcode = 0x30; - signature = 0x1e 0x92 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8515"; + id = "8515"; + variants = + "AT90S8515-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 193; + n_interrupts = 13; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4434 +# AT90S8535 #------------------------------------------------------------ part - id = "4434"; -##### WARNING: No XML file for device 'AT90S4434'! ##### - desc = "AT90S4434"; - stk500_devcode = 0x52; - avr910_devcode = 0x6c; - signature = 0x1e 0x92 0x02; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - ; - memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - -#------------------------------------------------------------ -# AT90s8515 -#------------------------------------------------------------ - -part - id = "8515"; - desc = "AT90S8515"; - stk500_devcode = 0x60; - avr910_devcode = 0x38; - signature = 0x1e 0x93 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8535"; + id = "8535"; + variants = + "AT90S8535-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 195; + n_interrupts = 17; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s8535 +# AT90S4434 #------------------------------------------------------------ -part - id = "8535"; - desc = "AT90S8535"; - stk500_devcode = 0x61; - avr910_devcode = 0x68; - signature = 0x1e 0x93 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; +# No XML file for device AT90S4434, so parenting off AT90S8535 +# with which it shares the datasheet. - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; +part parent "8535" + desc = "AT90S4434"; + id = "4434"; + variants = + "AT90S4434-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 192; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x x o"; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + max_write_delay = 20000; + ; + memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o x x x x x x"; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + max_write_delay = 20000; + ; +; #------------------------------------------------------------ # ATmega103 #------------------------------------------------------------ part - id = "m103"; - desc = "ATmega103"; - stk500_devcode = 0xB1; - avr910_devcode = 0x41; - signature = 0x1e 0x97 0x01; - chip_erase_delay = 112000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, - 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, - 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, - 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "ATmega103"; + id = "m103"; + variants = + "ATmega103-6AC: TQFP64, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega103-6AI: TQFP64, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega103L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 3.6 V]", + "ATmega103L-4AI: TQFP64, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 84; + n_interrupts = 24; + stk500_devcode = 0xb1; + avr910_devcode = 0x41; + chip_erase_delay = 112000; + pagel = 0xa0; + bs2 = 0xd7; + signature = 0x1e 0x97 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x8e, 0x9e, 0x2e, 0x3e, 0xae, 0xbe, + 0x4e, 0x5e, 0xce, 0xde, 0x6e, 0x7e, 0xee, 0xde, + 0x66, 0x76, 0xe6, 0xf6, 0x6a, 0x7a, 0xea, 0x7a, + 0x7f, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 10; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 4096; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 22000; - max_write_delay = 56000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 70; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback = 0xff 0xff; + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o x o 1 o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xdf; + bitmask = 0x2b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxox.o1oo"; + write = "1010.1100--1011.i1ii--xxxx.xxxx--xxxx.xxxx"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega64 #------------------------------------------------------------ part - id = "m64"; - desc = "ATmega64"; - has_jtag = yes; - stk500_devcode = 0xA0; - avr910_devcode = 0x45; - signature = 0x1e 0x96 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; + desc = "ATmega64"; + id = "m64"; + variants = + "ATmega64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega64-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega64L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQ: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MN: QFN64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQ: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MU: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 72; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xa0; + avr910_devcode = 0x45; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 64; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega64A +#------------------------------------------------------------ +part parent "m64" + desc = "ATmega64A"; + id = "m64a"; + variants = + "ATmega64A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 73; +; #------------------------------------------------------------ # ATmega128 #------------------------------------------------------------ part - id = "m128"; - desc = "ATmega128"; - has_jtag = yes; - stk500_devcode = 0xB2; - avr910_devcode = 0x43; - signature = 0x1e 0x97 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; - rampz = 0x3b; + desc = "ATmega128"; + id = "m128"; + variants = + "ATmega128-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MN: MLF64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MNR: MLF64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MUR: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8ANR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MN: MLF64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8MNR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 85; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; + avr910_devcode = 0x43; + chip_erase_delay = 10000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 1; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + rampz = 0x3b; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 10000; + max_write_delay = 10000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 5000; + max_write_delay = 5000; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega128A +#------------------------------------------------------------ + +part parent "m128" + desc = "ATmega128A"; + id = "m128a"; + variants = + "ATmega128A: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega128A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MNR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 86; +; #------------------------------------------------------------ # AT90CAN128 #------------------------------------------------------------ part - id = "c128"; - desc = "AT90CAN128"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x97 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN128"; + id = "c128"; + variants = + "AT90CAN128: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, N/A]", + "AT90CAN128-15AZ: TQFP64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 176; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN64 #------------------------------------------------------------ part - id = "c64"; - desc = "AT90CAN64"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x96 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN64"; + id = "c64"; + variants = + "AT90CAN64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 172; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN32 #------------------------------------------------------------ part - id = "c32"; - desc = "AT90CAN32"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x95 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN32"; + id = "c32"; + variants = + "AT90CAN32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 171; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 1024; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 256; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega16 #------------------------------------------------------------ part - id = "m16"; - desc = "ATmega16"; - has_jtag = yes; - stk500_devcode = 0x82; - avr910_devcode = 0x74; - signature = 0x1e 0x94 0x03; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 100; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega16"; + id = "m16"; + variants = + "ATmega16: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega16-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MQ: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MUR: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16L-8AQ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AQR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AUR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 49; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x03; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" - size = 4; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; - + size = 4; + read = "0011.1000--000x.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# ATmega164P +# ATmega16A #------------------------------------------------------------ -# close to ATmega16 - part parent "m16" - id = "m164p"; - desc = "ATmega164P"; - signature = 0x1e 0x94 0x0a; - - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - allowfullpagebitstream = no; - chip_erase_delay = 55000; - - ocdrev = 3; - ; - + desc = "ATmega16A"; + id = "m16a"; + variants = + "ATmega16A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 50; +; #------------------------------------------------------------ # ATmega324P #------------------------------------------------------------ -# similar to ATmega164P - part - id = "m324p"; - desc = "ATmega324P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x95 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega324P"; + id = "m324p"; + variants = + "ATmega324P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega324P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AUR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 111; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ +part parent "m324p" + desc = "ATmega164P"; + id = "m164p"; + variants = + "ATmega164P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega164P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MUR: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 93; + boot_section_size = 256; + signature = 0x1e 0x94 0x0a; + + memory "eeprom" + size = 512; + delay = 20; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + ; +; + +#------------------------------------------------------------ +# ATmega164PA +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164PA"; + id = "m164pa"; + variants = + "ATmega164PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CUR: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCHR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 94; +; + +#------------------------------------------------------------ +# ATmega164A +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164A"; + id = "m164a"; + variants = + "ATmega164A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CUR: VFBGA49, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCHR: QFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MUR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 92; + signature = 0x1e 0x94 0x0f; +; + +#------------------------------------------------------------ +# ATmega324PB +#------------------------------------------------------------ + +part parent "m324p" + desc = "ATmega324PB"; + id = "m324pb"; + variants = + "ATmega324PB-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MN: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MNR: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 113; + n_interrupts = 51; + signature = 0x1e 0x95 0x17; + + memory "efuse" + initval = 0x07; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; +; #------------------------------------------------------------ # ATmega324PA #------------------------------------------------------------ -# similar to ATmega324P +part parent "m324p" + desc = "ATmega324PA"; + id = "m324pa"; + variants = + "ATmega324PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCHR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 112; + signature = 0x1e 0x95 0x11; +; + +#------------------------------------------------------------ +# ATmega324A +#------------------------------------------------------------ part parent "m324p" - id = "m324pa"; - desc = "ATmega324PA"; - signature = 0x1e 0x95 0x11; - - ocdrev = 3; - ; - + desc = "ATmega324A"; + id = "m324a"; + variants = + "ATmega324A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 110; + signature = 0x1e 0x95 0x15; +; #------------------------------------------------------------ # ATmega644 #------------------------------------------------------------ -# similar to ATmega164 - part - id = "m644"; - desc = "ATmega644"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x96 0x09; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega644"; + id = "m644"; + variants = + "ATmega644: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20AUR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644V-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MU: MLF44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 127; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega644A +#------------------------------------------------------------ + +part parent "m644" + desc = "ATmega644A"; + id = "m644a"; + variants = + "ATmega644A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 128; + n_interrupts = 31; +; #------------------------------------------------------------ # ATmega644P #------------------------------------------------------------ -# similar to ATmega164p +part parent "m644" + desc = "ATmega644P"; + id = "m644p"; + variants = + "ATmega644P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQ: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PQ: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 129; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; + +#------------------------------------------------------------ +# ATmega644PA +#------------------------------------------------------------ part parent "m644" - id = "m644p"; - desc = "ATmega644P"; - signature = 0x1e 0x96 0x0a; - - ocdrev = 3; - ; - - + desc = "ATmega644PA"; + id = "m644pa"; + variants = + "ATmega644PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-ANR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MNR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 130; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; #------------------------------------------------------------ # ATmega1284 #------------------------------------------------------------ -# similar to ATmega164 - part - id = "m1284"; - desc = "ATmega1284"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x06; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega1284"; + id = "m1284"; + variants = + "ATmega1284-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MUR: MLF44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 140; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 128; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1284P #------------------------------------------------------------ -# similar to ATmega164p - -part - id = "m1284p"; - desc = "ATmega1284P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x05; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - +part parent "m1284" + desc = "ATmega1284P"; + id = "m1284p"; + variants = + "ATmega1284P-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MN: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 141; + signature = 0x1e 0x97 0x05; +; #------------------------------------------------------------ # ATmega162 #------------------------------------------------------------ part - id = "m162"; - desc = "ATmega162"; - has_jtag = yes; - stk500_devcode = 0x83; - avr910_devcode = 0x63; - signature = 0x1e 0x94 0x04; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - - idr = 0x04; - spmcr = 0x57; + desc = "ATmega162"; + id = "m162"; + variants = + "ATmega162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega162-16AC: TQFP44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16AI: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AJ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MC: VFQFN44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16MI: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MJ: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MU: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MUR: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PC: DIP40, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16PI: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PJ: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PU: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MC: VFQFN44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162V-1AC: TQFP44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1MC: VFQFN44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1PC: DIP40, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AJ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MJ: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MU: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MUR: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PJ: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PU: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 90; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x04; + reset = io; allowfullpagebitstream = yes; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - ocdrev = 2; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - - ; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x04; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1e; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--111i.iii1"; + ; memory "lock" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--00xx.xxxx--0000.0000--oooo.oooo"; + ; ; - - #------------------------------------------------------------ # ATmega163 #------------------------------------------------------------ part - id = "m163"; - desc = "ATmega163"; - stk500_devcode = 0x81; - avr910_devcode = 0x64; - signature = 0x1e 0x94 0x02; - chip_erase_delay = 32000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega163"; + id = "m163"; + variants = + "ATmega163-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 91; + n_interrupts = 18; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x02; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - - memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 16000; - max_write_delay = 16000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 20; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback = 0xff 0xff; + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o x x o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i 1 1 i i i i"; - ; + size = 1; + initval = 0xdf; + bitmask = 0xef; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--ooxx.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--ii11.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x 1 o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--xxxx.1ooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x 0 x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.0xxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega169 #------------------------------------------------------------ part - id = "m169"; - desc = "ATmega169"; - has_jtag = yes; - stk500_devcode = 0x85; - avr910_devcode = 0x78; - signature = 0x1e 0x94 0x05; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega169"; + id = "m169"; + variants = + "ATmega169: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4MC: VFQFN64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169V-1AC: TQFP64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-1MC: VFQFN64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 104; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega169A +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169A"; + id = "m169a"; + variants = + "ATmega169A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MCH: DRQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 105; + signature = 0x1e 0x94 0x11; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169P +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169P"; + id = "m169p"; + variants = + "ATmega169P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCHR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCH: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCHR: QFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCU: VQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 106; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169PA +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169PA"; + id = "m169pa"; + variants = + "ATmega169PA-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCHR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MNR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 107; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # ATmega329 #------------------------------------------------------------ part - id = "m329"; - desc = "ATmega329"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x95 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega329"; + id = "m329"; + variants = + "ATmega329: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega329-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 121; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega329A +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329A"; + id = "m329a"; + variants = + "ATmega329A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329A-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-MU: VQFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 122; +; #------------------------------------------------------------ # ATmega329P #------------------------------------------------------------ -# Identical to ATmega329 except of the signature part parent "m329" - id = "m329p"; - desc = "ATmega329P"; - signature = 0x1e 0x95 0x0b; + desc = "ATmega329P"; + id = "m329p"; + variants = + "ATmega329P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329P-20AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329P-20ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MNR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MN: VQFN64, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MUR: VQFN64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 123; + signature = 0x1e 0x95 0x0b; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega329PA +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329PA"; + id = "m329pa"; + variants = + "ATmega329PA-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 124; + signature = 0x1e 0x95 0x0b; +; #------------------------------------------------------------ # ATmega3290 #------------------------------------------------------------ -# identical to ATmega329 +part parent "m329" + desc = "ATmega3290"; + id = "m3290"; + variants = + "ATmega3290: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 150; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; + +#------------------------------------------------------------ +# ATmega3290A +#------------------------------------------------------------ part parent "m329" - id = "m3290"; - desc = "ATmega3290"; - signature = 0x1e 0x95 0x04; - - ocdrev = 3; - ; + desc = "ATmega3290A"; + id = "m3290a"; + variants = + "ATmega3290A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 151; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; #------------------------------------------------------------ # ATmega3290P #------------------------------------------------------------ -# identical to ATmega3290 except of the signature +part parent "m329" + desc = "ATmega3290P"; + id = "m3290p"; + variants = + "ATmega3290P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 152; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; -part parent "m3290" - id = "m3290p"; - desc = "ATmega3290P"; - signature = 0x1e 0x95 0x0c; +#------------------------------------------------------------ +# ATmega3290PA +#------------------------------------------------------------ - ocdrev = 3; - ; +part parent "m329" + desc = "ATmega3290PA"; + id = "m3290pa"; + variants = + "ATmega3290PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AUR: TQFP100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 153; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; #------------------------------------------------------------ # ATmega649 #------------------------------------------------------------ part - id = "m649"; - desc = "ATmega649"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x96 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega649"; + id = "m649"; + variants = + "ATmega649: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega649-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 135; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega649A +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649A"; + id = "m649a"; + variants = + "ATmega649A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 136; +; + +#------------------------------------------------------------ +# ATmega649P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649P"; + id = "m649p"; + variants = + "ATmega649P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649P-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 137; + signature = 0x1e 0x96 0x0b; +; #------------------------------------------------------------ # ATmega6490 #------------------------------------------------------------ -# identical to ATmega649 +part parent "m649" + desc = "ATmega6490"; + id = "m6490"; + variants = + "ATmega6490: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega6490-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 157; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; + +#------------------------------------------------------------ +# ATmega6490A +#------------------------------------------------------------ part parent "m649" - id = "m6490"; - desc = "ATmega6490"; - signature = 0x1e 0x96 0x04; + desc = "ATmega6490A"; + id = "m6490a"; + variants = + "ATmega6490A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 158; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6490P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega6490P"; + id = "m6490p"; + variants = + "ATmega6490P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 159; + n_interrupts = 25; + signature = 0x1e 0x96 0x0c; +; #------------------------------------------------------------ # ATmega32 #------------------------------------------------------------ part - id = "m32"; - desc = "ATmega32"; - has_jtag = yes; - stk500_devcode = 0x91; - avr910_devcode = 0x72; - signature = 0x1e 0x95 0x02; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega32"; + id = "m32"; + variants = + "ATmega32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega32-16AQ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MUR: VQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 58; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x02; + reset = io; allowfullpagebitstream = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega161 #------------------------------------------------------------ part - id = "m161"; - desc = "ATmega161"; - stk500_devcode = 0x80; - avr910_devcode = 0x60; - signature = 0x1e 0x94 0x01; - chip_erase_delay = 28000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega161"; + id = "m161"; + variants = + "ATmega161-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 89; + n_interrupts = 21; + n_boot_sections = 1; + boot_section_size = 1024; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - min_write_delay = 3400; - max_write_delay = 3400; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback = 0xff 0xff; + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 14000; - max_write_delay = 14000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 16; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback = 0xff 0xff; + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x o x o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x 1 i 1 i i i i i"; - ; + size = 1; + initval = 0xda; + bitmask = 0x77; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xoxo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--1i1i.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega32A +#------------------------------------------------------------ + +part parent "m32" + desc = "ATmega32A"; + id = "m32a"; + variants = + "ATmega32A-AN: TQFP44, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-ANR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MN: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MNR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MUR: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PN: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 59; +; #------------------------------------------------------------ # ATmega8 #------------------------------------------------------------ part - id = "m8"; - desc = "ATmega8"; - stk500_devcode = 0x70; - avr910_devcode = 0x76; - signature = 0x1e 0x93 0x07; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 10000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATmega8"; + id = "m8"; + variants = + "ATmega8: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega8-16AN: TQFP32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MUR: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PN: PDIP28, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8L-8AN: TQFP32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AU: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AUR: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MN: QFN32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MUR: VQFN32, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PN: PDIP28, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PU: PDIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 45; + n_interrupts = 19; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; + signature = 0x1e 0x93 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - page_size = 4; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 10; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - # Required for Arduino IDE - # see: https://github.com/arduino/Arduino/issues/2075 - # https://github.com/arduino/Arduino/issues/2075#issuecomment-238031689 - memory "efuse" - size = 0; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega8A +#------------------------------------------------------------ + +part parent "m8" + desc = "ATmega8A"; + id = "m8a"; + variants = + "ATmega8A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AN: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-ANR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MN: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MNR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PN: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 46; +; #------------------------------------------------------------ # ATmega8515 #------------------------------------------------------------ part - id = "m8515"; - desc = "ATmega8515"; - stk500_devcode = 0x63; - avr910_devcode = 0x3A; - signature = 0x1e 0x93 0x06; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8515"; + id = "m8515"; + variants = + "ATmega8515: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 160; + n_interrupts = 17; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x63; + avr910_devcode = 0x3a; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8535 #------------------------------------------------------------ part - id = "m8535"; - desc = "ATmega8535"; - stk500_devcode = 0x64; - avr910_devcode = 0x69; - signature = 0x1e 0x93 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8535"; + id = "m8535"; + variants = + "ATmega8535: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8535-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MUR: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 161; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny26 #------------------------------------------------------------ part - id = "t26"; - desc = "ATtiny26"; - stk500_devcode = 0x21; - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x09; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATtiny26"; + id = "t26"; + variants = + "ATtiny26: N/A, Fmax=16 MHz, T=[N/A, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16PU: PDIP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8MUR: VQFN32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8PU: PDIP20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 17; + n_interrupts = 12; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x91 0x09; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 16; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x x x x i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + size = 1; + initval = 0xe1; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; -; + memory "hfuse" + size = 1; + initval = 0xf7; + bitmask = 0x1f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--xxxi.iiii"; + ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny261 #------------------------------------------------------------ -# Close to ATtiny26 part - id = "t261"; - desc = "ATtiny261"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0c; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny261"; + id = "t261"; + variants = + "ATtiny261: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny261-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 30; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 128; - page_size = 4; - num_pages = 32; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny261A +#------------------------------------------------------------ + +part parent "t261" + desc = "ATtiny261A"; + id = "t261a"; + variants = + "ATtiny261A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MF: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MFR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MN: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MNR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 31; +; #------------------------------------------------------------ # ATtiny461 #------------------------------------------------------------ -# Close to ATtiny261 part - id = "t461"; - desc = "ATtiny461"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x08; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny461"; + id = "t461"; + variants = + "ATtiny461: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny461-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 33; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 256; - page_size = 4; - num_pages = 64; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny461A +#------------------------------------------------------------ + +part parent "t461" + desc = "ATtiny461A"; + id = "t461a"; + variants = + "ATtiny461A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 34; +; #------------------------------------------------------------ # ATtiny861 #------------------------------------------------------------ -# Close to ATtiny461 part - id = "t861"; - desc = "ATtiny861"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x93 0x0d; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny861"; + id = "t861"; + variants = + "ATtiny861: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny861-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SUR: SOIC20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny861V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 38; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 512; - num_pages = 128; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.aaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny861A +#------------------------------------------------------------ + +part parent "t861" + desc = "ATtiny861A"; + id = "t861a"; + variants = + "ATtiny861A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 39; +; #------------------------------------------------------------ # ATtiny28 @@ -7517,671 +7870,728 @@ part # This is an HVPP-only device. part - id = "t28"; - desc = "ATtiny28"; - stk500_devcode = 0x22; - avr910_devcode = 0x5c; - signature = 0x1e 0x91 0x07; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny28"; + id = "t28"; + variants = + "ATtiny28: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4AU: TQFP32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MU: MLF32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MUR: VQFN32, Fmax=4 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4PU: PDIP28, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28V-1AU: TQFP32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1AUR: TQFP32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MU: MLF32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MUR: VQFN32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1PU: PDIP28, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_HVPP; + mcuid = 18; + n_interrupts = 6; + stk500_devcode = 0x22; + avr910_devcode = 0x5c; + signature = 0x1e 0x91 0x07; + serial = no; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; memory "flash" - size = 2048; - page_size = 2; - readsize = 256; - delay = 5; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; + size = 2048; + page_size = 2; + delay = 5; + readsize = 256; ; memory "fuse" - size = 1; + size = 1; + initval = 0x12; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0x06; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; ; ; - - #------------------------------------------------------------ # ATmega48 #------------------------------------------------------------ part - id = "m48"; - desc = "ATmega48"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x59; -# avr910_devcode = 0x; - signature = 0x1e 0x92 0x05; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 45000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega48"; + id = "m48"; + variants = + "ATmega48: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMH: VQFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMU: QFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMUR: VQFN28, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 67; + n_interrupts = 26; + stk500_devcode = 0x59; + chip_erase_delay = 45000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega48A +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48A"; + id = "m48a"; + variants = + "ATmega48A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 68; +; #------------------------------------------------------------ # ATmega48P #------------------------------------------------------------ part parent "m48" - id = "m48p"; - desc = "ATmega48P"; - signature = 0x1e 0x92 0x0a; + desc = "ATmega48P"; + id = "m48p"; + variants = + "ATmega48P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMU: MLF28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 69; + signature = 0x1e 0x92 0x0a; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega48PA +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48PA"; + id = "m48pa"; + variants = + "ATmega48PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AUR: QFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMHR: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMN: QFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMNR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PN: SPDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 70; + signature = 0x1e 0x92 0x0a; +; #------------------------------------------------------------ # ATmega48PB #------------------------------------------------------------ part parent "m48" - id = "m48pb"; - desc = "ATmega48PB"; - signature = 0x1e 0x92 0x10; - - ocdrev = 1; - ; + desc = "ATmega48PB"; + id = "m48pb"; + variants = + "ATmega48PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 71; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x92 0x10; +; #------------------------------------------------------------ # ATmega88 #------------------------------------------------------------ part - id = "m88"; - desc = "ATmega88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x0a; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega88"; + id = "m88"; + variants = + "ATmega88: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 79; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega88A +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88A"; + id = "m88a"; + variants = + "ATmega88A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 80; +; #------------------------------------------------------------ # ATmega88P #------------------------------------------------------------ part parent "m88" - id = "m88p"; - desc = "ATmega88P"; - signature = 0x1e 0x93 0x0f; + desc = "ATmega88P"; + id = "m88p"; + variants = + "ATmega88P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MUR: VQFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 81; + signature = 0x1e 0x93 0x0f; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega88PA +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88PA"; + id = "m88pa"; + variants = + "ATmega88PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-15MZ: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMHR: VQFN28, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMN: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMNR: VQFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMUR: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 82; + signature = 0x1e 0x93 0x0f; +; #------------------------------------------------------------ # ATmega88PB #------------------------------------------------------------ part parent "m88" - id = "m88pb"; - desc = "ATmega88PB"; - signature = 0x1e 0x93 0x16; - - ocdrev = 1; - ; + desc = "ATmega88PB"; + id = "m88pb"; + variants = + "ATmega88PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 83; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x93 0x16; +; #------------------------------------------------------------ # ATmega168 #------------------------------------------------------------ part - id = "m168"; - desc = "ATmega168"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x06; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega168"; + id = "m168"; + variants = + "ATmega168: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega168-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQ: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQR: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 99; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; + memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega168A +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168A"; + id = "m168a"; + variants = + "ATmega168A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 100; ; #------------------------------------------------------------ @@ -8189,11 +8599,52 @@ part #------------------------------------------------------------ part parent "m168" - id = "m168p"; - desc = "ATmega168P"; - signature = 0x1e 0x94 0x0b; + desc = "ATmega168P"; + id = "m168p"; + variants = + "ATmega168P-20AN: TQFP32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQR: QFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168PV-10AN: TQFP32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 101; + signature = 0x1e 0x94 0x0b; +; - ocdrev = 1; +#------------------------------------------------------------ +# ATmega168PA +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168PA"; + id = "m168pa"; + variants = + "ATmega168PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMHR: QFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 102; + signature = 0x1e 0x94 0x0b; ; #------------------------------------------------------------ @@ -8201,11 +8652,617 @@ part parent "m168" #------------------------------------------------------------ part parent "m168" - id = "m168pb"; - desc = "ATmega168PB"; - signature = 0x1e 0x94 0x15; + desc = "ATmega168PB"; + id = "m168pb"; + variants = + "ATmega168PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 103; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x94 0x15; +; - ocdrev = 1; +#------------------------------------------------------------ +# ATtiny828 +#------------------------------------------------------------ + +part + desc = "ATtiny828"; + id = "t828"; + variants = + "ATtiny828: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.62 V, 5.5 V]", + "ATtiny828-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 35; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + bitmask = 0xf3; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0xf7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.1iii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny828R +#------------------------------------------------------------ + +part parent "t828" + desc = "ATtiny828R"; + id = "t828r"; + variants = + "ATtiny828R-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828R-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 36; +; + +#------------------------------------------------------------ +# ATtiny87 +#------------------------------------------------------------ + +part + desc = "ATtiny87"; + id = "t87"; + variants = + "ATtiny87: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 27; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x93 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny87 has signature bytes 0x1E 0x93 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny167 +#------------------------------------------------------------ + +part + desc = "ATtiny167"; + id = "t167"; + variants = + "ATtiny167: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-A15XD: TSSOP20, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny167-MMU: WQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MMUR: WQFN20, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATtiny167-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 29; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = 0x??; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x94 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny167 has signature bytes 0x1E 0x94 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny48 +#------------------------------------------------------------ + +part + desc = "ATtiny48"; + id = "t48"; + variants = + "ATtiny48-AU: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMHR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMU: MLF28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMUR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MU: MLF32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 23; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; ; #------------------------------------------------------------ @@ -8213,436 +9270,1347 @@ part parent "m168" #------------------------------------------------------------ part - id = "t88"; - desc = "ATtiny88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x11; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny88"; + id = "t88"; + variants = + "ATtiny88-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMHR: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMU: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMUR: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MU: QFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 28; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x11; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 64; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 64; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega328 #------------------------------------------------------------ part - id = "m328"; - desc = "ATmega328"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x14; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega328"; + id = "m328"; + variants = + "ATmega328-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 118; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x95 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 1024; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; + size = 1024; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; ; -; -part parent "m328" - id = "m328p"; - desc = "ATmega328P"; - signature = 0x1e 0x95 0x0F; - - ocdrev = 1; -; - -part parent "m328" - id = "m328pb"; - desc = "ATmega328PB"; - signature = 0x1e 0x95 0x16; - - ocdrev = 1; -; - -#------------------------------------------------------------ -# ATmega32m1 -#------------------------------------------------------------ - -part parent "m328" - id = "m32m1"; - desc = "ATmega32M1"; - # stk500_devcode = 0x; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x84; - bs2 = 0xe2; - - memory "efuse" - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; ; ; #------------------------------------------------------------ -# ATmega64m1 +# ATmega328P #------------------------------------------------------------ part parent "m328" - id = "m64m1"; - desc = "ATmega64M1"; - # stk500_devcode = 0x; - # avr910_devcode = 0x; - signature = 0x1e 0x96 0x84; - bs2 = 0xe2; + desc = "ATmega328P"; + id = "m328p"; + variants = + "ATmega328P: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-15MZ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MNR: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 119; + signature = 0x1e 0x95 0x0f; +; + +#------------------------------------------------------------ +# ATmega328PB +#------------------------------------------------------------ + +part parent "m328" + desc = "ATmega328PB"; + id = "m328pb"; + variants = + "ATmega328PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 120; + n_interrupts = 45; + chip_erase_delay = 10500; + signature = 0x1e 0x95 0x16; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x i i i i i i"; + initval = 0xf7; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; +; + +#------------------------------------------------------------ +# ATmega64M1 +#------------------------------------------------------------ + +part + desc = "ATmega64M1"; + id = "m64m1"; + variants = + "ATmega64M1-15MD: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 76; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x96 0x84; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--0aaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--0aaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--a000.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--11ii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32M1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega32M1"; + id = "m32m1"; + variants = + "ATmega32M1: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 63; + boot_section_size = 512; + signature = 0x1e 0x95 0x84; + + memory "eeprom" + size = 1024; + page_size = 4; + blocksize = 4; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + blocksize = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16M1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega16M1"; + id = "m16m1"; + variants = + "ATmega16M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 54; + signature = 0x1e 0x94 0x84; + + memory "eeprom" + size = 512; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32C1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega32C1"; + id = "m32c1"; + variants = + "ATmega32C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESAD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESMD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 62; + signature = 0x1e 0x95 0x86; +; + +#------------------------------------------------------------ +# ATmega64C1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega64C1"; + id = "m64c1"; + variants = + "ATmega64C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESAZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESMZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 75; + signature = 0x1e 0x96 0x86; +; + +#------------------------------------------------------------ +# ATA5505 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA5505"; + id = "ata5505"; + variants = + "ATA5505: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATA5505-P3QW: VFQFN38, Fmax=N/A, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 198; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6612C +#------------------------------------------------------------ + +part parent "m88" + desc = "ATA6612C"; + id = "ata6612c"; + variants = + "ATA6612C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6612C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 216; + chip_erase_delay = 4000; + + memory "eeprom" + min_write_delay = 4000; + max_write_delay = 4000; + ; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6613C +#------------------------------------------------------------ + +part parent "m168" + desc = "ATA6613C"; + id = "ata6613c"; + variants = + "ATA6613C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6613C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 217; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6614Q +#------------------------------------------------------------ + +part parent "m328" + desc = "ATA6614Q"; + id = "ata6614q"; + variants = + "ATA6614Q-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6614Q-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 218; + signature = 0x1e 0x95 0x0f; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6616C +#------------------------------------------------------------ + +part parent "t87" + desc = "ATA6616C"; + id = "ata6616c"; + variants = + "ATA6616C-P3PW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 219; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "flash" + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6617C +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA6617C"; + id = "ata6617c"; + variants = + "ATA6617C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6617C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 220; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA664251 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA664251"; + id = "ata664251"; + variants = + "ATA664251: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATA664251-WGQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA664251-WGQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 225; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVA +#------------------------------------------------------------ + +part + desc = "ATmega16HVA"; + id = "m16hva"; + variants = + "ATmega16HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega16HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 51; + n_interrupts = 21; + chip_erase_delay = 4000; + signature = 0x1e 0x94 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0000--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.0000--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "fuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega8HVA +#------------------------------------------------------------ + +part parent "m16hva" + desc = "ATmega8HVA"; + id = "m8hva"; + variants = + "ATmega8HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega8HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + mcuid = 47; + signature = 0x1e 0x93 0x10; + + memory "flash" + size = 8192; + num_pages = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVB +#------------------------------------------------------------ + +part + desc = "ATmega16HVB"; + id = "m16hvb"; + variants = + "ATmega16HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega16HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega16HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 52; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 4000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x94 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xdd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xe9; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--111o.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--111i.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVBrevB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega16HVBrevB"; + id = "m16hvbrevb"; + variants = + "ATmega16HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 53; +; + +#------------------------------------------------------------ +# ATmega32HVB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega32HVB"; + id = "m32hvb"; + variants = + "ATmega32HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega32HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega32HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + mcuid = 60; + signature = 0x1e 0x95 0x10; + + memory "eeprom" + size = 1024; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + num_pages = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVBrevB +#------------------------------------------------------------ + +part parent "m32hvb" + desc = "ATmega32HVBrevB"; + id = "m32hvbrevb"; + variants = + "ATmega32HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 61; +; + +#------------------------------------------------------------ +# ATmega64HVE2 +#------------------------------------------------------------ + +part + desc = "ATmega64HVE2"; + id = "m64hve2"; + variants = + "ATmega64HVE2: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 3.6 V]", + "ATmega64HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega64HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 77; + n_interrupts = 25; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 4000; + signature = 0x1e 0x96 0x10; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 128; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xd7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xf9; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--1111.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVE2 +#------------------------------------------------------------ + +part parent "m64hve2" + desc = "ATmega32HVE2"; + id = "m32hve2"; + variants = + "ATmega32HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega32HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + mcuid = 379; + signature = 0x1e 0x95 0x13; + + memory "flash" + size = 0x8000; + num_pages = 256; ; ; @@ -8651,555 +10619,607 @@ part parent "m328" #------------------------------------------------------------ part - id = "t2313"; - desc = "ATtiny2313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0a; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny2313"; + id = "t2313"; + variants = + "ATtiny2313: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10MUR: WQFN20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 42; + n_interrupts = 19; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x91 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x1f; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; - - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x64; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + # ATtiny2313 has signature bytes 0x1E 0x91 0x0A + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; # The Tiny2313 has calibration data for both 4 MHz and 8 MHz. # The information in the data sheet of April/2004 is wrong, this works: - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313A +#------------------------------------------------------------ + +part parent "t2313" + desc = "ATtiny2313A"; + id = "t2313a"; + variants = + "ATtiny2313A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 43; + n_interrupts = 21; + idr = 0x27; + + memory "lfuse" + initval = 0x62; + ; +; #------------------------------------------------------------ # ATtiny4313 #------------------------------------------------------------ part - id = "t4313"; - desc = "ATtiny4313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x0d; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny4313"; + id = "t4313"; + variants = + "ATtiny4313: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MUR: MLF20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 44; + n_interrupts = 21; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x92 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny4313 has signature bytes 0x1E 0x92 0x0D + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# AT90PWM1 +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; +part + desc = "AT90PWM1"; + id = "pwm1"; + variants = + "AT90PWM1: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MUR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 166; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x93 0x83; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xb7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--o1oo.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--i1ii.1iii"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM2 #------------------------------------------------------------ part - id = "pwm2"; - desc = "AT90PWM2"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x65; -## avr910_devcode = ?; - signature = 0x1e 0x93 0x81; - pagel = 0xD8; - bs2 = 0xE2; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90PWM2"; + id = "pwm2"; + variants = + "AT90PWM2: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQ: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQR: SOIC24, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 167; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x65; + chip_erase_delay = 9000; + pagel = 0xd8; + bs2 = 0xe2; +# avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + spmcr = 0x57; + eecr = 0x3f; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xf7; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + # AT90PWM2 has signature bytes 0x1E 0x93 0x81 + memory "signature" + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; -# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM3 @@ -9208,9 +11228,27 @@ part # Completely identical to AT90PWM2 (including the signature!) part parent "pwm2" - id = "pwm3"; - desc = "AT90PWM3"; - ; + desc = "AT90PWM3"; + id = "pwm3"; + variants = + "AT90PWM3: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQ: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQT: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 169; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; + + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM2B @@ -9218,12 +11256,28 @@ part parent "pwm2" # Same as AT90PWM2 but different signature. part parent "pwm2" - id = "pwm2b"; - desc = "AT90PWM2B"; - signature = 0x1e 0x93 0x83; + desc = "AT90PWM2B"; + id = "pwm2b"; + variants = + "AT90PWM2B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 168; + signature = 0x1e 0x93 0x83; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; - ocdrev = 1; - ; + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM3B @@ -9232,11 +11286,182 @@ part parent "pwm2" # Completely identical to AT90PWM2B (including the signature!) part parent "pwm2b" - id = "pwm3b"; - desc = "AT90PWM3B"; + desc = "AT90PWM3B"; + id = "pwm3b"; + variants = + "AT90PWM3B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 170; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# AT90PWM161 +#------------------------------------------------------------ + +part + desc = "AT90PWM161"; + id = "pwm161"; + variants = + "AT90PWM161: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MNR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SNR: SOIC20, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 177; + n_interrupts = 20; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xe2; + bs2 = 0xd6; + signature = 0x1e 0x94 0x8b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# AT90PWM81 +#------------------------------------------------------------ + +part parent "pwm161" + desc = "AT90PWM81"; + id = "pwm81"; + variants = + "AT90PWM81: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MF: QFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81EP-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 173; + signature = 0x1e 0x93 0x88; + + memory "flash" + size = 8192; + page_size = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # AT90PWM316 @@ -9245,52 +11470,26 @@ part parent "pwm2b" # Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM. part parent "pwm3b" - id = "pwm316"; - desc = "AT90PWM316"; - signature = 0x1e 0x94 0x83; - - ocdrev = 1; + desc = "AT90PWM316"; + id = "pwm316"; + variants = + "AT90PWM316: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 180; + boot_section_size = 512; + signature = 0x1e 0x94 0x83; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - ; + size = 0x4000; + page_size = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # AT90PWM216 @@ -9298,560 +11497,512 @@ part parent "pwm3b" # Completely identical to AT90PWM316 (including the signature!) part parent "pwm316" - id = "pwm216"; - desc = "AT90PWM216"; - ; + desc = "AT90PWM216"; + id = "pwm216"; + variants = + "AT90PWM216: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 179; +; #------------------------------------------------------------ # ATtiny25 #------------------------------------------------------------ part - id = "t25"; - desc = "ATtiny25"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x08; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny25"; + id = "t25"; + variants = + "ATtiny25: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny25-15ST: SOIC8, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MFR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSHR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-10MF: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MFR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSHR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 16; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny25 has signature bytes 0x1E 0x91 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny45 #------------------------------------------------------------ part - id = "t45"; - desc = "ATtiny45"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x06; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny45"; + id = "t45"; + variants = + "ATtiny45: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-15SZ: SOIC8, Fmax=N/A, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XUR: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XU: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XUR: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 22; + n_interrupts = 15; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny45 has signature bytes 0x1E 0x92 0x08 (data sheet 2586C-AVR-06/05 doc2586.pdf indicates otherwise) + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny85 #------------------------------------------------------------ part - id = "t85"; - desc = "ATtiny85"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0b; - reset = io; - chip_erase_delay = 400000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny85"; + id = "t85"; + variants = + "ATtiny85: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny85-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SF: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85-20SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10MUR: MLF20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 26; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 12; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 30000; - max_write_delay = 30000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny85 has signature bytes 0x1E 0x93 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega640 @@ -9859,380 +12010,282 @@ part # Almost same as ATmega1280, except for different memory sizes part - id = "m640"; - desc = "ATmega640"; - signature = 0x1e 0x96 0x08; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega640"; + id = "m640"; + variants = + "ATmega640: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega640-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CUR: TFBGA100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 126; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1280 #------------------------------------------------------------ part - id = "m1280"; - desc = "ATmega1280"; - signature = 0x1e 0x97 0x03; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega1280"; + id = "m1280"; + variants = + "ATmega1280: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1280-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 138; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1281 @@ -10240,219 +12293,185 @@ part # Identical to ATmega1280 part parent "m1280" - id = "m1281"; - desc = "ATmega1281"; - signature = 0x1e 0x97 0x04; - - ocdrev = 3; - ; + desc = "ATmega1281"; + id = "m1281"; + variants = + "ATmega1281: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1281-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8AUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MUR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 139; + signature = 0x1e 0x97 0x04; +; #------------------------------------------------------------ # ATmega2560 #------------------------------------------------------------ part - id = "m2560"; - desc = "ATmega2560"; - signature = 0x1e 0x98 0x01; - has_jtag = yes; - stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega2560"; + id = "m2560"; + variants = + "ATmega2560: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8AUR: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 143; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x98 0x01; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 4; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + eind = 0x5c; + ocdrev = 4; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 262144; - page_size = 256; - num_pages = 1024; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - load_ext_addr = " 0 1 0 0 1 1 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 a16", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x40000; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega2561 #------------------------------------------------------------ part parent "m2560" - id = "m2561"; - desc = "ATmega2561"; - signature = 0x1e 0x98 0x02; - - ocdrev = 4; - ; + desc = "ATmega2561"; + id = "m2561"; + variants = + "ATmega2561: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega2561-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2561V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 144; + signature = 0x1e 0x98 0x02; +; #------------------------------------------------------------ # ATmega128RFA1 @@ -10460,848 +12479,802 @@ part parent "m2560" # Identical to ATmega2561 but half the ROM part parent "m2561" - id = "m128rfa1"; - desc = "ATmega128RFA1"; - signature = 0x1e 0xa7 0x01; - chip_erase_delay = 55000; - bs2 = 0xE2; + desc = "ATmega128RFA1"; + id = "m128rfa1"; + variants = + "ATmega128RFA1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZF: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZFR: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR-SL514: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 87; + n_interrupts = 72; + chip_erase_delay = 18500; + bs2 = 0xe2; + signature = 0x1e 0xa7 0x01; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + latchcycles = 5; + ocdrev = 3; - ocdrev = 3; + memory "eeprom" + min_write_delay = 13000; + max_write_delay = 13000; + delay = 50; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 0x20000; + num_pages = 512; + delay = 50; + load_ext_addr = NULL; + ; - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; - ; + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + ; +; #------------------------------------------------------------ # ATmega256RFR2 #------------------------------------------------------------ -part parent "m2561" - id = "m256rfr2"; - desc = "ATmega256RFR2"; - signature = 0x1e 0xa8 0x02; - chip_erase_delay = 18500; - bs2 = 0xE2; +part parent "m128rfa1" + desc = "ATmega256RFR2"; + id = "m256rfr2"; + variants = + "ATmega256RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 108; + n_interrupts = 77; + signature = 0x1e 0xa8 0x02; + chiperasepolltimeout = 20; + ocdrev = 4; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 8192; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + read = "1010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xa.aaaa--aaaa.a000--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "flash" + size = 0x40000; + num_pages = 1024; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; + memory "efuse" + initval = 0xfe; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ocdrev = 4; - ; + ##### + # Three separate flash pages + # - Offset 0x100 in signature row + # - Only programmable with JTAG or HVPP + # - Readable from an application + # - Cannot be read using ISP + # - Not erased by chip erase + # + memory "usersig" + paged = yes; + size = 768; + page_size = 256; + num_pages = 3; + offset = 0x100; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 50; + blocksize = 256; + readsize = 256; + ; +; #------------------------------------------------------------ # ATmega128RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m128rfr2"; - desc = "ATmega128RFR2"; - signature = 0x1e 0xa7 0x02; +part parent "m256rfr2" + desc = "ATmega128RFR2"; + id = "m128rfr2"; + variants = + "ATmega128RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 88; + signature = 0x1e 0xa7 0x02; + ocdrev = 3; + memory "eeprom" + size = 4096; + ; - ocdrev = 3; - ; + memory "flash" + size = 0x20000; + num_pages = 512; + load_ext_addr = NULL; + ; +; #------------------------------------------------------------ # ATmega64RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m64rfr2"; - desc = "ATmega64RFR2"; - signature = 0x1e 0xa6 0x02; - - - ocdrev = 3; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; +part parent "m128rfr2" + desc = "ATmega64RFR2"; + id = "m64rfr2"; + variants = + "ATmega64RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 78; + signature = 0x1e 0xa6 0x02; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ; + memory "flash" + size = 0x10000; + num_pages = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # ATmega2564RFR2 #------------------------------------------------------------ part parent "m256rfr2" - id = "m2564rfr2"; - desc = "ATmega2564RFR2"; - signature = 0x1e 0xa8 0x03; - ; + desc = "ATmega2564RFR2"; + id = "m2564rfr2"; + variants = + "ATmega2564RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 145; + signature = 0x1e 0xa8 0x03; +; #------------------------------------------------------------ # ATmega1284RFR2 #------------------------------------------------------------ part parent "m128rfr2" - id = "m1284rfr2"; - desc = "ATmega1284RFR2"; - signature = 0x1e 0xa7 0x03; - ; + desc = "ATmega1284RFR2"; + id = "m1284rfr2"; + variants = + "ATmega1284RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 142; + signature = 0x1e 0xa7 0x03; +; #------------------------------------------------------------ # ATmega644RFR2 #------------------------------------------------------------ part parent "m64rfr2" - id = "m644rfr2"; - desc = "ATmega644RFR2"; - signature = 0x1e 0xa6 0x03; - ; + desc = "ATmega644RFR2"; + id = "m644rfr2"; + variants = + "ATmega644RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 131; + signature = 0x1e 0xa6 0x03; +; #------------------------------------------------------------ # ATtiny24 #------------------------------------------------------------ part - id = "t24"; - desc = "ATtiny24"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x0b; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny24"; + id = "t24"; + variants = + "ATtiny24: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 14; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny24 has signature bytes 0x1E 0x91 0x0B + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny24A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t24" + desc = "ATtiny24A"; + id = "t24a"; + variants = + "ATtiny24A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8R: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 15; +; #------------------------------------------------------------ # ATtiny44 #------------------------------------------------------------ part - id = "t44"; - desc = "ATtiny44"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x07; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny44"; + id = "t44"; + variants = + "ATtiny44: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSUR: SOIC14N, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 20; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny44 has signature bytes 0x1E 0x92 0x07 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny44A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t44" + desc = "ATtiny44A"; + id = "t44a"; + variants = + "ATtiny44A: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = XVII + IV; # 21; +; #------------------------------------------------------------ # ATtiny84 #------------------------------------------------------------ part - id = "t84"; - desc = "ATtiny84"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0c; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny84"; + id = "t84"; + variants = + "ATtiny84: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84-15MZ: MLF20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSU: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSUR: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 24; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny84 has signature bytes 0x1E 0x93 0x0C + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny84A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t84" + desc = "ATtiny84A"; + id = "t84a"; + variants = + "ATtiny84A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MF: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MFR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 25; +; #------------------------------------------------------------ # ATtiny441 #------------------------------------------------------------ part parent "t44" - id = "t441"; - desc = "ATtiny441"; - signature = 0x1e 0x92 0x15; + desc = "ATtiny441"; + id = "t441"; + variants = + "ATtiny441-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 32; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x92 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - memory "flash" - paged = yes; - size = 4096; - page_size = 16; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "flash" + page_size = 16; + num_pages = 256; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaaa.axxx--xxxx.xxxx"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + bitmask = 0xdf; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; ; #------------------------------------------------------------ @@ -11309,60 +13282,41 @@ part parent "t44" #------------------------------------------------------------ part parent "t84" - id = "t841"; - desc = "ATtiny841"; - signature = 0x1e 0x93 0x15; + desc = "ATtiny841"; + id = "t841"; + variants = + "ATtiny841-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 37; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x93 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - memory "flash" - paged = yes; - size = 8192; - page_size = 16; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "flash" + page_size = 16; + num_pages = 512; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaaa.axxx--xxxx.xxxx"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + bitmask = 0xdf; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; ; #------------------------------------------------------------ @@ -11370,177 +13324,281 @@ part parent "t84" #------------------------------------------------------------ part - id = "t43u"; - desc = "ATtiny43u"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x0C; - reset = io; - chip_erase_delay = 1000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E, - 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56, - 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 20; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny43U"; + id = "t43u"; + variants = + "ATtiny43U: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[0.7 V, 5.5 V]", + "ATtiny43U-MU: QFN20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-MUR: WQFN20, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 19; + n_interrupts = 16; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 1000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x92 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + memory "eeprom" - size = 64; - paged = yes; - page_size = 4; - num_pages = 16; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " 0 0 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + paged = yes; + size = 64; + page_size = 4; + num_pages = 16; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--00aa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--00aa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--00aa.aa00--xxxx.xxxx"; ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 4500; - max_write_delay = 4500; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; ; memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16u4 +#------------------------------------------------------------ + +part + desc = "ATmega16U4"; + id = "m16u4"; + variants = + "ATmega16U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 57; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x88; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--00oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -11549,382 +13607,280 @@ part #------------------------------------------------------------ part - id = "m32u4"; - desc = "ATmega32U4"; - signature = 0x1e 0x95 0x87; - usbpid = 0x2ff4; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U4"; + id = "m32u4"; + variants = + "ATmega32U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AUR: QFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 65; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x87; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB646 #------------------------------------------------------------ part - id = "usb646"; - desc = "AT90USB646"; - signature = 0x1e 0x96 0x82; - usbpid = 0x2ff9; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB646"; + id = "usb646"; + variants = + "AT90USB646: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 181; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x82; + usbpid = 0x2ff9; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x9b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB647 @@ -11932,203 +13888,156 @@ part # identical to AT90USB646 part parent "usb646" - id = "usb647"; - desc = "AT90USB647"; - signature = 0x1e 0x96 0x82; - - ocdrev = 3; - ; + desc = "AT90USB647"; + id = "usb647"; + variants = + "AT90USB647: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 182; +; #------------------------------------------------------------ # AT90USB1286 #------------------------------------------------------------ part - id = "usb1286"; - desc = "AT90USB1286"; - signature = 0x1e 0x97 0x82; - usbpid = 0x2ffb; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB1286"; + id = "usb1286"; + variants = + "AT90USB1286: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 184; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x82; + usbpid = 0x2ffb; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB1287 @@ -12136,1404 +14045,1522 @@ part # identical to AT90USB1286 part parent "usb1286" - id = "usb1287"; - desc = "AT90USB1287"; - signature = 0x1e 0x97 0x82; - - ocdrev = 3; - ; + desc = "AT90USB1287"; + id = "usb1287"; + variants = + "AT90USB1287: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 185; +; #------------------------------------------------------------ # AT90USB162 #------------------------------------------------------------ part - id = "usb162"; - desc = "AT90USB162"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x82; - usbpid = 0x2ffa; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB162"; + id = "usb162"; + variants = + "AT90USB162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 178; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x82; + usbpid = 0x2ffa; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB82 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 8192; -# num_pages = 64; part - id = "usb82"; - desc = "AT90USB82"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x82; - usbpid = 0x2ff7; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB82"; + id = "usb82"; + variants = + "AT90USB82: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 174; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x82; + usbpid = 0x2ff7; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega32U2 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 32768; -# num_pages = 256; -# memory "eeprom" -# size = 1024; -# num_pages = 256; + part - id = "m32u2"; - desc = "ATmega32U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x95 0x8a; - usbpid = 0x2ff0; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U2"; + id = "m32u2"; + variants = + "ATmega32U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 64; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x95 0x8a; + usbpid = 0x2ff0; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - num_pages = 256; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + num_pages = 256; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + #------------------------------------------------------------ # ATmega16U2 #------------------------------------------------------------ -# Changes against ATmega32U2 (beside IDs) -# memory "flash" -# size = 16384; -# num_pages = 128; -# memory "eeprom" -# size = 512; -# num_pages = 128; + part - id = "m16u2"; - desc = "ATmega16U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x89; - usbpid = 0x2fef; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega16U2"; + id = "m16u2"; + variants = + "ATmega16U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 56; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x89; + usbpid = 0x2fef; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8U2 #------------------------------------------------------------ -# Changes against ATmega16U2 (beside IDs) -# memory "flash" -# size = 8192; -# page_size = 64; -# blocksize = 64; part - id = "m8u2"; - desc = "ATmega8U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x89; - usbpid = 0x2fee; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8U2"; + id = "m8u2"; + variants = + "ATmega8U2-AU: LQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 48; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x89; + usbpid = 0x2fee; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165P +#------------------------------------------------------------ + +part + desc = "ATmega165P"; + id = "m165p"; + variants = + "ATmega165P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165P-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16ANR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MN: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165PV-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8ANR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 97; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 256; +# stk500_devcode = 0x??; +# avr910_devcode = 0x??; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00xa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00xa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00xa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--0000.0000--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165A +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165A"; + id = "m165a"; + variants = + "ATmega165A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-MUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 96; + signature = 0x1e 0x94 0x10; +; + +#------------------------------------------------------------ +# ATmega165 +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165"; + id = "m165"; + variants = + "ATmega165: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 95; + + memory "eeprom" + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATmega165PA +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165PA"; + id = "m165pa"; + variants = + "ATmega165PA: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 98; +; + #------------------------------------------------------------ # ATmega325 #------------------------------------------------------------ part - id = "m325"; - desc = "ATmega325"; - signature = 0x1e 0x95 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega325"; + id = "m325"; + variants = + "ATmega325: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 114; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaaa.aaaa--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega325A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325A"; + id = "m325a"; + variants = + "ATmega325A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MNR: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 115; +; + +#------------------------------------------------------------ +# ATmega325P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325P"; + id = "m325p"; + variants = + "ATmega325P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MUR: VQFN64, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 116; + signature = 0x1e 0x95 0x0d; +; + +#------------------------------------------------------------ +# ATmega325PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325PA"; + id = "m325pa"; + variants = + "ATmega325PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MU: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 117; + signature = 0x1e 0x95 0x0d; +; #------------------------------------------------------------ # ATmega645 #------------------------------------------------------------ part - id = "m645"; - desc = "ATmega645"; - signature = 0x1E 0x96 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega645"; + id = "m645"; + variants = + "ATmega645: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega645V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 132; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaaa.aaaa--0000.0000"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega645A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645A"; + id = "m645a"; + variants = + "ATmega645A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 133; +; + +#------------------------------------------------------------ +# ATmega645P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645P"; + id = "m645p"; + variants = + "ATmega645P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 134; + signature = 0x1e 0x96 0x0d; +; #------------------------------------------------------------ # ATmega3250 #------------------------------------------------------------ part parent "m325" - id = "m3250"; - desc = "ATmega3250"; - signature = 0x1E 0x95 0x06; + desc = "ATmega3250"; + id = "m3250"; + variants = + "ATmega3250: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 146; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega3250A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250A"; + id = "m3250a"; + variants = + "ATmega3250A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 147; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; + +#------------------------------------------------------------ +# ATmega3250P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250P"; + id = "m3250p"; + variants = + "ATmega3250P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 148; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; + +#------------------------------------------------------------ +# ATmega3250PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250PA"; + id = "m3250pa"; + variants = + "ATmega3250PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 149; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; #------------------------------------------------------------ # ATmega6450 #------------------------------------------------------------ part parent "m645" - id = "m6450"; - desc = "ATmega6450"; - signature = 0x1E 0x96 0x06; + desc = "ATmega6450"; + id = "m6450"; + variants = + "ATmega6450: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6450-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6450V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 154; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6450A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450A"; + id = "m6450a"; + variants = + "ATmega6450A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 155; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; + +#------------------------------------------------------------ +# ATmega6450P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450P"; + id = "m6450p"; + variants = + "ATmega6450P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 156; + n_interrupts = 25; + signature = 0x1e 0x96 0x0e; +; #------------------------------------------------------------ # AVR XMEGA family common values #------------------------------------------------------------ part - id = ".xmega"; - desc = "AVR XMEGA family common values"; - has_pdi = yes; - nvm_base = 0x01c0; - mcu_base = 0x0090; - - memory "signature" - size = 3; - offset = 0x1000090; - ; - - memory "prodsig" - size = 0x32; - offset = 0x8e0200; - page_size = 0x32; - readsize = 0x32; - ; + desc = "AVR XMEGA family common values"; + id = ".xmega"; + prog_modes = PM_SPM | PM_PDI; + n_boot_sections = 1; + mcu_base = 0x0090; + nvm_base = 0x01c0; + autobaud_sync = 0x20; memory "fuse1" - size = 1; - offset = 0x8f0021; + size = 1; + initval = 0x00; + offset = 0x8f0021; ; memory "fuse2" - size = 1; - offset = 0x8f0022; + size = 1; + initval = 0xff; + bitmask = 0x63; + offset = 0x8f0022; ; memory "fuse4" - size = 1; - offset = 0x8f0024; + size = 1; + initval = 0xff; + bitmask = 0x1e; + offset = 0x8f0024; ; memory "fuse5" - size = 1; - offset = 0x8f0025; + size = 1; + initval = 0xff; + bitmask = 0x3f; + offset = 0x8f0025; ; memory "lock" - size = 1; - offset = 0x8f0027; + size = 1; + initval = 0xff; + offset = 0x8f0027; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "prodsig" + size = 50; + page_size = 50; + offset = 0x8e0200; + readsize = 50; ; memory "data" # SRAM, only used to supply the offset - offset = 0x1000000; + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-E family common values +#------------------------------------------------------------ + +# Fuse for fault detection action on Px0..5 (unique to XMEGA-E) + +part parent ".xmega" + desc = "AVR XMEGA-E family common values"; + id = ".xmega-e"; + + memory "fuse6" + size = 1; + initval = 0xff; + offset = 0x8f0026; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-A family common values +#------------------------------------------------------------ + +# JTAG user ID (unique to XMEGA-A and XMEGA-B) + +part parent ".xmega" + desc = "AVR XMEGA-A family common values"; + id = ".xmega-a"; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; ; ; @@ -13541,52 +15568,69 @@ part # ATxmega16A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x16a4u"; - desc = "ATxmega16A4U"; - signature = 0x1e 0x94 0x41; - usbpid = 0x2fe3; +part parent ".xmega-a" + desc = "ATxmega16A4U"; + id = "x16a4u"; + variants = + "ATxmega16A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 232; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x94 0x41; + usbpid = 0x2fe3; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x803000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x804000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x5000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13595,9 +15639,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x16a4u" - id = "x16c4"; - desc = "ATxmega16C4"; - signature = 0x1e 0x94 0x43; + desc = "ATxmega16C4"; + id = "x16c4"; + variants = + "ATxmega16C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 233; + signature = 0x1e 0x94 0x43; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13605,9 +15666,28 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16d4"; - desc = "ATxmega16D4"; - signature = 0x1e 0x94 0x42; + desc = "ATxmega16D4"; + id = "x16d4"; + variants = + "ATxmega16D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AUR: TQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 234; + n_interrupts = 91; + signature = 0x1e 0x94 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13615,14 +15695,22 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16a4"; - desc = "ATxmega16A4"; - signature = 0x1e 0x94 0x41; - has_jtag = yes; + desc = "ATxmega16A4"; + id = "x16a4"; + variants = + "ATxmega16A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 231; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13630,52 +15718,69 @@ part parent "x16a4u" # ATxmega32A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x32a4u"; - desc = "ATxmega32A4U"; - signature = 0x1e 0x95 0x41; - usbpid = 0x2fe4; +part parent ".xmega-a" + desc = "ATxmega32A4U"; + id = "x32a4u"; + variants = + "ATxmega32A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-ANR: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 239; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x95 0x41; + usbpid = 0x2fe4; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x807000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x808000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x9000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13684,9 +15789,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x32a4u" - id = "x32c4"; - desc = "ATxmega32C4"; - signature = 0x1e 0x95 0x44; + desc = "ATxmega32C4"; + id = "x32c4"; + variants = + "ATxmega32C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 240; + signature = 0x1e 0x95 0x44; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13694,9 +15816,29 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32d4"; - desc = "ATxmega32D4"; - signature = 0x1e 0x95 0x42; + desc = "ATxmega32D4"; + id = "x32d4"; + variants = + "ATxmega32D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 241; + n_interrupts = 91; + signature = 0x1e 0x95 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13704,14 +15846,22 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32a4"; - desc = "ATxmega32A4"; - signature = 0x1e 0x95 0x41; - has_jtag = yes; + desc = "ATxmega32A4"; + id = "x32a4"; + variants = + "ATxmega32A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 238; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13719,52 +15869,121 @@ part parent "x32a4u" # ATxmega64A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x64a4u"; - desc = "ATxmega64A4U"; - signature = 0x1e 0x96 0x46; - usbpid = 0x2fe5; +part parent ".xmega-a" + desc = "ATxmega64A4U"; + id = "x64a4u"; + variants = + "ATxmega64A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 252; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x96 0x46; + usbpid = 0x2fe5; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x10000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x80f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x810000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x11000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x11000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x10000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x80f000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x810000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; + ; +; + +#------------------------------------------------------------ +# ATxmega32C3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32C3"; + id = "x32c3"; + variants = + "ATxmega32C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 236; + signature = 0x1e 0x95 0x49; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; +; + +#------------------------------------------------------------ +# ATxmega32D3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32D3"; + id = "x32d3"; + variants = + "ATxmega32D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 237; + n_interrupts = 114; + signature = 0x1e 0x95 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; ; ; @@ -13773,10 +15992,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x64a4u" - id = "x64c3"; - desc = "ATxmega64C3"; - signature = 0x1e 0x96 0x49; - usbpid = 0x2fd6; + desc = "ATxmega64C3"; + id = "x64c3"; + variants = + "ATxmega64C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 249; + signature = 0x1e 0x96 0x49; + usbpid = 0x2fd6; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13784,9 +16019,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d3"; - desc = "ATxmega64D3"; - signature = 0x1e 0x96 0x4a; + desc = "ATxmega64D3"; + id = "x64d3"; + variants = + "ATxmega64D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 250; + n_interrupts = 114; + signature = 0x1e 0x96 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13794,9 +16047,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d4"; - desc = "ATxmega64D4"; - signature = 0x1e 0x96 0x47; + desc = "ATxmega64D4"; + id = "x64d4"; + variants = + "ATxmega64D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AU: QFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 253; + n_interrupts = 91; + signature = 0x1e 0x96 0x47; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13804,14 +16075,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64a1"; - desc = "ATxmega64A1"; - signature = 0x1e 0x96 0x4e; - has_jtag = yes; + desc = "ATxmega64A1"; + id = "x64a1"; + variants = + "ATxmega64A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 243; + n_interrupts = 125; + signature = 0x1e 0x96 0x4e; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13820,10 +16100,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a1" - id = "x64a1u"; - desc = "ATxmega64A1U"; - signature = 0x1e 0x96 0x4e; - usbpid = 0x2fe8; + desc = "ATxmega64A1U"; + id = "x64a1u"; + variants = + "ATxmega64A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-CUR: TFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 244; + n_interrupts = 127; + usbpid = 0x2fe8; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13831,9 +16124,18 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3"; - desc = "ATxmega64A3"; - signature = 0x1e 0x96 0x42; + desc = "ATxmega64A3"; + id = "x64a3"; + variants = + "ATxmega64A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 246; + n_interrupts = 122; + signature = 0x1e 0x96 0x42; ; #------------------------------------------------------------ @@ -13841,10 +16143,22 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3u"; - desc = "ATxmega64A3U"; - signature = 0x1e 0x96 0x42; - usbpid = 0x2fe5; + desc = "ATxmega64A3U"; + id = "x64a3u"; + variants = + "ATxmega64A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 247; + n_interrupts = 127; + signature = 0x1e 0x96 0x42; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13852,9 +16166,39 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a4"; - desc = "ATxmega64A4"; - signature = 0x1e 0x96 0x46; + desc = "ATxmega64A4"; + id = "x64a4"; + variants = + "ATxmega64A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 251; + signature = 0x1e 0x96 0x46; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; ; #------------------------------------------------------------ @@ -13862,10 +16206,25 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b1"; - desc = "ATxmega64B1"; - signature = 0x1e 0x96 0x52; - usbpid = 0x2fe1; + desc = "ATxmega64B1"; + id = "x64b1"; + variants = + "ATxmega64B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 245; + n_interrupts = 81; + signature = 0x1e 0x96 0x52; + usbpid = 0x2fe1; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13873,10 +16232,24 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b3"; - desc = "ATxmega64B3"; - signature = 0x1e 0x96 0x51; - usbpid = 0x2fdf; + desc = "ATxmega64B3"; + id = "x64b3"; + variants = + "ATxmega64B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 248; + n_interrupts = 54; + signature = 0x1e 0x96 0x51; + usbpid = 0x2fdf; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13884,51 +16257,61 @@ part parent "x64a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128c3"; - desc = "ATxmega128C3"; - signature = 0x1e 0x97 0x52; - usbpid = 0x2fd7; + desc = "ATxmega128C3"; + id = "x128c3"; + variants = + "ATxmega128C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 261; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x52; + usbpid = 0x2fd7; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13937,9 +16320,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128c3" - id = "x128d3"; - desc = "ATxmega128D3"; - signature = 0x1e 0x97 0x48; + desc = "ATxmega128D3"; + id = "x128d3"; + variants = + "ATxmega128D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 262; + n_interrupts = 114; + signature = 0x1e 0x97 0x48; ; #------------------------------------------------------------ @@ -13947,9 +16340,24 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128d4"; - desc = "ATxmega128D4"; - signature = 0x1e 0x97 0x47; + desc = "ATxmega128D4"; + id = "x128d4"; + variants = + "ATxmega128D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 265; + n_interrupts = 91; + signature = 0x1e 0x97 0x47; + + memory "flash" + page_size = 256; + ; ; #------------------------------------------------------------ @@ -13957,14 +16365,34 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128a1"; - desc = "ATxmega128A1"; - signature = 0x1e 0x97 0x4c; - has_jtag = yes; + desc = "ATxmega128A1"; + id = "x128a1"; + variants = + "ATxmega128A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 254; + n_interrupts = 125; + signature = 0x1e 0x97 0x4c; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; ; ; @@ -13973,9 +16401,10 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1d"; - desc = "ATxmega128A1revD"; - signature = 0x1e 0x97 0x41; + desc = "ATxmega128A1revD"; + id = "x128a1d"; + mcuid = 255; + signature = 0x1e 0x97 0x41; ; #------------------------------------------------------------ @@ -13983,10 +16412,24 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1u"; - desc = "ATxmega128A1U"; - signature = 0x1e 0x97 0x4c; - usbpid = 0x2fed; + desc = "ATxmega128A1U"; + id = "x128a1u"; + variants = + "ATxmega128A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-AUR: N/A, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-CUR: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 256; + n_interrupts = 127; + usbpid = 0x2fed; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13994,9 +16437,18 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3"; - desc = "ATxmega128A3"; - signature = 0x1e 0x97 0x42; + desc = "ATxmega128A3"; + id = "x128a3"; + variants = + "ATxmega128A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 258; + n_interrupts = 122; + signature = 0x1e 0x97 0x42; ; #------------------------------------------------------------ @@ -14004,10 +16456,23 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3u"; - desc = "ATxmega128A3U"; - signature = 0x1e 0x97 0x42; - usbpid = 0x2fe6; + desc = "ATxmega128A3U"; + id = "x128a3u"; + variants = + "ATxmega128A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 259; + n_interrupts = 127; + signature = 0x1e 0x97 0x42; + usbpid = 0x2fe6; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -14015,56 +16480,82 @@ part parent "x128a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128a4"; - desc = "ATxmega128A4"; - signature = 0x1e 0x97 0x46; - has_jtag = yes; + desc = "ATxmega128A4"; + id = "x128a4"; + variants = + "ATxmega128A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 263; + signature = 0x1e 0x97 0x46; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 512; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; + + memory "usersig" + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14072,52 +16563,67 @@ part parent ".xmega" # ATxmega128A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x128a4u"; - desc = "ATxmega128A4U"; - signature = 0x1e 0x97 0x46; - usbpid = 0x2fde; +part parent ".xmega-a" + desc = "ATxmega128A4U"; + id = "x128a4u"; + variants = + "ATxmega128A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 264; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x46; + usbpid = 0x2fde; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14126,57 +16632,71 @@ part parent ".xmega" #------------------------------------------------------------ part parent ".xmega" - id = "x128b1"; - desc = "ATxmega128B1"; - signature = 0x1e 0x97 0x4d; - usbpid = 0x2fea; - has_jtag = yes; + desc = "ATxmega128B1"; + id = "x128b1"; + variants = + "ATxmega128B1-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CUR: TFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 257; + n_interrupts = 81; + boot_section_size = 8192; + signature = 0x1e 0x97 0x4d; + usbpid = 0x2fea; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 256; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; + ; + + memory "usersig" + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14185,10 +16705,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128b1" - id = "x128b3"; - desc = "ATxmega128B3"; - signature = 0x1e 0x97 0x4b; - usbpid = 0x2fe0; + desc = "ATxmega128B3"; + id = "x128b3"; + variants = + "ATxmega128B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCU: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCUR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 260; + n_interrupts = 54; + signature = 0x1e 0x97 0x4b; + usbpid = 0x2fe0; ; #------------------------------------------------------------ @@ -14196,51 +16725,60 @@ part parent "x128b1" #------------------------------------------------------------ part parent ".xmega" - id = "x192c3"; - desc = "ATxmega192C3"; - signature = 0x1e 0x97 0x51; - # usbpid = 0x2f??; + desc = "ATxmega192C3"; + id = "x192c3"; + variants = + "ATxmega192C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 269; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x51; + +# usbpid = 0x2f??; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x30000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x82e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x830000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x32000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x32000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x30000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x82e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x830000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14249,9 +16787,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x192c3" - id = "x192d3"; - desc = "ATxmega192D3"; - signature = 0x1e 0x97 0x49; + desc = "ATxmega192D3"; + id = "x192d3"; + variants = + "ATxmega192D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 270; + n_interrupts = 114; + signature = 0x1e 0x97 0x49; ; #------------------------------------------------------------ @@ -14259,14 +16807,41 @@ part parent "x192c3" #------------------------------------------------------------ part parent "x192c3" - id = "x192a1"; - desc = "ATxmega192A1"; - signature = 0x1e 0x97 0x4e; - has_jtag = yes; + desc = "ATxmega192A1"; + id = "x192a1"; + variants = + "ATxmega192A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 266; + signature = 0x1e 0x97 0x4e; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -14274,10 +16849,35 @@ part parent "x192c3" # ATxmega192A3 #------------------------------------------------------------ -part parent "x192a1" - id = "x192a3"; - desc = "ATxmega192A3"; - signature = 0x1e 0x97 0x44; +part parent "x192c3" + desc = "ATxmega192A3"; + id = "x192a3"; + variants = + "ATxmega192A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 267; + n_interrupts = 122; + signature = 0x1e 0x97 0x44; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; ; #------------------------------------------------------------ @@ -14285,10 +16885,46 @@ part parent "x192a1" #------------------------------------------------------------ part parent "x192a1" - id = "x192a3u"; - desc = "ATxmega192A3U"; - signature = 0x1e 0x97 0x44; - usbpid = 0x2fe7; + desc = "ATxmega192A3U"; + id = "x192a3u"; + variants = + "ATxmega192A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-ANR: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega192A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 268; + signature = 0x1e 0x97 0x44; + usbpid = 0x2fe7; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14296,51 +16932,61 @@ part parent "x192a1" #------------------------------------------------------------ part parent ".xmega" - id = "x256c3"; - desc = "ATxmega256C3"; - signature = 0x1e 0x98 0x46; - usbpid = 0x2fda; + desc = "ATxmega256C3"; + id = "x256c3"; + variants = + "ATxmega256C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 276; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x46; + usbpid = 0x2fda; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x40000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x83e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x840000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x42000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x42000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x40000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x83e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x840000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14349,9 +16995,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x256c3" - id = "x256d3"; - desc = "ATxmega256D3"; - signature = 0x1e 0x98 0x44; + desc = "ATxmega256D3"; + id = "x256d3"; + variants = + "ATxmega256D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 277; + n_interrupts = 114; + signature = 0x1e 0x98 0x44; ; #------------------------------------------------------------ @@ -14359,14 +17015,40 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256c3" - id = "x256a1"; - desc = "ATxmega256A1"; - signature = 0x1e 0x98 0x46; - has_jtag = yes; + desc = "ATxmega256A1"; + id = "x256a1"; + variants = + "ATxmega256A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 271; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -14375,9 +17057,45 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3"; - desc = "ATxmega256A3"; - signature = 0x1e 0x98 0x42; + desc = "ATxmega256A3"; + id = "x256a3"; + variants = + "ATxmega256A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 272; + n_interrupts = 122; + signature = 0x1e 0x98 0x42; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14385,10 +17103,46 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3u"; - desc = "ATxmega256A3U"; - signature = 0x1e 0x98 0x42; - usbpid = 0x2fec; + desc = "ATxmega256A3U"; + id = "x256a3u"; + variants = + "ATxmega256A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 275; + signature = 0x1e 0x98 0x42; + usbpid = 0x2fec; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14396,9 +17150,44 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3b"; - desc = "ATxmega256A3B"; - signature = 0x1e 0x98 0x43; + desc = "ATxmega256A3B"; + id = "x256a3b"; + variants = + "ATxmega256A3B: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-AU: TQFP64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 273; + n_interrupts = 122; + signature = 0x1e 0x98 0x43; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14406,10 +17195,43 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3bu"; - desc = "ATxmega256A3BU"; - signature = 0x1e 0x98 0x43; - usbpid = 0x2fe2; + desc = "ATxmega256A3BU"; + id = "x256a3bu"; + variants = + "ATxmega256A3BU-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3BU-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 274; + signature = 0x1e 0x98 0x43; + usbpid = 0x2fe2; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14417,51 +17239,61 @@ part parent "x256a1" #------------------------------------------------------------ part parent ".xmega" - id = "x384c3"; - desc = "ATxmega384C3"; - signature = 0x1e 0x98 0x45; - usbpid = 0x2fdb; + desc = "ATxmega384C3"; + id = "x384c3"; + variants = + "ATxmega384C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega384C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 278; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x45; + usbpid = 0x2fdb; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x60000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x85e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x860000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x62000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x62000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x60000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x85e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x860000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14470,60 +17302,87 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x384c3" - id = "x384d3"; - desc = "ATxmega384D3"; - signature = 0x1e 0x98 0x47; + desc = "ATxmega384D3"; + id = "x384d3"; + variants = + "ATxmega384D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 279; + n_interrupts = 114; + signature = 0x1e 0x98 0x47; ; #------------------------------------------------------------ # ATxmega8E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x8e5"; - desc = "ATxmega8E5"; - signature = 0x1e 0x93 0x41; +part parent ".xmega-e" + desc = "ATxmega8E5"; + id = "x8e5"; + variants = + "ATxmega8E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 230; + n_interrupts = 43; + boot_section_size = 2048; + signature = 0x1e 0x93 0x41; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x2000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x800; - offset = 0x00801800; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x800; - offset = 0x00802000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x2800; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x2800; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 8192; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 2048; + page_size = 128; + offset = 0x801800; + readsize = 256; + ; + + memory "boot" + size = 2048; + page_size = 128; + offset = 0x802000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14531,51 +17390,70 @@ part parent ".xmega" # ATxmega16E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x16e5"; - desc = "ATxmega16E5"; - signature = 0x1e 0x94 0x45; +part parent ".xmega-e" + desc = "ATxmega16E5"; + id = "x16e5"; + variants = + "ATxmega16E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-ANR: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 235; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x94 0x45; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00803000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00804000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x5000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14583,51 +17461,70 @@ part parent ".xmega" # ATxmega32E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x32e5"; - desc = "ATxmega32E5"; - signature = 0x1e 0x95 0x4c; +part parent ".xmega-e" + desc = "ATxmega32E5"; + id = "x32e5"; + variants = + "ATxmega32E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 242; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x95 0x4c; memory "eeprom" - size = 0x0400; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00807000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00808000; - page_size = 0x80; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x9000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14636,214 +17533,199 @@ part parent ".xmega" #------------------------------------------------------------ part - id = "uc3a0512"; - desc = "AT32UC3A0512"; - signature = 0xED 0xC0 0x3F; - has_jtag = yes; - is_avr32 = yes; + desc = "AT32UC3A0512"; + id = "uc3a0512"; + variants = + "AT32UC3A0512-ALTR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTTA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUR: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUT: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]"; + prog_modes = PM_AVR32JTAG | PM_aWire; + signature = 0xed 0xc0 0x3f; memory "flash" - paged = yes; - page_size = 512; # bytes - readsize = 512; # bytes - num_pages = 1024; # could be set dynamicly - size = 0x00080000; # could be set dynamicly - offset = 0x80000000; + paged = yes; + size = 0x80000; # could be set dynamicly + page_size = 512; # bytes + num_pages = 1024; # could be set dynamicly + offset = 0x80000000; + readsize = 512; # bytes ; ; +#------------------------------------------------------------ +# deprecated, use 'uc3a0512' +#------------------------------------------------------------ + part parent "uc3a0512" - id = "ucr2"; - desc = "deprecated, use 'uc3a0512'"; + desc = "deprecated, use 'uc3a0512'"; + id = "ucr2"; ; #------------------------------------------------------------ -# ATtiny1634. +# ATtiny1634 #------------------------------------------------------------ part - id = "t1634"; - desc = "ATtiny1634"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x12; - pagel = 0xB3; - bs2 = 0xB1; - reset = io; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny1634"; + id = "t1634"; + variants = + "ATtiny1634: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MN: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MNR: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MUR: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 40; + n_interrupts = 28; + n_page_erase = 4; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb1; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x12; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 32; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; + paged = yes; + size = 0x4000; + page_size = 32; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaaa.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + bitmask = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxi.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 1 1 1 1 i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny1634R +#------------------------------------------------------------ + +part parent "t1634" + desc = "ATtiny1634R"; + id = "t1634r"; + variants = + "ATtiny1634R-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-MUR: WQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 41; ; #------------------------------------------------------------ @@ -14851,33 +17733,37 @@ part #------------------------------------------------------------ part - id = ".reduced_core_tiny"; - desc = "Common values for reduced core tinys"; - has_tpi = yes; - - memory "signature" - size = 3; - offset = 0x3fc0; - page_size = 16; - ; + desc = "Common values for reduced core tinys"; + id = ".reduced_core_tiny"; + prog_modes = PM_TPI; memory "fuse" - size = 1; - offset = 0x3f40; - page_size = 16; - blocksize = 4; - ; - - memory "calibration" - size = 1; - offset = 0x3f80; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x07; + offset = 0x3f40; + blocksize = 4; ; memory "lockbits" - size = 1; - offset = 0x3f00; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x03; + offset = 0x3f00; + ; + + memory "signature" + size = 3; + page_size = 16; + offset = 0x3fc0; + ; + + memory "calibration" + size = 1; + page_size = 16; + offset = 0x3f80; ; ; @@ -14886,15 +17772,21 @@ part #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t4"; - desc = "ATtiny4"; - signature = 0x1e 0x8f 0x0a; + desc = "ATtiny4"; + id = "t4"; + variants = + "ATtiny4-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 0; + n_interrupts = 10; + signature = 0x1e 0x8f 0x0a; memory "flash" - size = 512; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 512; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14903,9 +17795,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t4" - id = "t5"; - desc = "ATtiny5"; - signature = 0x1e 0x8f 0x09; + desc = "ATtiny5"; + id = "t5"; + variants = + "ATtiny5-MAHR: USON8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 1; + n_interrupts = 11; + signature = 0x1e 0x8f 0x09; ; #------------------------------------------------------------ @@ -14913,15 +17811,21 @@ part parent "t4" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t9"; - desc = "ATtiny9"; - signature = 0x1e 0x90 0x08; + desc = "ATtiny9"; + id = "t9"; + variants = + "ATtiny9-MAHR: DFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 2; + n_interrupts = 10; + signature = 0x1e 0x90 0x08; memory "flash" - size = 1024; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14930,9 +17834,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t9" - id = "t10"; - desc = "ATtiny10"; - signature = 0x1e 0x90 0x03; + desc = "ATtiny10"; + id = "t10"; + variants = + "ATtiny10-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 3; + n_interrupts = 11; + signature = 0x1e 0x90 0x03; ; #------------------------------------------------------------ @@ -14940,15 +17850,33 @@ part parent "t9" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t20"; - desc = "ATtiny20"; - signature = 0x1e 0x91 0x0F; + desc = "ATtiny20"; + id = "t20"; + variants = + "ATtiny20-CCU: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-CCUR: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSU: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSUR: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-UUR: WLCSP12, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XU: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XUR: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 4; + n_interrupts = 17; + signature = 0x1e 0x91 0x0f; memory "flash" - size = 2048; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 2048; + page_size = 16; + n_word_writes = 2; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 2; ; ; @@ -14957,15 +17885,102 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t40"; - desc = "ATtiny40"; - signature = 0x1e 0x92 0x0E; + desc = "ATtiny40"; + id = "t40"; + variants = + "ATtiny40-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XU: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XUR: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 5; + n_interrupts = 18; + signature = 0x1e 0x92 0x0e; memory "flash" - size = 4096; - offset = 0x4000; - page_size = 64; - blocksize = 128; + size = 4096; + page_size = 64; + n_word_writes = 4; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 4; + ; +; + +#------------------------------------------------------------ +# ATtiny102 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny102"; + id = "t102"; + variants = + "ATtiny102-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 6; + n_interrupts = 16; + signature = 0x1e 0x90 0x0c; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; + ; +; + +#------------------------------------------------------------ +# ATtiny104 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny104"; + id = "t104"; + variants = + "ATtiny104-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 7; + n_interrupts = 16; + signature = 0x1e 0x90 0x0b; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; ; ; @@ -14974,63 +17989,76 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part - id = "m406"; - desc = "ATMEGA406"; - has_jtag = yes; - signature = 0x1e 0x95 0x07; - + desc = "ATmega406"; + id = "m406"; + variants = + "ATmega406: N/A, Fmax=1 MHz, T=[N/A, N/A], Vcc=[3.3 V, 3.3 V]", + "ATmega406-1AAU: LQFP48, Fmax=1 MHz, T=[-30 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_HVPP | PM_JTAG; + mcuid = 125; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; # STK500 parameters (parallel programming IO lines) - pagel = 0xa7; - bs2 = 0xa0; - serial = no; - parallel = yes; - + pagel = 0xa7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x07; + reset = io; + serial = no; # STK500v2 HV programming parameters, from XML - pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, - 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, - 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, - 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - - # JTAG ICE mkII parameters, also from XML files - allowfullpagebitstream = no; - enablepageprogramming = yes; - idr = 0x51; - rampz = 0x00; - spmcr = 0x57; - eecr = 0x3f; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; memory "eeprom" - paged = no; - size = 512; - page_size = 4; - blocksize = 4; - readsize = 4; - num_pages = 128; + size = 512; + page_size = 4; + num_pages = 128; + blocksize = 4; + readsize = 4; ; memory "flash" - paged = yes; - size = 40960; - page_size = 128; - blocksize = 128; - readsize = 128; - num_pages = 320; - ; - - memory "hfuse" - size = 1; + paged = yes; + size = 0xa000; + page_size = 128; + num_pages = 320; + blocksize = 128; + readsize = 128; ; memory "lfuse" - size = 1; + size = 1; + initval = 0xcd; + ; + + memory "hfuse" + size = 1; + initval = 0xfe; + bitmask = 0x03; ; memory "lockbits" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x3f; ; memory "signature" - size = 3; + size = 3; ; ; @@ -15039,77 +18067,167 @@ part #------------------------------------------------------------ part - id = ".avr8x"; - desc = "AVR8X family common values"; - has_updi = yes; - nvm_base = 0x1000; - ocd_base = 0x0F80; - - memory "signature" - size = 3; - offset = 0x1100; - ; - - memory "prodsig" - size = 0x3D; - offset = 0x1103; - page_size = 0x3D; - readsize = 0x3D; - ; - - memory "fuses" - size = 9; - offset = 0x1280; - ; + desc = "AVR8X family common values"; + id = ".avr8x"; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 256; + nvm_base = 0x1000; + ocd_base = 0x0f80; memory "fuse0" - size = 1; - offset = 0x1280; + size = 1; + initval = 0x00; + offset = 0x1280; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; ; memory "fuse1" - size = 1; - offset = 0x1281; + size = 1; + initval = 0x00; + offset = 0x1281; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; ; memory "fuse2" - size = 1; - offset = 0x1282; + size = 1; + initval = 0x7e; + bitmask = 0x83; + offset = 0x1282; + readsize = 1; ; - memory "fuse4" - size = 1; - offset = 0x1284; + memory "osccfg" + alias "fuse2"; ; memory "fuse5" - size = 1; - offset = 0x1285; + size = 1; + initval = 0xf6; + bitmask = 0xcd; + offset = 0x1285; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; ; memory "fuse6" - size = 1; - offset = 0x1286; + size = 1; + initval = 0xff; + bitmask = 0x07; + offset = 0x1286; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; ; memory "fuse7" - size = 1; - offset = 0x1287; + size = 1; + initval = 0x00; + offset = 0x1287; + readsize = 1; + ; + + memory "append" + alias "fuse7"; + ; + + memory "codesize" + alias "fuse7"; ; memory "fuse8" - size = 1; - offset = 0x1288; + size = 1; + initval = 0x00; + offset = 0x1288; + readsize = 1; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 10; + offset = 0x1280; + readsize = 10; ; memory "lock" - size = 1; - offset = 0x128a; + size = 1; + offset = 0x128a; + readsize = 1; + ; + + memory "tempsense" + size = 2; + offset = 0x1120; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 61; + page_size = 61; + offset = 0x1103; + readsize = 61; + ; + + memory "sernum" + size = 10; + offset = 0x1104; + readsize = 1; + ; + + memory "osccal16" + size = 2; + offset = 0x1118; + readsize = 1; + ; + + memory "osccal20" + size = 2; + offset = 0x111a; + readsize = 1; + ; + + memory "osc16err" + size = 2; + offset = 0x1122; + readsize = 1; + ; + + memory "osc20err" + size = 2; + offset = 0x1124; + readsize = 1; ; memory "data" # SRAM, only used to supply the offset - offset = 0x1000000; + offset = 0x1000000; ; ; @@ -15117,16 +18235,22 @@ part # AVR8X tiny family common values #------------------------------------------------------------ -part parent ".avr8x" - id = ".avr8x_tiny"; - desc = "AVR8X tiny family common values"; - family_id = "tinyAVR"; +part parent ".avr8x" + desc = "AVR8X tiny family common values"; + id = ".avr8x_tiny"; + family_id = "tinyAVR"; + # Shared UPDI pin, HV on UPDI pin + hvupdi_variant = 0; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1300; + readsize = 256; + ; memory "usersig" - size = 0x20; - offset = 0x1300; - page_size = 0x20; - readsize = 0x100; + alias "userrow"; ; ; @@ -15134,16 +18258,26 @@ part parent ".avr8x" # AVR8X mega family common values #------------------------------------------------------------ -part parent ".avr8x" - id = ".avr8x_mega"; - desc = "AVR8X mega family common values"; - family_id = "megaAVR"; +part parent ".avr8x" + desc = "AVR8X mega family common values"; + id = ".avr8x_mega"; + family_id = "megaAVR"; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "userrow" + size = 64; + page_size = 64; + offset = 0x1300; + readsize = 256; + ; memory "usersig" - size = 0x40; - offset = 0x1300; - page_size = 0x40; - readsize = 0x100; + alias "userrow"; ; ; @@ -15151,23 +18285,45 @@ part parent ".avr8x" # ATtiny202 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t202"; - desc = "ATtiny202"; - signature = 0x1E 0x91 0x23; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny202"; + id = "t202"; + variants = + "ATtiny202-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 280; + n_interrupts = 26; + signature = 0x1e 0x91 0x23; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15175,23 +18331,45 @@ part parent ".avr8x_tiny" # ATtiny204 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t204"; - desc = "ATtiny204"; - signature = 0x1E 0x91 0x22; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny204"; + id = "t204"; + variants = + "ATtiny204-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 281; + n_interrupts = 26; + signature = 0x1e 0x91 0x22; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15199,23 +18377,45 @@ part parent ".avr8x_tiny" # ATtiny402 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t402"; - desc = "ATtiny402"; - signature = 0x1E 0x92 0x23; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny402"; + id = "t402"; + variants = + "ATtiny402-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 284; + n_interrupts = 26; + signature = 0x1e 0x92 0x27; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15223,23 +18423,45 @@ part parent ".avr8x_tiny" # ATtiny404 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t404"; - desc = "ATtiny404"; - signature = 0x1E 0x92 0x26; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny404"; + id = "t404"; + variants = + "ATtiny404-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 285; + n_interrupts = 26; + signature = 0x1e 0x92 0x26; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15247,23 +18469,47 @@ part parent ".avr8x_tiny" # ATtiny406 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t406"; - desc = "ATtiny406"; - signature = 0x1E 0x92 0x25; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny406"; + id = "t406"; + variants = + "ATtiny406-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 286; + n_interrupts = 26; + signature = 0x1e 0x92 0x25; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15271,23 +18517,34 @@ part parent ".avr8x_tiny" # ATtiny804 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t804"; - desc = "ATtiny804"; - signature = 0x1E 0x93 0x25; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny804"; + id = "t804"; + variants = + "ATtiny804-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 295; + n_interrupts = 31; + signature = 0x1e 0x93 0x25; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15295,23 +18552,38 @@ part parent ".avr8x_tiny" # ATtiny806 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t806"; - desc = "ATtiny806"; - signature = 0x1E 0x93 0x24; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny806"; + id = "t806"; + variants = + "ATtiny806-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny806-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 296; + n_interrupts = 31; + signature = 0x1e 0x93 0x24; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15319,23 +18591,35 @@ part parent ".avr8x_tiny" # ATtiny807 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t807"; - desc = "ATtiny807"; - signature = 0x1E 0x93 0x23; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny807"; + id = "t807"; + variants = + "ATtiny807-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 297; + n_interrupts = 31; + signature = 0x1e 0x93 0x23; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15343,23 +18627,34 @@ part parent ".avr8x_tiny" # ATtiny1604 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1604"; - desc = "ATtiny1604"; - signature = 0x1E 0x94 0x25; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1604"; + id = "t1604"; + variants = + "ATtiny1604-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 304; + n_interrupts = 31; + signature = 0x1e 0x94 0x25; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15367,23 +18662,38 @@ part parent ".avr8x_tiny" # ATtiny1606 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1606"; - desc = "ATtiny1606"; - signature = 0x1E 0x94 0x24; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1606"; + id = "t1606"; + variants = + "ATtiny1606-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MFR: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 305; + n_interrupts = 31; + signature = 0x1e 0x94 0x24; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15391,23 +18701,35 @@ part parent ".avr8x_tiny" # ATtiny1607 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1607"; - desc = "ATtiny1607"; - signature = 0x1E 0x94 0x23; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1607"; + id = "t1607"; + variants = + "ATtiny1607-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 306; + n_interrupts = 31; + signature = 0x1e 0x94 0x23; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15415,23 +18737,45 @@ part parent ".avr8x_tiny" # ATtiny212 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t212"; - desc = "ATtiny212"; - signature = 0x1E 0x91 0x21; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny212"; + id = "t212"; + variants = + "ATtiny212-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 282; + n_interrupts = 26; + signature = 0x1e 0x91 0x21; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15439,23 +18783,45 @@ part parent ".avr8x_tiny" # ATtiny214 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t214"; - desc = "ATtiny214"; - signature = 0x1E 0x91 0x20; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny214"; + id = "t214"; + variants = + "ATtiny214-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 283; + n_interrupts = 26; + signature = 0x1e 0x91 0x20; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15463,48 +18829,91 @@ part parent ".avr8x_tiny" # ATtiny412 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t412"; - desc = "ATtiny412"; - signature = 0x1E 0x92 0x23; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny412"; + id = "t412"; + variants = + "ATtiny412-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 287; + n_interrupts = 26; + signature = 0x1e 0x92 0x23; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny414 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t414"; - desc = "ATtiny414"; - signature = 0x1E 0x92 0x22; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny414"; + id = "t414"; + variants = + "ATtiny414-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 288; + n_interrupts = 26; + signature = 0x1e 0x92 0x22; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15512,98 +18921,209 @@ part parent ".avr8x_tiny" # ATtiny416 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t416"; - desc = "ATtiny416"; - signature = 0x1E 0x92 0x21; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny416"; + id = "t416"; + variants = + "ATtiny416-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 289; + n_interrupts = 26; + signature = 0x1e 0x92 0x21; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; +#------------------------------------------------------------ +# ATtiny416auto +#------------------------------------------------------------ + +part parent "t416" + desc = "ATtiny416auto"; + id = "t416auto"; + variants = + "ATtiny416-MBT: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny416-MZT: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 290; + signature = 0x1e 0x92 0x28; + + memory "fuse2" + initval = 0x7d; + ; +; #------------------------------------------------------------ # ATtiny417 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t417"; - desc = "ATtiny417"; - signature = 0x1E 0x92 0x20; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny417"; + id = "t417"; + variants = + "ATtiny417-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MFR: QFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 291; + n_interrupts = 26; + signature = 0x1e 0x92 0x20; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny814 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t814"; - desc = "ATtiny814"; - signature = 0x1E 0x93 0x22; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny814"; + id = "t814"; + variants = + "ATtiny814-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNRES: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 298; + n_interrupts = 26; + signature = 0x1e 0x93 0x22; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny816 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t816"; - desc = "ATtiny816"; - signature = 0x1E 0x93 0x21; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny816"; + id = "t816"; + variants = + "ATtiny816-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNRES: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 299; + n_interrupts = 26; + signature = 0x1e 0x93 0x21; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15611,23 +19131,46 @@ part parent ".avr8x_tiny" # ATtiny817 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t817"; - desc = "ATtiny817"; - signature = 0x1E 0x93 0x20; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny817"; + id = "t817"; + variants = + "ATtiny817-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNRES: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 300; + n_interrupts = 26; + signature = 0x1e 0x93 0x20; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15635,23 +19178,45 @@ part parent ".avr8x_tiny" # ATtiny1614 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1614"; - desc = "ATtiny1614"; - signature = 0x1E 0x94 0x22; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1614"; + id = "t1614"; + variants = + "ATtiny1614-SSF: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSFR: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 307; + n_interrupts = 31; + signature = 0x1e 0x94 0x22; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15659,23 +19224,47 @@ part parent ".avr8x_tiny" # ATtiny1616 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1616"; - desc = "ATtiny1616"; - signature = 0x1E 0x94 0x21; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1616"; + id = "t1616"; + variants = + "ATtiny1616-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SFR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 308; + n_interrupts = 31; + signature = 0x1e 0x94 0x21; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15683,47 +19272,45 @@ part parent ".avr8x_tiny" # ATtiny1617 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1617"; - desc = "ATtiny1617"; - signature = 0x1E 0x94 0x20; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1617"; + id = "t1617"; + variants = + "ATtiny1617-MF: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MN: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1617-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 309; + n_interrupts = 31; + signature = 0x1e 0x94 0x20; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; ; -; - -#------------------------------------------------------------ -# ATtiny3214 -#------------------------------------------------------------ - -part parent ".avr8x_tiny" - id = "t3214"; - desc = "ATtiny3214"; - signature = 0x1E 0x95 0x20; memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; ; - memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15731,23 +19318,50 @@ part parent ".avr8x_tiny" # ATtiny3216 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t3216"; - desc = "ATtiny3216"; - signature = 0x1E 0x95 0x21; - - memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny3216"; + id = "t3216"; + variants = + "ATtiny3216-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 314; + n_interrupts = 31; + signature = 0x1e 0x95 0x21; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; + + memory "userrow" + size = 64; + page_size = 64; ; ; @@ -15755,23 +19369,723 @@ part parent ".avr8x_tiny" # ATtiny3217 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t3217"; - desc = "ATtiny3217"; - signature = 0x1E 0x95 0x22; +part parent "t3216" + desc = "ATtiny3217"; + id = "t3217"; + variants = + "ATtiny3217-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 315; + signature = 0x1e 0x95 0x22; +; - memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; - ; +#------------------------------------------------------------ +# ATtiny424 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny424"; + id = "t424"; + variants = + "ATtiny424: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 292; + n_interrupts = 30; + signature = 0x1e 0x92 0x2c; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny426 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny426"; + id = "t426"; + variants = + "ATtiny426: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 293; + n_interrupts = 30; + signature = 0x1e 0x92 0x2b; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny427 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny427"; + id = "t427"; + variants = + "ATtiny427: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 294; + n_interrupts = 30; + signature = 0x1e 0x92 0x2a; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny824 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny824"; + id = "t824"; + variants = + "ATtiny824: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 301; + n_interrupts = 30; + signature = 0x1e 0x93 0x29; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny826 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny826"; + id = "t826"; + variants = + "ATtiny826: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 302; + n_interrupts = 30; + signature = 0x1e 0x93 0x28; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny827 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny827"; + id = "t827"; + variants = + "ATtiny827: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 303; + n_interrupts = 30; + signature = 0x1e 0x93 0x27; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1624 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1624"; + id = "t1624"; + variants = + "ATtiny1624: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 310; + n_interrupts = 30; + signature = 0x1e 0x94 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1626 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1626"; + id = "t1626"; + variants = + "ATtiny1626: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MF: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XF: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XU: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 311; + n_interrupts = 30; + signature = 0x1e 0x94 0x29; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1627 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1627"; + id = "t1627"; + variants = + "ATtiny1627: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MF: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 312; + n_interrupts = 30; + signature = 0x1e 0x94 0x28; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3224 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3224"; + id = "t3224"; + variants = + "ATtiny3224: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 316; + n_interrupts = 30; + signature = 0x1e 0x95 0x28; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3226 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3226"; + id = "t3226"; + variants = + "ATtiny3226: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 317; + n_interrupts = 30; + signature = 0x1e 0x95 0x27; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3227 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3227"; + id = "t3227"; + variants = + "ATtiny3227: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 318; + n_interrupts = 30; + signature = 0x1e 0x95 0x26; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega808 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega808"; + id = "m808"; + variants = + "ATmega808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AFR: TQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MFR: QFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XUR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 319; + n_interrupts = 36; + signature = 0x1e 0x93 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega809 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega809"; + id = "m809"; + variants = + "ATmega809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MFR: QFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 320; + n_interrupts = 40; + signature = 0x1e 0x93 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1608 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1608"; + id = "m1608"; + variants = + "ATmega1608-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 321; + n_interrupts = 36; + signature = 0x1e 0x94 0x27; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1609 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1609"; + id = "m1609"; + variants = + "ATmega1609-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 322; + n_interrupts = 40; + signature = 0x1e 0x94 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15779,23 +20093,42 @@ part parent ".avr8x_tiny" # ATmega3208 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m3208"; - desc = "ATmega3208"; - signature = 0x1E 0x95 0x52; - - memory "flash" - size = 0x8000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega3208"; + id = "m3208"; + variants = + "ATmega3208-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XFR: SSOP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 323; + n_interrupts = 36; + signature = 0x1e 0x95 0x30; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15803,23 +20136,38 @@ part parent ".avr8x_mega" # ATmega3209 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m3209"; - desc = "ATmega3209"; - signature = 0x1E 0x95 0x53; - - memory "flash" - size = 0x8000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega3209"; + id = "m3209"; + variants = + "ATmega3209-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 324; + n_interrupts = 40; + signature = 0x1e 0x95 0x31; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15827,23 +20175,42 @@ part parent ".avr8x_mega" # ATmega4808 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m4808"; - desc = "ATmega4808"; - signature = 0x1E 0x96 0x50; - - memory "flash" - size = 0xC000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega4808"; + id = "m4808"; + variants = + "ATmega4808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 325; + n_interrupts = 36; + signature = 0x1e 0x96 0x50; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15851,22 +20218,2124 @@ part parent ".avr8x_mega" # ATmega4809 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m4809"; - desc = "ATmega4809"; - signature = 0x1E 0x96 0x51; - - memory "flash" - size = 0xC000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega4809"; + id = "m4809"; + variants = + "ATmega4809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-PF: PDIP40, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 326; + n_interrupts = 40; + signature = 0x1e 0x96 0x51; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# AVR-Dx family common values +#------------------------------------------------------------ + +part + desc = "AVR-Dx family common values"; + id = ".avrdx"; + family_id = "AVR "; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 512; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + nvm_base = 0x1000; + ocd_base = 0x0f80; + + memory "fuse0" + size = 1; + initval = 0x00; + offset = 0x1050; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; + ; + + memory "fuse1" + size = 1; + initval = 0x00; + offset = 0x1051; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; + ; + + memory "fuse2" + size = 1; + initval = 0x00; + bitmask = 0x07; + offset = 0x1052; + readsize = 1; + ; + + memory "osccfg" + alias "fuse2"; + ; + + memory "fuse5" + size = 1; + initval = 0xc0; + bitmask = 0xed; + offset = 0x1055; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; + ; + + memory "fuse6" + size = 1; + initval = 0x08; + bitmask = 0x1f; + offset = 0x1056; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; + ; + + memory "fuse7" + size = 1; + initval = 0x00; + offset = 0x1057; + readsize = 1; + ; + + memory "codesize" + alias "fuse7"; + ; + + memory "append" + alias "fuse7"; + ; + + memory "fuse8" + size = 1; + initval = 0x00; + offset = 0x1058; + readsize = 1; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 16; + offset = 0x1050; + readsize = 16; + ; + + memory "lock" + size = 4; + offset = 0x1040; + readsize = 4; + ; + + memory "tempsense" + size = 2; + offset = 0x1104; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 125; + page_size = 125; + offset = 0x1103; + readsize = 125; + ; + + memory "sernum" + size = 16; + offset = 0x1110; + readsize = 1; + ; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1080; + readsize = 32; + ; + + memory "usersig" + alias "userrow"; + ; + + memory "data" + # SRAM, only used to supply the offset + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR32DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA28"; + id = "avr32da28"; + variants = + "AVR32DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 338; + n_interrupts = 41; + signature = 0x1e 0x95 0x34; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA32"; + id = "avr32da32"; + variants = + "AVR32DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 342; + n_interrupts = 44; + signature = 0x1e 0x95 0x33; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA48"; + id = "avr32da48"; + variants = + "AVR32DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 346; + n_interrupts = 58; + signature = 0x1e 0x95 0x32; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA28"; + id = "avr64da28"; + variants = + "AVR64DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SP: SPDIP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "AVR64DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 351; + n_interrupts = 41; + signature = 0x1e 0x96 0x15; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA32"; + id = "avr64da32"; + variants = + "AVR64DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 355; + n_interrupts = 44; + signature = 0x1e 0x96 0x14; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA48"; + id = "avr64da48"; + variants = + "AVR64DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 359; + n_interrupts = 58; + signature = 0x1e 0x96 0x13; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA64"; + id = "avr64da64"; + variants = + "AVR64DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 362; + n_interrupts = 64; + signature = 0x1e 0x96 0x12; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA28"; + id = "avr128da28"; + variants = + "AVR128DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 364; + n_interrupts = 41; + signature = 0x1e 0x97 0x0a; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA32"; + id = "avr128da32"; + variants = + "AVR128DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 366; + n_interrupts = 44; + signature = 0x1e 0x97 0x09; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA48"; + id = "avr128da48"; + variants = + "AVR128DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 368; + n_interrupts = 58; + signature = 0x1e 0x97 0x08; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA64"; + id = "avr128da64"; + variants = + "AVR128DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 370; + n_interrupts = 64; + signature = 0x1e 0x97 0x07; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB28"; + id = "avr32db28"; + variants = + "AVR32DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 339; + n_interrupts = 42; + signature = 0x1e 0x95 0x37; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB32"; + id = "avr32db32"; + variants = + "AVR32DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 343; + n_interrupts = 44; + signature = 0x1e 0x95 0x36; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB48"; + id = "avr32db48"; + variants = + "AVR32DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 347; + n_interrupts = 61; + signature = 0x1e 0x95 0x35; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB28"; + id = "avr64db28"; + variants = + "AVR64DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 352; + n_interrupts = 42; + signature = 0x1e 0x96 0x19; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB32"; + id = "avr64db32"; + variants = + "AVR64DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 356; + n_interrupts = 44; + signature = 0x1e 0x96 0x18; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB48"; + id = "avr64db48"; + variants = + "AVR64DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 360; + n_interrupts = 61; + signature = 0x1e 0x96 0x17; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB64"; + id = "avr64db64"; + variants = + "AVR64DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 363; + n_interrupts = 65; + signature = 0x1e 0x96 0x16; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB28"; + id = "avr128db28"; + variants = + "AVR128DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 365; + n_interrupts = 42; + signature = 0x1e 0x97 0x0e; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB32"; + id = "avr128db32"; + variants = + "AVR128DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 367; + n_interrupts = 44; + signature = 0x1e 0x97 0x0d; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB48"; + id = "avr128db48"; + variants = + "AVR128DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 369; + n_interrupts = 61; + signature = 0x1e 0x97 0x0c; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB64"; + id = "avr128db64"; + variants = + "AVR128DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 371; + n_interrupts = 65; + signature = 0x1e 0x97 0x0b; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD14"; + id = "avr16dd14"; + variants = + "AVR16DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 329; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x34; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD20"; + id = "avr16dd20"; + variants = + "AVR16DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 330; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x33; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD28"; + id = "avr16dd28"; + variants = + "AVR16DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 331; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x32; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD32"; + id = "avr16dd32"; + variants = + "AVR16DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 333; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x31; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD14"; + id = "avr32dd14"; + variants = + "AVR32DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 336; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD20"; + id = "avr32dd20"; + variants = + "AVR32DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 337; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD28"; + id = "avr32dd28"; + variants = + "AVR32DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 340; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x39; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD32"; + id = "avr32dd32"; + variants = + "AVR32DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 344; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x38; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD14"; + id = "avr64dd14"; + variants = + "AVR64DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 349; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1d; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD20"; + id = "avr64dd20"; + variants = + "AVR64DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 350; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1c; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD28"; + id = "avr64dd28"; + variants = + "AVR64DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/STX: VQFN28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 353; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD32"; + id = "avr64dd32"; + variants = + "AVR64DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 357; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR-Ex family common values +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR-Ex family common values"; + id = ".avrex"; + # Shared UPDI pin, HV on _RESET + hvupdi_variant = 2; + + memory "fuse2" + bitmask = 0x08; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "fuse6" + initval = 0x07; + bitmask = 0x07; + ; + + memory "userrow" + size = 64; + page_size = 64; + readsize = 64; + ; +; + +#------------------------------------------------------------ +# AVR8EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA28"; + id = "avr8ea28"; + mcuid = 327; + signature = 0x1e 0x93 0x2c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR8EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA32"; + id = "avr8ea32"; + mcuid = 328; + signature = 0x1e 0x93 0x2b; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR16EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA28"; + id = "avr16ea28"; + variants = + "AVR16EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 332; + signature = 0x1e 0x94 0x37; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA32"; + id = "avr16ea32"; + variants = + "AVR16EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 334; + signature = 0x1e 0x94 0x36; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA48"; + id = "avr16ea48"; + variants = + "AVR16EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 335; + signature = 0x1e 0x94 0x35; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA28"; + id = "avr32ea28"; + variants = + "AVR32EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 341; + signature = 0x1e 0x95 0x3e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA32"; + id = "avr32ea32"; + variants = + "AVR32EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 345; + signature = 0x1e 0x95 0x3d; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA48"; + id = "avr32ea48"; + variants = + "AVR32EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 348; + signature = 0x1e 0x95 0x3c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA28"; + id = "avr64ea28"; + variants = + "AVR64EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SP: SPDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SS: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 354; + n_interrupts = 37; + signature = 0x1e 0x96 0x20; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA32"; + id = "avr64ea32"; + variants = + "AVR64EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/PT: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/RXB: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 358; + n_interrupts = 37; + signature = 0x1e 0x96 0x1f; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA48"; + id = "avr64ea48"; + variants = + "AVR64EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/6LX: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/PT: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 361; + n_interrupts = 45; + signature = 0x1e 0x96 0x1e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# Logic Green parts +#------------------------------------------------------------ + +part parent "m88" + desc = "LGT8F88P"; + id = "lgt8f88p"; + mcuid = 227; + signature = 0x1e 0x93 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F168P +#------------------------------------------------------------ + +part parent "m168" + desc = "LGT8F168P"; + id = "lgt8f168p"; + mcuid = 228; + signature = 0x1e 0x94 0x0b; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F328P +#------------------------------------------------------------ + +part parent "m328" + desc = "LGT8F328P"; + id = "lgt8f328p"; + mcuid = 229; + signature = 0x1e 0x95 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; ; ; diff --git a/bin/avrdude-darwin-x86/avrdude b/bin/avrdude-darwin-x86/avrdude deleted file mode 100755 index 74af8aa985b920728a0287528682c8bbd1bcff23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554828 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

    D`trC* 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 lcf4 # optional parent -# id = [, [, ] ...] ; # are quoted strings -# desc = ; # quoted string -# type = ; # programmer type, quoted string -# # supported programmer types can be listed by "-c ?type" -# connection_type = parallel | serial | usb -# baudrate = ; # baudrate for avr910-programmer -# vcc = [, ... ] ; # pin number(s) -# buff = [, ... ] ; # pin number(s) -# reset = ; # pin number -# sck = ; # pin number -# mosi = ; # pin number -# miso = ; # pin number -# errled = ; # pin number -# rdyled = ; # pin number -# pgmled = ; # pin number -# vfyled = ; # pin number -# usbvid = ; # USB VID (Vendor ID) -# usbpid = [, ...] # USB PID (Product ID) (1) -# usbdev = ; # USB interface or other device info -# usbvendor = ; # USB Vendor Name -# usbproduct = ; # USB Product Name -# usbsn = ; # USB Serial Number -# -# To invert a bit, use = ~ , the spaces are important. -# For a pin list all pins must be inverted. -# A single pin can be specified as usual = ~ , for lists -# specify it as follows = ~ ( [, ... ] ) . -# -# (1) Not all programmer types can process a list of PIDs. -# ; -# -# part -# id = ; # quoted string -# desc = ; # quoted string -# has_jtag = ; # part has JTAG i/f -# has_debugwire = ; # part has debugWire i/f -# has_pdi = ; # part has PDI i/f -# has_tpi = ; # part has TPI i/f -# devicecode = ; # deprecated, use stk500_devcode -# stk500_devcode = ; # numeric -# avr910_devcode = ; # numeric -# signature = ; # signature bytes -# usbpid = ; # DFU USB PID -# chip_erase_delay = ; # micro-seconds -# reset = dedicated | io; -# retry_pulse = reset | sck; -# pgm_enable = ; -# chip_erase = ; -# chip_erase_delay = ; # chip erase delay (us) -# # STK500 parameters (parallel programming IO lines) -# pagel = ; # pin name in hex, i.e., 0xD7 -# bs2 = ; # pin name in hex, i.e., 0xA0 -# serial = ; # can use serial downloading -# parallel = ; # can use par. programming -# # STK500v2 parameters, to be taken from Atmel's XML files -# timeout = ; -# stabdelay = ; -# cmdexedelay = ; -# synchloops = ; -# bytedelay = ; -# pollvalue = ; -# pollindex = ; -# predelay = ; -# postdelay = ; -# pollmethod = ; -# mode = ; -# delay = ; -# blocksize = ; -# readsize = ; -# hvspcmdexedelay = ; -# # STK500v2 HV programming parameters, from XML -# pp_controlstack = , , ...; # PP only -# hvsp_controlstack = , , ...; # HVSP only -# hventerstabdelay = ; -# progmodedelay = ; # PP only -# latchcycles = ; -# togglevtg = ; -# poweroffdelay = ; -# resetdelayms = ; -# resetdelayus = ; -# hvleavestabdelay = ; -# resetdelay = ; -# synchcycles = ; # HVSP only -# chiperasepulsewidth = ; # PP only -# chiperasepolltimeout = ; -# chiperasetime = ; # HVSP only -# programfusepulsewidth = ; # PP only -# programfusepolltimeout = ; -# programlockpulsewidth = ; # PP only -# programlockpolltimeout = ; -# # JTAG ICE mkII parameters, also from XML files -# allowfullpagebitstream = ; -# enablepageprogramming = ; -# idr = ; # IO addr of IDR (OCD) reg. -# rampz = ; # IO addr of RAMPZ reg. -# spmcr = ; # mem addr of SPMC[S]R reg. -# eecr = ; # mem addr of EECR reg. -# # (only when != 0x3c) -# is_at90s1200 = ; # AT90S1200 part -# is_avr32 = ; # AVR32 part -# -# memory -# paged = ; # yes / no -# size = ; # bytes -# page_size = ; # bytes -# num_pages = ; # numeric -# min_write_delay = ; # micro-seconds -# max_write_delay = ; # micro-seconds -# readback_p1 = ; # byte value -# readback_p2 = ; # byte value -# pwroff_after_write = ; # yes / no -# read = ; -# write = ; -# read_lo = ; -# read_hi = ; -# write_lo = ; -# write_hi = ; -# loadpage_lo = ; -# loadpage_hi = ; -# writepage = ; -# ; -# ; -# -# If any of the above parameters are not specified, the default value -# of 0 is used for numerics or the empty string ("") for string -# values. If a required parameter is left empty, AVRDUDE will -# complain. -# -# Parts can also inherit parameters from previously defined parts -# using the following syntax. In this case specified integer and -# string values override parameter values from the parent part. New -# memory definitions are added to the definitions inherited from the -# parent. -# -# part parent # quoted string -# id = ; # quoted string -# -# ; -# -# NOTES: -# * 'devicecode' is the device code used by the STK500 (see codes -# listed below) -# * Not all memory types will implement all instructions. -# * AVR Fuse bits and Lock bits are implemented as a type of memory. -# * Example memory types are: -# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high -# fuse), "signature", "calibration", "lock" -# * The memory type specified on the avrdude command line must match -# one of the memory types defined for the specified chip. -# * The pwroff_after_write flag causes avrdude to attempt to -# power the device off and back on after an unsuccessful write to -# the affected memory area if VCC programmer pins are defined. If -# VCC pins are not defined for the programmer, a message -# indicating that the device needs a power-cycle is printed out. -# This flag was added to work around a problem with the -# at90s4433/2333's; see the at90s4433 errata at: -# -# http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf -# -# INSTRUCTION FORMATS -# -# Instruction formats are specified as a comma seperated list of -# string values containing information (bit specifiers) about each -# of the 32 bits of the instruction. Bit specifiers may be one of -# the following formats: -# -# '1' = the bit is always set on input as well as output -# -# '0' = the bit is always clear on input as well as output -# -# 'x' = the bit is ignored on input and output -# -# 'a' = the bit is an address bit, the bit-number matches this bit -# specifier's position within the current instruction byte -# -# 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 -# is address bit 12 on input, a0 is address bit 0. -# -# 'i' = the bit is an input data bit -# -# 'o' = the bit is an output data bit -# -# Each instruction must be composed of 32 bit specifiers. The -# instruction specification closely follows the instruction data -# provided in Atmel's data sheets for their parts. -# -# See below for some examples. -# -# -# The following are STK500 part device codes to use for the -# "devicecode" field of the part. These came from Atmel's software -# section avr061.zip which accompanies the application note -# AVR061 available from: -# -# http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf -# - -#define ATTINY10 0x10 /* the _old_ one that never existed! */ -#define ATTINY11 0x11 -#define ATTINY12 0x12 -#define ATTINY15 0x13 -#define ATTINY13 0x14 - -#define ATTINY22 0x20 -#define ATTINY26 0x21 -#define ATTINY28 0x22 -#define ATTINY2313 0x23 - -#define AT90S1200 0x33 - -#define AT90S2313 0x40 -#define AT90S2323 0x41 -#define AT90S2333 0x42 -#define AT90S2343 0x43 - -#define AT90S4414 0x50 -#define AT90S4433 0x51 -#define AT90S4434 0x52 -#define ATMEGA48 0x59 - -#define AT90S8515 0x60 -#define AT90S8535 0x61 -#define AT90C8534 0x62 -#define ATMEGA8515 0x63 -#define ATMEGA8535 0x64 - -#define ATMEGA8 0x70 -#define ATMEGA88 0x73 -#define ATMEGA168 0x86 - -#define ATMEGA161 0x80 -#define ATMEGA163 0x81 -#define ATMEGA16 0x82 -#define ATMEGA162 0x83 -#define ATMEGA169 0x84 - -#define ATMEGA323 0x90 -#define ATMEGA32 0x91 - -#define ATMEGA64 0xA0 - -#define ATMEGA103 0xB1 -#define ATMEGA128 0xB2 -#define AT90CAN128 0xB3 -#define AT90CAN64 0xB3 -#define AT90CAN32 0xB3 - -#define AT86RF401 0xD0 - -#define AT89START 0xE0 -#define AT89S51 0xE0 -#define AT89S52 0xE1 - -# The following table lists the devices in the original AVR910 -# appnote: -# |Device |Signature | Code | -# +-------+----------+------+ -# |tiny12 | 1E 90 05 | 0x55 | -# |tiny15 | 1E 90 06 | 0x56 | -# | | | | -# | S1200 | 1E 90 01 | 0x13 | -# | | | | -# | S2313 | 1E 91 01 | 0x20 | -# | S2323 | 1E 91 02 | 0x48 | -# | S2333 | 1E 91 05 | 0x34 | -# | S2343 | 1E 91 03 | 0x4C | -# | | | | -# | S4414 | 1E 92 01 | 0x28 | -# | S4433 | 1E 92 03 | 0x30 | -# | S4434 | 1E 92 02 | 0x6C | -# | | | | -# | S8515 | 1E 93 01 | 0x38 | -# | S8535 | 1E 93 03 | 0x68 | -# | | | | -# |mega32 | 1E 95 01 | 0x72 | -# |mega83 | 1E 93 05 | 0x65 | -# |mega103| 1E 97 01 | 0x41 | -# |mega161| 1E 94 01 | 0x60 | -# |mega163| 1E 94 02 | 0x64 | - -# Appnote AVR109 also has a table of AVR910 device codes, which -# lists: -# dev avr910 signature -# ATmega8 0x77 0x1E 0x93 0x07 -# ATmega8515 0x3B 0x1E 0x93 0x06 -# ATmega8535 0x6A 0x1E 0x93 0x08 -# ATmega16 0x75 0x1E 0x94 0x03 -# ATmega162 0x63 0x1E 0x94 0x04 -# ATmega163 0x66 0x1E 0x94 0x02 -# ATmega169 0x79 0x1E 0x94 0x05 -# ATmega32 0x7F 0x1E 0x95 0x02 -# ATmega323 0x73 0x1E 0x95 0x01 -# ATmega64 0x46 0x1E 0x96 0x02 -# ATmega128 0x44 0x1E 0x97 0x02 -# -# These codes refer to "BOOT" device codes which are apparently -# different than standard device codes, for whatever reasons -# (often one above the standard code). - -# There are several extended versions of AVR910 implementations around -# in the Internet. These add the following codes (only devices that -# actually exist are listed): - -# ATmega8515 0x3A -# ATmega128 0x43 -# ATmega64 0x45 -# ATtiny26 0x5E -# ATmega8535 0x69 -# ATmega32 0x72 -# ATmega16 0x74 -# ATmega8 0x76 -# ATmega169 0x78 - -# -# Overall avrdude defaults; suitable for ~/.avrduderc -# -default_parallel = "unknown"; -default_serial = "unknown"; -# default_bitclock = 2.5; - -# Turn off safemode by default -#default_safemode = no; - - -# -# PROGRAMMER DEFINITIONS -# - -# http://wiring.org.co/ -# Basically STK500v2 protocol, with some glue to trigger the -# bootloader. -programmer - id = "wiring"; - desc = "Wiring"; - type = "wiring"; - connection_type = serial; -; - -programmer - id = "arduino"; - desc = "Arduino"; - type = "arduino"; - connection_type = serial; -; -# this will interface with the chips on these programmers: -# -# http://real.kiev.ua/old/avreal/en/adapters -# http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml -# http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html -# http://www.ethernut.de/en/hardware/turtelizer/index.html -# http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html -# http://dangerousprototypes.com/docs/FT2232_breakout_board -# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H -# http://flashrom.org/FT2232SPI_Programmer -# -# The drivers will look for a specific device and use the first one found. -# If you have mulitple devices, then look for unique information (like SN) -# And fill that in here. -# -# Note that the pin numbers for the main ISP signals (reset, sck, -# mosi, miso) are fixed and cannot be changed, since they must match -# the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of -# these FTDI ICs has been designed. - -programmer - id = "avrftdi"; - desc = "FT2232D based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x6010; - usbvendor = ""; - usbproduct = ""; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ADBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; -#LED SIGNALs - higher ADBUS-Nibble -# errled = 4; -# rdyled = 5; -# pgmled = 6; -# vfyled = 7; -#Buffer Signal - ACBUS - Nibble -# buff = 8; -; -# This is an implementation of the above with a buffer IC (74AC244) and -# 4 LEDs directly attached, all active low. -programmer - id = "2232HIO"; - desc = "FT2232H based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is reserved for generic H devices and -# should be programmed into the EEPROM -# usbpid = 0x8A48; - usbpid = 0x6010; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - reset = 3; - sck = 0; - mosi = 1; - miso = 2; - buff = ~4; -#LED SIGNALs - errled = ~ 11; - rdyled = ~ 14; - pgmled = ~ 13; - vfyled = ~ 12; -; - -#The FT4232H can be treated as FT2232H, but it has a different USB -#device ID of 0x6011. -programmer parent "avrftdi" - id = "4232h"; - desc = "FT4232H based generic programmer"; - usbpid = 0x6011; -; - -programmer - id = "jtagkey"; - desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is used in all JTAGKey variants - usbpid = 0xCFF8; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals => 20 - Pin connector on JTAGKey - reset = 3; # TMS 7 violet - sck = 0; # TCK 9 white - mosi = 1; # TDI 5 green - miso = 2; # TDO 13 orange - buff = ~4; -# VTG VREF 1 brown with red tip -# GND GND 20 black -# The colors are on the 20 pin breakout cable -# from Amontec -; - -# UM232H module from FTDI and Glyn.com.au. -# See helix.air.net.au for detailed usage information. -# J1: Connect pin 2 and 3 for USB power. -# J2: Connect pin 2 and 3 for USB power. -# J2: Pin 7 is SCK -# : Pin 8 is MOSI -# : Pin 9 is MISO -# : Pin 11 is RST -# : Pin 6 is ground -# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get -# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "UM232H"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; -; - -# C232HM module from FTDI and Glyn.com.au. -# : Orange is SCK -# : Yellow is MOSI -# : Green is MISO -# : Brown is RST -# : Black is ground -# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get -# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "C232HM"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; -; - - -# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1" -# You can find it as "OpenJTAG ARM JTAG USB" in the internet. -# (But there are also several projects called Open JTAG, eg. -# http://www.openjtag.org, which are completely different.) -# http://www.100ask.net/shop/english.html (website seems to be outdated) -# http://item.taobao.com/item.htm?id=1559277013 -# http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!) -# some other sources which call it O-Link -# http://www.andahammer.com/olink/ -# http://www.developmentboard.net/31-o-link-debugger.html -# http://armwerks.com/catalog/o-link-debugger-copy/ -# or just have a look at ebay ... -# It is basically the same entry as jtagkey with different usb ids. -programmer parent "jtagkey" - id = "o-link"; - desc = "O-Link, OpenJTAG from www.100ask.net"; - usbvid = 0x1457; - usbpid = 0x5118; - usbvendor = "www.100ask.net"; - usbproduct = "USB<=>JTAG&RS232"; -; - -# http://wiki.openmoko.org/wiki/Debug_Board_v3 -programmer - id = "openmoko"; - desc = "Openmoko debug board (v3)"; - type = "avrftdi"; - usbvid = 0x1457; - usbpid = 0x5118; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; - reset = 3; # TMS 7 - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 -; - -# Only Rev. A boards. -# Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf -programmer - id = "lm3s811"; - desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0xbcd9; - usbvendor = "LMI"; - usbproduct = "LM3S811 Evaluation Board"; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ACBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; -# Enable correct buffers - buff = 7; -; - -# submitted as bug #46020 -programmer - id = "tumpa"; - desc = "TIAO USB Multi-Protocol Adapter"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x8A98; - usbdev = "A"; - usbvendor = "TIAO"; - usbproduct = ""; - usbsn = ""; - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 - reset = 3; # TMS 7 -; - -programmer - id = "avrisp"; - desc = "Atmel AVR ISP"; - type = "stk500"; - connection_type = serial; -; - -programmer - id = "avrispv2"; - desc = "Atmel AVR ISP V2"; - type = "stk500v2"; - connection_type = serial; -; - -programmer - id = "avrispmkII"; - desc = "Atmel AVR ISP mkII"; - type = "stk500v2"; - connection_type = usb; -; - -programmer parent "avrispmkII" - id = "avrisp2"; -; - -programmer - id = "buspirate"; - desc = "The Bus Pirate"; - type = "buspirate"; - connection_type = serial; -; - -programmer - id = "buspirate_bb"; - desc = "The Bus Pirate (bitbang interface, supports TPI)"; - type = "buspirate_bb"; - connection_type = serial; - # pins are bits in bitbang byte (numbers are 87654321) - # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS - reset = 1; - sck = 3; - mosi = 4; - miso = 2; - #vcc = 7; This is internally set independent of this setting. -; - -# This is supposed to be the "default" STK500 entry. -# Attempts to select the correct firmware version -# by probing for it. Better use one of the entries -# below instead. -programmer - id = "stk500"; - desc = "Atmel STK500"; - type = "stk500generic"; - connection_type = serial; -; - -programmer - id = "stk500v1"; - desc = "Atmel STK500 Version 1.x firmware"; - type = "stk500"; - connection_type = serial; -; - -programmer - id = "mib510"; - desc = "Crossbow MIB510 programming board"; - type = "stk500"; - connection_type = serial; -; - -programmer - id = "stk500v2"; - desc = "Atmel STK500 Version 2.x firmware"; - type = "stk500v2"; - connection_type = serial; -; - -programmer - id = "stk500pp"; - desc = "Atmel STK500 V2 in parallel programming mode"; - type = "stk500pp"; - connection_type = serial; -; - -programmer - id = "stk500hvsp"; - desc = "Atmel STK500 V2 in high-voltage serial programming mode"; - type = "stk500hvsp"; - connection_type = serial; -; - -programmer - id = "stk600"; - desc = "Atmel STK600"; - type = "stk600"; - connection_type = usb; -; - -programmer - id = "stk600pp"; - desc = "Atmel STK600 in parallel programming mode"; - type = "stk600pp"; - connection_type = usb; -; - -programmer - id = "stk600hvsp"; - desc = "Atmel STK600 in high-voltage serial programming mode"; - type = "stk600hvsp"; - connection_type = usb; -; - -programmer - id = "avr910"; - desc = "Atmel Low Cost Serial Programmer"; - type = "avr910"; - connection_type = serial; -; - -programmer - id = "ft245r"; - desc = "FT245R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # D1 - sck = 0; # D0 - mosi = 2; # D2 - reset = 4; # D4 -; - -programmer - id = "ft232r"; - desc = "FT232R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # RxD - sck = 0; # TxD - mosi = 2; # RTS - reset = 4; # DTR -; - -# see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega -programmer - id = "bwmega"; - desc = "BitWizard ftdi_atmega builtin programmer"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 5; # DSR - sck = 6; # DCD - mosi = 3; # CTS - reset = 7; # RI -; - -# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html -# Note: pins are numbered from 1! -programmer - id = "arduino-ft232r"; - desc = "Arduino: FT232R connected to ISP"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # CTS X3(1) - sck = 5; # DSR X3(2) - mosi = 6; # DCD X3(3) - reset = 7; # RI X3(4) -; - -# website mentioned above uses this id -programmer parent "arduino-ft232r" - id = "diecimila"; - desc = "alias for arduino-ft232r"; -; - -# There is a ATmega328P kit PCB called "uncompatino". -# This board allows ISP via its on-board FT232R. -# This is designed like Arduino Duemilanove but has no standard ICPS header. -# Its 4 pairs of pins are shorted to enable ftdi_syncbb. -# http://akizukidenshi.com/catalog/g/gP-07487/ -# http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf -programmer - id = "uncompatino"; - desc = "uncompatino with all pairs of pins shorted"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # cts - sck = 5; # dsr - mosi = 6; # dcd - reset = 7; # ri -; - -# FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP -# http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm -# http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf -# For ICSP pinout see for example http://www.atmel.com/images/doc2562.pdf -# (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...) -# TTL-232R GND 1 Black -> ICPS GND (pin 6) -# TTL-232R CTS 2 Brown -> ICPS MOSI (pin 4) -# TTL-232R VCC 3 Red -> ICPS VCC (pin 2) -# TTL-232R TXD 4 Orange -> ICPS RESET (pin 5) -# TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3) -# TTL-232R RTS 6 Green -> ICPS MISO (pin 1) -# Except for VCC and GND, you can connect arbitual pairs as long as -# the following table is adjusted. -programmer - id = "ttl232r"; - desc = "FTDI TTL232R-5V with ICSP adapter"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 2; # rts - sck = 1; # rxd - mosi = 3; # cts - reset = 0; # txd -; - -programmer - id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - usbvendor = "www.fischl.de"; - usbproduct = "USBasp"; - - # following variants are autodetected for id "usbasp" - - # original usbasp from fischl.de - # see above "usbasp" - - # old usbasp from fischl.de - #usbvid = 0x03EB; # ATMEL - #usbpid = 0xC7B4; # (unoffical) USBasp - #usbvendor = "www.fischl.de"; - #usbproduct = "USBasp"; - - # NIBObee (only if -P nibobee is given on command line) - # see below "nibobee" -; - -programmer - id = "nibobee"; - desc = "NIBObee"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x092F; # NIBObee PID - usbvendor = "www.nicai-systems.com"; - usbproduct = "NIBObee"; -; - -programmer - id = "usbasp-clone"; - desc = "Any usbasp clone with correct VID/PID"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - #usbvendor = ""; - #usbproduct = ""; -; - -programmer - id = "usbtiny"; - desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x1781; - usbpid = 0x0c9f; -; - -programmer - id = "arduinoisp"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2341; - usbpid = 0x0049; -; - -programmer - id = "arduinoisporg"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2A03; - usbpid = 0x0049; -; - -programmer - id = "butterfly"; - desc = "Atmel Butterfly Development Board"; - type = "butterfly"; - connection_type = serial; -; - -programmer - id = "avr109"; - desc = "Atmel AppNote AVR109 Boot Loader"; - type = "butterfly"; - connection_type = serial; -; - -programmer - id = "avr911"; - desc = "Atmel AppNote AVR911 AVROSP"; - type = "butterfly"; - connection_type = serial; -; - -# suggested in http://forum.mikrokopter.de/topic-post48317.html -programmer - id = "mkbutterfly"; - desc = "Mikrokopter.de Butterfly"; - type = "butterfly_mk"; - connection_type = serial; -; - -programmer parent "mkbutterfly" - id = "butterfly_mk"; -; - -programmer - id = "jtagmkI"; - desc = "Atmel JTAG ICE (mkI)"; - baudrate = 115200; # default is 115200 - type = "jtagmki"; - connection_type = serial; -; - -# easier to type -programmer parent "jtagmkI" - id = "jtag1"; -; - -# easier to type -programmer parent "jtag1" - id = "jtag1slow"; - baudrate = 19200; -; - -# The JTAG ICE mkII has both, serial and USB connectivity. As it is -# mostly used through USB these days (AVR Studio 5 only supporting it -# that way), we make connection_type = usb the default. Users are -# still free to use a serial port with the -P option. - -programmer - id = "jtagmkII"; - desc = "Atmel JTAG ICE mkII"; - baudrate = 19200; # default is 19200 - type = "jtagmkii"; - connection_type = usb; -; - -# easier to type -programmer parent "jtagmkII" - id = "jtag2slow"; -; - -# JTAG ICE mkII @ 115200 Bd -programmer parent "jtag2slow" - id = "jtag2fast"; - baudrate = 115200; -; - -# make the fast one the default, people will love that -programmer parent "jtag2fast" - id = "jtag2"; -; - -# JTAG ICE mkII in ISP mode -programmer - id = "jtag2isp"; - desc = "Atmel JTAG ICE mkII in ISP mode"; - baudrate = 115200; - type = "jtagmkii_isp"; - connection_type = usb; -; - -# JTAG ICE mkII in debugWire mode -programmer - id = "jtag2dw"; - desc = "Atmel JTAG ICE mkII in debugWire mode"; - baudrate = 115200; - type = "jtagmkii_dw"; - connection_type = usb; -; - -# JTAG ICE mkII in AVR32 mode -programmer - id = "jtagmkII_avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; -; - -# JTAG ICE mkII in AVR32 mode -programmer - id = "jtag2avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; -; - -# JTAG ICE mkII in PDI mode -programmer - id = "jtag2pdi"; - desc = "Atmel JTAG ICE mkII PDI mode"; - baudrate = 115200; - type = "jtagmkii_pdi"; - connection_type = usb; -; - -# AVR Dragon in JTAG mode -programmer - id = "dragon_jtag"; - desc = "Atmel AVR Dragon in JTAG mode"; - baudrate = 115200; - type = "dragon_jtag"; - connection_type = usb; -; - -# AVR Dragon in ISP mode -programmer - id = "dragon_isp"; - desc = "Atmel AVR Dragon in ISP mode"; - baudrate = 115200; - type = "dragon_isp"; - connection_type = usb; -; - -# AVR Dragon in PP mode -programmer - id = "dragon_pp"; - desc = "Atmel AVR Dragon in PP mode"; - baudrate = 115200; - type = "dragon_pp"; - connection_type = usb; -; - -# AVR Dragon in HVSP mode -programmer - id = "dragon_hvsp"; - desc = "Atmel AVR Dragon in HVSP mode"; - baudrate = 115200; - type = "dragon_hvsp"; - connection_type = usb; -; - -# AVR Dragon in debugWire mode -programmer - id = "dragon_dw"; - desc = "Atmel AVR Dragon in debugWire mode"; - baudrate = 115200; - type = "dragon_dw"; - connection_type = usb; -; - -# AVR Dragon in PDI mode -programmer - id = "dragon_pdi"; - desc = "Atmel AVR Dragon in PDI mode"; - baudrate = 115200; - type = "dragon_pdi"; - connection_type = usb; -; - -programmer - id = "jtag3"; - desc = "Atmel AVR JTAGICE3 in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2110, 0x2140; -; - -programmer - id = "jtag3pdi"; - desc = "Atmel AVR JTAGICE3 in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2110, 0x2140; -; - -programmer - id = "jtag3dw"; - desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2110, 0x2140; -; - -programmer - id = "jtag3isp"; - desc = "Atmel AVR JTAGICE3 in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2110, 0x2140; -; - -programmer - id = "xplainedpro"; - desc = "Atmel AVR XplainedPro in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2111; -; - -programmer - id = "xplainedmini"; - desc = "Atmel AVR XplainedMini in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2145; -; - -programmer - id = "xplainedmini_dw"; - desc = "Atmel AVR XplainedMini in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2145; -; - -programmer - id = "atmelice"; - desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2141; -; - -programmer - id = "atmelice_pdi"; - desc = "Atmel-ICE (ARM/AVR) in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2141; -; - -programmer - id = "atmelice_dw"; - desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2141; -; - -programmer - id = "atmelice_isp"; - desc = "Atmel-ICE (ARM/AVR) in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2141; -; - - -programmer - id = "pavr"; - desc = "Jason Kyle's pAVR Serial Programmer"; - type = "avr910"; - connection_type = serial; -; - -programmer - id = "pickit2"; - desc = "MicroChip's PICkit2 Programmer"; - type = "pickit2"; - connection_type = usb; -; - -programmer - id = "flip1"; - desc = "FLIP USB DFU protocol version 1 (doc7618)"; - type = "flip1"; - connection_type = usb; -; - -programmer - id = "flip2"; - desc = "FLIP USB DFU protocol version 2 (AVR4023)"; - type = "flip2"; - connection_type = usb; -; - - -#This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface -# -#To enable it set the configuration below to match the GPIO lines connected to the -#relevant ISP header pins and uncomment the entry definition. In case you don't -#have the required permissions to edit this system wide config file put the -#entry in a separate .conf file and use it with -C+.conf -#on the command line. -# -#To check if your avrdude build has support for the linuxgpio programmer compiled in, -#use -c?type on the command line and look for linuxgpio in the list. If it's not available -#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude. -# -#programmer -# id = "linuxgpio"; -# desc = "Use the Linux sysfs interface to bitbang GPIO lines"; -# type = "linuxgpio"; -# reset = ?; -# sck = ?; -# mosi = ?; -# miso = ?; -#; - -# some ultra cheap programmers use bitbanging on the -# serialport. -# -# PC - DB9 - Pins for RS232: -# -# GND 5 -- |O -# | O| <- 9 RI -# DTR 4 <- |O | -# | O| <- 8 CTS -# TXD 3 <- |O | -# | O| -> 7 RTS -# RXD 2 -> |O | -# | O| <- 6 DSR -# DCD 1 -> |O -# -# Using RXD is currently not supported. -# Using RI is not supported under Win32 but is supported under Posix. - -# serial ponyprog design (dasa2 in uisp) -# reset=!txd sck=rts mosi=dtr miso=cts - -programmer - id = "ponyser"; - desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~3; - sck = 7; - mosi = 4; - miso = 8; -; - -# Same as above, different name -# reset=!txd sck=rts mosi=dtr miso=cts - -programmer parent "ponyser" - id = "siprog"; - desc = "Lancos SI-Prog "; -; - -# unknown (dasa in uisp) -# reset=rts sck=dtr mosi=txd miso=cts - -programmer - id = "dasa"; - desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = 7; - sck = 4; - mosi = 3; - miso = 8; -; - -# unknown (dasa3 in uisp) -# reset=!dtr sck=rts mosi=txd miso=cts - -programmer - id = "dasa3"; - desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~4; - sck = 7; - mosi = 3; - miso = 8; -; - -# C2N232i (jumper configuration "auto") -# reset=dtr sck=!rts mosi=!txd miso=!cts - -programmer - id = "c2n232i"; - desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; - type = "serbb"; - connection_type = serial; - reset = 4; - sck = ~7; - mosi = ~3; - miso = ~8; -; - -# -# PART DEFINITIONS -# - -#------------------------------------------------------------ -# ATtiny11 -#------------------------------------------------------------ - -# This is an HVSP-only device. - -part - id = "t11"; - desc = "ATtiny11"; - stk500_devcode = 0x11; - signature = 0x1e 0x90 0x04; - chip_erase_delay = 20000; - - timeout = 200; - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, - 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - memory "eeprom" - size = 64; - blocksize = 64; - readsize = 256; - delay = 5; - ; - - memory "flash" - size = 1024; - blocksize = 128; - readsize = 256; - delay = 3; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; - ; - - memory "fuse" - size = 1; - ; -; - -#------------------------------------------------------------ -# ATtiny12 -#------------------------------------------------------------ - -part - id = "t12"; - desc = "ATtiny12"; - stk500_devcode = 0x12; - avr910_devcode = 0x55; - signature = 0x1e 0x90 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, - 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - memory "eeprom" - size = 64; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 8; - blocksize = 64; - readsize = 256; - ; - - memory "flash" - size = 1024; - min_write_delay = 4500; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; -; - -#------------------------------------------------------------ -# ATtiny13 -#------------------------------------------------------------ - -part - id = "t13"; - desc = "ATtiny13"; - has_debugwire = yes; - flash_instr = 0xB4, 0x0E, 0x1E; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; - signature = 0x1e 0x90 0x07; - chip_erase_delay = 4000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 90; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - ocdrev = 0; - - memory "eeprom" - size = 64; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 1024; - page_size = 32; - num_pages = 32; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; - -; - - -#------------------------------------------------------------ -# ATtiny15 -#------------------------------------------------------------ - -part - id = "t15"; - desc = "ATtiny15"; - stk500_devcode = 0x13; - avr910_devcode = 0x56; - signature = 0x1e 0x90 0x06; - chip_erase_delay = 8200; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, - 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 5; - synchcycles = 6; - latchcycles = 16; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - memory "eeprom" - size = 64; - min_write_delay = 8200; - max_write_delay = 8200; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; - ; - - memory "flash" - size = 1024; - min_write_delay = 4100; - max_write_delay = 4100; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o x x o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i 1 1 i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; -; - -#------------------------------------------------------------ -# AT90s1200 -#------------------------------------------------------------ - -part - id = "1200"; - desc = "AT90S1200"; - is_at90s1200 = yes; - stk500_devcode = 0x33; - avr910_devcode = 0x13; - signature = 0x1e 0x90 0x01; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 1; - bytedelay = 0; - pollindex = 0; - pollvalue = 0xFF; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; - - memory "eeprom" - size = 64; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 32; - readsize = 256; - ; - memory "flash" - size = 1024; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x02; - delay = 15; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - -#------------------------------------------------------------ -# AT90s4414 -#------------------------------------------------------------ - -part - id = "4414"; - desc = "AT90S4414"; - stk500_devcode = 0x50; - avr910_devcode = 0x28; - signature = 0x1e 0x92 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; - - memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; - -#------------------------------------------------------------ -# AT90s2313 -#------------------------------------------------------------ - -part - id = "2313"; - desc = "AT90S2313"; - stk500_devcode = 0x40; - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; - - memory "eeprom" - size = 128; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "flash" - size = 2048; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; - -#------------------------------------------------------------ -# AT90s2333 -#------------------------------------------------------------ - -part - id = "2333"; -##### WARNING: No XML file for device 'AT90S2333'! ##### - desc = "AT90S2333"; - stk500_devcode = 0x42; - avr910_devcode = 0x34; - signature = 0x1e 0x91 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; - - memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - - -#------------------------------------------------------------ -# AT90s2343 (also AT90s2323 and ATtiny22) -#------------------------------------------------------------ - -part - id = "2343"; - desc = "AT90S2343"; - stk500_devcode = 0x43; - avr910_devcode = 0x4c; - signature = 0x1e 0x91 0x03; - chip_erase_delay = 18000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, - 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 0; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 128; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - - -#------------------------------------------------------------ -# AT90s4433 -#------------------------------------------------------------ - -part - id = "4433"; - desc = "AT90S4433"; - stk500_devcode = 0x51; - avr910_devcode = 0x30; - signature = 0x1e 0x92 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; - - memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - -#------------------------------------------------------------ -# AT90s4434 -#------------------------------------------------------------ - -part - id = "4434"; -##### WARNING: No XML file for device 'AT90S4434'! ##### - desc = "AT90S4434"; - stk500_devcode = 0x52; - avr910_devcode = 0x6c; - signature = 0x1e 0x92 0x02; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - ; - memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - -#------------------------------------------------------------ -# AT90s8515 -#------------------------------------------------------------ - -part - id = "8515"; - desc = "AT90S8515"; - stk500_devcode = 0x60; - avr910_devcode = 0x38; - signature = 0x1e 0x93 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; - - memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "flash" - size = 8192; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; - -#------------------------------------------------------------ -# AT90s8535 -#------------------------------------------------------------ - -part - id = "8535"; - desc = "AT90S8535"; - stk500_devcode = 0x61; - avr910_devcode = 0x68; - signature = 0x1e 0x93 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; - - memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "flash" - size = 8192; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x x o"; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o x x x x x x"; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; - -#------------------------------------------------------------ -# ATmega103 -#------------------------------------------------------------ - -part - id = "m103"; - desc = "ATmega103"; - stk500_devcode = 0xB1; - avr910_devcode = 0x41; - signature = 0x1e 0x97 0x01; - chip_erase_delay = 112000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, - 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, - 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, - 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 10; - - memory "eeprom" - size = 4096; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 22000; - max_write_delay = 56000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 70; - blocksize = 256; - readsize = 256; - ; - - memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o x o 1 o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATmega64 -#------------------------------------------------------------ - -part - id = "m64"; - desc = "ATmega64"; - has_jtag = yes; - stk500_devcode = 0xA0; - avr910_devcode = 0x45; - signature = 0x1e 0x96 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; - allowfullpagebitstream = yes; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 64; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - - - -#------------------------------------------------------------ -# ATmega128 -#------------------------------------------------------------ - -part - id = "m128"; - desc = "ATmega128"; - has_jtag = yes; - stk500_devcode = 0xB2; - avr910_devcode = 0x43; - signature = 0x1e 0x97 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; - rampz = 0x3b; - allowfullpagebitstream = yes; - - ocdrev = 1; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90CAN128 -#------------------------------------------------------------ - -part - id = "c128"; - desc = "AT90CAN128"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x97 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90CAN64 -#------------------------------------------------------------ - -part - id = "c64"; - desc = "AT90CAN64"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x96 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90CAN32 -#------------------------------------------------------------ - -part - id = "c32"; - desc = "AT90CAN32"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x95 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 256; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATmega16 -#------------------------------------------------------------ - -part - id = "m16"; - desc = "ATmega16"; - has_jtag = yes; - stk500_devcode = 0x82; - avr910_devcode = 0x74; - signature = 0x1e 0x94 0x03; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 100; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = yes; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "calibration" - size = 4; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATmega164P -#------------------------------------------------------------ - -# close to ATmega16 - -part parent "m16" - id = "m164p"; - desc = "ATmega164P"; - signature = 0x1e 0x94 0x0a; - - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - allowfullpagebitstream = no; - chip_erase_delay = 55000; - - ocdrev = 3; - ; - - -#------------------------------------------------------------ -# ATmega324P -#------------------------------------------------------------ - -# similar to ATmega164P - -part - id = "m324p"; - desc = "ATmega324P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x95 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATmega324PA -#------------------------------------------------------------ - -# similar to ATmega324P - -part parent "m324p" - id = "m324pa"; - desc = "ATmega324PA"; - signature = 0x1e 0x95 0x11; - - ocdrev = 3; - ; - - -#------------------------------------------------------------ -# ATmega644 -#------------------------------------------------------------ - -# similar to ATmega164 - -part - id = "m644"; - desc = "ATmega644"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x96 0x09; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega644P -#------------------------------------------------------------ - -# similar to ATmega164p - -part parent "m644" - id = "m644p"; - desc = "ATmega644P"; - signature = 0x1e 0x96 0x0a; - - ocdrev = 3; - ; - - - -#------------------------------------------------------------ -# ATmega1284 -#------------------------------------------------------------ - -# similar to ATmega164 - -part - id = "m1284"; - desc = "ATmega1284"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x06; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - - -#------------------------------------------------------------ -# ATmega1284P -#------------------------------------------------------------ - -# similar to ATmega164p - -part - id = "m1284p"; - desc = "ATmega1284P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x05; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - - -#------------------------------------------------------------ -# ATmega162 -#------------------------------------------------------------ - -part - id = "m162"; - desc = "ATmega162"; - has_jtag = yes; - stk500_devcode = 0x83; - avr910_devcode = 0x63; - signature = 0x1e 0x94 0x04; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - - idr = 0x04; - spmcr = 0x57; - allowfullpagebitstream = yes; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - ocdrev = 2; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - - ; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "signature" - size = 3; - - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; -; - - - -#------------------------------------------------------------ -# ATmega163 -#------------------------------------------------------------ - -part - id = "m163"; - desc = "ATmega163"; - stk500_devcode = 0x81; - avr910_devcode = 0x64; - signature = 0x1e 0x94 0x02; - chip_erase_delay = 32000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; - programfusepolltimeout = 2; - programlockpulsewidth = 0; - programlockpolltimeout = 2; - - - memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 16000; - max_write_delay = 16000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 20; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o x x o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i 1 1 i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x 1 o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x 0 x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega169 -#------------------------------------------------------------ - -part - id = "m169"; - desc = "ATmega169"; - has_jtag = yes; - stk500_devcode = 0x85; - avr910_devcode = 0x78; - signature = 0x1e 0x94 0x05; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; - - memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega329 -#------------------------------------------------------------ - -part - id = "m329"; - desc = "ATmega329"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x95 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega329P -#------------------------------------------------------------ -# Identical to ATmega329 except of the signature - -part parent "m329" - id = "m329p"; - desc = "ATmega329P"; - signature = 0x1e 0x95 0x0b; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# ATmega3290 -#------------------------------------------------------------ - -# identical to ATmega329 - -part parent "m329" - id = "m3290"; - desc = "ATmega3290"; - signature = 0x1e 0x95 0x04; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# ATmega3290P -#------------------------------------------------------------ - -# identical to ATmega3290 except of the signature - -part parent "m3290" - id = "m3290p"; - desc = "ATmega3290P"; - signature = 0x1e 0x95 0x0c; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# ATmega649 -#------------------------------------------------------------ - -part - id = "m649"; - desc = "ATmega649"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x96 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega6490 -#------------------------------------------------------------ - -# identical to ATmega649 - -part parent "m649" - id = "m6490"; - desc = "ATmega6490"; - signature = 0x1e 0x96 0x04; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# ATmega32 -#------------------------------------------------------------ - -part - id = "m32"; - desc = "ATmega32"; - has_jtag = yes; - stk500_devcode = 0x91; - avr910_devcode = 0x72; - signature = 0x1e 0x95 0x02; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = yes; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega161 -#------------------------------------------------------------ - -part - id = "m161"; - desc = "ATmega161"; - stk500_devcode = 0x80; - avr910_devcode = 0x60; - signature = 0x1e 0x94 0x01; - chip_erase_delay = 28000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; - programfusepolltimeout = 2; - programlockpulsewidth = 0; - programlockpolltimeout = 2; - - memory "eeprom" - size = 512; - min_write_delay = 3400; - max_write_delay = 3400; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 14000; - max_write_delay = 14000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 16; - blocksize = 128; - readsize = 256; - ; - - memory "fuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x o x o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x 1 i 1 i i i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATmega8 -#------------------------------------------------------------ - -part - id = "m8"; - desc = "ATmega8"; - stk500_devcode = 0x70; - avr910_devcode = 0x76; - signature = 0x1e 0x93 0x07; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 10000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "eeprom" - size = 512; - page_size = 4; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 10; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - # Required for Arduino IDE - # see: https://github.com/arduino/Arduino/issues/2075 - # https://github.com/arduino/Arduino/issues/2075#issuecomment-238031689 - memory "efuse" - size = 0; - ; - - memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - - -#------------------------------------------------------------ -# ATmega8515 -#------------------------------------------------------------ - -part - id = "m8515"; - desc = "ATmega8515"; - stk500_devcode = 0x63; - avr910_devcode = 0x3A; - signature = 0x1e 0x93 0x06; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - - - -#------------------------------------------------------------ -# ATmega8535 -#------------------------------------------------------------ - -part - id = "m8535"; - desc = "ATmega8535"; - stk500_devcode = 0x64; - avr910_devcode = 0x69; - signature = 0x1e 0x93 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATtiny26 -#------------------------------------------------------------ - -part - id = "t26"; - desc = "ATtiny26"; - stk500_devcode = 0x21; - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x09; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x x x x i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - -; - - -#------------------------------------------------------------ -# ATtiny261 -#------------------------------------------------------------ -# Close to ATtiny26 - -part - id = "t261"; - desc = "ATtiny261"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0c; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - size = 128; - page_size = 4; - num_pages = 32; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - -; - - -#------------------------------------------------------------ -# ATtiny461 -#------------------------------------------------------------ -# Close to ATtiny261 - -part - id = "t461"; - desc = "ATtiny461"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x08; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - size = 256; - page_size = 4; - num_pages = 64; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - -; - - -#------------------------------------------------------------ -# ATtiny861 -#------------------------------------------------------------ -# Close to ATtiny461 - -part - id = "t861"; - desc = "ATtiny861"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x93 0x0d; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - size = 512; - num_pages = 128; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - -; - - -#------------------------------------------------------------ -# ATtiny28 -#------------------------------------------------------------ - -# This is an HVPP-only device. - -part - id = "t28"; - desc = "ATtiny28"; - stk500_devcode = 0x22; - avr910_devcode = 0x5c; - signature = 0x1e 0x91 0x07; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "flash" - size = 2048; - page_size = 2; - readsize = 256; - delay = 5; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; - ; - - memory "fuse" - size = 1; - ; -; - - - -#------------------------------------------------------------ -# ATmega48 -#------------------------------------------------------------ - -part - id = "m48"; - desc = "ATmega48"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x59; -# avr910_devcode = 0x; - signature = 0x1e 0x92 0x05; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 45000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega48P -#------------------------------------------------------------ - -part parent "m48" - id = "m48p"; - desc = "ATmega48P"; - signature = 0x1e 0x92 0x0a; - - ocdrev = 1; - ; - -#------------------------------------------------------------ -# ATmega48PB -#------------------------------------------------------------ - -part parent "m48" - id = "m48pb"; - desc = "ATmega48PB"; - signature = 0x1e 0x92 0x10; - - ocdrev = 1; - ; - -#------------------------------------------------------------ -# ATmega88 -#------------------------------------------------------------ - -part - id = "m88"; - desc = "ATmega88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x0a; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega88P -#------------------------------------------------------------ - -part parent "m88" - id = "m88p"; - desc = "ATmega88P"; - signature = 0x1e 0x93 0x0f; - - ocdrev = 1; - ; - -#------------------------------------------------------------ -# ATmega88PB -#------------------------------------------------------------ - -part parent "m88" - id = "m88pb"; - desc = "ATmega88PB"; - signature = 0x1e 0x93 0x16; - - ocdrev = 1; - ; - -#------------------------------------------------------------ -# ATmega168 -#------------------------------------------------------------ - -part - id = "m168"; - desc = "ATmega168"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x06; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; -; - -#------------------------------------------------------------ -# ATmega168P -#------------------------------------------------------------ - -part parent "m168" - id = "m168p"; - desc = "ATmega168P"; - signature = 0x1e 0x94 0x0b; - - ocdrev = 1; -; - -#------------------------------------------------------------ -# ATmega168PB -#------------------------------------------------------------ - -part parent "m168" - id = "m168pb"; - desc = "ATmega168PB"; - signature = 0x1e 0x94 0x15; - - ocdrev = 1; -; - -#------------------------------------------------------------ -# ATtiny88 -#------------------------------------------------------------ - -part - id = "t88"; - desc = "ATtiny88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x11; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - page_size = 4; - size = 64; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 64; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega328 -#------------------------------------------------------------ - -part - id = "m328"; - desc = "ATmega328"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x14; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - page_size = 4; - size = 1024; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; -; - -part parent "m328" - id = "m328p"; - desc = "ATmega328P"; - signature = 0x1e 0x95 0x0F; - - ocdrev = 1; -; - -part parent "m328" - id = "m328pb"; - desc = "ATmega328PB"; - signature = 0x1e 0x95 0x16; - - ocdrev = 1; -; - -#------------------------------------------------------------ -# ATmega32m1 -#------------------------------------------------------------ - -part parent "m328" - id = "m32m1"; - desc = "ATmega32M1"; - # stk500_devcode = 0x; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x84; - bs2 = 0xe2; - - memory "efuse" - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x i i i i i i"; - ; -; - -#------------------------------------------------------------ -# ATtiny2313 -#------------------------------------------------------------ - -part - id = "t2313"; - desc = "ATtiny2313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0a; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 0; - - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - -# The information in the data sheet of April/2004 is wrong, this works: - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - -# The information in the data sheet of April/2004 is wrong, this works: - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - -# The information in the data sheet of April/2004 is wrong, this works: - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; -# The Tiny2313 has calibration data for both 4 MHz and 8 MHz. -# The information in the data sheet of April/2004 is wrong, this works: - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATtiny4313 -#------------------------------------------------------------ - -part - id = "t4313"; - desc = "ATtiny4313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x0d; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 0; - - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90PWM2 -#------------------------------------------------------------ - -part - id = "pwm2"; - desc = "AT90PWM2"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x65; -## avr910_devcode = ?; - signature = 0x1e 0x93 0x81; - pagel = 0xD8; - bs2 = 0xE2; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; -# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90PWM3 -#------------------------------------------------------------ - -# Completely identical to AT90PWM2 (including the signature!) - -part parent "pwm2" - id = "pwm3"; - desc = "AT90PWM3"; - ; - -#------------------------------------------------------------ -# AT90PWM2B -#------------------------------------------------------------ -# Same as AT90PWM2 but different signature. - -part parent "pwm2" - id = "pwm2b"; - desc = "AT90PWM2B"; - signature = 0x1e 0x93 0x83; - - ocdrev = 1; - ; - -#------------------------------------------------------------ -# AT90PWM3B -#------------------------------------------------------------ - -# Completely identical to AT90PWM2B (including the signature!) - -part parent "pwm2b" - id = "pwm3b"; - desc = "AT90PWM3B"; - - ocdrev = 1; - ; - -#------------------------------------------------------------ -# AT90PWM316 -#------------------------------------------------------------ - -# Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM. - -part parent "pwm3b" - id = "pwm316"; - desc = "AT90PWM316"; - signature = 0x1e 0x94 0x83; - - ocdrev = 1; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - ; - -#------------------------------------------------------------ -# AT90PWM216 -#------------------------------------------------------------ -# Completely identical to AT90PWM316 (including the signature!) - -part parent "pwm316" - id = "pwm216"; - desc = "AT90PWM216"; - ; - -#------------------------------------------------------------ -# ATtiny25 -#------------------------------------------------------------ - -part - id = "t25"; - desc = "ATtiny25"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x08; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - ocdrev = 1; - - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATtiny45 -#------------------------------------------------------------ - -part - id = "t45"; - desc = "ATtiny45"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x06; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - ocdrev = 1; - - memory "eeprom" - size = 256; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATtiny85 -#------------------------------------------------------------ - -part - id = "t85"; - desc = "ATtiny85"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0b; - reset = io; - chip_erase_delay = 400000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - ocdrev = 1; - - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 12; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 30000; - max_write_delay = 30000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATTiny841 -#------------------------------------------------------------ - -part - id = "t841"; - desc = "ATtiny841"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x15; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - #ocdrev = 1; - programlockpolltimeout = 25; - - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 16; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny841 has Signature Bytes: 0x1E 0x93 0x0C. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega640 -#------------------------------------------------------------ -# Almost same as ATmega1280, except for different memory sizes - -part - id = "m640"; - desc = "ATmega640"; - signature = 0x1e 0x96 0x08; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega1280 -#------------------------------------------------------------ - -part - id = "m1280"; - desc = "ATmega1280"; - signature = 0x1e 0x97 0x03; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega1281 -#------------------------------------------------------------ -# Identical to ATmega1280 - -part parent "m1280" - id = "m1281"; - desc = "ATmega1281"; - signature = 0x1e 0x97 0x04; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# ATmega2560 -#------------------------------------------------------------ - -part - id = "m2560"; - desc = "ATmega2560"; - signature = 0x1e 0x98 0x01; - has_jtag = yes; - stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 4; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 262144; - page_size = 256; - num_pages = 1024; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - load_ext_addr = " 0 1 0 0 1 1 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 a16", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega2561 -#------------------------------------------------------------ - -part parent "m2560" - id = "m2561"; - desc = "ATmega2561"; - signature = 0x1e 0x98 0x02; - - ocdrev = 4; - ; - -#------------------------------------------------------------ -# ATmega128RFA1 -#------------------------------------------------------------ -# Identical to ATmega2561 but half the ROM - -part parent "m2561" - id = "m128rfa1"; - desc = "ATmega128RFA1"; - signature = 0x1e 0xa7 0x01; - chip_erase_delay = 55000; - bs2 = 0xE2; - - ocdrev = 3; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; - ; - -#------------------------------------------------------------ -# ATmega256RFR2 -#------------------------------------------------------------ - -part parent "m2561" - id = "m256rfr2"; - desc = "ATmega256RFR2"; - signature = 0x1e 0xa8 0x02; - chip_erase_delay = 18500; - bs2 = 0xE2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 8192; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ocdrev = 4; - ; - -#------------------------------------------------------------ -# ATmega128RFR2 -#------------------------------------------------------------ - -part parent "m128rfa1" - id = "m128rfr2"; - desc = "ATmega128RFR2"; - signature = 0x1e 0xa7 0x02; - - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# ATmega64RFR2 -#------------------------------------------------------------ - -part parent "m128rfa1" - id = "m64rfr2"; - desc = "ATmega64RFR2"; - signature = 0x1e 0xa6 0x02; - - - ocdrev = 3; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ; - -#------------------------------------------------------------ -# ATmega2564RFR2 -#------------------------------------------------------------ - -part parent "m256rfr2" - id = "m2564rfr2"; - desc = "ATmega2564RFR2"; - signature = 0x1e 0xa8 0x03; - ; - -#------------------------------------------------------------ -# ATmega1284RFR2 -#------------------------------------------------------------ - -part parent "m128rfr2" - id = "m1284rfr2"; - desc = "ATmega1284RFR2"; - signature = 0x1e 0xa7 0x03; - ; - -#------------------------------------------------------------ -# ATmega644RFR2 -#------------------------------------------------------------ - -part parent "m64rfr2" - id = "m644rfr2"; - desc = "ATmega644RFR2"; - signature = 0x1e 0xa6 0x03; - ; - -#------------------------------------------------------------ -# ATtiny24 -#------------------------------------------------------------ - -part - id = "t24"; - desc = "ATtiny24"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x0b; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - ocdrev = 1; - - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATtiny44 -#------------------------------------------------------------ - -part - id = "t44"; - desc = "ATtiny44"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x07; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - ocdrev = 1; - - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATtiny84 -#------------------------------------------------------------ - -part - id = "t84"; - desc = "ATtiny84"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0c; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - ocdrev = 1; - - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATtiny43U -#------------------------------------------------------------ - -part - id = "t43u"; - desc = "ATtiny43u"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x0C; - reset = io; - chip_erase_delay = 1000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E, - 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56, - 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 20; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - memory "eeprom" - size = 64; - paged = yes; - page_size = 4; - num_pages = 16; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " 0 0 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; -; - -#------------------------------------------------------------ -# ATmega32u4 -#------------------------------------------------------------ - -part - id = "m32u4"; - desc = "ATmega32U4"; - signature = 0x1e 0x95 0x87; - usbpid = 0x2ff4; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90USB646 -#------------------------------------------------------------ - -part - id = "usb646"; - desc = "AT90USB646"; - signature = 0x1e 0x96 0x82; - usbpid = 0x2ff9; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90USB647 -#------------------------------------------------------------ -# identical to AT90USB646 - -part parent "usb646" - id = "usb647"; - desc = "AT90USB647"; - signature = 0x1e 0x96 0x82; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# AT90USB1286 -#------------------------------------------------------------ - -part - id = "usb1286"; - desc = "AT90USB1286"; - signature = 0x1e 0x97 0x82; - usbpid = 0x2ffb; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90USB1287 -#------------------------------------------------------------ -# identical to AT90USB1286 - -part parent "usb1286" - id = "usb1287"; - desc = "AT90USB1287"; - signature = 0x1e 0x97 0x82; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# AT90USB162 -#------------------------------------------------------------ - -part - id = "usb162"; - desc = "AT90USB162"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x82; - usbpid = 0x2ffa; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# AT90USB82 -#------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 8192; -# num_pages = 64; - -part - id = "usb82"; - desc = "AT90USB82"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x82; - usbpid = 0x2ff7; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega32U2 -#------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 32768; -# num_pages = 256; -# memory "eeprom" -# size = 1024; -# num_pages = 256; -part - id = "m32u2"; - desc = "ATmega32U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x95 0x8a; - usbpid = 0x2ff0; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - num_pages = 256; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; -#------------------------------------------------------------ -# ATmega16U2 -#------------------------------------------------------------ -# Changes against ATmega32U2 (beside IDs) -# memory "flash" -# size = 16384; -# num_pages = 128; -# memory "eeprom" -# size = 512; -# num_pages = 128; -part - id = "m16u2"; - desc = "ATmega16U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x89; - usbpid = 0x2fef; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega8U2 -#------------------------------------------------------------ -# Changes against ATmega16U2 (beside IDs) -# memory "flash" -# size = 8192; -# page_size = 64; -# blocksize = 64; - -part - id = "m8u2"; - desc = "ATmega8U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x89; - usbpid = 0x2fee; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; -#------------------------------------------------------------ -# ATmega325 -#------------------------------------------------------------ - -part - id = "m325"; - desc = "ATmega325"; - signature = 0x1e 0x95 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega645 -#------------------------------------------------------------ - -part - id = "m645"; - desc = "ATmega645"; - signature = 0x1E 0x96 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATmega3250 -#------------------------------------------------------------ - -part parent "m325" - id = "m3250"; - desc = "ATmega3250"; - signature = 0x1E 0x95 0x06; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# ATmega6450 -#------------------------------------------------------------ - -part parent "m645" - id = "m6450"; - desc = "ATmega6450"; - signature = 0x1E 0x96 0x06; - - ocdrev = 3; - ; - -#------------------------------------------------------------ -# AVR XMEGA family common values -#------------------------------------------------------------ - -part - id = ".xmega"; - desc = "AVR XMEGA family common values"; - has_pdi = yes; - nvm_base = 0x01c0; - mcu_base = 0x0090; - - memory "signature" - size = 3; - offset = 0x1000090; - ; - - memory "prodsig" - size = 0x32; - offset = 0x8e0200; - page_size = 0x32; - readsize = 0x32; - ; - - memory "fuse1" - size = 1; - offset = 0x8f0021; - ; - - memory "fuse2" - size = 1; - offset = 0x8f0022; - ; - - memory "fuse4" - size = 1; - offset = 0x8f0024; - ; - - memory "fuse5" - size = 1; - offset = 0x8f0025; - ; - - memory "lock" - size = 1; - offset = 0x8f0027; - ; - - memory "data" - # SRAM, only used to supply the offset - offset = 0x1000000; - ; -; - -#------------------------------------------------------------ -# ATxmega16A4U -#------------------------------------------------------------ - -part parent ".xmega" - id = "x16a4u"; - desc = "ATxmega16A4U"; - signature = 0x1e 0x94 0x41; - usbpid = 0x2fe3; - - memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x803000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x804000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "flash" - size = 0x5000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega16C4 -#------------------------------------------------------------ - -part parent "x16a4u" - id = "x16c4"; - desc = "ATxmega16C4"; - signature = 0x1e 0x95 0x44; -; - -#------------------------------------------------------------ -# ATxmega16D4 -#------------------------------------------------------------ - -part parent "x16a4u" - id = "x16d4"; - desc = "ATxmega16D4"; - signature = 0x1e 0x94 0x42; -; - -#------------------------------------------------------------ -# ATxmega16A4 -#------------------------------------------------------------ - -part parent "x16a4u" - id = "x16a4"; - desc = "ATxmega16A4"; - signature = 0x1e 0x94 0x41; - has_jtag = yes; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega32A4U -#------------------------------------------------------------ - -part parent ".xmega" - id = "x32a4u"; - desc = "ATxmega32A4U"; - signature = 0x1e 0x95 0x41; - usbpid = 0x2fe4; - - memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x807000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x808000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "flash" - size = 0x9000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega32C4 -#------------------------------------------------------------ - -part parent "x32a4u" - id = "x32c4"; - desc = "ATxmega32C4"; - signature = 0x1e 0x94 0x43; -; - -#------------------------------------------------------------ -# ATxmega32D4 -#------------------------------------------------------------ - -part parent "x32a4u" - id = "x32d4"; - desc = "ATxmega32D4"; - signature = 0x1e 0x95 0x42; -; - -#------------------------------------------------------------ -# ATxmega32A4 -#------------------------------------------------------------ - -part parent "x32a4u" - id = "x32a4"; - desc = "ATxmega32A4"; - signature = 0x1e 0x95 0x41; - has_jtag = yes; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega64A4U -#------------------------------------------------------------ - -part parent ".xmega" - id = "x64a4u"; - desc = "ATxmega64A4U"; - signature = 0x1e 0x96 0x46; - usbpid = 0x2fe5; - - memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x10000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x80f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x810000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "flash" - size = 0x11000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega64C3 -#------------------------------------------------------------ - -part parent "x64a4u" - id = "x64c3"; - desc = "ATxmega64C3"; - signature = 0x1e 0x96 0x49; - usbpid = 0x2fd6; -; - -#------------------------------------------------------------ -# ATxmega64D3 -#------------------------------------------------------------ - -part parent "x64a4u" - id = "x64d3"; - desc = "ATxmega64D3"; - signature = 0x1e 0x96 0x4a; -; - -#------------------------------------------------------------ -# ATxmega64D4 -#------------------------------------------------------------ - -part parent "x64a4u" - id = "x64d4"; - desc = "ATxmega64D4"; - signature = 0x1e 0x96 0x47; -; - -#------------------------------------------------------------ -# ATxmega64A1 -#------------------------------------------------------------ - -part parent "x64a4u" - id = "x64a1"; - desc = "ATxmega64A1"; - signature = 0x1e 0x96 0x4e; - has_jtag = yes; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega64A1U -#------------------------------------------------------------ - -part parent "x64a1" - id = "x64a1u"; - desc = "ATxmega64A1U"; - signature = 0x1e 0x96 0x4e; - usbpid = 0x2fe8; -; - -#------------------------------------------------------------ -# ATxmega64A3 -#------------------------------------------------------------ - -part parent "x64a1" - id = "x64a3"; - desc = "ATxmega64A3"; - signature = 0x1e 0x96 0x42; -; - -#------------------------------------------------------------ -# ATxmega64A3U -#------------------------------------------------------------ - -part parent "x64a1" - id = "x64a3u"; - desc = "ATxmega64A3U"; - signature = 0x1e 0x96 0x42; - usbpid = 0x2fe5; -; - -#------------------------------------------------------------ -# ATxmega64A4 -#------------------------------------------------------------ - -part parent "x64a1" - id = "x64a4"; - desc = "ATxmega64A4"; - signature = 0x1e 0x96 0x46; -; - -#------------------------------------------------------------ -# ATxmega64B1 -#------------------------------------------------------------ - -part parent "x64a1" - id = "x64b1"; - desc = "ATxmega64B1"; - signature = 0x1e 0x96 0x52; - usbpid = 0x2fe1; -; - -#------------------------------------------------------------ -# ATxmega64B3 -#------------------------------------------------------------ - -part parent "x64a1" - id = "x64b3"; - desc = "ATxmega64B3"; - signature = 0x1e 0x96 0x51; - usbpid = 0x2fdf; -; - -#------------------------------------------------------------ -# ATxmega128C3 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x128c3"; - desc = "ATxmega128C3"; - signature = 0x1e 0x97 0x52; - usbpid = 0x2fd7; - - memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega128D3 -#------------------------------------------------------------ - -part parent "x128c3" - id = "x128d3"; - desc = "ATxmega128D3"; - signature = 0x1e 0x97 0x48; -; - -#------------------------------------------------------------ -# ATxmega128D4 -#------------------------------------------------------------ - -part parent "x128c3" - id = "x128d4"; - desc = "ATxmega128D4"; - signature = 0x1e 0x97 0x47; -; - -#------------------------------------------------------------ -# ATxmega128A1 -#------------------------------------------------------------ - -part parent "x128c3" - id = "x128a1"; - desc = "ATxmega128A1"; - signature = 0x1e 0x97 0x4c; - has_jtag = yes; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega128A1 revision D -#------------------------------------------------------------ - -part parent "x128a1" - id = "x128a1d"; - desc = "ATxmega128A1revD"; - signature = 0x1e 0x97 0x41; -; - -#------------------------------------------------------------ -# ATxmega128A1U -#------------------------------------------------------------ - -part parent "x128a1" - id = "x128a1u"; - desc = "ATxmega128A1U"; - signature = 0x1e 0x97 0x4c; - usbpid = 0x2fed; -; - -#------------------------------------------------------------ -# ATxmega128A3 -#------------------------------------------------------------ - -part parent "x128a1" - id = "x128a3"; - desc = "ATxmega128A3"; - signature = 0x1e 0x97 0x42; -; - -#------------------------------------------------------------ -# ATxmega128A3U -#------------------------------------------------------------ - -part parent "x128a1" - id = "x128a3u"; - desc = "ATxmega128A3U"; - signature = 0x1e 0x97 0x42; - usbpid = 0x2fe6; -; - -#------------------------------------------------------------ -# ATxmega128A4 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x128a4"; - desc = "ATxmega128A4"; - signature = 0x1e 0x97 0x46; - has_jtag = yes; - - memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; - ; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega128A4U -#------------------------------------------------------------ - -part parent ".xmega" - id = "x128a4u"; - desc = "ATxmega128A4U"; - signature = 0x1e 0x97 0x46; - usbpid = 0x2fde; - - memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega128B1 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x128b1"; - desc = "ATxmega128B1"; - signature = 0x1e 0x97 0x4d; - usbpid = 0x2fea; - has_jtag = yes; - - memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; - ; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega128B3 -#------------------------------------------------------------ - -part parent "x128b1" - id = "x128b3"; - desc = "ATxmega128B3"; - signature = 0x1e 0x97 0x4b; - usbpid = 0x2fe0; -; - -#------------------------------------------------------------ -# ATxmega192C3 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x192c3"; - desc = "ATxmega192C3"; - signature = 0x1e 0x97 0x51; - # usbpid = 0x2f??; - - memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x30000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x82e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x830000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "flash" - size = 0x32000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega192D3 -#------------------------------------------------------------ - -part parent "x192c3" - id = "x192d3"; - desc = "ATxmega192D3"; - signature = 0x1e 0x97 0x49; -; - -#------------------------------------------------------------ -# ATxmega192A1 -#------------------------------------------------------------ - -part parent "x192c3" - id = "x192a1"; - desc = "ATxmega192A1"; - signature = 0x1e 0x97 0x4e; - has_jtag = yes; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega192A3 -#------------------------------------------------------------ - -part parent "x192a1" - id = "x192a3"; - desc = "ATxmega192A3"; - signature = 0x1e 0x97 0x44; -; - -#------------------------------------------------------------ -# ATxmega192A3U -#------------------------------------------------------------ - -part parent "x192a1" - id = "x192a3u"; - desc = "ATxmega192A3U"; - signature = 0x1e 0x97 0x44; - usbpid = 0x2fe7; -; - -#------------------------------------------------------------ -# ATxmega256C3 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x256c3"; - desc = "ATxmega256C3"; - signature = 0x1e 0x98 0x46; - usbpid = 0x2fda; - - memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x40000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x83e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x840000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "flash" - size = 0x42000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega256D3 -#------------------------------------------------------------ - -part parent "x256c3" - id = "x256d3"; - desc = "ATxmega256D3"; - signature = 0x1e 0x98 0x44; -; - -#------------------------------------------------------------ -# ATxmega256A1 -#------------------------------------------------------------ - -part parent "x256c3" - id = "x256a1"; - desc = "ATxmega256A1"; - signature = 0x1e 0x98 0x46; - has_jtag = yes; - - memory "fuse0" - size = 1; - offset = 0x8f0020; - ; -; - -#------------------------------------------------------------ -# ATxmega256A3 -#------------------------------------------------------------ - -part parent "x256a1" - id = "x256a3"; - desc = "ATxmega256A3"; - signature = 0x1e 0x98 0x42; -; - -#------------------------------------------------------------ -# ATxmega256A3U -#------------------------------------------------------------ - -part parent "x256a1" - id = "x256a3u"; - desc = "ATxmega256A3U"; - signature = 0x1e 0x98 0x42; - usbpid = 0x2fec; -; - -#------------------------------------------------------------ -# ATxmega256A3B -#------------------------------------------------------------ - -part parent "x256a1" - id = "x256a3b"; - desc = "ATxmega256A3B"; - signature = 0x1e 0x98 0x43; -; - -#------------------------------------------------------------ -# ATxmega256A3BU -#------------------------------------------------------------ - -part parent "x256a1" - id = "x256a3bu"; - desc = "ATxmega256A3BU"; - signature = 0x1e 0x98 0x43; - usbpid = 0x2fe2; -; - -#------------------------------------------------------------ -# ATxmega384C3 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x384c3"; - desc = "ATxmega384C3"; - signature = 0x1e 0x98 0x45; - usbpid = 0x2fdb; - - memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x60000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x85e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x860000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "flash" - size = 0x62000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega384D3 -#------------------------------------------------------------ - -part parent "x384c3" - id = "x384d3"; - desc = "ATxmega384D3"; - signature = 0x1e 0x98 0x47; -; - -#------------------------------------------------------------ -# ATxmega8E5 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x8e5"; - desc = "ATxmega8E5"; - signature = 0x1e 0x93 0x41; - - memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x2000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x800; - offset = 0x00801800; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x800; - offset = 0x00802000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "flash" - size = 0x2800; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega16E5 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x16e5"; - desc = "ATxmega16E5"; - signature = 0x1e 0x94 0x45; - - memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00803000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00804000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "flash" - size = 0x5000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# ATxmega32E5 -#------------------------------------------------------------ - -part parent ".xmega" - id = "x32e5"; - desc = "ATxmega32E5"; - signature = 0x1e 0x95 0x4c; - - memory "eeprom" - size = 0x0400; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00807000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00808000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "flash" - size = 0x9000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; - ; -; - -#------------------------------------------------------------ -# AVR32UC3A0512 -#------------------------------------------------------------ - -part - id = "uc3a0512"; - desc = "AT32UC3A0512"; - signature = 0xED 0xC0 0x3F; - has_jtag = yes; - is_avr32 = yes; - - memory "flash" - paged = yes; - page_size = 512; # bytes - readsize = 512; # bytes - num_pages = 1024; # could be set dynamicly - size = 0x00080000; # could be set dynamicly - offset = 0x80000000; - ; -; - -part parent "uc3a0512" - id = "ucr2"; - desc = "deprecated, use 'uc3a0512'"; -; - -#------------------------------------------------------------ -# ATtiny1634. -#------------------------------------------------------------ - -part - id = "t1634"; - desc = "ATtiny1634"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x12; - pagel = 0xB3; - bs2 = 0xB1; - reset = io; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 16384; - page_size = 32; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x i i i i i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 1 1 1 1 i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; -; - -#------------------------------------------------------------ -# Common values for reduced core tinys (4/5/9/10/20/40) -#------------------------------------------------------------ - -part - id = ".reduced_core_tiny"; - desc = "Common values for reduced core tinys"; - has_tpi = yes; - - memory "signature" - size = 3; - offset = 0x3fc0; - page_size = 16; - ; - - memory "fuse" - size = 1; - offset = 0x3f40; - page_size = 16; - blocksize = 4; - ; - - memory "calibration" - size = 1; - offset = 0x3f80; - page_size = 16; - ; - - memory "lockbits" - size = 1; - offset = 0x3f00; - page_size = 16; - ; -; - -#------------------------------------------------------------ -# ATtiny4 -#------------------------------------------------------------ - -part parent ".reduced_core_tiny" - id = "t4"; - desc = "ATtiny4"; - signature = 0x1e 0x8f 0x0a; - - memory "flash" - size = 512; - offset = 0x4000; - page_size = 16; - blocksize = 128; - ; -; - -#------------------------------------------------------------ -# ATtiny5 -#------------------------------------------------------------ - -part parent "t4" - id = "t5"; - desc = "ATtiny5"; - signature = 0x1e 0x8f 0x09; -; - -#------------------------------------------------------------ -# ATtiny9 -#------------------------------------------------------------ - -part parent ".reduced_core_tiny" - id = "t9"; - desc = "ATtiny9"; - signature = 0x1e 0x90 0x08; - - memory "flash" - size = 1024; - offset = 0x4000; - page_size = 16; - blocksize = 128; - ; -; - -#------------------------------------------------------------ -# ATtiny10 -#------------------------------------------------------------ - -part parent "t9" - id = "t10"; - desc = "ATtiny10"; - signature = 0x1e 0x90 0x03; -; - -#------------------------------------------------------------ -# ATtiny20 -#------------------------------------------------------------ - -part parent ".reduced_core_tiny" - id = "t20"; - desc = "ATtiny20"; - signature = 0x1e 0x91 0x0F; - - memory "flash" - size = 2048; - offset = 0x4000; - page_size = 16; - blocksize = 128; - ; -; - -#------------------------------------------------------------ -# ATtiny40 -#------------------------------------------------------------ - -part parent ".reduced_core_tiny" - id = "t40"; - desc = "ATtiny40"; - signature = 0x1e 0x92 0x0E; - - memory "flash" - size = 4096; - offset = 0x4000; - page_size = 64; - blocksize = 128; - ; -; - -#------------------------------------------------------------ -# ATmega406 -#------------------------------------------------------------ - -part - id = "m406"; - desc = "ATMEGA406"; - has_jtag = yes; - signature = 0x1e 0x95 0x07; - - # STK500 parameters (parallel programming IO lines) - pagel = 0xa7; - bs2 = 0xa0; - serial = no; - parallel = yes; - - # STK500v2 HV programming parameters, from XML - pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, - 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, - 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, - 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - - # JTAG ICE mkII parameters, also from XML files - allowfullpagebitstream = no; - enablepageprogramming = yes; - idr = 0x51; - rampz = 0x00; - spmcr = 0x57; - eecr = 0x3f; - - memory "eeprom" - paged = no; - size = 512; - page_size = 4; - blocksize = 4; - readsize = 4; - num_pages = 128; - ; - - memory "flash" - paged = yes; - size = 40960; - page_size = 128; - blocksize = 128; - readsize = 128; - num_pages = 320; - ; - - memory "hfuse" - size = 1; - ; - - memory "lfuse" - size = 1; - ; - - memory "lockbits" - size = 1; - ; - - memory "signature" - size = 3; - ; -; - -#------------------------------------------------------------ -# ATtiny87 -#------------------------------------------------------------ - -# Changes against ATtiny167 (beside IDs) -# memory "flash" -# size = 8192; -# num_pages = 64; - -part - id = "t87"; - desc = "ATtiny87"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, - 0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, - 0xBF, 0x99, 0xF9, 0xBB, 0xAF; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x87; - reset = io; - chip_erase_delay = 1000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x06, 0x16, 0x46, 0x56, 0x0A, 0x1A, 0x4A, 0x5A, - 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 20; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x00; - spmcr = 0x57; - allowfullpagebitstream = no; - - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 x x x x x a8", - "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " 0 0 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 64; - readsize = 256; - ; -# ATtiny87 has Signature Bytes: 0x1E 0x93 0x87. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATtiny167 -#------------------------------------------------------------ - -part - id = "t167"; - desc = "ATtiny167"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, - 0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, - 0xBF, 0x99, 0xF9, 0xBB, 0xAF; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x94 0x87; - reset = io; - chip_erase_delay = 1000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x06, 0x16, 0x46, 0x56, 0x0A, 0x1A, 0x4A, 0x5A, - 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 20; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x00; - spmcr = 0x57; - allowfullpagebitstream = no; - - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 x x x x x a8", - "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " 0 0 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 64; - readsize = 256; - ; -# ATtiny167 has Signature Bytes: 0x1E 0x94 0x87. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - - -#------------------------------------------------------------ -# ATTiny441 -#------------------------------------------------------------ - - -part - id = "t441"; - desc = "ATtiny441"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - ##avr910_devcode = 0x20; - signature = 0x1e 0x92 0x15; - reset = io; - chip_erase_delay = 15000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; - programfusepolltimeout = 25; - programlockpolltimeout = 25; - - #ocdrev = 1; - - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 16; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 12; - blocksize = 32; - readsize = 256; - ; -# ATtiny441 has Signature Bytes: 0x1E 0x92 0x0C. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; - -#------------------------------------------------------------ -# ATtiny48 -#------------------------------------------------------------ - -part - id = "t48"; - desc = "ATtiny48"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x92 0x09; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 15000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - ocdrev = 1; - - memory "eeprom" - paged = no; - page_size = 4; - size = 64; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 64; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 1 1 i"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - diff --git a/bin/avrdude-darwin-x86/libavrdude.1.dylib b/bin/avrdude-darwin-x86/libavrdude.1.dylib deleted file mode 100755 index b174673cc94854285e0c1e75f4589d6a286b09b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403776 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�pUsZKI(q_D0qOh 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 bnrBcr z5k8o(|DCAl-^9h%CmwqlJ!}Ue29uliD<&#jW%6QQAk!*((-4POvH24`e8~#9A9Z=J zJ{&xJ@x&~ncz)Hzc(KyaAK`aoGo6J4AFp$bdSiaXR|Wf;-mkq@-{;cT@LzqO3)Sa5 z_35cT-PNb7`sArkuKMJtPqzAGsZXZ*c+@9DK5qWa-)J-$zPV?ReBcBuY5p4@Rc0R( z8PVa*Avk;VEr3)#!ihCNPYzdRp%toiWS8kpy&CEpvs0clRT^X3Kx zHeusOxn1d#=7zQ!hcLL_={>OofC#jS9~`fm?dX*OM@19WQeA?|kK&(+@~82vEb@UY zbLl1X!A{;4QHzHzR&XGWjL2VT88#9vLn7^C1#hc~$M#jRXQOX8QQ<{uh;*Hj z){y4llGy}1&>^@a!hpB@F#a0PQt14s!LaVdw_fB$rq+v8$&fjFF8*S@ILnea?6c{Y z4eP~#+TWVh>zPE56FV2N*1LYxCNaSAsYmBS?0ClF3?@uQfa)){Iqa$W2yPT!lrn_($(j&8)^EBLaQ3mXdQ88J~flB@T}x42yef~QBb8g8L-UoteL z0aE4~R7iU-O1eZUoOv982D`@wa}iP7<4Z%3A3W0G9r$r~dHd}xX!Q1NG#1^0)D#9> zkBhGOuO9B)n6(GIbN28>AnuPx-g@85D)9w=aL%>g6xs~j+;9g6Ui1&DvH!l>`VhfF zb$CmNgsu+2c9=rBu`7{o(ExkfcX}w#;l|j3x1!8 zbMf={uX1~Rdw9jWv-|Up4l2@#UYIZ+@yPJAq^CeP)t}%yGf*CmB#$F;zEzH}%0T)g zmaK`PC3+-{XYVA$o9yqFA4Ogun?5TL+i$#SF&FM>aZeYs_k0S8m9mY(;~c#N3EnB4 zk=M zDgG5@|GfO5?imsF+WUo&EVIl?vSZAxv&?sGt+N zXl$yDc6M+2=y3FuBzeJnr&Mwp`|yN05Nr7{ee{bMRZG!*9E0<>DcB@Z+5st*(kfoq zJW|_B6bjxc)DkEb4hv;e`8%^h=vIkrAe+cOWW)<7#$H?tQ9XH=Duu~+8g;ctI@kVq zsvF-lV-crl{{98-84gL5FCq)XMCYuPwf{5wRu0!8OKPYT)r9*~Qs`CVBN=!#Ofa{2 z-;q_lq`HXTrrqPAR$=MdR%Woy*jYzF{wdN9hFl_7-Py%KiBl;MR`! z=XViAa>7$FA*|qt!GH{Vnc!#%Y&Mtf{X3kg2k(`i8?e&|z6H-Qy!XF`Kc2*`b^fTa zg8z^#aO(4!1a?@#9TNE13PvRWH$SHiVf72G;Pn#NrrS@VFR(9r5TSz~99xD;ozS%d zp!QY8!Xn^hVMjs|S6%xLlH@HX%Ah%>?-{P%zHJRB0WEQPCU*5+?(I{SSPn!%#Pxw(`<7B!=B&i~4B;PxO*RTx^JTj3Z`=Uhfr{0L^9JjS4U(m?xAP z?SFhsA^~-T?h>JRmvgN@5nk*M0;e(HM)@EJxYzKGFJ=>s# zt}D!Fr&af6_%AR#(VO@1MOP(HkPXA*N1c}fl_~8f?q9iHlpsq`oL4~8&hs81yb=~+ zMVaq#hHUz(wxLzq>WV~RSM@7TeR`@-clEhYea=&#-s*EHKhVHA`>ELZl+4$WRG>`qSkrkjYR#I6zxGY| zvz%i@en^{QYdQ}=ty#2(vH4^n6T0I|zoJxcB<@#?b+zBOGMda~GkE;DToCeYNYpF4dY1r&0$X`Z% zAG}SD)QK|_nvc)Fc>DAIhxP~Q_Gz|*rdPA+d;uihKGULIlG~4VO#Cec9FV5OL2~dN zhiBLS0M8OkW#WV8LVzcubqnw??f(`$UD3dQ8lUbO9-1jRXJT|XBTj!j3~vG7e^BiOdb2H>jG?XmEw#n8#J2MH z>xnogdMYg{OUt)T`c>c+aVO^YxU^0&%n#j55n>xqnhs0??Jj5Z7u z+12Ej;P1v3@IP+;v!C`pzvbbFg9n?j{~zuy*yJBmQ0qS%0AxW2ZI!xMj?1~a?9Afa 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¥L}QXt1t58>LgmOHw4xjqM9&Tz+NPrD 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 ICEn(L0dj8F1poj5 diff --git a/bin/avrdude-darwin-x86/libavrdude.a b/bin/avrdude-darwin-x86/libavrdude.a deleted file mode 100644 index 36ea398bfc1d8c75eb3b83413120b4815ec3b7d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 572384 zcmeEvcVHCN_Wzxk5JJm_UIbZs?=^rBNE3gBZ|9H~D?eojbd;lSF;r-~0W3fBfDgch5cN+}`iGGv~G% z67NV@FtlcyUOjsEv+w6&)#->zn*=;(Am9u_UzvmX#ai#h4Z;JtVA(v;hxM=?By!x$@&7~B5~WA_W_lNnn!L}Hf&d=m7%ml$iOFt%Wo#Ci)j zOu$$HX9}1q;H$#la)E0CZWnN;fcpe|Pq;rJ@Y4d83iy0&#_qULjeQ~9{VL#90n3ED z+97&6n+X_!d{FvZ3fM=$F#^sNFjc^%0zD{0-gdKGeBl% z1-vX^%}||g2P}2S>_w5UuYnI#W#$#IRKV+ipWP#~(CRv@E1+G#t^y7gFj~M#0?rXI zO~91`E{|ZW@cuB?6X8=jRtsDO-;PAxE8w$$5sJe02>34G-aZQZK)}ZV$^8%!&KLpL zi||f^|KK8p{UYEYk>6>;-CP0RtAX_V5W+qc@J9hJ3Mkdo`Sk^CEnqJJqXe8PV1j^4 z1Y9lPdI7fz_^g1<(FaT4Rah?p#|k(@zy$)X67T^5cMEt-z#j!vkZuaEp@5wQ93tRE z0p|*sC7>$cg91J+;A;Z@LFJyIuv&+Fh=|RRJG`ySdw{v1bH)TDUt5oYM2P zfR_b)LyU6_koYwP^Z-6{yc*jg;QN3y9)2ZYiGbGytd8-D_?tyK>Vr<+RoM5OA=7lK}U331u?{TuyLSD02(=pnw^oygP{ao(4T)RVaH!z<&z( zp@5fc;D>~;MZin}*9!QwfcpjfO2BghmI)Yv z_$j`20^TCvGyyXO%n@*-fZGJzC18<&9}9R^z}H3j4n_W!-5SQm3D^p7Zp|>(UBFp@ z%oWBK3b;y?;}TI{k)k|b0>9^rVQim(=$?!%X6z;by9qc%z*qri3z#b43IXpGut=oy zVSzs`;EMvjF5tTYek9;G0{$#useqRS48{CR>5CAM$XA*&)>z}QNlZ#j3Z^8dCM}CgOq%DK z&mAPEy0R9SePkuXr&q+Yok>~TJ!fY*9VzL$|E#4c&V&VV&J2^E_|(*l1ah71Na6{b zpX3ZgNk~dMvB{R2qzA<9Dd|b+83rfAM-rSmcwAZLG!vpnPPSBkRD|*9;vI>ul=KYbG7C93u$1%^ zXXgAg5SBRN5*DOn#w9u8sjdj894BNaq$b5BWVq51ClS+<(&84R#3v@A`UuZ-RpJN< zPSn|Ci<^haLBz@Nu2d09R?7VJc&E!DVsd7tREV8unHj06ap_Ca=4GJ-DK<`YWXyNO zr^O|u$InX@0W3*!q$CSBOC2dxmgJmUdGuC1I61nz%=r26mynT$_L@W)&2VJLrNw70 zNsV z8XAEKp{5uhU=*W@Gx$jk2gVJP2P)o__|%lUP+o>3^t)h3yd{|$w&Bo`m>uje%N#Xz z2?uJ?a80<=gfB@pe7oS!!H3^@q8ZLJll*NlK-C9}0B&;PbS62HQ?va68F(d5(iT;4 z1(M$(2AKGCH1LFs^yCzb+0@vL@te10XU3u=495XGs%k;fvUFG4Jeou(Aiw8DN!d#? z94L8efx@HVP>1NZ@u>_|pOWr0Tx4crgrX6g4_8J)j6`H-qdqhEbhR|zkuD~drH=Sa zj24cB_{_|tbi@d2mJ1yg&=`&qlU;G~^UxrXD_9d!GiYqptqvOVUC0WdiRq~sG-Q$; z9n{RC?CFdQ#G~7?7Gx|%zLPN(kq5y4=b?|JAqB~4 zh!LKXQ&Tc~iMrD5{z@XWw~5s|P=CqJ-hKNy44#ho{VjCH&re%4R&Wi>${tHSw2u+K zaAgoHIu_;Vcc(Yg0P2XJpOGFMB~l=$ORHv7j7fN^l9A~j(XFu)rxI@!W2cG~ldwMw zGy$p_7H6hpWv652_EReQsw6R$r^1nxu*4Kn7H_`(fYB~oXxV<;nS|9s#!@srBK0v^ zu|P7?(&DN0>u8`R`otxg^UBenB=@0)9>^s}16k}7Tq=DqyCkL4+?e8{|LUXKy$d^olLk)?X(AcfpFfPNQFX0fZ5h9D@^LBuNVTn)OK@?-w4|vy?ASOp~ zM5*Z6AZMl|EJ|@2BaMOivrS8(%#`%F^!PN9UJRD0aT%$JL`Ja0qzTIrhb6g=qVdEn ziBENrhm>?$8`5Tj52)lvUutk(mYYB41etg)y=Do-5l@>6fuT+69aP}{ zcy)ZilB`TIwweeQN14G+fLa_ZG3rJSgHV0ot`NM1RY^FyN35!Yk`?eroGQIpQX248 zd78~71-F*60;OU^<{{IcTb)?BV@#yROd8~#(<^!rqnh7oU|<8OzqzgnG5ZG|T-*l1 z;>cV^a8j{k#5fUD{szq-mMd#syuXeFVrKfAD0sq-0fqNaP@F00#wygn{GJmtFmGT{ zgcYSL6XP(t4_`$Z2rUu~JBB~(?#TJl6cQeYGz-KCk};h3^ywcs?y-yWo`L=QRDRym z8;^eAGq+}H$~=rPi7s^f)c9`tIx~(ov)waD1jC=>*M2F3SeM}_gOOMTA}1CCIUuv^ z_&Oq1^5j9dWQV)E0m(lZ95e7I4wD*|xBe$C?zZSVZu6tuGPjfNpW@p#l(F^{X9&yT zO#H;r8XI$u@mRwk|DQpAm(xX0r{T^F5eCLZT0rZMHH?7+8M}^*-!aJSi!n-y@x;Z= z!)811#Knyoe%tT>o`d{T9_TUqGZ$MNBny}^lN=(TxVW*glW_v4`(msQ!k7SLD$2q9 zK&<6|+QJ6$777_cZ#)!N6PV_c85<3lITdF($O}Zs3?%-LoeZS~qC++qrmE-UB*yAj z!kni5F!lE7x#yara=pZ#qrTepdU?54&>E>$^CQU4)aX)A{@k+ia?hqHBCKCXOiyjt zi+M?C>*sMw6HbA{^5T3u>=dH5KAH0x0QamPhE(o546^D813}%?mVS%W1HJZ_R7>9A zE|S&!fgmNTl4n#_S>)j*wbfU9g5Y}}o;Ku`**Y+0TeHfJd|%2fivYHler%&lJt6%) zAyMwbiW<^Zy{sPhwnRGAYieJWqmx9X_2Vd|{5A?lE}>ejxL zijTa%AnEE>iq6wK&J*$~qGaSw%jd})1=r2ndW)$fczI|Z@)%j99(INyR__bo?4uIV z@+p?cd8of^K=oUHvURuw# zXI=G;T^TD0)9b9)5$Skt*}dTD30RtCdna${P2CxbJgie(@wV6UmJaKMH1VWTNou@a zZFxHpuv+99UY>u%7JXRtP;G1Zy#5)I13T3>n$Cz2_di24o+pi0q&j{F1Qg2vI3 zyR}z&8HF0YSIsF7rSy~}UH(?%O*Z)mvIOUw834HTn$3L-;c9@T296VM2e z{ZG76;FJu}+!?%kHK*d%x|6#aMW;hOdD0FHT)N9faOwLTB6)4Z@0_9@^~#`8W1%*v zUi2k52UqmHi?+^DVHa(6qiPpN@yWtB#>DjvCS=47Evf;!Mu@h15aKLpZKm`mN`#p* z0u;4x+hX)38c)@?Lnzu$k&e4yIaE;2b3FP6b)p5tGE#aQcA&FWMraYO5YS zv%L{0k}3I;FjNX6(iNtDl6#d78Ekoro1q6?oj~?{CxxI5g`Z+7Xy!`*LHDJ%C2b2Y zJq6{ARGhh1UY@@n71sjZ6!%^yl8q2wAe1{Of&+5+I>92q8Mm z#7mwB;mJwCJVy!X$rC_9sMYmS(~KlId7JTu6R&SuZzy-ECr_&-5=eDJ<>K{T#qdq_ z!Sqh$^I&oi1*O*;?`z)uaHs92GE=F$y-h=*E$?TPs-A3Z9ObHpDR`=SuS(wBJjYB6 zS92+IBBEyl_2{M|)EL@3k4ziez$nMD@J|(^QuQI*k-*h&v`2YD6yh{%ZX{uSwcD^Uc%WHWt&y{aPq@v>gTNt7yN^Aq4k(WtzL-|;7*iXwgj zUd%nn;ubYDWLgOh>fAjt1PnH-O^jhCSgRJgh3Ow}U6~C_@I-(fAIS(y2 zgty%86zCz$B)zqm1{6yR5Z)nH{(k4pnum8zl^Tjx0}Yd=^V)5_S1wV=RAuL3(_=de zTmF96Ha>o1*5kvZUWB4+@s!*0x+CGfpJ{02JwXd~?++2>TQksTsc+G;O}&okx{zWC zJrp&S`Ib|~$in>?3|!hqp1OMK+7;CiaEk{1+LCF!<>USso;H2yVaq#$KBGm27(>6B zO9Pb_>dS8g;O3#R;+#x`Mvre*1u_+nZ+-LK^r+=pwi$k(c{Kp45@)HfVA>(jj_ zXZBze0tTi$e@s}L`j-v7;Pr)sc@4LM&)!s~Jg;NmS099E%o;=(Pkm3=kmme55F#J9 zM8bjwFEMN_MIrfyqG*eG=}@@71kiMp_x;=aD6Iv2(SDQ)&ez|MVhCft4t|t&wZ0~P z6s?%~YWPt;E?lc?M8rFCi67-X^DChGoJWIcROKU%9l`PuXYd7NAA@NeE9qtUs@zMI z;U!FX8AeMk)Wwxj1ffqv*VJ!CubNJ&2p+rm!l0fyZmzEYl8H)~zH4}+NgHuxZB&>@ zg2t!rPqey)Bhs~)8(@$%LklHajl$uXTFeznf{T(6!&kox$r|cwV~QeK)29YK0mf=Xu=%+g`tob~^MF=j`W@Y;XB(hyAvL z!lvre;hVhY@G^YmSInVb>a!)f%}p33`TmZVFpYq`<*tV-_w|-bo30%brfuTu&w7RH zno*KQmW0y&sn;bcj%2vg>t+^gn1}cJO5o=2WtbZ8|M?6bI3JYZ&S<)n{^0yR3P*n@ zzf0gw&u=Phl;8YIdJnhdZ$ruHZPMf3GzguEURV38k~oxeoT@6hIOiBaY+(7)$5dfT zaQYXbCss`VH@{H&Wovy=m_hZm2k!LrKMz}Q`cK2Lk^WaH{k#5F( z`fZ>3ZQlx8#T>RmQcO*<5JOM$hT!@sJ4gAeZ_OXY7?i(H;7-rqG1!9gm-jLCdDHUH z*N6xeM-Ja*6tO`^`=_;@-k}S}rTY4!{ZzqB^EC!j3@EY|mV31=nuIOyDfF@2tBuH> z{}0$TKGsl$;7v$|9;|shYGJE|Bn#AsA~Q;;%~2-zk~R>RrAjhKfY?d zm-xf0=AR>etE%~>#Fwh(|4#hxXgyka{a+z|QPun##NS>upC%PwZqmIuz%y$BW$~;{~W(`lz1$&C}JzRySk4>JIm^|f zSK+CN$rEp)f#SFOCQ~S)&sfHsu2iS=DNq&sZp2Tkn%|xHu_nHCRkyY$x#(hYVHwr> z62Df}{DH(T!D8J=p~XKw`C`7Kft@Snl0d7pp|u(fY#g=hK(R=^$O=ulAHuTbRp*{` zQELrT0Ax1;&~9DfK6BOmo~+)w!dJ@W9U8l3DEI#iP`yFiGMEVY&l8_7Vl`GAwTy2( z9`rjBqM=W{F+X5F-rXMCR4x|dhcLFh^Hh1ZV4+JC+PSweImaHsSnyW|u3qyEK~d_l zi-7rd5t8SJ_`IyBC-h?v?H!6qvl#-&!)Lja>5{WKiE6nhP{>zz5(j&-rvMFJz~2T? zi;+fzWnM45N;Sfzi`Y7713hc#z{h>1wtkLdbJJ%}BAGma-Z2P=_NKAKz{#0+KGp}u z(mQ_)m4YsY-o^6~s;%2Q5N9O$N1QcD+*N}T7pgwOiN3K|E^Bh`K$4N`vDoe}vh6uS z%M+e$Y6eu7nrfSq7 zMQh@Dq}H?yM@L3$dK2DxYa*idDi`qTd)n>bs2BC7?mJ0E_BP*ytRb%;;Dp4PEu!?Fi}14*MJpsJvT7r#z=hl*E&<=nNw?u_WCD(JvC%XnEgK@?6nn{L zl)!v`W`a`@o&w9M$d%K2uPp^MPE0DEihKyJ`BX&3`7J-0YLBKU4r71wwWM|_4wuJ61D~wZKcyoYKa1~lTtAc751sV`W4&?O_T&wI zt3M`&ch-$e;INVOLGD$4X3dYA^fS_>k+#=9R5#IU1L{TFYp;x_L+rt?a{Lola~xui z=ZDyQ)GcXXmgnKfd*s^)S%~)eF|~T#=R$goP3srfv{D{E_y#mS0{i-)(2aIBK}hso z274b>W=SiLyAS-7gnHa_h2KrYJch;;p{_s=xJ_?V26sGhbJb#xo1~7u^;BQt z$Z&;7^dDb~boo+DS-M$pzXeyz=UqDLitmice+MMP*9KlZ?yZ!fexm1xibG+K`%RFk z)V5FZAPlSyZBdTaG z4~AZP0SD*Ey~!1qMRhb>`R<1sBg^9{$(iJ-;0sD}sHfm}k%r4(`SZ!s^b>GjEcxZN zWwwq8Q0c7;;h-z5-k0EO!wrn0^j-Qqd*!ABc#$yUVIF~b9p+b3v zM}$RYlQ2e@%P~M3b^}IYGwgsN{64@@t#teQu%Csw4pR@ygvl`ECKGTc%sH6O5ESfz zxdbz(w$6V^(cvM18}Sgm6ao&y%LNRFK<69KTL{<{kobcI94Fum0T&3kR6uh3pEM+$ zeG6s+%AhucWu0J#!>ogO4(1W;MV^9qHyKjt7#u;(fmsgoAk1-?^DyBJ80!u*5hfjG zJL;AnFX^1W&_MY81s0kzc1!KH$ja(>1BB0ila$d z!L--9BU`HL6cz*MsXIQ$Y#Du)IJ8tHRSWLulQ-V9gCOYY%FjG&W}>Xr=+mAxv$^H4 zXU%GEIp|rlgT|Dv%5T-92)a5sP zM}Y;se^lhY5^u{Vi9w7fx|E;ziT7mS(mM+gYO!8*_zf+(G_ur|_baG51F=>55f(%d z6hTR*`)W@Roul1Xd%0}jAy`CCza@N`r9~g3>ZyicQ4JWt%S%SW8G0`(X$lL5BD}c+ z3m_}0?hk=b^-9r|mPOtc(iQjVE9%uwMe6t)qAoqr=V(czMW3b&7$=>NeQK2Xcnpy4 z1HY@Yy}a1f>$bedK`Mz=zbzSSE^kx}j$oqCmh{o050|vkq7RldAFqC^VuPhc?=Oka zEpOrFu{=r=AFc-?n!S`2HTtX;{T1b}9Y~td7MlRc-;X%+kN*L3^jY`834BtuwPdtj zd+txnfhu^%s-T<0`WS8+GqwDM@}1>xl^-vcSxYtrl(MqV%LlM8%b#Lf%Redqw7jVN zv+}RYzbVI?et14EKVAM~`ML66%FmZyD8E?#d-=bxp1V?h6$|ugEEI3zhOru~Cf@iQ z!0I5Zzk2>Cx3Rjc9&5lF;f>O!tQo!|Z_Zk^T;~ zInVRo7uZhrBHP7YX1m!d>{a#}+sj^Or^@TIV<^El*qiJv_BPwc-eLP$5&I`Qzz(u^ z*&$ZU4znZdJ$95GWAC%$>;yZ>K42fRkJu^pG5dsl%09zi5yCM3KIhmM>`V3)=Z$CI z1*Nd8>=jX0l;+oAKg(V(5B%vl`60;9E8v$wA%T(0zlNv(4Yw6T`-%NjrGMg`1@|M7 z3oq>7bJu5r{QStVpV>L~3p>w#Wu@!_yU2cHzq5a_OYAbc!mhGwESz0uH`pI2DSx@3 z{BVFSNs=rTl`B$+R80z%s!L%~4XLIyp4lWly@jSyte69$P%6vHnEe0uBgslgwb1He zHEPzXT_@ZYQMX?G1`QiEZql^bP0d@}+|u5vb(^;B+IQ&KsdJaE-MaVa*{gS-zWw?S z7#KNd@Q_=E4vQK-VkDG8jUF?0-1rHx6DLi+b;{J+rcJ;7jv05(oHct++}!wi3HY3T z{(_W+i&E3lGcp(B8#33DrOUGKTE1fCs=IS?SG)7_3)Z0Tok6eJ%}OAYtuEb-u_6bf z#xR!0M~KttB?@}1d5o%sQK}AFNQe}HF^I;Id{$uUcb{W4q+XVTzrfhk8>7)`)(PWM zKI;lw4(kD%xz!C|y;vkht9q;t#W&mRg-#SMi`2*Er+==dgWtu%Vlk0*6_a^ z)|qv|C`MS0ecl3xqtf2 z2NuGyfIB^O!d-%+N>!DY4X!BM`Y;V)%zrd;x5U`3)7rA-JhYC4!?uQXW8Gozi4rpV zGVJ>Jo`dn-phWv^24x~f`^gyZr?9E)Hk8+Nb~{FX;;unH10(-DmcSA*{wIT~&j5=m z%mGg3VoTUkwv1)7yV!EJf~{n$;GXJ4|D}mL7bS){8npZ%TX$eOjp+Z0zg)~pcOxYI zm&%yx>d*ctb(BVW{yYWL1{z8eq+6us(qxQ&nUYg#D%n_lshPB0TEhz2IBC4p4}E3; zS{t?B!KV3kvJ@}PF8cUO; zBsS}4tx8lt!Sf)#)V?eIKX zBDFxzyP5SxITWz9Y&~yVizJP$WB0IBDNRb3GNe{)1G|^qhyIi)ZDjXj&9I4WM$dYH zJ;)vs>xYi$vDCl1q6I#T*?tRqgl%Pyvd7pqCQIAV)1SZ!V6yZSdz#%NJ;Q#+EFUM) zEdM++=JvJHOJaUsFTKk4V2*#R%JLeH`M(q^fD!BsHqtWt8+}$^1&m?$O0*Ifi?zUJ z=`iLn>c>a;cvRWCKyUx2&;yM1!4&p6)7JxEvv1h9>~v7i2&{>|!w7keo%OGc0zG6t z`{Cd0BR^u6zK(Ble2heh*r7=`2uS6O=23k4gSoV}R7ZLo^J%ygA=Q=YNiC$CrIwOi zY9+On+DL7sc2aw(gVa&#Bz2a$NL{6FQg^9`)Klsu^_KcbeWiXPfWNrR

    h3M=^^Q1X^ZrTv{iak+9rL^Lb${F5v&@79sWnE4zWfh zkBv2Nd2@>z=4q=ESN{&F9+PRmv*QWI8q~#l7lV8B$nj%`4Htn7j%7`^{W}3x;&x`8 zS~bIKw;F_Lxt+al!<+i@r&HG+UAlMc+_p{YL4BLCOejoAo}cjWmPaz?J{mWB&f@ra zk8Nf21$Twn*Hf^jP+hC7YrJsL{hQX`v*F&&_icRO!G}`Q9-qZ}^&1d5l=T_IVn$6E z7d3(nnP^SVb|Um%qog+6d+&YsZQOXj{%qR3`GE%?eDERuJpAyMEss31b?c*#KK9u5ZI5qz zV%v^wPi}i^+tb^g+4hfZ&u)9p^gRFk3oq>4`QnSa{&$|2cI|rk<=wkqu{^ZKr6G*)82u_01-tfzW1Me2n$ zeQ&JXr%BVLTcs(|RH+YEEhT(i|1Ye!E?|v+39BmF$2E}}NHJMuLA0od_XyfZ#MA&DU=N$F1b=Ng@$4glVG zq{&b?m1y#eFL+Z^NGVaU|1?*Yk^F4rYkpE3sW`AFXE->PXor#_C~;yz?w|$+S`X$Y zWmR-XWIGR{V>?$TduMyVEhpS!Z|AZnX22_zTUtC6i-{-#z9>^p%E$k-fXKVQgc9P@ zJ2>qqRbFqrut*P7pjb^M6XelUro1YH3f9Wx0G?BC)F-`Uvd$*X8(Fnk#1F2`A-W&WsF{PkOeUbbn=mY{%Eb(0`E% z5Ag|$D&Z$Xv&91L-{DH2CX`i)qv+_#Qzpd*y9$(rXkw^z?t(Y53S3=HRlosM8aU&Z z*>x2^dV8@aEn5(erbRshDK|<7R_B5wy94^8lI%UZ_3qb?rKCgi1GMhGeAFPqK^Q+(}WMO_-i5jH3YqfDV^mg zgb_&py@7W_iX;P6jd@M9KyuLXbFf^W9qYD=6yQMp^_ z(}7Pi<*PH?b%wjzfH+pG69U)+@C-hCrt<#cX0~IysXiYA9%u6JfxE77=LCJei9Qo_ zR9T(jfGEE@UBMq<;@1aV!q<>8AWnzs(0LWP-_;`6-DV5E!h+AU;A1R!TMJ&>f?sGJ z9N$q3zSDx=Yr&ls{B{dI$bz@9;J@9Zm(Mph1-FNHL8tP01(3=o6|gPfbU++~)|m)M z_0$&-$DVcC!@s$F8(G5pS2MkQe*hc`_ir@|cE1O79FNx71iHE1&$8e*S#X?X2D!)i zW)Qx^g1ap^&PIdWkFemaEqI6pKhY%E{{t30&VqNa;J-Ew_Wy_YF!f&VqyR za0`wz;~+lHk%RD^7JR)0Pq*L`EqHee9&W*LrX3U?&bfo|ofdq(1y8r&6D@dm3m$I4 zapoQrAI{-}@SPTXy#-IV;1ex)cMBeF!SPN&P<-!O@GTa6l?6|>;62gVFul}i4@l!x z83s*S$9xG$^bhK>9SNp!P6KZ4PwBu9ndYy_!e0y^g?FK=PjsNdCtNI&@_R4_THraRdRT73Q!V&x3qH|; z53}GsEqE&nUeAIn7W^3A!J%>{o$FLSq=OyRSZ95m;B+qooz`WUpqtlWLqVr{2?wNb zLclk-JLsI>G0c?zAAp<7<1pS2qWGS%xZ40arDvtZ{aoQb%HqDGaNp44{s!JjqWQ{O zD>xmWg5DeSU4Rr1eGEnJ)(CnQU_0P(fY>tBxfT9zH|1lbCA>~>N9_W47zE|F1n)-? zy~sj;LD1b6I^L@a@;^zqYiFT{TX1|F7Ub`=1wU%RU%~raSdP}gyIw*5oS;*BCs^oB zK&Sc*2c+@}0i^Q!JuKM&w_&(P1@z;9)GnR{B!AoB&e-?V#X2?{bP6X9bn`ln?zBKx zsxuPwnWpmY4%|H6w1+!%$vTYyy8`0wiJ*1gSHR8Teo|czcR%RnaGwNj4)-y*!+S_| zW&&c%R%a|=7eM+{q$6N`i~Ad)!SP%Q)#Eu0x;dVsz|H;O0Ni1@UuQR9H^7I%Uu4Q} zwk6yw5$=&(;7pm)9b= zqjcR4x;b4VL2nQGU_dI5W`Mk1z@0gN7ea#9_iqCqY0BUIA$t9<2Bh}30Q{*Y{&e7@ zP53C_<4ridhEDD0M?h=~>YP-9<39-8JkGoYchp{=0o^=44F+y*mm$C#nf74^WPRK# zkl7Ar-@yK?4RG`Rt}bx%{tkB!?bv~aiDx^t_je_H5{me@fmAEYcr)OnKMoI12Zm{!r0KfhngW8)?}ca% zh^-G!@_2f1LWlPrVJOS}U?>R`%y5`dFwroNz=WfGC_mEx$xeAjS#Ud*$5X;iWwk@N zr*iCs`XKjI*7uVev;(TIJ>&*u&=ZZUhj2st;y$2}d)hP8cSvNX{q{USDl>Xs1r%0x z4s^qQ!9;h!ok8DVqJL>}?=iW_F}Yb}a&y#VpKfxWWpbZrqBk?SFE_a_!p zu=w+x$xTNSeYeSeyUER$rf}$U4kH}AK<2maG`VSwayHyFG})>C4f<$P_=`;T)+RSO zCVMrLn-!*btC_-2Fu56Ka#P3T2GgHE4b=YNg+FLcetTzAIJoY~Pp9^6xPQvzCdTCE zxXBIrlHWb`OT#Zg!)`axA2r$Oi%|T_XvR2m4Yqt+? zg!+C+e>vn=cR*t=6c=-K#i>Huve4B`0)A*_COynTrM!;lsx1YFGzpV>QF08O@Gb|P zbeQf$Af2Q-&roX29g;V$qEzS6-6;w1pPfzDXOPWMD-Ax>l_sPml7yKYKp`{KS(;QU z0|`=@?^k0_LE$D2lT!p+QQvcRcEW;q=zT`Eph!Q?&;U&;osq2h8BTr?3LS`YD^ykU zyHVgASEiWbM(BnHYSM=co>3eqaQ*rT5xpPh3FjD(U1(Z1DPE34vT%+7<;siVlH*h0 zz@IA|Z>6Rtfr4s;bUwh*6&^#8DP;*2O`Zc>lq2-Y<7fi@66kh_Kr-pLMAsq0b=LIIo;WTkSQv;G@!j7EW+>58i>6gxk2;mV?g4r*xmhuVHhlvBU% zB%n^)$g!b0S}#g!bmpr#cu^VzbFs~LL9aXN21?6C4FRU1?C5HoU?t_c3iIr2M{i1q zgN6dqgWG$cJ@EXM9^5{?1`g2m=34dO;+~u&hhGD3W%_T|p}#V_-me>wy^<$qD(>O} zFB%X_N53Jbe@FlA=a~Pzd4AL!ZmkeSfFguO$7IwLk;pxf=mRc1jH}&jMdS!DTMbe%)jKCVW>W#7md~i(_iDC;)t{2;iMe%$SgTeAls&b4lF-Q!l93ye^c1 z2%E>H_AS(=N2nWc;70+1&@fY9lSA&`9uFxzK$lh$S5~S&Kaf?R*<4!T6$$ zzUw4?r^SZ$s}J$r0KWU!O(Cf+?^^D!Fchi~LD1Yh=;%_--G%tk=SmvJsN5~SGBAC2 zp&ky#ZF|C@3Re3NO*Ps5*2oXB_hQc0s(TKFvU?tWE#D2o@qMGQcHMJ?>p8N$bN|Ta zF_KB|+1`0;>SpZBB8#2P=0;bTY6fJWSD-cBEAE6=GmEw)sxtG>53 zyilV;w!L%sP$+UmC0Np4n^uZ%jNQCqc)Rk9DKGN1^h^jV|KMtF(W58`d?%56bvs$s zJb=#8YrnQmn^+&2{k;4;_>DfRPAm1Ncq4CF8nrYn|$N`qLhyG-^t!^`y?YCKabTx#rD+nyTvN8X@#oME;-_giYasb1S! z>{(Ug6;5t8>XrNT+^7IQFdT>(TJNoFXBeqQB#d7TaqdP$HLC_YSX1byU;&yZcIKS2OWl zzqbpgc6MHJU+H1Xs{>E&E9I^aeV4H+(A*Ta7UsECQX>vYHGStvpKma+hVS!=#5%r% z6^UWK7b_BL`yM7D)F4Qj#$&7NaY$;fLfMzAGs5!F{9Ld{X&bqN-kw#GI;b#wZCF&^ z5m%{i1`k!wzi$GNwY=-nq&AeZXr{u*?zJ~UX>}nI=~wVxxB{EjgP79ZeDqddGs-jP zeGFd71kFv{ViYnyoFwUi?+WJQAS%}objC{ULT--{m4~**98(_gNStgGW5ZpGorp_ zrQSr;r>xW&MBQMea!pZpS*b0^ZK9P*pPKsUa^|4)+KD>QN?l3R)>i6bqSm%jTM_kA zm?hlSL_KY#t|01rRw_xoe6Luk4x&D4rIOYSA1Tud%7u%l4l8vQQD<4HBscQKSg9FA z?P;Y>CTcS)wGB~2tkfk$B_%*;Lv3OAK1~X4jW$FS-$`(T(!G?Zq+cqCN*Zl^JFL_> zL|w0kUlVrkXmj{P@nz~5+Z;H+(?PuOvW-ix<*4G+ed-8L$l}d{sUzn9j zGFRV4>|}!S(UGWMS*e|fiWOk6+dGK5%St8LoDYW^RHox$_f926yGEH3#ka!hhgNdF zWGj{H$C_-Va;;c{tkfP9LR%}fCsD(#)LulrQq7W^-b6hED$-pCcJCHalWU}#C_Wsa z1eZV`qVBX(ZzC${pb9EklGplHTd7ltnrfv^C+c)7buLk(tkiU(cD7Qd5w(GpI-96v zA(oVpbl2y#QWp~SLn}3nsBc-RsYHFsO6^P34WOb#`@!xVOKNnD5+#byVfE9WsI#op zY@)_ksRM}GQx6|s6ELrj6yX}-6UA3g=aOvNd(_M&itl$U!jQHQ;=W+!62iv57gJJi^n!_iGZ;91UB2njBsqsV|XQj>~YF{gL2vKha6}cJ; zyZ2L4i))k!QGCqm=N6*=45>&^UWXC&l$9DqR8mI&r@z z)w%|kC_Y-Qfg4KPcg|I5y z2du2|#JU?ST)AUfj(htMJ%{M?gXlLAJ(uW{g6Im-R}+0e5WNJ7cK5o8-qPdVgOznj zP160~aXVnAZNhuxfWd+LU{|iq!K209ifp}%WuiyBkE~C_3fYB(CWCW-b{SI#8MA#W z2Gw}*-T-Wkz>WZ(hFJ+(OStU|GZtnJ44vT@!fc0m1^jnlNX2GLn0_!NFr<{VF-$iY zyaU1LeTbzn9+)R!UWXwapFhA{hiQt%To0INn3*t(Vb;KGh1m^r1m;_qf5Fs3c3Qy< zfQf}kfXRlr2j)qbH(@@2`3dF^nEKcp(0eVzU}nS6J25KEV=!;SdjE9MbSqkHUc>?Bjm=iERz$g%Iwt^W3 zGaF_(%x0LKFo$5ifw=^81nq&^PI!IDr(v$6uRMn~*9~^FG0Ptz@4bDx`&@(ZZNQ%ufQ#pHw)7f?jVGHjGY zdfW#i=ETiD;937G&Uw9E(Ppa5Zydtz2`}DI3Y!%E_12ER4p|kx@R|DJoD0vIOyYs{Jgeaplb`7Ar;!AjqqEjXY7Lgcnpl76{7La!@l|ICe&iW9fxu$9b z*C-4OKq(j|yrU?oMSCHHghoVH^4bDYx!G27g$LXXhr0^t$y-ix-kT38P`d*WuC3E` z#Hut=d5TLy^_1K8C~)8zFRAM(C2Pk^h3hF_?t``Yh-Z>#8~Go?^FLFaeNJ=N0v)@h^2HqB*PS>5csi zQK}c+cXgFrU68n9o_a*dibwF~3)!~Mi*QIlylKB}&;BUigIE+Hjg*xUwbi07v87{O zi#6A0=Jx2ms{!)H7j1Wjs6|CSMJj@FUvxoSW;d=jT|-Fc4$a%*zMi>1qK-$SIok3j zAm~otNQbo9=hWR)dU`4AMXWW*^+)J@H1{gAV~(I7Tg+AWT}=?*3Z%Q&rTlVr!LGB8 zqi_ZhFDd{|ZTUs81SLmr*3qShLPBfC_#Ow_y9t5oUAUw@iX(6jo_D#Q6G+N@&?*g4 z(|Bs>MzR&qIcU6uV7 zQ$Np%7`?$3F=?Bv?(hw^x?{K5B1Z25z90B5;QN7}1b!O$N#Lh}mm)HtrM9{?+`s0y zeL3#^Ij+|tT_@4JZF%h>)s`;eu)`D5(-#gTP%2E<=bL{CCtG^S1r>UOT-6cLYd>y; zh%I$RLGNlr@rbS{DYln>dR;2%>JJLa5YXKuHYG$luBY};NN*e;@+gD7 zYfC~7jl#Z;8t$zjq{ghS``{2hbQO=_bCec+&QnO=v3ai}-5%{%ybI_p<1IcnB|*=_i@JVbf1C=X#$cA?=&ZKryD6C!icxKgskUEXzq|0WtYRljWaf zaEkdNTxxC}?na77?Yp|y5fp(;hiYNo4FR@BZ0h%p2z7T1*{9%;vp-pO*C(GiKhE;QCeLkJ(gQK*}k5H$vKED17E zJYDgNyw^me$nt(?4Ge9RnA(Mr7hIEdM8yGZgF8 z#`-~b!52W#1_~&oLj^VAS2EH{^*`Hp`CA<3walUX0-rvar*(!F9fpb+uH8EV{xEue zh)Q`W26nCQ%aMm%bu^Wb;*hoE&%LYxbJoIghKlHEgy%jOGH14Lt6@732!FP3O;CKd zPuF6@FubhPTVe5Vy|LUHa!6+AzK2GjvD_M>-WpasTyHGH^~SQ{Xm5YIcAbEo(skU` zUn|s+wc4r(b?^7YSQ4i0`iLxhci~qZKm$V!weU3{IGis06p+@C71wj9FVz1^@4F;5 zEf@-SR6!#EoxOMkby>T495C(C82kn*Xgbk&1?7L~tUg@jUW~fpOsXsLqwQ;hUw>V7 z210d3fgUQj6TkktGRC8z_4{MJ^!59Fr~_^N6Tq|~g>>(5E(l^J?!KGX&1haXwZ1_! zMsrpGwawf^0R>VVLcYUo@st^^IpT#r)g%x9A4j*$Oievb`!au}xu$ zr7*u3Z{$~04xTwOT@2ly5L}Y%9D+SfeaI`I5tAz=rt}@rQ|Fo>@#47-b76lnYplRF#Uo-4O3wBNg8fHU(HRjaPa}XgM?;%|1Y*ZE*WC z_?bxipYd<|3w|r`H4%dU-eyz$HU69*8>SZKVJ6{8sKh_k9J~ymdqA~y!qw~K zqIn@kxMs#kvm7JMTiQrI(riaCB`>PQ)CM=fUd-d-osb8v+g2eE-IgqDhYF^Xt+?P$ zKWm)dHc{Am?Kiqjh5DcE>wwr00!`!e5d1Sk%Np#j{B8*UGxz@v&j^cFo!F082$u#c zNEcWb3`A|vuc||c$M}1gbpXR*Aa3IC2i66w2Sd;>^uOSSjt&xC6I*s=Pt)-Y{gXu;JEraeptn2s==U?{xKFkN71 z>Zc}vzDM6B(YIm@GYx(7;*XcyV`UPA6Yam||GzRowOgL8&=B|#^aoZ)f7=XAg7*R6 zg7=j}pkHt!w-f$Xf1A+b8bZhDBlxR{w_zSaEDBm!D0*!*{`PZlv=0ZP0vpPrD$plZ zp!{7z187npjmzN}DQrlMjFiy0Vm#FU{?0S(?>MT`&9X{4d6-J+xi{#Ia2gHF5A|&7 z)qnPk=lT7PG~{Ol}YBRO60Qz%f6 zfHbC7d}tJ;5%15Rv3@pbSf%F!b{F4GSHHefQgkjGCt)29&g}%Ps6-oTd#7fAVgf+1L8R55$5w=?aZ}(Gm%e)}m5ri4YdT1=wpC*{+Xm-;dn#cb7 zA)U9k!PzVr(rsSZa~HJN>d$Hb6ye>|W5fD<0)hWsRaL_bAgbUcf&no0R($jjdJgWt)|I z*apR|6exEgDytNyNRghWQ_AaXKYs~#iLzE%2L39< zbr=59fu$=BB^%HMTauCpY`!vAS**-c7AkY#E>%eZWg&iN0NxJXOeF!_$;w3KPNfLn z(M(asfqsWFU74bcQpPAT%2>`F4&P&x5#Wx;-&EM6fsIu5BVU7+KHz?YFOMfFJ6LaJ z0I*w>C-JrNAn-aVZGjJj>7sOl%O1-6tc}uFNyU1jt8##~P#i=!v=E_-CN2v}M&EcjNcU0KDk&vB!9zRl@D`#xBQm8SAH3;-G5%eU}*N_k0s z4Szd9-66jSvlA{}mmk32Q}Pq?LvXQO-Xd?8H^FvF*(z@Xd;;b%`5w^jhYL-9M1D|S z58A^p8)OyKmGTBT57^yufqbvLOwN&)lDwF^O_CGk`ErIF4;Sh3YS zY!>%>t2|wvC`W@fU7mu!Xi%f%q4Ee&qF{!@#DEqp_mcaAItaf}aw!`o_l3Q?JP^Dt za%Z`d+?M<82Fd`qJ*D)NTg$BgyTP=Ro62^$X()G;n*(nTTT}4uaywvcIfxrTg` zTwe~C8-Y_3)Kf}B&=hVvrPPz5XmoG2k3gt}Xu|U6twpUYA1U2671azq0Cb zsPMx8$(&Nkq)XBb={(FY($CU4>3hj55&f+6oAd*0-*fDD=>l*c?%DlZDwV#HzLvg` zew4ld?^94d1$GubKbF2lNGHJm1izn4pK-q@q{Gtt(nr!UU>`tR^)KwC^np~wc}Jyx zf_?zM`+>g>mq(;mq}|edtYscXAASW|x356+EQ3DlQ_w9;DWf|iYDib0^ZE~H!!Cm> z);5Q&uG9or1L$GD37n1ynW)`(*qs5p zK}&Wk=*31|fZG)svAaM|c0b^xDZ49lv7;SG!}%{p5TP%-H#BAwZJaa`TC~SP^ZR&E zCW10TnhKrl(}WK9Nzlwb4jOhRa9%82PJ@>AQ_2izYo7s~@AJ9#-36fNe>0>7(BZxi z^f=Jcpnsj{^sBpB1fA^jpj|!@?owbUJPTYW^mH$QrtTcc1w03o9O&p?gFh8^6&k!x zDXXEo`)=s&&V_dFQ_4Ni22vCYUil*A!_z3iFU33H~ugn z@_k@9_IBaeN16W`@_QnhV|CdED?A0iA)q`5nMPB{Dw<<0){NP?oo>2$4yGyGwM0lA z@Y@Q!R*-MBf~=z<^ox?cHU8Rhdpp3k;;%g<9_?Z81j$BwtVa6*_5&OMYykTXzdiB0 zLndxdXo4~S4TJ`lz~3Ou@PWTESnJcBIt$rEtRV)=W3bj7EYAb>BBw?W|VS?Hrbh;Nafg~ogH-#K=tbP(F? z4}$+JeoJA$Q~C!+vrFt8?1|DP{9Xqg@0Lr~QTdlx1nxCB!?n#%M(cYS_A}7K{jwB= zk&#IgG3pMN@52cCENu7UPXZ=k=7_>9@&aazm*w5^EAp%I9?T+pF>}0y`QshTGyjwi z$Oq+jF$)!A4myH)>8N~6K8|_or2GM&(LTofMYG=L@)z=#nBBgXPs`tN+Zp+L`KUH^s{0C;#a?)lF#o_w=TU`lLYGSso zjhQ)Iu_+Olwd*PMl?F;f%=Ar^rdSW$gt_}>r6p$lR!VE74b}mjl+IW~bj2#7JJt-n zu!iWbMDjJp5Ue+bD#Mg0WjJ4zL}T4D8f%oXe7!OOtD8w!#oUTD&27pwzP_1(_0CLX z7FI=ZSOvvn4U~Wt(|jc@=r0}XsK8%_V*bm->MRp$tHqdW7h|RMxa`2M{+Feg|D0IE zZO5$qn7kG9@D}-D%*YS&nRz4T;PtXcUWXZaEoR*UIUn;a&9u3gkMG7jyAt#1a?G^Z zn0J@RF4>8B*MT`V6SHg@=HC>|y2+Sh=V4x*E62%mF!#>F40|W$*XiYgfIlB&K?V6b7!*EknD8EYpmk{8# zi!x}azkypduJTm@>7~C2&Gf&r^SH&ti#sxY#LXJtv(vbh<7?a`^d;`;_zbsteT-X% zK4Kr@uCL>`_3J3^|0>1}AP3k#SrK+E@8F)Ww{c(Co47k?UlI-#UNG>;VdF6eOsBM7! zVLk3uSqB;0TI|9Ku~*Ayd603fX1TZr$B8@99N3d*LWYu#yV4fn*0crKLndJ-nSdQ_ z9ApBsAP2e=602#DMNDN=a0kgG+?q52_mzypJ~0OS{E^V(H=IRb&v*-VNnNm;>-DTLS;d5}#D-z-oY18N(03P#7aTvR7uz?*AwD>Im2DkKS-F?gX;ooU$hV=*+S{KTmCl-Ld{x z6LRjxoLkd$Lt_h2Xje_XXh+=|`|!5dJ<~n19kFNb40;!su8?Q<;D+Sfbi=IqZxB{6 z!?5EWg;h^1cG0t8hGKm;4y&7Vtav72wKD~4oeZpaVsPi^XsmrE;*@3xR#3O{_0cr! zl&7;9s4qA6=5hRP+9a&F?!c;QKK9G;*hME`jpe{fD-o-&W!O`1$38wAX?YyJ7Gc-i zRZ7Lpgx#cL@^Y-n=zc=;pEEZJO=68Z&DlVuZGFLOHSUw#EU^Xp<)ehvF`re85;+MCz-lihh^|Ngvr zg&lf3$l*IcdT-vT_uzZ=-jMwFRr+DaJ^*I{mG9a|;Y=ZT-yUn)xliSL_vt~q_t`=F z_eAXAld*?ifb)%o$|9v3-jxab^}?Gnfxq534GR1XfOKg9POk>Dqw-*!yS*nb!LRN8z8+8$OcrIr1Aw-$Oe`P zsempMSOn>N3Z(D4WFS#as8l*|hkQFE1k)fRm+epaYj2w36*|u+*Rlnog-MWqlWf6|D;N?5U7ldb5_)p^ zK|pR`_e&0RsevIes2wCPsOFa#Fu%;;x?gH=2~td5VsMU?u%GeWydgO_3)#ULNODPj z@Qq)B@Hu1%pPHlyA3%<9f=d#PaaqD)E=_nBQd2{s@HQj~uluD4FGBKc$PUahgNOa{ zf`Eje05SrS5A@{{g2mYDkHPyHeK9-r!I^T63Tu(zmC1h!i=GsNOU&$~l#;H6>j-_Q z4%}E~$K89Riq+mOu@iHp>^-JIuWDA0g-Pj)Qqlu( zX@+A_7L?Z}^?=gTL|0-`kJR{iNvS>3;uE?dMJYWp<}FN2ar8)XCKxWdQ{3IN;?pt_ zH{IbEZ`YAdEIHm8pK4ErrciqpZbE~uTjU*CNe7kR+}5pIdWIdjqpJt?%L6l9PJ2eO zJuy2yJ}o7|xTX&!mJP+PjwEC#Zk{VSImywn6ZTqZ|UL>^RZq%0Q! z{aKFZCpn?Ic$xEWpub$Ty{sMd zm;)!Bs(AhvZQlYPRdM})13>~NZd7VfQ5OgbsE}Ax0zMMR@=&4?h+;LyNCKpWBu#c9 zSb~8~LN?cx_^Yq_z*pMZhb?U_QqdS5O;Bi!f*O@tl&Bkn8bJ}nlK=NRkKNfzqV)Iw z|L-T8nRDjMnKLtI9(V4X838|XuGKitfbRp$vrcum4LIL`R{~ycz)Jz&YQT#D-)z7O zAqV!@C)}jm%N+Ci)+z$L1j(9^9zZeJId!wu;vsC)+$nQo2-T-(lU|k*$ z0$u@Fmq!KQTLAOCSmu8o;K`$`#&pGRBH%Ltrz&_T;3G*9eut89mH=SQuO0A4z?$C% zz`wosKf-SzT-OWX*8uDM5#9z^=a2Au2mG{y{z<@QdiMg><-zzh4tN=0T^B!nts<$1&jy(4D3Fn-hUM3Gi?OK7uXZ%=bau zWB9o0_r?Ji0<7~xc+Xjp{1D!Wa4kRKe*o6`BaHhO!}%e+0kD>r@Sg$e{1N^=ew5=E z4!WN^=z@xF30%>iDL2z0-*iPc*%3d*!T*Pf?iApg)Od6ajAn4JqmXAH@Ru9-7=`~9 z_b&Pj{67Kf{4xGEz&d|~Hv`u7OL&6={-pz61K8vj0BrK}50mqon;dl64!Uaro9WI( zJeKp7!y@%bc}{ciNp$cT?BMh5nex7`FVBqTGXQw<$A`$qCyespeUa49kKj&%``#JR z@!D_?q$%e%&|MC?bq=~GKxdZA!+_0l!F`ihTeK2_j(979XZj13d#!`dOa~vgBm4|U z_+ao!1HXQbbeeIWq$%I?fKB$N_(hdnir%_W_&y-UScV`_3O4^$Og}pwr_5 z)7^j{x}Sudg;%2FNOC2zgUd} z#9svbwMb_y@KsqrU|vrA*?_ki@X4TqJxjs~z+XNmLU;HSiT@1uRGRqr75+^J{$+)4 za^QLW0QvvQfxlnjc`v5Pf0+X=2i-KpzsZ5mR`|;u_)8W390&e%g^zLIkDM&|{~PyV znsU7CfdArvA9cX19q>;b@J$Zbc?)5a~{+9!8b-;ghz<+c}zCU;1D;@Ac2b}GIuT^|5 zb>LGJ{&WZaRE7T<_jj7|zwdyzJK(=L;J=^|QlB4i;8!}}+Z}MW1Li%XrW|7&@Tm^? zKe!jvr2p6fzvh59I^bVA;580-nFC(vfb$Y$zC8~7cn5sC1McsDKgIo`Wz?&TK zA06;-;-wrx2Y#so&U3(5JK&2Q@Hq~6kOTf2_m!G*e{rIe<823ir^0V^;Qy-dzi{CF z4tTKxzR3Y+D?X_X{746!;DEozeW#}U?>pe_4*0JQ_%R0@aKKn0jN+f;fTug)6bF2! z1IG0~QT#q16b--afVVi{XB_YY4tS*lzTE+5JK!rF@E8aDLkE2FAgLc;;oeoV+;P8a z6#TLS{)+>C)B&${z&;0D0z+r^Pjejj%N_7}4)|mTd}Ls>oF6*iR~_(Hz>UVdWF6pn z#(d;y2mO=S5OFo+d=U5)gDwd8Vgvq}Bc2cO(m9`S;5`m_yaPTD@unl*$qxL9z{Bn} z0r${~dF7WUMCQ?)Z+&z^WFAfUZNL{A@-+cA<$crv`yFtx1HRD#XE@;T4)|mx=aB(Y z-tGa>^1Kh&Ecdq^;jcKtH#*?I05T?TV{eH~)T@Bcj ze&4*Js_^t`v(l=nX|(e?QyU{fF70c`5S zKLMNiu+F z%O7_QMCBLft48tT(eYPeJUJyM@_mkcuu(rM-Vw{8H&%4IA;4xm{~NH`FYE+t>d`*{ zoBcv7(xm?W9xm5S)+pESNViha{nQbEp@V-O;>|MJ$BhUdW55{tqr$O968;{^{9{eO zag;%iweqO&@d!7|8C4bq<8wgx`!M<8wLc2J7`RLDyA;2v_|3vE6F*K#uETFOe!s(y z_hiq791Y6PH0^#8&+^=ZLL&{!@)6y^BJn*1xkGmkWs8Ea_JN8!h|QS1?wG|NHr0PrsS_MC=qHOimp#@Y8s*M(meXuJwv z1$@5pmyWQoM@Pm@PO_}sq(|7}Be8C!Xl_NNJq~$@w-C2R`Agw{Rne~-h5AwcHt<1z zD(Dk|KVQ=Te}_t|8~$wNPXxXGvA;= z{~X3IG4L4%{R;-44ui%r@E;rWHyJcB27h%YeZN@H78^8d=O7dK9)sS>EiBLTdYxB+ z<8EnO{9FRGx)~hXdE{;zbqn?4yb6Zp7FXbg?owRUjNLQh%4X$qM~%dZO*st01{^xP zGFo{_q`YNFPh1DieM4bi-u(FmrHEBfQ7Gc(VjGq86yqvu+y^dXD9S7M=1NjrRh>H@ zd%Ofbvj0e2>CG_YA-B|vi@n9g+SpY@Lb16B*LN!y5{OMlxeCtJ9t1cx3W;PWlPVmU z>{8sTy(rgP5`~QHsS-pBihSjZOoIG^qJr=SEkP2sWy{K4R8S%BUe|Z93!+8X$0mwG zUh2y`y!1LB;){#RRVu3Dyd^pu6+;$F%km`Id=lmgzrNXA)>Z^!_BF))a>e38 z^g`TkE-9stRP;fEKmu`bKR51Er&nK4u5OXXrZjPDxxAMgR~|cL5tjB4tYcjkrCmSVN4hrP>Q?Gz3?D~{KEXOG_pcVigOD}RA7N{ zOG`?_G+ur0d8A%h;$Cr)Ij$U!Qqf4jZF%K_f_Ik78|20RJX}l;8F4N7vSsRia(z!Z zZX-vji7U&)9>`lDXmb}AcwwZuU};&Qw;(C|nwj%1N>2U}+WufXecoR_!R@{{8UNfD zCF7qvB{}($2>>s;=tq|jcDtSTm*X0BUtw{{IQHb0)!Y5$&FEt+x9s9fotbEFybglc z195z@e_2MqJ8^SBHW55vJ}&5ghWv0&aBD1!#0uR6S(@DR>4?^GvkBPyrS&n4d-m5p$^^-QM(*kSJV7AYjcdn zJ4rG__G2%j7VQ4PCYCwQbdKNeO7w*GyG}-xffFvN?MYO3(fAMdc<0&up-`w1(R_Nc zhC2q4v;)M`f9kF4xOXVsn%yu%QKAU zF+Up)gB@yqtq^fom<3XR)(uPQ$%<>OWf-+epBzjjhrYW@%SslOId}fz{Ly138BE-T3a9J_5L$ z>$7<2^8N8vxOhJoe)3qM{N%q8e!fp}yurSq@cY*-@XO>dei{B!!~cNc4;p^P({YCz z{+A8^HHQCf!;hI+L0Nvm5-YcNMdQp(sB3;%9_MkIs-%=tI1O>yTe@&@m^ch`@|idP zcFyTAkuJmpkC?LgrLaO+bbExs{Gt-heb}O4umGPjo4_2VygY9q5GJREJ|rB8jQ0~v zc$A!&DY5lfxxVtEf`ZcHp7&hb`@ARR(o0k2#OIiK&yq4V=RtAyI`5f5eR9jXY10)% zV&f^rge)I)H^N1G555ymgvxr5QJ#nV$3%sh&5I6j!!6B&*ZnNv<_==L;p zKmbfRj*hAV=-)b2U21U5nf@1q5ROaza^mf#u8TMxV!m~7YGs^nY_PTwl`CdjwJW4A zJlk4~AyHf;*U4*ga0eT%;ZOs(NdJKiNIzIRTSemy0h17=2DfRwf%IBDp+)wLEdR?f zb(x(lo=*zv)2^%YbhUW)9cb}D%wvUs4YR*#^@Rd&-C=sPO@3;yOrMdUN388>ou zjevM@!PW#Fp8aycqw|C*rZ3&e?!j>_5$Yn3WC zSIx7)Lc6}Wyo#QhU*bP1J4K4uN5Qj&>qLFUDep$#!2kiOj#~gses1_B^7V;}kbKeLX*v?Sb=Mf72c|VlVDA z8WQmAwsUY>ics z>UtDZRCKFotE&9Ws@RG5pzZ@!u(BJpyjX>FkR+;I2%Wf}OmS16oioIHdyA)gkqxCv z%Zh2QgKivWT<=AQScr)I=VjGZ9$z%{2X5OlRH~nBy;4e+by)p`bb(E{#^Z30D`Qh9 z=Uev1Dv*d)z|zL2BFldGas0;(BUiV2LhxC-LqI3=SKN|gdv=SWR^0@!j{zI>bePx) zNj>+o{!#vQzXA`9Wn}1JC%(k2@Db2^+DI?zhibM&bJq$qu;KipmLvUQzRfHr1n_E5nu7PXY zaDfm5CL{&k3|+^d{Q*yV&Fik}7x02$=fv4lGVprK%;U`u6&lO*18)X=ZJ`l@T(ulm z_30QX{ddf;T-E#xVf%F>hyfI++#SengR+!iSYVS0R))Gx72|^>WRPe|)K&3DcT9Wu zShk1I0lt-LB4z?og$D`I7=ErBgRjjypCeZNw5&Q$=kZ4Kjz^rr`e_*0jxUZqErajS zESUYS>MkgEt7iv6TrY~Z=ar{m?tvF*Pjg^Xt7jJjQhLJUmyP0X_MUF1Ek77LF~*l@ z=j`tM1|)iXn_RieRZT@kUx2&^eIYTD$}%FaKC|y#%)Hy4Hg*Jum>CYi#}jb^3m_b^ z;P@iq3RatSyf?|7QW0|qDuWS;%|@qbb_szud&0Gpv)fhuDzvS~v&+6FBe1_IAGxY| zc}2YK*%5g27hfNSPPPPccH0lXbpcdtvgP%$V-RZ@V#XDE5SQ%vkLGV+MAx;rI&$~q zbsvCs#ijdQW4U-SHgn&8*DaaN`(5+4u@@1c`&~EJeF7>}4R2u;{Z>3nwC7YXLtb#} zoo9Dz6*=*lZeNw*_w2||eHHD(wTklt+#!ed>ALF#HkK)9qZx5MGcOlS^kdybJG&qx z8i0S}A#@Q~R>GC6^&BRyno;wztNKoQ%QDbBQr@jOsPw}-RVzw!U~@3`sMFA-QJqd>Tltqpl5@BqUEh{)cjgp)z@pyPl~Sjr;o4Z zkxEY@D?f9Wqw@Wg&A4(Bx2(3iYIY!Ffy`Z~z?ki*y3_-%RV`2kwA`Toq9lY-=ZEl8 z-<|{F*0ZaFeiz;`1Ri5Yr^H?y^q*;9cSy5IqWwyPs+^ zof?^?Lf=e8^64=&x65~(HfbKRwPu77iT-9!)2h84W|5+%W z4~;Kzl~%kBfh{Soi~b*qHprfi&Mz?r*Y2iQ#85>N19LGq%HD;fqO~RPYEMHP#1WUR z)}&Llb29>mQ7v}%F4=Ls8}2xcu;Z{j%~YH_$!)tsdv3+OfXAafXfwytZy+h5J%P6& zj6;8>*f+|~;~m$kL3p8pICkak;Oelx#3$iO)mOhz`m#E#FIW-%o5WrmTpiXIV4srM zbAqeG`T}fFU~#{(Zz+bD3=B2R{v-XC|HPg~T^ZVQwbYf)seyLtN_$rpXi?&ELYikB zdU7SWZGdW{lzM#UVrodr;OZYKUD1ouLp51fKVH>VBrX`laLd(xaO_-(_Z>Z+Ip^z{ z@w&esbh{@`ws-rnOVNzb)4QsF4V`k-+Hbqj)-n^L8u*$!&SXbEZyT-_y`**Z6h!BP zu6@l_@Go$U-h}SHnVpba%0_n&Pv)MUQ=yibd$_RQ4prEgk65m2-kbawS*$oKAY4Qh zY*ci4XE&<)NWO1yB(d-uE~gnSx=B39Gh!%z6qZ>YyTsNCNC#>GjIf3RBJ59_O3ie%8xG85875cHPvG$p0Yy5+&{- zeghVyU4w<{RE@=M6iTnP?9bpNIxYQDDD+#G?<_Ij{jpiTzd#A#g@{G$iMKJq+8XDo zc@jtrwxhThqz1hcr>FU51w9`iu|)Kj;<|A)Mxo4m?iU@-CVuTWS2P9;+chVh06kfs zITS2dAt}wS_1Pb!zT&F>Y5@2jvNtpU%NHAd!aBGm##MbgJobirf$qGO-c@^tZ;+MPVvs^ zIe`3NqW!t57|au+=hQocIS0DVGu}sK*7bWPvxPWvSqkr?2QdG}03NJ*4MMVB*d3sP z&y>Q{@TCrO)XxtLiB1!2j-8|G_f_vtQ9=IgF_3tX%m!askNb6(udJVkUs;bY8t2is zLg~%7)xKp!8AY!*h&T7|C@GOMQCe?^(m2Z~{=SpJtGl-}QV4eDkeF?O?f;)k0<--5 zde6|hEp<7acp*D3K^X_+$3+W0(8U*-uO3(Vr8G-@>-;sR7rnKVvNO<8O!Zf!S>7A$ z4eT$`?Pa2&VYOz%BLD;K>@;_EO_41bqgDa?7Ip$@eQw);&ztCwf{mp6PC= zCZC*L;YAAU3)V|VY#n{{!g|F)X&Cz6L!Inq5b$pVU^xzVm5VXh2>Clg z`dHaOf9Ah44XbxcAp~X`{>mK~D02a{dbUC=O#RyII`%Gs%;sR#o6Mx=h0eVQ@!xr~ z{e)hJQS0>*uudJ~vb3udax#_p!OMmKX-Vuav8Ri{ zs03_|LjW5BU@ZrCzN2`_Vk_oAT_-9gW5L8ILRo;E_so*>9=X^E7SRfV0s?}IjT^AW z+0*svF+3E)AjBe5PuH*dB9uu8j<~G1r}GYGw6Ymr0;u3QZ9)I3jv=%J8$ZCU=l)#~ z19dFE)c+VrbGU0pnC-&uiQ$}n2mK#9n2ZH|N^@sCQbR&~9RSfK4x#~MI*`*UOu2;C z`{y}GKKO_v2;;0$(cJH#X#&j#%pQ9>9~H0LX}q)E+}}{2Gt~Aa${7tDV<8;vj3Z!J zmCL~@xcdDePFMB)&VoZ0SAJs&octXhXeLw4IsGsLL=-{ z8Fm7DRL>XRBN6L3^!|sc^`i*5R?SinZ__LcuA21xJQnXddb%UqkIetdeRq)qH6WMc zrcXvertSjMz!of`j^NUtc*Vvj&bEt>OJb?}>WtJcR*VmP(N&Dp@J_BK^?$%_Vy3H` z{!}n}2_@gt`A{5=HcGcwcMpYPSg6pUfy{08ntcEP46!q}!AT@D#7C(l<6D`@>2L=s z8bt5e*-*=Pex#D~BL5057hcQx&MGnAX?9hob4~+d-|oQ9KxI3|8*|Oj)$rf17s?U% zIM%%aN4|CN}l;%&v#oYK>PRBW|YcxvF4z+rrfI~W@m6L`&4y$D*B zTG{5RehNIqa^YF1lvrr$ajp8P)_FSAav_zr za#!GMy*&t-?`sB$LDj!4#=g2DaG*XmCc@%-^DDkiR*^9kOsH;TQJIZ1Jo6RHlvR~j zeSX95Y3mm_YGa)H!5&oW3diac zmPWX~&>j$>T$db(`95k~zG*@hbOTTe&o=SWiR8Ju(B4`_W_Y=^?zi##)FzT{QA&qb7_JxS^~Pa=ukEGF7c?A< zJsp#Y*ELwbF>CtjP2P-Gmi- zY!AlA;;8p+f8|hqxA2a_6cwGD_+q3-H}O{0=2(G)V^b>qUYborvU4YR{?g&Rfp)>msyE<)nB>G za^2fJxpG^1Ts7uVPhiL-&i3t=J+G^p7A*EEZW_aaUIO$!PJI3uf~7oYMJAR{T-Cn= zO)$MD;Aw32tP@#h)yj%Q)xIIBwjtQCS9l&btM=l`(fX3(M73UtkCLbLMiuCu%Fi#*($u%{!sM#igzhfzYT(eyt(**r$+um( zt?RR>{OI|j-Y=6GXE)*e7R!GnI>v_)&(UOOLB^=1#kxHeguXDFH9)Neh z1HWEd46faeX2nuNNMs(>^Fyqa`s%3AU`CRSj3&kqA{2Ww9sgg`Ny zmmhG&H&`(kgigiaf{v^h8Sxf4GO_wyv=Nc!{5!AgJvUO4e36lxMMmU!qX!#I0~y%! z!-&XOwHt5Wy#?~xa(gqEK{)%b{f0S@8qu>3q-v{-v4ENV8hFwd;E81#JJXc zh*VNuPI*1$T~Yt`vumn=sd?F#3q`oezhbWCy05u;&%n5LF&McRQQV4btO=3P6p!*zExkeFYrraai3 z5L|s7MrE#;V5)nLWvAoYQF4s;X4}*4T0bP&_Uv=5zbrZR8}C(tBPlxr*&*ArhuQX{ zx2WbE%(i@2pe*p-65@M{@s27#g@oUL(jgb;r>P?bHR$@0{m)I@jPHLz6#y%F_gkoFi9< zfR53B`F$mq<-7W3*=xqKe3v73pyh8=ubP9d>b=N2H^ksgbXvv?G^}s|8*ko2l0x_4 z!v@QjA7DV~Z$9c;|7tI^YB*jX$SZOJ?VCc0*u~)A^dAt**Lm}cDOxbvPGaa1Nq^y{ zuAzeaw`f>$AdQHjSf2>el$UFomz{5~*^7)BMYZ}Nl~Mi9zUGad9+6dS5866R^fu5x zFtV$5qm*-c_8>dhZdpApy)SnGEZr7a*OcH0c6js|^xhJjSr1D$VI5HlJ5M){OCMG4 zo)41=9Mmt5z83-BMR{KLqP%i9j4kG7%^YlDS9q?sv=Dp83rk^%NqafqXU+zJ*FC?a ztPI8vgDp>48II2{D9*bL_K6D_6Lt~mxO{E1!GOgj`2~}#xp`&SGw#kWDPTHY*i4ib zEsG?jBIF8o1;T(s@Sg;+P2&w;IpR}3VW>eP4Okv7$nzC>M~}hb^pOMxgX5CI`~r8L zTbO{LT)c})^2f0ZCb@g%9hR-!S6W(v5)*}if*moce1tAnmRqArF zm!A)-ka9OoL?#qf$W%@8^4kkbOG#OZefREBzDX>7aoqsSa*4-n2ze-<($b>B`FXr@ zfPOCuyTH1wqy(2n7Ge*-7sujTG#6yLZdePH2~ttQDi^A*VK!4zwoGK@JBlD&yuz9> zm$DsqxiWWVG-0Zv(^RU%Yabx8R6mh(5kqKZAGP8T>3>z_H^4Si)QYqbLfepS1*SmM z#pse^J2^H&Ua`9*Ki>@_P+7u#MqL1bg^qa_fd)1oh4TyCi+$y|JE6c`TC%i&*)LhJ zz@3M?7jA>q1~1cqL@=C$jJ^V;Dqe5F;!+_r!tzVpf?ILPQunxVN{4CvQJ7a$c!v~7 z-njr{r1_VR%9l)F0DT@?+J#}#0xeM90^ZSKHdF5+sA0MLwnDF}4Oov$xfkaZ`_O4D zlhR+9U$PVegIeW{`B1jx!j#HQHb#b&xQcoy`k8VcjLgf+7x>6DN<0W&Bnohm_+Jn% z%p1~YUo-QX>F5qnXf(}2yr25eR0{Gh5ba*+cUi$g-p+xNFDVA|QTc)xa$PGy6?thP z?8b1Dhs+l$hHB_7D2}vKp_gpe$JtQbW5MPl}IyHnUz1MIC%28W~#QZRppRxtHeQ zjvb^#nN-G5j$YBVFVL9LIBC9hLfW8BE@{8o1Ibrc+nT90& z{-n`3^8~QwPuPtg;}01fiBJ5&^Kgzkj4K2`?3wBSoT=pkyzxBAKLD5V%t81|2K`ll zbvnhMAF1e1C0%la?-7Ji&aQK<#;*;03t%(7=K-7i{s-|WccpSC!=)TwB}slCCRvSj zir?KMVF3YH$0xi6FzvUPKf=EPyvTqba)dVkej0V4>2d!`RD2)O#RtHI8{tw8+|knb z>kA_E!vUN86CLpfI^eF6R%4YR|Gxm6@m~XM%D)+~Dc?HeiSpbFe72FVc;H#yhet?v z8(hj;t>B+3_XdUk+2 zVT8X1_!0x&23Y5V^fv+4`6qlSU{kK~j_{Km@PE#ca^=8fc?`xq7N$HsxDUci?;zl# z<7Is^y-xvaeIlF#*p%lIz@|Lo9N~!$_*+yK>nj8I37B%E0ygF7kIjOV_W;h_zsHd0 z9l*N1P@e68P5J%?9OL~4c$d;k(v{-Jc626OR8>MJzTQAZ68?pA_ie@h7U2G&@SA|I zG4MFIU(i1d{GA5=VTE4<{FUQmxsgu*Kc;g9T*@;J;jt=SF+Ss-q40x&Z&C4x{~AJ) z{$rfK-)P`pSNP4q&oTHs2|V_1CInSDKCLvaG~?mSEfKEVX>eKo-{7-2-6pt9Zzax& z&oJUu0M_M7xh@4AswCkoxDY)d7A}f1;rIBK!1#~+0QocG*8|=u?N*;){2Ku8IbW6! z;S9hgf1U@=`gk4Zs_Swj-CTvA20ZOy@d$nw0$yV9KLfDI?<&NlT$6C#`9wu`Qle#z z1H4!11>rLR>v)8DU>D2lJ@}c=?QogTwF<6N@CP{8TepL=UAXT9uxOgE;71Z< zzE1+aL6ryN@jP!`4usdotM-ZWvh{dG{C&Vv4{Ctd{Q>b;0?&N^2zWE!V-)@@;LUuW zs_+AWH}m};tl5yy=O;$z`z63;z8?f^=DWcWUgm&r0bkblfx%M#Hk?DP^_22I4*2>D zWP1?#1ZIIr1E_Z`TFqx}+o2NzvZ zLW6S8g3EeHIKk)#`dijF10wk<2K?3l%R(2G@JqOCfByrQ?GNYk3V6DLJNsLW)w(}H zyf*>s@*$rYfPbLEKf}O(G2rVBcsyt*&pE)4Ht z_+->kfx_R4d36qWlBN{+Uu!(d4QG)^J|ivbDdo>XIJ}Z4+|MTJ~TiLjIq4?9_mbM)w9xmx%cLoC+`Hql3$$U{Wv=#o)y@}^|&Tn~P zxQs92ppQd;?Kr>XyU(p-{F#XIAo{qzp6@%qWdJ&k6CuF+4jyRk;ph9#O-V%lu^-mj zhjj(>Il%yu;73=9w_8jW@Q^>o8mr?{oLvhyl!|^A$P?jbKg|czYVjj2`D4uO^JxPg z3?aun_-+*cr6jke&xN|C1{)X_xQAPn;Ya-i?%68*hlGEd@W;gw zzeD(k3V*xsj~0G@5DPXO5`G>S5Nz0hX-ME6aq3;e4CFR&4^O=dHpJn7;2v(p4K{4U z|G+)82nsgL!|)KehkL|=4HGfs1n!|JYp~(Lv*{Nn=`}3EI2yQTqM#p&Y7g9V8U0nb zTGR@xOoKmXOOzec%^~Lc7UbHlJq2SCb`4?At*6^=8UYBWp8eupCUW;lWDwpTD6Mp| z;#)nt8C{w8^K`s+gNS;L)A8^vafDraHra{ICBfP)Bf!kqzi}sa9w74FJSfeA%b8L;7U9(_kwzaU5*#09#j+XD12< zmhA0tu+!xdGAf-?P2Q2W5Nx7&IjtWoJHXuQc>+rBmNrNEJH_UiTlm5j%riHLoMfwr_`h!vCJ- z3owZwOKw6~!#oGlWBcT1`=0&2CQ+pLNoM`iW5G|V#4jC1I0cmUY9`r|HYld+G!z&- zR#!q8iM%~qpB7Wy>>V8Vy3X@)=R+)C*vX(>e@bq$@&h^Bup3J^?O^Taj)dNZc}U8; zvL(a9M>S*5hCnwA`t5aRpn(VLCb4N}ZVgrqqla6_c}zf>6=;)1Py;n@nT*wledmL>zY zB9a?xv*S~*%7=X_oC@dRr#9DP#PVeH80@t$heo`#HJx2+Fbeqh#_-*tl! z)NT@Z?1qaA-n|NuyG{t+T@TmJj`wd)6I+$S4Ro4=`Q2bH_TY$Zfj6K!Tuoa<-Pk$X zT09@kRoeKGq2T>gyM&T{sB7%KNQKEZx!O?s)lRh^id3PaANmg^crUOOX>d&gh0~(0 z{?Z}p-a{y-BetK6VIN>a(#(&;l0a^%7aJqvQ2tAN&PkHu6$2r72JYP~{;lHWvA z`g5>NT#XQZr|3Cgt3}6NYS0Dk3nYKp2l}0IpN|+ga4U12JxCpRL17Q|gKONQ%U(`?USLfMZKfON=4zvG+TZS$Bgm8v4KR2>9Afl@# zTB@+>qeJ$}lOh>j`4`S;j11q79mm}Iw+V0kkO3#(LWcBy^`6h`()&lU;k5IY^>Gt~ z7pB=faMps=yf}H5mt*m0TDdWiwZdt5D26Es0$9D<56{LDhTUHt0!&K{Y&h2k(!v}% z>NMI@aN?|CewQ^QBA4EWr{&qW85Ls>6vy25_r(QmF536rI;4I$TgM37-$WKtKm79< z-6*cha0p67ITUHo?vkmfHgc~c(m+IlNgOu#;RxFksNPyT!utrde#5REM=e)EGbbx1 z-0jwa^H9(srv+=%6_!;7U3*3bU^gaIHghO4DmIqO&5v;uoQDLg232PU`i;8w<~;+F z+!N;4c|Luut1A|V`(+5jw$Gq~>2;Oebva+yYx^<({a3b%8L85@%ecp!2c=?47>{#= zGxv)^m1y=z;hEx5D41?tPvMoqEWM*Re*~qsUo|aB8oYasS$eg*9Fbl|B&PVOk)qUa zA&9KT|56a26hyaiEy#@T6eJCiBAOT7KgoTdqCL~@w?iFJ01aIEGrTA1n)nZnCP77_ zYYhdfRvG~vBEVHW8fB?Yoak%=j`q&1o50)H)Vry3P+ev>dI&owWN+l*0ro)IfP$); zq&Dkn!Vn;ZM<%W0d$HPPR?`hgI8sf1NgA|&PI>hJ<{zS@Z&e3=k3b|2M~_G< zb>4t6994cQdITv;q>Dm>`z~3w;}8;T^?f=f==sc*ai|`~ryX@MoiukabQT@T23a0~ z11q3vwhWELHzA;?N+p-h1wy5*0zvHy6LDwq1Ga#`gpm%+@yK-(7z z-n~{AjTA~Y8;n)RlF)4vE$11vhD5baiPqu76zZeeiyt*!%6;QEanErr=d3BOS7CV` z+sIutKf=3l(BFkOc&(KS!3Z-uacEW0|Ai5fiIC^#Nwr3d5;0wGG z9G0jmA<*W%2zK1|Dj79c-=8K*T0K`)JDB(dlc6}uG$VCOV6&^X9>tHTIF30C&WoYR zP8}HqGWP`QgaDcC!8*Y*b4RdFaLe2stU5%tFvRx_!{JTmq`{Ak=s1(Hq8_L4)OkMV zwCgiw-}ZILG0QyDUKWhAHDX4-N9G;d*v)qMDvm}$ZoAoCjub?&Pt#eHMsTsZke&jq zkVII--zOmTX6agwGbC?xRj)=j&H7XI21$iH5lN4!tK*h*l$2ETr&`h-eMov3CP!1z z0nTvM@SJ=*dmFVhXICfgXS4$E@Cc=xp|anDuDvZfy)Q5!vLB+N1<>`WW9+q}$-Z9; zkCCGHApuSNdlW4fl1W7i#>U}PP_1d(y=d^qt!bx&OKQ&Uz&ps3t9CP{KCl9x0TTz? zFEq@vC+HU%=GhVS52MoJCC@KZ&9gP=7pjJ1Ec|DSpbbG>bU+$vYG5hevXcZ@5e$XF&E${t_M$`r9w)y?2g#) zm_0M_18qvwPX^Ux3pG71Q3FRKZ!6zfg2aIES>!SuE9YO8IPw1-@!Q~ z|4(Z$0ETK5!I>IfocD&&CTNc_hD%4&y@4W36O}lN-fUQ;s(FNK{ft3k?T{aO?TXmQ zL;@AhHiuHeVpti!iqfREAvlZ9+G7_BZkR7k_K39YTO;9+W$u|;38nmP460%D+B3&wu zRtW{ugyG#7K!Huq^RbAUZp)A%^O1i>do@KS*!;_J}3EI7GpD61#ae z$#wA@E@Tlq=cDLRv6#t88jcDw$AxpjJ*;Bw?4&@)#mDf_z=M#&L&MiNg9HMtfKZT2cj9jqV8 z{D-H*jgEL;9^T^Fo!afH{Tdk${F^D=!?>7#1p^`(U^4fJ<*SHYUclEeraN^T6|F6h zy{FFC1@+oi2Qx)qI~C^>kq_fb2?($?USH#;&=jCT|MFx2h?hpR;xBM zbFc30>4`Z&G1~)Q1m0V^s`F~d+IK-?^8K)U_v@pS<=gOoU&_-U2ufM3Tl_brd=lcR zQoe_(1C6K?Wz4q>S;lzF5H*##D_A8e$}+*0-hNdpT#X%QQLXS?uocVJoqpt%{l{}x;U-guOVrtR;vXXi+EH(SDZOl7fC*V2=sWzM!8w=Xl4$#7_Vic+@47A`zerg(ArT>!qG=s(NsF_@RU=B< zqQ*HFC{Z9icvub=KzYLPM||(~g!CP6(ccH6@Abp`y(o|^?;*1I{D?w1r!|e8tJTVX zRx4z{15sl9TN7`|&DmntevWXZt+h|XZ+5E{Us$uM!<9E9;n<3VupT7!E_mPU~auurdKsW9Lbrk~}LWbQJgA?SP>Lu*qm z@Pw`9XkYQ|FzkdGl(asi-BmfRrkzh~GG#Rh6SHVT)!Sf=8O}J3qz79lpkkzJ2~#sm za!~Pw37D)J?AcpFA;L*$X~L$Ds6T92o4GUa|cX|Ike(u)f6mcUdN*^|N2z+D-$NfR_00V0cD zQOUSPJ>ODzZ1}s~T5O5Ceuep^^1|Se`pxZfEMIO+{Ju*B%Pmz@mxn#03eA$lmb&r+ zn7qSXEUpUF)`q%>&l^>KUR1Fj6GKy$z#fn}fC;J_2C~xlZ?IL23yqm0?uG0-cW@OgtuYu^q@*-1#oSEZ#Cdnz;g_^ z3Gh$@{wv^*k}N(?F#aC_YdH!33h=u|_@jVdH{e>(V6R!iOt_Rk72%skN`8Mpz=Z}s z!e7H)s!hcw+zFU_pP4@4H}NB%7T}*Y=$;3x<$~ zz!1PcRs0B_2w2NWxF2B6pYUh+;tMC?J=krTeA)n;e6|5LZmeg(YA{~-t6jevE& zncjse-mlM$j<*)D$-fRtM!710H|6>XU{kK!9PzSLyfolVxh6R1x?xvl%C!@T;Y(1$ z61bz`{siH$F;u9X-3b-TSPK8~VmcJOA7$*V7 z$w?wU;S|7HPQs%B>vAB>(+MfpPJDo6JNi3Z^8YLB!%V)v2CU14@g4(g@@Y`h73=T}=L$XDPfnF?lX7o9)oSdIioo*(<(mL_ zfg#WNfbTNk5rEBdJsq%Fu8Dx_4f=tA&GI}7`!%!N_hS8@a_t1(nS32k}2W-|?e--a7*k3T+g>YGpH!Ao-_P5J%+*p%;=fK53b0c_@T z8D{BBuh7BgCI_E6j(8JPJY2RG#eb-SZWrw3%zXY4bxFN^3V7X4S-0GoWCSMh!eyqVrw z2i;A8b-u_aMa3KLi1!0WyboYEcZVV8JFu^#oUZ_H%J~9dQ_g1rn{xhA#k&u9Q_g^c z?rOlMoEIP-x|D>Wa9I!W2-o$%eDvT)`~le6>3Sgk1^g)I?}68Ho{bf*wSaZIBz!+$ zEhpjCD&A7ywVcG??x2Gmpx{3ec$5DR0PAvKyaY$Qqrg$F&rXcy{{diAjz++`9LUFq zAG+v-YvD4#X$aTl!0<~Hek}019Ekr4D}hY!L)iCeId1{(ExJ4 zcwG*}H#+Ek3V6D~Cl9ceoAiSX_@7vZJc1v(-h_MLQm&PQBK%JR&Iee_LHHuTnjhi4 zak8Ijhs*feU{9#?bp>$G1HMejL-@~tH9x|St9ZC4H=Hlxs~vRL0iI;=Ne8UuApIv; z;=xdm@ETmov1wpLj-wa^{sMTcick14MYjfcU7p0x0X*8Eo1y3?0{@7bZ;@^|V4V-b zrz^Ta!0Y@Ie+2fDJhuVQ6NC={Hsf_*sfP0I0^XEkn}e=c(cJ=khQV(d;5q}o0&tZ9 z{|N99HUDJ#XFA}M72g=(rx@{e50G*_2iFbx9#-&m1FXg~47wSBCmQe+z(bAnCIB|` zbv|G-|05M&EU7hqs>W-|c_`Lu>@wizW2HR51^y`m-=OeSz?SW%CQ&t zn+*Iv6#hlvFEjAG#e?~K0QeyWewD(P0dMAK0bnyfKLUJ;5$}8z?@UKL+|eEt4>n$n ziAKC#F;b4Lz?eIDX((77{uJO_F{jY*1AyBw_Gs7!oQQs2 z!*>GCLcgowa=^{#H#NKvuw}qE0Zyi%O5SS$yA60M;6wwyl<^Jte8Ao4i*$Tst+88x zGXI!9^PC1@b36(zi|SmI{Ym(dj-m)Zc%Tl2pZp(Hey075@>8xV<)_TUpfik1Chdw3 z^IE28SPnFEAq~rDmh!XwZc%=g?R3S5$^0O{chk_^Tc{JnV$GQKH z;X+?6+5&zE8W+;w^A&!|YYjrU_78+d`yVxE<{19ThJU9){}Th>Vc<&){-X_=;fDVc zgWj|y20ARy4-A@Q15cZ9((%E3B|Dhj2AF_Vc}U=s$eay2tAKNp9m z35KvGhQ(+Jj(9APX2hfrYg^KMSeX$QYa3z);|Q)Y9(xz&h?5p008iH|UAQ>f4p&+j z=L(DDQkdZ`f^~7p5(t6y$=vdC9K*FB%q?;}UlR*AZz}uE-UTR@8 zx=fU9vX%{&$wivp$V#qQ?;R%$mldfDEh?d@a(EfLd_J@c=Mt8{E#m2C$C@!)ecCZ! z;&xx0Ji+aDUnIa$pM`cr zJ7&7>yX?U-T0j7qnp5%Ypz75m)4N*Wx~2)J5A6W`T_hUlMX*S!Y^ z2mbPS?JAabz}V68B)%4kZ^{0xLvyywpe0ZoK>#!MM62`)?- zm#oN%R#F?utTH$p+q08iW`UytW@eTG>+V5;zefE==_TEpXq@-NJ-m}+o z;8^~D*-t)*?-K0i=<57afA}0v{ug3hSof1&%?heb^2c_^EYj`k*#$mY_e>h}dy)MNxvjBDRiFxCyP((!;T^8_02AAa zPLNSU+ZfvIms=TvtAC7QHap1QAQ+68TIf;uxgjLH9|Y;;bgl+g-Ma!9_sY?tI6Kb2 zIWFa0v3(>$@4w?vjBf(03=W^Osq?HDxc!@$=Q01Rd%NoWfiE$Yoge!r!L~j=*&93P za98ZtZw)_O7oR-Uzd7E2#O-@ArCHwpVA$Ve(I~PdHs#$0|B7$>`7Xox@rTaY6gn#g zZvU4A|5m|YY<=B{U6?pp-}TfhuxUm*lgeWUZ9+P2!#CB%Pnzm)5$XJurarMUsfheC zf84T>jZ^rs9|+bWn~|^{cl>vJ+uxDC%wJ1X`h)GtZr4+<3d`5{OU?8z)%g_Z$Mv4R z&TkL%8|%vq99HFdIIw-?-a{xul$3G5ucy>94q7C?{N*Ju=gS>HEYpYpQcjY4nmUlHrQ1UGiXdXsRAN33@w z?)8ZEj__}a^|vGk?}(iuht_Z0fp3=Y>~iCpwXT8wm-}_~3%nM1Wz#q3Z2IJ^7`Xk# zE~+tY+)U%tuV{TRYRM?7$6PgtLc4eRqEY&JLa`FB_|H1+vy1Z#c%2mH?TjC&Dp z5*u?$p_JU1^EmmorW}O%{Lcb8Fh@d1!acBc#BZ^uW{~J-1g2JSOSZxk3e0j~5=s4I z!KJ3hx3%kHJGZ9gL(s&0HqBI!QZsLT@A;!5{(f&wgyaY7QDZ+gWS*gB7_xtnHIr2 zwingBNhi-}?4@K=#%@i#nhXWXcr_UhTF8Rpv_d0AJP_66>vz}N;2hT#%N8eM?j~}p z><_Nz=zy)M=x|(Yx}7*5p>Asx0> zgt1Y{Fg6Swwn~H%!^f@_%|-ECAi{{@W7krXb-b%Y7%_b8TA|-6-Z&9P3?I9es;A?f zBEpE_W7i6WRPhet=z~^)kztR+(ed69VZ`vUYlQ}>cugXV7(R9_D_F;SQiKu1$F3FC z-s}~(y450#lZBkl}ZDL zc2ih5a7%9-#tC$IVqwb+>Cw-&}qSE}g5P)4{ukf)qv{_KXZ%2x;RQNmxKs%(AoQ zx}KYND=!twY~R!sXU~`iJ--aOo&dX`Mou=ZZ!ar0{JXV{{F(g@bxFEG0s0@?exr~QS7D$rZ5YPOvwH~zh} z97V98!G9E6{5yPuu{+tWZom!|D|k&0s~V?LJaSJJ2<=&u5BU$r+Sz-S4yGCWz4fy} z1?;!>u*oQxVazQGrkAX$UD`@l-p6qY{?;$Av9tHxSvST14Q^Ds1=9)t)}rY7bo6|y z0vQec3Q@&;t3tg$c!3Six9Sjz4ki}DwoY3<5>894mz`E?E$R5QOe^hK&^oP{%~Cg^ z*4oQJ#2Jm|guaf%p-Y*ZY#x!m&G-&67Kg>?ZFY675QFjUCVnU~#rRP~j6P;pCu=bn)o#lA4lzE$u?n&@dYfHs zW9VAOx0~iV#P~hKWNGv*L%?i(*pJ(V=#`I(7DLZe` z%e)3!-GTgF#KY|Bt$5C^qTctf_wO4bM$37eSKZC_8mwy6Z4={S9T|!4ihS)_wkthr zC=y}B$S~2`)NCV5gb^dd*bsEQ2_lRb877*CiZ@h*5hKH>xjNprI1Hh+mKYf(^jXE* zBf^N0VN^98Z>tC+MurImRPmk`VZ_KV>V}SYmk1+9h6#;P@k&J)F*1x5s^iTSVZ_KV zQO#;LH4$O{twS)I8V8?PKr+`K#C(c#7WR?xpujtMGqg0*_Qf}_uRMg45CU8L&1s_Z zgdxz!Kp^1}sv8cyCE-&@yq(0Ycpd*c?qwZJ%-@J<*A`tO`6zveO8+hqU91U=#C$@e zUjba|ynOk(f4k=YA=W%vsFKoBENZ>Xzb`)JpuaM)KM&&*`I?}jd9ManW4(<64n>%2 z{fVyiS;eWZ_=dXHUmXK~3H(^zxw;?xrKzvT)Ia4(3d~(=bn0PytMK}PO7{gu;L1uG zuRz5F3B~s`aKSn+>dJ25Xo(&p5fct!CB`BSrlp}OdUld_xr*-#PdSgNKP;Z9=9G!g zF{4obqMp!@u0&)%EuW&w+rJNYrN*KD&cdyfxYYGDOnA5^!5%9Ou|si)*42-zRrr9@ zYkjTU_W}v=vvLEK-N=_c)$4lh>LS3C{<|_>t7#6d zK8aorZk^r(V}5%o=Di*E)C#KJJveUxMtgyFJ8OCHvEi6h1Ya73{|7h61P;4A+YfH; z=RKY0Lv{zNCS$!ECz1pX9o!u2^5nD!{*7x_Z80efWaC=!YDmU|SQ_etXNTRum!$xX zYH8q`5muM{d<$}|-^dr9z_UqJbe1PAhjDKOiq8wT6m?PrcM;AJ1S%iiTVWUu@6GVe zlee40|#yotyXu8M~bXUlX4{r^TuAP6riLZ9<-C1MVrUej!wJBN$(aE2XI3;H{_`VvX%Fbn|g)$FF3N*5ru z0A6N4et~G8?Ig$?qTUPS5*I{!pHnNge-*>G6M2S!LjFb|S8k;iiODiPJm(e{EXCI@ znr+ek24}nT^Psf9kymJv05C1;dZD1jlf3s!d@jd*c?%Z6!iRQ3xWY{sLV@2Xb+ex2 znC~kk$78s;M+3_!xMgq*jf=!rpkx0D10;7Atl=DCS=hATKxvTF1^KwuEmK}rIhVKA zWztwJqX3&n+;eEMg>Rbq6>f6Lhs~hCNM|H*;+|+UaRl&Wa;obu6s(M*Dd~ua-k1KU+(L9wVjGXvDD*MvLmBTpF+Sc zQB|MJg?rRQl<265s8Pzxf3QG7naz{Y*6yoxqo z)M6B^xX{s84*9dvr+a2ag_*!4ch;!ni{^oD%AAYL0Ea(9H`_DEGuO?1M`raFvBAU85zo4R^FEY((S@HZ?B_-HD(A%Skrofc4FFtO!B4W!#yDO;Zjgd(t zw6PB&rS{?Gol$^$BAwj>lEkL+(sExxeu?FFi@S)~7xmfw&Gw{cSU1d`IoD&+n>*`T z>CTubu|$aATwrEho1Q^MBQoq)_+0Fi$xYA5m@UakW=)+jGb`6KJAIDF%9@^;>$xU< z$}EpHbNV&c&h}W>r_ajvSd8JBGsl{FO;+|?>)PzObS_giy}V~q*g0PT8`6AUqltSL zppfN-yuz_?e2I0LGQqsUT0IPV1MvGF{9ylPJ&E7%@Ou`&X8d;G_YQs?_5>9v=?gelkgiAgF&~wwUrhfo;dfjZqzZ38@ z`8{3mTLzd1J8Jsdkv5_yTnGGknHNDfjqwaP4RERfe>nv9fQa`ZTukv2{xrmDY=fVC z`9ZDxXgbVT;|`U@Eus=B7PfO;_rb=`f7zQRrsk2pQ7ARaL0n~2g;3wOFrFL zm?NKm!eu>dRqoTuy-T^J%H^GAq?@SRVanx&48(U}(*WIV%Kg1^8Be66n33oKyGvG4agLp4zIeh|` z<@640d~`Wx0{3_P7|#or@veu+!0UES{3^h@{Sm%d z(P3Y86dkwUv0OjL-s^F2cfn;8wwpkh80G|5bhs%0gsNhTmk5Di-A~BpcHs`@@flK&d1us)@j)JdL@DK&>$NTKLpnnrC z<8M%KP{Fq=_*w<0DEI^gcf`v0+u$-jY*z%oIt4FQ@H_=yuHf?(JXpc+AkQp^S70;p zTUAci0QVQb+;7BkB>W_PNuc{VT*|#tx!iZj`o9_ONVxj$w2^?x_f+uF<^M0dFU0~s z8u*XkCm$aYV7=$UWxdRS%Xm|JPZTEMK>l~G-KgHy@ZQm6D}O#j)D6|4E8Z1Uu@SrE{}e; z`TK~+kK+%zS$QWJ#x>e0&|aV$bae`EA(PiDJp1jj;6s{Hgg>QdvcP1P^6x>|{~_;7 zz@sX%wr?Oph{Q$>4kBuUAfRjk7ZAa)G|ONRMHC%F2qY0CBr!>|ID;lOS(?j5aKT++ z%*>#lkHQ{_lDIeh5|P)TvXa zPA#`?-BYLfs`ymU_ELFM!E=;~FO_3U@bP2ZKCAHCLElmF2aD)^Z@kXtJH_(=!p~K_ z1mP_zJ{3HctN0!~la48#Q}Mj}t%|QkyiU=qK;1u3@qUPNR}TNguhxj~GvY5GRnrt2 z_2IEImz$$Qv6mC+Za$x@6>74J1|1vB$9#94~mj3Rgnnm(fsUfOcy(TZ4; z;-3@bprck5eVn^wEb{IrmPkjL6?OPk5lo7$D8>56uaI` z%qPsxIe8)0Je)TGlrZ2g180a}RiBxga+!i-?RpE4pY!}uJXFX-|FDFN{xUMA6>*Nx zzl@AnyI#u9X9Rz&vi_M>{;@L@d?)!BnfVT7{!D&9W*dA9|CoF z{?FFTqn!Uyt$BF=62)t)AkVj`sO<#q%1OYEI6t)L_7zolkPV;mktaz=Ad+N)Z2AX9 z)7L24n8ug12XKE^GMb^yoqxfH1*haXbnp7UD6clKUyw`t(Uijt=X$>Fqy!G^*fR`P zPiwd{0u#SS_ARRhv2=I-z)nH{s@l z{Xu!1$>N~0bAj<{BYv7@JNfc!tz^MXhB=ccmGD;nl1e9f>Ti( zR-CmOmx`8^U(z`KPeRWp#m}MVjP-Nqu~2SGZ`fwT);S`L>fqHHUxrdXdX-f$zLk!Z zCUYCYu`fzg0fo z#6baD7y?G;-~R>ro7_Um*Yba>d@boZzT#etztF&V-;%bNx15T>Sk0*6$meh*MB81S zy=cj2nDa^+)A7|4)+Zu;I?{b>M#M4I#E+Bs7GC@Si5J{V`g4GHD&U4Gru0*QwbOCR zqX~TjOlX@cm$t#cH!1fuiEqN^Dd3%o$)0i@VEIx0Bxe<(3yXL@UmBOM#gYeR5Z0aD zrS(Cq?SQNSzY9k)!F$9t!LP#jmYw!g^{=Yqk{akBoe@4IVu{_!%Z{r{q2l)0t$tphH>XoxNeO z>O4=5QQM4WT5J&LQSW~WW)FFobs{sk)eT1EC6s*1SdGi5RJ6nKM#B!+I6D>EAAR2M zvlk@OHloRLPt4t7xmVWcTk<;Crc~owdLZIk6VIV3X5J=ez5d_NAMn{<*(o7h2V<7x zK}R?Q%SPj==vg|swZqjscKL8@0g0}_{RXGJ0S_XxJ=gFGxW+s4oi+bK3VK|0zHFww z!XTFIwa+POiH0yafm>Z<`Bpu#pEIu zQ1O^ztVk9M4W*#js7+1>T}W|ITKC@PmN0|Vmm$p_H6c_N2OfA%Gf$+m%W@`(P6zB; zGwNEw5Mso+=~J10P}+uYozzHpFJNIyvI-GHUZh!#LT9ihyBJ!6c}hA2g=HBJpNB42 zLSyD9X=Em{uQeBHW`9C^(H7euAt^5K=D<8W49#`Dy(||kQTA8gLbg(E;5$+{3%H*=b~(Xa;$aQO%%!_P4rm)%)0cl^+Ro4$f@$%0xGh5v1@n{_zfX#LGyLEv)&N(MI28vy!v8?iSzI}C-*$8b6z?AoQNI8ZGXbXo-@?5p zEA$$^mEoXXu`&uq2NTO(Y-n4J_woGzStEcV&myZ+!7neW?m|V&Whv%LS-dogtdggE zGrW&)hOn=?(5c{-Q~k5Z&Kn!7(5CA#X$S}JPQ}Y$U%w1V9&t{>6NY@gvdPHeR9xgy z!BLpbDn_V|yNox4lZ}Ic9#dhVtJjcQ%$H}WdPtI9s7Jk+8l@Sv)>sn}`9N;GkK`)< z|L2G|p^wONTJQ?R#iOyTNVyB&LwJsaBU8|?hLivkoQJExb@%OoR5VGu;C11DryTaI z|D;<8jQxV$vy@1W7Qb@QFq;=Er<~ zfm1=-L|lkn(cbM>kjRRxgh{TNXs#3nf*}7+zCTAua1)QiuUp9WF1{kPj$a3@;$fk6 zbZuu9j|r_?EF#z7vAvEHwG|B7rF+r6)I?M|81aUyHO^V~E5dzTxHIANT(~FU(_FYe zU}3Y%X|42SLQsO9gFb@=tr8z5w0b=&+}@*_QTi_3in_qKN?sh`myVrq zMZ!a|Q;AipOl2k!Iz?>e9HKz<>ROv58hzK0U&xT{CfP@3gTKuYm`eyjlL~ zGqPceX$kC5f$rz0qbwMGn#hz`q?^A0w-4a*fJ6&LjJ-}2s+v%`xu-!QJWtJ>o~_#1 zy{mvp!X(gQY~qMo;QDbF4P7eWVmQUW_L@**Cqc9TmvvITU-aguT`oQ z+2Hy&8Q%~(;QRO(*gNH7j~&02gMk|gc!mLY1P-5|lM;dNr|`c$6aJ&%bNbKn`@>4Y z-vQ<~1@a-hA8?hC4m+usbQ}b(ddx`Q=}F%T_+BG@vnPE$;59}%z9Gl({|#iI+~a^B zpy6QQ`V^Pk1AZQ!eRKfPP&!|SoCjd{r?N!JRFr+&GAJIOgU-J7LFux^f{@Z{9 znDhtWb^DQy=R1j?3p~GHY5D@dy4^{48~)fIZU&y;-8CKTtz!6%03GES0Q^Bi?yi7! z`;#AiR+ElCs~<;%{9eZk>zlw+uk=mL5WcBJ_=pM@sqhXJ-loEvRrqTaUZKK^RQM%$ zqsf!*L&$PN@C6-E<(`Ix%v`{<5u_Z1uLm8fnFOEGqWr-syjX?jsPI%3(yoj0!k&xY zwUV~MuInm;U!6){tHLUTk;4fyZDiyo4bwzqNRS%RhICWVK6R+KOC z_bGe`cr7RKwA&(|Yd!R|-y*&b@Vr@)^&)*Iz*-K%hw(@KzOBN1gv^%#-^yA~+pzYy zN#Td7koH`pJ6(ma=MwN2tzG$;Z?D2{QQ`9{d{~8H&};pXe!jxb1YYZp_?rQ1xe0%X zH3rLvT~yTzYTWd}lKx%59~kf-TUb^6Zp->J9o->1exV}aLy6|E0sPS(NPOdlLKx?G zzL$8w9Gi<34aaX5;==9+o$HW_lX)s=iLZu?+#h1R1Ull7Wt_i!Mbi&7?*k^j9mZ~n z!cPUB_9(=!#yFr~RFN0>Et(#E=u#EuxAkr+-Vb4#qUYjq1z>>UcY_fpPUHI`qT@+M zywspsZNzzXo~HlOz)KSduHFh@d7hCsXZExr7|!VRmw39mAnA%>8>5rus?WkzM>sWt z|J4;xlBsK(qRGXoBm--U!tC3FGjUh|$1-Tbf>Q%n-yn+Xh_W&=b8*ej4BTRrOB^jW zOe+*&QIhM5pw@FPqNre|3z!Z+ar4hK;j+^eXJ$c$Sm>b!`FSuZaXs2;8nyg7v2RXI z2szwh=j6=Kz*@^i6lQr4ScAk;z^|!91dDQU15?*Y=^QwAD%d=M8G!zNG)< z{pn^CKd=8h_$@4$iN#a4;XSXZ|2%X<>!;Y6l#H~5ok%Bymo5;=8x+d`Lp1vPF%KMs5`0E8enAV#7@ZK095?huDIkm%X$%d=W$?Qh(*f~5{G{IR)bAs@) z%_!Je+CjwWz0+B`O2iL{cqLeemsN{+0%qYHU*4O}(g@Zih`p8Ln^p&U&?r1|BKB9{ zx8v`~tJ)oBGvLhlM>CE^*L9+`}b9mX6jF*hL5b;vlZ+gzK@?2{4I|1|)vk$+3 z8@qP-?=U8?mF%k(F$?#dujPOE%HoVF7TdV;%q!a_@(}iI?MFW!4vAZq*6{hh> z*4Hi&`PO$j_cyTR-VS@EVsjaLrDxbJ)ebJ3rg1{D`-K4V+@KAEAV|s0kDg4R$;17e5^aHmzXRW8ckt9_=w5aFKQKsbyPG z#Z)b7P2VScGJI1LKx)W71E3pY?8}*N4HR0G7F?U*BO2giH^RlXamxw)+F0kw7I?bvG52c46?YaLfg;oXsry$~!|f$HGnj2(PQ z)sm^GrH5r}ak5t*$K`}A?xwZVSIz4cEzb#^iy6_>^kH~ubJBLLV}{7n7el@5@-zzwC{oXfDx#Qt?4V}qxw;3j2PWjVrs^~5$NUaI% zI-@4A+uGRBrZWA*@R7;@oF+b0nT^Y;|856Yql=4e!rdf^1QJ zr@tikI}=DCdKL794;b8RgjTt8&e0*XJg=wZ-&DWLQ3Ul%(#Tj803*6xJj1?VSMga+ zXpdVH5Ll60=_W3Hl^v*Blp0?d*cEL#Pfxjul9OlnXyg!P|L}1sIQByAsNhn(rX59Y zn5sJP5hCkwvTpJ&KF_lnq>kK;0_|XxJt~2|2Jc~G!jmMw?XahyW|-9?k0S@_X}9u~ zT?|1mX2aWL!`ov?D?c2B&c;)oxpc?LLAJx9q;8W+xzZ0fKJ$Z9LT!?S=tNLbJJr;>X(2HUv_7%{LbQq!=fe|-we4bi{Ynnxo`yR(8T zFxs(M&st;RZ5y>XCOcs~iZmAz{KM=#f6?Y;oDIo!T~3H#H{1pH&849f9Ek_Zn?gI^|c1Us4ZmP!E=` z@(%O~MIt5v(9KYEZ<1i)10aZ2%%dRMnP8wgc1u2_P^J}rH!>3o3p;%Up5a1Gy6-WS zI%=sWkSn{|3&aG%*{ezStMJaz*P$#9J~7vwf-=zkc5mDR&$ekFw%I7YsaEWc)q4F6 z92~*NqT)NDNuFo%5Ag8jgqC`+pVNDsdO|;>XLtF8zF+k*A;t#ge(jv-6Z&W*w;L+| zqIg2L67`Sv5%pNcXC0sHu+_*`KL%TK z0>fUg7_I+IR~EQb^>VNHsskwgoKGUJBERs3jH=y$gvcr&d~2@m&=@*8)VJ^+(D>Gj z>~K7E1W+j;+CWvoyDDZUe8O5`Ds(ooLJOaFMun(_vR+uoH6#PIL!rV8sxTJ&zG7d8Bs@ya{^;L3PEB9Shf69j z(DOj*xi}Fz9!MPr7o!N@Lb_Fgf|J>I)?P9g06gJ1>2gB(3Ij}_`^sJ zX1ba{9haQ=%A`6Zrw!2)2a;RbOHSn^5kZ&i!6`be$|<>qn835TM(7NWf+s37GFn%$ z_Fy+DMT#vnkSt`w5>dP~G%wpk%7$Fy5bDk)DlIxz@T%C3FP_kTQ8XOyLhzCWbr#$V z9dstuMJh3Quy!zXIcQI+ip&Fyn%>TrCei7JuzRIHgc*#j!_KlB^};927~C6da{16k z0aoOB7;wleFcP31jI;-shVCdh!fiSFRsD19qV5yp)!4Z!G7VX3EBFq_UwwbRG@va@ zZU*c6)A?!;I_AmJ7g^*3uEfYm7t@hsByoPw?{jS<jn%CRBoo&@m!*m5^c7Ww6|9dac*6?5^%h*&!( z@PQg#*d~Y>`Gh0?g0+bA;7k^Q_P;>rt0GtGODSt1=)fNO8iNC{qC<>~)fE>Mk^cgx zsIHy>(2TCuL07@8!Hen#qa6^l%Z-Ybdn)1*uk@)4Y7x zfUzQ{n(`foMaIeGdz3Z)G5KBv6KA;tky!Y}O2lO`B1ZQgNRpuCn;5IVM9Mb{+@kuM za#HyQ#p>-bl-SVTPTOji8tN?dsxuKh(Oc{mcrxN9g3VWpM`Gj<9kqFVv`>LYEZ>F_ zj;d9#Q_4nj@%8o35Y$=T=3-gnK^Wm|l#c*o5Qc;MMURm_PFdd$9aVdvz6UrfslpC#Y9))Q7L=*jGe-QQkwjaur1ETyK%vPvx5Z;MR^m?pbSqK)j;BQ4bf+u8h zmPeGlVZW5OLCULzb^G@W?xb;Depcjd7?4Ee-2mVO@}^PVQbVxP<0y~qvp*K? zmG?Gbp&|{@-T6-1J$vTsr&-m5k+pbm8T0ki9hCSJI9;7%ia6Dnudi3{p~E`-d;0~$ z5@KIH4o0SP)|XpyWn1QVuXj*+J2VY*mY&CZ;r+{0^z-mBN5jujVeeU8e3dfAbru}p zN|UKz9~C#SPLq1 z;o{rz#wI)7iL8a4^aJ9B8G`o$u z#knm}q#veJ($6v<0HLn3_;${M52TQ7n|%O$M?Z6X0||d0nZf7bu5e&8Ms>+B<`2{v z{cG%5z=-wiy^z5XUi+|=-HyJ1r7Yd~aezmD500TDErN-Q0$brBx-$Ok5k%WSM~93r zbgboF?lbiFp=0sBvWes>HgQpI_>djgY_Fb!`a2~%u`r=njSc5$d5~)M!QS9r6L{ZJ z%lP0PyOopnKKHBaw7Qs=^>$^|^Ztfc$oIKq-dfLHEd3gc4SXvy9h3AM>}MG4OTGdI z%C?lUnf-3HMYpXx=2g}-=Jk0hS_PG?NSP=q%6G> zt9ed59`wzgj(HF_?}!@Ps43r@f{EcHq0P6*=fe)9MxPI*`*ZO~P+j!JCox1t=XA;r zU{NC1843KHgNm>oR^$QXE?tmp0TM;{DjvZb2%avB#KWcQ=`eN|o2ntA)7m+qyYM%`Fm$(e+lvM1DlzemYi}}-pTU7c4A-N%Ks1e z{(=)eox&gVtR4I^3-$$$hF_PztTFs= z`(<+XE!mE|>UkV!hl82HF?I+HqQ<- zXTvDPuY|hSRL^NX0@)m&#ReY|;ZROLc5J}`O`VJM5u-x2@q7lJHN(u9x-8g0(!2i8)3L^)j}i z;`TUuj(XFK3a>d&F*u*$;jF%cD4tRq_`oK#@UqYX9#EQ5dxOyytYhrQMeXGlU30ZB z6Jl`$>QjC~m+yS$R<)FTPRya1r>%Vgu5-cFd0EUI2kqCX96W`(X!b$?`*op5d?*xK zh%bLlBKZX7Y$>&XIo*C;j7l6KtZaa`%@S=n0MR$JRvP!}+8m6$h&Mgonlkbg6VacU z8$Jg(%JeiQ5B=Gq`$02pUJvUl?Y!$g`S-9!p>3gSa75i>>ysrTE1RjC;D8xy*lN4 z{gR4%JsF^Q72{t_{$i*9_4W9cTod@bRZZZF7Iu1v@UHhFxS*~6?8-C|o?e+&PqNe&SuqDz{_GtGVDe`o$NYqCcj6zAlks zK7!Xqd&3TphhMMbmu!A{4ZmECXn33Yoc;1vK*)hg>u-}t{z;9GSx4yC` zAb9xk%|NDXf&O^u)gOUMX>`hkfMu+C^xP+(8U^!O20O$ZkBWw2X*^~j>iii+~`5af=`5ZOUZDgq5LUyAslHa7d8z>PrnQqMMtq)bKQ~@t}ETl z9xD572c+utqF!I;s>KU#x_R+4aJ5gv0errqH2fVh2`BBog?D4l3kO#@!Oxx0O?>yKuc+UOTFBkv=r%D1#wZAhCJW+YZi!m6Qsx04@EjYgK2quvgC9-@R&yZ@R5-E zCMU2{D(4}c@)=UZlfV{2?ZmSsEy1^BF`=+jZ*u)Up}2&SN~$@&{%#aB&U;#IYH}8^>V8qX`~vKP$l1y%pUl@{L-LKt zskyw2xIU-O3paHyWq*GdX(8Sep!VNm<*6Ax)v6tROLoTa;kBcs<=JRqc}A5_K~|^y zJ}SOqGal1U`E;m0Tp=vD%6Eu3Ex0f<3L0UVRz86Jt3p_&mGfmfTp_H>%8T%F9In{P z$9?%-tV{*BE?|jPeh(moOMWZDX?4VfByPDaaoSSt!PO#v1+d`?Zq3`}`65nBHM_h> z#D%3=`CJj-2fR}riYGlc^dYN=?-cP(B90dr;17v7Pg*+VFSa5*k009Qw+cSO;;np^ zh|}UtwNcad7WQiL`vCS&uzAv=6S#2mB-U7n3jWUrVsTNq2lFGo3xv~mI-x(gk70BL zE3z9jcBns?xQA^+7ht)_?Frc*#M=0I&^dMxGjTX=v-qGInbI01zjzt52G?UN;tla0 zxd1cCX0cR|-xyG~+yQ_@(WNE~1Jbvv<$P>8V_6P9gwp~l@&ok5Jr2{Hg9%uA#MTxH z_(YSvEelfSAac#1EQ5ABC8>DPFzdDZeOVq}jjhOHmItMZ5d$i8b!36(V3CDW)-xa% z^CowTm7xL?an%BpyG&8);r}~O%THEulC~zb6D*i^T_<0&9I0qS%j1wizRd}1r60H@ zuwcEm4y%rRE0X9K9BbPbbFW&1P7W2cSEI<$En$&Zzf^cud<`;dz5OEdq zOJj)Lkz1Hun6AZ0LF+v3E1K_xe0vFQoi{m_xmUPxrf|nGVj8;384(pJ@F@3u(Bhpm zLK*NCL+t6eJN|Ja}sk*Zdhdz%R5Ui7HGpHQrhOcGq(Q8p#+6aj$?CZZ`suN4- zMBe_RJ`L>x)>uD_=NC7op@aK3u(i}v5Id0nLH9vT+PewtG)UNo1Y^c-(jR)k`wdAm z?21b6FXQGK{I{pJf{qsXtF2fZjnQGe#N8i_t%%0dkwWBH6~(Dzh`_Cm;+~Dh)<$D5 zMPt>`*!pO!E*je$jct#{wnk&SqOqOP*q&(Y<7g}rjqQuZ_N$olB9@)Ab@82!)&uTbTg)ITVw+pYd#B-qpne7hF zE0iA7TjWt>@U2-m&<2b$gZPrY7d-J6SMe}b0O*0-^_E)%6+9WpKB@cT6l6}RE_s8@ ztl}2zlfA?{U39&x=aXLH_c42jE;O0Rte7>k0i&-d~7I7-aiO7DZ@&*yv=TuG< zkv+H;3D=nF{*8N0uf$hMY)cLl&n)o`C@RmkckygH)*6aC)-re_hI7MkPkW#V%nCe? z46*DQ+A&A8|I15>q6N$b{pj$q&_7xaI_@jW$D|kfymjb!Ypl~@C|e?AH}o@<^0+D) zDg5S%_0N^KrBuD*h8nSx7RE;y{CA)RzB=qsUq0dk9|MEuvJ>(r5Tr>`RFHk!Fkvp( zCug0bkq3^W9xo1HHhxpVWv1HpyiV=hx_cVpQ-(y##~U6$SdYkMhFjRUI-D zT$hUfkQoR3nb}VNIC#EZV+>f=E-9@qu)}Wuko3PQQh0nK#YWbNcb9w*YQ6r1m67t%D}3( zH4>uV;Lg+Ego~4DI97HCxZ?REKg=|oj;3BD%xbzGuN2`bn9FVtp6QgFB8M-#3|C4G zr#mI@cog`=R`Np6Q?>@u-$bMWXs;hnHUIyna?-bYKJz;vy6{(>1VvbpG~^WTh4s$@ zv_mD_=D_{Lsw3Zyu4eYB^FZ#TeJh$NBJPlXZ6R{lt>wNQl8hZYRzmLB$r;qUIO7R| zXh}=(JTpsr>1~#DNS1W#G3pnl6Km2A4cf>XkMVU&`Ihs{7kd8cg!$`TJz(z?i-`lM z6=y~p`rmrrvMG z{L>3}C5!6Ngv4HQ7bo_#J$4&R(pXB}zcIX{6rUs-@4~0KHAj78kH|0L$6EU;_Ji%K z8}Og+solQNKM=v7Qd`LBp6A0*ls-=A9L{$?gT+Qid%?$!d^f>bN*Lw))(kth&Gv?l z|Nd+9X`Q!M4m-DP30INje*u40)AAM2v)RIb-GUZQS4+s<5#Awhm%k`7$j`cBL2nw= zW6>!0Fw*wS!==es+cl>8Q>yJY+|M{e&)axzHtgqrUqtdz#H1p+y(pfM?Z@#m{{(TO zv3rq!;)JpAvjNZ4IhoUy{|@PdV>ZaG6J%0nI8Tz1Q?nJvgKnZAD;mRggmpop1-~Z4 zii@*n7ZeMr^1%v+T5-sd(#bq1y>b`IMylrV2l!OIq0oI`%a0H^@4kj zT=?_2)jthatC3{b#1Ui1irhb1oFH{ebLD`S73rHr`|RlBpQtY0g1>p~mjgFsDe;Ok zb8*?1(jwewG|i977iRnC=Lh{oaP@wbCEb5qbWx&p(M7o4tjJZ@6>!4A`nbaBQs|q+ zRYGRb^qDh7W6s8{bcrSddEFR2cjTk>3(*BK^ZX+wYO#uf1qG-En1RA9CaQod1mB{9 zY|s>C=fW)w?<`ZbI$?IYESaW{&f?H=UKUP4=fRCkqSeMy*Uedezm;fRmpQlh+?jBB zf8DSfyQO4V=#uTcARy@o3A&%6t zAKXnhvxpx2voHckFj9c*69wX?L4&l9zsGnsQncm#EO~Aw`r6PTb1vE5D@ql4g@+vf%wiPj=EHCha}EX(=h))xdBvg+7&KSl zvP4X@d6~I-&Tv)Wjt_d|;n2=0%%AO-!&(mM*a5{>!AvJE)x>R&MV2ee$;yEur}yX? zQ-&HaiPmiNjs97E{M}Oe6^X9KXM-3^dBNG!pfk4x{UhmG2@_bM(b?2gz}ey|+0CxU z^c__hyR0V%dXB#sG?}+%&dg&AqVtT;FPsex^%yf`K%W6O^zvUlWc2uvJuN>)STHTZq}v!=K7mbh!93hhmjPVgODAB5HOAH6hZJ0KL+5XJD`ExVpi{~s$)U$;(w`rY6jryrI z5MqqXpPOe0^4nkPB<$xqBa68b)gJ?)F?p@y6~y+R=jZK?DlY1#{AF?Y&{>vTJYW*N z#6JyJTFQwc(UPvz@C@K&gU-v|scS0on4Z1pUJDa%#x)agL8N2^Nhwho>zdW{vMcL+36VI?9R7H1mS>o=`A}=-8c{9cG zNtXiB!pymH385k$c@*{p@(e%;Y7ODZr&kue*OCSXN|c748+rFNVh>n zxaV$qk(C*o$G;T**WXl)e5z@NswP+iq7uUdeX)9UN-`EYgbEI(S^l1qHkZX3iFiI%J8RYWa!)uP>a( zuQ4y0_KUltrFT1At2Bpi5n1T^Kj{@i+#S^9RfB5)u9&-J`G<%l4HqCW2)^I^(w}pg zybtuM%dDzo?5*LqG7|@x1_6)Ff>SO+*av=}IwC!8kehxQ;C2T62IL{#bC+6G8%DTv zw*saI5Bvn*R7KYh_z#Cj{Jl6#bUxsR4fssZjRHR&x}_X@Kre8_#^!%2+4mN(slir{sv&ppYUH4 z-IKs4Ug`1;0^be!r>OMtNPkY1ySJZZ4F>$V0spJNtmjt^tG&e6h1?ReN=d?uT^!SLH8|SGhaR6^NjR8 zfIAuR9|^1ex)gTfPoON8zXbT}bbA5+JHVPR>52j0Zlurj@W})p_RE_*_-g@2`v>^+ zQ|0-AFEscid-6Tg$JH~-e-yAOH;!Dzz!e@Cr^aH^i##xnzs00yc;HDMc$^0w=7BHw zz`Z^21s?cp5A5^6r+DCFy<_D)=z+iRz<>9^J3R0f5B!D)e%S;6mj_ z5R(1_r0a3V^g6)0-x00=tj8VUoAJl|m#Oe96&|}t%DE3A)Blc;{NK6Asv57x(I?$8 zZdLm8Dt#r=wY*H9s?x7l=_8S@vK-a7Vyw z2+jXAz(`gFJ~?|5gpP5^v{%1`(~5Rq>M@DB`g=}Hy;cHsLN`Evk=4EQ&Ij~MwT z0G?sM0l=FK_+s!Kit@hgD#r)S*CBpV8NyKrixJ{+l+;n-d6_ZsUtJ)>a)bfEMJh~J z;jdNL7vZmw-d=_O=_2{BQQ-q!tg1Rg{>6aT8*m8lUkvyTz;_z(?SSVS@C?8~1I_?k zXuvlBE->IUz&Qpy5^y&I9t`*^Ltp&?ryFojz&9H3>0K-f%gm&B;Pt%9cHM_Rs5+?z zA=`INXRISszF{!@d=BtFbTs@{5`GwTahPWvMc*6gdR}7s4}O`xA0hdD?2k=WZoqdiftn*m4L3-EZr(e?p69I&Z}KLE$} zdH8IjeSo_ae^&uN68LC)0M`?LY>!hBQr=@7Fpq!`zm-qG^5h%9nm^%vfc5(s;a#5e zcVJmXeQrcZe$OLa_g~Ua2dwKuI9<_?SM)=XuItD2z8?N(EBbeFyp;U^{400eO!_|o zHu>KUy3wG!8R1BT0}xWa&Y=6$sAsamCm_UBm$dgRtLjZ7{ZD|k-dIi{{#gDr;Fl`8 zPug47Wx$UE{#OXu&d&o!x|Qv%s+$$vbIF#K2Rzfqsr11}*Lr1oU%*=LgwF;Y<=%@p z>$3wP;ms<1JsIpstZ!hqJf$whM+W^mg{_Po3p3ly3<=Nna|7XBj9>Q+}zFFlb{Dvp}3Gksj z%MenYVuY0ECeU4Dff)dKmz`)(gw&?kVT^>9U-I2wBcfge+&x=~mTX zgWq!s{}e*F5`i{qP-xeGtBW8rHd3SmL)bt_AMo2K*bPPr{EVx<$aRGw9}!ZlIg* zRz-Is@Nq`|aSA^e`06WN`tE>rJz37FprfARRrp<;`Xzt|8E|LtVfkmNFbN^c`Mj;$zsP5OTPepg2>G15 z2O;H{j*$7U1^wVbZav2UUSrgIh@!g$_!kX)AK?3d&w0QPHT0UO@ZX<`do&C@Pk)fU z4)}km_N9DJ15Y`YtMDF0cRfPtZv;Z>^9+^F%L2*gABhtG--%Y$7{?O>Zue6bJK7){a9znWZCy+l4R9TPFz{eYWc%K64lU4fu z1WEU<3SU4t4(U%Qcm_h!PfoC^CK=`TQt9Wa^bcE0y0=P?o-z3RS>YcCeu;rkSNJsG^}Y@D)*twhkmo|+^}Y@9X9CaiTB&@8 zanFP)&+l8x^!pI9KG!1s5~IA4fG;-SL5dFda8=!9jH6b7uQKS4wuqfqUIJ{6r{^FW z<@!DFdOwKrK88Qa5eD8IPj>(|$5XMQ%L2ZO(ci}de$$YvHDLYRBLC_*R}LBj-e$mk z0B7N^JIepwa`!*b<*ly)@98G{72(eSAL#7D?*s04z6-xa_-q&609fxwG5-sI^?nrL zKLS?A7giE}1n_pOVeu3262L34meg=D-~*6V!?yumjc2HaZ(;grE_@x}c39Kt^ihD9 z8uS^nKn$l{*0qa1-MwgWo-B5c&YuK+ZM@eV{KuUDhc4GT;vbM?8P`gGNOyjL~Skrx8CF zc{NSBfxjO4HU5whzu$;s`5C3*vO?3>Lk~K>%ZP6?Xa*YiR6~Xr3>oe;@NXOVdkp+t z2A|mm{uU#?+lZGNG8{GX?lox8lu`Nd$c@Gq8}Z*8@o5Gh)?3$|Q;CjmGUUG+NR6jQ zL>>Ryh>tMh4F;b(4L;|h-|D=)f2I&O*;yI6dH87W-dr;?uOJAp8EXKL!Va-W(FzlT z3>w1V{+pc4V6MW`+Q5T$jY^nEYqyNN{Oox%kwgAJJ9{?1)VngkE*Tf(@Mf5tnYf%M zKQ}7_AMJs1Il;aFrXTZ)5zc0Ux?HjOn|6vJwYpLVoSj+d#eo*0q2?Y2Fk)zmoH6s( z83n=IqHIr6enB?!L*!hBu5`)@!$hIHC^joNyC4JYg3DWw8CKXC(`U@epoxS^sh(}FqTN+YmD$0W$NM3P{grjXNZ?XgvSor4U zphVU9()K)e<{h}vD7Kih^xP9(qU07v^E7?6 zl5we0)P7o7)VVTy?^$wLoj66>_?jZ4=}e)jx~%d8CVT~tOlXod@>TkC?9z5_19 ztyB7!a>>9;F1xhfz{>_Te@|7)rTtU-3*x5tRN+8HVNUM+|B-vDuI^%qd#Z*b#B0>g zzNd=c0{nP};BjYVb+xPu5eHC$|HTh?Ou>}9ScB*~*9RtZF`$0TKNInuevN4w{@6WL zh2XIs&&+#0JSd9({n$NK_;zJ+P0OE|FZw(L{>SdA>H{9hpc@Z8n7>vAz$C77y!TYC z!rF{$<_Okd!b^pxl4ZOp zGrUxIDp@uUyItX>^zz{>i(qFpyp&!(oMo%fB;ln$$h_?t|4zi`bzuC6h!4aUr0~+V zf<6K24lflRQo{2XucU{R8sTRWS6#X14pXXeIg~#43;q6FSe$c{ep;v4=?V6RrG6eQ z#35U!ynzMFK|)F3@RP zoytxkQfF5_1U#II;F<#r6?i|$S&DKbd%Vv9|{r28C$_A z2VizSz{w=5YmQ7i2QhQw%yz$2gH-+9*&3%bKO+MN@VY6IIZ z$h)RyedBtJ!MH?jng-?s+m>u(C4 z1!qql!3QWQ-ceH6>D5hpl)hoioyUGcqwU5yW;tKn&2 zyCZRuI6MqTs9&OojbFrakYXvBwHy`?e(VC_Lr!QQ=XIm4l0b`VyCA-OCzI&VBj|B% z1Q&vyTp#?Klb4;g-YykSj6j`JDxVme!*x!{pT)yttMKc`f-yOnWj>7DuD(2;i8xi) z>BoR@Pp2OP(~xc9M^t>UMdcz$Gsk8FcMRulN-`pWcAS;!}1{K!J&oFS$X zb7pqO{0Ync{IF>9?eJ*gEBhQ%kDb2W4z0ip78+<3cNZdKP<$F46ruM$VpV|ywLArz zGlodA>|Y|%L{}tx!P?@ULI%g4D*3C^{NjF2qq)zc6zp2k=YW1z!@=H!*y;RTjGBh7 zf~P%cy|bu})zOp0-DC^LD&?&_WA2TAX>WQ9*4jRvK2M1H^?nLz(yzDo-cK(q);rR# z{uFz|v%lhF;x#@{Tc#&COX&ASD6q-nLAaxd8RKd&uObU}drV;Q%x-9;EyY?BI7DAH zz3g&H>MXfimZB!bfu2ks;6|O$3H>a1>*Iyj;^Eo|r1s+%TVHwsGVA+$E=Aqvp3z}W zSYNss()CSdcB8(XAbJY?M5G-G9Zf1uvCAc~v!qIvqiQ_HlkK0l0!qlOt8J`j4f(}A z0(ed|y_>ZP44Pc$I*#{+<3G3?vLF2cMgEW6+ZrR!Yq@0GdV}ackj#eB%?Spe)Teho z>SBjxkcI3&q0RV?VCr+LxF$;XA4TfenX(i$43Bs+J%~(L`ruXyTqE0x-9f9Be$a&c zy~JBs27LA7S?N?fuQ<@v#!bjwR_$B36!VZ%@rsdhl}ed}UgA`2FjBgyl&dfYIu*JS za6PZB4sU-iQntmnunN-G1il;- zes5zv{46&xgrDX8aH?#-@+|YVD%~U(*k2kWgOeHEs^BHyYXdC@jGPH7_>QMqvLaqp zNIzd%@aC#Dfv-8oFWii5wjy`#`5Q>@?d^Nmp|s-uND(J(!! zFhSf^$HD3`r_+nK3P^ApjHa|lh(i4t3dH;mA$wA>z$G38p{)y^HK_=Zs&OINVKq(F! zdb`uB`C4((2HJ`1ofZY^?et_^a{#~O!SffTMJf|zkB+MpeLVamJ3V@L33@|iipa1r@p{J!>1WuIir5T z^n9bAw+q_YPp*KtPWdo=8RbkzM^2xAC0zGh@05==u-hees8c@Gz^(%}dZCZ6Yz$Od z6R6K!6o7a1FEN?P3a_Q6>-kj@uh{j&E#HRLVfX}EfXr~BE?yV|zOpSK!gwqDs3y=5 zw+K^4+E>1XuLFs9_A%j&8|&LurX8rvK3Ey}*4}U>-zQo}OK{T60jUQ8mV_r7kmUo( zK+f~!_n#(fuV;sS`^^EVNS!6wthgSK<#nD+e?g|T+-0j@Eo5$JQGbaVIBE(xxzKtR z`K3blZC>cxPb&2H4N7RGQNGwFIDvZ67dmxqyjHAMP2I}wsuo)(Q{t0gEfyc&sKtjQ zc9z_6Qi*0zBJ(L3+ka#H9Jh1I@5VNq?zp{?HQE`A15SCRk=RZorc{@0DZbb)pO1Y( zw7$L$xV%PD>K^c!dm&W2DH-1NoAfh^{W)BuoB)TC(s{T&FCMQ6XnXjXbjss&+3;R_ zKe)je*7;6(YXf^Hu&-hZkI&t*-54V96>JAP_}0LeV)k0<**EeCT!Z=^*cd*rBNAG$ z&+;vNLi8;>FXeb>sLU3RO1MK?`vZ8(8{8j0@dFdRtN90JH*v??5%Q3uqV#&K!l_!V zlWn+TD*DXa2s!LYTkX4L4rfs}?C^FV?TJ*KrM$2HoS5g1AHB^j$U9@Ng~eBk*ky{%79; zUFGPOgAV!1_pzlHe2m+Ss^j6LwKTAYTIb$eC0in#w%x9za^PClDG|DagW0sr=6u`} z_fWO7Q|HAU81#1dE#L4RxZ5Hj`~j6tXRYyF3tLpa9k~Hz+LKTa`c>t$xXPPbKxlix zcCnq3fGoI|d=FlQ)L?CX#xvh`tIbwDf~%g?;v;w=97o30*y+0l9SU#sRir~74J}be z_yXj7{SHXO2OCnSTRlp3znZePU)Xp`rW_S=iAfHcxX))K7-KwjaYC;sEc8eTFGj)!J)|aZNTu(=kg@}v;;-G`s*WNN-~w9M9=n$>R&$3l;truHU{4E%?~NV@waahB4vo;<}IhmBFtnCw*;W z;IDlawi_{nuEBV;8_yxL*Ry1~or&(f$1Yt(9%|6Vs|x8scN3&R^L!%~s&dfnvG0~S zoJD^FwHkB>hE)a+!p~vzQXMd)G6r4qedWic+JwuXRHrG%pfe=eOZlUNZlI?&Hu8bI z5u5*kor4b8Y1O{+KR_F$fn8$otfM-^=-TU8!|;Nw&b>k*xLFdL=S#!EJv|Q$s^d`E z9-j1ZWiWyPQdfzUS#UdF1>~~oO0mDFbuR`O21wj4`!qX9H_Qp58{yI)vHOUD!L4tx zbEQ46Ln15kDQ@K{Z3{wTJ6yY*Wt`S8`sy)=0 zB1d8!VitKOisTTfu}95Yl(1+*i^?%A5Up&tmMlV>+Y0};d>@T@zS4g;TF{E@fLq1r zeFn+3w57u4KL0~z@qo0;&vvU^zQa@geaH`9tVyH-arb+f_g;gUNDXav?==vbJ@NO+ zU8tD+mbg~N)c47{D1McU#e7SY-zOtT(cdT6aviI_Pp-m(TJqcltowcPp(wsi;$wK$ zVe)sDtp$z#K3ON?^7~{ZUQhJ*$qsmP)88j|iMaeeIR?8^`uk+U5ys{B$x0FbPVnD_ z4;=dY2droF<5KdL#>Tg;;EI9`ICB?9Ug7NwEVg%nqDg6fZVmK%z#Y&qwt1y37egU%g zf&0BEBa2_sCMMl#wHRgHYQ+UCepMDlxG_j&jmXc-qiaFwS;}>#bp>1m>NLnQYS`GT z10(xb=U5Z18>~52fi;Rg<@{!bvGm%~rCU*#!T#d;1=)1rGCk3v(Zt03oMQOS%J$zN zy#tD*KHa7d_QUU(e+;S_lX@%sZP71TlLT@^Huxj5Cb*6sl>@XQe`XNQv1ly@pGVUR zvu9`L(OKLy(>WBZNOH32u?&_=`E-FceL4(pgj<}bOT|9^w9NU_;5exmp3d^R7bj-I zqoPt?U#Wf~{F$;1`oVY6oSDpBA z+vViLSY|F8OO{y#w~kcsNFjlLI*et6N34GR@qs@PUWDj2Qqc-EARCF`IFTuIp2XEvT1jS@sM9kk677-%86HYHdxHIa&v-3+13p4f42A^21T<_ zc{q=nSIqt(;vym}tAwVNmm^(a8e2(AFxLSc`n~EVqCc~1Ct8YwD1wfXXaa`@L@nVN z6)yCoJFB9ZaE1zFOL)@Cgf}NoVZws(XE;<6(|wcw-apr>Dxon7?9W#rd<$?p1Kt2Q z6_yk_{RPs)%0k0`1l$jMt{TR<;i}cxNzw2Uzz1Ntq2arkA8&6Oo&&fV%TNv92DqOA zPXSzjxl^ZK2Y9Lh4`e!R3zYnQ0H+%1_>^2#Vx*r1c!H6h2zaWIe!LUx<@umf{PqE! zV89;&E->J&fTtSpn}ACU_&(^8=L~`fFGM&KVK;;~fli+*I2X7yz?XHA)%c8{wNcXB{xgS*!5R0)Lf( z&j6m~T?4$X|4@vJVSv{uI>I=&E&4;eqW>elclAWR+i>n$%SpOSz`8z!Cj-`U67G+D zlrs?_`^gXZj>Pi!~p;W_k;i?^~SDHp|-wShpYPJ_c--_s*G8&ewrA%fm;g7`g($W_f8U-w@!< z@^A}8v|U+VcMqQqDqjNdW_ds0e6}gqYkeTt#SUJCCAUbhd+ zKTF{gf!FOr{D0$*?ej9uUu!v*B;lMXU@ZsXS%9@1gvSFOqvl1zV*m#Xco<;XjpDbG z={;0A9e_8>X$#maXE)Aa&%lRwo$o!sX1Q-;znb#C2E5ic`TrTPZePNG0BrJIuJV-w zZdhG5}&S!x)<$MCLDd%zzp9+<4F7T$D zvpjUY0h@Yh4_MD5tUu3%oAP~+ZF1O9Mcax z^xaTyZfM{M*1^ZQx&5c$^=P_IL7m zO5q;_UiWw6v++kgOaflF%Qmc&Mg#7v_!7Pfu+|IVekz|Ic&$I;lRb2MalRWqbwvMV z`g?%2J_+Apz(WB~#@_{y=T`_R7k0*@a@~pb)zMRNUQ_WSd=Rjfi|`)&G2eFJwOqt+ z_RuW@>^Jz70@iYozMJCH9(b*nC0Nh32HZ~NBixAd*t&ee2k^)8_W-ZUCw`}gZYAK; z3_i;M>+(r|6aM_*!<$>kuQ$@G)OdO#4miMCF2cV8oP!Mbtt8wU@N6CeQ}D4iuAEH& z1RH7O%X8u;pK8Fz{cgUe72Qk%z(#IL;g8*wil3zc-THl1bseJ8$KhMbbeQTVvH{fqt%kn=3{(VC)n-m`B z&11^>6JWEP0!25~LwCK0?gB-3riZSzhweR`4~Oq2{zQA>+_})ttH9H5lg9r+;U56r z)I%7sDc?B2R~h+6sC)x}?`Gi72i(Sh+bKE=_%DtA_2ns2o)2;U{7nP@-wOXS@TNRZ z12*NE1Gw7Am#6Yg@#MSCldp%O>)@el>!HKB%Bl?p|M#%>*bV(_Bk-nNF9SB^x*PC% zBj0U+^|)hy8l(6O^ziBB;d2B#q!**S7ZLVBNDCN-GgNpb&a<0*2PpdUfQN6hX#0NC zLdwmvr{s5^g3nVh&!3z1Igaz@W_|tzc%4z7{eagR@aKR{IracH%YTDo2<83-_^^?$ z3NX*8;3xX$Wq|ejJcgWg5n%m3Pxw5*`hA`-&Q?d?=Lxq0tl#Gef6w#cSexRvlJM7n z_4_>G&j9Q9dBX1l*6;I#-vX@P=Lv5Btl#GezW`Xj&l7%#>6lCL6Xh)dtl#IEUIMtp zNS^~(zt1!MHo#Mj^eKS#`#jS}k{-ImPw>A2uzsIsdN1ZT(xKYu`#jS-d16hFsp4$Q9V*UtUaaEm179ot-0xw1DKq;{fr_(V ztygjOxviwfxa7L)8sZV>8tW?ZM4aodOEJE9MxJZV2`bKY^DV#;KMnCj;CY6f=g9Ve zk3Os3QQ^k|e@Nk1pxid#kALDf7Ws7ieqeO`9D@dZAd2sA(04WPBMf|Rl&kqL)bVa9c^8ZF4p1WF&-mZzp&0&(UVJA~pWD^5da zWEAJ)Iw0(88e9aCIIk^kEa)>`>|YuLViVEK5k2tCBf!`tEi}$PyM@ObbJil8$C))w zoNbzbJ|n6lmD!BIx~T(7}IeyKR|iC=lb*VLap z!<%a~wyU!~P`W$=EYI#nOLkB1Mp1=X^D}U%jj0)Q3onWX_dQfmrDo{Phm-m-e58iC z9S_w6i^bVqt!91JSHqB4qPRVdv%a|*eb6)dTr!~P$z7e)4`VM8Kb+I;KM)@{^iQAD zy}V!Z=X5U}Fi??u&*|daYtGDD^&#DD-+y%+%Sa2uT8wv0an|oRIrtUKcr(A-FzG*p zG=|Ktd5{#tn64S3KkwOECh(&!^Rv8o%=dUkde7%VHTbwfJbqpt%+I-eJs&>C4^v+B z_haW``y=l_P``!ekom(hHTvUxifxD{=VGz9Kp()?WbEzG{|KrOJr_%I{_t25e?0`$ z{C~yZb6PV=p6}r00mzDr5SR2sC_c=?OoU%q?ec3?intM$pX`xBBTTz|l1Onj6oJ1u zScjAz z8Tvi!A<_;wX>G&Kew^+^<0OYic5UZ8et?j$l4#4L+Yk+~aVmp7j$rBs)0rd+~;BJw5@a+F=Ddxn&Hvn zO>>W0o_mHKQ>8jn#mc@mRgBVbLIW%^c{x41>1b$}?Hk{0`^x*iaYiG6+eN=?Xdl!5 zv_hUo0S*^;A8!Y~bH>Dn)4sC@;x5kpp}Q~~KCwr0IDEizt^r}gJMIt~DefzF?N~B& zl`aHfxCT5&q4(5|l7j>aL~TaNN{y108YL?=N>r-0)k5@IkhAZyyiaL@F^W~K2!jVv zw?K<2hiMxmY+<73I;33?&dJb_MyU1o%uE?lex?8@E|j2(`wA6FISdBqb{2JYHMstL zN?QsbEqTOniWyJFIhm+J+G}BE!3gPR%A*wG1P*XqD0?I-Eb<19nnFLg-gVHf;!{d+ zWUdo0F?A~FISvQOD&`@i*4Q3WYn|lv+vfNe@+!M3t-Nex@bn@{chbX#JS)*^EjoOIA@i^#)&4ZZvX)w>jj*brutjppg=M8N9c~3y^?j`$ z&go`*YJJhb6P0}gIdG~I)5Qa9BVan90d)0a&naY}wVjFuq?27Oatm^cj&O-xu^#wZ zv3jyA_|OPk>=(I|WVMk#3~>1ALWV~ghT0Wdk#6^kv8zmCbul z{kTdC*H9|U4ht@cx)=NDnaDpQd!AoixkytFOD@EkW)Yld!bE!~Yy70N;eqRV`NiuB z@96R%ZnY*}f8E&eqoWi>)|KK$*r8UUl@%=DOA^+5O^YcM6_WDtT@2PeT*2aUQC#Xq z0cEYx7k}aJOw75M8k1ULUpEOWBm7qK9_)ko>j(T72(gw++S3|-qmA_Uf$t3bHiVZW ztVM|RWKuQgatyk)fJYhdvw(kXz$=ii3-a9${HX@M7!_!|`dBH*z9YxMyAsVcoC(if}rC3qwsJH@3ZdAIQ_*wbjs0{%zZCSS zn~0~P+`S54g81_~jOp3>xy*{I?nLQiJ|$5C|I7 zvCPQJJq_SRxrdCry)->=pBs2~bHN88-)f_AwdZMN%%7i|J&*fd#fACU3oe+CeM>s- zga^#xjNF;wHpE z!`CD>eW$}&WoB{yOt*aM4m_jFFHuE#{kbLfwCN`gt1aY!X>uOuG%U78HQ*{*6aeRz z^XCg!r>M2sY)s8n8&Y4}x z3mr`w={p|vaw@J)R9u!fb&3#G>bT4JQ6nbyN>9J|f3=R9k?G%#*xWiQPN3_B)WmgE zG=;!Ywuzu>6LV=l%I^v74>20x=eMC>vX08Aetg>XZ@zEo0*g#VTd76Pqpl-oG{26V zafyFDff4`*sEdea?0Y4Fa z55_}@>&QQQ&!a40AdQLW^L)B93GY__oK){)8x#xYiA)JdqS`n{l`?Smb=rc%8NCJ!{oKYt@Gt2a7Jg?^;UsSD1B? zvki0Z(52n?d7-{Z0JTV?|z7d zncD`1nGXn*=S^$XFe%Rll;=7|%XnYP)5co$YDOK(BWc<7E$mG!Pj-7`RoyA6dTvsZ zP#!Uy6HYwmH@&(Hedd}=3SS8gUt0Ibb${NruH>~ZKfJwR@4f|TDM|NUeEQjcn9y_B z>hQpVS05haefY|lXTSNNV9VkCv!X4|a?{gVJap2z)BZfGch=hRS3a}h<%xH`^}Csk zUmcjc`N#L|jCR4hPwd$8e`a4;v~t{l>@91rc>4X{=HB(~!J@B!+8%l}`3i6BDfz!E z3no8#aRsg>20e21*<&y7y zv$*2;Da&&^4gP(f9$lV4rC*yj4-fs<#~+RRd*ffHJhA`RWo}B?ku^KLI`_Xqohj*ISo;KDEd=lcP*E8n`J`<8yW?cP75sPx<0LnD8haI&gAKzb()^~!{xVL zc>Gt3_jKC0{2x6Y`~7qM7CwLP(3{`9b=>feubpy1jSy;6B-KKSd@?aKDbZ zh@T$A!-gAk-oT9sZp=Gk@C?WNP`wWTA=nvqnQH*A_Sz0ZVIy;Gps{z>Q%RQU4D zNOM2F1r|hEABO4oPZ0a^`z8I;!sAqY_7g9Icq*U-fI4iwcolFX>csUJC)2I ziWmEJfz2GR5O4OiBazv;FgyGT`U5~5WQpy!5+8o_!*;67tzk6#8-R2OoA_(G-g`az zSkDe2L0RurcXY8UkG_NTS9HY}xb{Mn21~ageUqhKsiEujrstmknQ^$`Z-`~B8j1@w zE)A#Ko07Q4Xb@wf+E^;qJ?39dkNj!L?RQ#TkJikqATL&|R5WtW#t2CO<FD(#mhrMESrB|WeTzdjmP2CjUv2`BYxCp^o zo!#DAJwDADzsp)(i)+|o`^`?yPWPeqs2SW3^`TY8;{Zt0?T70iyg|5-VRyoQ5=wV6 z_pez#te*28V%{tj#$H{DJ17}d^egWwrDl)Y8qV~CFKRqr-Ge9CVtC-X9g(TE8h3uB z_0QR5-B*{fr~mk9xOK|rPz&di$ewU(_l(Gg;kzPx+?<`^c5Yh~Co&4ug9i$vZtAeF zLrHlx<2ctI!$RZ2h~4g;ERTD?%HTlV*J*ZLinHCDoPss}j?M5GzsMQZ3Hv6C(qM;qCv(FV%IFUGH>|z8h&%D{ zACyLSI&5?ePa#M*dIjr;aqNmcaYDL-+PiV^;Z48?5xk!_EY}&9<=!dKBidsNctm?# zXw%WXI?c&NCTU6dMlgNJB;bz5*y)!3@hW%G4CdJ} zdOf3Ye~1?bG2)^J(IqsVr~xRb;P(dnV2hm+=!#e>sf=2;9dF1yZox*DNeUcojo{e5 zkQmvAQ{16oFm=eI0o!42Yv1)DT|*0e=j-B}?mO3tv&45k3#TpH?uqv{_SB@r-Lt!+Ac6lHU(FT@-yTFTj_(XNQUS} zMDXde26lr!JpU7ni@VVU7&)vS)*+N8*^6xG3wkuRgBx-pFHRdt`6i_1j-D=&PB9}b zG$Q>eAyOZruzFZW-p!Wctgrhz+5X(JckoU<@|qS&e@}>Y7?<4DPd3b9JFaCtW6+BN-Tu~8b<|qI*VM>A{M&Z3FAr{|9B45Etttu^oiZo#Xrr%X_z=jZh2`z7&ig=zoR8}B-{~6jls=9 zcs$QfDTt(|hcDD$JjbzE`^ql~LdK|{s*urF1+vGC$s0F#%&_cnVjYTmrNna0m=WWY zEql!1vC1}Nc=nL1^2D7bK)GW^4-?CT>@g#TUMtqYSy^MU$Bq^IsL|uHMvqdFhmIJN zbIsr}$}u5(RMzM*0t1pMORn!R>Z(zruNftQW5*31iHojsuNoH^KlA39d<}4LZf@R) zEMQ4XR`$5TLxu;)Z{jD6#~REVd+n$p;-59@it%Hw)m90LLFNn|HDYM?*l}@S-$%fG zN8UAqM~urup+F;Mpm-#nAxH?+*-o!fTb7pw<1$PHk|8J679|>tssYAo+FyuH26`9> z%6#@5BD2^P^T)UA%kg22BY=Ah0?Y9I8sAg+UcmPXKHiV;9=@IUzQwl>9}kYrm;&1M8ftoXv|6|iJX2!Zy&5c-n!cW{IjqrX5 z&w`ulbquHbOniu*dOZBECQk65gdylp_~`!)^tXE${`J~_HT>Hc{!hXEDHqsu{ChOq zLiqE}1>b)b-1ix7yhF}2FRA@Bd^dz&fVm&xdF}`L*9gqGE_%O;!-41`w z6@BHFIW?pc6i`HC3dNH;eDj_;5!Gt%jTc*M7(j-P^X+}$AgoS6~` ze1(tczK8RIFB|@^!k_rAfj{nch{03wf%wjVzmG4|fgXAjH_wtWU7P{0x!H(MJ#;hP zd2svqGM&Sid@&yM&T9ticr)Sm89w6kHcaNfOvB;4PR&UM9L^cW(qp{Q8t!uVM>XBo zVXT$`f2MafOs0qPf|Bpn)`6N;2HZxtef$`YlMvGL9u2<`;eP$k#Mp19_P-AP1v(x2 zpQQbHj&Q%s@dJ<1|3`ep1G9-3U(ladK1w-Zk{C(Ld?w5@4$Kclm@qV2Ew+Q~& zQ%QwhxSUtK7AB_J@-8~p%Kh|zz?_5meu49bHM%?llc2W*f2R8a{Qdmt|1{jVt3u+_ z{b)k?gK%GMq_Z?3T)#EkstoBPdaHbGK8m^4Imqupn8c?V=M8bEMl7Ez;WqKW;}10t z`t1q{eS!~X-cq?~N^?B+rtUMsxh}=}=m3-HL*Jq16I~9n>ptv7`RUWW8($D`jWDqn zmHJPZXTy9QCX!A4GvMot_`gqxZvzf{3#l_;Vml*s3{2*G1>hDL@p>i1>jpS%BjEa@ zKn?e2@OzB-OveY(Bo}D&Ms41p&57C^r_Ee#j@0IGZDwh6kTwTsv!6D5YcpM&J+(=^ zm_K+z%%Cis^ zEp5+5-*K&4xL%E`#^$E>;(fv`=Tu1q4w4y)<_;>K)-~dC@rw+LFJh8bo^i&Lm62`%&RD#QHDM4lDrCBayoVTg?h{T zh+}U@(|Z>D)pScCp=OMzHl;qCr=JXNn!$yAc!u++=e#a%{+w5@jNV$mIB_4HXZ4Cp z{jK!o&UyWkee`4qu^@#EOo##b(7fgMOZL(4yFkZBj4lI_4${I#?tDoA|MGAo6L+cR zmt;_S(B1Ss-$xlA{IKwU7Q>f2DK0^)iJ= z)+oqKKe9HDwT~V}8kA2dpo95?7>)h9z()C=_@3`pZNwW_m zg)WS|9S(bUZ$}h$5%%AeO<%6P&G&b+y!;O7dyCIF6GMX0^$u@Y|XbLc7N3(@o{cW2X{oS zGrR+Lb2?7i5YxN;2!xbU;V3~zcU}kA{t%n|PNbImxZEAa_M~k2ZNa`F7G4Kn9TnTC z!|nY^R^%Qa;@#VZ*)D$q5xjfbioHhcX<~m^>?gtAc$w@8QfJKW3wOhGFoJjQkLV8k z=zGPkqW>gz6}^Qd^&pbUcze&Vc}by`Zf>r#{5g1VM`HQQumG!|JFin?rfWB%2teMy zTi-s7xg7wjxRqIQu{$@?9NE7}md($9AwC`gUb}{7

      +2gU}?HQ-3}=q7}Cb~&*D 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:~A<$pQq&B3i@!hpEDP!1@e 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

      }2^f0rOUSxr3?>&Zfdg$z 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%0A(<}+li2R~ZGDOwL+zMNC+9&EIJIzyIR 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
      |1HL;AZ+*NqCR&ObFmyYU4?th=4$^34%Y0+5 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
      c1e-Edie5arSaWI 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%0A9dQwg=2*f8=K+80aiBsX(yp*-<^cKrv; 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 z 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


      JtqhG7-fS4JYbM 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≀W$8zvJ!dK$GJ`De*;b|Xl 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 # optional parent -# id = [, [, ] ...] ; # are quoted strings -# desc = ; # quoted string -# type = ; # programmer type, quoted string -# # supported programmer types can be listed by "-c ?type" -# connection_type = parallel | serial | usb -# baudrate = ; # baudrate for avr910-programmer -# vcc = [, ... ] ; # pin number(s) -# buff = [, ... ] ; # pin number(s) -# reset = ; # pin number -# sck = ; # pin number -# mosi = ; # pin number -# miso = ; # pin number -# errled = ; # pin number -# rdyled = ; # pin number -# pgmled = ; # pin number -# vfyled = ; # pin number -# usbvid = ; # USB VID (Vendor ID) -# usbpid = [, ...] # USB PID (Product ID) (1) -# usbdev = ; # USB interface or other device info -# usbvendor = ; # USB Vendor Name -# usbproduct = ; # USB Product Name -# usbsn = ; # USB Serial Number +# parent # optional parent +# id = [, ... ] ; # are quoted strings +# desc = ; # quoted string +# type = ; # programmer type, quoted string +# # supported types can be listed by "-c ?type" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_PDI (1) +# extra_features = HAS_ {| HAS_} # extra features, eg, HAS_SUFFER|HAS_VTARG_ADJ (2) +# connection_type = parallel | serial | usb | spi +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# buff = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# sdo = ; # pin number +# sdi = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# usbvid = ; # USB VID (Vendor ID) +# usbpid = [, ...] ; # USB PID (Product ID) (3) +# usbdev = ; # USB interface or other device info +# usbvendor = ; # USB Vendor Name +# usbproduct = ; # USB Product Name +# usbsn = ; # USB Serial Number +# hvupdi_support = [, , ... ] ; # UPDI HV Variants Support +# ; # -# To invert a bit, use = ~ , the spaces are important. -# For a pin list all pins must be inverted. -# A single pin can be specified as usual = ~ , for lists -# specify it as follows = ~ ( [, ... ] ) . -# -# (1) Not all programmer types can process a list of PIDs. -# ; +# # To invert a pin use = ~ +# # To invert a pin list (all pins get inverted) use ~ ( [, ... ] ) +# # +# # (1) The following program modes are known: +# # - PM_SPM: Bootloaders, self-programming with SPM opcodes or NVM Controllers +# # - PM_TPI: Tiny Programming Interface (t4, t5, t9, t10, t20, t40, t102, t104) +# # - PM_ISP: SPI programming for In-System Programming (almost all classic parts) +# # - PM_PDI: Program and Debug Interface (xmega parts) +# # - PM_UPDI: Unified Program and Debug Interface +# # - PM_HVSP: High Voltage Serial Programming (some classic parts) +# # - PM_HVPP: High Voltage Parallel Programming (most non-HVSP classic parts) +# # - PM_debugWIRE: Simpler alternative to JTAG (a subset of HVPP/HVSP parts) +# # - PM_JTAG: Joint Test Action Group standard (some classic parts) +# # - PM_JTAGmkI: Subset of PM_JTAG, older parts, Atmel ICE mkI +# # - PM_XMEGAJTAG: JTAG, some XMEGA parts +# # - PM_AVR32JTAG: JTAG for 32-bit AVRs +# # - PM_aWire: AVR32 parts +# # +# # (2) The following extra programmer features are known: +# # - HAS_SUFFER: Only present on Xplained Mini/Nano programmers. +# # The Super User Fantastic Feature Enable Register allows the user to modify +# # the behavior of the mEDBG programmer/debugger chip. See the Xplained Mini/Nano +# # documentation for more information +# # - HAS_VTARG_SWITCH: Programer has a programmable target power switch +# # - HAS_VTARG_ADJ: Programmer has an adjustable target power source that can +# # be controlled with Avrdude +# # - HAS_FOSC_ADJ: Programmer has a programable frequency generator that +# # can clock an AVR directly through its XTAL1 pin +# # - HAS_VAREF_ADJ: Programmer has an adjustable analog reference voltage that +# # can be controlled with Avrdude +# # +# # (3) Not all programmer types can process a list of PIDs # # part -# id = ; # quoted string -# desc = ; # quoted string -# has_jtag = ; # part has JTAG i/f -# has_debugwire = ; # part has debugWire i/f -# has_pdi = ; # part has PDI i/f -# has_updi = ; # part has UPDI i/f -# has_tpi = ; # part has TPI i/f -# devicecode = ; # deprecated, use stk500_devcode +# desc = ; # quoted string, the long part name, eg, "ATmega328p" +# id = ; # quoted string, normally an abbreviated part name +# variants = [, ...]; # quoted strings, each starts with ": ..." +# family_id = ; # quoted string, eg, "megaAVR" or "tinyAVR" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE +# mcuid = ; # unique id in 0..2039 for 8-bit AVRs +# n_interrupts = ; # number of interrupts, used for vector bootloaders +# n_page_erase = ; # if set, number of pages erased during SPM erase +# n_boot_sections = ; # Number of boot sections +# boot_section_size = ; # Size of (smallest) boot section, if any +# hvupdi_variant = ; # numeric -1 (n/a) or 0..2 +# devicecode = ; # deprecated, use stk500_devcode # stk500_devcode = ; # numeric # avr910_devcode = ; # numeric +# has_jtag = ; # part has JTAG i/f (deprecated, use prog_modes) +# has_debugwire = ; # part has debugWire i/f (deprecated, use prog_modes) +# has_pdi = ; # part has PDI i/f (deprecated, use prog_modes) +# has_updi = ; # part has UPDI i/f (deprecated, use prog_modes) +# has_tpi = ; # part has TPI i/f (deprecated, use prog_modes) +# is_avr32 = ; # AVR32 part (deprecated, use prog_modes) +# is_at90s1200 = ; # AT90S1200 part # signature = ; # signature bytes # usbpid = ; # DFU USB PID -# chip_erase_delay = ; # micro-seconds -# reset = dedicated | io; -# retry_pulse = reset | sck; -# pgm_enable = ; -# chip_erase = ; -# chip_erase_delay = ; # chip erase delay (us) +# chip_erase_delay = ; # microseconds +# reset = dedicated | io ; +# retry_pulse = reset | sck ; # # STK500 parameters (parallel programming IO lines) -# pagel = ; # pin name in hex, i.e., 0xD7 -# bs2 = ; # pin name in hex, i.e., 0xA0 +# pagel = ; # page load pin name in hex, eg, 0xD7 +# bs2 = ; # byte select 2 pin name in hex, eg, 0xA0 # serial = ; # can use serial downloading -# parallel = ; # can use par. programming -# # STK500v2 parameters, to be taken from Atmel's XML files +# parallel = ; # can use parallel programming +# # STK500v2 parameters, to be taken from Atmel's ATDF files # timeout = ; # stabdelay = ; # cmdexedelay = ; @@ -84,52 +121,65 @@ # predelay = ; # postdelay = ; # pollmethod = ; -# mode = ; -# delay = ; -# blocksize = ; -# readsize = ; # hvspcmdexedelay = ; -# # STK500v2 HV programming parameters, from XML -# pp_controlstack = , , ...; # PP only -# hvsp_controlstack = , , ...; # HVSP only -# hventerstabdelay = ; -# progmodedelay = ; # PP only -# latchcycles = ; -# togglevtg = ; -# poweroffdelay = ; -# resetdelayms = ; -# resetdelayus = ; -# hvleavestabdelay = ; -# resetdelay = ; -# synchcycles = ; # HVSP only -# chiperasepulsewidth = ; # PP only -# chiperasepolltimeout = ; -# chiperasetime = ; # HVSP only -# programfusepulsewidth = ; # PP only -# programfusepolltimeout = ; -# programlockpulsewidth = ; # PP only -# programlockpolltimeout = ; -# # JTAG ICE mkII parameters, also from XML files +# # STK500v2 HV programming parameters, from ATDFs +# pp_controlstack = , , ... ; # PP only +# hvsp_controlstack = , , ... ; # HVSP only +# flash_instr = , , ; +# eeprom_instr = , , ... ; +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files # allowfullpagebitstream = ; # enablepageprogramming = ; -# idr = ; # IO addr of IDR (OCD) reg. -# rampz = ; # IO addr of RAMPZ reg. -# spmcr = ; # mem addr of SPMC[S]R reg. -# eecr = ; # mem addr of EECR reg. -# # (only when != 0x3c) -# is_at90s1200 = ; # AT90S1200 part -# is_avr32 = ; # AVR32 part +# idr = ; # IO addr of IDR (OCD) reg +# rampz = ; # IO addr of RAMPZ reg +# spmcr = ; # mem addr of SPMC[S]R reg +# eecr = ; # mem addr of EECR reg +# eind = ; # mem addr of EIND reg +# mcu_base = ; # MCU control block in ATxmega devices +# nvm_base = ; # NVM controller in ATxmega devices +# ocd_base = ; # OCD module in AVR8X/UPDI devices +# ocdrev = ; # JTAGICE3 parameter from ATDF files +# pgm_enable = ; +# chip_erase = ; +# # parameters for bootloaders +# autobaud_sync = ; # autobaud detection byte, default 0x30 # # memory -# paged = ; # yes / no +# paged = ; # yes/no (flash only, do not use for EEPROM) +# offset = ; # memory offset # size = ; # bytes # page_size = ; # bytes # num_pages = ; # numeric +# initval = ; # factory setting of fuses and lockbits +# bitmask = ; # bits used (only in fuses and lockbits) +# n_word_writes = ; # TPI only: if set, number of words to write # min_write_delay = ; # micro-seconds # max_write_delay = ; # micro-seconds -# readback_p1 = ; # byte value -# readback_p2 = ; # byte value -# pwroff_after_write = ; # yes / no +# readback = ; # pair of byte values +# readback_p1 = ; # byte value (first component) +# readback_p2 = ; # byte value (second component) +# pwroff_after_write = ; # yes/no +# mode = ; # STK500 v2 file parameter from ATDF files +# delay = ; # " +# blocksize = ; # " +# readsize = ; # " # read = ; # write = ; # read_lo = ; @@ -139,19 +189,29 @@ # loadpage_lo = ; # loadpage_hi = ; # writepage = ; -# ; -# ; +# ; +# ; # # If any of the above parameters are not specified, the default value -# of 0 is used for numerics or the empty string ("") for string -# values. If a required parameter is left empty, AVRDUDE will -# complain. +# of 0 is used for numerics (except for mcuid, hvupdi_variant, ocdrev, +# initval and bitmask, all of which default to -1, and for autobaud_sync +# which defaults to 0x30), or the empty string "" for string values. If +# a required parameter is left empty, AVRDUDE will complain. Almost all +# occurrences of numbers (with the exception of pin numbers and where +# they are separated by space, eg, in signature and readback) can also +# be given as simple expressions involving arithemtic and bitwise +# operators. # # Parts can also inherit parameters from previously defined parts -# using the following syntax. In this case specified integer and -# string values override parameter values from the parent part. New -# memory definitions are added to the definitions inherited from the -# parent. +# using the following syntax. In this case specified integer and +# string values override parameter values from the parent part. New +# memory definitions are added to the definitions inherited from the +# parent. If, however, a new memory definition refers to an existing +# one of the same name for that part then, from v7.1, the existing +# memory definition is extended, and components overwritten with new +# values. Assigning NULL removes an inherited SPI instruction format, +# memory definition, control stack, eeprom or flash instruction, eg, +# as in memory "efuse" = NULL; # # part parent # quoted string # id = ; # quoted string @@ -159,28 +219,28 @@ # ; # # NOTES: -# * 'devicecode' is the device code used by the STK500 (see codes +# * 'devicecode' is the device code used by the STK500 (see codes # listed below) -# * Not all memory types will implement all instructions. -# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Not all memory types will implement all instructions +# * AVR Fuse bits and Lock bits are implemented as a type of memory # * Example memory types are: # "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high # fuse), "signature", "calibration", "lock" # * The memory type specified on the avrdude command line must match -# one of the memory types defined for the specified chip. +# one of the memory types defined for the specified chip # * The pwroff_after_write flag causes avrdude to attempt to # power the device off and back on after an unsuccessful write to -# the affected memory area if VCC programmer pins are defined. If +# the affected memory area if VCC programmer pins are defined. If # VCC pins are not defined for the programmer, a message # indicating that the device needs a power-cycle is printed out. # This flag was added to work around a problem with the # at90s4433/2333's; see the at90s4433 errata at: # -# http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf +# https://www.microchip.com/content/dam/mchp/documents/OTH/ProductDocuments/DataSheets/doc1042.pdf # # INSTRUCTION FORMATS # -# Instruction formats are specified as a comma seperated list of +# Instruction formats are specified as a comma separated list of # string values containing information (bit specifiers) about each # of the 32 bits of the instruction. Bit specifiers may be one of # the following formats: @@ -189,23 +249,44 @@ # # '0' = the bit is always clear on input as well as output # -# 'x' = the bit is ignored on input and output +# 'x' = the bit is ignored on input and output and set as 0 # -# 'a' = the bit is an address bit, the bit-number matches this bit -# specifier's position within the current instruction byte +# 'a' = the bit is an address bit; from v 7.1 the bit-number +# is set to match the right bit position for the +# instruction to "just work" # # 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 # is address bit 12 on input, a0 is address bit 0. # -# 'i' = the bit is an input data bit +# 'i' = the bit is an input data bit (can optionally be followed +# by a memory bit position between 0 and 7 if that differs +# from the bit-position in the SPI write command byte) # -# 'o' = the bit is an output data bit +# 'o' = the bit is an output data bit (can optionally be followed +# by a memory bit position between 0 and 7) # -# Each instruction must be composed of 32 bit specifiers. The +# Each instruction must be composed of 32 bit specifiers. The # instruction specification closely follows the instruction data -# provided in Atmel's data sheets for their parts. +# provided in Atmel's data sheets for their parts. Note that flash +# addresses always refer to *word* addresses whilst all other +# memory types specify *byte* addresses. # -# See below for some examples. +# Example for signature read on the ATmega328P: +# read = "0 0 1 1 0 0 0 0", "0 0 0 x x x x x", +# "x x x x x x a1 a0", "o o o o o o o o"; +# +# As the address bit numbers in the SPI opcodes are highly +# systematic, they don't really need to be specified. A compact +# version of the format specification neither uses bit-numbers for +# address lines nor spaces. If such a string is longer than 7 +# characters, then the characters 0, 1, x, a, i and o will be +# recognised as the corresponding bit, whilst any of the characters +# ., -, _ or / can act as arbitrary visual separators, which are +# ignored. Examples: +# +# loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; +# +# loadpage_lo = "0100.0000", "000x.xxxx", "xxaa.aaaa", "iiii.iiii"; # # # The following are STK500 part device codes to use for the @@ -213,7 +294,7 @@ # section avr061.zip which accompanies the application note # AVR061 available from: # -# http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf +# https://ww1.microchip.com/downloads/en/Appnotes/doc2525.pdf # #define ATTINY10 0x10 /* the _old_ one that never existed! */ @@ -269,8 +350,8 @@ #define AT86RF401 0xD0 #define AT89START 0xE0 -#define AT89S51 0xE0 -#define AT89S52 0xE1 +#define AT89S51 0xE0 +#define AT89S52 0xE1 # The following table lists the devices in the original AVR910 # appnote: @@ -322,989 +403,1946 @@ # in the Internet. These add the following codes (only devices that # actually exist are listed): -# ATmega8515 0x3A -# ATmega128 0x43 -# ATmega64 0x45 -# ATtiny26 0x5E -# ATmega8535 0x69 -# ATmega32 0x72 -# ATmega16 0x74 -# ATmega8 0x76 -# ATmega169 0x78 +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 # -# Overall avrdude defaults; suitable for ~/.avrduderc +# Overall avrdude defaults; suitable for ~/.config/avrdude/avrdude.rc # -default_parallel = "unknown"; -default_serial = "unknown"; +default_parallel = "/dev/parport0"; +default_serial = "/dev/ttyS0"; +default_spi = ""; # default_bitclock = 2.5; +default_linuxgpio = "gpiochip0"; +allow_subshells = no; + + + + -# Turn off safemode by default -#default_safemode = no; # # PROGRAMMER DEFINITIONS # -# http://wiring.org.co/ -# Basically STK500v2 protocol, with some glue to trigger the -# bootloader. -programmer - id = "wiring"; - desc = "Wiring"; - type = "wiring"; - connection_type = serial; -; +#------------------------------------------------------------ +# dryrun +#------------------------------------------------------------ + +# Using -c dryrun is a good way to get acquainted with AVRDUDE and its +# command line -U memory operations, -T terminal commands or the +# interactive terminal -t. No hardware needs to be connected, as the +# dryrun programmer emulates what can be expected to happen with a real +# -c programmer and a corresponding connected physical programmer or a +# directly connected board when it has a bootloader. +# +# Examples: +# avrdude -c dryrun -p ATmega328P -t # Interactive terminal: enter help +# avrdude -c dryrun -p ATmega2560 -U flash:w:myapplication.hex:i +# avrdude -c dryrun -p AVR64DB48 -Tconfig programmer - id = "arduino"; - desc = "Arduino"; - type = "arduino"; - connection_type = serial; + id = "dryrun"; + desc = "Emulates programming without a programmer"; + type = "dryrun"; + prog_modes = PM_TPI | PM_ISP | PM_UPDI | PM_PDI; ; -# this will interface with the chips on these programmers: + +#------------------------------------------------------------ +# wiring +#------------------------------------------------------------ + +# http://wiring.org.co/ +# Basically STK500v2 protocol, with some glue to trigger the bootloader + +programmer + id = "wiring"; + desc = "Wiring for bootloader using STK500 v2 protocol"; + type = "wiring"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# arduino +#------------------------------------------------------------ + +# Serves optiboot bootloaders and others using the STK500v1 protocol; +# it is superseded by the more modern -c urclock programmer, see below. +# The programmer is named after the popular embedded programming +# environment Arduino that has for a long time used optiboot +# bootloaders. Same as the stk500v1 except that it resets the attached +# board and treats EEPROM as the optiboot bootloaders expect. + +programmer + id = "arduino"; + desc = "Arduino for bootloader using STK500 v1 protocol"; + type = "arduino"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# urclock +#------------------------------------------------------------ + +# Serves urboot and optiboot bootloaders +# - Reads/writes flash/EEPROM via the MCU bootloader and a serial connection +# - Automatically resets an attached board via RTS/DTR into bootloader mode +# - Implements urprotocol, a skeleton version of STK500v1 +# - Supports vector bootloaders by patching interrupt vectors during upload: +# + Vector bootloaders run on all parts, no need for a HW boot section +# + Can be much smaller than the smallest HW boot section of a part, eg, +# 256 bytes for ATmega2560 (smallest HW boot section is 1024 bytes) +# - Checks sizes of applications so they don't overwrite the bootloader +# - Keeps the bootloader alive during interactive terminal sessions +# - Provides a 4-byte metadata interface in top flash for +# + Allowing applications to utilise unused flash similar to EEPROM +# + Storing in top flash the file name and its last-modified date +# + Displaying file name and date of the last uploaded application # -# http://real.kiev.ua/old/avreal/en/adapters -# http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml -# http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html -# http://www.ethernut.de/en/hardware/turtelizer/index.html -# http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html -# http://dangerousprototypes.com/docs/FT2232_breakout_board -# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H -# http://flashrom.org/FT2232SPI_Programmer -# -# The drivers will look for a specific device and use the first one found. -# If you have mulitple devices, then look for unique information (like SN) -# And fill that in here. +# See https://github.com/stefanrueger/urboot + +programmer + id = "urclock"; + desc = "Urclock programmer for urboot bootloaders using urprotocol"; + type = "urclock"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# xbee +#------------------------------------------------------------ + +programmer + id = "xbee"; + desc = "XBee for Series 2 Over-The-Air (XBeeBoot) bootloader using STK500 v1 protocol"; + type = "xbee"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft2232h +#------------------------------------------------------------ + +# Interfaces with the chips on these programmers: +# - http://real.kiev.ua/old/avreal/en/adapters +# - http://www.amontec.com/jtagkey.shtml and .../jtagkey-tiny.shtml +# - http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html +# - http://www.ethernut.de/en/hardware/turtelizer/index.html +# - https://web.archive.org/web/20161221220118/http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html +# - http://dangerousprototypes.com/docs/FT2232_breakout_board +# - http://flashrom.org/FT2232SPI_Programmer +# +# The drivers will look for a specific device and use the first one +# found. If you have mulitple devices, and they give out serial +# numbers, a different entry for each of them can be created in a +# persnonal ~/.avrduderc or avrdude.rc entry and the usbsn = "..."; +# field added to distinguish between them. # # Note that the pin numbers for the main ISP signals (reset, sck, -# mosi, miso) are fixed and cannot be changed, since they must match +# sdo, sdi) are fixed and cannot be changed, since they must match # the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of # these FTDI ICs has been designed. +# +# See also https://ftdichip.com/wp-content/uploads/2020/07/DS_FT2232H.pdf programmer - id = "avrftdi"; - desc = "FT2232D based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x6010; - usbvendor = ""; - usbproduct = ""; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ADBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; -#LED SIGNALs - higher ADBUS-Nibble -# errled = 4; -# rdyled = 5; -# pgmled = 6; -# vfyled = 7; -#Buffer Signal - ACBUS - Nibble -# buff = 8; + id = "ft2232h", "avrftdi", "2232h"; + desc = "FT2232H/D based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; +# ISP-signals - lower ADBUS-Nibble (default) + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) ; + +#------------------------------------------------------------ +# 2232HIO +#------------------------------------------------------------ + # This is an implementation of the above with a buffer IC (74AC244) and # 4 LEDs directly attached, all active low. -programmer - id = "2232HIO"; - desc = "FT2232H based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is reserved for generic H devices and -# should be programmed into the EEPROM -# usbpid = 0x8A48; - usbpid = 0x6010; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - reset = 3; - sck = 0; - mosi = 1; - miso = 2; - buff = ~4; -#LED SIGNALs - errled = ~ 11; - rdyled = ~ 14; - pgmled = ~ 13; - vfyled = ~ 12; + +programmer parent "ft2232h" + id = "2232hio"; + desc = "2232hio based on FT2232H with buffer and LEDs"; + buff = ~4; +# LED SIGNALs + errled = ~11; + rdyled = ~14; + pgmled = ~13; + vfyled = ~12; ; -#The FT4232H can be treated as FT2232H, but it has a different USB -#device ID of 0x6011. -programmer parent "avrftdi" - id = "4232h"; - desc = "FT4232H based generic programmer"; - usbpid = 0x6011; +#------------------------------------------------------------ +# tigard +#------------------------------------------------------------ + +# Tigard - FT2232H based multi-protocol tool for hardware hacking +# https://github.com/tigard-tools/tigard + +programmer parent "ft2232h" + id = "tigard"; + desc = "Tigard interface board"; + usbdev = "B"; +# Reset is different to the FT2232H; sck, sdo, sdi remain at 0, 1, 2 + reset = 5; # BD5 (GPIOL1) ; +#------------------------------------------------------------ +# avrisp-u +#------------------------------------------------------------ + +# Kanda's low cost FT2232H based programmer. Uses a different reset pin. +# Adds a buffer and a LED indicating that the programming is in progress. +# https://www.kanda.com/products/Kanda/AVRISP-U.html + +programmer parent "ft2232h" + id = "avrisp-u"; + desc = "Kanda AVRISP-U"; + usbsn = "AVR"; + buff = ~5; + reset = 4; + pgmled = ~10; +; + +#------------------------------------------------------------ +# ft4232h +#------------------------------------------------------------ + +# The FT4232H can be treated as FT2232H but with a different USB +# device ID of 0x6011 + +programmer parent "ft2232h" + id = "ft4232h", "4232h"; + desc = "FT4232H based generic programmer"; + usbpid = 0x6011; +; + +#------------------------------------------------------------ +# jtagkey +#------------------------------------------------------------ + programmer - id = "jtagkey"; - desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is used in all JTAGKey variants - usbpid = 0xCFF8; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals => 20 - Pin connector on JTAGKey - reset = 3; # TMS 7 violet - sck = 0; # TCK 9 white - mosi = 1; # TDI 5 green - miso = 2; # TDO 13 orange - buff = ~4; -# VTG VREF 1 brown with red tip -# GND GND 20 black -# The colors are on the 20 pin breakout cable -# from Amontec + id = "jtagkey"; + desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is used in all JTAGKey variants + usbpid = 0xcff8; + usbdev = "A"; + buff = ~4; +# ISP-signals => 20 - Pin connector on JTAGKey + reset = 3; # TMS 7 violet + sck = 0; # TCK 9 white + sdo = 1; # TDI 5 green + sdi = 2; # TDO 13 orange +# VTG VREF 1 brown with red tip +# GND GND 20 black +# The colors are on the 20 pin breakout cable from Amontec ; -# UM232H module from FTDI and Glyn.com.au. -# See helix.air.net.au for detailed usage information. -# J1: Connect pin 2 and 3 for USB power. -# J2: Connect pin 2 and 3 for USB power. -# J2: Pin 7 is SCK -# : Pin 8 is MOSI -# : Pin 9 is MISO -# : Pin 11 is RST -# : Pin 6 is ground +#------------------------------------------------------------ +# ft232h +#------------------------------------------------------------ + +programmer + id = "ft232h"; + desc = "FT232H based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; +# ISP-signals + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) +; + +#------------------------------------------------------------ +# um232h +#------------------------------------------------------------ + +# Pin J2-7 (AD0) is SCK +# Pin J2-8 (AD1) is SDO +# Pin J2-9 (AD2) is SDI +# Pin J2-10 (AD3) is RESET +# Pin J2-6 is GND # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "UM232H"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; + +programmer parent "ft232h" + id = "um232h"; + desc = "UM232H module from FTDI"; ; -# C232HM module from FTDI and Glyn.com.au. -# : Orange is SCK -# : Yellow is MOSI -# : Green is MISO -# : Brown is RST -# : Black is ground +#------------------------------------------------------------ +# c232hm +#------------------------------------------------------------ + +# Orange (Pin 2) is SCK +# Yellow (Pin 3) is SDO +# Green (Pin 4) is SDI +# Brown (Pin 5) is RESET +# Black (Pin 10) is GND # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. -programmer - id = "C232HM"; - desc = "FT232H based module from FTDI and Glyn.com.au"; - type = "avrftdi"; - usbvid = 0x0403; -# Note: This PID is reserved for generic 232H devices and -# should be programmed into the EEPROM - usbpid = 0x6014; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - sck = 0; - mosi = 1; - miso = 2; - reset = 3; + +programmer parent "ft232h" + id = "c232hm"; + desc = "C232HM cable from FTDI"; ; +#------------------------------------------------------------ +# o-link +#------------------------------------------------------------ + +# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1". +# You can find it as "OpenJTAG ARM JTAG USB" in the internet. Note there are also +# several projects called Open JTAG, which are completely different. Some other +# sources call it O-Link or just have a look at ebay ... It is basically the same +# entry as jtagkey with different usb ids. See www.100ask.net -# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1" -# You can find it as "OpenJTAG ARM JTAG USB" in the internet. -# (But there are also several projects called Open JTAG, eg. -# http://www.openjtag.org, which are completely different.) -# http://www.100ask.net/shop/english.html (website seems to be outdated) -# http://item.taobao.com/item.htm?id=1559277013 -# http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!) -# some other sources which call it O-Link -# http://www.andahammer.com/olink/ -# http://www.developmentboard.net/31-o-link-debugger.html -# http://armwerks.com/catalog/o-link-debugger-copy/ -# or just have a look at ebay ... -# It is basically the same entry as jtagkey with different usb ids. programmer parent "jtagkey" - id = "o-link"; - desc = "O-Link, OpenJTAG from www.100ask.net"; - usbvid = 0x1457; - usbpid = 0x5118; - usbvendor = "www.100ask.net"; - usbproduct = "USB<=>JTAG&RS232"; + id = "o-link"; + desc = "O-Link, OpenJTAG ARM JTAG USB"; + usbvid = 0x1457; + usbpid = 0x5118; + usbvendor = "www.100ask.net"; + usbproduct = "USB<=>JTAG&RS232"; ; +#------------------------------------------------------------ +# openmoko +#------------------------------------------------------------ + # http://wiki.openmoko.org/wiki/Debug_Board_v3 + programmer - id = "openmoko"; - desc = "Openmoko debug board (v3)"; - type = "avrftdi"; - usbvid = 0x1457; - usbpid = 0x5118; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; - reset = 3; # TMS 7 - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 + id = "openmoko"; + desc = "Openmoko debug board (v3)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + usbvid = 0x1457; + usbpid = 0x5118; + usbdev = "A"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# lm3s811 +#------------------------------------------------------------ + # Only Rev. A boards. # Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf + programmer - id = "lm3s811"; - desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0xbcd9; - usbvendor = "LMI"; - usbproduct = "LM3S811 Evaluation Board"; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ACBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; + id = "lm3s811"; + desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbcd9; + usbdev = "A"; + usbvendor = "LMI"; + usbproduct = "LM3S811 Evaluation Board"; # Enable correct buffers - buff = 7; + buff = 7; +# ISP-signals - lower ACBUS-Nibble (default) + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; +#------------------------------------------------------------ +# tumpa +#------------------------------------------------------------ + # submitted as bug #46020 -programmer - id = "tumpa"; - desc = "TIAO USB Multi-Protocol Adapter"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x8A98; - usbdev = "A"; - usbvendor = "TIAO"; - usbproduct = ""; - usbsn = ""; - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 - reset = 3; # TMS 7 -; programmer - id = "avrisp"; - desc = "Atmel AVR ISP"; - type = "stk500"; - connection_type = serial; + id = "tumpa"; + desc = "TIAO USB Multi-Protocol Adapter"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x8a98; + usbdev = "A"; + usbvendor = "TIAO"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# ktlink +#------------------------------------------------------------ + +# Kristech KT-LINK FT2232H interface with IO switching and voltage buffers. +# Created on 20220410 by CeDeROM Tomasz CEDRO (www.cederom.io). +# Interface DataSheet: https://kristech.pl/files/KT-LINK-UM-ENG.pdf +# +# AVRDUDE FT2232H PIN NUMBER DECODE: +# | 0 | 1 | .. | 7 | 8 | 9 | .. | 15 | +# | ADBUS0 | ADBUS1 | .. | ADBUS7 | ACBUS0 | ACBUS1 | .. | ACBUS7 | +# +# KT-LINK JTAG CONN: +# 1=Vsense(->EXT13), 19=5V(EXT1->EXT3), 20=GND, 3=TPIRST, 9=TPICLK, 7=TPIDATA. +# +# INTERNALS CONFIGURATION ("~" MEANS ACTIVE LOW): +# ~TRST_EN=10(ACBUS2), ~CLK_EN=14(ACBUS6), ~SDO_EN=13(ACBUS5), +# TMS_SEL=5(ADBUS5), ~TMS_EN=12(ACBUS4), LED=~15(ACBUS7). +# +# CONNECTION NOTES: +# * Connect EXT connector pin 1 with 3 to get 5V on JTAG connector pin 19. +# * Connect JTAG connector pin 1 to 5V (i.e. EXT pin 13 or JTAG pin 19). +# * For TPI connection use resistors: TDO --[470R]-- TPIDATA --[470R]-- TDI. +# * Powering target from JTAG pin 19 allows KT-LINK current measurement. + programmer - id = "avrispv2"; - desc = "Atmel AVR ISP V2"; - type = "stk500v2"; - connection_type = serial; + id = "ktlink"; + desc = "KT-LINK FT2232H interface with IO switching and voltage buffers"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbbe2; + usbdev = "A"; + buff = 5, ~10, ~13, ~14; + reset = 8; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~15; ; +#------------------------------------------------------------ +# digilent-hs2 +#------------------------------------------------------------ + +# Digilent JTAG HS2 programmer. FT232H-based dongle with buffers. +# https://digilent.com/reference/_media/reference/programmers/jtag-hs2/jtag-hs2_rm.pdf + programmer - id = "avrispmkII"; - desc = "Atmel AVR ISP mkII"; - type = "stk500v2"; - connection_type = usb; + id = "digilent-hs2"; + desc = "Digilent JTAG HS2 (MPSSE)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; + buff = 5, 6, 7; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; -programmer parent "avrispmkII" - id = "avrisp2"; -; +#------------------------------------------------------------ +# flyswatter2 +#------------------------------------------------------------ + +# FT2232H based JTAG programmer. Requires a buff pin to be set. +# https://www.tincantools.com/flyswatter2 programmer - id = "buspirate"; - desc = "The Bus Pirate"; - type = "buspirate"; - connection_type = serial; + id = "flyswatter2"; + desc = "TinCan Tools Flyswatter 2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; + usbvendor = "TinCanTools"; + usbproduct = "Flyswatter2"; + buff = ~6; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~11; + pgmled = ~12; ; +#------------------------------------------------------------ +# serialupdi +#------------------------------------------------------------ + programmer - id = "buspirate_bb"; - desc = "The Bus Pirate (bitbang interface, supports TPI)"; - type = "buspirate_bb"; - connection_type = serial; + id = "serialupdi"; + desc = "SerialUPDI"; + type = "serialupdi"; + prog_modes = PM_UPDI; + connection_type = serial; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# avrisp +#------------------------------------------------------------ + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispv2 +#------------------------------------------------------------ + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP v2"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispmkII +#------------------------------------------------------------ + +programmer + id = "avrispmkII", "avrisp2"; + desc = "Atmel AVR ISP mkII"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; +; + +#------------------------------------------------------------ +# buspirate +#------------------------------------------------------------ + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = "buspirate"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# buspirate_bb +#------------------------------------------------------------ + +programmer + id = "buspirate_bb"; + desc = "The Bus Pirate (bitbang interface, supports TPI)"; + type = "buspirate_bb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; # pins are bits in bitbang byte (numbers are 87654321) - # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS - reset = 1; - sck = 3; - mosi = 4; - miso = 2; - #vcc = 7; This is internally set independent of this setting. + # 1|POWER|PULLUP|AUX|SDO|CLK|SDI|CS + reset = 1; + sck = 3; + sdo = 4; + sdi = 2; + # vcc = 7; # Internally set independent of this setting ; +#------------------------------------------------------------ +# stk500 +#------------------------------------------------------------ + # This is supposed to be the "default" STK500 entry. # Attempts to select the correct firmware version # by probing for it. Better use one of the entries # below instead. -programmer - id = "stk500"; - desc = "Atmel STK500"; - type = "stk500generic"; - connection_type = serial; -; programmer - id = "stk500v1"; - desc = "Atmel STK500 Version 1.x firmware"; - type = "stk500"; - connection_type = serial; + id = "stk500"; + desc = "Atmel STK500"; + type = "stk500generic"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "mib510"; - desc = "Crossbow MIB510 programming board"; - type = "stk500"; - connection_type = serial; -; +#------------------------------------------------------------ +# stk500v1 +#------------------------------------------------------------ programmer - id = "stk500v2"; - desc = "Atmel STK500 Version 2.x firmware"; - type = "stk500v2"; - connection_type = serial; + id = "stk500v1"; + desc = "Atmel STK500 version 1.x firmware"; + type = "stk500"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "stk500pp"; - desc = "Atmel STK500 V2 in parallel programming mode"; - type = "stk500pp"; - connection_type = serial; -; +#------------------------------------------------------------ +# arduino_as_isp +#------------------------------------------------------------ + +# Not to be confused with arduinoISP, this is the same as `-c stk500v1` +# but treats EEPROM r/w correctly for arduino_as_isp programmers programmer - id = "stk500hvsp"; - desc = "Atmel STK500 V2 in high-voltage serial programming mode"; - type = "stk500hvsp"; - connection_type = serial; + id = "arduino_as_isp"; + desc = "Arduino board as programmer using arduino as ISP firmware"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; ; -programmer - id = "stk600"; - desc = "Atmel STK600"; - type = "stk600"; - connection_type = usb; -; +#------------------------------------------------------------ +# mib510 +#------------------------------------------------------------ programmer - id = "stk600pp"; - desc = "Atmel STK600 in parallel programming mode"; - type = "stk600pp"; - connection_type = usb; + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = "stk500"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; ; -programmer - id = "stk600hvsp"; - desc = "Atmel STK600 in high-voltage serial programming mode"; - type = "stk600hvsp"; - connection_type = usb; -; +#------------------------------------------------------------ +# stk500v2 +#------------------------------------------------------------ programmer - id = "avr910"; - desc = "Atmel Low Cost Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "stk500v2", "scratchmonkey"; + desc = "Atmel STK500 version 2.x firmware"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "ft245r"; - desc = "FT245R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # D1 - sck = 0; # D0 - mosi = 2; # D2 - reset = 4; # D4 -; +#------------------------------------------------------------ +# stk500pp +#------------------------------------------------------------ programmer - id = "ft232r"; - desc = "FT232R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # RxD - sck = 0; # TxD - mosi = 2; # RTS - reset = 4; # DTR + id = "stk500pp", "scratchmonkey_pp"; + desc = "Atmel STK500 v2 in parallel programming mode"; + type = "stk500pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; +#------------------------------------------------------------ +# stk500hvsp +#------------------------------------------------------------ + +programmer + id = "stk500hvsp", "scratchmonkey_hvsp"; + desc = "Atmel STK500 v2 in high-voltage serial programming mode"; + type = "stk500hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; +; + +#------------------------------------------------------------ +# stk600 +#------------------------------------------------------------ + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = "stk600"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600pp +#------------------------------------------------------------ + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = "stk600pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600hvsp +#------------------------------------------------------------ + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = "stk600hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# avr910 +#------------------------------------------------------------ + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft245r +#------------------------------------------------------------ + +programmer + id = "ft245r"; + desc = "FT245R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # D4 + sck = 0; # D0 + sdo = 2; # D2 + sdi = 1; # D1 +; + +#------------------------------------------------------------ +# ft232r +#------------------------------------------------------------ + +programmer + id = "ft232r"; + desc = "FT232R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # DTR + sck = 0; # TxD + sdo = 2; # RTS + sdi = 1; # RxD +; + +#------------------------------------------------------------ +# bwmega +#------------------------------------------------------------ + # see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega + programmer - id = "bwmega"; - desc = "BitWizard ftdi_atmega builtin programmer"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 5; # DSR - sck = 6; # DCD - mosi = 3; # CTS - reset = 7; # RI + id = "bwmega"; + desc = "BitWizard ftdi_atmega builtin programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI + sck = 6; # DCD + sdo = 3; # CTS + sdi = 5; # DSR ; -# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html -# Note: pins are numbered from 1! +#------------------------------------------------------------ +# arduino-ft232r +#------------------------------------------------------------ + +# This programmer helps programming the Arduino Diecimila, NG and +# Duemilanove (but not the Uno) without bootloader or external +# programmer using the on-board FT232RL chip. Instructions here: +# https://make.kosakalab.com/arduino/bootloader/index_en.html +# Note that the -c diecimila avrdude.conf entry mentioned in above post +# is the same as the -c arduino-ft232r entry here. + programmer - id = "arduino-ft232r"; - desc = "Arduino: FT232R connected to ISP"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # CTS X3(1) - sck = 5; # DSR X3(2) - mosi = 6; # DCD X3(3) - reset = 7; # RI X3(4) + id = "arduino-ft232r", "diecimila"; + desc = "Arduino: FT232R connected to ISP"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI X3(4) + sck = 5; # DSR X3(2) + sdo = 6; # DCD X3(3) + sdi = 3; # CTS X3(1) ; -# website mentioned above uses this id -programmer parent "arduino-ft232r" - id = "diecimila"; - desc = "alias for arduino-ft232r"; +#------------------------------------------------------------ +# tc2030 +#------------------------------------------------------------ + +programmer + id = "tc2030"; + desc = "Tag-Connect TC2030"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + # FOR TPI devices: + reset = 3; # CTS = D3 (wire to ~RESET) + sck = 2; # RTS = D2 (wire to SCK) + sdo = 0; # TxD = D0 (wire to TPIDATA via 1k resistor) + sdi = 1; # RxD = D1 (wire to TPIDATA directly) ; +#------------------------------------------------------------ +# uncompatino +#------------------------------------------------------------ + # There is a ATmega328P kit PCB called "uncompatino". # This board allows ISP via its on-board FT232R. # This is designed like Arduino Duemilanove but has no standard ICPS header. # Its 4 pairs of pins are shorted to enable ftdi_syncbb. # http://akizukidenshi.com/catalog/g/gP-07487/ # http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf + programmer - id = "uncompatino"; - desc = "uncompatino with all pairs of pins shorted"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # cts - sck = 5; # dsr - mosi = 6; # dcd - reset = 7; # ri + id = "uncompatino"; + desc = "uncompatino with all pairs of pins shorted"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # ri + sck = 5; # dsr + sdo = 6; # dcd + sdi = 3; # cts ; +#------------------------------------------------------------ +# ttl232r +#------------------------------------------------------------ + # FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP -# http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm -# http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf -# For ICSP pinout see for example http://www.atmel.com/images/doc2562.pdf +# - https://ftdichip.com/product-category/products/cables/usb-ttl-serial-cable-series/ +# - http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf +# +# For ICSP pinout see, e.g., http://ww1.microchip.com/downloads/en/DeviceDoc/doc2562.pdf # (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...) # TTL-232R GND 1 Black -> ICPS GND (pin 6) -# TTL-232R CTS 2 Brown -> ICPS MOSI (pin 4) +# TTL-232R CTS 2 Brown -> ICPS SDO (pin 4) # TTL-232R VCC 3 Red -> ICPS VCC (pin 2) # TTL-232R TXD 4 Orange -> ICPS RESET (pin 5) # TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3) -# TTL-232R RTS 6 Green -> ICPS MISO (pin 1) -# Except for VCC and GND, you can connect arbitual pairs as long as -# the following table is adjusted. -programmer - id = "ttl232r"; - desc = "FTDI TTL232R-5V with ICSP adapter"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 2; # rts - sck = 1; # rxd - mosi = 3; # cts - reset = 0; # txd -; +# TTL-232R RTS 6 Green -> ICPS SDI (pin 1) +# +# Except for VCC and GND, you can connect arbitrary pairs as long as the +# following table is adjusted. programmer - id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - usbvendor = "www.fischl.de"; - usbproduct = "USBasp"; - - # following variants are autodetected for id "usbasp" - - # original usbasp from fischl.de - # see above "usbasp" - - # old usbasp from fischl.de - #usbvid = 0x03EB; # ATMEL - #usbpid = 0xC7B4; # (unoffical) USBasp - #usbvendor = "www.fischl.de"; - #usbproduct = "USBasp"; - - # NIBObee (only if -P nibobee is given on command line) - # see below "nibobee" + id = "ttl232r"; + desc = "FTDI TTL232R-5V with ICSP adapter"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 0; # txd + sck = 1; # rxd + sdo = 3; # cts + sdi = 2; # rts ; +#------------------------------------------------------------ +# usbasp +#------------------------------------------------------------ + +# From http://www.fischl.de/usbasp +# USBasp is a USB in-circuit programmer for Atmel AVR controllers. It +# simply consists of an ATmega88 or an ATmega8 and a couple of passive +# components. The programmer uses a firmware-only USB driver, no +# special USB controller is needed. +# +# Firmware, schematics and drivers are available under above URL, too. +# +# Alternative firmware for the external programmer: +# +# - https://github.com/mariusgreuel/USBasp +# Windows OS descriptor to load WinUSB driver automatically +# +# - https://github.com/nerdralph/usbasp +# WCID compliant, meaning it should work on Windows without any +# driver or .inf install; default SCK clock of 1.5 MHz and automatic +# SCK slowing if target does not respond; PORTD is left as input, so +# this firmware also works with USBISP modules, eg, +# https://www.sciencetronics.com/greenphotons/?p=938 +# +# - https://github.com/dioannidis/usbasp +# As above plus HID UART support, setting unique serial number and +# AT89S51/AT89S52 support + programmer - id = "nibobee"; - desc = "NIBObee"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x092F; # NIBObee PID - usbvendor = "www.nicai-systems.com"; - usbproduct = "NIBObee"; + id = "usbasp"; + desc = "USBasp ISP and TPI programmer"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID + usbvendor = "www.fischl.de"; + usbproduct = "USBasp"; + + # Old usbasp from fischl.de: + # usbvid = 0x03EB; # ATMEL + # usbpid = 0xC7B4; # (unoffical) USBasp + # usbvendor = "www.fischl.de"; + # usbproduct = "USBasp"; ; +#------------------------------------------------------------ +# nibobee +#------------------------------------------------------------ + +# http://www.nicai-systems.com/en/nibobee + programmer - id = "usbasp-clone"; - desc = "Any usbasp clone with correct VID/PID"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - #usbvendor = ""; - #usbproduct = ""; + id = "nibobee"; + desc = "NIBObee"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x092f; # NIBObee PID + usbvendor = "www.nicai-systems.com"; + usbproduct = "NIBObee"; ; -# USBtiny can also be used for TPI programming. -# In that case, a resistor of 1 kOhm is needed between MISO and MOSI -# pins of the connector, and MISO (pin 1 of the 6-pin connector) +#------------------------------------------------------------ +# usbasp-clone +#------------------------------------------------------------ + +programmer + id = "usbasp-clone"; + desc = "Any usbasp clone with correct VID/PID"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID +; + +#------------------------------------------------------------ +# usbtiny +#------------------------------------------------------------ + +# https://learn.adafruit.com/usbtinyisp +# +# The ISP USBtiny programmer can also be used for TPI programming. +# In that case, a resistor of 1 kOhm is needed between SDI and SDO +# pins of the connector, and SDI (pin 1 of the 6-pin connector) # connects to TPIDATA. -programmer - id = "usbtiny"; - desc = "USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x1781; - usbpid = 0x0c9f; -; - -# commercial version of USBtiny, using a separate VID/PID -programmer - id = "ehajo-isp"; - desc = "avr-isp-programmer from eHaJo, http://www.eHaJo.de"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x16D0; - usbpid = 0x0BA5; -; programmer - id = "arduinoisp"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2341; - usbpid = 0x0049; + id = "usbtiny"; + desc = "USBtiny simple USB programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# arduino_gemma +#------------------------------------------------------------ + +# https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/gemma + programmer - id = "arduinoisporg"; - desc = "Arduino ISP Programmer"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2A03; - usbpid = 0x0049; + id = "arduino_gemma"; + desc = "Arduino Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# adafruit_gemma +#------------------------------------------------------------ + +# https://github.com/adafruit/Adafruit-Trinket-Gemma-Bootloader + programmer - id = "butterfly"; - desc = "Atmel Butterfly Development Board"; - type = "butterfly"; - connection_type = serial; + id = "adafruit_gemma"; + desc = "Adafruit Trinket Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; ; +#------------------------------------------------------------ +# arduinoisp +#------------------------------------------------------------ + programmer - id = "avr109"; - desc = "Atmel AppNote AVR109 Boot Loader"; - type = "butterfly"; - connection_type = serial; + id = "arduinoisp"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0049; ; +#------------------------------------------------------------ +# arduinoisporg +#------------------------------------------------------------ + programmer - id = "avr911"; - desc = "Atmel AppNote AVR911 AVROSP"; - type = "butterfly"; - connection_type = serial; -; - -# suggested in http://forum.mikrokopter.de/topic-post48317.html -programmer - id = "mkbutterfly"; - desc = "Mikrokopter.de Butterfly"; - type = "butterfly_mk"; - connection_type = serial; + id = "arduinoisporg"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2a03; + usbpid = 0x0049; ; -programmer parent "mkbutterfly" - id = "butterfly_mk"; -; +#------------------------------------------------------------ +# ehajo-isp +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# http://www.eHaJo.de (closed from end of 2023) programmer - id = "jtagmkI"; - desc = "Atmel JTAG ICE (mkI)"; - baudrate = 115200; # default is 115200 - type = "jtagmki"; - connection_type = serial; + id = "ehajo-isp"; + desc = "AVR ISP programmer from eHaJo.de"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0ba5; ; -# easier to type -programmer parent "jtagmkI" - id = "jtag1"; +#------------------------------------------------------------ +# iseavrprog +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# https://iascaled.com +# +# https://github.com/IowaScaledEngineering/ckt-avrprogrammer + +programmer + id = "iseavrprog"; + desc = "AVR ISP programmer from iascaled.com"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1209; + usbpid = 0x6570; ; -# easier to type +#------------------------------------------------------------ +# micronucleus +#------------------------------------------------------------ + +programmer + id = "micronucleus"; + desc = "Micronucleus for bootloader"; + type = "micronucleus"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0753; +; + +#------------------------------------------------------------ +# teensy +#------------------------------------------------------------ + +programmer + id = "teensy"; + desc = "Teensy for bootloader"; + type = "teensy"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16c0; + usbpid = 0x0478; +; + +#------------------------------------------------------------ +# ch341a +#------------------------------------------------------------ + +# Allows programming of AVR parts with F_CPU of min 6.8 MHz with the +# CH341A chip http://www.wch-ic.com/downloads/CH341DS1_PDF.html +# +# See also: +# https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html +# +# Connection scheme: +# CH341A chip -- AVR ISP Connector +# ~CTS/D0/CS0 -- RESET (can be D1 or D2, see reset setting below) +# ~DCD/D3/DCK -- SCK +# ~DTR/D5/DOUT -- SDO +# ~SLP/D7/DIN -- SDI +# GND -- GND +# 5V -- Vcc/Vin (or disconnect if separately powered) + +programmer + id = "ch341a"; + desc = "ch341a programmer (AVR must have minimum F_CPU of 6.8 MHz)"; + type = "ch341a"; + prog_modes = PM_ISP; + connection_type = usb; + usbvid = 0x1a86; + usbpid = 0x5512; + usbvendor = "wch.cn"; + usbproduct = "CH341A"; + reset = 0; # Can be 0, 1 or 2 for CS0, CS1 or CS2 +; + +#------------------------------------------------------------ +# butterfly +#------------------------------------------------------------ + +programmer + id = "butterfly"; + desc = "Atmel for bootloader (Butterfly Development Board)"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr109 +#------------------------------------------------------------ + +programmer + id = "avr109"; + desc = "Atmel for bootloader using AppNote AVR109"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr911 +#------------------------------------------------------------ + +programmer + id = "avr911"; + desc = "Atmel for bootloader using AppNote AVR911 AVROSP"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# butterfly_mk and mkbutterfly +#------------------------------------------------------------ + +# http://forum.mikrokopter.de + +programmer + id = "butterfly_mk", "mkbutterfly"; + desc = "Mikrokopter.de Butterfly for bootloader"; + type = "butterfly_mk"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# jtagmkI +#------------------------------------------------------------ + +programmer + id = "jtagmkI", "jtag1"; + desc = "Atmel JTAG ICE (mkI)"; + type = "jtagmki"; + prog_modes = PM_JTAGmkI; + extra_features = HAS_VTARG_READ; + connection_type = serial; + baudrate = 115200; # default is 115200 +; + +#------------------------------------------------------------ +# jtag1slow +#------------------------------------------------------------ + programmer parent "jtag1" - id = "jtag1slow"; - baudrate = 19200; + id = "jtag1slow"; + baudrate = 19200; ; +#------------------------------------------------------------ +# jtagmkII +#------------------------------------------------------------ + # The JTAG ICE mkII has both, serial and USB connectivity. As it is # mostly used through USB these days (AVR Studio 5 only supporting it # that way), we make connection_type = usb the default. Users are # still free to use a serial port with the -P option. programmer - id = "jtagmkII"; - desc = "Atmel JTAG ICE mkII"; - baudrate = 19200; # default is 19200 - type = "jtagmkii"; - connection_type = usb; + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + type = "jtagmkii"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 19200; # default is 19200 ; -# easier to type +#------------------------------------------------------------ +# jtag2slow +#------------------------------------------------------------ + programmer parent "jtagmkII" - id = "jtag2slow"; + id = "jtag2slow"; ; -# JTAG ICE mkII @ 115200 Bd +#------------------------------------------------------------ +# jtag2fast +#------------------------------------------------------------ + +# JTAG ICE mkII @ 115200 Bd (and alias jtag2 the fast version) + programmer parent "jtag2slow" - id = "jtag2fast"; - baudrate = 115200; + id = "jtag2fast", "jtag2"; + baudrate = 115200; ; -# make the fast one the default, people will love that -programmer parent "jtag2fast" - id = "jtag2"; -; +#------------------------------------------------------------ +# jtag2isp +#------------------------------------------------------------ # JTAG ICE mkII in ISP mode + programmer - id = "jtag2isp"; - desc = "Atmel JTAG ICE mkII in ISP mode"; - baudrate = 115200; - type = "jtagmkii_isp"; - connection_type = usb; + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + type = "jtagmkii_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2dw +#------------------------------------------------------------ + # JTAG ICE mkII in debugWire mode + programmer - id = "jtag2dw"; - desc = "Atmel JTAG ICE mkII in debugWire mode"; - baudrate = 115200; - type = "jtagmkii_dw"; - connection_type = usb; + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + type = "jtagmkii_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; -# JTAG ICE mkII in AVR32 mode -programmer - id = "jtagmkII_avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; -; +#------------------------------------------------------------ +# jtagmkII_avr32 +#------------------------------------------------------------ # JTAG ICE mkII in AVR32 mode + programmer - id = "jtag2avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; + id = "jtagmkII_avr32", "jtag2avr32"; + desc = "Atmel JTAG ICE mkII in AVR32 mode"; + type = "jtagmkii_avr32"; + prog_modes = PM_aWire; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2pdi +#------------------------------------------------------------ + # JTAG ICE mkII in PDI mode + programmer - id = "jtag2pdi"; - desc = "Atmel JTAG ICE mkII PDI mode"; - baudrate = 115200; - type = "jtagmkii_pdi"; - connection_type = usb; + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII in PDI mode"; + type = "jtagmkii_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_jtag +#------------------------------------------------------------ + # AVR Dragon in JTAG mode + programmer - id = "dragon_jtag"; - desc = "Atmel AVR Dragon in JTAG mode"; - baudrate = 115200; - type = "dragon_jtag"; - connection_type = usb; + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + type = "dragon_jtag"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_isp +#------------------------------------------------------------ + # AVR Dragon in ISP mode + programmer - id = "dragon_isp"; - desc = "Atmel AVR Dragon in ISP mode"; - baudrate = 115200; - type = "dragon_isp"; - connection_type = usb; + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + type = "dragon_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pp +#------------------------------------------------------------ + # AVR Dragon in PP mode + programmer - id = "dragon_pp"; - desc = "Atmel AVR Dragon in PP mode"; - baudrate = 115200; - type = "dragon_pp"; - connection_type = usb; + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + type = "dragon_pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_hvsp +#------------------------------------------------------------ + # AVR Dragon in HVSP mode + programmer - id = "dragon_hvsp"; - desc = "Atmel AVR Dragon in HVSP mode"; - baudrate = 115200; - type = "dragon_hvsp"; - connection_type = usb; + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + type = "dragon_hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_dw +#------------------------------------------------------------ + # AVR Dragon in debugWire mode + programmer - id = "dragon_dw"; - desc = "Atmel AVR Dragon in debugWire mode"; - baudrate = 115200; - type = "dragon_dw"; - connection_type = usb; + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + type = "dragon_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pdi +#------------------------------------------------------------ + # AVR Dragon in PDI mode -programmer - id = "dragon_pdi"; - desc = "Atmel AVR Dragon in PDI mode"; - baudrate = 115200; - type = "dragon_pdi"; - connection_type = usb; -; programmer - id = "jtag3"; - desc = "Atmel AVR JTAGICE3 in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + type = "dragon_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag3 +#------------------------------------------------------------ + programmer - id = "jtag3pdi"; - desc = "Atmel AVR JTAGICE3 in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3"; + desc = "Atmel AVR JTAGICE3 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3pdi +#------------------------------------------------------------ + programmer - id = "jtag3dw"; - desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3pdi"; + desc = "Atmel AVR JTAGICE3 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3updi +#------------------------------------------------------------ + programmer - id = "jtag3isp"; - desc = "Atmel AVR JTAGICE3 in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2110, 0x2140; + id = "jtag3updi"; + desc = "Atmel AVR JTAGICE3 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# jtag3dw +#------------------------------------------------------------ + programmer - id = "xplainedpro"; - desc = "Atmel AVR XplainedPro in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2111; + id = "jtag3dw"; + desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3isp +#------------------------------------------------------------ + programmer - id = "xplainedpro_updi"; - desc = "Atmel AVR XplainedPro in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2111; + id = "jtag3isp"; + desc = "Atmel AVR JTAGICE3 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# xplainedpro +#------------------------------------------------------------ + programmer - id = "xplainedmini"; - desc = "Atmel AVR XplainedMini in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro"; + desc = "Atmel AVR XplainedPro in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + connection_type = usb; + usbpid = 0x2111; ; +#------------------------------------------------------------ +# xplainedpro_pdi +#------------------------------------------------------------ + programmer - id = "xplainedmini_dw"; - desc = "Atmel AVR XplainedMini in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro_pdi"; + desc = "Atmel AVR XplainedPro in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedpro_updi +#------------------------------------------------------------ + programmer - id = "xplainedmini_updi"; - desc = "Atmel AVR XplainedMini in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2145; + id = "xplainedpro_updi"; + desc = "Atmel AVR XplainedPro in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedmini / xplainedmini_isp +#------------------------------------------------------------ + programmer - id = "atmelice"; - desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini", "xplainedmini_isp"; + desc = "Atmel AVR XplainedMini in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_dw +#------------------------------------------------------------ + programmer - id = "atmelice_pdi"; - desc = "Atmel-ICE (ARM/AVR) in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_dw"; + desc = "Atmel AVR XplainedMini in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_updi +#------------------------------------------------------------ + programmer - id = "atmelice_updi"; - desc = "Atmel-ICE (ARM/AVR) in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_updi"; + desc = "Atmel AVR XplainedMini in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedmini_tpi +#------------------------------------------------------------ + programmer - id = "atmelice_dw"; - desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2141; + id = "xplainedmini_tpi"; + desc = "Atmel AVR XplainedMini in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# atmelice / atmelice_jtag +#------------------------------------------------------------ + programmer - id = "atmelice_isp"; - desc = "Atmel-ICE (ARM/AVR) in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2141; + id = "atmelice", "atmelice_jtag"; + desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_pdi +#------------------------------------------------------------ + programmer - id = "powerdebugger"; - desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode"; - type = "jtagice3"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_pdi"; + desc = "Atmel-ICE (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_updi +#------------------------------------------------------------ + programmer - id = "powerdebugger_pdi"; - desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_updi"; + desc = "Atmel-ICE (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# atmelice_dw +#------------------------------------------------------------ + programmer - id = "powerdebugger_updi"; - desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode"; - type = "jtagice3_updi"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_dw"; + desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_isp +#------------------------------------------------------------ + programmer - id = "powerdebugger_dw"; - desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode"; - type = "jtagice3_dw"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_isp"; + desc = "Atmel-ICE (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_tpi +#------------------------------------------------------------ + programmer - id = "powerdebugger_isp"; - desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; - usbpid = 0x2144; + id = "atmelice_tpi"; + desc = "Atmel-ICE (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# powerdebugger / powerdebugger_jtag +#------------------------------------------------------------ + programmer - id = "pavr"; - desc = "Jason Kyle's pAVR Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "powerdebugger", "powerdebugger_jtag"; + desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_pdi +#------------------------------------------------------------ + programmer - id = "pickit2"; - desc = "MicroChip's PICkit2 Programmer"; - type = "pickit2"; - connection_type = usb; + id = "powerdebugger_pdi"; + desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_updi +#------------------------------------------------------------ + programmer - id = "flip1"; - desc = "FLIP USB DFU protocol version 1 (doc7618)"; - type = "flip1"; - connection_type = usb; + id = "powerdebugger_updi"; + desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; + hvupdi_support = 0, 1; ; +#------------------------------------------------------------ +# powerdebugger_dw +#------------------------------------------------------------ + programmer - id = "flip2"; - desc = "FLIP USB DFU protocol version 2 (AVR4023)"; - type = "flip2"; - connection_type = usb; + id = "powerdebugger_dw"; + desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; +#------------------------------------------------------------ +# powerdebugger_isp +#------------------------------------------------------------ -#This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface -# -#To enable it set the configuration below to match the GPIO lines connected to the -#relevant ISP header pins and uncomment the entry definition. In case you don't -#have the required permissions to edit this system wide config file put the -#entry in a separate .conf file and use it with -C+.conf -#on the command line. -# -#To check if your avrdude build has support for the linuxgpio programmer compiled in, -#use -c?type on the command line and look for linuxgpio in the list. If it's not available -#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude. -# -#programmer -# id = "linuxgpio"; -# desc = "Use the Linux sysfs interface to bitbang GPIO lines"; -# type = "linuxgpio"; -# reset = ?; -# sck = ?; -# mosi = ?; -# miso = ?; -#; - - -#This programmer uses the built in linux SPI bus devices to program an -#attached AVR. A GPIO accessed through the sysfs GPIO interface needs to -#be specified for a reset pin since the linux SPI userspace functions do -#not allow for control over the slave select/chip select signal. -# programmer - id = "linuxspi"; - desc = "Use Linux SPI device in /dev/spidev*"; - type = "linuxspi"; - reset = 25; + id = "powerdebugger_isp"; + desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; ; -# some ultra cheap programmers use bitbanging on the -# serialport. +#------------------------------------------------------------ +# powerdebugger_tpi +#------------------------------------------------------------ + +programmer + id = "powerdebugger_tpi"; + desc = "Atmel PowerDebugger (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; + +#------------------------------------------------------------ +# pickit4 / pickit4_jtag +#------------------------------------------------------------ + +programmer + id = "pickit4", "pickit4_jtag"; + desc = "MPLAB(R) PICkit 4 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_updi +#------------------------------------------------------------ + +programmer + id = "pickit4_updi"; + desc = "MPLAB(R) PICkit 4 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; + hvupdi_support = 0, 1, 2; +; + +#------------------------------------------------------------ +# pickit4_pdi +#------------------------------------------------------------ + +programmer + id = "pickit4_pdi"; + desc = "MPLAB(R) PICkit 4 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_isp +#------------------------------------------------------------ + +programmer + id = "pickit4_isp"; + desc = "MPLAB(R) PICkit 4 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_tpi +#------------------------------------------------------------ + +programmer + id = "pickit4_tpi"; + desc = "MPLAB(R) PICkit 4 in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# snap /snap_jtag +#------------------------------------------------------------ + +programmer + id = "snap", "snap_jtag"; + desc = "MPLAB(R) Snap in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_updi +#------------------------------------------------------------ + +programmer + id = "snap_updi"; + desc = "MPLAB(R) SNAP in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# snap_pdi +#------------------------------------------------------------ + +programmer + id = "snap_pdi"; + desc = "MPLAB(R) SNAP in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_isp +#------------------------------------------------------------ + +programmer + id = "snap_isp"; + desc = "MPLAB(R) SNAP in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_tpi +#------------------------------------------------------------ + +programmer + id = "snap_tpi"; + desc = "MPLAB(R) SNAP in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# pkobn_updi +#------------------------------------------------------------ + +programmer + id = "pkobn_updi"; + desc = "Curiosity nano (nEDBG) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2175; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# pavr +#------------------------------------------------------------ + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# pickit2 +#------------------------------------------------------------ + +programmer + id = "pickit2"; + desc = "MicroChip's PICkit2 Programmer"; + type = "pickit2"; + prog_modes = PM_ISP; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip1 +#------------------------------------------------------------ + +programmer + id = "flip1"; + desc = "FLIP for bootloader using USB DFU protocol version 1 (doc7618)"; + type = "flip1"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip2 +#------------------------------------------------------------ + +programmer + id = "flip2"; + desc = "FLIP for bootloader using USB DFU protocol version 2 (AVR4023)"; + type = "flip2"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# ponyser +#------------------------------------------------------------ + +# some ultra cheap programmers use bitbanging on the serialport # # PC - DB9 - Pins for RS232: # @@ -1322,67 +2360,104 @@ programmer # Using RI is not supported under Win32 but is supported under Posix. # serial ponyprog design (dasa2 in uisp) -# reset=!txd sck=rts mosi=dtr miso=cts +# reset=!txd sck=rts sdo=dtr sdi=cts programmer - id = "ponyser"; - desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~3; - sck = 7; - mosi = 4; - miso = 8; + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts sdo=dtr sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~3; + sck = 7; + sdo = 4; + sdi = 8; ; +#------------------------------------------------------------ +# siprog +#------------------------------------------------------------ + +# Serial port adapter http://www.lancos.com/siprogsch.html # Same as above, different name -# reset=!txd sck=rts mosi=dtr miso=cts programmer parent "ponyser" - id = "siprog"; - desc = "Lancos SI-Prog "; + id = "siprog"; + desc = "Lancos SI-Prog (same as ponyser)"; ; +#------------------------------------------------------------ +# dasa +#------------------------------------------------------------ + # unknown (dasa in uisp) -# reset=rts sck=dtr mosi=txd miso=cts +# reset=rts sck=dtr sdo=txd sdi=cts programmer - id = "dasa"; - desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = 7; - sck = 4; - mosi = 3; - miso = 8; + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 7; + sck = 4; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# dasa3 +#------------------------------------------------------------ + # unknown (dasa3 in uisp) -# reset=!dtr sck=rts mosi=txd miso=cts +# reset=!dtr sck=rts sdo=txd sdi=cts programmer - id = "dasa3"; - desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~4; - sck = 7; - mosi = 3; - miso = 8; + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~4; + sck = 7; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# C2N232i +#------------------------------------------------------------ + # C2N232i (jumper configuration "auto") -# reset=dtr sck=!rts mosi=!txd miso=!cts +# reset=dtr sck=!rts sdo=!txd sdi=!cts programmer - id = "c2n232i"; - desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; - type = "serbb"; - connection_type = serial; - reset = 4; - sck = ~7; - mosi = ~3; - miso = ~8; + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts sdo=!txd sdi=!cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 4; + sck = ~7; + sdo = ~3; + sdi = ~8; +; + +#------------------------------------------------------------ +# jtag2updi +#------------------------------------------------------------ + +# JTAG2UPDI +# https://github.com/ElTangas/jtag2updi + +programmer + id = "jtag2updi"; + desc = "JTAGv2 to UPDI bridge"; + type = "jtagmkii_updi"; + prog_modes = PM_UPDI; + connection_type = serial; + baudrate = 115200; + hvupdi_support = 1; ; # @@ -1396,62 +2471,78 @@ programmer # This is an HVSP-only device. part - id = "t11"; - desc = "ATtiny11"; - stk500_devcode = 0x11; - signature = 0x1e 0x90 0x04; - chip_erase_delay = 20000; - - timeout = 200; - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny11"; + id = "t11"; + variants = + "ATtiny11: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny11-6PC: DIP8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PI: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PU: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SC: SOIC8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SI: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SU: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11L-2PC: DIP8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2PI: DIP8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SC: SOIC8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SI: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SU: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_HVSP; + mcuid = 8; + n_interrupts = 5; + stk500_devcode = 0x11; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x04; + serial = no; + timeout = 200; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; memory "eeprom" - size = 64; - blocksize = 64; - readsize = 256; - delay = 5; + size = 64; + delay = 5; + blocksize = 64; + readsize = 256; ; memory "flash" - size = 1024; - blocksize = 128; - readsize = 256; - delay = 3; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; + size = 1024; + delay = 3; + blocksize = 128; + readsize = 256; ; memory "fuse" - size = 1; + size = 1; + initval = 0xf4; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; ; ; @@ -1460,131 +2551,106 @@ part #------------------------------------------------------------ part - id = "t12"; - desc = "ATtiny12"; - stk500_devcode = 0x12; - avr910_devcode = 0x55; - signature = 0x1e 0x90 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny12"; + id = "t12"; + variants = + "ATtiny12: N/A, Fmax=8 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12-8PU: PDIP8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12-8SU: SOIC8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12L-4PU: PDIP8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SU: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SUR: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12V-1SU: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12V-1SUR: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 9; + n_interrupts = 6; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 8; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4500; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -1593,5922 +2659,5209 @@ part #------------------------------------------------------------ part - id = "t13"; - desc = "ATtiny13"; - has_debugwire = yes; - flash_instr = 0xB4, 0x0E, 0x1E; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; - signature = 0x1e 0x90 0x07; - chip_erase_delay = 4000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny13"; + id = "t13"; + variants = + "ATtiny13: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny13-20MMU: MLF10, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MMUR: VDFN10, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQ: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQ: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQR: SOIC8, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13V-10MMU: MLF10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MMUR: VDFN10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PQ: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 10; + n_interrupts = 10; + stk500_devcode = 0x14; + chip_erase_delay = 4000; + signature = 0x1e 0x90 0x07; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 90; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x0e, 0x1e; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x0e, 0xb4, 0x0e, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; - - ocdrev = 0; + synchcycles = 6; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xxaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 1024; - page_size = 32; - num_pages = 32; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.000a--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.000a--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0x6a; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny13A +#------------------------------------------------------------ + +part parent "t13" + desc = "ATtiny13A"; + id = "t13a"; + variants = + "ATtiny13A-MMF: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMFR: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMU: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMUR: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MU: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-PU: PDIP8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SN: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7R: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSHR: SOIC8N, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 11; +; #------------------------------------------------------------ # ATtiny15 #------------------------------------------------------------ part - id = "t15"; - desc = "ATtiny15"; - stk500_devcode = 0x13; - avr910_devcode = 0x56; - signature = 0x1e 0x90 0x06; - chip_erase_delay = 8200; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny15"; + id = "t15"; + variants = + "ATtiny15: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PC: DIP8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PI: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PU: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SC: SOIC8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SI: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SU: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 12; + n_interrupts = 9; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + chip_erase_delay = 8200; + signature = 0x1e 0x90 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 5; - synchcycles = 6; - latchcycles = 16; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 8200; - max_write_delay = 8200; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4100; - max_write_delay = 4100; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o x x o o"; + size = 1; + initval = 0x5c; + bitmask = 0xf3; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.xxoo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.11ii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i 1 1 i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; #------------------------------------------------------------ -# AT90s1200 +# AT89S51 +#------------------------------------------------------------ + +# Nonstandard part +# - Tested with -c avrisp +# - USBASP programmers may require different firmware + +part + desc = "AT89S51"; + id = "89S51"; + variants = + "AT89S51: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S51-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 372; + stk500_devcode = 0xe0; + chip_erase_delay = 250000; + signature = 0x1e 0x51 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 4; + pollvalue = 0x69; + predelay = 1; + postdelay = 1; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; + programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "flash" + size = 4096; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x02; + delay = 10; + blocksize = 256; + read = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "0100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + # Nonstandard page mode is available but not implemented + ; + + memory "lock" + size = 1; + read = "0010.0100--xxxx.xxxx--xxxx.xxxx--xxxo.ooxx"; + # Nonstandard write: expect verification errors + # See datasheet Page 20, Note 1 https://ww1.microchip.com/downloads/en/DeviceDoc/doc2487.pdf + # Activate lock mode 0 through chip erase: avrdude -e + # Activate lock mode 1: avrdude -e -V -U lock:w:1:m + # Activate lock mode 2: avrdude -e -V -U lock:w:1:m -U lock:w:2:m + # Activate lock mode 3: avrdude -e -V -U lock:w:1:m -U lock:w:2:m -U lock:w:3:m + write = "1010.1100--1110.00ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0 0 1 0 1 0 0 0 x x x x x x a1 a0 x x x x x x x 0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# AT89S52 +#------------------------------------------------------------ + +part parent "89S51" + desc = "AT89S52"; + id = "89S52"; + variants = + "AT89S52: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S52-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24AUR: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + mcuid = 373; + stk500_devcode = 0xe1; + signature = 0x1e 0x52 0x06; + + memory "flash" + size = 8192; + ; +; + +#------------------------------------------------------------ +# AT90S1200 #------------------------------------------------------------ part - id = "1200"; - desc = "AT90S1200"; - is_at90s1200 = yes; - stk500_devcode = 0x33; - avr910_devcode = 0x13; - signature = 0x1e 0x90 0x01; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 1; - bytedelay = 0; - pollindex = 0; - pollvalue = 0xFF; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S1200"; + id = "1200"; + variants = + "AT90S1200-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 183; + n_interrupts = 4; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + chip_erase_delay = 20000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x90 0x01; + is_at90s1200 = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + pollvalue = 0xff; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x00 0xff; + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 32; - readsize = 256; - ; memory "flash" - size = 1024; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x02; - delay = 15; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4414 +# AT90S4414 #------------------------------------------------------------ part - id = "4414"; - desc = "AT90S4414"; - stk500_devcode = 0x50; - avr910_devcode = 0x28; - signature = 0x1e 0x92 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S4414"; + id = "4414"; + variants = + "AT90S4414-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JC: LCC44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JI: LCC44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 190; + n_interrupts = 13; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + chip_erase_delay = 20000; + signature = 0x1e 0x92 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2313 +# AT90S2313 #------------------------------------------------------------ part - id = "2313"; - desc = "AT90S2313"; - stk500_devcode = 0x40; - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2313"; + id = "2313"; + variants = + "AT90S2313-10PC: DIP20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10PI: DIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SC: SOIC20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SI: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 186; + n_interrupts = 11; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--111x.xiix--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2333 +# AT90S2333 #------------------------------------------------------------ part - id = "2333"; ##### WARNING: No XML file for device 'AT90S2333'! ##### - desc = "AT90S2333"; - stk500_devcode = 0x42; - avr910_devcode = 0x34; - signature = 0x1e 0x91 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2333"; + id = "2333"; + variants = + "AT90S2333-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 188; + n_interrupts = 14; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "fuse" + size = 1; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxoo.oooo"; + write = "1010.1100--101i.iiii--xxxx.xxxx--xxxx.xxxx"; + ; - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + memory "lock" + size = 1; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2343 (also AT90s2323 and ATtiny22) +# AT90S2343 (also AT90S2323 and ATtiny22) #------------------------------------------------------------ part - id = "2343"; - desc = "AT90S2343"; - stk500_devcode = 0x43; - avr910_devcode = 0x4c; - signature = 0x1e 0x91 0x03; - chip_erase_delay = 18000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "AT90S2343"; + id = "2343"; + variants = + "AT90S2343-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP; + mcuid = 189; + n_interrupts = 3; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + chip_erase_delay = 18000; + signature = 0x1e 0x91 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 0; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + poweroffdelay = 25; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--0000.0000--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 128; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; + size = 1; + initval = 0xde; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4433 +# AT90S2323 +#------------------------------------------------------------ + +part parent "2343" + desc = "AT90S2323"; + id = "2323"; + variants = + "AT90S2323-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 187; + stk500_devcode = 0x41; + avr910_devcode = 0x48; + signature = 0x1e 0x91 0x02; +; + +#------------------------------------------------------------ +# ATtiny22 +#------------------------------------------------------------ + +part parent "2343" + desc = "ATtiny22"; + id = "t22"; + variants = + "ATtiny22L-1PC: DIP8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1PI: DIP8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SC: SOIC8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SI: SOIC8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + mcuid = 13; + stk500_devcode = 0x20; + avr910_devcode = 0x00; # Unknown + signature = 0x1e 0x91 0x06; + + memory "fuse" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AT90S4433 +#------------------------------------------------------------ + +part parent "2333" + desc = "AT90S4433"; + id = "4433"; + variants = + "AT90S4433-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 191; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + + memory "eeprom" + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; + + memory "flash" + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; + + memory "fuse" + initval = 0xda; + ; + + memory "lock" + initval = 0xff; + ; +; + +#------------------------------------------------------------ +# AT90S8515 #------------------------------------------------------------ part - id = "4433"; - desc = "AT90S4433"; - stk500_devcode = 0x51; - avr910_devcode = 0x30; - signature = 0x1e 0x92 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8515"; + id = "8515"; + variants = + "AT90S8515-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 193; + n_interrupts = 13; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4434 +# AT90S8535 #------------------------------------------------------------ part - id = "4434"; -##### WARNING: No XML file for device 'AT90S4434'! ##### - desc = "AT90S4434"; - stk500_devcode = 0x52; - avr910_devcode = 0x6c; - signature = 0x1e 0x92 0x02; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - ; - memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - -#------------------------------------------------------------ -# AT90s8515 -#------------------------------------------------------------ - -part - id = "8515"; - desc = "AT90S8515"; - stk500_devcode = 0x60; - avr910_devcode = 0x38; - signature = 0x1e 0x93 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8535"; + id = "8535"; + variants = + "AT90S8535-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 195; + n_interrupts = 17; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s8535 +# AT90S4434 #------------------------------------------------------------ -part - id = "8535"; - desc = "AT90S8535"; - stk500_devcode = 0x61; - avr910_devcode = 0x68; - signature = 0x1e 0x93 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; +# No XML file for device AT90S4434, so parenting off AT90S8535 +# with which it shares the datasheet. - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; +part parent "8535" + desc = "AT90S4434"; + id = "4434"; + variants = + "AT90S4434-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 192; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x x o"; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + max_write_delay = 20000; + ; + memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o x x x x x x"; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + max_write_delay = 20000; + ; +; #------------------------------------------------------------ # ATmega103 #------------------------------------------------------------ part - id = "m103"; - desc = "ATmega103"; - stk500_devcode = 0xB1; - avr910_devcode = 0x41; - signature = 0x1e 0x97 0x01; - chip_erase_delay = 112000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, - 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, - 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, - 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "ATmega103"; + id = "m103"; + variants = + "ATmega103-6AC: TQFP64, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega103-6AI: TQFP64, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega103L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 3.6 V]", + "ATmega103L-4AI: TQFP64, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 84; + n_interrupts = 24; + stk500_devcode = 0xb1; + avr910_devcode = 0x41; + chip_erase_delay = 112000; + pagel = 0xa0; + bs2 = 0xd7; + signature = 0x1e 0x97 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x8e, 0x9e, 0x2e, 0x3e, 0xae, 0xbe, + 0x4e, 0x5e, 0xce, 0xde, 0x6e, 0x7e, 0xee, 0xde, + 0x66, 0x76, 0xe6, 0xf6, 0x6a, 0x7a, 0xea, 0x7a, + 0x7f, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 10; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 4096; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 22000; - max_write_delay = 56000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 70; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback = 0xff 0xff; + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o x o 1 o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xdf; + bitmask = 0x2b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxox.o1oo"; + write = "1010.1100--1011.i1ii--xxxx.xxxx--xxxx.xxxx"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega64 #------------------------------------------------------------ part - id = "m64"; - desc = "ATmega64"; - has_jtag = yes; - stk500_devcode = 0xA0; - avr910_devcode = 0x45; - signature = 0x1e 0x96 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; + desc = "ATmega64"; + id = "m64"; + variants = + "ATmega64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega64-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega64L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQ: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MN: QFN64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQ: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MU: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 72; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xa0; + avr910_devcode = 0x45; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 64; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega64A +#------------------------------------------------------------ +part parent "m64" + desc = "ATmega64A"; + id = "m64a"; + variants = + "ATmega64A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 73; +; #------------------------------------------------------------ # ATmega128 #------------------------------------------------------------ part - id = "m128"; - desc = "ATmega128"; - has_jtag = yes; - stk500_devcode = 0xB2; - avr910_devcode = 0x43; - signature = 0x1e 0x97 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; - rampz = 0x3b; + desc = "ATmega128"; + id = "m128"; + variants = + "ATmega128-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MN: MLF64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MNR: MLF64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MUR: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8ANR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MN: MLF64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8MNR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 85; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; + avr910_devcode = 0x43; + chip_erase_delay = 10000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 1; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + rampz = 0x3b; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 10000; + max_write_delay = 10000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 5000; + max_write_delay = 5000; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega128A +#------------------------------------------------------------ + +part parent "m128" + desc = "ATmega128A"; + id = "m128a"; + variants = + "ATmega128A: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega128A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MNR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 86; +; #------------------------------------------------------------ # AT90CAN128 #------------------------------------------------------------ part - id = "c128"; - desc = "AT90CAN128"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x97 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN128"; + id = "c128"; + variants = + "AT90CAN128: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, N/A]", + "AT90CAN128-15AZ: TQFP64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 176; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN64 #------------------------------------------------------------ part - id = "c64"; - desc = "AT90CAN64"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x96 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN64"; + id = "c64"; + variants = + "AT90CAN64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 172; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN32 #------------------------------------------------------------ part - id = "c32"; - desc = "AT90CAN32"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x95 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN32"; + id = "c32"; + variants = + "AT90CAN32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 171; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 1024; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 256; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega16 #------------------------------------------------------------ part - id = "m16"; - desc = "ATmega16"; - has_jtag = yes; - stk500_devcode = 0x82; - avr910_devcode = 0x74; - signature = 0x1e 0x94 0x03; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 100; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega16"; + id = "m16"; + variants = + "ATmega16: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega16-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MQ: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MUR: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16L-8AQ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AQR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AUR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 49; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x03; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" - size = 4; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; - + size = 4; + read = "0011.1000--000x.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# ATmega164P +# ATmega16A #------------------------------------------------------------ -# close to ATmega16 - part parent "m16" - id = "m164p"; - desc = "ATmega164P"; - signature = 0x1e 0x94 0x0a; - - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - allowfullpagebitstream = no; - chip_erase_delay = 55000; - - ocdrev = 3; - ; - + desc = "ATmega16A"; + id = "m16a"; + variants = + "ATmega16A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 50; +; #------------------------------------------------------------ # ATmega324P #------------------------------------------------------------ -# similar to ATmega164P - part - id = "m324p"; - desc = "ATmega324P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x95 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega324P"; + id = "m324p"; + variants = + "ATmega324P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega324P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AUR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 111; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ +part parent "m324p" + desc = "ATmega164P"; + id = "m164p"; + variants = + "ATmega164P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega164P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MUR: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 93; + boot_section_size = 256; + signature = 0x1e 0x94 0x0a; + + memory "eeprom" + size = 512; + delay = 20; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + ; +; + +#------------------------------------------------------------ +# ATmega164PA +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164PA"; + id = "m164pa"; + variants = + "ATmega164PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CUR: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCHR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 94; +; + +#------------------------------------------------------------ +# ATmega164A +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164A"; + id = "m164a"; + variants = + "ATmega164A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CUR: VFBGA49, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCHR: QFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MUR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 92; + signature = 0x1e 0x94 0x0f; +; + +#------------------------------------------------------------ +# ATmega324PB +#------------------------------------------------------------ + +part parent "m324p" + desc = "ATmega324PB"; + id = "m324pb"; + variants = + "ATmega324PB-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MN: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MNR: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 113; + n_interrupts = 51; + signature = 0x1e 0x95 0x17; + + memory "efuse" + initval = 0x07; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; +; #------------------------------------------------------------ # ATmega324PA #------------------------------------------------------------ -# similar to ATmega324P +part parent "m324p" + desc = "ATmega324PA"; + id = "m324pa"; + variants = + "ATmega324PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCHR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 112; + signature = 0x1e 0x95 0x11; +; + +#------------------------------------------------------------ +# ATmega324A +#------------------------------------------------------------ part parent "m324p" - id = "m324pa"; - desc = "ATmega324PA"; - signature = 0x1e 0x95 0x11; - - ocdrev = 3; - ; - + desc = "ATmega324A"; + id = "m324a"; + variants = + "ATmega324A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 110; + signature = 0x1e 0x95 0x15; +; #------------------------------------------------------------ # ATmega644 #------------------------------------------------------------ -# similar to ATmega164 - part - id = "m644"; - desc = "ATmega644"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x96 0x09; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega644"; + id = "m644"; + variants = + "ATmega644: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20AUR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644V-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MU: MLF44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 127; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega644A +#------------------------------------------------------------ + +part parent "m644" + desc = "ATmega644A"; + id = "m644a"; + variants = + "ATmega644A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 128; + n_interrupts = 31; +; #------------------------------------------------------------ # ATmega644P #------------------------------------------------------------ -# similar to ATmega164p +part parent "m644" + desc = "ATmega644P"; + id = "m644p"; + variants = + "ATmega644P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQ: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PQ: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 129; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; + +#------------------------------------------------------------ +# ATmega644PA +#------------------------------------------------------------ part parent "m644" - id = "m644p"; - desc = "ATmega644P"; - signature = 0x1e 0x96 0x0a; - - ocdrev = 3; - ; - - + desc = "ATmega644PA"; + id = "m644pa"; + variants = + "ATmega644PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-ANR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MNR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 130; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; #------------------------------------------------------------ # ATmega1284 #------------------------------------------------------------ -# similar to ATmega164 - part - id = "m1284"; - desc = "ATmega1284"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x06; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega1284"; + id = "m1284"; + variants = + "ATmega1284-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MUR: MLF44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 140; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 128; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1284P #------------------------------------------------------------ -# similar to ATmega164p - -part - id = "m1284p"; - desc = "ATmega1284P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x05; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - +part parent "m1284" + desc = "ATmega1284P"; + id = "m1284p"; + variants = + "ATmega1284P-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MN: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 141; + signature = 0x1e 0x97 0x05; +; #------------------------------------------------------------ # ATmega162 #------------------------------------------------------------ part - id = "m162"; - desc = "ATmega162"; - has_jtag = yes; - stk500_devcode = 0x83; - avr910_devcode = 0x63; - signature = 0x1e 0x94 0x04; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - - idr = 0x04; - spmcr = 0x57; + desc = "ATmega162"; + id = "m162"; + variants = + "ATmega162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega162-16AC: TQFP44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16AI: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AJ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MC: VFQFN44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16MI: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MJ: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MU: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MUR: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PC: DIP40, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16PI: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PJ: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PU: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MC: VFQFN44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162V-1AC: TQFP44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1MC: VFQFN44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1PC: DIP40, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AJ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MJ: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MU: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MUR: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PJ: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PU: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 90; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x04; + reset = io; allowfullpagebitstream = yes; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - ocdrev = 2; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - - ; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x04; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1e; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--111i.iii1"; + ; memory "lock" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--00xx.xxxx--0000.0000--oooo.oooo"; + ; ; - - #------------------------------------------------------------ # ATmega163 #------------------------------------------------------------ part - id = "m163"; - desc = "ATmega163"; - stk500_devcode = 0x81; - avr910_devcode = 0x64; - signature = 0x1e 0x94 0x02; - chip_erase_delay = 32000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega163"; + id = "m163"; + variants = + "ATmega163-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 91; + n_interrupts = 18; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x02; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - - memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 16000; - max_write_delay = 16000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 20; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback = 0xff 0xff; + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o x x o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i 1 1 i i i i"; - ; + size = 1; + initval = 0xdf; + bitmask = 0xef; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--ooxx.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--ii11.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x 1 o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--xxxx.1ooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x 0 x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.0xxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega169 #------------------------------------------------------------ part - id = "m169"; - desc = "ATmega169"; - has_jtag = yes; - stk500_devcode = 0x85; - avr910_devcode = 0x78; - signature = 0x1e 0x94 0x05; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega169"; + id = "m169"; + variants = + "ATmega169: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4MC: VFQFN64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169V-1AC: TQFP64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-1MC: VFQFN64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 104; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega169A +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169A"; + id = "m169a"; + variants = + "ATmega169A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MCH: DRQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 105; + signature = 0x1e 0x94 0x11; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169P +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169P"; + id = "m169p"; + variants = + "ATmega169P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCHR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCH: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCHR: QFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCU: VQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 106; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169PA +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169PA"; + id = "m169pa"; + variants = + "ATmega169PA-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCHR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MNR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 107; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # ATmega329 #------------------------------------------------------------ part - id = "m329"; - desc = "ATmega329"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x95 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega329"; + id = "m329"; + variants = + "ATmega329: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega329-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 121; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega329A +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329A"; + id = "m329a"; + variants = + "ATmega329A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329A-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-MU: VQFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 122; +; #------------------------------------------------------------ # ATmega329P #------------------------------------------------------------ -# Identical to ATmega329 except of the signature part parent "m329" - id = "m329p"; - desc = "ATmega329P"; - signature = 0x1e 0x95 0x0b; + desc = "ATmega329P"; + id = "m329p"; + variants = + "ATmega329P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329P-20AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329P-20ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MNR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MN: VQFN64, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MUR: VQFN64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 123; + signature = 0x1e 0x95 0x0b; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega329PA +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329PA"; + id = "m329pa"; + variants = + "ATmega329PA-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 124; + signature = 0x1e 0x95 0x0b; +; #------------------------------------------------------------ # ATmega3290 #------------------------------------------------------------ -# identical to ATmega329 +part parent "m329" + desc = "ATmega3290"; + id = "m3290"; + variants = + "ATmega3290: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 150; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; + +#------------------------------------------------------------ +# ATmega3290A +#------------------------------------------------------------ part parent "m329" - id = "m3290"; - desc = "ATmega3290"; - signature = 0x1e 0x95 0x04; - - ocdrev = 3; - ; + desc = "ATmega3290A"; + id = "m3290a"; + variants = + "ATmega3290A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 151; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; #------------------------------------------------------------ # ATmega3290P #------------------------------------------------------------ -# identical to ATmega3290 except of the signature +part parent "m329" + desc = "ATmega3290P"; + id = "m3290p"; + variants = + "ATmega3290P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 152; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; -part parent "m3290" - id = "m3290p"; - desc = "ATmega3290P"; - signature = 0x1e 0x95 0x0c; +#------------------------------------------------------------ +# ATmega3290PA +#------------------------------------------------------------ - ocdrev = 3; - ; +part parent "m329" + desc = "ATmega3290PA"; + id = "m3290pa"; + variants = + "ATmega3290PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AUR: TQFP100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 153; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; #------------------------------------------------------------ # ATmega649 #------------------------------------------------------------ part - id = "m649"; - desc = "ATmega649"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x96 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega649"; + id = "m649"; + variants = + "ATmega649: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega649-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 135; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega649A +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649A"; + id = "m649a"; + variants = + "ATmega649A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 136; +; + +#------------------------------------------------------------ +# ATmega649P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649P"; + id = "m649p"; + variants = + "ATmega649P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649P-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 137; + signature = 0x1e 0x96 0x0b; +; #------------------------------------------------------------ # ATmega6490 #------------------------------------------------------------ -# identical to ATmega649 +part parent "m649" + desc = "ATmega6490"; + id = "m6490"; + variants = + "ATmega6490: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega6490-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 157; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; + +#------------------------------------------------------------ +# ATmega6490A +#------------------------------------------------------------ part parent "m649" - id = "m6490"; - desc = "ATmega6490"; - signature = 0x1e 0x96 0x04; + desc = "ATmega6490A"; + id = "m6490a"; + variants = + "ATmega6490A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 158; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6490P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega6490P"; + id = "m6490p"; + variants = + "ATmega6490P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 159; + n_interrupts = 25; + signature = 0x1e 0x96 0x0c; +; #------------------------------------------------------------ # ATmega32 #------------------------------------------------------------ part - id = "m32"; - desc = "ATmega32"; - has_jtag = yes; - stk500_devcode = 0x91; - avr910_devcode = 0x72; - signature = 0x1e 0x95 0x02; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega32"; + id = "m32"; + variants = + "ATmega32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega32-16AQ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MUR: VQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 58; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x02; + reset = io; allowfullpagebitstream = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega161 #------------------------------------------------------------ part - id = "m161"; - desc = "ATmega161"; - stk500_devcode = 0x80; - avr910_devcode = 0x60; - signature = 0x1e 0x94 0x01; - chip_erase_delay = 28000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega161"; + id = "m161"; + variants = + "ATmega161-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 89; + n_interrupts = 21; + n_boot_sections = 1; + boot_section_size = 1024; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - min_write_delay = 3400; - max_write_delay = 3400; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback = 0xff 0xff; + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 14000; - max_write_delay = 14000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 16; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback = 0xff 0xff; + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x o x o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x 1 i 1 i i i i i"; - ; + size = 1; + initval = 0xda; + bitmask = 0x77; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xoxo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--1i1i.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega32A +#------------------------------------------------------------ + +part parent "m32" + desc = "ATmega32A"; + id = "m32a"; + variants = + "ATmega32A-AN: TQFP44, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-ANR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MN: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MNR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MUR: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PN: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 59; +; #------------------------------------------------------------ # ATmega8 #------------------------------------------------------------ part - id = "m8"; - desc = "ATmega8"; - stk500_devcode = 0x70; - avr910_devcode = 0x76; - signature = 0x1e 0x93 0x07; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 10000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATmega8"; + id = "m8"; + variants = + "ATmega8: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega8-16AN: TQFP32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MUR: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PN: PDIP28, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8L-8AN: TQFP32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AU: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AUR: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MN: QFN32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MUR: VQFN32, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PN: PDIP28, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PU: PDIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 45; + n_interrupts = 19; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; + signature = 0x1e 0x93 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - page_size = 4; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 10; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - - # Required for Arduino IDE - # see: https://github.com/arduino/Arduino/issues/2075 - # https://github.com/arduino/Arduino/issues/2075#issuecomment-238031689 - memory "efuse" - size = 0; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega8A +#------------------------------------------------------------ + +part parent "m8" + desc = "ATmega8A"; + id = "m8a"; + variants = + "ATmega8A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AN: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-ANR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MN: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MNR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PN: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 46; +; #------------------------------------------------------------ # ATmega8515 #------------------------------------------------------------ part - id = "m8515"; - desc = "ATmega8515"; - stk500_devcode = 0x63; - avr910_devcode = 0x3A; - signature = 0x1e 0x93 0x06; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8515"; + id = "m8515"; + variants = + "ATmega8515: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 160; + n_interrupts = 17; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x63; + avr910_devcode = 0x3a; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8535 #------------------------------------------------------------ part - id = "m8535"; - desc = "ATmega8535"; - stk500_devcode = 0x64; - avr910_devcode = 0x69; - signature = 0x1e 0x93 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8535"; + id = "m8535"; + variants = + "ATmega8535: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8535-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MUR: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 161; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny26 #------------------------------------------------------------ part - id = "t26"; - desc = "ATtiny26"; - stk500_devcode = 0x21; - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x09; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATtiny26"; + id = "t26"; + variants = + "ATtiny26: N/A, Fmax=16 MHz, T=[N/A, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16PU: PDIP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8MUR: VQFN32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8PU: PDIP20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 17; + n_interrupts = 12; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x91 0x09; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 16; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x x x x i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + size = 1; + initval = 0xe1; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; -; + memory "hfuse" + size = 1; + initval = 0xf7; + bitmask = 0x1f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--xxxi.iiii"; + ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny261 #------------------------------------------------------------ -# Close to ATtiny26 part - id = "t261"; - desc = "ATtiny261"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0c; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny261"; + id = "t261"; + variants = + "ATtiny261: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny261-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 30; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 128; - page_size = 4; - num_pages = 32; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny261A +#------------------------------------------------------------ + +part parent "t261" + desc = "ATtiny261A"; + id = "t261a"; + variants = + "ATtiny261A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MF: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MFR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MN: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MNR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 31; +; #------------------------------------------------------------ # ATtiny461 #------------------------------------------------------------ -# Close to ATtiny261 part - id = "t461"; - desc = "ATtiny461"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x08; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny461"; + id = "t461"; + variants = + "ATtiny461: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny461-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 33; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 256; - page_size = 4; - num_pages = 64; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny461A +#------------------------------------------------------------ + +part parent "t461" + desc = "ATtiny461A"; + id = "t461a"; + variants = + "ATtiny461A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 34; +; #------------------------------------------------------------ # ATtiny861 #------------------------------------------------------------ -# Close to ATtiny461 part - id = "t861"; - desc = "ATtiny861"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x93 0x0d; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny861"; + id = "t861"; + variants = + "ATtiny861: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny861-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SUR: SOIC20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny861V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 38; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 512; - num_pages = 128; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.aaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny861A +#------------------------------------------------------------ + +part parent "t861" + desc = "ATtiny861A"; + id = "t861a"; + variants = + "ATtiny861A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 39; +; #------------------------------------------------------------ # ATtiny28 @@ -7517,671 +7870,728 @@ part # This is an HVPP-only device. part - id = "t28"; - desc = "ATtiny28"; - stk500_devcode = 0x22; - avr910_devcode = 0x5c; - signature = 0x1e 0x91 0x07; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny28"; + id = "t28"; + variants = + "ATtiny28: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4AU: TQFP32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MU: MLF32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MUR: VQFN32, Fmax=4 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4PU: PDIP28, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28V-1AU: TQFP32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1AUR: TQFP32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MU: MLF32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MUR: VQFN32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1PU: PDIP28, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_HVPP; + mcuid = 18; + n_interrupts = 6; + stk500_devcode = 0x22; + avr910_devcode = 0x5c; + signature = 0x1e 0x91 0x07; + serial = no; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; memory "flash" - size = 2048; - page_size = 2; - readsize = 256; - delay = 5; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; + size = 2048; + page_size = 2; + delay = 5; + readsize = 256; ; memory "fuse" - size = 1; + size = 1; + initval = 0x12; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0x06; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; ; ; - - #------------------------------------------------------------ # ATmega48 #------------------------------------------------------------ part - id = "m48"; - desc = "ATmega48"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x59; -# avr910_devcode = 0x; - signature = 0x1e 0x92 0x05; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 45000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega48"; + id = "m48"; + variants = + "ATmega48: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMH: VQFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMU: QFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMUR: VQFN28, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 67; + n_interrupts = 26; + stk500_devcode = 0x59; + chip_erase_delay = 45000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega48A +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48A"; + id = "m48a"; + variants = + "ATmega48A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 68; +; #------------------------------------------------------------ # ATmega48P #------------------------------------------------------------ part parent "m48" - id = "m48p"; - desc = "ATmega48P"; - signature = 0x1e 0x92 0x0a; + desc = "ATmega48P"; + id = "m48p"; + variants = + "ATmega48P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMU: MLF28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 69; + signature = 0x1e 0x92 0x0a; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega48PA +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48PA"; + id = "m48pa"; + variants = + "ATmega48PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AUR: QFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMHR: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMN: QFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMNR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PN: SPDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 70; + signature = 0x1e 0x92 0x0a; +; #------------------------------------------------------------ # ATmega48PB #------------------------------------------------------------ part parent "m48" - id = "m48pb"; - desc = "ATmega48PB"; - signature = 0x1e 0x92 0x10; - - ocdrev = 1; - ; + desc = "ATmega48PB"; + id = "m48pb"; + variants = + "ATmega48PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 71; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x92 0x10; +; #------------------------------------------------------------ # ATmega88 #------------------------------------------------------------ part - id = "m88"; - desc = "ATmega88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x0a; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega88"; + id = "m88"; + variants = + "ATmega88: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 79; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega88A +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88A"; + id = "m88a"; + variants = + "ATmega88A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 80; +; #------------------------------------------------------------ # ATmega88P #------------------------------------------------------------ part parent "m88" - id = "m88p"; - desc = "ATmega88P"; - signature = 0x1e 0x93 0x0f; + desc = "ATmega88P"; + id = "m88p"; + variants = + "ATmega88P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MUR: VQFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 81; + signature = 0x1e 0x93 0x0f; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega88PA +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88PA"; + id = "m88pa"; + variants = + "ATmega88PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-15MZ: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMHR: VQFN28, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMN: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMNR: VQFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMUR: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 82; + signature = 0x1e 0x93 0x0f; +; #------------------------------------------------------------ # ATmega88PB #------------------------------------------------------------ part parent "m88" - id = "m88pb"; - desc = "ATmega88PB"; - signature = 0x1e 0x93 0x16; - - ocdrev = 1; - ; + desc = "ATmega88PB"; + id = "m88pb"; + variants = + "ATmega88PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 83; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x93 0x16; +; #------------------------------------------------------------ # ATmega168 #------------------------------------------------------------ part - id = "m168"; - desc = "ATmega168"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x06; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega168"; + id = "m168"; + variants = + "ATmega168: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega168-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQ: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQR: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 99; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; + memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega168A +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168A"; + id = "m168a"; + variants = + "ATmega168A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 100; ; #------------------------------------------------------------ @@ -8189,11 +8599,52 @@ part #------------------------------------------------------------ part parent "m168" - id = "m168p"; - desc = "ATmega168P"; - signature = 0x1e 0x94 0x0b; + desc = "ATmega168P"; + id = "m168p"; + variants = + "ATmega168P-20AN: TQFP32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQR: QFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168PV-10AN: TQFP32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 101; + signature = 0x1e 0x94 0x0b; +; - ocdrev = 1; +#------------------------------------------------------------ +# ATmega168PA +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168PA"; + id = "m168pa"; + variants = + "ATmega168PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMHR: QFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 102; + signature = 0x1e 0x94 0x0b; ; #------------------------------------------------------------ @@ -8201,11 +8652,617 @@ part parent "m168" #------------------------------------------------------------ part parent "m168" - id = "m168pb"; - desc = "ATmega168PB"; - signature = 0x1e 0x94 0x15; + desc = "ATmega168PB"; + id = "m168pb"; + variants = + "ATmega168PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 103; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x94 0x15; +; - ocdrev = 1; +#------------------------------------------------------------ +# ATtiny828 +#------------------------------------------------------------ + +part + desc = "ATtiny828"; + id = "t828"; + variants = + "ATtiny828: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.62 V, 5.5 V]", + "ATtiny828-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 35; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + bitmask = 0xf3; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0xf7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.1iii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny828R +#------------------------------------------------------------ + +part parent "t828" + desc = "ATtiny828R"; + id = "t828r"; + variants = + "ATtiny828R-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828R-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 36; +; + +#------------------------------------------------------------ +# ATtiny87 +#------------------------------------------------------------ + +part + desc = "ATtiny87"; + id = "t87"; + variants = + "ATtiny87: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 27; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x93 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny87 has signature bytes 0x1E 0x93 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny167 +#------------------------------------------------------------ + +part + desc = "ATtiny167"; + id = "t167"; + variants = + "ATtiny167: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-A15XD: TSSOP20, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny167-MMU: WQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MMUR: WQFN20, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATtiny167-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 29; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = 0x??; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x94 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny167 has signature bytes 0x1E 0x94 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny48 +#------------------------------------------------------------ + +part + desc = "ATtiny48"; + id = "t48"; + variants = + "ATtiny48-AU: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMHR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMU: MLF28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMUR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MU: MLF32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 23; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; ; #------------------------------------------------------------ @@ -8213,436 +9270,1347 @@ part parent "m168" #------------------------------------------------------------ part - id = "t88"; - desc = "ATtiny88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x11; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny88"; + id = "t88"; + variants = + "ATtiny88-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMHR: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMU: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMUR: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MU: QFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 28; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x11; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 64; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 64; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega328 #------------------------------------------------------------ part - id = "m328"; - desc = "ATmega328"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x14; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega328"; + id = "m328"; + variants = + "ATmega328-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 118; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x95 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 1024; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; + size = 1024; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; ; -; -part parent "m328" - id = "m328p"; - desc = "ATmega328P"; - signature = 0x1e 0x95 0x0F; - - ocdrev = 1; -; - -part parent "m328" - id = "m328pb"; - desc = "ATmega328PB"; - signature = 0x1e 0x95 0x16; - - ocdrev = 1; -; - -#------------------------------------------------------------ -# ATmega32m1 -#------------------------------------------------------------ - -part parent "m328" - id = "m32m1"; - desc = "ATmega32M1"; - # stk500_devcode = 0x; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x84; - bs2 = 0xe2; - - memory "efuse" - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; ; ; #------------------------------------------------------------ -# ATmega64m1 +# ATmega328P #------------------------------------------------------------ part parent "m328" - id = "m64m1"; - desc = "ATmega64M1"; - # stk500_devcode = 0x; - # avr910_devcode = 0x; - signature = 0x1e 0x96 0x84; - bs2 = 0xe2; + desc = "ATmega328P"; + id = "m328p"; + variants = + "ATmega328P: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-15MZ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MNR: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 119; + signature = 0x1e 0x95 0x0f; +; + +#------------------------------------------------------------ +# ATmega328PB +#------------------------------------------------------------ + +part parent "m328" + desc = "ATmega328PB"; + id = "m328pb"; + variants = + "ATmega328PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 120; + n_interrupts = 45; + chip_erase_delay = 10500; + signature = 0x1e 0x95 0x16; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x i i i i i i"; + initval = 0xf7; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; +; + +#------------------------------------------------------------ +# ATmega64M1 +#------------------------------------------------------------ + +part + desc = "ATmega64M1"; + id = "m64m1"; + variants = + "ATmega64M1-15MD: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 76; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x96 0x84; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--0aaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--0aaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--a000.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--11ii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32M1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega32M1"; + id = "m32m1"; + variants = + "ATmega32M1: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 63; + boot_section_size = 512; + signature = 0x1e 0x95 0x84; + + memory "eeprom" + size = 1024; + page_size = 4; + blocksize = 4; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + blocksize = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16M1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega16M1"; + id = "m16m1"; + variants = + "ATmega16M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 54; + signature = 0x1e 0x94 0x84; + + memory "eeprom" + size = 512; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32C1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega32C1"; + id = "m32c1"; + variants = + "ATmega32C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESAD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESMD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 62; + signature = 0x1e 0x95 0x86; +; + +#------------------------------------------------------------ +# ATmega64C1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega64C1"; + id = "m64c1"; + variants = + "ATmega64C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESAZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESMZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 75; + signature = 0x1e 0x96 0x86; +; + +#------------------------------------------------------------ +# ATA5505 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA5505"; + id = "ata5505"; + variants = + "ATA5505: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATA5505-P3QW: VFQFN38, Fmax=N/A, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 198; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6612C +#------------------------------------------------------------ + +part parent "m88" + desc = "ATA6612C"; + id = "ata6612c"; + variants = + "ATA6612C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6612C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 216; + chip_erase_delay = 4000; + + memory "eeprom" + min_write_delay = 4000; + max_write_delay = 4000; + ; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6613C +#------------------------------------------------------------ + +part parent "m168" + desc = "ATA6613C"; + id = "ata6613c"; + variants = + "ATA6613C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6613C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 217; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6614Q +#------------------------------------------------------------ + +part parent "m328" + desc = "ATA6614Q"; + id = "ata6614q"; + variants = + "ATA6614Q-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6614Q-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 218; + signature = 0x1e 0x95 0x0f; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6616C +#------------------------------------------------------------ + +part parent "t87" + desc = "ATA6616C"; + id = "ata6616c"; + variants = + "ATA6616C-P3PW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 219; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "flash" + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6617C +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA6617C"; + id = "ata6617c"; + variants = + "ATA6617C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6617C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 220; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA664251 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA664251"; + id = "ata664251"; + variants = + "ATA664251: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATA664251-WGQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA664251-WGQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 225; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVA +#------------------------------------------------------------ + +part + desc = "ATmega16HVA"; + id = "m16hva"; + variants = + "ATmega16HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega16HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 51; + n_interrupts = 21; + chip_erase_delay = 4000; + signature = 0x1e 0x94 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0000--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.0000--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "fuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega8HVA +#------------------------------------------------------------ + +part parent "m16hva" + desc = "ATmega8HVA"; + id = "m8hva"; + variants = + "ATmega8HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega8HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + mcuid = 47; + signature = 0x1e 0x93 0x10; + + memory "flash" + size = 8192; + num_pages = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVB +#------------------------------------------------------------ + +part + desc = "ATmega16HVB"; + id = "m16hvb"; + variants = + "ATmega16HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega16HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega16HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 52; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 4000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x94 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xdd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xe9; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--111o.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--111i.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVBrevB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega16HVBrevB"; + id = "m16hvbrevb"; + variants = + "ATmega16HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 53; +; + +#------------------------------------------------------------ +# ATmega32HVB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega32HVB"; + id = "m32hvb"; + variants = + "ATmega32HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega32HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega32HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + mcuid = 60; + signature = 0x1e 0x95 0x10; + + memory "eeprom" + size = 1024; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + num_pages = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVBrevB +#------------------------------------------------------------ + +part parent "m32hvb" + desc = "ATmega32HVBrevB"; + id = "m32hvbrevb"; + variants = + "ATmega32HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 61; +; + +#------------------------------------------------------------ +# ATmega64HVE2 +#------------------------------------------------------------ + +part + desc = "ATmega64HVE2"; + id = "m64hve2"; + variants = + "ATmega64HVE2: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 3.6 V]", + "ATmega64HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega64HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 77; + n_interrupts = 25; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 4000; + signature = 0x1e 0x96 0x10; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 128; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xd7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xf9; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--1111.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVE2 +#------------------------------------------------------------ + +part parent "m64hve2" + desc = "ATmega32HVE2"; + id = "m32hve2"; + variants = + "ATmega32HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega32HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + mcuid = 379; + signature = 0x1e 0x95 0x13; + + memory "flash" + size = 0x8000; + num_pages = 256; ; ; @@ -8651,555 +10619,607 @@ part parent "m328" #------------------------------------------------------------ part - id = "t2313"; - desc = "ATtiny2313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0a; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny2313"; + id = "t2313"; + variants = + "ATtiny2313: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10MUR: WQFN20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 42; + n_interrupts = 19; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x91 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x1f; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; - - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x64; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + # ATtiny2313 has signature bytes 0x1E 0x91 0x0A + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; # The Tiny2313 has calibration data for both 4 MHz and 8 MHz. # The information in the data sheet of April/2004 is wrong, this works: - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313A +#------------------------------------------------------------ + +part parent "t2313" + desc = "ATtiny2313A"; + id = "t2313a"; + variants = + "ATtiny2313A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 43; + n_interrupts = 21; + idr = 0x27; + + memory "lfuse" + initval = 0x62; + ; +; #------------------------------------------------------------ # ATtiny4313 #------------------------------------------------------------ part - id = "t4313"; - desc = "ATtiny4313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x0d; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny4313"; + id = "t4313"; + variants = + "ATtiny4313: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MUR: MLF20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 44; + n_interrupts = 21; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x92 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny4313 has signature bytes 0x1E 0x92 0x0D + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# AT90PWM1 +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; +part + desc = "AT90PWM1"; + id = "pwm1"; + variants = + "AT90PWM1: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MUR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 166; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x93 0x83; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xb7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--o1oo.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--i1ii.1iii"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM2 #------------------------------------------------------------ part - id = "pwm2"; - desc = "AT90PWM2"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x65; -## avr910_devcode = ?; - signature = 0x1e 0x93 0x81; - pagel = 0xD8; - bs2 = 0xE2; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90PWM2"; + id = "pwm2"; + variants = + "AT90PWM2: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQ: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQR: SOIC24, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 167; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x65; + chip_erase_delay = 9000; + pagel = 0xd8; + bs2 = 0xe2; +# avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + spmcr = 0x57; + eecr = 0x3f; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xf7; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + # AT90PWM2 has signature bytes 0x1E 0x93 0x81 + memory "signature" + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; -# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM3 @@ -9208,9 +11228,27 @@ part # Completely identical to AT90PWM2 (including the signature!) part parent "pwm2" - id = "pwm3"; - desc = "AT90PWM3"; - ; + desc = "AT90PWM3"; + id = "pwm3"; + variants = + "AT90PWM3: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQ: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQT: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 169; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; + + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM2B @@ -9218,12 +11256,28 @@ part parent "pwm2" # Same as AT90PWM2 but different signature. part parent "pwm2" - id = "pwm2b"; - desc = "AT90PWM2B"; - signature = 0x1e 0x93 0x83; + desc = "AT90PWM2B"; + id = "pwm2b"; + variants = + "AT90PWM2B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 168; + signature = 0x1e 0x93 0x83; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; - ocdrev = 1; - ; + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM3B @@ -9232,11 +11286,182 @@ part parent "pwm2" # Completely identical to AT90PWM2B (including the signature!) part parent "pwm2b" - id = "pwm3b"; - desc = "AT90PWM3B"; + desc = "AT90PWM3B"; + id = "pwm3b"; + variants = + "AT90PWM3B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 170; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# AT90PWM161 +#------------------------------------------------------------ + +part + desc = "AT90PWM161"; + id = "pwm161"; + variants = + "AT90PWM161: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MNR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SNR: SOIC20, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 177; + n_interrupts = 20; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xe2; + bs2 = 0xd6; + signature = 0x1e 0x94 0x8b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# AT90PWM81 +#------------------------------------------------------------ + +part parent "pwm161" + desc = "AT90PWM81"; + id = "pwm81"; + variants = + "AT90PWM81: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MF: QFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81EP-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 173; + signature = 0x1e 0x93 0x88; + + memory "flash" + size = 8192; + page_size = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # AT90PWM316 @@ -9245,52 +11470,26 @@ part parent "pwm2b" # Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM. part parent "pwm3b" - id = "pwm316"; - desc = "AT90PWM316"; - signature = 0x1e 0x94 0x83; - - ocdrev = 1; + desc = "AT90PWM316"; + id = "pwm316"; + variants = + "AT90PWM316: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 180; + boot_section_size = 512; + signature = 0x1e 0x94 0x83; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - ; + size = 0x4000; + page_size = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # AT90PWM216 @@ -9298,560 +11497,512 @@ part parent "pwm3b" # Completely identical to AT90PWM316 (including the signature!) part parent "pwm316" - id = "pwm216"; - desc = "AT90PWM216"; - ; + desc = "AT90PWM216"; + id = "pwm216"; + variants = + "AT90PWM216: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 179; +; #------------------------------------------------------------ # ATtiny25 #------------------------------------------------------------ part - id = "t25"; - desc = "ATtiny25"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x08; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny25"; + id = "t25"; + variants = + "ATtiny25: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny25-15ST: SOIC8, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MFR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSHR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-10MF: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MFR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSHR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 16; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny25 has signature bytes 0x1E 0x91 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny45 #------------------------------------------------------------ part - id = "t45"; - desc = "ATtiny45"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x06; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny45"; + id = "t45"; + variants = + "ATtiny45: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-15SZ: SOIC8, Fmax=N/A, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XUR: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XU: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XUR: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 22; + n_interrupts = 15; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny45 has signature bytes 0x1E 0x92 0x08 (data sheet 2586C-AVR-06/05 doc2586.pdf indicates otherwise) + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny85 #------------------------------------------------------------ part - id = "t85"; - desc = "ATtiny85"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0b; - reset = io; - chip_erase_delay = 400000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny85"; + id = "t85"; + variants = + "ATtiny85: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny85-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SF: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85-20SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10MUR: MLF20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 26; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 12; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 30000; - max_write_delay = 30000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny85 has signature bytes 0x1E 0x93 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega640 @@ -9859,380 +12010,282 @@ part # Almost same as ATmega1280, except for different memory sizes part - id = "m640"; - desc = "ATmega640"; - signature = 0x1e 0x96 0x08; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega640"; + id = "m640"; + variants = + "ATmega640: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega640-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CUR: TFBGA100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 126; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1280 #------------------------------------------------------------ part - id = "m1280"; - desc = "ATmega1280"; - signature = 0x1e 0x97 0x03; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega1280"; + id = "m1280"; + variants = + "ATmega1280: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1280-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 138; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1281 @@ -10240,219 +12293,185 @@ part # Identical to ATmega1280 part parent "m1280" - id = "m1281"; - desc = "ATmega1281"; - signature = 0x1e 0x97 0x04; - - ocdrev = 3; - ; + desc = "ATmega1281"; + id = "m1281"; + variants = + "ATmega1281: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1281-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8AUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MUR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 139; + signature = 0x1e 0x97 0x04; +; #------------------------------------------------------------ # ATmega2560 #------------------------------------------------------------ part - id = "m2560"; - desc = "ATmega2560"; - signature = 0x1e 0x98 0x01; - has_jtag = yes; - stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega2560"; + id = "m2560"; + variants = + "ATmega2560: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8AUR: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 143; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x98 0x01; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 4; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + eind = 0x5c; + ocdrev = 4; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 262144; - page_size = 256; - num_pages = 1024; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - load_ext_addr = " 0 1 0 0 1 1 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 a16", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x40000; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega2561 #------------------------------------------------------------ part parent "m2560" - id = "m2561"; - desc = "ATmega2561"; - signature = 0x1e 0x98 0x02; - - ocdrev = 4; - ; + desc = "ATmega2561"; + id = "m2561"; + variants = + "ATmega2561: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega2561-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2561V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 144; + signature = 0x1e 0x98 0x02; +; #------------------------------------------------------------ # ATmega128RFA1 @@ -10460,848 +12479,802 @@ part parent "m2560" # Identical to ATmega2561 but half the ROM part parent "m2561" - id = "m128rfa1"; - desc = "ATmega128RFA1"; - signature = 0x1e 0xa7 0x01; - chip_erase_delay = 55000; - bs2 = 0xE2; + desc = "ATmega128RFA1"; + id = "m128rfa1"; + variants = + "ATmega128RFA1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZF: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZFR: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR-SL514: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 87; + n_interrupts = 72; + chip_erase_delay = 18500; + bs2 = 0xe2; + signature = 0x1e 0xa7 0x01; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + latchcycles = 5; + ocdrev = 3; - ocdrev = 3; + memory "eeprom" + min_write_delay = 13000; + max_write_delay = 13000; + delay = 50; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 0x20000; + num_pages = 512; + delay = 50; + load_ext_addr = NULL; + ; - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; - ; + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + ; +; #------------------------------------------------------------ # ATmega256RFR2 #------------------------------------------------------------ -part parent "m2561" - id = "m256rfr2"; - desc = "ATmega256RFR2"; - signature = 0x1e 0xa8 0x02; - chip_erase_delay = 18500; - bs2 = 0xE2; +part parent "m128rfa1" + desc = "ATmega256RFR2"; + id = "m256rfr2"; + variants = + "ATmega256RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 108; + n_interrupts = 77; + signature = 0x1e 0xa8 0x02; + chiperasepolltimeout = 20; + ocdrev = 4; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 8192; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + read = "1010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xa.aaaa--aaaa.a000--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "flash" + size = 0x40000; + num_pages = 1024; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; + memory "efuse" + initval = 0xfe; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ocdrev = 4; - ; + ##### + # Three separate flash pages + # - Offset 0x100 in signature row + # - Only programmable with JTAG or HVPP + # - Readable from an application + # - Cannot be read using ISP + # - Not erased by chip erase + # + memory "usersig" + paged = yes; + size = 768; + page_size = 256; + num_pages = 3; + offset = 0x100; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 50; + blocksize = 256; + readsize = 256; + ; +; #------------------------------------------------------------ # ATmega128RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m128rfr2"; - desc = "ATmega128RFR2"; - signature = 0x1e 0xa7 0x02; +part parent "m256rfr2" + desc = "ATmega128RFR2"; + id = "m128rfr2"; + variants = + "ATmega128RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 88; + signature = 0x1e 0xa7 0x02; + ocdrev = 3; + memory "eeprom" + size = 4096; + ; - ocdrev = 3; - ; + memory "flash" + size = 0x20000; + num_pages = 512; + load_ext_addr = NULL; + ; +; #------------------------------------------------------------ # ATmega64RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m64rfr2"; - desc = "ATmega64RFR2"; - signature = 0x1e 0xa6 0x02; - - - ocdrev = 3; - - memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; +part parent "m128rfr2" + desc = "ATmega64RFR2"; + id = "m64rfr2"; + variants = + "ATmega64RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 78; + signature = 0x1e 0xa6 0x02; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 13000; - max_write_delay = 13000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; - - - ; + memory "flash" + size = 0x10000; + num_pages = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # ATmega2564RFR2 #------------------------------------------------------------ part parent "m256rfr2" - id = "m2564rfr2"; - desc = "ATmega2564RFR2"; - signature = 0x1e 0xa8 0x03; - ; + desc = "ATmega2564RFR2"; + id = "m2564rfr2"; + variants = + "ATmega2564RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 145; + signature = 0x1e 0xa8 0x03; +; #------------------------------------------------------------ # ATmega1284RFR2 #------------------------------------------------------------ part parent "m128rfr2" - id = "m1284rfr2"; - desc = "ATmega1284RFR2"; - signature = 0x1e 0xa7 0x03; - ; + desc = "ATmega1284RFR2"; + id = "m1284rfr2"; + variants = + "ATmega1284RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 142; + signature = 0x1e 0xa7 0x03; +; #------------------------------------------------------------ # ATmega644RFR2 #------------------------------------------------------------ part parent "m64rfr2" - id = "m644rfr2"; - desc = "ATmega644RFR2"; - signature = 0x1e 0xa6 0x03; - ; + desc = "ATmega644RFR2"; + id = "m644rfr2"; + variants = + "ATmega644RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 131; + signature = 0x1e 0xa6 0x03; +; #------------------------------------------------------------ # ATtiny24 #------------------------------------------------------------ part - id = "t24"; - desc = "ATtiny24"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x0b; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny24"; + id = "t24"; + variants = + "ATtiny24: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 14; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny24 has signature bytes 0x1E 0x91 0x0B + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny24A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t24" + desc = "ATtiny24A"; + id = "t24a"; + variants = + "ATtiny24A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8R: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 15; +; #------------------------------------------------------------ # ATtiny44 #------------------------------------------------------------ part - id = "t44"; - desc = "ATtiny44"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x07; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny44"; + id = "t44"; + variants = + "ATtiny44: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSUR: SOIC14N, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 20; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny44 has signature bytes 0x1E 0x92 0x07 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny44A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t44" + desc = "ATtiny44A"; + id = "t44a"; + variants = + "ATtiny44A: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = XVII + IV; # 21; +; #------------------------------------------------------------ # ATtiny84 #------------------------------------------------------------ part - id = "t84"; - desc = "ATtiny84"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0c; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny84"; + id = "t84"; + variants = + "ATtiny84: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84-15MZ: MLF20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSU: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSUR: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 24; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny84 has signature bytes 0x1E 0x93 0x0C + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny84A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t84" + desc = "ATtiny84A"; + id = "t84a"; + variants = + "ATtiny84A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MF: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MFR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 25; +; #------------------------------------------------------------ # ATtiny441 #------------------------------------------------------------ part parent "t44" - id = "t441"; - desc = "ATtiny441"; - signature = 0x1e 0x92 0x15; + desc = "ATtiny441"; + id = "t441"; + variants = + "ATtiny441-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 32; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x92 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - memory "flash" - paged = yes; - size = 4096; - page_size = 16; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "flash" + page_size = 16; + num_pages = 256; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaaa.axxx--xxxx.xxxx"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + bitmask = 0xdf; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; ; #------------------------------------------------------------ @@ -11309,60 +13282,41 @@ part parent "t44" #------------------------------------------------------------ part parent "t84" - id = "t841"; - desc = "ATtiny841"; - signature = 0x1e 0x93 0x15; + desc = "ATtiny841"; + id = "t841"; + variants = + "ATtiny841-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 37; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x93 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - memory "flash" - paged = yes; - size = 8192; - page_size = 16; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "flash" + page_size = 16; + num_pages = 512; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaaa.axxx--xxxx.xxxx"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + bitmask = 0xdf; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x x a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; ; #------------------------------------------------------------ @@ -11370,177 +13324,281 @@ part parent "t84" #------------------------------------------------------------ part - id = "t43u"; - desc = "ATtiny43u"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x0C; - reset = io; - chip_erase_delay = 1000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E, - 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56, - 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 20; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny43U"; + id = "t43u"; + variants = + "ATtiny43U: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[0.7 V, 5.5 V]", + "ATtiny43U-MU: QFN20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-MUR: WQFN20, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 19; + n_interrupts = 16; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 1000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x92 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + memory "eeprom" - size = 64; - paged = yes; - page_size = 4; - num_pages = 16; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " 0 0 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + paged = yes; + size = 64; + page_size = 4; + num_pages = 16; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--00aa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--00aa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--00aa.aa00--xxxx.xxxx"; ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 4500; - max_write_delay = 4500; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; ; memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16u4 +#------------------------------------------------------------ + +part + desc = "ATmega16U4"; + id = "m16u4"; + variants = + "ATmega16U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 57; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x88; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--00oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -11549,382 +13607,280 @@ part #------------------------------------------------------------ part - id = "m32u4"; - desc = "ATmega32U4"; - signature = 0x1e 0x95 0x87; - usbpid = 0x2ff4; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U4"; + id = "m32u4"; + variants = + "ATmega32U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AUR: QFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 65; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x87; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB646 #------------------------------------------------------------ part - id = "usb646"; - desc = "AT90USB646"; - signature = 0x1e 0x96 0x82; - usbpid = 0x2ff9; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB646"; + id = "usb646"; + variants = + "AT90USB646: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 181; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x82; + usbpid = 0x2ff9; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x9b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB647 @@ -11932,203 +13888,156 @@ part # identical to AT90USB646 part parent "usb646" - id = "usb647"; - desc = "AT90USB647"; - signature = 0x1e 0x96 0x82; - - ocdrev = 3; - ; + desc = "AT90USB647"; + id = "usb647"; + variants = + "AT90USB647: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 182; +; #------------------------------------------------------------ # AT90USB1286 #------------------------------------------------------------ part - id = "usb1286"; - desc = "AT90USB1286"; - signature = 0x1e 0x97 0x82; - usbpid = 0x2ffb; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB1286"; + id = "usb1286"; + variants = + "AT90USB1286: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 184; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x82; + usbpid = 0x2ffb; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB1287 @@ -12136,1404 +14045,1522 @@ part # identical to AT90USB1286 part parent "usb1286" - id = "usb1287"; - desc = "AT90USB1287"; - signature = 0x1e 0x97 0x82; - - ocdrev = 3; - ; + desc = "AT90USB1287"; + id = "usb1287"; + variants = + "AT90USB1287: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 185; +; #------------------------------------------------------------ # AT90USB162 #------------------------------------------------------------ part - id = "usb162"; - desc = "AT90USB162"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x82; - usbpid = 0x2ffa; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB162"; + id = "usb162"; + variants = + "AT90USB162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 178; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x82; + usbpid = 0x2ffa; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB82 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 8192; -# num_pages = 64; part - id = "usb82"; - desc = "AT90USB82"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x82; - usbpid = 0x2ff7; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB82"; + id = "usb82"; + variants = + "AT90USB82: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 174; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x82; + usbpid = 0x2ff7; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega32U2 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 32768; -# num_pages = 256; -# memory "eeprom" -# size = 1024; -# num_pages = 256; + part - id = "m32u2"; - desc = "ATmega32U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x95 0x8a; - usbpid = 0x2ff0; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U2"; + id = "m32u2"; + variants = + "ATmega32U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 64; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x95 0x8a; + usbpid = 0x2ff0; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - num_pages = 256; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + num_pages = 256; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + #------------------------------------------------------------ # ATmega16U2 #------------------------------------------------------------ -# Changes against ATmega32U2 (beside IDs) -# memory "flash" -# size = 16384; -# num_pages = 128; -# memory "eeprom" -# size = 512; -# num_pages = 128; + part - id = "m16u2"; - desc = "ATmega16U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x89; - usbpid = 0x2fef; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega16U2"; + id = "m16u2"; + variants = + "ATmega16U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 56; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x89; + usbpid = 0x2fef; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8U2 #------------------------------------------------------------ -# Changes against ATmega16U2 (beside IDs) -# memory "flash" -# size = 8192; -# page_size = 64; -# blocksize = 64; part - id = "m8u2"; - desc = "ATmega8U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x89; - usbpid = 0x2fee; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8U2"; + id = "m8u2"; + variants = + "ATmega8U2-AU: LQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 48; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x89; + usbpid = 0x2fee; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165P +#------------------------------------------------------------ + +part + desc = "ATmega165P"; + id = "m165p"; + variants = + "ATmega165P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165P-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16ANR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MN: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165PV-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8ANR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 97; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 256; +# stk500_devcode = 0x??; +# avr910_devcode = 0x??; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00xa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00xa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00xa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--0000.0000--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165A +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165A"; + id = "m165a"; + variants = + "ATmega165A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-MUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 96; + signature = 0x1e 0x94 0x10; +; + +#------------------------------------------------------------ +# ATmega165 +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165"; + id = "m165"; + variants = + "ATmega165: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 95; + + memory "eeprom" + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATmega165PA +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165PA"; + id = "m165pa"; + variants = + "ATmega165PA: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 98; +; + #------------------------------------------------------------ # ATmega325 #------------------------------------------------------------ part - id = "m325"; - desc = "ATmega325"; - signature = 0x1e 0x95 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega325"; + id = "m325"; + variants = + "ATmega325: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 114; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaaa.aaaa--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega325A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325A"; + id = "m325a"; + variants = + "ATmega325A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MNR: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 115; +; + +#------------------------------------------------------------ +# ATmega325P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325P"; + id = "m325p"; + variants = + "ATmega325P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MUR: VQFN64, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 116; + signature = 0x1e 0x95 0x0d; +; + +#------------------------------------------------------------ +# ATmega325PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325PA"; + id = "m325pa"; + variants = + "ATmega325PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MU: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 117; + signature = 0x1e 0x95 0x0d; +; #------------------------------------------------------------ # ATmega645 #------------------------------------------------------------ part - id = "m645"; - desc = "ATmega645"; - signature = 0x1E 0x96 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega645"; + id = "m645"; + variants = + "ATmega645: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega645V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 132; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaaa.aaaa--0000.0000"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega645A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645A"; + id = "m645a"; + variants = + "ATmega645A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 133; +; + +#------------------------------------------------------------ +# ATmega645P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645P"; + id = "m645p"; + variants = + "ATmega645P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 134; + signature = 0x1e 0x96 0x0d; +; #------------------------------------------------------------ # ATmega3250 #------------------------------------------------------------ part parent "m325" - id = "m3250"; - desc = "ATmega3250"; - signature = 0x1E 0x95 0x06; + desc = "ATmega3250"; + id = "m3250"; + variants = + "ATmega3250: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 146; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega3250A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250A"; + id = "m3250a"; + variants = + "ATmega3250A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 147; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; + +#------------------------------------------------------------ +# ATmega3250P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250P"; + id = "m3250p"; + variants = + "ATmega3250P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 148; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; + +#------------------------------------------------------------ +# ATmega3250PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250PA"; + id = "m3250pa"; + variants = + "ATmega3250PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 149; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; #------------------------------------------------------------ # ATmega6450 #------------------------------------------------------------ part parent "m645" - id = "m6450"; - desc = "ATmega6450"; - signature = 0x1E 0x96 0x06; + desc = "ATmega6450"; + id = "m6450"; + variants = + "ATmega6450: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6450-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6450V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 154; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6450A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450A"; + id = "m6450a"; + variants = + "ATmega6450A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 155; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; + +#------------------------------------------------------------ +# ATmega6450P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450P"; + id = "m6450p"; + variants = + "ATmega6450P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 156; + n_interrupts = 25; + signature = 0x1e 0x96 0x0e; +; #------------------------------------------------------------ # AVR XMEGA family common values #------------------------------------------------------------ part - id = ".xmega"; - desc = "AVR XMEGA family common values"; - has_pdi = yes; - nvm_base = 0x01c0; - mcu_base = 0x0090; - - memory "signature" - size = 3; - offset = 0x1000090; - ; - - memory "prodsig" - size = 0x32; - offset = 0x8e0200; - page_size = 0x32; - readsize = 0x32; - ; + desc = "AVR XMEGA family common values"; + id = ".xmega"; + prog_modes = PM_SPM | PM_PDI; + n_boot_sections = 1; + mcu_base = 0x0090; + nvm_base = 0x01c0; + autobaud_sync = 0x20; memory "fuse1" - size = 1; - offset = 0x8f0021; + size = 1; + initval = 0x00; + offset = 0x8f0021; ; memory "fuse2" - size = 1; - offset = 0x8f0022; + size = 1; + initval = 0xff; + bitmask = 0x63; + offset = 0x8f0022; ; memory "fuse4" - size = 1; - offset = 0x8f0024; + size = 1; + initval = 0xff; + bitmask = 0x1e; + offset = 0x8f0024; ; memory "fuse5" - size = 1; - offset = 0x8f0025; + size = 1; + initval = 0xff; + bitmask = 0x3f; + offset = 0x8f0025; ; memory "lock" - size = 1; - offset = 0x8f0027; + size = 1; + initval = 0xff; + offset = 0x8f0027; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "prodsig" + size = 50; + page_size = 50; + offset = 0x8e0200; + readsize = 50; ; memory "data" # SRAM, only used to supply the offset - offset = 0x1000000; + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-E family common values +#------------------------------------------------------------ + +# Fuse for fault detection action on Px0..5 (unique to XMEGA-E) + +part parent ".xmega" + desc = "AVR XMEGA-E family common values"; + id = ".xmega-e"; + + memory "fuse6" + size = 1; + initval = 0xff; + offset = 0x8f0026; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-A family common values +#------------------------------------------------------------ + +# JTAG user ID (unique to XMEGA-A and XMEGA-B) + +part parent ".xmega" + desc = "AVR XMEGA-A family common values"; + id = ".xmega-a"; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; ; ; @@ -13541,52 +15568,69 @@ part # ATxmega16A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x16a4u"; - desc = "ATxmega16A4U"; - signature = 0x1e 0x94 0x41; - usbpid = 0x2fe3; +part parent ".xmega-a" + desc = "ATxmega16A4U"; + id = "x16a4u"; + variants = + "ATxmega16A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 232; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x94 0x41; + usbpid = 0x2fe3; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x803000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x804000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x5000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13595,9 +15639,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x16a4u" - id = "x16c4"; - desc = "ATxmega16C4"; - signature = 0x1e 0x94 0x43; + desc = "ATxmega16C4"; + id = "x16c4"; + variants = + "ATxmega16C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 233; + signature = 0x1e 0x94 0x43; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13605,9 +15666,28 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16d4"; - desc = "ATxmega16D4"; - signature = 0x1e 0x94 0x42; + desc = "ATxmega16D4"; + id = "x16d4"; + variants = + "ATxmega16D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AUR: TQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 234; + n_interrupts = 91; + signature = 0x1e 0x94 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13615,14 +15695,22 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16a4"; - desc = "ATxmega16A4"; - signature = 0x1e 0x94 0x41; - has_jtag = yes; + desc = "ATxmega16A4"; + id = "x16a4"; + variants = + "ATxmega16A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 231; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13630,52 +15718,69 @@ part parent "x16a4u" # ATxmega32A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x32a4u"; - desc = "ATxmega32A4U"; - signature = 0x1e 0x95 0x41; - usbpid = 0x2fe4; +part parent ".xmega-a" + desc = "ATxmega32A4U"; + id = "x32a4u"; + variants = + "ATxmega32A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-ANR: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 239; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x95 0x41; + usbpid = 0x2fe4; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x807000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x808000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x9000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13684,9 +15789,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x32a4u" - id = "x32c4"; - desc = "ATxmega32C4"; - signature = 0x1e 0x95 0x44; + desc = "ATxmega32C4"; + id = "x32c4"; + variants = + "ATxmega32C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 240; + signature = 0x1e 0x95 0x44; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13694,9 +15816,29 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32d4"; - desc = "ATxmega32D4"; - signature = 0x1e 0x95 0x42; + desc = "ATxmega32D4"; + id = "x32d4"; + variants = + "ATxmega32D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 241; + n_interrupts = 91; + signature = 0x1e 0x95 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13704,14 +15846,22 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32a4"; - desc = "ATxmega32A4"; - signature = 0x1e 0x95 0x41; - has_jtag = yes; + desc = "ATxmega32A4"; + id = "x32a4"; + variants = + "ATxmega32A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 238; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13719,52 +15869,121 @@ part parent "x32a4u" # ATxmega64A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x64a4u"; - desc = "ATxmega64A4U"; - signature = 0x1e 0x96 0x46; - usbpid = 0x2fe5; +part parent ".xmega-a" + desc = "ATxmega64A4U"; + id = "x64a4u"; + variants = + "ATxmega64A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 252; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x96 0x46; + usbpid = 0x2fe5; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x10000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x80f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x810000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x11000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x11000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x10000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x80f000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x810000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; + ; +; + +#------------------------------------------------------------ +# ATxmega32C3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32C3"; + id = "x32c3"; + variants = + "ATxmega32C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 236; + signature = 0x1e 0x95 0x49; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; +; + +#------------------------------------------------------------ +# ATxmega32D3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32D3"; + id = "x32d3"; + variants = + "ATxmega32D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 237; + n_interrupts = 114; + signature = 0x1e 0x95 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; ; ; @@ -13773,10 +15992,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x64a4u" - id = "x64c3"; - desc = "ATxmega64C3"; - signature = 0x1e 0x96 0x49; - usbpid = 0x2fd6; + desc = "ATxmega64C3"; + id = "x64c3"; + variants = + "ATxmega64C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 249; + signature = 0x1e 0x96 0x49; + usbpid = 0x2fd6; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13784,9 +16019,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d3"; - desc = "ATxmega64D3"; - signature = 0x1e 0x96 0x4a; + desc = "ATxmega64D3"; + id = "x64d3"; + variants = + "ATxmega64D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 250; + n_interrupts = 114; + signature = 0x1e 0x96 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13794,9 +16047,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d4"; - desc = "ATxmega64D4"; - signature = 0x1e 0x96 0x47; + desc = "ATxmega64D4"; + id = "x64d4"; + variants = + "ATxmega64D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AU: QFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 253; + n_interrupts = 91; + signature = 0x1e 0x96 0x47; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13804,14 +16075,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64a1"; - desc = "ATxmega64A1"; - signature = 0x1e 0x96 0x4e; - has_jtag = yes; + desc = "ATxmega64A1"; + id = "x64a1"; + variants = + "ATxmega64A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 243; + n_interrupts = 125; + signature = 0x1e 0x96 0x4e; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13820,10 +16100,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a1" - id = "x64a1u"; - desc = "ATxmega64A1U"; - signature = 0x1e 0x96 0x4e; - usbpid = 0x2fe8; + desc = "ATxmega64A1U"; + id = "x64a1u"; + variants = + "ATxmega64A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-CUR: TFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 244; + n_interrupts = 127; + usbpid = 0x2fe8; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13831,9 +16124,18 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3"; - desc = "ATxmega64A3"; - signature = 0x1e 0x96 0x42; + desc = "ATxmega64A3"; + id = "x64a3"; + variants = + "ATxmega64A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 246; + n_interrupts = 122; + signature = 0x1e 0x96 0x42; ; #------------------------------------------------------------ @@ -13841,10 +16143,22 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3u"; - desc = "ATxmega64A3U"; - signature = 0x1e 0x96 0x42; - usbpid = 0x2fe5; + desc = "ATxmega64A3U"; + id = "x64a3u"; + variants = + "ATxmega64A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 247; + n_interrupts = 127; + signature = 0x1e 0x96 0x42; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13852,9 +16166,39 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a4"; - desc = "ATxmega64A4"; - signature = 0x1e 0x96 0x46; + desc = "ATxmega64A4"; + id = "x64a4"; + variants = + "ATxmega64A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 251; + signature = 0x1e 0x96 0x46; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; ; #------------------------------------------------------------ @@ -13862,10 +16206,25 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b1"; - desc = "ATxmega64B1"; - signature = 0x1e 0x96 0x52; - usbpid = 0x2fe1; + desc = "ATxmega64B1"; + id = "x64b1"; + variants = + "ATxmega64B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 245; + n_interrupts = 81; + signature = 0x1e 0x96 0x52; + usbpid = 0x2fe1; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13873,10 +16232,24 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b3"; - desc = "ATxmega64B3"; - signature = 0x1e 0x96 0x51; - usbpid = 0x2fdf; + desc = "ATxmega64B3"; + id = "x64b3"; + variants = + "ATxmega64B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 248; + n_interrupts = 54; + signature = 0x1e 0x96 0x51; + usbpid = 0x2fdf; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13884,51 +16257,61 @@ part parent "x64a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128c3"; - desc = "ATxmega128C3"; - signature = 0x1e 0x97 0x52; - usbpid = 0x2fd7; + desc = "ATxmega128C3"; + id = "x128c3"; + variants = + "ATxmega128C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 261; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x52; + usbpid = 0x2fd7; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13937,9 +16320,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128c3" - id = "x128d3"; - desc = "ATxmega128D3"; - signature = 0x1e 0x97 0x48; + desc = "ATxmega128D3"; + id = "x128d3"; + variants = + "ATxmega128D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 262; + n_interrupts = 114; + signature = 0x1e 0x97 0x48; ; #------------------------------------------------------------ @@ -13947,9 +16340,24 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128d4"; - desc = "ATxmega128D4"; - signature = 0x1e 0x97 0x47; + desc = "ATxmega128D4"; + id = "x128d4"; + variants = + "ATxmega128D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 265; + n_interrupts = 91; + signature = 0x1e 0x97 0x47; + + memory "flash" + page_size = 256; + ; ; #------------------------------------------------------------ @@ -13957,14 +16365,34 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128a1"; - desc = "ATxmega128A1"; - signature = 0x1e 0x97 0x4c; - has_jtag = yes; + desc = "ATxmega128A1"; + id = "x128a1"; + variants = + "ATxmega128A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 254; + n_interrupts = 125; + signature = 0x1e 0x97 0x4c; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; ; ; @@ -13973,9 +16401,10 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1d"; - desc = "ATxmega128A1revD"; - signature = 0x1e 0x97 0x41; + desc = "ATxmega128A1revD"; + id = "x128a1d"; + mcuid = 255; + signature = 0x1e 0x97 0x41; ; #------------------------------------------------------------ @@ -13983,10 +16412,24 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1u"; - desc = "ATxmega128A1U"; - signature = 0x1e 0x97 0x4c; - usbpid = 0x2fed; + desc = "ATxmega128A1U"; + id = "x128a1u"; + variants = + "ATxmega128A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-AUR: N/A, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-CUR: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 256; + n_interrupts = 127; + usbpid = 0x2fed; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13994,9 +16437,18 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3"; - desc = "ATxmega128A3"; - signature = 0x1e 0x97 0x42; + desc = "ATxmega128A3"; + id = "x128a3"; + variants = + "ATxmega128A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 258; + n_interrupts = 122; + signature = 0x1e 0x97 0x42; ; #------------------------------------------------------------ @@ -14004,10 +16456,23 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3u"; - desc = "ATxmega128A3U"; - signature = 0x1e 0x97 0x42; - usbpid = 0x2fe6; + desc = "ATxmega128A3U"; + id = "x128a3u"; + variants = + "ATxmega128A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 259; + n_interrupts = 127; + signature = 0x1e 0x97 0x42; + usbpid = 0x2fe6; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -14015,56 +16480,82 @@ part parent "x128a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128a4"; - desc = "ATxmega128A4"; - signature = 0x1e 0x97 0x46; - has_jtag = yes; + desc = "ATxmega128A4"; + id = "x128a4"; + variants = + "ATxmega128A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 263; + signature = 0x1e 0x97 0x46; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 512; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; + + memory "usersig" + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14072,52 +16563,67 @@ part parent ".xmega" # ATxmega128A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x128a4u"; - desc = "ATxmega128A4U"; - signature = 0x1e 0x97 0x46; - usbpid = 0x2fde; +part parent ".xmega-a" + desc = "ATxmega128A4U"; + id = "x128a4u"; + variants = + "ATxmega128A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 264; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x46; + usbpid = 0x2fde; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14126,57 +16632,71 @@ part parent ".xmega" #------------------------------------------------------------ part parent ".xmega" - id = "x128b1"; - desc = "ATxmega128B1"; - signature = 0x1e 0x97 0x4d; - usbpid = 0x2fea; - has_jtag = yes; + desc = "ATxmega128B1"; + id = "x128b1"; + variants = + "ATxmega128B1-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CUR: TFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 257; + n_interrupts = 81; + boot_section_size = 8192; + signature = 0x1e 0x97 0x4d; + usbpid = 0x2fea; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 256; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; + ; + + memory "usersig" + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14185,10 +16705,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128b1" - id = "x128b3"; - desc = "ATxmega128B3"; - signature = 0x1e 0x97 0x4b; - usbpid = 0x2fe0; + desc = "ATxmega128B3"; + id = "x128b3"; + variants = + "ATxmega128B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCU: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCUR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 260; + n_interrupts = 54; + signature = 0x1e 0x97 0x4b; + usbpid = 0x2fe0; ; #------------------------------------------------------------ @@ -14196,51 +16725,60 @@ part parent "x128b1" #------------------------------------------------------------ part parent ".xmega" - id = "x192c3"; - desc = "ATxmega192C3"; - signature = 0x1e 0x97 0x51; - # usbpid = 0x2f??; + desc = "ATxmega192C3"; + id = "x192c3"; + variants = + "ATxmega192C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 269; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x51; + +# usbpid = 0x2f??; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x30000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x82e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x830000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x32000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x32000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x30000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x82e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x830000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14249,9 +16787,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x192c3" - id = "x192d3"; - desc = "ATxmega192D3"; - signature = 0x1e 0x97 0x49; + desc = "ATxmega192D3"; + id = "x192d3"; + variants = + "ATxmega192D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 270; + n_interrupts = 114; + signature = 0x1e 0x97 0x49; ; #------------------------------------------------------------ @@ -14259,14 +16807,41 @@ part parent "x192c3" #------------------------------------------------------------ part parent "x192c3" - id = "x192a1"; - desc = "ATxmega192A1"; - signature = 0x1e 0x97 0x4e; - has_jtag = yes; + desc = "ATxmega192A1"; + id = "x192a1"; + variants = + "ATxmega192A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 266; + signature = 0x1e 0x97 0x4e; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -14274,10 +16849,35 @@ part parent "x192c3" # ATxmega192A3 #------------------------------------------------------------ -part parent "x192a1" - id = "x192a3"; - desc = "ATxmega192A3"; - signature = 0x1e 0x97 0x44; +part parent "x192c3" + desc = "ATxmega192A3"; + id = "x192a3"; + variants = + "ATxmega192A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 267; + n_interrupts = 122; + signature = 0x1e 0x97 0x44; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; ; #------------------------------------------------------------ @@ -14285,10 +16885,46 @@ part parent "x192a1" #------------------------------------------------------------ part parent "x192a1" - id = "x192a3u"; - desc = "ATxmega192A3U"; - signature = 0x1e 0x97 0x44; - usbpid = 0x2fe7; + desc = "ATxmega192A3U"; + id = "x192a3u"; + variants = + "ATxmega192A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-ANR: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega192A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 268; + signature = 0x1e 0x97 0x44; + usbpid = 0x2fe7; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14296,51 +16932,61 @@ part parent "x192a1" #------------------------------------------------------------ part parent ".xmega" - id = "x256c3"; - desc = "ATxmega256C3"; - signature = 0x1e 0x98 0x46; - usbpid = 0x2fda; + desc = "ATxmega256C3"; + id = "x256c3"; + variants = + "ATxmega256C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 276; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x46; + usbpid = 0x2fda; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x40000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x83e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x840000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x42000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x42000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x40000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x83e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x840000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14349,9 +16995,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x256c3" - id = "x256d3"; - desc = "ATxmega256D3"; - signature = 0x1e 0x98 0x44; + desc = "ATxmega256D3"; + id = "x256d3"; + variants = + "ATxmega256D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 277; + n_interrupts = 114; + signature = 0x1e 0x98 0x44; ; #------------------------------------------------------------ @@ -14359,14 +17015,40 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256c3" - id = "x256a1"; - desc = "ATxmega256A1"; - signature = 0x1e 0x98 0x46; - has_jtag = yes; + desc = "ATxmega256A1"; + id = "x256a1"; + variants = + "ATxmega256A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 271; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -14375,9 +17057,45 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3"; - desc = "ATxmega256A3"; - signature = 0x1e 0x98 0x42; + desc = "ATxmega256A3"; + id = "x256a3"; + variants = + "ATxmega256A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 272; + n_interrupts = 122; + signature = 0x1e 0x98 0x42; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14385,10 +17103,46 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3u"; - desc = "ATxmega256A3U"; - signature = 0x1e 0x98 0x42; - usbpid = 0x2fec; + desc = "ATxmega256A3U"; + id = "x256a3u"; + variants = + "ATxmega256A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 275; + signature = 0x1e 0x98 0x42; + usbpid = 0x2fec; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14396,9 +17150,44 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3b"; - desc = "ATxmega256A3B"; - signature = 0x1e 0x98 0x43; + desc = "ATxmega256A3B"; + id = "x256a3b"; + variants = + "ATxmega256A3B: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-AU: TQFP64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 273; + n_interrupts = 122; + signature = 0x1e 0x98 0x43; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14406,10 +17195,43 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3bu"; - desc = "ATxmega256A3BU"; - signature = 0x1e 0x98 0x43; - usbpid = 0x2fe2; + desc = "ATxmega256A3BU"; + id = "x256a3bu"; + variants = + "ATxmega256A3BU-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3BU-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 274; + signature = 0x1e 0x98 0x43; + usbpid = 0x2fe2; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -14417,51 +17239,61 @@ part parent "x256a1" #------------------------------------------------------------ part parent ".xmega" - id = "x384c3"; - desc = "ATxmega384C3"; - signature = 0x1e 0x98 0x45; - usbpid = 0x2fdb; + desc = "ATxmega384C3"; + id = "x384c3"; + variants = + "ATxmega384C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega384C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 278; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x45; + usbpid = 0x2fdb; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x60000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x85e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x860000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x62000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x62000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x60000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x85e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x860000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14470,60 +17302,87 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x384c3" - id = "x384d3"; - desc = "ATxmega384D3"; - signature = 0x1e 0x98 0x47; + desc = "ATxmega384D3"; + id = "x384d3"; + variants = + "ATxmega384D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 279; + n_interrupts = 114; + signature = 0x1e 0x98 0x47; ; #------------------------------------------------------------ # ATxmega8E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x8e5"; - desc = "ATxmega8E5"; - signature = 0x1e 0x93 0x41; +part parent ".xmega-e" + desc = "ATxmega8E5"; + id = "x8e5"; + variants = + "ATxmega8E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 230; + n_interrupts = 43; + boot_section_size = 2048; + signature = 0x1e 0x93 0x41; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x2000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x800; - offset = 0x00801800; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x800; - offset = 0x00802000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x2800; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x2800; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 8192; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 2048; + page_size = 128; + offset = 0x801800; + readsize = 256; + ; + + memory "boot" + size = 2048; + page_size = 128; + offset = 0x802000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14531,51 +17390,70 @@ part parent ".xmega" # ATxmega16E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x16e5"; - desc = "ATxmega16E5"; - signature = 0x1e 0x94 0x45; +part parent ".xmega-e" + desc = "ATxmega16E5"; + id = "x16e5"; + variants = + "ATxmega16E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-ANR: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 235; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x94 0x45; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00803000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00804000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x5000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14583,51 +17461,70 @@ part parent ".xmega" # ATxmega32E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x32e5"; - desc = "ATxmega32E5"; - signature = 0x1e 0x95 0x4c; +part parent ".xmega-e" + desc = "ATxmega32E5"; + id = "x32e5"; + variants = + "ATxmega32E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 242; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x95 0x4c; memory "eeprom" - size = 0x0400; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00807000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00808000; - page_size = 0x80; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x9000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -14636,214 +17533,199 @@ part parent ".xmega" #------------------------------------------------------------ part - id = "uc3a0512"; - desc = "AT32UC3A0512"; - signature = 0xED 0xC0 0x3F; - has_jtag = yes; - is_avr32 = yes; + desc = "AT32UC3A0512"; + id = "uc3a0512"; + variants = + "AT32UC3A0512-ALTR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTTA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUR: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUT: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]"; + prog_modes = PM_AVR32JTAG | PM_aWire; + signature = 0xed 0xc0 0x3f; memory "flash" - paged = yes; - page_size = 512; # bytes - readsize = 512; # bytes - num_pages = 1024; # could be set dynamicly - size = 0x00080000; # could be set dynamicly - offset = 0x80000000; + paged = yes; + size = 0x80000; # could be set dynamicly + page_size = 512; # bytes + num_pages = 1024; # could be set dynamicly + offset = 0x80000000; + readsize = 512; # bytes ; ; +#------------------------------------------------------------ +# deprecated, use 'uc3a0512' +#------------------------------------------------------------ + part parent "uc3a0512" - id = "ucr2"; - desc = "deprecated, use 'uc3a0512'"; + desc = "deprecated, use 'uc3a0512'"; + id = "ucr2"; ; #------------------------------------------------------------ -# ATtiny1634. +# ATtiny1634 #------------------------------------------------------------ part - id = "t1634"; - desc = "ATtiny1634"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x12; - pagel = 0xB3; - bs2 = 0xB1; - reset = io; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny1634"; + id = "t1634"; + variants = + "ATtiny1634: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MN: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MNR: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MUR: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 40; + n_interrupts = 28; + n_page_erase = 4; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb1; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x12; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 32; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; + paged = yes; + size = 0x4000; + page_size = 32; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaaa.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + bitmask = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxi.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 1 1 1 1 i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny1634R +#------------------------------------------------------------ + +part parent "t1634" + desc = "ATtiny1634R"; + id = "t1634r"; + variants = + "ATtiny1634R-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-MUR: WQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 41; ; #------------------------------------------------------------ @@ -14851,33 +17733,37 @@ part #------------------------------------------------------------ part - id = ".reduced_core_tiny"; - desc = "Common values for reduced core tinys"; - has_tpi = yes; - - memory "signature" - size = 3; - offset = 0x3fc0; - page_size = 16; - ; + desc = "Common values for reduced core tinys"; + id = ".reduced_core_tiny"; + prog_modes = PM_TPI; memory "fuse" - size = 1; - offset = 0x3f40; - page_size = 16; - blocksize = 4; - ; - - memory "calibration" - size = 1; - offset = 0x3f80; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x07; + offset = 0x3f40; + blocksize = 4; ; memory "lockbits" - size = 1; - offset = 0x3f00; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x03; + offset = 0x3f00; + ; + + memory "signature" + size = 3; + page_size = 16; + offset = 0x3fc0; + ; + + memory "calibration" + size = 1; + page_size = 16; + offset = 0x3f80; ; ; @@ -14886,15 +17772,21 @@ part #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t4"; - desc = "ATtiny4"; - signature = 0x1e 0x8f 0x0a; + desc = "ATtiny4"; + id = "t4"; + variants = + "ATtiny4-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 0; + n_interrupts = 10; + signature = 0x1e 0x8f 0x0a; memory "flash" - size = 512; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 512; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14903,9 +17795,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t4" - id = "t5"; - desc = "ATtiny5"; - signature = 0x1e 0x8f 0x09; + desc = "ATtiny5"; + id = "t5"; + variants = + "ATtiny5-MAHR: USON8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 1; + n_interrupts = 11; + signature = 0x1e 0x8f 0x09; ; #------------------------------------------------------------ @@ -14913,15 +17811,21 @@ part parent "t4" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t9"; - desc = "ATtiny9"; - signature = 0x1e 0x90 0x08; + desc = "ATtiny9"; + id = "t9"; + variants = + "ATtiny9-MAHR: DFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 2; + n_interrupts = 10; + signature = 0x1e 0x90 0x08; memory "flash" - size = 1024; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14930,9 +17834,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t9" - id = "t10"; - desc = "ATtiny10"; - signature = 0x1e 0x90 0x03; + desc = "ATtiny10"; + id = "t10"; + variants = + "ATtiny10-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 3; + n_interrupts = 11; + signature = 0x1e 0x90 0x03; ; #------------------------------------------------------------ @@ -14940,15 +17850,33 @@ part parent "t9" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t20"; - desc = "ATtiny20"; - signature = 0x1e 0x91 0x0F; + desc = "ATtiny20"; + id = "t20"; + variants = + "ATtiny20-CCU: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-CCUR: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSU: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSUR: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-UUR: WLCSP12, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XU: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XUR: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 4; + n_interrupts = 17; + signature = 0x1e 0x91 0x0f; memory "flash" - size = 2048; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 2048; + page_size = 16; + n_word_writes = 2; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 2; ; ; @@ -14957,15 +17885,102 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t40"; - desc = "ATtiny40"; - signature = 0x1e 0x92 0x0E; + desc = "ATtiny40"; + id = "t40"; + variants = + "ATtiny40-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XU: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XUR: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 5; + n_interrupts = 18; + signature = 0x1e 0x92 0x0e; memory "flash" - size = 4096; - offset = 0x4000; - page_size = 64; - blocksize = 128; + size = 4096; + page_size = 64; + n_word_writes = 4; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 4; + ; +; + +#------------------------------------------------------------ +# ATtiny102 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny102"; + id = "t102"; + variants = + "ATtiny102-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 6; + n_interrupts = 16; + signature = 0x1e 0x90 0x0c; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; + ; +; + +#------------------------------------------------------------ +# ATtiny104 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny104"; + id = "t104"; + variants = + "ATtiny104-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 7; + n_interrupts = 16; + signature = 0x1e 0x90 0x0b; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; ; ; @@ -14974,63 +17989,76 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part - id = "m406"; - desc = "ATMEGA406"; - has_jtag = yes; - signature = 0x1e 0x95 0x07; - + desc = "ATmega406"; + id = "m406"; + variants = + "ATmega406: N/A, Fmax=1 MHz, T=[N/A, N/A], Vcc=[3.3 V, 3.3 V]", + "ATmega406-1AAU: LQFP48, Fmax=1 MHz, T=[-30 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_HVPP | PM_JTAG; + mcuid = 125; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; # STK500 parameters (parallel programming IO lines) - pagel = 0xa7; - bs2 = 0xa0; - serial = no; - parallel = yes; - + pagel = 0xa7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x07; + reset = io; + serial = no; # STK500v2 HV programming parameters, from XML - pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, - 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, - 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, - 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - - # JTAG ICE mkII parameters, also from XML files - allowfullpagebitstream = no; - enablepageprogramming = yes; - idr = 0x51; - rampz = 0x00; - spmcr = 0x57; - eecr = 0x3f; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; memory "eeprom" - paged = no; - size = 512; - page_size = 4; - blocksize = 4; - readsize = 4; - num_pages = 128; + size = 512; + page_size = 4; + num_pages = 128; + blocksize = 4; + readsize = 4; ; memory "flash" - paged = yes; - size = 40960; - page_size = 128; - blocksize = 128; - readsize = 128; - num_pages = 320; - ; - - memory "hfuse" - size = 1; + paged = yes; + size = 0xa000; + page_size = 128; + num_pages = 320; + blocksize = 128; + readsize = 128; ; memory "lfuse" - size = 1; + size = 1; + initval = 0xcd; + ; + + memory "hfuse" + size = 1; + initval = 0xfe; + bitmask = 0x03; ; memory "lockbits" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x3f; ; memory "signature" - size = 3; + size = 3; ; ; @@ -15039,77 +18067,167 @@ part #------------------------------------------------------------ part - id = ".avr8x"; - desc = "AVR8X family common values"; - has_updi = yes; - nvm_base = 0x1000; - ocd_base = 0x0F80; - - memory "signature" - size = 3; - offset = 0x1100; - ; - - memory "prodsig" - size = 0x3D; - offset = 0x1103; - page_size = 0x3D; - readsize = 0x3D; - ; - - memory "fuses" - size = 9; - offset = 0x1280; - ; + desc = "AVR8X family common values"; + id = ".avr8x"; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 256; + nvm_base = 0x1000; + ocd_base = 0x0f80; memory "fuse0" - size = 1; - offset = 0x1280; + size = 1; + initval = 0x00; + offset = 0x1280; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; ; memory "fuse1" - size = 1; - offset = 0x1281; + size = 1; + initval = 0x00; + offset = 0x1281; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; ; memory "fuse2" - size = 1; - offset = 0x1282; + size = 1; + initval = 0x7e; + bitmask = 0x83; + offset = 0x1282; + readsize = 1; ; - memory "fuse4" - size = 1; - offset = 0x1284; + memory "osccfg" + alias "fuse2"; ; memory "fuse5" - size = 1; - offset = 0x1285; + size = 1; + initval = 0xf6; + bitmask = 0xcd; + offset = 0x1285; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; ; memory "fuse6" - size = 1; - offset = 0x1286; + size = 1; + initval = 0xff; + bitmask = 0x07; + offset = 0x1286; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; ; memory "fuse7" - size = 1; - offset = 0x1287; + size = 1; + initval = 0x00; + offset = 0x1287; + readsize = 1; + ; + + memory "append" + alias "fuse7"; + ; + + memory "codesize" + alias "fuse7"; ; memory "fuse8" - size = 1; - offset = 0x1288; + size = 1; + initval = 0x00; + offset = 0x1288; + readsize = 1; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 10; + offset = 0x1280; + readsize = 10; ; memory "lock" - size = 1; - offset = 0x128a; + size = 1; + offset = 0x128a; + readsize = 1; + ; + + memory "tempsense" + size = 2; + offset = 0x1120; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 61; + page_size = 61; + offset = 0x1103; + readsize = 61; + ; + + memory "sernum" + size = 10; + offset = 0x1104; + readsize = 1; + ; + + memory "osccal16" + size = 2; + offset = 0x1118; + readsize = 1; + ; + + memory "osccal20" + size = 2; + offset = 0x111a; + readsize = 1; + ; + + memory "osc16err" + size = 2; + offset = 0x1122; + readsize = 1; + ; + + memory "osc20err" + size = 2; + offset = 0x1124; + readsize = 1; ; memory "data" # SRAM, only used to supply the offset - offset = 0x1000000; + offset = 0x1000000; ; ; @@ -15117,16 +18235,22 @@ part # AVR8X tiny family common values #------------------------------------------------------------ -part parent ".avr8x" - id = ".avr8x_tiny"; - desc = "AVR8X tiny family common values"; - family_id = "tinyAVR"; +part parent ".avr8x" + desc = "AVR8X tiny family common values"; + id = ".avr8x_tiny"; + family_id = "tinyAVR"; + # Shared UPDI pin, HV on UPDI pin + hvupdi_variant = 0; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1300; + readsize = 256; + ; memory "usersig" - size = 0x20; - offset = 0x1300; - page_size = 0x20; - readsize = 0x100; + alias "userrow"; ; ; @@ -15134,16 +18258,26 @@ part parent ".avr8x" # AVR8X mega family common values #------------------------------------------------------------ -part parent ".avr8x" - id = ".avr8x_mega"; - desc = "AVR8X mega family common values"; - family_id = "megaAVR"; +part parent ".avr8x" + desc = "AVR8X mega family common values"; + id = ".avr8x_mega"; + family_id = "megaAVR"; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "userrow" + size = 64; + page_size = 64; + offset = 0x1300; + readsize = 256; + ; memory "usersig" - size = 0x40; - offset = 0x1300; - page_size = 0x40; - readsize = 0x100; + alias "userrow"; ; ; @@ -15151,23 +18285,45 @@ part parent ".avr8x" # ATtiny202 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t202"; - desc = "ATtiny202"; - signature = 0x1E 0x91 0x23; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny202"; + id = "t202"; + variants = + "ATtiny202-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 280; + n_interrupts = 26; + signature = 0x1e 0x91 0x23; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15175,23 +18331,45 @@ part parent ".avr8x_tiny" # ATtiny204 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t204"; - desc = "ATtiny204"; - signature = 0x1E 0x91 0x22; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny204"; + id = "t204"; + variants = + "ATtiny204-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 281; + n_interrupts = 26; + signature = 0x1e 0x91 0x22; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15199,23 +18377,45 @@ part parent ".avr8x_tiny" # ATtiny402 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t402"; - desc = "ATtiny402"; - signature = 0x1E 0x92 0x23; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny402"; + id = "t402"; + variants = + "ATtiny402-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 284; + n_interrupts = 26; + signature = 0x1e 0x92 0x27; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15223,23 +18423,45 @@ part parent ".avr8x_tiny" # ATtiny404 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t404"; - desc = "ATtiny404"; - signature = 0x1E 0x92 0x26; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny404"; + id = "t404"; + variants = + "ATtiny404-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 285; + n_interrupts = 26; + signature = 0x1e 0x92 0x26; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15247,23 +18469,47 @@ part parent ".avr8x_tiny" # ATtiny406 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t406"; - desc = "ATtiny406"; - signature = 0x1E 0x92 0x25; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny406"; + id = "t406"; + variants = + "ATtiny406-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 286; + n_interrupts = 26; + signature = 0x1e 0x92 0x25; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15271,23 +18517,34 @@ part parent ".avr8x_tiny" # ATtiny804 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t804"; - desc = "ATtiny804"; - signature = 0x1E 0x93 0x25; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny804"; + id = "t804"; + variants = + "ATtiny804-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 295; + n_interrupts = 31; + signature = 0x1e 0x93 0x25; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15295,23 +18552,38 @@ part parent ".avr8x_tiny" # ATtiny806 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t806"; - desc = "ATtiny806"; - signature = 0x1E 0x93 0x24; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny806"; + id = "t806"; + variants = + "ATtiny806-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny806-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 296; + n_interrupts = 31; + signature = 0x1e 0x93 0x24; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15319,23 +18591,35 @@ part parent ".avr8x_tiny" # ATtiny807 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t807"; - desc = "ATtiny807"; - signature = 0x1E 0x93 0x23; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny807"; + id = "t807"; + variants = + "ATtiny807-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 297; + n_interrupts = 31; + signature = 0x1e 0x93 0x23; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15343,23 +18627,34 @@ part parent ".avr8x_tiny" # ATtiny1604 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1604"; - desc = "ATtiny1604"; - signature = 0x1E 0x94 0x25; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1604"; + id = "t1604"; + variants = + "ATtiny1604-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 304; + n_interrupts = 31; + signature = 0x1e 0x94 0x25; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15367,23 +18662,38 @@ part parent ".avr8x_tiny" # ATtiny1606 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1606"; - desc = "ATtiny1606"; - signature = 0x1E 0x94 0x24; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1606"; + id = "t1606"; + variants = + "ATtiny1606-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MFR: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 305; + n_interrupts = 31; + signature = 0x1e 0x94 0x24; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15391,23 +18701,35 @@ part parent ".avr8x_tiny" # ATtiny1607 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1607"; - desc = "ATtiny1607"; - signature = 0x1E 0x94 0x23; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1607"; + id = "t1607"; + variants = + "ATtiny1607-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 306; + n_interrupts = 31; + signature = 0x1e 0x94 0x23; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15415,23 +18737,45 @@ part parent ".avr8x_tiny" # ATtiny212 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t212"; - desc = "ATtiny212"; - signature = 0x1E 0x91 0x21; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny212"; + id = "t212"; + variants = + "ATtiny212-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 282; + n_interrupts = 26; + signature = 0x1e 0x91 0x21; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15439,23 +18783,45 @@ part parent ".avr8x_tiny" # ATtiny214 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t214"; - desc = "ATtiny214"; - signature = 0x1E 0x91 0x20; - - memory "flash" - size = 0x800; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny214"; + id = "t214"; + variants = + "ATtiny214-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 283; + n_interrupts = 26; + signature = 0x1e 0x91 0x20; memory "eeprom" - size = 0x40; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15463,48 +18829,91 @@ part parent ".avr8x_tiny" # ATtiny412 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t412"; - desc = "ATtiny412"; - signature = 0x1E 0x92 0x23; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny412"; + id = "t412"; + variants = + "ATtiny412-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 287; + n_interrupts = 26; + signature = 0x1e 0x92 0x23; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny414 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t414"; - desc = "ATtiny414"; - signature = 0x1E 0x92 0x22; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny414"; + id = "t414"; + variants = + "ATtiny414-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 288; + n_interrupts = 26; + signature = 0x1e 0x92 0x22; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15512,98 +18921,209 @@ part parent ".avr8x_tiny" # ATtiny416 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t416"; - desc = "ATtiny416"; - signature = 0x1E 0x92 0x21; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny416"; + id = "t416"; + variants = + "ATtiny416-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 289; + n_interrupts = 26; + signature = 0x1e 0x92 0x21; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; +#------------------------------------------------------------ +# ATtiny416auto +#------------------------------------------------------------ + +part parent "t416" + desc = "ATtiny416auto"; + id = "t416auto"; + variants = + "ATtiny416-MBT: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny416-MZT: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 290; + signature = 0x1e 0x92 0x28; + + memory "fuse2" + initval = 0x7d; + ; +; #------------------------------------------------------------ # ATtiny417 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t417"; - desc = "ATtiny417"; - signature = 0x1E 0x92 0x20; - - memory "flash" - size = 0x1000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny417"; + id = "t417"; + variants = + "ATtiny417-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MFR: QFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 291; + n_interrupts = 26; + signature = 0x1e 0x92 0x20; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny814 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t814"; - desc = "ATtiny814"; - signature = 0x1E 0x93 0x22; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny814"; + id = "t814"; + variants = + "ATtiny814-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNRES: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 298; + n_interrupts = 26; + signature = 0x1e 0x93 0x22; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; - #------------------------------------------------------------ # ATtiny816 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t816"; - desc = "ATtiny816"; - signature = 0x1E 0x93 0x21; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny816"; + id = "t816"; + variants = + "ATtiny816-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNRES: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 299; + n_interrupts = 26; + signature = 0x1e 0x93 0x21; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15611,23 +19131,46 @@ part parent ".avr8x_tiny" # ATtiny817 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t817"; - desc = "ATtiny817"; - signature = 0x1E 0x93 0x20; - - memory "flash" - size = 0x2000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny817"; + id = "t817"; + variants = + "ATtiny817-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNRES: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 300; + n_interrupts = 26; + signature = 0x1e 0x93 0x20; memory "eeprom" - size = 0x80; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15635,23 +19178,45 @@ part parent ".avr8x_tiny" # ATtiny1614 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1614"; - desc = "ATtiny1614"; - signature = 0x1E 0x94 0x22; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1614"; + id = "t1614"; + variants = + "ATtiny1614-SSF: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSFR: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 307; + n_interrupts = 31; + signature = 0x1e 0x94 0x22; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15659,23 +19224,47 @@ part parent ".avr8x_tiny" # ATtiny1616 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1616"; - desc = "ATtiny1616"; - signature = 0x1E 0x94 0x21; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1616"; + id = "t1616"; + variants = + "ATtiny1616-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SFR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 308; + n_interrupts = 31; + signature = 0x1e 0x94 0x21; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15683,47 +19272,45 @@ part parent ".avr8x_tiny" # ATtiny1617 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t1617"; - desc = "ATtiny1617"; - signature = 0x1E 0x94 0x20; - - memory "flash" - size = 0x4000; - offset = 0x8000; - page_size = 0x40; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny1617"; + id = "t1617"; + variants = + "ATtiny1617-MF: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MN: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1617-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 309; + n_interrupts = 31; + signature = 0x1e 0x94 0x20; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x20; - readsize = 0x100; + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; ; -; - -#------------------------------------------------------------ -# ATtiny3214 -#------------------------------------------------------------ - -part parent ".avr8x_tiny" - id = "t3214"; - desc = "ATtiny3214"; - signature = 0x1E 0x95 0x20; memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; ; - memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15731,23 +19318,50 @@ part parent ".avr8x_tiny" # ATtiny3216 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t3216"; - desc = "ATtiny3216"; - signature = 0x1E 0x95 0x21; - - memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_tiny" + desc = "ATtiny3216"; + id = "t3216"; + variants = + "ATtiny3216-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 314; + n_interrupts = 31; + signature = 0x1e 0x95 0x21; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; + + memory "userrow" + size = 64; + page_size = 64; ; ; @@ -15755,23 +19369,723 @@ part parent ".avr8x_tiny" # ATtiny3217 #------------------------------------------------------------ -part parent ".avr8x_tiny" - id = "t3217"; - desc = "ATtiny3217"; - signature = 0x1E 0x95 0x22; +part parent "t3216" + desc = "ATtiny3217"; + id = "t3217"; + variants = + "ATtiny3217-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 315; + signature = 0x1e 0x95 0x22; +; - memory "flash" - size = 0x8000; - offset = 0x8000; - page_size = 0x80; - readsize = 0x100; - ; +#------------------------------------------------------------ +# ATtiny424 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny424"; + id = "t424"; + variants = + "ATtiny424: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 292; + n_interrupts = 30; + signature = 0x1e 0x92 0x2c; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny426 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny426"; + id = "t426"; + variants = + "ATtiny426: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 293; + n_interrupts = 30; + signature = 0x1e 0x92 0x2b; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny427 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny427"; + id = "t427"; + variants = + "ATtiny427: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 294; + n_interrupts = 30; + signature = 0x1e 0x92 0x2a; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny824 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny824"; + id = "t824"; + variants = + "ATtiny824: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 301; + n_interrupts = 30; + signature = 0x1e 0x93 0x29; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny826 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny826"; + id = "t826"; + variants = + "ATtiny826: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 302; + n_interrupts = 30; + signature = 0x1e 0x93 0x28; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny827 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny827"; + id = "t827"; + variants = + "ATtiny827: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 303; + n_interrupts = 30; + signature = 0x1e 0x93 0x27; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1624 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1624"; + id = "t1624"; + variants = + "ATtiny1624: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 310; + n_interrupts = 30; + signature = 0x1e 0x94 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1626 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1626"; + id = "t1626"; + variants = + "ATtiny1626: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MF: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XF: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XU: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 311; + n_interrupts = 30; + signature = 0x1e 0x94 0x29; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1627 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1627"; + id = "t1627"; + variants = + "ATtiny1627: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MF: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 312; + n_interrupts = 30; + signature = 0x1e 0x94 0x28; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3224 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3224"; + id = "t3224"; + variants = + "ATtiny3224: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 316; + n_interrupts = 30; + signature = 0x1e 0x95 0x28; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3226 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3226"; + id = "t3226"; + variants = + "ATtiny3226: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 317; + n_interrupts = 30; + signature = 0x1e 0x95 0x27; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3227 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3227"; + id = "t3227"; + variants = + "ATtiny3227: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 318; + n_interrupts = 30; + signature = 0x1e 0x95 0x26; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega808 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega808"; + id = "m808"; + variants = + "ATmega808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AFR: TQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MFR: QFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XUR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 319; + n_interrupts = 36; + signature = 0x1e 0x93 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega809 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega809"; + id = "m809"; + variants = + "ATmega809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MFR: QFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 320; + n_interrupts = 40; + signature = 0x1e 0x93 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1608 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1608"; + id = "m1608"; + variants = + "ATmega1608-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 321; + n_interrupts = 36; + signature = 0x1e 0x94 0x27; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1609 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1609"; + id = "m1609"; + variants = + "ATmega1609-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 322; + n_interrupts = 40; + signature = 0x1e 0x94 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15779,23 +20093,42 @@ part parent ".avr8x_tiny" # ATmega3208 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m3208"; - desc = "ATmega3208"; - signature = 0x1E 0x95 0x52; - - memory "flash" - size = 0x8000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega3208"; + id = "m3208"; + variants = + "ATmega3208-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XFR: SSOP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 323; + n_interrupts = 36; + signature = 0x1e 0x95 0x30; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15803,23 +20136,38 @@ part parent ".avr8x_mega" # ATmega3209 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m3209"; - desc = "ATmega3209"; - signature = 0x1E 0x95 0x53; - - memory "flash" - size = 0x8000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega3209"; + id = "m3209"; + variants = + "ATmega3209-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 324; + n_interrupts = 40; + signature = 0x1e 0x95 0x31; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15827,23 +20175,42 @@ part parent ".avr8x_mega" # ATmega4808 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m4808"; - desc = "ATmega4808"; - signature = 0x1E 0x96 0x50; - - memory "flash" - size = 0xC000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega4808"; + id = "m4808"; + variants = + "ATmega4808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 325; + n_interrupts = 36; + signature = 0x1e 0x96 0x50; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; @@ -15851,30 +20218,2124 @@ part parent ".avr8x_mega" # ATmega4809 #------------------------------------------------------------ -part parent ".avr8x_mega" - id = "m4809"; - desc = "ATmega4809"; - signature = 0x1E 0x96 0x51; - - memory "flash" - size = 0xC000; - offset = 0x4000; - page_size = 0x80; - readsize = 0x100; - ; +part parent ".avr8x_mega" + desc = "ATmega4809"; + id = "m4809"; + variants = + "ATmega4809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-PF: PDIP40, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 326; + n_interrupts = 40; + signature = 0x1e 0x96 0x51; memory "eeprom" - size = 0x100; - offset = 0x1400; - page_size = 0x40; - readsize = 0x100; + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; ; ; -programmer - id = "jtag2updi"; - desc = "JTAGv2 to UPDI bridge"; - type = "jtagmkii_pdi"; - connection_type = serial; - baudrate = 115200; +#------------------------------------------------------------ +# AVR-Dx family common values +#------------------------------------------------------------ + +part + desc = "AVR-Dx family common values"; + id = ".avrdx"; + family_id = "AVR "; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 512; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + nvm_base = 0x1000; + ocd_base = 0x0f80; + + memory "fuse0" + size = 1; + initval = 0x00; + offset = 0x1050; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; + ; + + memory "fuse1" + size = 1; + initval = 0x00; + offset = 0x1051; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; + ; + + memory "fuse2" + size = 1; + initval = 0x00; + bitmask = 0x07; + offset = 0x1052; + readsize = 1; + ; + + memory "osccfg" + alias "fuse2"; + ; + + memory "fuse5" + size = 1; + initval = 0xc0; + bitmask = 0xed; + offset = 0x1055; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; + ; + + memory "fuse6" + size = 1; + initval = 0x08; + bitmask = 0x1f; + offset = 0x1056; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; + ; + + memory "fuse7" + size = 1; + initval = 0x00; + offset = 0x1057; + readsize = 1; + ; + + memory "codesize" + alias "fuse7"; + ; + + memory "append" + alias "fuse7"; + ; + + memory "fuse8" + size = 1; + initval = 0x00; + offset = 0x1058; + readsize = 1; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 16; + offset = 0x1050; + readsize = 16; + ; + + memory "lock" + size = 4; + offset = 0x1040; + readsize = 4; + ; + + memory "tempsense" + size = 2; + offset = 0x1104; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 125; + page_size = 125; + offset = 0x1103; + readsize = 125; + ; + + memory "sernum" + size = 16; + offset = 0x1110; + readsize = 1; + ; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1080; + readsize = 32; + ; + + memory "usersig" + alias "userrow"; + ; + + memory "data" + # SRAM, only used to supply the offset + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR32DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA28"; + id = "avr32da28"; + variants = + "AVR32DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 338; + n_interrupts = 41; + signature = 0x1e 0x95 0x34; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA32"; + id = "avr32da32"; + variants = + "AVR32DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 342; + n_interrupts = 44; + signature = 0x1e 0x95 0x33; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA48"; + id = "avr32da48"; + variants = + "AVR32DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 346; + n_interrupts = 58; + signature = 0x1e 0x95 0x32; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA28"; + id = "avr64da28"; + variants = + "AVR64DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SP: SPDIP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "AVR64DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 351; + n_interrupts = 41; + signature = 0x1e 0x96 0x15; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA32"; + id = "avr64da32"; + variants = + "AVR64DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 355; + n_interrupts = 44; + signature = 0x1e 0x96 0x14; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA48"; + id = "avr64da48"; + variants = + "AVR64DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 359; + n_interrupts = 58; + signature = 0x1e 0x96 0x13; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA64"; + id = "avr64da64"; + variants = + "AVR64DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 362; + n_interrupts = 64; + signature = 0x1e 0x96 0x12; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA28"; + id = "avr128da28"; + variants = + "AVR128DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 364; + n_interrupts = 41; + signature = 0x1e 0x97 0x0a; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA32"; + id = "avr128da32"; + variants = + "AVR128DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 366; + n_interrupts = 44; + signature = 0x1e 0x97 0x09; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA48"; + id = "avr128da48"; + variants = + "AVR128DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 368; + n_interrupts = 58; + signature = 0x1e 0x97 0x08; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA64"; + id = "avr128da64"; + variants = + "AVR128DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 370; + n_interrupts = 64; + signature = 0x1e 0x97 0x07; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB28"; + id = "avr32db28"; + variants = + "AVR32DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 339; + n_interrupts = 42; + signature = 0x1e 0x95 0x37; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB32"; + id = "avr32db32"; + variants = + "AVR32DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 343; + n_interrupts = 44; + signature = 0x1e 0x95 0x36; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB48"; + id = "avr32db48"; + variants = + "AVR32DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 347; + n_interrupts = 61; + signature = 0x1e 0x95 0x35; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB28"; + id = "avr64db28"; + variants = + "AVR64DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 352; + n_interrupts = 42; + signature = 0x1e 0x96 0x19; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB32"; + id = "avr64db32"; + variants = + "AVR64DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 356; + n_interrupts = 44; + signature = 0x1e 0x96 0x18; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB48"; + id = "avr64db48"; + variants = + "AVR64DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 360; + n_interrupts = 61; + signature = 0x1e 0x96 0x17; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB64"; + id = "avr64db64"; + variants = + "AVR64DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 363; + n_interrupts = 65; + signature = 0x1e 0x96 0x16; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB28"; + id = "avr128db28"; + variants = + "AVR128DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 365; + n_interrupts = 42; + signature = 0x1e 0x97 0x0e; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB32"; + id = "avr128db32"; + variants = + "AVR128DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 367; + n_interrupts = 44; + signature = 0x1e 0x97 0x0d; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB48"; + id = "avr128db48"; + variants = + "AVR128DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 369; + n_interrupts = 61; + signature = 0x1e 0x97 0x0c; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB64"; + id = "avr128db64"; + variants = + "AVR128DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 371; + n_interrupts = 65; + signature = 0x1e 0x97 0x0b; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD14"; + id = "avr16dd14"; + variants = + "AVR16DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 329; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x34; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD20"; + id = "avr16dd20"; + variants = + "AVR16DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 330; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x33; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD28"; + id = "avr16dd28"; + variants = + "AVR16DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 331; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x32; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD32"; + id = "avr16dd32"; + variants = + "AVR16DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 333; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x31; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD14"; + id = "avr32dd14"; + variants = + "AVR32DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 336; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD20"; + id = "avr32dd20"; + variants = + "AVR32DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 337; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD28"; + id = "avr32dd28"; + variants = + "AVR32DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 340; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x39; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD32"; + id = "avr32dd32"; + variants = + "AVR32DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 344; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x38; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD14"; + id = "avr64dd14"; + variants = + "AVR64DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 349; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1d; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD20"; + id = "avr64dd20"; + variants = + "AVR64DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 350; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1c; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD28"; + id = "avr64dd28"; + variants = + "AVR64DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/STX: VQFN28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 353; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD32"; + id = "avr64dd32"; + variants = + "AVR64DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 357; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR-Ex family common values +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR-Ex family common values"; + id = ".avrex"; + # Shared UPDI pin, HV on _RESET + hvupdi_variant = 2; + + memory "fuse2" + bitmask = 0x08; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "fuse6" + initval = 0x07; + bitmask = 0x07; + ; + + memory "userrow" + size = 64; + page_size = 64; + readsize = 64; + ; +; + +#------------------------------------------------------------ +# AVR8EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA28"; + id = "avr8ea28"; + mcuid = 327; + signature = 0x1e 0x93 0x2c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR8EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA32"; + id = "avr8ea32"; + mcuid = 328; + signature = 0x1e 0x93 0x2b; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR16EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA28"; + id = "avr16ea28"; + variants = + "AVR16EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 332; + signature = 0x1e 0x94 0x37; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA32"; + id = "avr16ea32"; + variants = + "AVR16EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 334; + signature = 0x1e 0x94 0x36; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA48"; + id = "avr16ea48"; + variants = + "AVR16EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 335; + signature = 0x1e 0x94 0x35; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA28"; + id = "avr32ea28"; + variants = + "AVR32EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 341; + signature = 0x1e 0x95 0x3e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA32"; + id = "avr32ea32"; + variants = + "AVR32EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 345; + signature = 0x1e 0x95 0x3d; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA48"; + id = "avr32ea48"; + variants = + "AVR32EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 348; + signature = 0x1e 0x95 0x3c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA28"; + id = "avr64ea28"; + variants = + "AVR64EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SP: SPDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SS: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 354; + n_interrupts = 37; + signature = 0x1e 0x96 0x20; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA32"; + id = "avr64ea32"; + variants = + "AVR64EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/PT: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/RXB: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 358; + n_interrupts = 37; + signature = 0x1e 0x96 0x1f; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA48"; + id = "avr64ea48"; + variants = + "AVR64EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/6LX: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/PT: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 361; + n_interrupts = 45; + signature = 0x1e 0x96 0x1e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# Logic Green parts +#------------------------------------------------------------ + +part parent "m88" + desc = "LGT8F88P"; + id = "lgt8f88p"; + mcuid = 227; + signature = 0x1e 0x93 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F168P +#------------------------------------------------------------ + +part parent "m168" + desc = "LGT8F168P"; + id = "lgt8f168p"; + mcuid = 228; + signature = 0x1e 0x94 0x0b; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F328P +#------------------------------------------------------------ + +part parent "m328" + desc = "LGT8F328P"; + id = "lgt8f328p"; + mcuid = 229; + signature = 0x1e 0x95 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; ; diff --git a/bin/avrdude-linux_i686/avrdude b/bin/avrdude-linux_i686/avrdude index 048a013d2c552711dd5bc8ca8942159cd76d1feb..f269d10e1ae105000041a01e653d534dc57f7987 100755 GIT binary patch literal 3101112 zcmeFaeSB2a6*hVTiHs1OQG=pI85JukVpM8DP=hdv3UvseSkWZp!wCjRlNkX^G&qSS z4zbaKqNN&?TH2z%dmz4B}c8fW;8bYnFBJIy!@ zJ`5XIi8y#Fk$_Js{P+ySvk7?9ic}Auqk;J_4BqmJJQ~<_kmeP5J{sryJqj2;Jon>y9M4`n&*CY=vExI^(AtMO{M+wq`U$iE%<{WYGM3K}_Ze}m^a zJg?)4;dukkK0MaHbi7Q(vkK2o@jQ*^GCVBrEATvz=M_BscLAQU@@5#n&~78#JM{bi z4QI%I!SwAu(wyk<+mH8Acs$zgEJxVkj`zM^C&2S;Jjb~L2LVsPbGi1v)DeEZejg9_ zG>5vf&x!-kRCmikor#jyGda=ewz&$~~Th1iw#o?ZW_cQU7JN#zg{dkS9hr84f zX1!i$y}&(1zvsdIo__bjy$jELjcd!}}$!5x6-NIX96N9T8VuEaBp zK>zy@+;RH7#PWnY7tgJDYPH`6xFhkTXgnKk7M^1?rt=J*)A9TPPa2-1@KoaAzoV67 z|1QVdE{z6i_m|pjf_t}qcROLX2k;NIpC2x1QBKN#7@jI)vQb$$ZUFuE;n|Pp^b=N& z82`7}h&#IOTfXtikDG6tljp0C+&=W_N4{W|6aGC$LG(Wc23Sz_KjIrKh2WhymZ}3a ze%ggi7mixO>-bigAr;bl)y3~E3Z?%s{1g|xO|I|~DnkF0{JHoIvnny-F#KIt{2mv* zr!8VS{%0`uc@SzWZJL=ey{A;-VLErO$Td?+aIWwM$)D_8-I7vMc5DM3=m;x$^gvi~g0a_@}wz4|VCwIUe$Z z=jE>W9WFe`mH*FO^1kiL&si>ghh6D^;)-v$;y>gHU+hXh*cE>f6{r8PzW&S=|9}gp zx%7Xei{5iCeI9UyXSmW&bj5$%g@?K1dEKSIWv={fa`Ah`l|Jag7rN~G7gzdAUGe|r z;`gY_-oJ5$7rVmma?wA*75=s>{dgDu<6YsouJmm#{k-Mk_bXTYg|6_`F8x2`!tcBC zGscylbeDZkaq;_`RoLLNyglMdzrw}uc~|~UcBQ}8m7kd|dh=cMwz1|8K7R4sfMUbA``!g*(Um%-?%NLkC$EY4|Vb9oZb4z z^iR3ck9X-K96935+ z|3w$S2VMDXa>f7Jg|BtxFWr?tpNsw~S9qN(yb$yYO0fQkydH_!=@^7(IWg*E<5O5; z)$+Uqd!=GMRmJxi2a*3=NBk9_*XD?SD(F=@!VRoTF64UT`9@C8jSCkq$|(=$m4$P1 zjFQDS8l{Vu82N?8C5%-X4wV(=6)Bxc9=-^ zVFRW297_ndo^R|gw>n>iWo3&N=YVrwxOnj*SlJ>NSyWbdV{v&HipkGglwVk4vtl+x zHEv##zi{!w!U9o6QU0QEJe3kMK}6*hE?d@zubZ|dpHPnH(w#?WCof+lL7B|gCHL~H zP;3i|7v)6C3k!^L7_%^J6cv?3%0mW9Wq#>0qiE5>yl{R9YRxMsC@wQ{kft;e&NpCf zDyO8-SUA5dym(2zfuEAaOA5=3qQ#|!i;Nrdib1^$dR$y)EXgllL~`(0l)tdlfc8t5 z6fO!I)Jj=Vfn`yIm*t1RhDi$|rFbbuz9vk_DKCe%i;RMNBt_W{gCy84oUceliVKWz z5ekrjG6`Xj)1q);Nr_?z#tY|{Gn3^86j55XIDcVY`Ar5&R`H^nC|e0+p#YK6QV5VY ze{oqDNue4er*J7sFLF~lzw9PNQ6e(`V0lw9Smfm7m6sQy@)zZy$`_X}$tzhDS;!X^ z7iq(bpYw^W84E7Y>;e6|==MB$>F4e-q?yOCm04NLNu z6c>Ov0vLNCroJ5at1ZOKBrA|QZPG8RTq^Q5A%Y_s}FSuH9nl-h-CFS7Ej-bECc z1bQthMhRGKL{y(pw4|&UtvXWX6&S^6i*C+QT0=I;YH?9P9&2V^xJar;aXIWeAJssb zcNSF1P+oX(vDlWagH(O-rv6Z2g|5{~z|ub|XBAT1B*QQbt7|z(fTENoOKG|siR$8h zQhCG=8e-Wt=IfFSN!S{xLJNJ}JU^l#kK=tEL?nZA*wk#P1PzPXL+No@c*h+HdE?-_EsP z&vQg|`o`bCZ^s>Pzn$Yu<#<1bYku4#PsOkLFHO6t4!^^+-ypaiJcr|nr{GTY5cn__ zeN(Z}U{OoO>b&(%SEY)lO@|-T^1q?lb;eikM+j}c$5Zm%Fuan+lOO@(`82H|Hg%?C z4prWqbdH3tm4`$Qiu(|eneU0R#3feoh@Fy?hsqyiquvzPBQe@`@*kSOJr!}S(1A$9 z$NDctzj1FQ#kdqBUGBN~@f=-TjO|FA8_;u7hI6=Yh5IBt%~)iIA13=-3@^oVq=X-3 zEY&pcz2`oRhJD8E8kZkejO{j$QK#`y5`U2KfW~DKewgv7#)@C6gWuuC^B9klAO9UI z>5nv?)bWQ4_8QM=Tt1Tgjxcs=toRMJ`IR5f@O0x19j@{}#LoZylK;bvcXhbZ&p^=+ z^PuuKz|LRi$P+z>Vbi9I?hS^_E7E{DUr56y6XzXi*x2FxAPpPE>HZTvgP>p^UC5O| z7xRnZbWt!z(8c`1PZydTMHlm-(R7igF?1n8Cf&i<7o&>>!|`;n5j=@5ESg0Zn}bv7 zVv}wfT?jCpE;ikQbTN6GP4{T*rP0m6o;qD@zU9)z##sT~W3fL?_ie){p*tM5r;82J zFkNg|Ev1W%q2+Y3!Cpxh8-Z1HPr$xET`b(Mq>D|udb)n>S<^iU=N{;ujB^uoPce)J zx}$JrfbOY=v4QS)vHwr^G|boNj>g#99XtZ1hf}`vcgY?p3fq-5~5wcP8vlHyie+ zI}7%wI~(?=I|ufsdo}D&_Zrxr?p)ZP?zON#U2JkLr+XdjPj?>dPxpG*pDq?gR?^Ld z{psex{&eTV{&e$Uf4T**KixvupKcNCPxnUHpKb{Dr&|pB(_H}j)4d7yr;APEX1WVu zf4Ylcf4Yldf4ZfxKV57r@1t7=`_nCl{pp5bf4ULapYF}DKiws;Ki#FUKiy@pKiykk zf4V=0{poV!_++>hus_{fVSl=}!TxkBVSl`(U&*q`p5 zus_`z*q?4K>`(VD*q?3;_NTiN_NQA1`_sJ}_NV(3*q?4a>`(U|*q`pbus_|O!v1tu z!Txkt!~S&dgZ=5=5Bt+y1N+l`0QRT*AnZ@~XRtrrwXi?kpTquiAA`!+S>`(U@*q`oZ*q`pRus_`<*q`omus_`` zus_}BVSlW<@(a=CMcM!0gU179VHCqFuecz17X(G&6fBdjH1|Vvfhz z`{*vub?Byz-tVPiq~Ck02ftKT@2Tl{3-PtR4M}@X^$|0yy;X1qv5&Y}@NnYc#EpVS z5c`Q61pA3c6W0qKMVv`oDR?yTc;ZsQV~Deea|LG-Pa_Tr9!DG`&JsMHcrJ0K;7P=} z#D2k9#1yFACwMAxDX}4V8u3!%uCL*7>U82t;x@rS;u_*s!Ly0$iJJw_C0;|^D0m)m z195}kT;dJH^@0nC8;L6ghlrbqO9ht@HxuUyE+yVW926WTZY9nVyp(u9ai-wq#BIcW z!Ii`&u}^RnaTl>6xQ4igxa%v*zmnKU0d5mqPwXLX6}*brN8BuU4e@Z|M!{=|{lpD| z8;C~}*9%@xoJm|Mcmwfx;!?pIiL;1v1ve6NtGhiYcoT7uI7@I7@m%6e!CQ%QiT#3` zi9^Ib!Mlh{i4DPfh?f#~9iseui7ScQ1h*2`5Vs26M_fH0e2}=2xKgl5+(cX|xRbb$5e&Pnfe&W%@ z^@2wcXA)Nm9!)%+xK!{M;w<7^!I{LhlqWGcM+Eo z8-n)`FD35kk@`=&Fx93u7!o=RLwYzUr4 zyp*`>pHlycD~a0#2Z?KlTLsT1t|x95JePP4aiidQ#0|s^f^&&C5Z4PXAZ{eC6dWRM zA}$qNLflN8E4Y++4{=a%n7EZVOYlQmpD`KR^nV@zu;!#5V242F5*&RL+~ErrNmv` zQvZo7iQ5FX64wy73f@OtPuwhcKk*vkM!^S&8;BbOw-Ik3t`~fexRJP0uu0rRTq>9= zbD?J9T)|z$dx(RAyNO$gvjq1L?*e{qXcp;P6CzvaFp)O)WFjw?KJ;Ysq zm-teYm@9>$AaRypt{8^q5@!nL%3&y%*e{qXh@lX% zPcT;!L#4!qV6G^JmJ)aUP3k{!C2^Zzt}upbh+747r7=`b+$@+oW<{J2$iH={NQQSv zZ0e{CZUy4CC9PRP_`c33UfPjJSYu|uE~iseZ~a%luBYQf59V*jMmvWG%@YrKjFvQd zkz{n&h@Csn`ST66A4U&$1!rf6TAw`{qT^@g)uAU}OZAu+p@-|XXwj{YjTp7FDHEG` z7xE|k9Zoz9&_8NU?I+RBj1YZ$Tcf*tFYi?Gp2Nt%IE&ufdj>r4#lH}D1lEa>=&kV4 zlE@cSsoqklDle=;WFvAR0LPtt{v|>bW#gPzhfw7=> zL5g{A8_n&D1%^l4vS5Of*KtEO+6log_*?|n+JMLD+QS2lMSD_iJwbxNBXYE8u`Zah zj$xboouS7x!3Bz-kYP1iYhePBq!P?c^gBy1R+?! z>H?!`0|#S)gTda29|g%U$6AW*j#hLV%LYsBZ)e*R4RnKcHwXqp_3uJ0V@9R0#MK5& zO=b=#b)&BNLCrJ|Du$?TLTQ*N-89eotK>uIb}WtsOk};PIXp>alnK97SZou1MT@Abz!Bo_F)y(ERjmi7*w7H#=-4opPpewY z%nogZr51d>zzD5}e4%lB@WYETg63ILb~Edx)wt&BSt~lR@o3alm!L^{zTxGgJzGWq z*S6HYU;F0Yf1%m_R27@rKwC@TAcBpK<LsQ^oS^w5E5?CXplxE{z|GghBgE#k z)xLS=j00#JQeL6bv(0NZ4xqwORL)lMxE#hHly|fIH&)I#gG0S{+=3+ab%ov6-H@YOsqrm=PUcQ>?K4MSCsx(ywScy9cRRKWRh(|~Bg@x> zO=9#7nvYt3T^*5VMTQYRmSI^L$n8+|c1nQYGNIgMK4isb@l$2sO!YQtZ1^OJbkGc< z|CA!uCJO4j^>DbT;B5a`hr7&6EHYha8I4G_cz2s;THaFlywy{b%Gq@Md#Wu`6^yGB zc&!8uky@>oUF{b$CZ$4it))8BA(gjks70#F++`($RS`Fp77F=ZL5+F;B+Yuiofhna z=Fj(mI&0EC@aPSrRYya(uQ#&atW!-?EO0o9EFLap>J3;jw zl9Ww-g{q&T#{K419b&M!eIA*jMHc&btDnV+qE`8xR*<$)8G=*|!$?LNa(2|QU@Cu= zonUfLcIYZ(C1|edA}hZmg@?U8E^6$~}(#t_GQtzwpVAz1kqHdIaPTv zSOx;=p%pqCc{&?xIy%ikc2bTZBHQC;_;Z$32-tObtAE0h8N2?FH2=uex{c^`VwGD_ z#h~ir9WXYGL13LNLu9LPde$|_5Gm}J7mx^z&N>{0_}GhtQ%f4dQJIZ(>s7?>$cu7t#jx00L*$MV(VL()scv*$WQYZK8)vh72Pw7>f9#Y> zJR#6s_J&2m6Rq$V;j5VQnAT>>FLaL+IfveL+I!1-%lmkEbGYU)Ly96sjjPdfH)FKS zIRi$^%&M(bJz5XdgOYT^8|`kGtKUKMF==a1jF6S@p?A~WhVtifTu^$I?NZ=3a@|DK!{6$V%2hk)A9hnLkd1-zf*pUn(L>2iKq_ z_eCqxjqvek^HoUz_8H;9=sN^Q^yn3bo^LrRaJH08j48Y8MhuX8 z;4|M+k?S%rt;mR)DHC?w%mYyT?9)q=hy%gi|>#V`2H4*XzL%%|h z*)d!iI7t-yo=sdDtuj+sM$OceE(}v!(x!tg=S(eWCHC8F`z=$yz4Mp%P8g5(mb5W; z*l4`bGG@xL;MbWRTKqD4{?E-LRNq3K80Mz$tGuwS)eUmwJiF{RT7`U{U6BH4rGjRr z8fbtjrrBSAiabMOq*tKnv0c{fwu4@4GQBH>UYqJP6}=}M^fEL(w&Ckk8}FcZD4E_& zp;zyucLV6Pq@`IOjlqsgy=5Rs%o5n6 zVsJW$7@Wx~4;}+FV3+F~TLK%E*9PTqybAsebmH^drIea;wSA=HhQKpP`;crm^A(-KpW*&m2vV!sUm1%*OLYOqOXkJVo(sHp zasd{rI`x0#s?NGfNP{s(-Rg}m^!8>i7!@?1*e+$ZHn25TO;0Xq+|M+1M6qE^p$kVk z=7wYTO7nhIC|*3c1sF7sltD$NGUo>edwVr6Pu=Q9@(P+;RGo%)V%7AL#>rbX2928X zK-!>L@QLW8wwi|;qTBd8Abf;+85q8-9Y-~FbT%v@%&IJ6lcq&{nox5J18)fr7Gua7 z#d~ROD9{HYjo{z0G$CFnoS4o*XMmzJNa%D-uz7i3XpZ*W6wZkDEDWbbduBw2zhi3J z8SkZ;aZZOx%K8rNz87eG=Pw_$zqkLE@%C%vteB`sw45CZCTsX{(eRVfH2HO8+GWCy z@bNYo?_J!>vSH-=4%=mimL^l>)@snaR#8=UJMH7%-u4GTrjLSB{h}@?8?Ay8862(H zh;d;E2@;sCPiDrEPSEU>d6C~DfC;=5L@oKtDw*LZTU#XAGb)**E4Bv+@nX1DqTZ#V zDskq1q>JIBth+4%cI-ww7ivX5+V;%INO|X4pBhGD*lwOWPMXN}yRE3GGa-JG60DOh z19MfBa8%vh)lYwo9;Cex5u=4`zan45oQreM2yDL!zG!sFwI#5N4&$_sx2VGn-Q$rQ6PN z2Qn3U1G+UmH>Ju1dxtgrhNu^ur$l{}NwZY*5IUG_z=1Gw&^%K*PJesE;tJY9vvEN( z-H&jI5_NE8Ld*+_RLtsmQoH$UxJqjJYe_B4P~rWgj6?j&v=wbIZG&Xj)B6nR1kJ^o zC0ltl&4U)$I=7=+rRu+I#{q4tsIt347X}r4U#DweI!guPlC$BLY>Zaf=!kq%)KL=k zE9u$&9aoquS<9qs?D_y1CzIZ1*i476Pv&!$ByLuT&6zrBidl=KEQnzw=`By~J)#7g>!Cr5*tQ=M}7~yNJECxeAXPQWZ8L^tzxriFw#$O|Hj`_rgXzN)}g67}f z7n+=jB0=b3BsBl}j`(r#8@PRS!x%LHO%5$=UeA zKr%R6*zvd5TXiPrM7I$b-l`J;Vv;o4gD|fR*%PGzVT6}bx0>`~)l4IcdC028!>^{r zu%-5a!;F}RzbCm?#CKPv(N`H*k;@Kkqw>?R(iv|?az*)5q_6U8Ly>Ff_sMbdB<`_} zxF8HB*`dEDN9Lt*LGv@|^3jM>S3*8Jl>T~BF7hSvHWj(DVkh*(>6Vg_!a+tD04>!4 zkx{opN-GjD;(ZCgvTL-W%?M++r43_u?`Eh0;TVyhp-A*IC|7|gtuikEk7BkMW5=Fd z*pihR&ObY^CChU&zSwWcN-roJo8OY<eY zZa-3^rIdLP3{plQ7^LJky}Ps0`;_hU49iuI=$Wkh%RD=T&w;Xzw2K(vmuEf>Sl^&ya)aIGYKTqTrfYzSo(kXU_xE)lC# zM9lAyKWZ^F4>ZmFsu`0ODpUd=RwKj+n!lCF4fYfwXE63{jQwk8>?&vMDivFm)2~%+ z6f%E!S7ut(%}c$p>Rkvq)u`m+n1kwUC)J0YRL3f+(tjgKnwdX&V7xyPSuvq?G*!=t ztZOjHfi`2qxR;|f_-oL`?02#w@@9#AlZtF>ut`PCbwqqtB3|N(xIZ}}k75PQ<5WcN zW@(UExW86aI9^Cnl*qN!LA0aMZTvODVGUpe&Q4wwI^{x#vlGS9EId+%C$-hnB~Sb{!sk2lR7zT3 zC(zm{v`$lb0xe90|M3Up#in}A?<8kb2Fe4K@h2!ls3ME-$_{Nv7WEY&+bS)gKeoG z=*`sl8AFJDX9!tz;CHj7YpI?_^->ddlpm`owShJ5_{fh{v^TQGtk=GhKpTT;LsOZH zlm*TL!b`D&=7S$d0TB~0rnwRW2pMtoWmutAk}T0jLhA=MEl4y166suha=IcJSQD*S zgZa)?;Dc#h8dqOF`24;7H;=SuUAJV|uaU!549qvzar%LUq;z?aQB&mPb<^P~@8M(Q z9o&NEP0AuNVUgJ4TdCLUs;7eWI*$9ryV&y1f_HQq1C7Yx(QSlA_{`Wa#uO^qz0c4y z*!v74nd=Loa_%;8wsP*<9En&oKN_utUDbY!j5uJJRpuAkw|Wwiuj2}?WZ)Sqa((;j zmKE#GSFFh65jj>Zzrl={q>W__KdH60dYpvt7lV>h1VTTu)$|N~&3mw(K{M{w$%bn> z+-VqPy-Oa>QQYJ`s5$RIhtdEu>ssNtdRBI5J& zt*D2wM>CHsovY0Ete{oVid6_|Ljy0y;7IivC`(($6M7lEg65xA%8Z$z6Bw#WfwziF z81a&zHZ!9Ydkk+CzN^Lbgz>bFQ$qxpqpZ9@7wb&sXB&Tw$amr;q**PlAg3t1xoCzo z8O}7aLwi+`cXl4UV=ZW2C!-2X$Vo6ZEyJ-gjl~|dIRBb-roN7V-NxAK+wozuSIDJn za(%6D-=WCZMEaP*A0VqokRO&zfp$b{`7*Q&JsZ_gut#K-K2yzmWm@%ISksazzR_jO+AytW>qfZ;| z*z~Z~ddCMavehAyTS{D79YnrdBI8 zdEA>UtrPCjnhclO#6}`SwxHrUIzxz^qKN5;ICh9tS#0A-IxkI#6JB%YjCdj`#e zG9u6>{%tGrVokgI80MTKNuE+kbXiDfN^#_m?bx=1qEIE^^&r}JO}a!cFLPm6wk$E$ za#W-xPAbPTYqHCk#rAu&_3ql=)H|O|Y9n-M$Gk*w5;ZVc#Q8|ZFlvHHRb?qnJ4Y^; zNW|w-MB(uJ=q4#6ix`!^5_5W5GK*YCF$DJaL3H#?lRvMA8a+74=Tm5fV z9kn`w4(Y9vb$ht7{cQw*Xm4bt`6unGn@3M5ANlWnhK;4!b*EL37Q}|K>Lwj93MCh- zY!P-ZM^n2pZS_?pN1P=QAC-twfDH3Tuj>M&G7xG^*5x&lYN4HqG8|z`7Ohx`=KLgN zzGJRK8L^?%f~927OtqO^-MlQmThf!v>N;UHz-EO;to1dBRnclhN_7DWM|)D2+{nY0 zSSiM`dgK(^}^`y5jcN)2FOhTO7;&D>zv6~+Y za1V|PHPy6iLQP97nkyvhmvQ8?D_%55gNbV(e7i(E(G{^&MGQKsdsHI+10xJjRAqSQ zURaB(ayYDWwdAHZ(i&RNw21>eeo7EDpHpcQy0bmWk!vOLO3kQZs}UZjX>Sd6CP%N6 z=+~?0$|!TT)&`f_qqkdz*so!$<3q{c)Ej9G`F@v_*L#KDP@$J8^pO0$v@V$U{g>Zc zGaOZmYvo}zw(gB=42@4Fa=#GSvrnmCD&?Gwwe>zE)}=DnQR%Uq*Q!cn!pvaV4;-qJ z+S-~O$|bYJxy;Xn*>%D!6DRY~4k#`yl^$^6zxFqd=Cbn!31X*+mhw0n(J*h7!M{(Z zYkv$8lX}-Rf6={b2`W}}8-I<+3Gv?bfT4OF;JQI?iqwY_iW(Z+$t2ZLx=B^^v+(HU(E!~AE@+>ZI&aG zqrM_hPqE~wLCy@l5Rcws{RrJ#9B9W-T+|vlU_PgPWz|2XezQ^`ST%P{wFhkNt>&(& zm1P`XWv4r+=~(0fhh$EHQ(HX>M$##!rCYQZZ-fnS`YbZ2X$eT-gbl9p;R%~E5+0^h zh>nU>W(GrJDBpmDb&>;+FWa1g@ew*A7(>NXyZER6OUee0l!^?sK^|&UyAQhb>_Uw0a*9^$ z!^{9T$ykj*qq|HAx5d*|d(X^f6 zK8A%~3WEm~1IaL}4vAo^SOEdQt)_(*g8k5>CkHNJHrqDICqk^yH|=Nz`r*fH0(BpJumm zw;*=V+)<%hIc&rx1XoM&qgHTuYLvaYFBaHZyJP!jBU4)6?5X8E-}q2Vm>pV~%%6XX zBxr^ee@9lgCPzI{qF%1E$|E7@eZFUxp+m_jPLdSIsuWh8eK6fFNQng{MHdvS9ryn} zsS=(c1b6QhZQ1SMsoZ&H>o{)^`{ODW)s{e|?=;lTKqVTJp!t{WOoE0+nY}8T+sIU> zG*Il=u=Rx7x!i4&w`w%^m{t4at^OFL#bzs?ba<=YfM2wt%JBZ=CB6l!Qgk(_La}7$ zB-^brTB)R$)nKI7)!qLBT3Kg-6=l|~rhj(mTFRfeNIhA}|Eel2N>S-L{(?cFCCM7Q zL{hAh6q#1mailhN!62OuM^pBQa?nRuF@hPAlkCvFq?p)rP8Eums60d~_M`E=TNF+? zq42fQwiJ+xSCEaQkvJ^5Txfj#ipb$OZuzHV0j`v&zf)1&CX3;MGwC68qkF+%jLJOd zCe|et&mJX-vzpEl(n}R-t9X8Scw&Pv<_}34m@DbB64UKOIySJ`h_5@lhu>4Vs~#aO z4u6fv+1d!!8p%A;Pt;DX&~JNLv=iMX>AY39p+UAQTMbhsc2I?q>enh&OZ8H4LwQ7T znt?gyBX(>SU0_!vo0CGBQn_z!BBWs48%crHJl2D9!=KhQfM^W{JKS3n6@z@L!;Y7 zP2Q>-bVGt>Wx#C{V{#Md}7_DhbO6}MUcGhPlN4!HK-lrm3HT*c7gS8XMz$sBNF-erC z5@D-~Cf57XUqWczw1o3)8UI`96KnlF!uGS5MEdr7{?Ds-l`yDP3~UAT(Jro*h`AEc zo|1ix=0_TLe2eL=`Vu8nn>9<#L%da-o9M2uRCj&257ROEc~5OUA^qKz46r)-0vax{ zF?(3D@ZK(|Aa=wC6*1RQiW?;2CRfDnF*@zk=FxY{=YL(kE>Kfrylty+Ja_@ir6ud>tb5K zLAKax7M3cx*5j!6sR$VZa3j<1{4a`D?Bdylm%s=^P@W2wjAn-pkac3ge?eG(zC-fZ zz7lk7gZD8WXqMPJRc!ZoVBVujwK56&Dl)+)WZ-x&ikMU4okHjqMW`jPo}Hzh=XBuU zCg*T}VLPmbjFDm1kiwpPzKPJ5>M+g6q}8SREnZ?ar`sjwMLg~!CH>iTrRF>Xwladk}9r2+&Z<8|!){l#{cAo)19`Ebd^9&hitC>u1WUX`ZA2c^l?_>6Vlr{T5TsP1i*~-U=jCE!> z;bPdsu7@#bMcCJx!qXd-V`Y>#D$3b3CZV-~DQ)V^DpEECxp_HW=XrI{H+H zBK7=UhfL}>BymoYIQcC|PUTqp&ko(JN~yD#{-1IR8J0#R(g~Q|&U3Z=_PN4Pc7lyUc$n z4?&$~heG%W(E1!Z+Bt?_{&=fY^PRc?mm<^!+Ja{NvqA}^3HkMJ%}XKzj--9eHG{xD zynW=|+ym!BjCJ6&VU#1BGR*lOD7ElQYB_>~uX6DTj$9`ZN6_*SWBOX|y2YAlm}yVRG@BJZF|&4tl##XC5asWoqYV?X}e$UR4L zKK1h5S%VdS|F@+u?P~I$6|^a2{dW|C7KKwQVR+D(^ljuQz&TdW{K$>h;3Ved*#XLO zs(}{i+veqp*_3ATWm=k34J@{R#>8)vmn&uqiG??TRJs`ERGwS;wj#})0WyKhCSL(6 zvnOAsL_!t%wsa<64LaH9otr>M)~CYX`!-_bLARdbvO>eVIc+j(R#h`*v8-aK>QmvU zdl{}_Mf_1hMTGL;(QidWm{i1RsECti<;((?IhS4IJ+uC6Vw0y{u{+DBD6y(u@?TTR4orrKzNv~9D=rHBx6sq25b>&6 zQ*t08GNq{a|0~%hX9qwmJx9w%^CBP0ym+B`;VAR+8UpELeCAhJUX$Lg3*WKA52L9U zv`;4+VKYTM*IAyXzE!B5tCDEqCk8r~r;BTP@BX7S_V@(V6PuCY=z(G=?pV%KDf$TI z%;O~X7w&}7X7qean{B6+9?nVJ?%v+f6Ckx!64nEnO!RWGIo)+X#P5jM;Mknuv7^|Z z%|c&~^@8!L6U^XpESBLpKCk)&Vu*SUnqO^@j;j5wekH>lLE$+n@BL@(Z@(9vdSBSX zm~-(J{0LrHFr3|b>P%)OI~b}_S*eAn$O^ym?Mor}W)`2uhXehE@(cR}4l~j3Y7R|` z!)clW=3=S?_ImF=2R*VjZAU)( zvC}~jX2kVq;xz(Z*N9hFB}dga$&~@H2(*+Qny=WeQMc^K?E#q*fFcf0jrPyanEewXrR4!T$(YStWGGT@%L|ZI5pcZv6 z)(G>FN2LhJL{Vx5v>D48~#G%hK z1L>k&Ogy8VBWR2{>Ct9??eDgng#24~j=>*=VS%3)KRl?qOwvUcC;lU`)A6z8?PKJG8!d%htz zH%j~JxWQ~i=iF0~g6ktgWhF%4(GhYij%3LDAXyygxJvCAO_P@0Q&&Cv&s>jv&}wi{ zYSZhg8*$DzXmW)~+TzsEdWfgJtt7u)C!tn{LOoSZN6!u+j~3$6TCQ$J?$FSx%WkA; zLQ{MKn_}pV+%V$1-l`;M#kzG=p(|D&L;W5~A1HOfV{Um&_=;W9)3`^D!f=g4SqQ;l zHu&?O0G|`g#%h%vGS>$2(sD6M%QF@e)WTHU6BON%#R4`G_s~7)2*S_=LAea_BIq_N z$P;ZY#V32THFp2lqTl|7=%F@nprZ(RLU`KUI2?n$!g36y1lI$f8Q|xdwL7I_IbbeP zsX%`gDteoFqGBMSZD!_rWuNAh6eLrtu$eX=t`bI8iTqTOEpn<8WH`ZeTNzMb&38=}D!39|-Roax3oFI7q_!Vh?=@Wh)NUR^lT#wr?m;W{GMm@s+)tE6l~9 z`m~!JXLs2YaVxOuZy31+-^b7QF!~Ofm;Q$8^h1$2yPNR{*Y`Yi_47_)Av##x%qo!5 zDrI(W&@9$%EgOSCE3(&`zXVqgT6w{op?W^X7)a@;tgs_!)&ve!79P5-vf_{tJ`TVB zo73@o>ypE;{B{UUZVpwK)-)E5u3YTsQFTz9qRk`gf+InF+K%l#X*iXohpX+_%|JH0 zQks<(hNHh_&u}lqL%aLTKSVTr*C7Yk=u6R>cB&;e8A!3UM%23`Dq7A?T=7$JiW&jy z&2$jQNbMJjW}b@JA&Gyj{AMV>XrL1s>BImVxd~~)=curjfJqZ}jEl`NQQPB`QAyrW z4UTJpu%}xUb6kKKtuRO4=E2%0^0xd164%4OeO4UY5gX|CM;E61p^b^STXE&5AZm@6 zSZ<{aN;lZabJ-R%R4f&y%Y{Vj10f5@uYR1f>n_Te^ASD^jnK z!V`L&WhpCiqR0Hbs+mm$RztR;bHvbrhLj&PyZirk2rcY!sua}*_9J7m#)`e{=Rn5# zoL)uyLP|6wvg2?_6%5Toz7#2G2ZQG8Dx%eS-Rf9~9aOtRN1caCCIwmkibv4=NNF8{ zULmMG2?j&1uQ}&W>G9^@)Su-`YD^(V(UebFvH~)2a*nXCsVRU=NZ?Q_P z*bzhxLw->01N(4rqb@kW5)>1!eZd8O{F>crOvmtPD!gtrl@q(Zt@vG`v$K?R{utfC z1{aggeZf!_?3Hakr;@e=Fbl&u8vOA>tu#j-x+D*E)39`XAl@MDVF{~5o-ra2*8(EEcFK z=O-}8R174Y8Z5;AD(SfJgxfng7R4{73{`U7n=}GYzyu}iJAYLQz^%Ao47%3 zX1=CK00qryAL`O z=}}yiUT;?kg8i_&LPw7mAgn~70O7bIzeYS`l~o>{1xQ^F`nBGIa~Gi1!qFKv3v;5Dcxs5X{{DvMMfamMXh7AF^@Pc979TrTg2%ex6&evi3bV$+4z6kJ9tE)S~q!KE<*>+o@vT{L z8*6iu_EZ|7cmyq1c|RPlO5kWDbDV5*#GB^0RSFE7y#$Urg65dg563wP9PgI0qck}Z zGS&qzfqc>COV9-@7>LsMSiPtUyf8Y{O)R9t3CcZ6B{)0^l~6f2Iogbqx1npn!My!X zeXDp;0(-B6y{P!vtV_Mmii+h;3;e2T-x3A3BLqWB$|m{iThpb~ zPFLmVQ`PW+FPBlQ&TKkPSnG`7H5D0Imyi*%h-YL@KNvk9dt?7A7uov)RF5l6&hW93LRd+@x!IBtqufoMpwlDf-IHVtj?<6q1O3GY6 z3|T>44C&R6gb!}-Tf(jchVOsMYSjWAU!{V+W2Lua?K@S7MO2I?VIbfRsC z)dm`rJ);%4st-%E4J@uwVbYV7EcNEG=DuYfnvjLhq{JziRlS)l^=7uJH&3XB4q0)I zju@z0`!7D~yD2&*flE~qm$|}auHrJSPc979T<+?AG)!lgiQIi^o84Afk5 z`r&eM0+&v?WyNWIlsJsRLW)bHluyxcEJ@1|UaGaIEF(XN?Qjx1v$+cfKvo5(9sO37TA1>D?aCt(?i&J}H;SyF{ z%KGHOK+Wa(5Bk<#Q397~NnDl+m!*nJdY@bvsJYDPhf8S!mye{ph%Au{q}9RZCBA^e zsAWwhW?(X}_L%9SSX`#27CzD!_<67s%N^%BG(Ml{gUcnC%O~uJoJ=b9qyn#~S;^s# zAH$zt-YN3;#b>>)ib;H4acBc`AJA=3bkpcs1FIP}<#-$`#{;uNKZfX%>*Yz*9@W(7 zl3E7x*?WhTPeqMk7PXA*(47{wu?}jdPzUu~`lT8w`J(JKPiYWBU&<(I3}A(8lRffY z-vwh;g2~R7LaK_NVz<>|#}~!!&q|Rlb~;?MJFg#hzer%$Eak|_uGwP87sc+@KH2GT z&2HC$zNLFQf!)j`cDpQgd{OMYeX`TxR{8IT-HQqAK6;;-a!R+yV#gQ7u0b`bE@kR) z&F<58`~?Dksh_@daI(1Z{u={QjyZx4Qd{OKUs%Fq7 zoetOR&gh5TfRCJ`wr8b4Ii)*bvEz$k7wMCo4%h6SmrJUWr5l>SZdww%Hj5o!6uZOv zWT(S5yXpO~J1K$PJ7Qs{bO$YVd{OM~m-57cfwK|Q;hNoh`}?j4=O?gRki^ck*zrZN z8{H>69j@6e>WAIb1a@DFg`LuMTI~3u*gdD(Lzi?qT(j$y8=I1C_rnBsE0fr9Lq&Q7 zz9@EA^vO<#Yj*Yhu=`O0yAzVwbzAKCqS(Ew+C!IgI$X0msULQCCa`-#3Y1fsJr+B@ zD0U@%veV(3-EV*2cTssLf!)PP><(G%_@dZ-r5Y%gbUIwKo6--vUnj6@l>()t!ynnh zB1|O@^;-j14Vo3(J8ZT%ykM{7IO6Ex>z=p!mUK%3>p97+d9}ICS^>>^NZ+jEaWv~0 z{jh!^f%PB7@(EH8aI#iFv#wX|C6t{Ybv%w{{noy|rQVgmIwzU+KqqSjH0xn~vyR8n ztgq>Z^(zUi4@!whkUG`LS^>@aLDi1BrH;qZtPiN`eUmz`HxgJEJ6Lma6sz=rGye`H zdP}~l0(Pp+)Y;=q7CfXvtCqJfibf5~@Z0!;A^1kFRZ zC6(L#yJaqTz+9$r;-J>}a54nu#)jpj3K2Hi zlfDF}XD#3FD&H+bLFIJ09SAR0uxvJC#eFd3z^?GGT1f#`UW;?xWka;0k04K+?rz4> zW%XU8b#mfOkb=qi)h`Zv)T%Cr=eueUpiiPzR#Y0{A6XaC!3=x1x22{H=iz&vhnzvf z`4W6pAxgi%I{ApxNNepVBP5}U^6CUD3cd$!MRCMAyS+FiveyW&;pLLvs;BUYBvWUl z;!ZQ`NXOeEC3vo-;&58vG$s9S-cb6Zh7r0ihEHCYmVZm8hN zJa%m?JAK8!4ZmUBI%vymkixlnZs9^BIAuBGbrAt~MEAk}S||VCTc)=8i^x1cLjDh` zW)}RhPGw8ZK;3M7{Mt8gy1~h*B#9HY3?ONS;*{AZCkARx%f5+I$jNCy5+`i-gVS)u zX}4BaLubA&u4Xw+X4AeRv_D!5_cXE12N|+K8`+cY$qu7r_ zP`y8&+b1uzKhN@N{_53lP-(rB*SQW}s*a2nPNS7n|5WwZB^3j;R2P2}r~93p_DC6X z8V~#QkV)^;uk4ePW1s%*SH3}}UphJ6;NYYhnM~1QrmK<3gjoGFGEZ536cf4|nP;8M zJ{Pmbja3&M2eG2f+M%VV_A?32elEPx{BTcpE1x*EseWdIf~dKfnA9 za_)DszS+TA*$(^o(CBz&y9-oX>#`jK_1GZ#O`JY-a!OC)guQ%l;&wemY*kI7ixUHN zDLL+&IDP8m^oW!vXDP`NPFadmQJEtv%iPKc!G*xjrq?$yRObpbV z0^h{xpH5D%OUZT0G)*{7Q=IPYlM@3qr*~VvK_+gI*gal>;)K6BhmKmEHI?2EgF zo-&qkgeWa$onsADBFsMOy+m=2WqLEMDA_u6lr_=`h6Wu(-P?jCc^R7Oa6iM*!MWOi z1%_OVgxWUjSn7WWQDO2&qeZJAnuk{=0vtbM}R5DgsasMT4rrQ znOR_{`Nm5sFM;OviS zXUD_naVxTEXwn{wbW^mV$%x#|TQ(z?%aMlfYIO@ob>f@{R)#56EqIBg)Q>-=t+=g` zFB!+Ez!?(gvu;^xHrJsr$;sm8Xhk!QZ$A4qE?ZYO(x|URor7;qgdS9B;(tQst!K2VyQM|x4&^E0&+QcAV)t%y z;{rkY>Uq%lnLF8!RkGU?l0|efbuB%T6}XeFR>`hRNOqA`yWq*GTgs^`5Cqe3sMn4j%X0;tRHk&{27gh&yy!;R_-EHg!f5#FBQyy?<`EAIW0C7VTz`X1&`=S4Q;ew2kCV^0 zNFY@Frzp}V+Wr>l3`P2B)v^m|TJt{6`(M$y7Cz=e+^oi#we?5l2QCr;^+nBL zOtcQx;f||02k|Mn9O#x$ae3aKA2Cn)u2m(_E*!iL*+G1D#vT=$Z}JfiI>75G>SGIq zIKF;3JAN%vi4x-4?Gnb~yh-_7rhM9`VmhvfO*#Yja@7QWR$1{gBf@FVg8bgdLGvn$ zEbPIyNv{Lc1Rks`d@v;*xqy*R?l1BKm4y#DA}?m-f0XD9yD6`!EL`J=yo8bW^cVU5 z%EJ2{ktZ|q&-#meUuEHaj>u(OM_* zpLu5jQZ{!L(0H^Y1s@`TIbKGAKgSJ@q{}2}RdP~f zTBU#tibj*p#tBw7Hc9_neFI7eGvuxMR~j3r8p+fGKXMeZ>QD9i2xUL!ae2QKc}xD2w1+Y6s-(0_t+eNgo>9M` zXYl3PP9GXS998QoO=K_>{-vn>U$inyA+5aX_Czb=yDeqq*%qtQgcXM7WRPG`gPHv6 z=D2`=l}K~{-&5jCCVZiul+sp>lP6a*TzGAv5IOH&=RqOkEc zR(=p(sR_STnUGzyo-ov040KqDAtxkN^w@Un#O8kgUeAKr}{3YjB51{4iHSCrTUHG5!sdnEMAAC>W zQHwv+xEyL?`?hATv|BZ?rrG+13(ZLK`V*2w{Rwi$%nH`Z$9Z^HUq0YZQgDk%VSN7p zJlDqf3ZhH8o#-~QGQ5`yOK!2&#C+^x*(v_a!0>GYBt?hz1RQXlb&dK1>b=k8A|1Zg z#P_JZktWQ{dm~$WBfIeTey}!T-OoyfSIhnnXRw<<0+am>Qh;+S`A0qVibhS^2#AON zI;bzJsWG2;Tm)o(tZOY6+dx$Cq&1gW-*J_6HS5h5?Ijn(>wC|`C#k#Y>w>e@3%eWn z#=OS7Trtt9!!|*=5%o8f755{D^2ZsdU|dMe8$>2B7nls!#Ih&Vt}cLt@56mz3Q@m^!7Tw`{wk|hp*;A)7oe$BO*i&OpguK#w96*)cjUc4r{s z;J|N`z+pjZ(EMbpSXi@|XcG_?&)Y02Efxdq7|AS-aZBV z`B-%qw2JCDPQ8gB4`XPFNYoJiRum(^8_SOTpd3`ud7h<+;tp!$45{(AANZz5_8>(d zq-H0O(%vBTQlnS|h4+(7Yg?5LYDgLXb0X zA;=a#0#C<4&aA6rd0(-eu~YW2spY*)Rayx)u~s4W=Xth30dqx#*^4`P6g}RVlR%FN z;`GKTdM#pQgy5odvQ=+A_S+%*t=oQMxmWRMR`o`!s5dHAy-_FXjm4O6Pz5y9s5BJf zOv|d=Z$C#l{8&Nkx$Xva9a)7Zb;-GCC-5gW(pr%O7mc+wZNf{(NlpB8sN?u1e#C?e z&0e5qdeaU%X-&J~s4KVF)}(U&(~Xwh*j?TAC9)xF}I_^K^~k z7UP)2;&Z&>!|P6%Vcv9-I!iu&44N0|CQPMHwe!kmL;Znow8Z$^7)*$BCulqQ2Bq*m zH*|Wz&<1|7o)Hrvscd~;ZU3rT$PGMm#TQu zB4{3MR~Rb#9ew5l7pMQns@h6bwd3YQv>0(!@gBFJb#ck2nm}W`E4x845#`{oW~%n~ z0G3`h=}SzqP!4hA$iBn`6RP+nCTpNraFRnr>bwW`N3pwxmUn;9JnV51l{*X%i2-nU zYJcb;$~s1b_idCw+@-{V9?#HgztJSSJ7!AHB8#`5sYH2pBBW6TvfJFPQXpUUjg}Ks zJSnl=X1z^PZnXRrVlpG0isn!qmj`BWDT)#RJ>=ucpE>*HOHux&=)CkB5lCH%GWgFT z~wn=@;sl7ve)-j}YL|tLYAcYNurIi$YKuo%502 zy!uzd-N|91SR>BiQ^~*Lpz@DXNcakn`oM_c*H2jacd|nu^8a;%)+*Y#EV9eIBS|22 z2S}XVk|cK6sRcW<#$-3KPj+hhIDEZ}-S+Avc0reP9tS(6zp&^p?9yLY1o~G`oCC{| zdCUg!aOy9|#X*$|r~a0TKueWC3#>LIoaHbV1NAw9r+=BmVzGZg$ zpDY-t56%XYSuAz2Xp@5Cm+Im%&r^Dk+wideysDWqaa{by6PXhwj?eU3aWGs$bIBRB zc~ZJHv9pt~*W6<+_<>R^uaM($dK~K0WgaWddqe6Xfp{UwR=Md=*RJk0&$N<*zdF;4 zl~T01*b3*1Qo}Jbga>Mxx)Vognhr-{{S$^huFA%7G4D#XD%-naZKY?$hQ~F94PO+S zC#UztMume-WilI%nVoFHNo-bHZ1|$sOzV@43J06xlG)tmGU?DHHuV-8z9=>yUfGv4 zDjaNntF|AU<-gX&<}oQ;etkt>J4d`Qa2;>-F}Jr3RPY~EG$@aPg07Ju ztzc16R|-loL1+m?lhkZOG;Ov1)GCO!YH3Sb)b+0>NE4*I8Z>VkYtX1^opo2-maW7} z&3E5tW}baE8z_CR&r7n;{GB;-=FFKhXU@#1=S-ZwL2!8J?yo}GG~?sE&xC6G93My8 zJTD2F7#}YwzimNgNO63;q%N@t3_L#W?ML%dHTLfKI6xP#uG#?G4-a6Nd$!_9_D1Fw zzCrmu*9GE#bVnJBz~RP+2Df=(as+b#t!_2e#I_6o1FeFa#Hs`Be#{M7c>)vZcIzA#vD^__m*B~&{c zAy)%57c*-GMLSb`vQD}WEwIiMuRSI)o}~~p&ePRc(1Kfn*ee~!9q_lb9I`jkLc*kF zzZ?(v_(YY++Akk5)Y1m~<(<)&_sle%CJob>& z>aDE!cNmX7Z=Ga(q9BYOPpbd1u^onAslAf-!s;%Y zq!N0@)i9;0v2vQvjdyT+JW7s)fkI) zb=7;a$NH|AlXvJn*1t$B_E-^%?FlH^JpYJYH-2eDg&Zxw9;(;~lJ_I^Oi&Fn5n!5_(6n zsDR^Lp>_C4gZ2Abon1b;=N7bTtW%%Dk{9Xz2Uu*KmJ@s?3WTY+-Oy{Ko@?Z`SX{6j zTr~~s34IiFRwQ-TMS8q&`iE0unzs!*$;4OWp4Wif#(M6!N;DA1PLk0AJQ=r0?sD}l z-vLzo7>c{}Vyy04zz*%IuG%G6&GX)7B5YbRyVz}l+n^NN6~9(T8tc}-M+4@!HR`lG;F4pG6r_+Kjm~=f+kk%?@h^sduj1bp{A&+K z@^+12K7nw#R5ZS(H&FR#gOdkw;4*7_Lpgjhd$6N_#P%h3V$-{!eA_t=uI4@p-Y|FG zf`;k(2**^biZ2mb!mEOJEmuUO3%b;UHaZRZvJ2qsXu1IRg$C5uolF;;mFa?`v%BB` z+XYQn#o0dSN(`|Ny6NHZOAX7A7;>wxazqW5u~>ZNh3>u&%%#2UP>s2`wy4$Fy@Yda zHSfL#$_xCB<)4-D?`|k?fxdRkrRe6*peK&02Ayp=xy%}S5b{ta&&UZ7K5h=m@TPq! z%KgU3M9`d<<5u2am>mxiz|?aZLD&a^OOZ#eVV?IT_#nd2B;5Wfi@Rdsr1)0U-s-3b zkcTfo%@%*X6K{1szFCJ`6mC*Zv^vRMtpiT-Eh+>mC$$dHS(cI?D4Xa(UV${ts zbSy!?;?agIYR&>R(E#csioO=+A7OAlN5TbJIObI^|PjSeX7m$TQqh%Rb%QoD4I{5`7yrbkkq9wC4C;b}rJU7zeap)A-Ix4+B55j;Ov@9ZZK zb4@?!mI9*(8^XtdVepb3x&6Nbp_T7Uo4{1O`yP~qe|ey>X#?6X^eKx3(q=HOwoDLt zL8x=8XcfgS87J$E;YcRqi;{7e&ZsFcW6<8DgAnpKBQxB=lriFb~F!$5!Z}nE*uJRGddVoh4dhYh$+tMV92r}%ESIb!tLQjfGunp zzaC!{)TMKvLSSeY>Q@6rc$dPjCyj@*C0Qoq!tE;R6q+dbL};;S*oG%ZB`-XLusp}= z;U>)6`Y}g^7jw<5!N(jGX7i+a@k)`dVk;}Okw2d)k4>2wG0RObQdUgiY9Qg{p>O(wfQ?CWB zorC0^i-X(pn{lr?$fY|W@tw5{qXW<)+Ak9~n@Ql|6Qu?)kxjW==Mb$Yoq+ZS^977y z`WkvX`3^?lCGa2-q^s^rk_l0K<};ND)hv=HBYmqj3j?@_ab*jp3aUGmu+gv`R(}x1VZ4l?1eg^6L#jXxhK9^;+FW3&n_w>TmnU`(C)02a z22l&uAX|M>cnOa#EI0i1Iks|i9Q~cZveVJ;I20m7=Y|Vqgk%lGxt1XdaJOUV?#pZt z2Q&*BE-83$_vg`e+SAXF1T$q(J39^$cIegb_6$7^J`gFO?)#U-nn?mQ2f^ciWE<_n z1ab>v=5>H>T+wG9ljgPl>53x=3)B&C7in-BPOH-nk!jEoRHx$sG5=Okb!1v>_ekyz ztu1x*Rq7Wa05tNj?Vt^A2i=Y)h1GG>h_(?hPhlU6bmW;+@o!0KV7X94G8qrqN$HhxCu3g?oCd?)_s`ix4NILTI<9H2`pu-;QZ*|(RPUzN4Z`O=*v6uYymAi7=u zf&#d&y_r8`pT0%ioYj20{~q0BCcc;0)q@vIj%2#}w*GJ^RF$0WkBi z=OVjMaag_dnY`%?(KS}uSgo01lp8>;S*@}OiCTq3hsk=Z7~a?zJZzX%?Mre?Y>^T@GPxATK%u_G zLT{0oxkdgcMSf$7VA%8}AWZv>w}-wez2UO09&d_Wpozcva~W?|P75verUk9ANHn|S z{(V7WtVSYN3(92tKr#+C*oq!li6|mm3inDq(__BLP-#PMZ5#?=_4_HpdRmnlZ-Fet zEGElxQ8h3rX=OqhWM@xz5hk$%s98V;+J#>5%pylaYBf5^u)1NAkO`d0Aa{J{UaBce z284E@Bd1L_%x`o_fS_j4Se~>ZwZIEC)DLP}4b6p`R=aeh+cyJ16*`VZpTgs8f}on! za95MeOv*6&6%rSi>!};5nsaRnO~jzHBm!ie5A*heH~$4!GyA@^#pi$fMSku6(7!#p zwP8jw`p1?pM)|iK{1*@|TAp6JS#*s`_^hWeudLgGVD!*!_}iAxB=ncBVMb~#;~OOY zgqG+QV=c0l9?)6M29vz-){N^4c7G6sdOyUns5&1BFzc8({=G$N$K2EoC$%GgULXDY zY(9An5}ehRUjWlw9SR9aIM9Xn%@aUbk`Y=>dL6R^c>||}S{B!%q!xOfqEua6DE(~s zw&LnLu)IOLDqzU~3nBk5{ZZ4~S9vUIYjm*EHF~w^D{w5}ObP8H4`w4^mfqbCm2TH) z%qr<<3zt=+w+zFo2uF>a9)rqML1nXRlQB$&9?Ds;blJhv?he&&V$l&+cTARwbBAgs zBc9|##@RZf9%ZxO<_|y0BSOu=_6FW>`NHLSwU4VkyG(WYd;(nGwm}eFgYW@kRXHrtA)#-py=6^L~ zT62?GK6hA&Q4BMjt?V0_$`*XZc0@qk=z^QiUaEKgS6F>t5K;Ah=e4zWX=5$=bEn9W z`1w$~h0(FNsJvD0S1;Y-eI-#`RK9}NKffJy^zE~4P{o1^YMw)?dry;vonDcRTz(4`p5)aib*1; zFiu<8!Z;z|DO@0hao&J&1Sb}Dvs&Q8ZdoGsKg=zz*zdrJFfCbSGU)(IC{^HyJPAFA zN+4w#9Uc8I6D=bz6Mf~h0cM$Y%rY*|Xw=#6;w&Vy=YjYtDA}TlohnV$^T!LP3UBVK z+{Gwo9#*reR!D36ye$H~#^aTI-{1`P;8G9pxgOv~5;vB=u~+U0)xN>$f~yrfhr3OX z*qk{$24%7@{xghObvRTT*q$Zde$+)l@E_}OdpWj;^_<6ge%;G@I>E4Su<4*Ucy4T6 z^RmOB7N6vFndKz>wnKN`ic%(HWe~LEY#48{I?Q-3;_kGvGpEI_&|Xa`<%3q9k#?g% z|FBwjjz~{wNC&nC#&q}ft>PM#4~x0Qx8xQdEyd@1ichigq%~UyBTemted;IUGwd;5 z^3arRRAksrWK@Tu+`X3yu>gsDlq*%gDi!WJ+u)l~`vSW~l7~HQJ6`g(nY@SkFh2|E zvdEO&%q5cfA)Pr!wOEeaxs9)9k!;$Hl_EEpB0$`ii0EZ6jPes<{mx$r@$p~q#=lT& zVhnBiq1unYC<7PH=wdj`E>k-;L{Q5zP<7J%RrvvKKygwX!}mEMVMl>;u#)aK1 zjWWejDb&phXo!i{Jck{SZoQ3 zn@J3g3vuQkm?8ZDIwveubpj8^iY61@f`nS4|UUtLM*u{7LL+ok9@NCw$XTJ6!k z(nP>i{W2TqDBEXSKXm&HZQ~q|eouwfv4@)(8kv(|t%*)DbmuTg1>}lXK$(_0|4*i^ z-$C)P!#ALQtt%okJ|qbk9tCQq)*GVQc^K}EqAOuV#tj$r-NF2#61)L+pU|&2C5GtF zsI$JoS&!~J)>#ie98v=><5iQ*NLnA6p35cO!X;zRAQ_591Z+?TTqKRx9DbLm+^h#k z>oKSfo+BCXoT6~ddf}J{cUP_FOt~KTM4iXYU4ij#nGLtW9 z02oD~`X_{m zA8woq*4SVyM4%Mxc5BKai%IZ7nCCMx?%zW27f&O>#~ZZ1F)&({@D22!i_znTYF_h4 zx7HT`&y&zHH1o;E;2=q#jyOLyTK)BdJdJuJaW0O{4~%3}E|U3R#jrX|BT3&5ry1ng z&@dY{u77a%7ZaW4(CS)4-eGj;daVuEzI~RBdd*9yVG)8(!vsfn+5;%_RlFC~ftg)TQEY{coDtwJs zI#jGMDlwm#*JkPJ#WG*$*D)m^KBR^lWV_tVzsu02&;TOH-%!56m~#26Sz;TclBX2b zP+~WuDYrxLf`k(yyb7{u5xmPaYuA zaq5y$?v)7I-g?a%5jUtKE|83x&(+Pxicpl?V7gSi#?G4+nhx+DLL(VKP3}A?bTBtR znL8H*V1fE44jt(=KLl5SUe9G+h!S;h)#n3vEeN&A;j)&GNBP^g_xhVNb5DGybaR31 zXKB$<@7xb=&q(b>#Aq`XqyRNmYQjN`WX%U(QqZ6!s9GYn`bF{#+ag=>vhxM7VU8SR z6cvCISCasOM%6To7e`=fGuuJ}3GajW;h23OP?ooqlQ`Ci0Irva86wnFHTf!s^ZKb! z?N}hsaK*Qv1Ktn1K$__J4gx=*VmJi}fnxZf;vzG(=S6z8$o8rO-;_>YK2AzVPgs@A zUEG)@xUTv~GE_ua&8qW{ap`7T=dHR`9Dm6Z+8d{0Jc3>Yd>%QO&5AO6C82c$KF`rr z76@`(CljSug7QY&zYw@c8 zvt?=?i8}bf`8~1{K*Q?A9oB|49WKJdR$Zh=Or#d6bm>y7Pmo?f2?ogv#gm1L!TI91 z!!gl-s}=D49Jbo=scV5tX0urhz&EH5?loV6!Ei4Vv`X#~lQ_oI@fH|BB6&<7Y9Equ zbl-Y&XlIsQQLh2(VxXboJgX|p@y89Zv{_Z=*`O>b18ovqcW8!U6NH6f& zxz>}$W3gnR7N|KEYLA#_0M#y#!E<|q+AdJnc%l9UQBaW^N~dFCj;p5Rqf26f@~C>} zIZjci@h*_xXn94Ejl`D=s|>zx3*?Igvb$`+u`D*POJ@&zva{B(I$R@S;C4m={}Q;~ zjPFRsohOnG#W0pcog&w)M0akV8K;9*Li!fb$sj*AoUG!&i#E*+@h<2?Y*_A=ZK(Do zrj=tzVV^eiY(c{ee0KREwS5!tMByV+Qm^)SZvf_4$Wo;g7VMY>5)=)x1qiMPs&XA$ z@4Q8}tnQGREL2+{lZuHzUFaKTx8@M)<)5$}0eT0+OW>YAA%rc-VWE3)mSBBvr+T;6fCrsZwjATU zg>h8-Hrq`ng^p0;9oaO~Gw_8>GG4Yz3#8ix()h$F8W~SZ zOIf6Efw#zKQe=v*oVFq1Omy!(SAhfc5T@5trtQAr&Rgg9fz8lFGX@GH3pHeK_w@$o2VDkH6 zH$6Aw5XsmDhY&~vy=x5@;iAy$B91>;YAWF_RRl2rIj&u)Ymy~a;l`{P1xOCpqs}&B zSvI=%19mPKEmuV3`@y$%_8wW_J!{GE}9^IkvuX1lr-}c zMEkjPd0OR6G_8`U9nWHt3W=2{4%YJ}7GRoydu&Tp0o_001!89SM!=Y+i&2vA zU$JRdvRGIb3+#8X@DxvN@SmJ<$B{PZmNpw6L!FSX6kP8MD_feb}APMW~G(_4qI+7y{}j7bEB|frt|E8&G*}^vR4)o9Iv4E&e#Z z6o~xWME}V~XJ1BY6m+P5_AZ~LkR?#fY=WR8$I!Ic52)4q3+crHAe}*+{`qfl+E*7? zNR=8@6Md46{!gglh^7ZsedR5kYoUDN;ta=jIrbcFC!@<@k+mV<0wpr6UUhov}}7~3!- z_`;~V#1)uOK5qF}esoJq@2KeZ6Izf5p0~KJ1;BV=?tJ{9KK05weSJITVj?fV4ZAz? zyO$pwczfr2@$Zb_-yNNm2kvmxj;}B}F=$7pWE;L#AqWr8mDA8M>lkP_l*kgfWkLSc z%R-}%XsCem?)w-#Sd15#i?_IpcoPZ@>=KrDg)({r048bOaBcVlA3!(3x&)KU%5U?F zR}C_Zd2=+E3UeeFL^Ax1kN{WMV8-FNa+0hhg6j8r$$|pMnV8Sq7+lnW-UuoO8>HH_ zmSs>AEU{&Wg6Qf3E{oy0XL24)x9Vkj_X+-lg)5Am;D^+Iwb6&09?9LE$8rk~Bv1M) zCrN{;ZcV!XC2VbqnW36t5O3Gwd@L2P-~vuX&{R;N<(1<2IRX}DI&2?o^cM!yn->}_ zs0Wo;2WCYF<~&~J+M|j>f~rg6hPlax8H%R7WZ=px`oX74hK<@~IHo!Pup;%xgAB0# zsi>(;{ZgmOR&TW0c4MZQi_Jhc%i2VS4Df-&`C$LnhPeu#{Yd)E!#fNXXBkzA zAQv67Qc13Ok=0eg4Vtz~uvrhNrj9k3kcK_#uLl~e)7I*x{rzlj-tPAM-g=Y1v$i*} z)=Hb+gyxy{S56Vy%0{*S_ik@8jNatdbwhbk=-ER;&u-P-+Mnq0UkIt7nW9s-u~Yv& z*>oy6Cv7`5<#uXPU6^SR?WohC-Re}bj2dH8A#cQbJ~u4{W(@;$xyr2sDu0=JHz;Hi zMog+TIz)4cIe~g5SBp6Ck9)%*$srMg@{J1~=r=CkaC`BM?wrtq2?A~OB@V&(mU zzhxrt0U;v~b2i_Bn#1b8BiI_VL4TFhr6oxo4A1Dopgd+(&@dIT9;l#Kq%#-h2Lf}l z7v^A+(UL}*1B+c=gENw6ACLs;A4VIsD?Qf!bzcGoV@vbMPOwD6{J{${z}S8^-6Zgs zd>I(qxQwY=zhFa(F-Ju21O#wBOsRd)PG0<6_g7W1ui{iOvOs!ftOy7B3hC$gjp zUDAs0LaPBlbd9^^CZZ=&z!G25tH3S6rCC@_lM;rO=WA4H+s?wCgiOgDXjfwU(IF^{X8{|`WasfGKXws*IA9DO&d0{-mtfv zEr4qW%moHNDV?bSbA+yIz;fExDl;a2t|?kmHFDo$B5#nD7RLhfu)66`JtoQ_%F?nO z>=_&o3A4c#GBh#;d5|frPL_hkM`R|VwB3e-nWuYJKacGfVf*-5OmqkDm$GS9@LwRx zT`>6n7w%>7F3ZJ`es9<$krD<&+-4~-I4{-B~Up}l2Huz#+9QfK0riFBV#491PUs4aXyT8 z%3S93G6UW}HM_ABonCqkAqrnBFp=VGlCK(%7(%?@`)j^Z%$IO*0#vySFH}}Ni9&+z#n0dDxkIEvC1AjvPVBx|Aia zjnM+JF3&DIMs+UhWONF3o&rW4+B3vVP61xd>N zXk9UaZFR?)5^Z%bIUC4h@x}kz>fnOu!sFyXcqdqRrz26|DSrZ`+b0T^c4`JjarA$(NP1R~_T)TG~ zW4WUDLfq>vdPpX@#DLcaQ&CW|aluW3pA!nNLeAqPi&U^k4^@PE(N=ogNp?EALoZ-% z7qOFr4{PE6V_)Sg0}#jc3_y``_y!Xj;JmZ0$KQ$9z;H3Yoti4~LSsJ)G&bpO>xsfm zMnN$rs(v05sV95)gjTcP%sw<0K!ZZxdzStZRNT#|I_5yLF@Vt;d6=S$Ua5tyRQ{fb zg6*=FaW~zz8Evr@E%97X5RO%!}2S;~*re zfC_kt1EjKAT`htTa$xxl`%tYi2;VCR7iS@iZ6mgf8dWCaeUfpvELhB8(L;lL@MD)R zR97tw=fQezufOwax);Gh_4E3t3q$I3eJ?vk8Lr!SW(AqMvNqG6KU%?VPyDVqfJ}zA z3zJoo$>f%G@>wS7^QH!5zU{PGdc#Hm?1JmVMYL|9$u9w`~l3vBG;V|2Of2G_2k z`bDnQ$A8JIU7A;Yo*sQpdQ>mMiuGK7AvS8IM{8HW1<*3k*{=DqCl|`g0_8nfb$K}c z!7sn$5I5&_?Md3F(Y%K8&J1@;(~V$~`{lDzrP+q}<=S+6`}|xgqR%V?uc!%0BTFhT zg+mqKLkhO@Cvk$gO`Srj!w4z7fPfvy8iY+E1wgy`h74$5vDFf@6U6KUF{h&zQt)6b zF2v#F3tgl3XDveWt=l6nHp2}&nbytd^>49aw{9`uWTi^mZR-}YmY10awvEL}nk|i7_i{8)MaMhYlMMEVfa_2* z|9^(nm?8HJp{V!&PNGtOH|voTVT9*fgr*i!t=W8oYRxO|uvC**oI$lT1*d3@@Sjmz zbQ4I%BP-8#~;;sDFUjEMSJSaGJT;4CZVMMks2Y+06& zj3?=gF*ZIv4gS5xg)4r8xFEcg=||7-i`GSuy`kKbD!pv`aXwOOUS=Nj@wth zU2DGP0Sg1{B>kL)ys*%)1Pi|}^@A4ny(CG7S9o0fhvcn`#;JoEoS3jtOslC2e7IQe zpSm>$H_pa%A{Ptl#=d9RV1vg^(u3qBPq#j&OYc{==Al_(RTW@^b+`6aZj79s+pYPM zai-3wyLCyvOGxtUMoZL*&c@JcY6I~K8ML16l+IReS8#2FHf?K`IDI;nI&3hqaz!cDd7MDooHhJOT-Q*?EFwA|H=?s*l8F>G!=yvaTmv;jhiEoh<7%|u`CJ+gDq(_I zj|t{+h)RJg*eEU6S`3%sdWQfWGCd6{_tlq-{lI!1{C8LFj|ZJYA|YiV=t)jv)AiMM33 zau&VURrMdpBxni=I4b;2q>zM2p(d9?vwIDNLbX?;Fnk^KoqKqu-ix;MTsP{bAkOlxhGO<4)g5EJ!1QI|Z^88NUVpdP6a-WU3ilty^h z-U;k76VxX?(qH>ERL_?Y_`AU@QQS}`eWvf1;4D$uR2Het9kzHM0OD_@6f)KjG6Wva z6`A~ipn?a3!sIR@$6|1cQvVKCrR)D_*)H!8a|LtmiY z2yZqTWvv#7dum~w%}l$O2!cCgLehGq=fQ>~%)*$FVA%_(=QMEW;;@>bD_yHz?#7bP zLmx~-QCZyZ3cvWl>^N>$aSv*)&m=05Ywyq0+=>%08lcD#;+6fx;K2Pv>EvBa3o~<7o zK19I*4j;y+W>Fj-(N@2R?i4D&Y!V?LAt7Vc_S_D7T!+o zQ0sILW;(fcUf=#kJ6DJZZ5bkLB29(+_c%T8*aQMkXIah1x9Uo~Bpi(V2 z<1&M}E$l3vM*x}RpeMP=lgxU)gL>d2=cxzp7w-B@W{LPl4jM1@G?C_Ms`f(T7stbh1h+pt1>ksYb%w2HHZ?eB8>L%B!=|sA4Md^OjYWdXMDy%zY;j zH#UACpqE>qaN8zgQ3a;kp{DZI&Ea=zwCCOKsj zsy{g&*O?L#bKKaT3B8n1sgU$ob!{wTL=#~O$ka`HP)Ea5jKOYK2idq&aN@Qr{fn&AOehMIZlhsrG1!M?0j7X0C#UiMkH?rosJ^d1ML~;re zEO)e~)IUEkP_2D{e(@r-G1sNIiP5e{y}9+#PGQRlZz?)2CA-*33|0RYOwlMx5uNmI zA_9>5x=h9%Aw5A563$KOxe&e1ZD|Y`JuDinAc6Fz;KPOiaPwuhVlYj*b2&`E_|^gw z+>LLszw_KGS8u*V1t*0mbv?4*ph>|uZ1@ENht;V`!{vy<%HE_w7e(4(o;3Iom^8>F zr2Q+QIT7tHlF3QM{$Y4ibKuhNWo8UC4F5-HWQ`mLQ?sfo2FYBPI`LDpbJZzs&NGh=*11U>^Ynuj0rd@?Y(1Z_-xu)dDykDlv^jf(I9TfJ@o!%Q z&nhJDYH;+0-!(~C{Uk&DU1V#R0l$(xb{-j|&lUMAjv64I7B0Pqu%|IR6d`UR4c^^Z z(>z#qlJ-2<^6^*D&)q{$ptl8Z_nblE^-cY&s%gd+Hzd#1J-U4~-WkvZco3JZuc_LD14>2UGjDelTLLuijR1o} zb!(XB{C{gHPGrFY2RnHmM?oRpe~ujtAH4bg|1|N;eoc%>ryE79Ql?e(bFgMpVZ)TB zJaeOn^=2qH>C_4$7lALsY8XyziK=K{n&{&2qsr8UHv9``%AjU22D03ZfqoGj7P{+) zLb)K{fSV3rd;`w7YVk@#g`HH4uqj;EP>D(=D%{i#oBGvE>MW!d2t>DRAd?D#(;@KE zv{DcrWTKn#JsX)!giIyagQM7K0;++E1JMVel{hMp#PLCqa>cx;?dM_jnx2a6-2WaC zn9Fv=?frPc5VUQPF?D6H3b9x!LPY(s3;aM=P|aMo~XYb^hHgVXMBhl2}# zaec=MJZ6sH$RFdN+2FC19+tX^AjHnS5(2ISmI|0E=~_43*-6!|puQl%i+vFz z4d1!DeKgLFNPqa@B6P?G2I;=+L?X)kU!HgbC9tD+F-`K~H(!0p#V zz)*3cQIto-xi{DrqE>jSePq&qFp2A8HUn9+znfz&_SrCZa zMF=IiKp*Q5)GbE;bsT_);xrw#U{z;k1a70c(IP)*onvuL%tHiq#9M3>N1A9W}XB?^M(WUkCGO#w%QrbCgX7s90<$m}Md z!UKVNRW1|J_Yp^V4AuimhtMhk<DHo@a%!yUj)q5HU&7=}pkh_;1P=ok_6=M1CG-~zt@*0}hD*Hht}*BnrD~QE zJeN%{+?`6`s0}bmsU{nRuh;*SL|#!NAiWNzc_2R-!8vOYCD zIN6gp-atITLWDmz4prWdsngFKe5HnHo0jJ`&K;Y~M#nF~b7l}CH)et`1 zP+nCuXr(R!#QA?D23Z3RQQ!NJG%RMmP%Vw@m?+`-yEe)5Et@Kjm0)mfN(T$+7hPJ2 zxfO?2xsuYimKWgisC6vC+@-;F%q=v+LcLJIrlo1rDYxJZg=*Wt(*T@GV9rAs-Uk_a z7KhR_c zd@yD4RQ{b^%D+?3<=-$gZn=>)c$K&(ywq12!+x*ap|c(j?ah*t0laE65a|RIQfiLK z$S`P$_koJRwq~osP?TAV^Wg=Mk9~{SFnZ7;6rnLNtj5SN9B<@nyb~jY2)H7a+ws)E zVS5_I(eo7kz{_Toxe2{T{YraW!IH|Bb^RHjGXNlnJ&rtB{c=eiW6l9fgayw7ImIViX(?WT@j?W4{Qh%!l`txi6gxSdXA z16xRH_c#qzbd@G8Zgk3ytQ0L}b;_&W6fPG%%1m47c%#;|R?{yBbcSQ?1weVhU}NMh zvy%~uO+`O zx2Z?$NZ2AzjkOCSpdQnIeU)3n>V931fp(RJ*3D~$D}Q1TFSXHflS-(LO9K1y0~8?a zKXlb>ngT|6*n0c3Xn;H0)(?yaP+F`5(TI;o8LXe3q;D=^I?y;R#O-$ZKBHR zK6dATKqR!C+0OQ4W3y~Fngauo4Zq1lp2ISEa4sJIw=Jv}Lhw3o)c>GzAKe zz{pW}Vtn5I;-LT7%XIgU0o4CcLz+mptFKQPR{0C{5Vr zdWuDU6bJ?KBzFO3x-f8(qb8>OS8aJsiKm(}c5N}kR$%VXHqVggF|eHAFdB4Bvz3YE zH?BI8JYZO?RDSS|u#u}YgNuD#`J6b_(Wgo88xG@IfmQe`h9wS)1&7EA^)UYA$BxC1 ztWd9#^JJ(I(^5fXJfaEc<-bTBth)4EFcVG~^Gou~HhCU&^FYri#l{!BJ#a#=v=l0b zWUMtA7ke{K&SacyGj1>$FLpCFluiZtuwH=}ft(OPOR_y1DIm~GvJbcPa=b0mUI!vC?o;>s1Jo6;a9+T(aotf6p zck|4bJjVqzh2Hk$iMV+pl4rWf^NgDZ9lJ2obqj6RRhW#cbw*h%6-3sU*rm2Ojj(!z zs6i%Yb3WKP9NCPl>L$2yivE(6$*lnUN^0x>nkFQl=TzSBZWDc%pTGUaHeYdZD;#bx z)LBPW;hTVmQTo|(W6Ci2v zt1C8HFSA+oxceEb-jQi?r<>iygis7~ZW+3xeYAE`3_7Rtk)O{Q2+>OVbkHJ2IG=jU$7&cOYcPpW9aiDK; zUf+22vfkRLcRs4F`smt<$)VpnAIZ@9E$Q;34&gL#(YPECY#MO%?kWJstRre-T*Flj zShK=DaU^xRib7oj#P6T9#uD9>$b-AlM?`k|xg5nwP)Y%XJfE_Mqs{Xqb`#KP`I=DR6znPiV+fDU=`^RkGVMY7j{b=PfNUH30|46@6PcR(|0Saal$=_+o9j^<-d(xuP@ zIJuy&3*@R*;HPK!oOqo3L*M)2i$#;bXcMXQ!J9%H*|h>VtuOy^j1^V!(}Z7yj@>qv zVspXQC^c(sX$Y{ug0mU*Z5t)3c?B4v=OpMwR#Yvq$x!HF^di47c`$5{SRmhlS3}Uw z&|SX(rij9xQ{^b5jKD6ILQ9is-0Ox1L$$PY%Orp$ZnCki3*$PhKHVnijrTDKAl$%0 zE|62wvxsHc^BQa-qOzs9xdp%7x1DTD<2JhgT)Nl@>8FmfbfeN2s(Tgvo3ZKug|(%; zX9SYw#J9OvI8d9-?StEq(+(Sg*xjQA%G#+W?=mH)@o^%oU0~!}rM|u%a0PC$) zxAD5IS)lFnih;=YZR<9=K-&fAA4KYrg@Dcpo#BMIN;XG`k4=O%RwO2#nA47+z%GXLVodF}xqu z@xsw9Zgsn*y8jj8d#d9S4QyKw`2{dkTkY05TZ$v|Vl;ABA6#UV8o`IlXOEXp8V|9N z2=N8}$2{`;Ez$>wX)6^TZxRL!s3&xS9W6ydQ5a;grfLl5MRBtpd=zQa;w18Y(RH{K zl8Zi2N#&p2lE@R`)1c~HolAF28=TP>V9Xfx#22Qm&ch4 zGB0S7Ud|+a0KAzr!X!PGNoqDpN1CL&GD(k^q|qj6VJ2yXNjkwKU6D!phDkcbB%PT_ znqZP9nxvyLNr#!Fi%gO)lf>2&`O8ewU!hx}4{2I|( zN!nzRHkqV<;8`QnFZZw=~#19Xg9$yO#gmL5d^9v31#p&TK51GVk_*INQi4`%}uYHNi7-d7^mKc@< zzQj$ED=|-sCB7c>ArICeKIFkV#D_dshfwBX9pVFMtV60l;vi9NV1-xvo^Uozmc2s5y^Rg0cy6C zo6LGyW;2=s)IVEgB3dUCGXG!>nXbm+jRm89SLh7pH3#$zt}(+-3oHCLrp|7c>U{b* ztR51vZqE3;1EQ@ZP>zgyP$aDC^!&y-j0_f0n-O8E8fL0$$?hwN8*2DJJ!7c=gBU)1y)@|7;mMU>G z$!&{lF!)YvaD%T=@3kK%Y*M>BQF! zTSRS?(7FOQ$iSBe_cIn$ewClFP4m)Jd}#UvRn-bhpRDclu@;VI{ek6&Aa zV!+|(wtRj;Jm^NRD?|uy@!~HDfjT2;Q~FQeF{LZzw%9%s{fZkcSFqZ;p0v^2Nebi@ z;54D`vWkOEhd}=P^(B!%rp-f;Nv-;a%$w_&8TQt7Y@Q()oNLiUpZb^9aBUMsJoiP8 zWa)s`-ldDc1DS@PhlO=ayDJKHyV=IIY_jyM75J|6;l(XC?16h!KY`SXM=HjxJP3a$ z@8p31#NBA(uA(6jX=nK<(}J?*;3=r}R&)VwO?Nf<0AHNfgY^Yk$>CeJ zh#TYU?dwB2BufA7;#{ifx_x`7pEn>< zfE8uc-|N(>o_r_bEEP2K%L%ST($+_mp>R?4_zu?M8I9`f`)T3^@nwHRt!4vm=vp@LqCO%vZn4 zT6-O(_Q?C#sk|=8s|3r5I;^ZFMgXI?AeX3 zjMINfotCM3?~Tr9&S9CHdv7##aP=OvS9To8v$sa;8++6FK-vp7#?M=Kk z-o5w4>*BBOJ@Ll)&-R|UBp%&+;?l&ed%@m(&$ z$UOgLqczDY?C&uNL24xqcA-P_1^@8GS^xr@fMF&qYOG6x_)ztE@#CaktN}uI*Fj%& zi=i*@ZTCl*IUIQxwW_#2aB8)0fD{cI_UjbI7FY&1LxKsRppO2n;A4)XRdOuT)f~A> z^H?wKpO#fh){cbkMLsx`ACQHIMV5b=A6QVh;Ic^Z7%V&2X$?^-#Mw<$sGtO9XKHkM z!s=tGR=;8_PAjMI?<(yhQ;;|jp+OaJkqHd0C`gQq%{fH2mv7`4B=6$d|3 z7mqxkBjBJ*lV$zU7#OhOKqtl7pxS%DmGJ{)tQ4ZBdi}WE2kyhLK@{r6auoM1vS`>` zA&*N^xW)4;Sx)3}7Ajy52WR1qy~upjsn*H$7RB+M!tiiK&J%6`5YaO6D_U*9zX{xX z1r6wB>bTzsbHraTWr$$~^jqRYOaEQQ82u_jtbUvc>*`r`6RR%KH)|x8iVHNIr?5+? z?*kFO+$#=g;IL+c;Eps zV@7S5b6#;+l{_Q$QeC~pB$dKDNZq=(~Uw${qq85tPG7{3DxovUV{$0|Kr~ov7-zyp@inD*KHakh~l-M7vcB?R#Q@G z7RBTM&M4dgDn{_i%V{8yTRn(gn6&l55r2Y2gUSM6rl#ZrNEjs~E;b2Em>^RcN&G!w z`F>TFj*P(g;R7{`(MlE8_vIw!Qh~gqDy3hq!TrlpAMoh!RdXsoJ`(sV#@$o;iBW; z3b-C1jZ?9im;+O13_}4=bKc_yBHnN1_1517!8LkHYL5Nu*5*=ruqGo zr-Iq~#~F|o6VS{}TMHYq9k?t2vbb^+r;|+l^H9}7V zVgeu27Ely7AI8XDHSPS}!W${YYUNJo_x5f0garQp9Ks^E{G67)C*4LiMy zUPVLmZiLZQHzK7L>s;AT?IwAd-L2PBz}%=&N#-Ku#GUK z9O+L9FS;4fehg>N2@;e>Tc8T!x8K`((roL+jmA;IKW$Coh1OP2CF!#WgiH^iw z9WZ~o2M=iXM8{<1#2AMYPeC7+FBMwhgw1-X@liith=)$?#pVz@Edi$LC1>~QqujmH zg?sSiROR1T6Wz>Mg|S`jttMReif-dUJzEoHq_EGxHK94IBMImRrZ^u}qRYSvz&@b1 z=nEk9>_}l{gvg$dl33(qzy@W_rE`L(Eod|z$J5MQphsI^z|kgNjLJ*resaLS)@Kk64`w<&)1}Jty z^oUGxMAm3#w>==7mZB^NHUOtbzepl0F%8sY<;Sv5ngtcTmZT5&*Rr4r)pTc!C+QhB z52*02GFnbJ!0g;Q3qdp8BrcJp0`?=ut0pwcYKT~RRe;G*wm^4ULZ1Wx)q@R(a9YG! z34WL5NiX7%0LPKY8Td27;9s*DO~Wu17j<-w-7b*D9rE@H>w_4363DoR)ZK$iX?zu! z`7jt|FX$siSgCVRUnSu8syrDD*~1dRC`;+hKz;{AOzzW?XKH!y=bXXP^z|sVE z668{5mM!nWhg*}fm^?1yX0@KZ^;tye!%jVfB1yAaI{W9M3qWKoxMYDpQg|p<1G65_ zikru{3v?V0(#?iG(b=#VwCWU2NZ!06FNkjp;X42@lZzn_FWStuHZbX zJ3X^a4lNA;#98=EZ){UFh-*_uW~JPV6v}EGtF>M+^a% zA#geZjW#d=fddXPDd!?^lT9f_;8>e7#T%H4fD4TmeY$~p2y8vrK%0-iziogQ@RnQ9 zyp*ug28t0l!q#(~H&EgYjP(Y#Ai!rLr9GPw;46a?*oMHoV>iQXw`meNEQ(5&t_dlk7-at*=d{(CZ9#g-D0g7R7XQrqA zlqz(AiYkQq?RHXT8ZAaMWg0!#PNR{(0x1~bwaQ@G3knFdVp-YP5u$#R6Z0ryYzb&b zMfG^7xFILka!)Qu!9Ziv22^R!#J~|W7@0z}=zcrZMGICgp!EZ-Q;?M5ysRQ~a*J>~ zJFKqB6p^_E{i|0IVo$Q@0+E86Zk|Y<4B$1*$4S2oJpmmAuf0uKRaMxk=D64$C{^te z9dW#X!j6RjHC8~qR5B2#@8yEx6}4gYqz4rC`wXbl1=P0(1oc2JDBcMlR&za|xa`sm znj0afgRnj)ayIewr9zLX2Tu@^;8eCvA1=xiH0_)BNc7y;MmjOn1cNf?k0ruHf2WsR$a)EKrCagYqOjKYn z#2C8JyTIlPu%`wDmItO1-p_E?R|MF79$@4BF`Odh800;l6s(D}Ou@@+L2YQ=V5&XKMvGA#JB1W8z{+0rg$1NsoGh4|>kUM5 z=^O6^NB%4C&L z0jdjQ-I=+mqFb$SLCMuFzmbeR>INHau6DVVV$!qv!NinDt>iylWC8SGIswqI+9NOM zU{QkaqYU_0DLZxY4o|Y1HE?BE{rCaVEi%5$T#iS!96ba*7f{7oDR9}tYW|aGFta;G z`PD}iNB+kyNzn;LvESQ5h4Q*GT?*cMUxF|N;c7rCt1wr+FoE(!W0y(2i z)FesZYJQ-#r@4nId`Fv^w*FWwSW6I+H8&3JJwgD*gyvVP0nIH>7RK5-te(AJ_lE_H zl~@;iDBX;$rFp|$wA@(f_FptfQJYHpjz*5aPs2T76jKKRS+oHcsoMwbf+j68-=h71 zi}srsDPc8K&^AXhoy>@7z&cgk10a zeMjd~97PW3;Ew#>;|c@szP2OZH>NNkiQ{t;->&*B^qliq^|s)R(A(Z#lzwmSKi*!% zxPL@9;b9gGpA0Ecp_jF&c4#t~p-{VcC@G-HgfV+Z@?oG%8bOLQI^DR>{KrB_a~qnJ z=PCvwT{o5icoXfolkGu4bC8G1ta*bc(hL%E0NutMJPV*l`rW%BksIr-0lv>qMy)U6 zpD$VzofE*tt$8&c>^Y&`-%|7bo|gC^T$k0ki!Wm6>|sKi2Gn?1hKd3679YjxJF zX?51(-(x4XI_oyJI*+eyb)G0~b$&Lt)%p44R_Do|wK`7~wK`AlYIS}wsMT5jMyvCy zkKGQz1t@v-&aYdY4SlW7Z$4{ve*1Z=^E=h*Y#h<*Jo81X^DMrf!*}dotQk-G=3kO-&Z9!K6i&Pd$A_XDL2Xrd z?NHpj>(TOhA{#8{XGk(eNOIs$ge0O2%h@~ir+NERn$Jsw)f=*`F^?hNsD6@Lv@^G2 zK5P(H_j-$By8|pd6`cq-GPyZC0uFc2@M#`MU$}i>$3l9wERr|M2;liHi$5S_ zo%A64)4bgJFK~l9>{DTN&JShS6Ocd!j*aChxbKa{l`!BSL3pO%lGj+CEMuajzAO7D zuzN%-eF6c<9-7gZTBirGF-+YjtTeH4R?b;#PQ5ZjmRY z$Q8N>ZW-B$*LVItVH0`_8vyn#2(z}sEP>`uL5coETxf~7!X+a2TEnVWrYJ+i$3R4H zPjd6ria{e$aU`f)Pfc!JLfSM)yZw;?NSgv_(=KUQs8lau-d=5b2qR#84(DW{K})xc zi_BbbNAgKQmR@)mNVs&p(7*I_DxzQmT!)GFhSkz~sY1(olk%9P%yCo9_0FF|%{Sdi zAf*+M@~zHWm>NLTk^Xj=-?LE4P^PNKSAj)F-hwkZhLX}<_^-$xp*Hac(1>g9bYU!kJB8T89{p5 z`5_P_%@dcBxxDR?ei2vFM&~V!`}N?{B?T4KXKEFN3qE9gID+rL3ilRO>lY0VqkYnfxR>012ru}FNxs`Qn}$cGT)E?mZbmkV zT4TAY*_7v|N+Yx>=y)wOyh7*!(_oL#@z+|RgKg3*q4QCVO*xk-dV+(tkGcvYfnqbw z#asekBLto$GnrA?PvTLZ|0I%N!K1+V3yKT&6p%O?LD3;zp>$66?dGw(!V}sjwuCNf z$&wyP-uj!wu#*W@q}pTfKmEQSZzYSo%?!(_j%{@kzIaqdYI(wlkuF!|Mh6pxiv*d) z_>$(Af=BR<4TM#SI2(zN%Y2h_0AfUk(Zy6`h#QXyvQ#B zH>?_PG5~GnBYJpm7I* z1@~l}olUm-e&+dxkAWNiY64z-ZpfPp9szDV3{CEL-1D7*1TK89=3_q(?YTLh7Qy`p zdJ)f_gH6yDvrb+{=Q1={l5Vm|;>=(lQJajmJSuk~D51JLxS&^)GfVNd#gcuxYgwIc?uGEb^(#95q>P|!~ggIxfFRu}+ zgtQ{*tHd>l3W+{-BWg6O)w0MEN*~@gwapdyH;Pr~2ALR(<8KrB(uGH3L6wZ$&D?%0 zMKZY;N$#_BZqS&zMp8Y7wg~aXIcNFl>hD*$mFl@hMb;A-@9W3_yG?+7+&}`4Cot#- zN%c&BV2|elJ8pCiu4b@d5Msy0J zo9H1dW;!|%1u-mSP)iKyUbdk0iUoME@`u;4{pOsMS(yHZVv##Q>9A6;C1grYFsC@A zOM~j>{}q`;F6kr>>wU$QHZ}>8MIHhrNVU0V8~b>u_5(o1Fy{%b$P*@cu~q~4T-#81 z;?y;-I>YVe-;$VLqG!5XrdTV)49i4|6(@|ic;o#-;LtFmCsukv$oJsx&pp<<%c1|P zcO11NKL8utyDi2h_xHD}{sa@-pS0Pnf8Z#9y}cZVZGkI}Tb?M@lOrt#fb zjXwl=`Za!|)P1F{+cy3pREakT48|oam5uT9QtB%?7~_qbKvR6E!FY~A>D>t~#xDWm zh64+6M-A@Hz+b5XeGN<7wHi5}hcK^5HP4DxINoH%lZ3e$nPyZ&kcMUPKO#jevAoBK;T3hpn2yY8z@EKH5-_Mz#BF|`&ZHirXz65@dnyF z1P&N&0`n0##8$cjfnAI9H3rKNxWCE-Xm~o)LK};~(>5>@fobCnG*SL-AcB;2V@=9J z1dc8-fsF`Moo)g#1ZEYRz)J{xq67Kd`{o2*9GMGRht-MI!r0oL#XTRWEcJ9|4YsI! zdOrjj@|rNQ*L*PQMKGW*y8W#WqkoBRM^wwl`NLX}AsTF|rt>#crA#3_5A+{O;YE(b ze=M^5OHF?W_2j%j^XZMl!Z%me5em(1l_3ojMUJBIpydP!BE=z>-xQ$1`;Z2?nYJ zdOx0djFjN)V>7VUN$(FX+;CsMqk^b4nO155` zZK2LKxqmj#gIX8~r(-0PLK}vvOnm}68h={z8Rw35DlcZN)B2f`$2q%TNN_Lc3i#W3 zvY<;#v=&ITPLBRi?K%`~bw0u%OZHVBf-h)mDLLPeq-79C3}C#$v5OS_(UG9=4x*Dh z$59nHv;%vOiu8gJY1=uqO600GOX3oM{;+WAx3A)?(6fSiZ8Hu9>_JIxpx}qbJAzAz z&vsh<6?`blF>Rc34@!!sHXtqv(fqw&u%TZeZ(W1GDs_=;9yv1w>&AL#vynD!P6w#r zQuXVYhiL+Ab#~(4Cqkw+r(I{+rhm5RpYCdio>u2Q?4c9jk)5iX zI8X|YUvv+cz_Z!+HDf88z}p}S9i(t>WyRVyhqB8TKU0q;2;|1#A$a@;=7~*t4S0rz z?&x?6D6a{RUA9EG(po&Tt{tmTUquOcaUTUnZ^6ufOZLeP`^uLE81V64HRlwR+&N%L zu%JPSlbd`()_S3A(@?f)D4z@fWhNWOnmR^fDq)kh=&-^0Q%|RND-Z$A?oxwLb$ntE)ES>j8X0=W2A?!|FCYLZkXB zfRq{qz94V9yO~#(MGC-PGHce`IVe(qZV9W&E6K>?(O7^BtK<8@dJAU4{;;MKmLHmZ z2G$`0>z^{h#)HRz zBZE^lP(kVGC)q2$Z4zffEzM0G3E9XBL=Jx)_(BfP#SbKZ;z)1WbvjMUXe^$!jK*A% zR+DcxG8$7(cb1GU1C6{uZqz_nq1)6uk`%U$btTA)#d@oJxb5Wzk!^3%wigYDFiJ{$ zRsZ&02lorY;`K5hshHT(t-i6I?_yJ4NRk6!Xw1-o(~@o|EMaN&jiu7etOnBe1Jk$0 zJ{(zs_NmJs6D`L!5T0biZV~6l(MC=Iu1Y^bg@m9juScAT0c-|s7e5Kij)&B43j-Wn>f>{Q= zNL77#A$<+)+v){(+`u7&N3znsm4J{QW+A+eA%QTigyAtPd<`|PE>xulhw5-sDdJ#R z9QwlXGkG`M3nlnr2Ucs@j13?tS^u-h@SyBU;k`i=Qzc7yZI%eHMYrm7Evw5S_o8iL zP}_V0RyXSznjcmVFJmsVRo=+y7^3rcN2oxQ%NNCPD~9 zq8N;qLnuz8aYH3PPp`RbP;YIEJ7FvBj|a8)kP; zxRqfxF|T5$1FZo}YPV`{JDC;T>flWFpodiE||}sjSCj?=Y|E3^Jnvd zMf};aU@?EX3zqO_>w+45)`yoM>=d&gcUFCP*(*U>gS?$q7k*9C~RF5 zuoXJRemu0L6LF7VJZdCeLnD8y+V~{7k%^ZwGu|!85XJ^XMHbQhs>yoD&hjJLg%Q8S%P_>n08 zY8@m;2-xvhA2=^ucnal^IfW)98dbN-xha&WFUbYqto)u-yuO4YQBKrf$WuB&e<4rl z{rU@qVD%5HI^^Gd_DtpVB>(P<`V0AYU(sL4zx%rWLjK)1^%wH*x~D2=ALZV2 zrIKFo#vk@=y?=p2FqhFr%*><7UrFBvBL6>BJo=tMA^#~r0g4UF9z`9zLgWbggfwN) z9kOc|(st&1D@+`GH)MGrpvRY7%H(-}%^=qRszb3M-U9ob42}Ezhqb(Oq5bq6#fgM~ znQ77dc+@xp#}V3NG)W%~HtsBE!$3u>#*>O*Ju0~Ki%!?F0v z+hXsq3+^EFAn3!fEgm(?UPZGC!5ph5)N{#Zds%g^Tv$qCiUS#YvZG7z`M9 zq($6wMd;L&=s6qFuKU0+&Y=@Vm_*tBQI>Bt&$I2J7by2pW;q442x$!b`^y=jA9(hm zY6M!~l;jcl8@<2>Bmsw88;t3rdiEHCL85PA%w`yA0)q?76&r=lP=8@sFJjQKJwlRD z6**i%zSv**UM~EYr|?m#aMWLz_C~S);VFEqDqQX_Ofy)-9cBt6)_y1@P3<@;I<~Z9 zKxihN<0$RO3zdC^2ZjR?a^@2x^7z=+lS3!sb`?lwfKJa$)KNp^d+a?gwAFrS^BLOn zJflLBsL`5dq4DVbX(xux!CQv54nH(%M8v()LhC|f|1+s=Xk8@VM37}uFs)w=My4PJ4>3#KtOx-spB4;z`H zcX?iuA+47g?(r$;7-s0m!zwhb*ir+BbF?=bO!2XXM7*>l#<3tl+)XMHA21{~YZ9{t zs;Su#M`r&NBr=P(C>A}}m06^1dl}0#QhFVxy0E_ic_15m>)2ew&~K0T0m%ru0#}1* z2W+d%xmb&$;ng;cf6k@ zN7~O5kW%Ew11|IP+sOFtByyLg0Ck%m)I#cV90$3hXi( zi3LL*C!Bxxf}zzRQFA%*@DN!>!#J|ktnxSNHU@K+7tA67qeU&#Y+YI_Hif9&!GO{{ zfa2ps&Wdflz~O2<*mlg~dT+8RAnb_S@pB-RPn64QE`OgYPjYF@RBacYj`K#MOf6>9 z5o68ZkRvx@gec7C6Z^Oqx}<<%dcneYjH%hlOZ}f9$~dM;OE348ZPr4RIDs~do+3ES zCmk5QLPn2VRQQ^dOz5uDG`DUsG=IhT9$?!>2~Rrh?XRlbd?<*lOQ%wNKd$RFt1ZTQj=T{w8G2))*1+z@F5RzWeeTLL~*UF^;2_%j6_lX=X>F$Mf z9bn=70|Gmd!LahIp$M%{Lqtwi<%NCe@sr4K3Xpb7QuNfFegxeBE#f}POE|^4kRrC{ z_?`r)=vS7r1WFhB0l|O*pwV7Hb!aOIY{0a7YKIy$v|Pjz6!3Ny zc%~=oCC^9#F)4a7n=3b5;?aW$@neDDo-9cLCPh!~!C)%9V7_MsmOj3p%qD}-*`f}t zCT#aJCzk;gcmdIdrD;~19CJsrQfL*+lLHvckGw8YTIC9(RTiayk)lm>15w0%-U|aO zMK%$_ZR0OR6Yrk07fBV~d`y-c-vQj>}wnKA>Q03z4jg`w*=aLR36QPP~9<5yX14EPT^+kS+*D}Uo zUX0|6#WKMnI8P(+*ij9BP?H!`7cZ#SMSF0RP|&q(vg#x5hckuYEFEQ;5TCBt`2Gql z{uV-tp*)QtOz}d1C#oX*y$C?`=rSG5L7aGhj(?X9M*~3D9%D@;7o>J9XSc z*%#V=jeP-WXM#?H;e&e{s>nyeCkC-0*c-!Eot|NL4HYan4Y6f7^n_C|#!70pR#LmM zl8zBd5zNO~$nEN2v7fNDOxVpA@bE$8S$sGj>cK8FAw*DwJRB^?LPLL@gmpA_swo5X z?^HgJjY4AOR>%qZs_mgB(&c3uMAD1p)3hBK??D4qKTUuwxz&hkR~kRg3HM03Du`3)o!WTjfZ z|H^#7@-HkCGPjfAO31TV*dgise-3aX#_A{~?iNA--4t;TUhT^BFHZJ+TLv(d}vK41AV8#+Y?5ZX!U2`_NzaKx`ibHg>(YOGJruF^z?XvU6EY z=;WEUBYJxwN+&NqL$hzkAuhtIQHjl4-VTwj9b+IKfZjAbwf*@YwqChEE4|gFKle4& z#la0-<)rA(KQmwdUc`LWA#NxAf$rRc0i4eOba$eE^uR7{#YsO}r-uRjhD#QxYBoTL z+19`USm+opm#ud?*Sk*YNog3eFe^P?uBlpTZ8f?IGU5*QqN6l7WbW~zIL0^QBr?FP z?kt#d7|i$Qc^E+cUIN3byGK%hF)JYp<~#=TloyPg{=)UTpo%84lVjTcv}RGIzg;64 z(j^{9af<6C2vc#^Ogh3sc-#+RG(*_e3qkJ$j*`r2$^t=xJaqF`#jfQTu)M^bq z*GP=R(3j(wf^iGdmJ&K{t9H3ZuQBR|S0J<}VF65J03`z8;dGobgRyh2snJ0w6KhbU zZNxoCYVd$%cKj%w!#HKXR;JM*Uve7~qk-V6_F7|5-dz1YDVvfP6|6oIg(rJ}(zk;Q zFG`uP=ZAZEK^sg7ynva9DSaq>bDfpS{42(;+zJi(UH(wWHQC_I#gCAy=#de$7sauD^(KDIKFzH?lH0mLS^U>OyO-T{)oX)VKtMkxZx^9 z)m$>6_&P+_1TVj;uAnCb7hyCMAJaTWg`Ln5!CBX+FBB|u@@47^1dY6 zVoLQF3W*szLDiv$I8Fr5PWf{J-;EOkj7vIr=n+1Mp${2J? zcCabj!KwcCz=OQm_+!)P4h+QlKnY|oeq>Wdfv+6BvE^n`Im#qdA1KEoASt~Re0b)u z2$(Ctv{@{q;HD*mf)sB89V6?)4LCdSUM^{qE_Bd?X09V;8<0jf&xMQhcTbs}^*dFj zT)vz5Alz(&i2_F+Rm73pM@hL_+IoU5uz~P55c>{)v^)c!^Cj99aew+*4eRI_694HV z6}xi0Z5f{?O~F`ma?e2k*D)uv9!yy_pvx+9*I_(CaU?YRIC+PhfMik8@_8|{<1BfP zt!msK7+##89X*Rav7G@mjFbIJD+I9sZX52jQP0qfxY+d5^oV=X*{o^kEFvl$kLBsC z3~-F&is@_d?uOeZ3OZg=#4kypq}FVjsW{nFn4qlaKt&LfQt0$PR>_K?K}EXMpe@=E zNQ?&TR~K$PpMw+v<>7VwP=LH0pU6{}^6+|j>RKM&P#11uf$3HiZe$Jxgf2y^yvsJU zDhD3Lw1Uh=@XwkoXKG4oHMblItk}gvX^dhU7(Gv^l*uEDXIBcT=u%FTXjKG%>1$X1 zio7LE3{!Wf*|St!8<#-n)yY4f!Bl2NkE2h$X$2`O9G~S}?x$A*FUIhcsS++G48$BB z1Ee)!BwvOvo=oJ3#n%8=8wR|N)?)vI0op0&O(__0Y{8XWu!W~swSy!6l1|dfLq%k6A8Fa~8me!Dr)3H5sIe_^tIHmbSvsVMRg%s}5-^>cU^JXhN5@aOYnk7lElB zmv>X;9adXPG-=lxo!yeZTk!=@IDMvD0nHwyhElWX9|_K$$jeH__Izzs1>J=jc&LK1 zvx#Sb*2#<@J9+|rCP-Db)8CJT&iqE)AR|!`;2+~vLOY%{JBg|t6v)G9vh>ZB3-p^_ zp8fJMesr*-fbKpREJi(C&5(BW)SKY1C&}+G@zxvQZD65um%ma^a096=J(bk-nb@1n zSSh!Gt^jUDr*rmMI5}F>R=NVa8G-WCc59{+WUz^FMcgf$=((z>8DG;H>H@jsYiFw) z$qSoV4n}tvg%8Cp@2;13J~?RKo*Z--Igm4QSA;FkVjek|r-6qm4ojAUX6QhYgXYfU zz#_?GUIiG5Uk;=lPso0qZHJPB=KN$iXwFY52NoU0j3EBwG~1>)$w70zR}LQ6U25x{ z#Pu%l)+0GE4fM!?t#m3^>g%bbJlvwjHqx~{Sr=|C!trDL`xejN?Oqpd8(tUQ zd}Lkt`(7k($S}p{{Gp+GRE6W*<>MvfMGYBwH{FE6s3CJJXaIot_PRX#WMy$VmovpT z@PbPXeNN6GEB+@m@K6P%RhOZ^k47L}j#Ot2%3#2R;u-oD$pl8SGb2%5PRW%L+VO%3 zBvI|4O?7UE>2jJ!`Ay0$x9BD_x(843booTCw`=iH$epEA?QGPYZfoAcH81zpq)s_oj#+LVsX*Ns_>$SGXu|LiJrbc-m#fh6@EP8+@@Y1A+H~%)Hj$h zoXwyu;;!7xg<*E$h^i6~nfKG7zo1%x!>wWYW zGKz87YY7kvg($iNGuQL@_X6AmL8k+4!4&A;HA1Zbn<;;P6cN(RSXY#XUnJ-+;yg?Z zxD|AMRmCq(EFMD7)ku}JhVpO?740%uARqnvMT4qnkKZr4iz>SDyaakv5s~R8tNehpGr0U^xq9wE0-F{38HJI4 zL^!rGjuXr;A zZ5(p)GEgkTzt;e^7XRMJC2{(*UP^o{(I;vs%km;_B2v^)p5KiJ?qaBGY`Z8Z7Xk{qe}e9=yx#%;Sg2wzSmmOZj?-8~FBvRs=z8>0 zu0bVfV~ZJ;(o6rz;4y30O8X=?<^zFNRvf=4LL2@W&XU^W)hHR(be21*$y! zZ!sRq!;3uw53=!iorbu20aG+5+3kN$QHq>gjLvL*$q8NCT2=;JZ%Fq zB`L+9?kpk#X;a%0cq|jRyAUW{^mnKzwv5|h8Ka$TZ;a&%N>cwt4^6wFQaWw+ojN(VMQP2ZbFmo$Y-nlgs4pF>Yj>UIIAfykwc zk}SEWFu6`X$z5LTVeS^S)NjIF(mRG{-J6;t3X?|I?nfAAgjDAL^W>%*hM)u=LloSI4yr7gt>l_~LR8u* z_xD1Sd*Q&rGJiMxK|e-T9Z?>xLoh5(Jc0(naXHh8$@Ud z7{lDe&Sq4X_w8uv-B+)$(c8*ZvOCvcXK=#GTp8+)GGln6$#lQJP1ykLvAw#}P~v@t z?xpIjNWt2O6Fi%y+bziSFVy#gC=h zxv__MrVBa+3hFEzD*{xKAlhOezy&#_%`m+}Gf!1zPgiBf+Op(UAX#0-tX~yzhN&{w z%L_tv`(ezI)9;7(u`nRc|W%@Ls|(&Lrrgsy@RRHK&~s;IW0DyCP$ce zy7{ksX_{Y@SU58+Hc1t}Ubo*C{;P*q2-*wH+#O|Acn$HTmXO@2>h;t0qWzg&wGn5! z`st)26uTrz11aaaf<4k=G!zL$xhnU?7mCj4!5T!h`stU$Q-X*WP<>7Mhq^xdPMrr- z-BG#q?bPMtb$eZq>1!0GH*L2LB@< zEvav7xo;01$P(_Cl1chesR# z;at6ZumcU}>ggM^esRR9S5;>mrdZ!h){n{c>N@ZF8}S}D;_{=p5t{D)LJKY9cnOsy zec3d+v9f3p-V9z*d@<4bHQ;f9oi(vhJIO-cM)r%#8N;fg#f8qde(dWR`8AtIV*P;0 z+d<*aO$SL_l@Y$aX|bQt4OF;izG%K2TX-?`X6h`iA(V#T1UyQija%Jz6ty}}TTf1Z zf5FXMu$~L%66Hz;&pg4` z%nmNtBN04Qx(EDe{#rkCtq*usv7Yl1f5Bh4;FC!OYy1U&Ym%r?CQEs zn^f_t?JgJqh<}hOYE-D1(7jpDkFu+~zQgY7`h3~&ZzcJ%?~~{j3|U%mi7)$U9q|$> z-wT3-r51Uy&*hb%jcGJq?4f23m2joUcy7z(=u{>$=zeY?Qf{8uM5rSMn;jiQpL#ip z;t38c3%U<;U?_vmi*aHjFUdcB#$3RD+6@dhD@y*R7Pux4H4s7EqM3*-L2D0tqGpeg$M7 z)!$n_Ro$U&zJ%SYU=rwy4QQ;l6cIxNwAy$@f+Mrxtah8x;Cjv^MbvBd_p2O+WptL@ zvaq=Vo9T8dhdCrY6Ph^>yy4!-yl?BY>=WoBq0n8uNNa|(mb+M)Z=vFR7b4XDpzxMx zeqDIOFziy&aM)5F-bhI)d7|5ZIcWnshr4SjFAjNX7j2=0*PBf^ex^3E>vdWbUFusy%{ zD5Fdk@L0RBKhMQ1qp?-!H6>wx)4)R&`(krjet#UlqkA@BD}**$H*}^}ERv@f$$t*z zsZR!i-pQ3lJiIYUl4&P*12#drv&9o9^_7UncgGVWhAh##Wy&sn`$?&=o zhX(2cr?Y@!h82k|J_x+$t6n^p3UyzKnS?U9fv*tUoQkaY{)s9Fx+JGQz@-pcf=4PT zgdI;Qk`cS*>e{S>S5_cHW@x#azPve|1^^`sB{8LasVv#Zb(eEI155+# zw&HPHtQl>zw*tAb<@jz07gzp|*zgbzQ?^N7yTcLU9vaRW9L}B$PSGP`WavOU-Fbp( z7K8<4N05X8LD#?^bnixPNdTgCKmJ1wNKT1}gBq>0Pk1@hHyq1!&5-wpinmA$c;6sr zHeL;DPJAon+P#M{N4Mf~0t$*xM^L=GaxbO%5uJ^rBVLHuq~wv_!VUtQ>0NIJrF!+g zys~4Gjs@db0ok^@h01QD22X42GkuhqHFMGHY%fkQBeQ2ZStGTuS+G<#1&uvm3(|@O z`LCoP2RX)$1wJ)|*JxTo6@NEFnC`_^^khdJ13U#4y%_j$0$i$eHr_2o*<2}uE9KQ7 zN@H8>pVVfuB@~PP^@$$w%IiIodzo336}@76B<;n}A3KN{lY%6VYOo~r=1MnkrMw!* z*0wktvgln*`Z>r49lC7*9PEgsw^84Ncu=gxprE)IJt!8TE;_^xiX136J1AOXKl%qn z3ywXQLD8lMMXMbY^ayi84T`pe`E;#kP)zG!u3@f-!e`ApE0`|YFjpXHFfuIHg_}t@ z$7kr-A$Oe>PW|p^d1s~bd{E5#*2pFTDN@L0iIL4=%+0<$6Q+<&Tksq%`11kWS0bCP zmCd6xC83He^oW{%@H+iHG#g; zFX(1ACW+|bOgWqIGHreRaZ-s)lt@yD?podVWHV#Z49$EGqQ1SBUB+bAvGJL^V=cR! ztK7p?M7-H+!x*!omu(N*c&<9K6KtNrWcheCS2@6gjRsSj9!#yF+kVEN$6!*^?-0zF z71+}YBLW((xaOt|hh1=L*WyjzoiUrHt>QalR#g_QrhrP?TyC?T{TT4ec(NNa`-uiU z*O_gk^kyb=`u-w(5U_1Ajx`Rq4MxI+Vo+QWuC2!=BL3Snu@;VwCUP+(?4-b?gQ9QN z+Z*|Wg<=FPmJ-I2!&vfoW@tBC5KFshLY3+MXH{S(P|_@SpA@is0*AmS%#8mHpEUI4 zP)))o>u?yW`SiHqQ#H5X{QWGS;*-D}FljQZl^tMGre@DAe&F{q@E`jSaM^o|YbKN_ zCd|%YGA$DzEDbCyYn6GxRJ6ml6mB5zYv}gz7-(u|LBE;{XgW}sOHJM##ciN)Lw&fJ z!-NmhVZz>0I!u^KagZ?LU7KkWgojR3#&r-_)k=ti`0ky>S{jxaUOvms?J3PAA8f%O zY;1s#b<@_s-MmKJ&8yc9qTWFp;oD;vkvs^5z~D%WDE9 z*D1qoGfwo~a5#RaZ4Ww1pbLing$vR$VRG7{F#2dh=}8&)aZIw?}R6_=_-SLM8(1!|fY} zp{F`3es32Ws@%e8rppQ<7j%Hq%?;`^BJSr zxDTU&F#Yu=y6>vv;*NaJJKal+Sy3)Bi z?hz}eP0`fTeT(78PfX}QCN#x#Zwvm+1v90fOy|$@q=`jP&^=XC5~{$8SxxtI@H?g{ z3am>p-CNLIp(G;ivwIV>Xi{wM%nY?v(z(iXu97D!n1h%ap2CGY2Q?&3;S?7s;A=5} z&?U6gma;#;n^cy9yO{P}i!bm`v6he!6Y`(lOgk5ZcgQ(~B!V`MY{4upxLOLzd8H|g zAmtox>t%Dj*;3EP9M2qXtL(;AF5xP9f(qH0ajc=OBKbg4JDQ0V8pr7tu;hJ#lI7tq zal;17A7*FqX+FEgD}VCt4S8qfZy%9AcssW*f9*#8@|f1=c}6 zdbJdKT~iXOINZozwe)vOYWcIE2Q%m+1vFUPsW;VDp(K70_qRQHe2e_;XXQ`0^VmB{ zGDWKc0&gQgzZEG1LP%t$l1Qn2RdVeWsw|>DQ%IyG?F=UEGA2zpiZ#ELNLz3S7d%c1 zikMvD7j;{HD3|Xk<$Y}ONTRJWjH`T%v(988U=^m*i}yoY={{zs1g#RyyG22}SfEjNw);y>Q>6xTsa&kG z;f14&^-d2&lS5v-1m3C&XG-B%I)*a(7Js#^N>MP4Itu1!K%gj?b{z%No{N$c1=C(Y z4~T+kFQEsL6m}Yrq^KyEb{hq=md!ywUsdpnwu!|~f=vwTh>p|Ip*WWUZD8cajZN$= zrEOv=rETICvWd}Eyew*^J@Q@rjQG1^MAtv7o@z+hQ`JNT;xXn5H5v2ib9tg1?Cytt zpMw6+-59#wl>k*(tYtbQh^@szcQ-l4D~2#+n-+Xf_{!cYGdYQ9fc9hHZYpHiLP_Ay1ga`dlz?B=J@RrlyE{V0W%4 zq@s#CBzoS6vje3=s;-BWc6hPzPuV$U+6$+uv&eg1EC-3FLWR@^@W%YetCDcszWC|cb}`i%)*zt zC)AgD_;TGt>dO**X}?{4p);Ug=wfsR^oA$ZFWLA)LQfpj8{jZdzypdNyyO8c#=pQ9 zM;A-rm)ZEGVxIklww>h{ik!OZAD-i-v;-REe$!)n(qNqn9cLBkb4&X>Ek(3`yQD|Qh|^bQ>wlIaoTogjn0dMtn>dUS$z#z{h6#g z|KuTSWJx_p zatcJVFZnGr$pQfLM&*! zWJq*YVE+w!v2f2&27^GnPbC=fLV8)?)a>A(aBDHt3mB7L)&<|=q0;a#@V5NYfATus zms1SH7DJ{mH{w2y(T@9Y!OtJYl}`Hsm$vI48`xwkbgDItj-l~crtx{6Uew{G0eD3K zwiWjS0B`Sc#_iJDE`kw>(Q3OAw)mb@{I_B{^kRNhzhO1U=WZdY>(g0IXz7cveNSqb zWqz_&GFkfwS&%cRz*ed*Qe1WguWaDj0tZDWvaGji&CymDI0BA6qW#69A6Te<&_ac` zU1%#0pL8BrwqGLdVF9L2)0+G7)l97$lKht+kT~Kp1-xaXI{>vz+q;4 z1T99yKUy4<@kOcvC)QK7xWshC25xcxomp5=8!i5cs!NOS5j5akVvE~!i*cbF&M~z! zX49q%gj8-5ok2jGD0sx(RK^-hHfJg8N5IpjHn;dP)uvW%(~Q#xU{Q!`l9sqvh2`X21xPiDE(%jvE^HSKK@1}_4&4NFLLQdgu73-f$*Vz^Y8R$d-nnKs8TP&q>E6YCG~cHwG+A82yZnsffzuuNvkL<%9NDpKKYXxi4-#uaj({2 zle_Nri+8l^9=uyAI^A{mkJ)b5HJGj|WU~Lkt0%>vm0*xi-dWepqvlgaKnv$WhEv3F z61pyb*XZfV>}%HSv-Kqr?ruT{@ryV!{6}V#471L-IZ6uYI(zG{nwx{5;~Q1HL;C(N8*QmEp`C_c1;Z}TCd;bd^ zqj)WfGDcA*D5!K^I1WY7J#@!@s1EU<3m6NA!6O&g)@*3)?Wgrl29$3Br)<4?H=6 z*jd0s1my2hoQZeXiI>aB@ysnb1b;CwaasAKKjSJZJf^Ln^5tFV*huk|xRwOWH(9is zx`Yt(hK>>TXBqL&y!cXEP?s=RS`g$f_E?*({>smDJ8#Y|gxIWyx?oHa5y)h$xG(~P3kOTc7S2M_u((DWzKMBJ%80|^> z%b}Sqz+&p3NcG83v%_6Zv)n87dCkyG*%72ZL7Z*SSY5l_bPkBAl zO(3>E!)nd+*4x>+gX?wMPQ5rP`|-`;dTX|%#D~@dV*i$UJtiMv>Fnt|$o1|u_3X(m z&`Ej++03W4W_T-gbK2l?#nn`)E78!6pGgyDZP&WfGTuhI2VzU*ZUqze2}YbnK**{1 zZ3kxnPoaAwuby&~`DDIh_N&Y;n~$&y7PUg>7lOo@gN>+=3m1z}fy68P7-jE(tY(Dn z`WEvab*i12`kkW&oTVj`A;ft#lUoC^*cP9H9^Y1coB(+OK#Zu5^w-~w>p!LHqx!b^ zAgOt+u1PAe#9wo7u6ezx397X(dPwpZSwxj-gaxnF&dx))vMj>PQfM$M#ZK2jwl*Cs zi?~1hO2VVoLCF1+b;D~|&nRY_6_BlU7}u)Rwc2Tz*)Yr=lCFT?Awe|z&EAqME{LEq zEL`Pp%drgC5xB~ric4D%TAX@KXQ>*@wGYu$DNUTvmY@7MkKWDTkdy#KpcRKtF`^N1JYG|{{-Jc$?S>+x^ z57?}72jZdH;#ztF{gAQrTzsf5LdW5z>kIHAsX-TTgO>kHEK@lv&IFAz>Q2HFz>@3e zg#hTRSRieZ7x@o`?zr3gf>vNN@FKeV3AfS59w(IGgNSdrgeW==4^etJ5)bp}A;GBz zA&WR)<8@W|)ri|;D=R@fBLGU~HEf1C+weQD2yLI-$W8c-S4g=rWJdJTTnyiGbBt2> zn1b|?BP-6rklHH})HQ3x5Yp@Z&49cqEt%-K3l7B$ujMu-TE1wGOadKQCT z-~sKqCF~|DpQym@miDXiAVRd?`8X|+#f|C81HX-*#dX@~Y2>Ozk{}T0pEtbFDba{} zU#m6cJVw-$5g|Wk>)yzHh3q5W;@@{_)RmJr1NI+fY1}MN$kO<|JRwWt7Tg1-{2D>` z0&P05chYm!(9@bJ7WWg3`>qbwGP3S;h^x2eDMi!ntnk-b#I;6xYf<*7Z{flq4=mhN zd!!7*Po9l>JOvfg%DaVUimQiH079nQED}^*Iqes2(Tvu)sA`3w zD6=9GLH){-A%K}I^fLj4r^FFP=nJqsj=0aT@vihKjV23`)+}ksYnF^+Wc$Vf#d#3e zc{Oqc8bBwjm|Zwaf>92U9l=Kr@i3B)li*<#PL%LZW6LQh9d9m2&?z3EyC#%}KjT+U zdH8djEGez!?&6_y&^K!6&|4ll)Ib?JyZx+(4j(updL~OoJiR)q*vON+cO8}y{Zna2 zx6n*#0Zflj*{djmM$w5D=V8^XuP@_fp|kBITH|Np7-r&Cytv4XO$8uy9L^Tjg1)Lb zQy?5jh5C2#Ww9PpFP%m|tV8m2(&k-xKe0)f{>9S!#|P5gakK z7ei}xPdSsJ#b%;6r0SpQ%8CIYtFG)ue1LlXEH9gkZ>Z!P3Now8uEV#;_;iJVV81h6 z!48$Pp~Xd5t8a!FCAGbWe;Abpn~uwiE8)9zA8}zhO8$OZ^iD3CD@9Gg z$E9GzQ?QZ?Ze?wd8=D0KN1bMet3s(dQRVFjQo(S6R;UZRxiq>;NKKW8WBg26Kgz>j z^K&gf$N70BKSM%L9sz(T^9?^!4uJA7=5f4l;OFl!W5Kd;S+{SK6;vk_Br25*tP^m2 zo7M?=49R7vUg~IjTvOM<&q7@-KMQq2sZb}B3Uxy1cOFXHKq=CJ3Z+FJO3$0oIuj6+ z$ctjG^C}GA&S$z^=%6-_M>!ErL$tKHCk;?@A{;M*P$RcuTsa@3KS`Ot)J2WNW_r6p zymfe$WA^YOWeLv15IJ}}zHM?hpgKDUE> z9OZA~kKDvK+l6_toxH>}7371Dox$#ukF)$peq|)L3le4t1;%+2?&T{cdb7lZDkzsW zuNq=i@FyEq^0rV$sEqCo_q-eggQfe@72p;Y^snQC=i^0^KC!1?2#I-DA!W~Y^R;ET zlPK!PqKOPr!l`3}3!Rnz26ux~FyhW(yEHFGIg||qaCHZfu6xr|s#Itdo76|4)8R+m zlTq&}s2M;quMOWT3kPXP5U`}=e0yU1!QjV$KP_2$!z{gib1zgT8T%GeToh&da=9a( zia7TwNq+A_mSleYWW=E@WD@YD@)|Pt6oGyKui^bbCnH$74c!1p^cz`5DsA7A5fZTc z-=*yX&?gC~PTi+;kvCP}LQGJtlxFUUb*yzkN)m4WG(oR0;OVV41a`)UE zBXye>yC8AA4PlndH>vuL*VvG%Z@z_}oT~3~KN>lplFeuenAD_HeT*tubA>8anIX3) z#;j?h9&)q`z%(NN;&Rn(|B`M)HpS&`W@&S%BD|WPyBx3$!ch@kRT*Br6lDW4&?@HK z0_)A2Dpbi}Q$`0mS$%O&+rVa1Q$`?)0f>>XYP&F+GJ;g@M**_&Qwr3ptq;#78DxUz zq6b%QE3S3Fk|Wai*|biin|g4rrw6HYsvbO%d+?>Nqz6fO4WOn1>A~5i2d8RmHI>6= zTlmz2%eEEQKu{P>iXJ?b(G)V89q&PX4Z$d{U?J2SUoDyS1=%#J*t!|YJ&Ndn8AmF6 zqCNI3eq?*K-Mv@8T~ZldLP4csYDC=ZM(!WzT%=oEf-E;!=uIClk0(%=^mKSQ)T{>l zd|Kda`Z$UWF3Sna0YzB9l`J@U>{vCo)4ZUbW#eqE01QFVzWjQ z++=GtpGu6iS;{TBh1XPyPtRg*7XsYRk5|3fW}3kfnkHV+vwo%g=*?-ANVyp|p3!;} zhlfbn(qgmC-Tbm%Y*Oeqz4`Ds1}+9gK9Ev3)0dLJNzM5)*+vZO5)x5-8 za}{P(;M}z?{3#M<@dZe9jI+(X9cQ%Q{{StL5u?rReGR`UtDTONQX9|!+z}3#>HCznrNK5rl$jDGpxVzm zzuT!-1LMa!wpSN%uRi)2OMm=UQ<1P!P%C=JL%{h023gFx?)k^WEOEs;VYn@41&_y0~Li?Xcn_5rzVNQos%d$Kv*=|00Gqp zf@j@d8V=&(883~%N5YSqf6|1J{w6?nU@~6%De*8bM)s?zPZSz98X`l<{pfgSY!Gx% z5*rUpq+za~hFYd!V>8oW&=V-I(dxgI{+h3I&4pZ3>p!n)2pFkXj5qQ81J_ek_!E+m zG)lygVT8LLts@4=}W9SGJ8J#jH0iDIYQ^V}ukE$|SDz zeo=D;L4ay}SomhS96TQbWE+;t7V^goIb9%&3LFfZ030Q5ANw9P-cHOrWH3Yy)>E(7 zV7NlRZNcGEufg#7yNp8&h8Alu(BpOthL#itgMuptL#2TWgF(ZE!H`r@8w`v4X{tLn z82U9NvZGQN3|YSSNe06aYq?_Q27~R8t=u7#ny7*rFpqmhud*P?VEEtzfxR7r!9xF; zq3*XS9-^hfRQ6c%!E~r=`OZoJ`KaE22Z`H)N~E z9#Hp}4u)hxJ067(JunN0J3~lb$)1{L?1U`LNfCDh8%b)j{VH7cR~LTZFu<#-E&=eW z@B^$C5!VC{`GPgfpYeUh_rVYBP<*CI^)+wkdhSD>?ng+=-H7}7dQX3J^zi85P8FDO zdEIYaUTtS%XnDqyRAyJr{p_l7V41BiqrboF^0GYX%On;si78!Pox$$ZRby0;MRE`$ zS5^t!z6vo5d4&+_q6yS(n(K|UInmu=$F+{BJ`)YW;h z-Mz$!%d0cko$}GRyeyJIjN~3c!ecDi4Wnj*M3+|urbAKBH^I&{V^gocDa(-OWonn# zY;k$*?iWI0-nEtC*%d5$^<@(vfEY-)xPwLUAGEL1#9JRtf5`D=n|(4jdmgW>@?tLo zwjq}tUw;7gA8~(K0>VtdUP3@hzS|Yi_S|2jK@I5`zp33{PkL<}Ey?2knw9AOy2rY| z-amt-n%xq2Tld$?@*3W#d$!~Ly2s=Gng=!Z-``pRgm-KAmq#yo-Cwh``|HU%)~Ko7 zU$c}-H#b!n_m}OSaojz(d?aJ<>cp`p&XaQEJjvJC8Y_pDR~Bjb0%en0zq79Qu9*;vK)#!Tz}S}fgG8J?-#Uu*eUyT2ML!)ul6 zinv=bhX$R0z@>D8o%ANpY1RqWumg}%xx!Y}hf9nrtOUKedRy@-cf(56n+dBeNIJQ~ zN<6(urL8N>vUw`A`5Cr)@?x@oWz16UO}-n*bm-L@VQpmygJ>QnNBp-&lEiawpr z$WCTtJKm?-A$F)&)ON_ey>1_EDSGYOGW~X0CGPHm0j(WkUEkoo68mYo$w;C?&+oX!xzHQiBQ{B0JJ48q|>P_3XdA|2a_U*YMkDc4MRy6*> zy>-v~MEnlfw_8?mJ1e$h-&*JoGxUK1-L`|)GZFVH;n@Eb`xgC6t{Uu5V4)OrdrD+T zs(7I9B+Op@)GwK+wXbvY%o^;TEmsm6B}{WC5-(5`?{=y}f!-fWwf5w4M>R5R+mqN-4E{7l3UP5py z(qYpj1kjZMBO#88W@E^i?ge{jF2>ft+UK|J?lt-`MRCx^VFQ~;NZS-wWsay99YMKB;q~FYS)}X9iel?$$F5J3?cAo3{q^-p z4ZiD>{-cLZn~{dYy3^39dxx;oX#@1}w%8|lX?nA+;NY~_(|F@;{`6_4`IjaZ?uR>! zRN>HHgjaoR;c_)sQ6LB$^|(w9Wj)s?ts*45sd}+n6p|=HJYkyPwyECgr$C)z7lK{P zB7YE=>!o{OTI?z|Yl6;!s@}bRkcX?Eo|Y-Xn?s=<2}OM%|Exd`R`pIbATIzdCQFzc zthv$rXqs@cs&_(4d;p%*gh%m)xT3k)RfCiporWrKtv73C+4!8gf}?SIEs;O5&tU!& zyz^AWf18RY`RRYr{Mb2EA~`lIX;HxeAe8xzZv*=;#5tc10Mflt>NYUCH)>zN<@td8 zo)@AW>|(J(O(Gd_H^0R~Z5U8jFc6|965auaGBF{lm@xe&#l6r>Iv7TEjEK@9TPizM zl`XVoDWi2g?wG}YD%DzjxK_Tcqz@L`nuv3&s(Pl(fjBjjbZ=CJzY&wT5&fkRnr;e9 z1ua$KC2+~sMBGLJ$oEDq!5e*V6gla+z=u;+!;pmC|6;x zj!}|hY*-=+SMH7CC*QqMoOT9RK@FjMqqqp)8^uq)d!yLDO@%%E6i$of1CzIdcGm3( z&D`v@ck2pHON)h6;a3%#o2RHohi0y%!m00#dR8KqijU&e3%P<$6ob5081Q#4A1!02VF0HPw{3-_(N!_iMD(8BnmL}(j+eNCVv8s%hdDtn3 zF{dn}P+315GO(erII_#B4z&Ga3daWUB!Pti>>vFWsTP9HH$abF9(P!=5fddxtT5AP zPJdo0%yw0_k1d-JIiUAYapLP2RkYu$Jg=A4nmhGco!~`E!3VF?Cx7a=#aTRqYV8!8 z1++$qz^{e9*4onMDWx4#qUU+uM{uKzni5Ojno{ohDs>uIk_(-Fgf@V%af|jHMtdJG z!g39ix`IAwvCXU*72LXl+_cyxrIaoQ9OBqsQNytn7+6%DvlZfHt zX^Bn2C4Sk7Z*Wsz7e%m`!>#U#mSCSb{3ui~iH?}Vt?r*}S(-V?9B$-^5;;%B9By@U zb*o?w&CdWz0cJ)oVu9&@-c$sBHVj5%x>vV|G) zA}`YnLk1*HI53C1swU~?Uweb;uZ+aPFo!>aZm0Ik?1ZBMwlJ&x-Pslo=!65i6NdVd$MLqn z{DOzu^q2W~z?hIaB%Aaf>LlF$*RX_1-+{~hRAkQr0O8W$&fY4SO>aE!D$fx_`yGgGXWT>1z?a7fXi3_2J$?ZODGF|PXN6AId`cRf$j8Xw}k%0 zOmF-1+QU2R&r)4%J|2FzKLh{X(f(AIwM;YJwDCD_H$D7vVmH;wum3yUq<8Mqo$GbS zoMt-ae(sogJYaH_#E}zOuAzif6-xLZjfT145qVOy6RjT)d5lq~S_2+o0RNK#pDKXi zv&3y}nakZA9F^q&Nw8chhM0BvXqJx+^nqi`m6BS5M^<*B(?FQ%z@1~- zNW13|_hQD3g;kb!dtu=sEweY4PV0?WikiLv3(AhhM|s&ABp3uyO6{oRmIX*+n;hL*o9^}CR8pRWdPGAiLJOi~Zf)gdJGG@G7Uz|hB1rZndKrQ)Qv@9- z1Rdii2v-=wx@Oy}7}wa)gmyvRGiwupQ0Q;HkWJq@3J<6myk zzZCaXWc3rW26@QJ#&aM>J}OhY>llK2;ttg&@?(woV`}%{+JPOaO@hOj_Dt;%*Ix0Y z?%_QZ<%ggodiXeeNDs%ynL62A=PqBJ{!%C3);Y@5$>lm1nmRcO&!JN1cvFXrV+8AJ}Z_T6{9faT3jUA&q!0FKgh3X3E99 z{DZG68g`-+$#i}>==Q*|LoB-JG^hkTd;;{iXsW!7YMa@=KWI)GCOac8C*ls`c{~>m zYo{j&h*a?yV9+nT#GosX*?wAMz%$y%5-=L=cFg^WfyH6hn9)9hn|}f|pY9$Jz)1g! zi41E?VA$XuBRuSkFL4}5o+EA7T(Vn6JeA^7NhFEMQrk)kkxvTfy=AbOkXWW9p^RRX zrc^!D;fczoT66Ihqijy)hJXJ8H9T3_9Q(K)Ui%o~kx{?5{v}kF=N&$D{xIThdrXV4 z4IZxiBU-2>4)^MRqb(41m{Mq4l7;ql3`2+_Iurqr{8x9zhrRHNx=)cE{c=K2gn_7w z4298(G{#ySTHJ$#D+%J@!#Erm4L3!Nz5A%AEW3{j$ojx)s&VgJ#dah&f^2u0`Ynecn>xD^r6FF*ZL z3jt#DKSHiu^ydiW%%wCMS~d%vWqLSTshq-6If@NkwQaly+EW$&NCx0|KF|M`rx}HQ zOA4jg9r`lwZ}I%v>{c)L>~?J{MuHfN*Co7kcG}{d&UjncAj6VYO{A0IRZrXvv)x* z2^iT4YGp?2NFIwwWxRy#0QOgYw5$XNZTkwb-SvK+IWab zdigo(fMm51Sg3pcIyJNG53rcQ2H>N-Yz0pS%J;x(p&6%*m2m<)Mg3Ar#tFu;E(qfU zx9&BPRI@Cxagqzsl}41rvb_UK)YRk!nvzk9k^_X2fgVak&+sM#StZK+NktH>5)VOS zm8^|D$ShYQLxyueWA#}jUp}Jg!A=cZZwCoI#~OOn5QptrSweOs8$x()<>$5--StWB z=f$iH{puZpDvav{Y6>gnxE+E@s-sg{Z{r^ot)f+09@ZQ~Y0x=F2p6(yv(1nEW;4G6G}hV84h22p#zZ&t z1QSICjd`<{a%%E8qNGC2Y|kJiEbN))^0Jk9s4IH|e`~Qf)n)RjO56N>cbYRGCJm+2 z8Uo14$P>q@AOf(ccx6#TkA`x7RBuXGrO9^|>iqJuIuxtoK?16UP|z50-xAK@o*vu~ zrOhau2@*4E#rN8bIzy1ILEG4jBBFImm~iHMHYP}ow@r}7ab*A=iOkZ8?P*4<&GwJ} zAY!oLMtg=i?J>P*XtQ=ZezDSSt4pV?PO05&x9!Zpt`lIQ-Lg4r0US9k^}IB!L1T1U zK!j3Yxz~C_Yh+O(Ppl=?`_wQY)gG9n{3ynQ53%4{fL3e8&I1Dy z45wJ*5iixUx$rOVDwtkO9_4k8Te^&6WVZrOii%+Hg^wPFq zBxWwY6E#7HW{*`m)B>5rKtAVnjRNu>hy&x~=oz}L#f?47MwNc4?4cI-{pa{SOp~?d zH%iXl;`V!ie=$1cXu?ch4~zL`#(b4vMrXlkvmSL3)AW?mB|Jr^TEF*L{Du8EwkK!G&5hUDSo&!c{03tuSz+$HGej_LsyDH*iE>%rkJH z$qfMPJ~9Ag-35UB^6(lS*eHUpkb!1?fEC^nN9ZWtU9R7aV$%k1L`Q^Xb|ubGkwK-a zO3K6U@bd&{4@eLW@^DWUI`gyyS;o{eV;<(EkdmN@@JG=IgwbAAwv6Tocb=ZjfMEg# zan&4pkMlcK|57r<1JF{9`_g0pS;h(8}fRXOfy;7jA$@1veQd@Vwt8YSdbu zyNvWOFVY{;e@RX6=SSM&?wy46J@6a5p+}d8-<>3!78u7$D62)kSBBSAux)~^%J;`r zl&#`-?QC>m0f*n)#Wtjr#JD-F2s06;gTdh(aZeTHXoHC6B-R?w##n3EG(0qpFvasM zCX4r+v=vp1zO=R{SOuaXf0xbWo*}8D`6?%^0sbQzVg=bUdt$J+2BL?+4x`APZN<4D zh4b_^$|*Ebc#UrUeQKO@fF%%U?-Vtc3Cwwn354kj!f0_*I&H1jQo7dP&7qyh>^hz2 zFOe;}-acDjZ@(dQ+r`W*x!zvgyi)`ts5i9&OPAEztz380TBF?#U`!i$A(yvZh1Tm{ ztV%OyXxcMTZ+m}p@Q2V+Du+)4BbA{%r>!!4bo0Uwa8;S@ygS}y!?UHB6i zK$%@1VDUe|>q`d)#l?Eb!#RHxAGp7x>yQlLUTcYJn%D zdSyWZe}nKDQhaOP{Sh|FtkilDVFKe z7BUU+)+aeNj4)evOk{RUh1EVTN3gHp6mFP0H5Z-1S#N>hYQ)r(}v^ zU$diGiX~6{&7BR68a*^x&Cs})>0Zv$2)Yq6b6Q1MW>}h7m8#tCnAvo<7VU%T!i`dw zCSWsw)Yv#kkB#Kj!h;3?d~1z=-p(9h>3*K+?!k1ciRn7;96@?E;--sT!4ng|A?xkO z$MnQRuP{PlbX_@C!ge&!;|`1lOU`m8=O&(#z{bW3Ss&vH6c^WT(IOZUSzcDp4>{wY zB(ViSc}4h{wK!a{e!c(F=Sjn$62rjh1$rq_BrR@PQtyAb6G{C_t6fX#`%LP)Y&|MT zgEOB&EbXfiY^#Z`%3qCRC9CaHX0<*#O&PPVb%PLmcPLDI-Ki!rsia(#>(H0 zh@Dfd#qJoTLA`s2;ie?<3(dR{TvH+#yPA7EK||+gc%iak_*KF5ZvTawVgtC|AJ?0< z!Mj3_N8AXn_wryMG{Hdl0L+Bu+*DrnA+uGaX01Hymw!NNNguL7~o~BiF@7uzRC~j%`>sal@u*4eKUutPD3)7OgE0Z-wAjg@3Te zw9|Ix2^Y&2n&jZ3OrnW=sjMZj~aUi(1f~KMV?QopcR7(5de5Y6Phzor{N& z)&f&m1(GixU zb9a0s{85$ZWw}T06I|ZhqhfhYpyay1QnW3wbu;aNw+~)%BQ!AGLI;*m;cPC9Uqb&{ zQI&~1A#4RWwvg>S-m?_GH>@DKO@0J_yBABuDJ<6UyI}p{Z1gu{4mV>suP0QmkpygE zxz?!^qgYn4tt-J5eW;tb0Oh44sXi~EKr{n;lxpRndb*!i87L=c9B0hho6_G1^xr4A z&fT~fIzlc_nuH5w+tX%DYhM8HlRrWHo_;>YE&*wvI=^T!9AWxp1vjXK*IBATV_|Pv zR7y}bD^S5gJ>0V|!*K5cH;e^V&%g!goQ_{DrR zNql5YI)050ufb8lK>VzlAbp%#1AYhM`86Of5Fc2x3w=oXZ&2mrQ$uL;;yS~XCT__1 zztbEbj>}X-aGkrMxBdWj**cl5q<7AVha4;$byvo z2FQ~!qWJ+GhBz$<>sJY#Mh69Kr(ykyIIh+ba#07HGR6XTd?LQ3(Km;_U5syC=-YMl zZ8*MlrEgQ{+o^!wihG8?-W2}2NeExwG`fQr*?~`7*sPj}Op)@98~P@FV}*rs2|cmB z`7$ZgdegL32(?De%F3eEdcJIpI4i&cl1(}`gk~npmxWp~W*N!Y8xs=jA6}-Z`7#~- z1~2Q@iUwR5nAVV1%eP?;UJ)v-0BmTYig0axm==J6O%rPoGHwIIe^jF?X(pXOcxfiJ zc=uzxjk8H2F_U_+@xB9hnQqHbrY&mIi*A!c3AzT=d0jPl7KTW2gYWS-m}X$azcFIf zV6xv6Nr3)sr3T;rKWy+~e}fNaykFh3-3IHnP=*s}i?Spp881a;K?Hq@WgYyoNof@! zjEUC9%TOKwleo7+)%$RD%DCi7R1(3ELuv#`(TH6WC76CAr39kCak)MVuw6qA6CU@| z7Mr(d5QcwpKRH^F&o_d37W3;xUhJrTdI!CMHf}+RIU}36&zNl%yi9G>`E3@9<6OpZ z9^+7x#RNV94)vUw7Tq(R2jXew)PnegFf@L;dawKIZ|c2P!kNy;TJkKmQH<@2zljni zmuII#znnPyqelh)bQ{&mYRaglU$&np4m^kIgI6%cI8`b&F%9ksWeRwJfo~{=u|Ag` zKV3I%J4%Pe3YUszl747|uINF#Z#HSkEz;3ej6CZBPQ%NH<`bgL(EMJF|MQ(p(eH^C zH2$`b()jeCdZkurgrA|vz_gSE(1PS~pr$EqGEG(ibYc9Ari{gS2~)(pr}-^@1TSFZ zfFw;)zegBunj!0kZ=m7TBU@DVhM9@C=@p?G-+e*4{rQPIl79BY2A8&CKw`>*!Q4n! z5n-*g4k-Z%J-=v%&Zr zV;s#GRl|n^;+8?-=Hfg(fjL8nRN6$e6>GR+UsVxu5uhbb5m80t2rX|4Erxg7>#H07 zs@avYui6dCb&UDRDq@l%d0$|Kf0=KQMKDQtJ)V1DAZAra#H^11-EAmBUNCk^!`p`L z!#pb8_t{;Vp48n}qPs76gLW9LW6H9avQ*udHDg*9MZ&;GzZA9O$gGFRf?wj;2mgfv zf3xUDxL+y@(&N2K!@mSeCuU*+lNl&(t{Hf4c2G3}`9tDJPx3YX#qiI?zpwD`OZ@u+ z|61TjYNqb+Op=thl-B{bNXYNL|{Zxfs7CW+pLO=+;vBW|pcrJO`J9E&*B zAeqGXK#5Z3*YSw+H}yK?dHr?7p(|&obO*=iVjC?S^W<8^#GUDU?nj)#h_4gGOnf=u zzyvtmeBqm%$oUzpQ&#U- z-Rkf=PO}m!TMN>d3tvT?$5nHCNOSr1ml5X)_4<1bugT)qUqqZI)$8@1*DVp}DfN1# zyattD3b9xgG^lneVhjAl?!v?#EySX3i`4zXS9gNHZiwr4RB(qUHWYaX$!=iM-H3C) zqA}Odh#LrMPiVsH=mq?7>n^1oMbU##phiabhz~pATY5P3grDeRuM=A6!I^-6b4vK%`QabT@Xz+ZZ;m*t6#S#5U$CW@KxTL7l_Ulo z%3#tH!Mv%!d?Rc~2D7gp%wY`Xl{>h#6u9FZCEbd{yaS2sK%02qB;hPeguF@>)qMO$ zrBZKo-@B9&`eLX+Kef68HgYx9mUPUYcpY@H;GjbKnADWI@Vn5gYw+(K{9BEGZ&S~5 zlm(@`7+gZ+WhD}q9x5YgRs`N8m^vpATCgTEz8g_B?%8w?jel)o8UcqhXB6OKF5u!+ z%+>3|)jAckwU0^pMTC7U?d*ZGS6Q+Pc<{_Qot!-NVykiRG(zs_Wy zQ_uX-8mV3PYZ%&43bgiYq~OjVg?At^-#*w1rS~{EeHue-bB~c%)HBW(;Fx>C zleR8Lg4Fxe0f#MgyAsrLY=+<0p6>6jVStA#XO{CQ(b>%YagzMPC zyhI{J@Txvc`!w*G8GcEku*5Fy@OSB*ice2shYgD)jYK;i?)l?LvN1ZqMX#=$rI3U@ zNLEIiT2M^$!{HjqN*N5cG3!RpTNj?!lu<(qd5_P6Mt%zU{Hwy##1n`#rq((Q>Lk=0 z+a;b%r+D^fI!zS5l#Y$dqr@oBROqFT9Jl0fxgDbaBCobgDR{z-?ze=M3BztlnOt_i*31OHK$$d~efO8+Xoco}a zb02)&m7JFUb$Wx%lNgnp8Yl0k92$q^*~$m>GWqCuX~#Al(zTVT#b_bct`<#i6cfAJ zw0TBK3YiX+@io3HRTwjp?HXt!(j&AX)b?BSV8gUV&2h`Lc4pdZ)0k<52(jx7Qw}d& z?R{nFKt>5nBxH~OZ=_5x* zjjY-r>&?g(++ujMBgpO^%-VYU$WGMA9yiDaFtTF=8SUD#^tSn>_n9fFrMH!(7biWC zx#QdJ|5v1U!1bL;ZyO7+PkJ$SFxHgx?sC1Fjg-W8-b+D|-uXq`Pw*Dx8yOfyoFXM* zIduthDw79su9wgMABgNM-LWf8$KJ~1j=qVdXnP&|;pG2k9ed%mf3Rc!mJ@w1ragi6Jw@+cB&I#Po@^v57A+j;0DSxSZ}ZqWhVeRsTFkFlE?kf`Z2UW zd7-T)7a#}<&HM=5hMniQ_;eQH5B2qvUueK;D}Nr!1AF(n@Vc&uvL65{%y!b5DX3WG zr(zIOF^i3T)l;Wis0d>I+X16@t1WIsBU$}ggro>}}=Z*JC;(1KPBDP$W z5q=e$lVcPiU9i`v_jIu7xE?sL4iy|3DR7MS;~332hIny!41J>{D+@*p4rktA1QTr! z{2%Jx2R_Q;_#eLu2^<)?fI%ZhjS32)H7Y6y)To@I1w8^$tRVgYdPS{P?-XhR!OKa` zBZw9h6%~{!t+dilQ6r)T)Ff)upx8!>Z9W=x&x;x$LTb_c-ZQiNJkR|J`uVo~{=Oey zExG4;c4ud1XJ=<;XJ==;To(N#++I-c+mnTsAwzpGYCS3@?pH{tZSXEPEf2BA+0ESY zTQ~7&5HoO5`!E1TGlMc*zuIuE)&@FySWd!ya1Fo3 z7(bNtKMwJF)T!8V$B@CUZ2TgIud8eXQhxP>sp2?TU&mi+%$HDKL@B!Cl2=hzrmNEZ zYHm`ItoWC}7h2AFDd8 zcDv?g$q=^>k#D#owTeOm>$!`1)ki)@PvN{Z4jv4l!4XN|**xY|N7@~a2+#k*dc-7A z9r+TEJZPlDsUuGoUpgeq)=ur|nEr+_4cltD6Lq20K=;Aj}7hLfhcoU*1QyuvVKk6eL_}2v>yQ?ER@e`-yNtUZ4yZ8YC z0d;-nX8E-k6IGXY8P#a-LLYo>8vkEnsvc&8QELOoNX0m`dR~UY+gBQqatwuGq7|xr zJL3!sL_iNV7fpMvML463ex}$<{$Vj#Wbh|f7#YM?{%%y_6aiGIBzGKUO_z5m%TU8-? zyEBULB}qkk5aC~nF)Jdxy9W`Tm{cgE2*;=QB*Jf-FC>V&(?$3x^WDK&5#bf)3)f5$ z;VDLhuCqjV1mX#C$cx9D7U5=QIvw6(=3;(;dcx^G$;<>1SJ+TWbv) z_$dthiMdom1HT!-d3Hy7Ef3BbYxU`kp2Z)q=4(}3ga)y)&!P8ZEFUS@;E31otfML~I@4|3v#bSk3IAo&$%Aa-{knbg{8XFFH=G_N8_tMWE{XLtWDK88f zpr15G^{3wYQ=eE_K7Rr<|6Ht4;Y{|ZX;z{Ydr5AMRht(Sxan69@~Q~yTPC#Sa^@uy znwZY0vp`Saycmt_BhJS@N2`>>Af|Po9IY+{if+~+(m%s}g_Os|%USX?{CTEcn;lsM zJx`UKS#mO$(ci&Bt-JCo+8V|1qy7wt&N$?!TB1WIICMt6 z@8jfgx&wVGjaSA++B6i=8{00^P#n@NdgEF1B{Y=uMjGI-12COcv(OXWF)yilR$BG( zj_RYF)ny7CZB<8_j@?-KeB3M9u9RtTU{WzgGX6RAtwzS43Wv`!+#+~b^L(5Y-;!KV zrbAa!!5l6~=NT;WWJO!J=k!d2X)do#d+ttYip%y)jAnhct?wzaH%gro6PPWr- zaXQ%?!+gCNMysuvrQblB7;onlt=1unShsax>B$?{aISq0ZJU6EcCw?UoqxcV{=zs> zzQm7e-&f+O`J63-y3Y;2Y#X{Iz4=49`Cg9ZlaIlrF3mu+UfIgJcB6S7$va9yWY)OO2fa?2B)Ejw1!@O?G# z<>aqV&>7k3*o}XpekjL7%fK)KIC)lm->NPJKE!D?fL=wfm*x#aQ#57T|G!YP;2xbL!;L2Xy|RX z#uptmxTZ|~$!W+DRa|_@DfJ~DDN8pB(uIOtaU>p|JVk>Xg@@O_%7h@9rWWd^F$ORd zU-rGK>s*P4ufNj|v+(dxmImE3g-Jvuk()%}5SN{)E*b_atbcfZY*GG!VIrC`+Eu;Xcge_G~)=gwvZ}jX}PPK9V8`yEdI8d>yp0X$~wJOo#9{8&$9JRwyO zMCYWlKx6sbd0gGba-DhcgRsQGcWPa*L_(wm{gDvqrweJMhwF+G@b!3%JB0sE3AYcy zJ47YIPbit``Pi~I5`tHr`4L}(U-0$p4R@UtJR1Kj>=*7jK6qPv2>I>1F85YVfnPV= zH9dHEd;nhIq@)IMoCV?ve%}GNc(kkoU%fBZfnGn{P&|U*W0G1a@1t}8e=icoRQ(-p zdco$P6i}#}IH|H??^z)neQ)O$q3 zKZ~Mxo*qJyWQ}Hm;#H9S#ffY@e0_&IF%cy%ryWmfE)(K$TvdJyyXEsZh`d9^-~~tT zguC3PMITzEgd8e_ptZ3_1^WqxW3PZWlW?~(5_87*V0IX{9HmfA zgjCaUa{BW*(|K@m5u7;peJ({3$t0UEnp@1+DB4Y~zc-y%#Oo77S88l$1aa)v*%d(J z^XVaP`b+8)Zsi!XLTIJnlU!pz;*%J?wR}IF^!ezm3krebj9^auujrm-oR;+#Y5NIa zuq-j$Ni-c(NNF3Nr-zu~1ShnOAmENn!afmLmKfoEW=3ZGM!y{FFU8JYmdIX)glr-T zHiJ^cN<Jsg9_X)T)1XF_K^Zym zafHX?$HBlGj3ScbO@}}+28w91yzy5!`gg@myql1?fO5>C7QXuB%ay-0`wVGN5vQyQ zlEGrP2XW5CVh2jyJmv*vIklE+!9-Iv{_jxS-Hd8H+CVrGnRlp%#~Mu>q5F3rK=jrl zZ#f;&Y5dNkW|@*fgmUp@w6#Rn4fWY{6o^FpFZCxWNquqN@c>Dg(Ym|OT5z0(y?zYW zV%Ug#%WZI-fVv_}-*EL#*0G&#Ir<8ZJBXqgup_{9J$j?zRWe<%vi6z_aSu(0`*jR| z+De3`g9LOAZ>DLgy=DR)I^2yyKQ;j$6-=-La=NCd(!2>?sj>a;%v5ZNQW40D9qpsV zs=6R{>?}@`3hEa;H08~KUXJG@F-E2l3j6~Dglkr3@?6uIzy;+<`bSz5Gd?7_`JVbT4<@&Jzc7I(d)oUmEv1)y6QfV;S6f`tvf)if{~d~4_PpLMtKpY;p)&xYIi&&CMX!1KSALB@ zn7CabV3a$j!BtF>7ymss(IG6Qdt?#^i<)oW^k!32)83Dey-W4dQTd@ZRKbvlZ)Cwk zafNUWKyW3X^;L2W6~-rA+%v}4QT`E&N3J^Q#}>W0l!?AIHc4tl8~1*+ zKow1WZ^gvf6s{|dZb_hv@$1s)7M5e+(^)M{f0kc#;{|IXfNn_)7m2O*yCAKN zYamF|7xSb6zt>YhKs1Hc3L$BC_Y8aEPpbwR&|9Qs5r z_!F6)6&~-xKAWCmFq{5_Km5hgE>lH2#tx^7`V+?Rw=#y^EsxQAC;VU5rDy2rXP^J%6~zejyt4ZeL423O+jSlPaquZymY z#QrWO-`o+teXKC?E;eajtgOpYq>fK)ZB}O?UlIfo+1Ivwex$p3Ti0mczVbhql@qp_ zNrQ|XK^7SQI+5mn4{GpJap*Yw0`^pB9&b?8Rw;@K8eN+fFq)_cYQD)9pk~D|pkB>4-f>6fA)$?k?kHay;g%;8 z2arN{(ovyKWyw#nEy(~cy=2OwcH*ja`CuEdxF)g>GvD*BTk}1eM&dcz5dB+p+wR|( zP#RMF7}Q%@v!h$3ENcVGLS2%LB+>W=3^>efJHbo*3ZH~jk9t>Dr4ZJexI!)uX}7O+ zKpB)8Ajpf@q_)w%)zxC0MzAcc4qrq`xrlgn%Odcfrc}(e8r2nBIo0m9+l~f-4 z6gt(l((MA1OQKVADL+~#K=toA^gI z`(kB{_#k#H&U%DKp?07dBTQW>nM=q>X^Q%D@h@C3V651*jcVk{EZuk?e;)o85EgDd zi>?8G@BlhgwHyE6h5zrwmqs!hAcgI2wG>t_Nugf9!V=3Ug=njg%!Y=NB5D$ic%SjZ zM}j{k$DG_e)*WO-+X&HTC7VT$h{lR7L7`@t7A5_PC6y^%ZdXpKbHT$Uc&K`rS^ zR8bq@jtM_hfecBuNq-NC;N|+nAkyAVT-YbvH6d7#fDdF!@DQX93l)TM9Xc6dZSDl@ zm{vDs3g6)-{ZCT#MpYg9&{Q8i8?ZDS}rJO5R z0?Zs39cC~pqdQ-mLZnxU>K`DTaW3;lY6uFfi=*a|bC>xd zbp&1OmxWZPbfI?WaLl;%;SM(z0t4~$Rr#6ZdO#pmZ&(X$@(tB6NZ0sY9Nle@4H2=(Y;P+U|mGCh3H38(WktO!h#NENJPVJ)zu60MeyT2Ofj(e&koZh;B@1{C zr~gK}=V(@ZT5qcRs?;swx_MmJ^Zj)Tx$bV9()tAkOl8F`SFj(0j;{n!76CYz0s5Q6 zE#2h{te25@7XH$D80SJN5h*dndigw#J=yFjKhydU?$Xd4tfUxLo0XdC{z7#hp}G&O zQBopIHvxkWuaEbxOF3d(cZrRvcgdYj8h}jqLaTxD??ru~1D)?d9Yy~qsGpM^UyB?a zHaEU;-HHRlMy8UOb`$I$>w~kIo4;2sO3;Q#+)sHH#dwvhd@Or(s0E-KD541+j}dT+ z)l#PJNv07IfIHoZ2^d$qWnAI<`pjrzF{MB3Z3(~Q+WW!tNgaJN2F6Yvf!?ZR>@(4& z|9AA`hdhFLR11&YAy_IqkYtFCv3Mh;{1*B#!Z$z?zfnW@J<{TgWAHc!gi``5_RDdw z)ROF*GjKfVyMyCL02v1sW|05CJaXuMAV@VhO4l6=mq!bi!S9ps3j{T|Ap7ZDHuRM{ zx$M*mn#)MRYvkG{7@4GkpG4Y9H2B0bAX z3usxg%X%46$tD6_qqkOI$HB6B=x0ebYh$`9q_U#HMV2pXX!ioFK=BJ&JG`|JQ@FoW z{R5ZXVa}Ioo2V^1eHDF~6%ko#fX4PFtgZ2Rg;jO)`#eW_Bay>$jsi7o(4iP#^gCs; zU;Xh!wj;Rhe3S^+QDbv)bTcNc5pZu+72~(l737($gd#FwVWYu3wxAw7*4TSAyJQCi z_i$HMsLyl9!SqPvJ~y2HrluKa21d35g zm2wDjkv1~(;=&`~z;k694u{w{2=GZwvA*2GmX874Q|g~Qgxx{XHfZg&+p5b$c zR^lrO<5T#{74etsMT5v&!we$tTZj}VBN7uS33r_rf>Y5(q%XrGwSl)p02YZv0B}4^ zv*HgDj*s=0voMbjx_y%vSIPMB3aWI7!6p7az=Cl@X|5&oA7_2l>Gs}1DKD_XA%pR_ z5X8`FACEmQ2vyGCj`l`w;*v?<@pihrg$I*F-R)Q9CvmG$-{x?|X1yS*r+$80u5Ijb zo%7f+7P`kXx@ZcU6piR9?RD9#o;se(psDWAX8cc;{eqW`h60mTWi#_FI3CFkO-Bba z3*?E?Dno1xY$rsIO+pj`NzfSWY98`5tQn`deQ+tedVaXUTTB`BgIS14msqmAS-o^L zmrWc*g~~QZ{iG&nT}u5S>)usT1n=X=usMQWgXW`NYsFu31R$LW|H{X&Cj4r^?Ya05 zzH|D6oCjInJ193b_a?DWmds~*BfrMmdf!^eie@e@hV`vwYA~kNl}6y5y=+!VBTwi> zX>sA74p%gHhsLthuk{DIh-bUn#1YZcYP+?a|oC!iDoR8`alm>vtQ%6&qZki@E4Vb@T)+ z#eAHF_O|i^^Qh$q<&MW5$IK0O%X^r6xY`Dl(G;! zpE{qL|^Po$XQYwF|KvQW9>(o!p!4_?KCpf#|ZT!6Euh?wA9 zIwp-1=xqFZqV_=ALDsu1@(vqH%==dL=jpm0c7V|tt?Guu8Hf0{tOYxd0Py%u{3cxe zuoK%TGrS8|W`7)QK}gKfdj19;7Q;#15SfP+IlKnl4UuyEOaC?aD#?$~;H#3SYE-Xm z@GX(2Wq3koQ#=D+u3X4ZbQKw1uI|R8R>2Lvb*Qkg!AE?<%MDU}qr9x`=9io0TOF;o z^%YhPzD6n8B;T6lX*>OaWnAQqNE!|hN8TYg^JA;tB-CR|-XvN^H%6NeZ7GL(?}$w( zj7`Ijw%F8HSH;G^x>CM*YhDIN@EWISH)-Br3luE(2S!lW4F9{9#1>|8i@N&qB%ZgZ ze;y`0r%)CkmFJBRKT?|9j3#S!lVQrl&pkp&>vc>vW5O=>w-oGN z`DqGvGc|hT?$gUss9QK# zlurU1S-N%Or^glr76W;dqLtJgg>8JUZwp|DyuBYdELB~xo?0|Jx0`kopsKu8H=r9x zIq5LN)3u4tx1m9$V3b0mw2MZ8XP$ncO}{$LAl!jAAdubh6SzZBz%!1F9B<@yW-DIg z1Ij$Eo6mK3i(-Ys&9p+&x>UG)(SMYbLF}_wxBS;r} zm%lE5y*0n*mXhm0m&7F|wVhX$OJzV2e(>c3qXnuF6AxUrKcdEAb}fJzZhwXb##`)f zSPRJwGEeE86SQ@o)Z*6IBK=VrflZM)?xKe0o7UKlCDT06Y^3%oC`LZQ?{?t_CqZ1n(W? zSrk;jH2uKADzqJ&t9F_h1Dk1xyh(t?-2C(qxMtTq1fFA^ z;WYz6j~y@I91T{Q2EA1SA&f+bH{!uBDTzARb)cBPcE|-WljHw{0x*-1b3i-AKnwku zx8r2Ep_jl`-7k3M`FWkf+{q%{dZ-LnN3VIGEy>1?Ww>i_@G|^EaiNC>3*ujao#C#- zg5}|^LT?qNg^JT&3&0^@comcb|H^aynBO6aIKPrU)|VW71phf?IsYlRJudp4s%^BZ z?X#*;Is`|xdrh?^JWi?FTXwYtR<)GYR!FtQ@iMF0r*^e{Zo-X_Olj>t)7lYIjhHb9 z21JC?Gg`sh*|(YC?b{J4SB$3sDGlVm2`{*SphQHE zi9On>jy!}1JX9A&Vmb0d+?Edc8HRkd6S52oiREO}=3vsi6?%=kF zqNZ|n@)Nv59;gI*((%TvOR$Vei7-+kkwXzrZe3+@e8zTv*UvST#nMy%)b!RMVoBUU_oQ<#c1h} zDstIUY2e;;?!3cIj^||=$ZB_v2#AaB`0T(RO_xu#x||fJU-gx$z=;eQF=lXJf=rxO zij2Cpz%&>z0SinUgW1Yf33N^_h8uyw`r4!B^#G>DfSG53q3oM}b(;;QQ2ircq=Xd- z=hG+FaQ=AA)ONZmOK5CpyBOMuHZ-^TC!ksN(W!F_$tyKfB+-Om*$h(##cB)1e=^V( zwiQ?zFe*HQ_0MBe4H!Ek{yzi^(7fLj|hrP*@OyH2TQ@BO3~x^(BY8K9ixQoIeuI}DRMKDQ7Pk}7C`Oj1jlUZ}<1Ijx*2=G5<>i(=BskS%D@F?z?49(7 zOp#rvO{U210~l9~U|ivvOJ5TR)uO9KOo;(9CQ)KEIdbZ7WvXlJnIUii5831?fj8t# z@@q7R3Z=0FvxcMD$P0oA!%x#UHQ>UdILh z%9g60;8wukp`Ixz$AX9~PyB-Ztvi^!N;}}?n#Ue2aJQ0qfQ8@4S=tV3p`e}MMLZ~4 z)C74QL%k0Dsz_b|@^FoRM_`zsb+H4jUol$a1+9ADSJ(r9B3D=Bit6-jhw6Y0f|x{_ zgK0-f?P}K(5#BaqSsV`oJ1h>x{=$^MBXq4i_C}r2zK+mzJZi7atdDOE=<; zv@)K!(XpgA!n&%q;jyyfD=fqBk`KJ%o^Ru_BpsJW8J9sCmlFxJUo=H&pfSDp6I}dL zmd7GXIu2Z@2dym~zvF^0NI`T1_}Rwj%){0ub;z6jxI;$xw$rMdzF}i_Abp#q;&Qq( zKAFx4X=+2K>*mNq(H+_m7?$2BIi~z-0ymoJ9#>lh%%sX>@cFHgOY0xMIzTW^(J$1e z6bIRRsKe#}X$~F+sC5umL4m z3N+^@z-b&D&s`a^29-kQhW2+i!teNCz0ZW(RM z8rBDefqB#b%}RCySgWFe9c+<_ti|`xs4Ih&Tu3SGXpuL1>n-QfFYHcF;`dt&;L^!~ z)#*U9pg{d+;&v3aZQLh@rDhi^o7!r9g%2`-IQ3e=rAOpS> zaJy6O=HUem!#7G$we|#}pipfvxioqZ51aI37|Z`Yh`5+69-6xBK!fR#4OWi~=UPun zEeFph2a;}h1-$z5iR)D!CsaH(m@?jzbD>DS5D~4ZKkrfiu~@e1M_hic-ocV z9YpSTxGdQwcPx{;nHNa5d6T;+t>8E=_-ig`tJJCK1%J#1=cW`~n_loNE_k*S+rDA zJWyh>-R6O^cPxFN4?f$6a{8t=a_ zQFL~aC*e)Wc%hqB&G zjZ+{)%?kQt5Mh>7l69uKVGhPzH8uQMPI@BL`W^Q>z&Pn-$dn#Hj8vQV3j*HB`FY88 zal-6JzzHN2;ZJN*2M*AtdykphKVftcE73{Z#zc#x2#^7N@`QFNz-{wd4(ao( zx~QFoBzVG07Tk)|5q}pia3F@xgg~i}@f9qu$0Gs1sZ)4&km@IBC_0X$Xw}8h@}BgBRYt zuUhbaZG))@6yp}KL6XnMvN{uo#Re5^Il>cdrlTNRTC;KpA#4&syx|wbLFP9)yO83j5rU|XOg9U9#r=~rLyQdN_*2+$gGhyr|b#aH8>%miV?4Nmz|vy5r=wMMg2zGx=k zuvut)>Zi5LAAmbwzHr*;MW6#Z0oq{)_J%E9QrV~{arhcS5RT8s=&w9<9qC52HrQo~M4Phbk_BlcsHmKtv)H>p5& zO<7~<+#yIR^C6eOP(`2>ESYm-li=Ql^m*(KnatgBX*x!EjL{X0k?xLN7=YwFo{wR^ zg9l27YaSNi$hNYB&J0ku>#00&V!Mag<$};NkWUf9Q4CkHTe+|Az*+Lqinkg6My!c z8G4tXQm-^A$|0Dt0!wL*zhEfw0ErJ9G!N zr*x2G{0UbcP3H<_EbyxrJj4~;!+VsZ7%U0rSd^?5ZB&(a6WjvmI?dfBX`wAP)I~Jx6-2JdzMkgv&q*gL5?MQD) zDzPbk*mwJAR!L5UPZWNTPN7fapO?3KMDBtKOH#71d`%u~bd0E*QwYxC#tKs3GO@7f zGwR|zGnZkXiE#OnaG@#8Rb&);gp6+cFQH>Dt ziYEAhHlbNyM7s}j-RcZMhbE9TaxFY+3bULVAbau@raPBtq7|@BH=Pjis}FKm#L-?i z?V>t#M`_^4RH;v(MC$q-b*FOOhjm?A&2CqJ-OK$iDr86oUKv>dJ)l;ppMA>gSSsK|&$;ASE)St#gEDUAPY z!cbOH+toLFn84JwGs~Y);BJf^NOF1q-ijU3M%W3BWG7G!ee~KH!)Ox9XbU)T9@MR+ zTCpl1?S>`q%l~9Fa4h%cqRb`MNC`4SjBV;E|1Yd0*w)msi=@UEh}Gohxg*JHTK^}b zy6tVLc_Ig{z!J++TFY#@w->WXdOqhso(b4Ss%0~%mc8T$YcptLxMHI#G}dVb<)T|^ z1FiRJ5w*cT#o*6i@LCH$4i9_Gw~=ii1k>jA@xYT(cy-CPk0=)i9~a%lq}}I|Kk99q2avwNXk4#8 zmG?S4i5RtDmSGJ~lGSX*6u+k@$+noU8alTmHmO<{Ge#6jf~8LylB&X(~p|R zNmDXmHn_=7Z(|b%sZutS|7;N=pJD0YXlRo8vIJ#0C6CQG4~FWJ?$8GQ7e@M$(m-`O z0^1pZ!Hj@5T%!Ff;lOEl>}X?YlowWVaz)*@k7;$c;0BPWZ(Yo{&bqv>JG3s)nBK%+ zxrt|aC8DRPW6=bpdafH)RJED%)>^MZ=GE$O#ahlDu-X|9(2?FqD>qW=Y-CGcqGSKY zRlf~-gnFyUgoDz+zqDec6&!b=F^8n5&wE$*G^Qi!>FK7YZF7ivy3fiqf&H8j{9`w% z9ZZlAueIvSoveiTX|-yVClSJIAWvH#^9RJrHqgx2Jc7bb5!b~#BE}&4kXKa7H4iJQ z4Ja|%rxx61$%u0~O2b`*k!3<*9tWaB(h=RmhBWsK+BK`u3*n8InXquU^U0t`0 z8O>O;_r@}g8)GhLy4(Pz=<=)gU(_A49rgk1qF{gig&1{jRW-Mc_Y|@2k@r{uF9p?b z0Mz7CFe7Y>eD~|Iez8F%ykO7uPY&Fl&Xxl~aH-n)t+W4r)Zy&EBFEEq^<*<6CJa2C z*POtEqUy1~v>ncHUPqS({y(x1(-vUMCw=4)i~aolSGcP@Me zjXD@Sfh`9D5%XhSeuZ6dVB)dnm6O=2D={;z2KUm4?TEPpy&(TIBuNdmD5 zqI6TfR!Scu{V|PU>i+migRhPmHA2&j2v$fYOcoQt>R><^?}bf(G}>2J{szO;4Ga!n z-%2T|+>~(yN0R&LL6taTSyE53Qo!=HWsGlC#b9=lk+F=G6^*GS4?th*RDWV&4t$FR zlOZF%8r4+Ac|7V`)JspxXp+z(sAG&YXo{A==5#5&fTgtc8y*mxxW!DYcbMB}-I*9EO^3t!P{BMDX( zHsb6tHHBfFBCwctT(%9aV#_Bl2gY&o^4ko~>jaR~SSw>d@qZB6_D%&GzggJ(uv@%@ z3)V?NTF6um!9s?nIJ!QYvyj&NUZNL#;K-xy`72xU7=wLkYtS$h)e8K9o#E$&RK*AU zT{{BfzXyCxKA0lQflf6|3bA_=gAuMk+7vIRvV_7bw3eFGsimI0y|Ec>c;S8@d@Y5= zuu-p|nt27aJY2E-TV&Lr?i3HYnM6<=)5mJ!PqOm5hRJ@di^U@T32F3-<TL>mCvTRn)W|$#?32?l~vN7@KMV2Svd4TKs9d&=kbw^8G zFx(xV%nAq0;Dselfs}Q+Uyp7BMKxuMQ+WX62JXR3ZH-NDYc99-CNJTNxvftus`;EV zR&2yz^~`JBl~La^?kMI&9)kTApA44N9phU@nvZ<<^o}Avg>hJwW@H?er-5mLj+1RS zFgiaLbQV=Cqd-I}Ze&?trPOfB>@T@SF4wSy`>FJTH*vv_c`a8&lvY-}|w{Lr!&TLHg)lm>=i@GK>DAc-mptwh3B=b9?Ik7h7jN&bkZ3$6jo0 zG?=e^*7(}*V9bXL<}y1^gd3A>Jz2bw6G27$>XjBd5hxE9`3q>3k)5!DEQIkNJo5-0jRi z*%8NSR*F)iH7*|r=0P_Wr&$M^w{UvO8CP>wwHk-O*ay{#NU3gbq@9GA>N`rxpe+ro zN=JT`(9gC*5e!7scEy+DANc+HQetTAI~OOAnW0^u#(VB;e8jHFRro`1RX-~eo*N#( zS1?x_)V}D@sMR64PIqt|Q(UJyzLM8w9-y`GD}lEKH&?*!n>CEv2*$0La#8`Oao(j@ z(@qNh-yJU@599S6aQ{%CFqE^OYpdMDSRNp<9C_2|S66+ixxAT?Xi_!3w8-GtEf$Ic zsH>42(T`{^A_Nvjd0vx@~h{uev}0Jzm726>q=I6GTV@O=*o9qA}+W)!Xw6qdzl zcBgDuI37ffyD`3v-X(F&>dEVn1T=X|P5!IQ1FWqvZPL-2T6OlZe1I29x7x$hB$a{_ z#*LjKB-mnWX=C|wylaFgJx`$bDvHI}thTPv$|rONOT$JLT+eT!CQ93bk~~$~!uSRg z@h~s@iWnwNxhldgemnXUvSxcxE8o$RKd+$TMcn7xoy5?NS#$h7>R-~r;x(;}T{saI zr+XXz;r;}jm?v0tf)$ee45p5@;^YGQuPS0nzZj@E2=XZyxr2Q?%XEx z0w`p^6tFaM6(&oAy(S&6a5(C|qy_ z)>`us9k}(Y`@bTfqUsZc+<`4(E!w>$X`oH~7}S9ia-D&^!Ghe)kk3koykozRhXHcV zLL@T7esJG4mGH7cOB_edd6%*gCzBuD&Q+HEN5D@ogMof^}Q< z)Ew-SwSi$5(DCAws!p}qmX6g>#_FywSgi_`B!#E<|cA;>k^J`-h+|a;M?4{iejbOkO2`+4B9rriFWzZG!bx+sDyTe zwG$2KWrYx7^~z-a)Hnry5=cP%wQa|8OI`)sHQZXA<+}xdL#d!p(wty>_9+(o$Ua24Fh}ja~|fTH6B43V&c&6 zG!r@OJ^A?II)anjPjeW~4FX5T#|vm$J0>wVgJ6t73hp6&u$}dRx9Vx`!47yF6Y!Sl z4_HTGL||7RD&5@8L#K4i$vN)j4Y$*r(+gLZ^e~WTtxO-tV7oPt@8(u6aQiGnBc?Mfem}j_{b9!;F(S2Z}{~K zP=pM!0JN8vKv?Bw2Wyc_+eoT3P?!$zcMS0FybKciEir=ysu?3sxquu%WNxlJuSL@(Fm+-jRTu7yM*FHRxh z)DYz!!#S*}7=VY-FG|an7xhoazYQhR(7~>F7YPpG1cw0O!9~Jbvt#3z(IsP891C`s z#J$gCXK}!*4FV8c@uyi*NVLHMEMs!jdtF+pWs7J$yI2Vl6+!0pKrPV|c_4+J7tN-! zq36=S2t9nu648VBa-7D&A+_uv_L=0TJ2Zd^D79V$VTUOMZ_vM>So5%z+8mJD=7p(k ze*9-?^Y0+d+C=IgLK8QzP*FfKdT)QY~V zrmH9NknkevpJt#;=R;|@B@1U5Fz%45q7$hq=%AWbvq{2k!WqB=_T`$5KeE2`%omrP z_>OCvVcH?H2M*)oBWV%yh6jO_hsb)1AWK$W7(4IW!z_a8f&ppQlM)avj~Zy{;Ga86 zpe-U>Cd|}&sODGe4CLU++80E(fwUVWG_v|eD!vUwTi=NR@EYo%;9T#L!!QG3e%AIM z*uuh*$`*2)7?;yM#00S3#JrJ_4)(}^Vcd4yZKy`5b`J%a_(AvSg2Ayeoik=VRbkj0 z4D29wOLwTVs5nhg?py4?(GBaoAn=eZN{PR=ereG#zGwdo(Ok^EK19LilTZ z9e&7vfylr5_!~m72t7ld<4U63XNp50^6-KLf|TV^7!rPUia{?lF*c*aQ8+ds+xg_O z^ff0LC`M(NWfuoptyz~6a`{zDt7BTELn3B@a0$t`vkMB*1sF;B*EX`a(!w2R;RND> zWroSf%25!TFg-)f=<7J2VyzyE${(fSg}vN-x*Mh!2M{A#s3f2Ix*%3EJ^JoZh+)W7 zqyTxX64Cb^v=Z!mHfziR9#>I>+fP7!P6vjZ5ZL(iU{euQzd^cF+R5TaiX%pjGH7i) z(sKFmhMW=vEZsEw=GhH7hYTqY3oxrh2M+zwq7;;@5K&zna zxmkgdmyduLT_*#hW*VI^6&ijnx|A7!qEiA_vcTQ*0h5Mq0S3@}`M8sA!KsM4#ok8r zT}m=$K{(C<0gj+4fdE7B3j}6$Kf`Le$&EoJWrnAFHjwIZUJ(~79PP^s4T||NLlEu5 z&_OAsx6`@XP(Rr#=V{MS^Wb}ocFi*CpJ+2S*O4dvWtNiY-*^21Hxo6}er+?ZOez{y zUjjEYo#2JoXl`6C^*2#`O7zde>kZzd`g3E`;39ec7EouEA0g!p_Yl&k=1I>o;1WVH zc&1f+-}WDj-U&s59_s(ts=xUM)^Bjlx$2rA4mRCz(|k-Cnz#i&ur`=8+*L~)blhA5 z9zpdX@fNxS=QR@u+sI`FhtnQ3f+kbX+4i)jqNx1Ehg2T^2 zNyT(~hoedi(<x@jx|9zz{}jqqhY6JXZ`ZOP>5*OnO zFNxbNHFpQAxt-h>b}kiC5LYHQO3UxXr`Wrrb2A1Q&Yjy*aY=Q2iKca|981J zIf{YZD_Zq)r(bWTPw2(uxoW#;RGY|>d|U*1a;9SB#^}iKfmW!w*7Vd|zKSQM3!G$> zl=uo~;Li4+)oeJfdzv;C!fY-Wv&V*I9!DC)fqHR&BqAl5AK zb13u$RMXPM7#z-~V6~GL9mG}<21+NM;bSIW2$Ua<7kD@*D1$TX>U|pQ_^66I%@hJV zwQ&Ski`z2#bK^~_d7Ey$4$YGGx!l<%O?#dgtTAT?wLs+?KM6XhJ5+}qkq3=%xN6O& z;yMf@4wW+UbZp5ZS9UnY!3NDv7dtNJLlwl`9P88vG`O?5M z=}7#Jk+@ipNFWT^2~k40O9OT3_11H}L%3d%w!NK|X)G4uJTFZmWK)Tjq);3ak#Z|y z`IF{&Es;eyR|Sryf5TQqQKt7~3Lx(2*k;{Rn~^>kA#L9CC~gGOf`>Nmxg zzUJ~pwFoEV9K#5cLy22)n77T^ZUYQP{c#KRRg8KI{&mHx@DHw4OT&Izc5Kq-3?F#P zwzLna3n(C@FV}Y15KhBV>|`G_P6qhUKy;-NO$)G|_0|$LFK%SB5Xs!(o598+?1R+C zFpkg~^d3f(NBxNnzhZ1w*g?>UP0nYJqPS>BrP@(s1j7Pz=nHLu?Ylz{pHP3x#>y|R z18|H%oV(++s+NxSXKRN~BgqsQg?ZM1c!y=`WmW-2@rQX~jP=fNGnfLFv)8WkXRdRX z)X9W1FO{68BoRVO80`Q!(4dd${cGR^5$MLBDgHqAWBHz%NC#pLklILekh6TB+{UL@ z`1uk*j_#iGV@&cj1+@hDBxeGR&bsW;%{T4R>l-~oV{WFAY_@L? z#e;U1CT||`LISx;aKTUr0RpsZ&NG8IvYix>Pua!!cyoIV_EqrT7@_1(Vi=4bh*JJWipMA`gA(}_f>lc9xy>2$IgP2~o z(_5Y3KfV;R5W*mA`CqaWpYcn-E#g#$t7MXqhhi0$*B_7mWl_GyDSm>+(h@ zoSrqJlnRU|+LJ};mrQ#fwlJW@8%ZD%6S1DMh6*2Jzyia5V^~@mxK#i;wQP_9KEsAU zQ5eC7s0q5u*Bi#Z0Eac5)#TfHL?8Ay3fx;Yn{C-w765RAua2<6UOD}VpGhOyx7o&v z4}Bb&`j*z1RekZ6S%h=kRa$E!*vdnd$OAuhozoNnhM(DC6da`LJpC@BT zJG?g8-A_+PKXyMojsKm>|I%FD{WK++=zf|ec&t)6e5y*wQ=jt{nZ<^o!OQ9H6w3)g zLy&abgrbbEt@SU(0!FECDN?}JJ9l#5e!#O|aRTnCI&x2;FGB}ta{~))+YYnLejCCP zhOm+$6tNV*xrckBU@stb9~&khKG|Ux5z2oEFQ|uADPR2qVXh-R$nnUV(Jz~M^lifE zi=Rm+(s+;{%qew{tWF;!_c7KVy+-2^a5s`X(jeJrNeiDj!XUBV?01knzyR+SfMMT8 zptmt;kgUXsum;}-ZU}zi4M`2rf^7q;Y@jM1@q&$hhEB7rpY23LvbpvfZt@62gDAO^ z(To#%UUWqhnQ8v)=!$0k;fb!GkU9jWMpv}(50u%#Kk}n1TImPohe#X!DBF-OY4AaD zvYN~vq4lnV3`5pyB8>pypNkcClX~+(9%VRv8spbAq#uPFJp2Ncb~y<3Jefx5(@f}T zjk>dh&U@~jOB5A^HB)2fpu%%AeUs>p?Ce;_#3U<3OCWHGa3$ypi z7iF@F%mSt{{&zHRy@+nUU1y%xdMEkTMty5zD~Ph#q}A2|Z&+u7C=UGL_K`_jqfC4l zXUuTUYz&K#cS!+iZ6fzi%(sr5KWi7l`Lh-iD6uBWjW+nm;e*)%uMA7zLtV9hmehp| zON#ebmRYjrSGugEpX{MLOuO_pDbqlPK>~65A*y~dwg;xNz>@Df19(#Gn6)xVT=ta7 z-A_~3lm;Fbv2)JZZ?V{Ay~;ux_N@ZXR~eo^i(zS|?ktpxt)PLCiJe$Itj|Oq6hsVH z8_|vuHuE#-i2S|HWa4?N)==MODl!e$Ri>H+xEFrQyWeH}*kc`yjntT%V?({>FfpGhoanqM)9z)tk5K z4zK~2=8zyKj*6A7%*gH0zV$)m6I+SSS}C1XzMba+{S-PkBUjAof;8Crz;r?{S%cB> z6~Fp=tI!>J1*8!oHr2c%&F|s-mld(LsxI6?L!&6hAHjxOJU=o{E3&iK)i)8@V{(MVkieyl;E z0&>-5@5xd&awXaczd--GLWnEkQ$zOf(>_xSZ{%I1bEYYKouSxZz5dLT+Bidt_0Sr)jzR2i6((=}Ts2OFAxY9EC1TiED5hfMcB98Z4o`%x7@n~f`z-OHloW;1`wxMQFgHiMOrjOHsfEG zWp+(rR~%c?2)!ctq*{KZ5OdAbUFgsn2IilerDeM*!Jo*Sr0uP0b;N)1Xy>OYl_yVh z=45u)Q!CAiU496czeLJ& zLBu!HW*PAGtC>4kGWQ4ISOzdiH%RO-VK$7c9rapnkR53udm7h$pXYk*@i~JgTJm-9 zx@zyEtG28^ges2r%k{zoQJ`sBh%dhDir?vMs-*f%bGbB@Ac0 zz==N!f-Le2{{VraHH_Wrxm@~SDXsmwWT)Z!Bv|yRvF)d%1Mo3`_g>%*lbw@x4k7C- zf6i*yTKd=xpU3qcl6vfT>EU$8C~A|Up~qT$FXg&d>AEza5=G_^z(5d)_z-6Q@nq&A zwF&yf^lGXIRvG9MEa=xT^j=Qr*bK(VUP3;@L3$$+^MwRYTSQvYX@d$dsM^gU%_+i_ z)pOAA4Y13_&a~xkv%z$#h3PE}{xS`o_@JHR)@cAbFbfp}c5h)dzkryDc#2CiqTWS|=G zk#7T6cu24GdH+i=lR}k}__xFmYol==qw&lpn}6|#AqU_;R{3MErv&}{Yf>ohLtn>- zITN1C_x$ZO0)Djqa;;V7C!zja#&61SN38r|9kC%Dx7Cc>V2#`VxFcTwxnYMbq{?)} zbyi1g;8r$1=iop+bHHM+2lM-z!T%&BQfoLcq6I5jH0 zflb^%N3GD1&MAuFhpPww_R@Jo{Z8?bqhb$WrI0$PXGvSGK+xjX8{AfvZi@%?GMZHA z%*!vdhIRn2DQm?DFOvE8!x_qmBsMZ&pG3a3S#3u721B3S=DXZxp0mwDGQ6xIfWuNd zO6TVL)!8v7f+Li6z$8Nq{tnZmp4Z8A*_PhM2i(SbUKHp}7}?2#97yI&A*Jk(S`LI1 zB*SDD6TAmE%_%6f;*H>GF$V;G^#?gvR$Q01eZW9X%UpQpp_V%S3jwzCe*L-CDO~xRSh|GzLQLY{WY@OG_u@kgW_zPWGSm>{qa*cEK>DHqd{+#h2D=Cz3~q8;(U}6avC}# zHi%MV@<1&OcsFVW+Lce`%6)WY!aKf=kvGa3ilBoJNUJCZyLI%eAiOTAJ%P?%Men(W9x7^OrYKT^dey zizQt5WL=l2a+(@Fb6g=%J(c524Aa(G1YN}7-(eN3mjNS0V>8D+Hpl;-Ub&Pjuh5kV zw>Vw=m85!w ziRnaAY!DMBOdm;giRpITnOt|X)LlbmvBJ!4$SJ@tA~TVr#$$WjIRJ)P;ruDb~DOY>&ZMun*uXU9w$EbqusSV?u}P>VJD8rFxuvK&6jg&D4UAjLSI4&3ETI zr~yjI8LS%$>4p%^jdXIU|8*N~pYQl`k@G&<}T zME*_3B&oq6(2!P1C;XN{Vj}>V-smu_!~`dmM^7-OA!H=usHemMIH@C3+kyy=Ou4BS zJ7^vrPtz!@4hoW#^(ZU+#Q9VT>GDg#YeZmA#~;E&tTR!Xv+$1htLiKr^D>X7U;Kek zlp)MKS=3%&ObN_ufpV%y!?4k+_y$)zjVl(dxl;1-`vWditBG`i-G24)YE5`>D%v-1 z9})q9rAOVl0AzI{qS*UPRSwk}+b@J}qc`>Pf<#MK<<`|E@d~D_?MydepnBk{rNA5P zbsnQ`cv8kTy~s4SLvLG!v1FoBV~;WC!CF9zB?XFf3yl(=^4Iv<;h^-WM>sMSCt0xi z_u#BUEm;QfH9V%OT=YBi3jA3<9NNU#C07s3di5ZzbIjHz;=WVG1T4lQkCjUi-?$8{(}9XwVxA}VZz{q+ zHN5Q^MM8_{U!pDhc0U>YCOWAzTGkPh{m@3l2GV8^C?w&+IMY>-qE0=+6vLhCeWVWZ zOJ2{Jw%60+qTG_YizQ2rM;-K#hrCmAtcc* zeS3NpGiwdKhTRoVi?0A2C~t)Lc>-rX0|p)RQ-++FXxZ78Z)%?<408a~uL>ch=wSyE zL>IK-jqQwr-Mnrvl%oztgXY3B=ycCxggd;Fj}alsm_#pQOaux>517yCMG{z-b>ey& zDBEKIAy!!p%NW#Pb6-CIj-4zJqzC2}KP|3T(99fnl_KUI8;}$ ziQov}l~CQpEwBMdp;Mgh>>v)F1cEt;(+%Oc4T5qnqzN`H(pD-o>otlMX`2gIj@%ei z%Yu6in;k_6OqEF6R?H?;wW=<3XV{9eJpxRDQi|fx3;9oSsh2_$=X!yq)y8AYu!q@h zqn_IkBLjgssll;>u&pMB;Q{!SoN3Fp+&zJ}0U7z$AK{+G(I`GX61fI_puWRPZOfc1 zdWu3a9qvR38yqRy3Ab;d#ckZ)68hNy($;(g5b00|iK(~h_vlt@91nXPPV!v@{L1sfa%F}&>b_;$hfx!}W6&@lv? z)%Lww_svHTEAIwdv{+iqhC@l9{pu0}2ZN(o{rWyVk~}rOCg{`cs_1ftiIZqZ>E-f9 zIGD%RB+J&O3~YDd>>FEPc1x|?Qu|tht(UDBeQ0pI+9eIzhAOlh^3QC51&fq-ENAEf zq)7FvC#0|WI_(=Q3DktS0tJ?o@8sqxxVfT+oYqrh5?Dh&9(x4`P}el#A5buWe*hD| zdf;9|INhl@6f~%jO*~gVMulPg%v$JWxg|TudjYJLoZ4BC7T7Ng7}FPf3^nW!PU(6A zW9S?p1N-a^C$Iw7Jj9y-#2P|}rd=HCpVx;kw*uS~Nx2{(;1rl)FZk74GHn^Pix}}v zD?MQS_?#DxflA22OF9PsG2a(Dh;U{WajLQnP{%csUci_*hdKwdl!IHn5xM187qcN$ zOmv1ubCQAK`(trmt~8h{X%>@q1Wm$V%Ikx6aFK^!eI@gNnf8Wp2e)zu%U$xOgX_(N zu^(P@?~l`@h(8B*>ewGu=`F;4amKqav59_OquEhvk zoleLxfM2SfS;M2Ir!KM48OrD^=Hi-e(Ex!cZ)yr*TNa$;-APX$x^eo|-$U0mi2pKM*fZdvk&jr7}9v0{C1yz_a}- zPXO}jC~=ae0g*=O^l6q*;3EiOjiO0`A^W{-K`@vF5^ELW1;$)MC1H>Gy4zxl9wB*w zcMZO|b%p^m5M;;mDog-5>-RG{3j(`>R_I6?!<9<|pGj3$z^*#euZBuh@EI#u2>H#& zTDeO#xKe5E?KG?_vRL;^&@afzLYS7I7ORJD(z0fk4LUn)ci^Wqb8NcXV3D?|>LseTUnnKEIna z+P?#)ZZqTPm2VW$5B)U{ni7jQ`bEx$t!|e?Rb>b0uz`Pa_d6J)V1v%oa*`SUvJBc^ zTTb18Ni(n7*H-V_Qw9=0B`#&v`1bIM_W-lvb%?It^xc(K-_hAboPXmvRy(8*MxO9C zzycW7)9(r-BMChaNkfBaBh`MZ&|wo;KwTic=-bQqT`S#fw47!@UwLa37A@fCLQ@mW zb0~t*$+V%=WF_#Y7%GoCI`w;U>LV1c@$H6_fy#bIVrNY~4i5d?a42YTNbYI$@f@Z( zGzT2o4KJIm6mCtg_fO{Rfw~?ZT!|l9qo_K)Jl&b+S0CO_5-aVb@P=Hu!T@`BbfbY& zW#KyrwBi0w2b}nU_9*+x0P#k5p+O6w?dgChr#Ips1(5EaucUv_u{I7}=~Zd3+ph*V zafqTd4df_;gM;xI2q|J9O)G7Nz|||J!|)6c3ZB<`)@H>JhH$47LXuFB(TVZneWpxI z&eFiC2FP-YpJy=;p8%=%?JDEp(drF1R#y9VlYnB(?P8g}ugmn1Eg8Oah~x#uAx~c8 z7>Ob{ZUg74f9TZ}Sw`+4tj|u@JR>~0bkR{~U{*TZ3mEQ$3|B9x`h&Jzq$QGUieWsl z=T(=rRnroG5^o(_I;(h=nL+m&%QSDYLDjp zbck|2+PMydITtB`g2>8_z#oKmF_+vSwB~CcTjH(y$cgQ!bl7x;%CA0KZZjjk1y!(L z1(ezHtoD7OTN0#Cv5>a8JUtz70|Q>_0Gzls3FCbN$6yR!GGXk{=~d}K-(;Ypoj?yJ zvx>S8Mz41XMKPz&&?NTgH~6*eep_!~@3Z=CH^ct$*UX7}UpxBki`k~%zT_VzZry{J z%7pDhJJWk`b2@Cws_R#a1h&|yKf)``j|2-tyMQwMpdL(65AJs2ZS|myw+n>9{&m8B zC$$ILVdBH1nbM`un?l7*K2(@IaI7x1TcULONRn}nEh|=+3JJrLNuVwT37NXo2HKy2 z&T#^zF3qyK^wb`@lnT`3n=XZ=lwTTXHLTCyqL)>Ha~OVahF?r|5H9Mj3)l6sH?Vn9 zYggA-6Jb~nE81Cg-04yDf*#~H)C(Bu1~zYH3W?LrjPQeWhj7&&k_6+BvZ{BL(FRhT zyWT~c-q>ufcVUweKYE!@+4Zi~gca|KhwE~X<+~b-M-=I8iu9>>&88ymI$emjRbU+A zM0S`_MuRo}Z&8bGl4Ta$sRIEW9!_bX6`gne6}?| zj87-}YU%%F-2coprMhls3`C~a11?4yBBfmMMJ$8h0@kmieeE~X_V@@%$qWV|3lV$* z9kEFYn#TP)kf8*K9`#;_!Q{slCRe9pax-IcauO!LaA1-c3gCR@I^1vV-rH}63~7YV z*TsOI37R1@gp`E$S<4Rjm1(os5~RDh%@^)s>gOPw!tK806i1avdKJ0(lLXqqjQl;Q3QJluZof zHv&cE;E$**mKp;KH^Mkcw$#4hGrY+fry(779mBrB0Xs3xct?))KFbtBs93;dwyLSw z1*%!7s0~3D#wcVD#69%i6o~4dF8<7z$XT!sTR}z$|yZk!%VC9 z?Jmq-kNBU3V9u}Y3_*2cP@2Y)YL&&x$4~#YbfpsIyHD2Gn=&XrtF;kP# z#FB}|#S34UabZuoU#BDY5hHh~ASVKM3BcHv?cxl4_r9prn@!}W3}@RCCQ{&Jwq$Kq z4L49`S*-ewp~M7=gH>;y;9wQ}qeL*#{r#-^wXP$x5}%N?K+<1{^Xy*zk~*>!BQ;xw*zjI&N$2Zp^q>-F$L0)N+?)<-1=HEv z0g4CJt|YsBM|!>cx!zlM*h+%DsrXMb*V=#!)PbiwB1hH3=-xq37y8w5scDCE^eJNY zBnf-LRurZ@7IxK%es!6n(Rd6^65To4?5VN9*tYP zLIy;p`c-qJC+f|-mlv2uZTG_Uq!TUbgMM|d)U+GzYc*=CGOJO$>MeeCxuene2cRCV zTioMS!+zU5BH+`b3;{N*a>D`})@^>}b;4SzIcZM3o@=3G^I=swn1z1TSmofug*H(m zk4Q%(ov1(<4f|Et38V*6+G?0N%P=!Q2SNPmJgICq{oLWEX?v=(nzn1x(KNsEIGT>% zt=V9%(HWb8h-SkE8`7f;=|x^}X{Vus6USTV*jS>&%Kp|?rT|> z-E7IqY4n*DD{^hUtcR}+p9~4Vy3Yxph=#)6gLN=y+w=eN_BMb~6<6Q*1`=2_x>18h zMO+msh#%3SLJ7Jmm!=4HiAHHFej=_B6m^3^2`p|_vo4X;LW?c7@JOv%Y*7&cq6VZ{ zRMeoc4T_p-syA+`v8ECg&Hs1KeBHad0e#=+|I(VhckY=pXU?2CbLPyM8G4*K&T7B) zH>|p4r(CbeHw-)@6a7CJ{TK&&1YPN#z4~ay1A|1jf}!zkM)LV0hfup(0U>}zYR&~3 z`68W)92kWr^4Wd`wk_5P)JWsXk?#hj!M`t1_-hf2;lfOFTNijC>|#^L#-mgnvj~2@ zmXb5jsObNWI(8HRF*h95=_2ASsV$S`OwO`9!fb&6z-lEw_5E}yM06`T9fT|#tDDMD zFhez!K}Q?MgLa)jC&sW}BMFExaJz92(zsvHEogAxlZksA<38Pqn+}B0wfkdc?atvW z-!A0Z!FuX;)NOz+|AH*#Kb={AfRQ~Rkcql&LM!X?-^eUqEIKR@Sx{cZKq>i~k5mn6 zg!ZG%A}ucR97mB($$zXU6N#35(!j5lKe!upM*c&T+3HXNGgA#3os3%3s|ki zZa!1F+)+Ts51e9`yG@Fn$+D2MTqm*+V`K!h{ZN)7kD&ZyFqr&{IR9{GkxwDX^qBjO zP`ueE=@fE^^}lMvn~oa^PxX+T%BfIV-MX84?W2{t_r)X5b|0Nd-o1?WZYSD8B&8ud zEK9GxEECxhMmE-oOvgHab)j%3dw<1Q28b+?>aO0(+$Q+O&;xLeyLKj>t$AdGFqT>V zaz?gszTuHm2!|i87;TVbk&zXQBlxDQU4+#Q_z(>olTXoDnY*qV1}!7z-~wx&V%38P!-M5pX5Wp=k{!VFJZ z6=Myi|1hRY9hjVq-Fld+ok5~S%pm!KksRVg;$o~3F>P_SX~rG~g%z}0<}qswV}GoR zHk{B!o7@yh4f|i@7DEGFCPj*^Sc=$7SulO6IAJgy$(SZPG0`AnD0=$PeK5n|Ifn7% zI`E__^+la+ZY1LIQA@tn7g^I3!Oy{M3HGjN2_iXBbR#UFvu1$ zvTx@)=yyxg_1L>A_+VN$3m;;PXT1YYHfb{D)-wFv0-l(F03dFcZCT0-DQPnK@8$dx zo#nZ@GEJE{hJ+kL=fdV7=7r4dRp9nV!d__x#9{&%VN zH(6fdED4c?s;*|uHTQ(;D4$gm}vq%a9$!d|rm3HmRA~9%pGTQF2qb6CzYEc#$ z)na9k{hg8h$%)J@Rs}d`IbE!lsb)5K#Inkj4m{b!%D}(N<(?+sonkdROLEKWZ|jFJ%)4p9YuF!HD~^;rNf}p=8Qo%p3&{R#V|zMiHfy( zSy-#h8H4FO#&nMZlhd5}9EY8zcMh$43=)fxobN>9VyqEXZO%;4j1@OF=ZVaQu~oWg z!wFrq$$cFcot)#~gc4R|&U~E(lOD|sCb8B~?Zo63)(;2mgBb?TY^LZ;2cDEmSZ8T+ zvIwg|a|@&SszZx5|g3VxbqZH#d|CUBs`=#BCAzRa2I4kbFKI&+w! zu^x!Cx}dJzSB{Fo>2}a)7x;dM%|B7dgv-H|-7!#%weCL6r#YHcUoxu}-elO_F$XGG zn@`#?V6yDxER#hRQb#^%IozA2NIiU-{NHl^d}op0(D13oD9;Y0AEaVME?PMmyVymPYq9>+UPvDNHxj!>~b?&&d2vWQPEmX0LV(m@EaH z<=?ZoTG}y?o8}l8nuSN&F<_7lW@IY`GBN9McWyf8vrkQD@Epl_raADqJ2xGImySk{ zLuM6mt770I(vDN4otiq|rDblB)P-EB zTO@&HuGBkvcxhDAc$2`NN#jyY<9Md=<%&LOJju|QoqflAC<=A3Z@!4|a;!M(%+Lm0b6{v`dCnzqSkt&s)Oiex`lFV6Y=~F~pT({54(f&U2 z&fqHeHP5dU4m;w3e%IR@N$rl_H+?E)keA z1Ro0@5F#b`4@dHi};=_P6DThbKW$iCjf-2E)EU&>|SeYB0YnGy_~?_AP!9l3znSBnvrcm&_pM7b5_-+mkcb z7)9GNGc4x}2XY3v*8M2)R~vwTf17D>g`|9%iRVGa^TM^J)l)NO($1i{KNgyo?)~xF zYv0Jk<^}a>)p&@pRXVZJ<`^>bfu?{kO-gHF;V1pbfQTz#CD>p>l)3?9!4HxHiAIiR!N3NXTq=q>ZtY!E?d?TE_y;)XB4@!tpsg;5O&5D}no~HE6=!#O@q!&D zDV#jF7j6&KUWN719%>8@dr|wn!#!Od&v;KGCZ$Uo(dnh|Q?Xwl9*8dI$tS0YpUzv^ zODOG}6Rf=$WTB+! z)Mv%pojqIH3J%I&ifSN6+qJ@=!rXmiru;o`j>?|yzin7$Kf;R5r1Fy3Lv zP_wz6RxZ>!tE2TmvKTyYJb<$oaz(*o@e#F>3H?<iTHZr3q_kv~egN@S)CH z8nh3;SboBBK)6lzHrlonD6FfW1=|-j6*^#My#7fv2Y)Nzop$m=Z9VM=rSu@oG@VEe zBu*rm6)0-!*Q-QoMwPgM6XmOKeT1U8P*Yr*A=B#WDM`QPt%FoxU=BfW=-9h^rZD-b z+ciW}gh1fG0_&~@w*~7i1CJ_BBM#+VDl06`g&9D*Xj166H~qz z%B~rTZ=6YV0z}ZEsWD~?iZG_IEFQ?!@;0FTJSp5HEP0E&D3B1euMl-&(3MLe)<(9xrVED7lLsl$Yl%5Ol0NLLY;p?VVc)4*AK7scaf1egR0 zoTr*32NNOt1kQ%97rguuO@=Nj6(F|nnOqSH8b()I!q<`0 z6kiYZ?5q~G=Gd(Z#KG-U@kBO=k+?}0nghpM5y2W8s!b{YCl1DAqcQzEXWNE-3C3@CAsQYXldGvD{AiW4BfpJIba80PHa)Nfv@O1*~uJ-8yI8G{e$Ft-Iyw zsQ}3jzE~@W3bRYVRKJv~|8O~pyfIYo7JwcHp9Ekv1FG35!o&=Tk;P0k8E3??g{NhF z^2L77bSut9h}^L_LSl)ik4n#04Io8TRpU-AyBG(Yg=#bFGllE(cUI>6td9VEoB?Hh zb`?^6M02N6L_N~fr=G0)tQ2j_q-ZKrG-3Y~3BaSB6#bYfQhbpL#us}6C5RM>21a?Y|0ZGOHlAr4P$m z1%o>op+PJw?H>E_|L|DCg9z~toc;c!?ad^ug1H-?nvJ_SjX?@tGD3rCR?>3pLmi|k zL6w@qSJQ?_kbqO4*x{n<5({j8W zx$f7_YhiZPa@sm|nm{E^$*<3?EYx47iT1~^ zix}j$(KhutR!gM%ZBO{f?DV(Hzb{gq@Px?^{dTk~2Zpah|I<-l3mi5{U_Qnhb3kTr zM~1YEh`KM?*!L4=U(H&uo=EW3Jd7tz2A?D5yYGH?8Vc~$EO4boB4A9kr(|Kk5fW>m#HNWmdF=K2^=wTe{{c>;=`7y9HIy4{jr zf}ee2%p;7;s4@_qx_mu2m-RkPb%ueGN$@HrI9Cv?>egFX)cZ8i5h{9x#U$uZiVty) z*Lmht%#lBe$#8bp!yfl4!Dj(KRZ!23^q5$DrK68UPpRPxHKqpbcjcPOL{m9fx6Fl6 zRt?4g*t92#+?XHGQ4W(PC(3K+a13v-%zjU1A6TEtt%tcuH$C}k{>X9zl~shJfD=|T z_Eq^7*K;DZdt%DsM0xwjopBhjachSzS=!Piy}lZX+|EePnOmBk#!g>pxG&nej)Y!# ze|Ol!&LvqW$dV%`v&c?&G7Fdb>W#mqd9H5m~ekvM?}?C#Ajs*MiF!7mQBY}4e98{r`uk~WMTNDK;FSdv(-$YEw2yo_zDpd=Qjt?; zzjJ}RnG=y7WP+N5ncd9t8U$Yq{NoCqY<^*FRbNJ8TRByA4y_%@bfLp*gw_h`_D}Fs zj=q@TQl#|&?{ns8Ge zpMov#2!WzQiJx}m2?lUX3PI}0=&X;00TBx$RhO$N9mVN!YkTS!(dzAzDNXMK&zeQin5q(4`7~})rqSp3w4gvduUus&wms>G>7ALK3sEbF8 z8#E!_#@vnK7tfe?%>Pj5X$stG`YEmpMLuF+0#=8H5zY!q4!e@&z;-1PlU5@YnY1?3 zPs*?Ave{MRFzy>^%!yi?LC5BCR{i|eRk?gKNhJocMkM%ZUWL3t>p%zB#V!&Jh08O< zktXrj94G7dF9s*D;uDA$fi9@oiito?mtfE_VoC~rd;v>AobRuXK06DaJo63|*V%V` z1Seq965froRlOQq^&&YGE!B{-wN6}JZ8hXqTl7)%e?r6@-Z*qhby z8LkN}Pk#BLV;X87X9kmE^`y>K1+Jq4iBSn_oh(q%xQ=MlQiV4uRZ&0!T3$H5o{rmD z>qffPAYGe=bgc_1-Zav+K)O~T?U)4C*LO_d1^{bxo#|F=S?BHg^pUx%JP-pOT;Cqg z8VKWr8pcBbjNWCT2{eY&E)+AdIRki{Y6~ z1ct#Bh7p~g2oBSP_%;M4EQc9M_fhHb6iMRN7kLQ`mTdSE7#QWlqR-NGFrEcRi*MwF zD8N+hfjyiahl4YGo#K3N<>KC_2|P6I)ePpJ!&Um_g#9vK0EQS)GJh$eBn-Xl1Glj@ z_tjhtoX&JVv>BXBs$%N{LdD|@d57Jt)qt<&IOI=St4WwUC~!Vut&Ur3lGaK}F-mET ztMiglS_!4J2JXJqf-B_lTQk2oTD{WatJ%P&*2;0rLSM}zcuiW55XO!>_>&?}G==pD z&3#wH7>nWVLo-lNOZlE}PH-xHy^6l_8)!^v=VcmkhcIE*nsE$2e;0cp*TiF&b8h-8 zzWC~ByPvpF9iHlaqnwSp5=zQmEm4l*HyUzd(~ul}mi~Gc{mjE(C*h0M1FJrdPt+l7sa#V1Htn zU;>eo1HY>3i8!SEY5Ee{K_pUqj!_xcGl_4X$5JcGBUb%f=}b5GD{)7r7?U|&>r%Yw z5qgbaoHFLu7)rNMuvsHb^qL={y~u6F;rxacf1=T1qLVx2(wM zElbf`R-m^mH@#&A^_HdREvp#OQq^0q>M160y_L&D{?{_vBg*Y@VSq)(O~53@dp7~b zYT|U=CV10rBF18*u+@}7>cfgJ%TXfpB?saH^R@1}?q6IXuE4rD+BuBcl!8FY+c6<; zgNs8RNVJC@ampLQ9@={=55y^dShBFbz}~b-^`5c5yJ`B5ggw!=fqXdFo<<9>KqU^`cwJTqpcy}RA|Z{o`5CTKz}=P&6N2%8X+~B|sUU_QQE-#z z6vEhO=SJK5Y#NjMJMMD(WeHwlcJCde{rQj%YbFek#% zuTLBm0!K*Tm`gu-n=Wer8`-!zBdhKiDpaDE611oWM1B8gxG2MV|x43Yzw z@dG#B%FyWy=Z`*uuEF8*8?Wvg$bk|(L0b+~%s5rhajlyUkko{}NRdDQM`ud#cV%-# zYVnHtnMqFq7I+&(D{=$m%J*C|cyn&nEXO(r(OWR84s2jq$>$qy;5wvizV*{_%JdX$ zu!Nri3qe1Y!dg3qduOT;A3{HuiMMfLLA^dwu{ytZK91y6gQ0Lyj zHrxapsdKR`+>4jF^m2xV!DvptO=QHkJL%iu`dcC}11EZHdA}cB_a#F$aMKB&eJBpr zyX`z0At1u)@&h`O15LFDcWXG%48wt!vqkcDlN=l-$1Liiu;Z4ZbhbEG>V>doR#z*y z_sVOm{t3>xX!tacM#J;mBnTPkjhBP8%ALFhjf>ZdJPUA<9Mu3L953EJm7X`6j{TP! zLf&gIBeQxVP`%R3>Wy$$uQ{`N?{oE@{SmddJl)*2r=kc4b3#-0;(|8%!S!UGd8bj3 zL8WoYdYi#DT7X!mx%MfeoylnZl&LBJTOaH9_E9)d7wttm#S!Z{Phi1^P)R11&l!tf zVaZ4T_!Dy$rtuK01P&(CI531~5nKNv@p3@Nypi;Yx{jY8L^K4Vl90&YLlhYT94>GH zewYJ%AU~t4Ob2Onu*{?(>Mo)D;MCBJOoC~1Q<;79Smve{vt*zcRKum;?eW##$4^~& zs^KTZCgkB@(^UTiZg5oHX3P5n7HthYKG>T$AYNLWn3NkY9i5oujhBu|Ov;a!mLw(> z#7hH-Nrmy!35iKX@zPSz7B8KgnBR zB-g$gI@-p3MYA6o4;GUs1YxmDy*4u*98F1qqG%g+@C(!nCMuO!;uT*oG?AY`yg(5` z2Lrb!b(C-|=rD?0O3dT)Wlb2x`DY<#UGRKeX0-8a(mMU&QLY`y<^yTxUqTAWzPNLe zyloWM8h3iaSU~A?&Kl#v5{)QP-kB&vU}At_jIu_hCZx>zbTUvvU0!EP259bU-e)EQ z@Tlm|O@WE#1>fN6Ao_kI>3jPpF8an~&^K9QQuGDgDFq0nOrarU6C?wZUF0MK!L)Z; zP%tDV12k)JzSE4syf+1|a=u)R7c@E4hb*r)c#VEe2FSK?MnUbRcNq*tK|g!hX4;G9 zRJL@E)q|*`Eo}$L2YbNjl(Kgm#=Y10OMms{K>h+)pGc7*hSX9Bdjef?>8LlpfqI zK6C8W+ou4PGvU@Vk&p<&Snf##yZ{*Le!oo)Ch4+BJb^4?5Ea3r9FeqQl%q?~>>Kuk zu}P5NaKyd=5wDBwZtv}VW+mEw)3b29#FO!N<2yh9W5~MK>#fKSk-02jg7&OpmSq{z zR)v+7%N+5pXG3 z7rVU0%ve8xp(kdnwXcDRSYurXpw#gQOJtE~t*ayOM0pEM8xO5rnztLT(b+9nz-{r& zYX#gmYxn#*q6tex;1VIXmvT@UhRtTI)dQiYqd%}?8OX4v+Ro`YB^RtoAbO?SRQc|>@Skb6k}{Dj#$osIwCEo< zFavN{gOhx2*#kt&&V;U{0OtgUVmAeDF*DyJ+r%WEskwA1ERJkH2W{lLuL~!FEUMm3 zEAEx&N+u!T%UJ}=g;#MX>~rK_@OQXbB(8-+D0~caFoAeJSf4teUN1^Gri>J==ZE&D zd21ja`%D*_Ef`Bv(w5w;t)j;O8nlC_lfX;A*gs)0=!(joC9WE#wVb*jyPs(xSSbD_ zCvay;UD{-|S2kJy^3w+#l-mw-(rcf4R+=43b8V)LR+20FBOWD0)DY|w-HyXDAOR?RNxv27dAJk{=Yn4g1;1z^V+nSzdIjLm7*IC*$JBXAXv7l#1*;uKaj!2H=bp!(W%M@m zf_TLq3rue?hoM(~ZdOJ# z94}}_phM*X+y}9xZ9pDdtVNQKCZ)hhU{xl8%}n6f{Sznv3!DV5Vov2J(0bpCU61KFVou*r3K$=Dk z(dq_I<(0%h!LzbZ$-iZLwrDNV#_T#k6q(si(gFW@GF3vh=kb1$yM{!dV7!O?yEo8F zX@MybdIB7|DznsfE_Ep*%OdTjQ~`LSv(z=ms#0T(3;QT?b!L$tagoREzeoYtGs;oX zv9ib@>PFR-q1@pjJcy4ILTqp0#vqtlB0gzNrCxk z?^S6NmRnF1O)iI%tx6W#DNGRLJ%4;JG`H`*A)Fv4pqQuPl3y)lxa~Jy?+(h^2vhNh96HH{Z=iCLQCXER&uL$YsAHfC-6Rn6SpSn_PEBBRd z+0xSwvmuWk5!ubYx|J>lsElSNL>Yse5wnPX@h$M(Q&v+}dfg+Lbw8BrK8mZfPk|JG z{hW2b;3#KdD)jtX639|09My7e22dcGGUqb|mzIVcIqRLTTC!8+8YGKsC*0*_n;*DJ z!4|f-j3rkT>nIhvbW@i_-5rryCL*1H!9~*ZjUAn+r!);B)I=k8Z#cx1b&OL? zDT_l)*JU=<@!V9A;rkU+0eBe$O5L%%$U%^x83K2o@NX)m5TKKnnQj@{rTB3_5f=|u zrS8y`()A8Iw*APFq%7p=%IIVxnEI{5xbN)Cju3zk2tZ+Pzl8&2b;)2S90I8~a(N4n|)Hz*hyJ zsEQ9&!6ErL?*o6^y~{F)@YTGDjkr3QYP;`Hw1*j-v~bkMA>lv)pdJ0c;S!J#Dq{xYFob0&%X%o%c_|{K=T*V+y;OT09 zTC0F_8TdF2{9&YeE!HVpq1f?sz3-k^@kEQ74EK*07%AM9`B-}d6MV71IEMh7K(RJn zA3-Bxjo}HbJ@TeaF*}dF?pwCCHh7C>P=X@1vB!@g^C=ioMkdC$JG5&2{P`fH#CP|N zM9BK`r`Sd+;P~h@(dsql`tGBhAB(EjkfG{ZGQmwx;F>YklfHXSb*92aA!z!Y>~x|lKLF(#=| zCKeJJmj)kIzUKc@vm3gUTJ_Z|a?u;CLQ6kM3|Zw$uO$_QhJDhZLp`5mu;ePPNQvLA zL&pd}XN|9Bz{42OpBkeHqasKX{s7|C8-~uY*3uPSTaf;Q2Fk$*M=bpgJNkS}ehrgQ z=VWR2)!gMy%f2Ubwdm|P4cFb<-@>q*-rJWSiZpCS7HYx1eXHu${{tERAMTasHOgM8 zRI6xPp;&llsxL-CcZOE(0LV-oAS`ktj3G6M`&NFA)kd2{sy-84jU9b$5Vjb{-_r~L zvfjoML*J6mT#X4Atn}fz)yqt(rxaK2-N`>I=8^;UHkZ0y@^=ezY*S129CUXvo(zsRy7c{1MwetX2eA zZR>|+fPTCHu++CWK_^_(j$~{1IBU6Y@c_JQQu{KY4nakwBR0S%m_dS+&6r)JeM|N@ zd60;Znp7i@$;`>FkP1%WO$+N40;)3%@n{yL z@19f}+r>E?ajP*}-RSYvi~~tJPh$BBW-hC2tmg3X4ffzoEUjZ-@GU;b1+8~oe!fw5 zAM6xU%@^4WVIgfzYxa)hMotc&tdkHNbU3sU-1iRejYuo8e6bDg>?EIrb)`F*B$JYb zCtB0c!pY96-D^h1l{UxCbr|ItGi(b66b0#d{Dq9+2gcVD(=FpHuwwyU|sNQffRv;v{&z! zqTy258iQ}&xW26y->@bbw<4xWZghKGSGm>FPS&^|^oG(TfR+(xnqs;O8H7+43kHqWO zI#Yb>mk|-Q^|bFO@+>`jDxtASL_HnH0i&9z#BRekHGhfSDqgOnDNKw`>%*5T_=R?V zfc3Iz?Wv+);1=YY@L^{3S^7bpnoz*ZMf|qmK;IJD;uU$8^5WZL`X%4Dckk6 zN<`Gwi+yY+l?YI0#+XzpytbaIC7CIho8!Bi24CO$2i@YpjaoOyESl0NxSnN32*|IV zW&s)56z@Vp#l(x#I?qVh1*Y@N^J4D^Z;IK3F^C$6iW4M!>-+Im1n)UFA85nGY$%lN zS7yI9fK;_(P+CTt4PbvY)fB8lRZu@tbB3!4t@d)A%uYmv+Vd@IbPq~Wol$aQj&XJ- zB2uAceh?~+5xH{+#g^rRP;Xg22ql;0gHUx@J_v=E<%3jvg4||WWOMD{PTOgq*inh_ zH7PZUap60$L|hjOqC2Ue`qwZ~*JbF6eWy*?wQM`uQo zJRQZEM19EjT&pu_9VfxSR((jFi_(m3Xn7xk`gm*ts=12lL}#F20|C9K)oC#56tw?v zh_g-_ry85GF@3s*0?8!U7>y6nX?69KB)wW7sIJ!YAGo)Oma?g7Bpk^k3}F)dlC2t1 zA|m8H8wocXDAwE2XK8bar_xMe3~2+OA^%z`@0ncC!2}(m2!i%4yEvVwW0Jmie+vQ}>|5%3RTI?jbsUkd zh-&^}-;MjDxDK@k_fZF-AG0;TStf9J)DXl_;ultQT|TBio9pUzcgSGhXJB&E#!ksoE zn5{xS;jP=_3=YKdUwrG#Eg$=GnrH6pS)Q?N(dvv;w@mcKe(jQHOob3G4gbFfr>H60jN&rRBiAyiZ{jOiOoN>x@MxAr^TL~)(gZC+^$**BSh(5fgD`Kt(FS)Hny0s z#5zyLRUXMqM(6j0+GWVqIj@l*`8k?%QD-T66luHBklJP2zJ`4lYs6n?wZt+*_(b1x z{0SQd)Chhp`39Vu9_FHXBhL~7aPoYNw~=QF=L}!$Oy}Us0e(0JCp^cL!^^YHdJc~x zG(shiah}EZ=%AAr%g?d{Sf;gOTF>Is0cSCwoW<|LBo`YX`upyA1jDi}SuOJTYJTZX zCKXNA0Nuo9pyk%{>)eUi9kHEgo8HRKy4Y)A0ylku(BpB-PFVI>tI!u6!ielq5L(!Y zMQ~tG#L+D6v{Sp#hoGXZ_IChTlSPO-W0zI|X2a)OzdMhv2Y--Dt&Ob5jdj>M? z8Ze7=3cyzdpzs5YD-ndlQi1~VL=)sYR3 zy57w3o}7hMi?9m_vbR9gi27SkW{sZY8V%onjRfFco>$5Kb^~{LT?HI!(&2LY5Gk98 z1fs_`c`NpSLbE~GcQ0@ljXDU)3mMx@WRCbeLoIAzG8b^^S%MXeAPc~9Cz)Hh1FF+j zTs(8qE<_GHLxf|zyW=J9Oxm!|s0$_ns7q^~b!nx#T%K8%My|_~dHYpy0x-^ilI7%+ z!@OANaq1$V0lv}NSc`bBjlGEnK#+>Ajr|>ev9Ssx02HGiUPFq*q1|CsgGf4%zTjsp z#zgAkOj2KFQU?kO_9gEE@ZDVQ7^0K?6r^FpQC%I8DU=9wNSQr)4=WLT&9S=cmWfJq z(}r3d7>w@<7b_#ACmN##99 z`$7oTn;2Y(lOSXzyg0zHNL-wLDMEv`Q`KoZcfMz^JeabLtDes_3J^+Pj6BwQoDkZI z4)j$L;s``=XpwHkRfGBiM*RfLB8<|RTule86@WsE{2qM{)WE;`avC+a$deA9a;7ID zU66iqunGsU8eJk0KtYcW+;~Dav1#LJ_|a8K=+B!b@#jq!;YU(Rp;XiG$^*Bd^&_s- z?tXnpbvocv3@D}gMbOB57LU~=Wath$u5f;zpK<(wA`e=mD6}w>z>k^0ar-Aw03PZj za0IIm)6mjlI)ZISSono}94xk70giT9;jf2HRP4X2S&5e@q&<3F;kSKOU^&g4}{ zKfQh{GVAvruHP?m_S*mg@C*hN4S-{ipQ8v3EGVPPQNO4N%hjEY9A@t~_9nVt(I~q8 zo30Zo=&kJHK0{V-avPhSCJ31~x|{AHR||03438UCRIUGx>Li@G!j`|Jz-->K)5yWh~gp$u{dqE|3LDyobBPB zhbrLcX*>KM)<>dy9l@jlHG*Kg6{iO6yG4<*F)RBhswcCkL0r_1UP2BNo{JjfENTtQ zlpKMYNV9aSD{R_>6~oHxf4%-KnQb`T9>x~xd^z@*n3^u9no^$9ep2$i@SlWE`fo<1 z3z(AgnUZ2j$->VZl|CMnpz&#UN5wF-sC}a<8AdFXJk3>dt>!U!L`R%=cn`S_#NwkJFQf4vK)nyQ&b1hweSU7=Z-_=hn5SuXsKc9~kGux1Ydf>ouu z?Q@7jrM{?BFdvK8uXd-{@p|$@N;XZC2$AAZ+tK00i*`;nNFoFeCOIb6k(EetpD9hn zAVeZ98w{eg5~_=aO@sv?abo4cjx2#xzT+*34PuU0 z+MrWYOk#w!bKiYG;HNgvya9+pP|+Y5UfRZ4&GVt;nsG+1&h6;45JHGk3!1zww3?cn zR(MC~-doB|K946MS&YDRz#s$4A*Kc-N&aB99U-=NF;knJ2RPTUWGg6jbP6nm7CKg{ zE!3Gw(qty-L!R~QlOzH7ECWiCDDs7LZUMr0tj3`IOgBp}H^=FkJ+L#x$W904Nl{j# zdgTEPv{2IVC$397j%fgosZ+v`hBJbXi6_mx^$XU_Mv0>hc4Kuijw=k%?{KC`E)FwY zy%iTycoS0!;yLlDxhlD?x-l`OHRns;`a!<+FUF^=Obc5A`A(2unGOwk`(@_`#zJx_z@U z`l6jh5{_a~vcjod{tmZqAdJO~g%=ny0%3I0ftyBuL1ONV^Sm4>JWhZYboT%xw+;jxO4Y6hR*0 zt4E(wZ-6TXzFO;3O>;63#(3mO=GCCELVB{g@z>LVGYHVt;I}$X!zLnyfTb!jn$&>} zen6(^M$S)bt#_NO_xvPm*u(cOo7Hy;*N!V~iE{U(dC4GyCxh4@Vb=PtE)a>Qj@eo{ z9EtBa6Hh@R4qqvM7bU+pW~(oDAay+@y7Zwoc&hXLz1rX@vVn1Ff^J~AD1;Db*rveA zIjI>ucSq&>`+jP5Z=y=Zx4iK_#WLCUolo!WmDk^~2Di&X^Qm>ov@g}I`xLkC={-C& z!A)}m4$&de!^->Z|CW8QJ8wZL3h`B%0R*jqnxHBer@vO#X2k(zp%qGiOc5Koh*#No zD5fhg2$%1^QZQIoN3~dGDO`x$I610u-rdW-9%>w&_8*akPF$1${}=J?J8==!KrJ9t zB*EQ6kP4tlph$W(67-(4EVVf0a%mvho3S- z^*555lEO+jF?1n;Q%VYO7Oh)K0M%RRECEp8Rw7tJW@`$ZY8IH90;d$DoGQ~r8;R*$ zggKrdLQS7uTf0p56xP+E0pG>Wyw%;W(7ay3NGT|G0S|}R8Rm;6M$U7 z)PQ;(c9h8Vv)o+->j_GJO_gLH^X00Dj3>IyOl&|yM!+76Pp zn}*Sc3DHcvN3m;~R&Rs6G|4IZoYk9X=KpfbqQb!(jMU_6EPx+URR(Kec*S1;1p3#~ zYqYUH6U_Cg>Pf55!$9Y%&!y=QHGs&h51k%#eP(?|C}oQJoV-WMx2ezJT%Wsm?j(;6 zg07+VA{zRG!~*+0Y_f&DASlPtY*=n`w)>b>r0g(>(_CaXDK^qCFy})h0s$RT;@D+| zFj*W3!KXsxk-EeWi#XvQX*d-SS?O3= zjYPmkKp9OXJTuXr@s3?&IA<3}>{G#>j?3^@qm)I@*E->HVlEy1H$w}{+05MGJTdb( zSuJHv)|)KNFcez2^~>0J1hG}eK_SpW6PB6?0jaAu)=A6K7vGKYVa+gKgw)YwT9;jw zS@wBcwwSc}nd(ar776a1kC!?Q`Qq$2NM1>WA$$U7p2ZV1WOkNI{g*_84eOSmeN6`o z2WqzlwTm=ae@FNJ2aN8PXe0KoV68+}wG}=`ND+qEL){psFk3|#n!PyWkcM@v;)o?4 zsTR$0lL&X$$!fXj6K0f3mdj0ai6ks{eauc_f9VIo^xI_v+0s&IpL%jgRWj%I@&0IoSZ>3GQ_n>*tU&ah!TdKVRU|5NQ zC&O!B_XfLAz^TFFqkYOhIXky}3K9gccDqO<5|?0?;(QA_@&)CIBVSg$$v}f>75i0)n6LH&5JqwX zlS>e?(0rrC0B9~dQ$Ytr@_rR`z3y}Ov*LftF{ys$Sh zua-tT=AGSa$K*5Lu{ToLmE;kS)+yW+nKnM;B}7`){z6DhR@fXdAJDKb?E^M_?vRKS zKpRDS9-KeSbSRP5IKwdkm@9DFr$4G^5@n$lQa?0@SgG4^Ju~&+DPok6cCY=<&(h@f zhxW&hIMDQDqS?r39u{bvJwr{6aUPuJmYfuWez6CfEOtj_Xv{@pp;zaJ0tfZ?*pIbw zGpg$jae3zu=!xI6c0~6qurGaydNGYd0~^Q_ga#&0l$cFhm2}`8fz4B3%HMDWp{VZu zUtfecs^|MGLW}`4o5E{#tGvnVyzFDDcNTX{I^d}cDBUp}fnJWjFobTq=t|v!Az&2N z>#>GEkpfPjh{fTrMdV@YX2&$&yWI(wdBqH=7~}7$@|-L^)_u@uWO||G0s{ z#H}}V2-Isg(XL=v|O}XNyPy?Qg%GcMu(EQX6}rgbhHvtL2`8IpG^*uqmBgk%OY4L zvqTR?b6>+)_Gdys0LNi)TRhqYt#`v8<4#tV%m7!iv}B}P6GlXx)yCub-o->G7BbB8 z1p>vXJK=7jDZ9zJY6tB?0R=k~E;2>0+zhyzf?JkDHSt0OAHah<@9WCj;AU%w)duX^ z(5$CcrRWyZSov5&4%&eaxv^9?cJ^Svs}8*VEydJ<4KN3LQ)5jBR*Zk=Q3LZ8!N8qi zI?W^beVq3u;3A$Z@ z`eI@yMFE{g>J8<6S?CSg$1US^C20LCnb8q8y2E8y#su>ZV*bD{S%{tT(kpZiah}?Q zK-oYnaF|z$p@nn;A*Nu61L2WO-1nubT!6A!TX*Uz7ju;#<*A$Wvci%V?Seb);1wz4 z)kq9NUi;hknCFTqu;q#~Y`H&mu%NN>MYHs#9Kms(9MNfxd&G%Hn2fX=OHP)~G_t49 zG&r3|_f%XJDgq9%kXXv3fARshR_Y`ze3LUlCo$*?0@RGfVrXsIDjU^TV=E>THRA3U zj6HJ?;5Frrw6D|`@bxzN)fK8@CLn(S)S~J_KBDEGRWAHu_jjE;E&Kcel3O^=>c&Bi z=)rLcSh1z82JNeGKd2cnVKREaE$eT)#juRLZGe)n3JCIVJ~mOjMd1erdTaKC1Z>6Q;UqrSUsMebfIWu z6m;leGPaz+8N~|u)D&AuPs!M7{A^?tkKpNb7Yf>D5Ra`vdNQ__z!?QyQcO=xF;eD0 zu^B(R8AT(W4*kkm5!!?ik8MMGGPa$-8O09y)D&x`r(~=JKYnCP##-@oi3|hjQ@bs|@#coDXg7jo8K;VpGf_!R{V{`BnKt?06v~nJgg^}JAtHR%$ zWNbcu=5WRco_@_wHFy#w*5c_~7m6bEiFj-=(wk!S_zM(E@w0+6F2~c0crqp0T#*$> zPsUc_uRyz6J~hQ2!4pud!O!cAVlAFNb)o2F6zhB(3#{t6T=@~J7-N>9nyZv2!WBSaWaH@Z-ee=8nqM|v`56FB}s zp5;?htc#wKv2Og#WfVPlin~zkWfXgno{V`gJO~uI@~J82rKe;pA3sYOMFE~(bfM^B z6op7n#)=4>sTd-knqq!>O2&rar-f0Bz|%J_6m(l>Ja#hDld)m~XB4C5Q&VgVJtbo$ z`0;*2ya?dw3_O`e&1Do5ke=i#oCJ!=lo9`$VnKRJ^5uXfjA9xRZgHWY^Jc|WFG;@s zMWC3WQG^7FS@@aHDCXelF&7HDZyUmlbSP&6$3Mukd}^{H(A_l+l-a8Nhbt#d#rbw^ zG9&>-z67}Bmcxy?qKz}G%>UL|VOrXZTdU>eI7y4F8e~|Dyz2@9iA%J`;HQqxJlLGH z8tJpVs;tS{j>jG28H!g=dGN`%UlI!&nCf+$n=4JHF8e)|N(a`E3+s;vL}cT&EopTU z-i}S^#1uLr&kF8eSJ{JOfFmGLp80;O%Cg%9HoXT&3M();*>=M?ZnrIAzEX(Z^sI=h z7%_d%qbCZYz$CDm8H7Jai?B0#gtn?4VpD1PTWnQzTw$tvH*Gaw+kZD7b6qmt7dtI0 z^^yY=M}9Ep-^~jh?KG!vh3Q%s3u8dzIHy)S`nZg+YDsW1Oycp0WdtA%I*LAO4_!l) zawv+X^v}Zn+eMU$HHnUYWNkgk&GMEsei&g;GZ#o(OIc`ECRhH-W!)vp>X-}-l*w5w zB=;53cNUVlJ{QNrXL6;eLRFa+TE~SP!-e?a-a{|$?bwmEktrsD#KTvUUBCn_6khTI z!b}AFX~R{9I0!^&l#6k}=`pW!KXXAblNbtaFo!T@VIG!_R%EhnBiHK3+{KDhhea_< zgR{KIcXtWq%jzc7&Z4=+nl+DPvSte->BmSEYgjpS*(;8h4t2iW0cRdy#)$AHEMXh~ z_lCz8f0$b1APPKA45o|dlw5(_q$tS~GV-6~l9vC2r7CHW&F|^>2{*W%rfz0YBfypF zNT1S!W4D!lffqORDsyyG0kFh(j@;q`=FY4;3;cf+bS9niSjgUvnc&Y|8Pc)W{hwo} z(+cs=g+860=RN>?5WY=2A661&a1O-L(d(KL~shQ1yOKpWV-dwBxKF#~b; z;dx0u$%;CX9=V$WrzU|1osK{-2;ff3YHYKmyadyp2iUrBOn0y@cul@kY@pm}SN zko1(_dhINP4BmY0jf6PKGxl9|UP6|P6k}%jO|yI%jhEuL<;xhn>``Az@G@kl{6fnq ze^p;57~qfuzq^9G6+B$U!9&VzC3-NFvJ)DmRKRt}a z1MCt{3YV^S=hMT9c=!Q5427hIZa~=;Lqjbu48?}S9V{FT^pZN5MY-Gl`bAEZ9up%@ zh_}N)cevA!V}ElrETC-#bP*FQ6Y1Tt=Yd9~_JQFry~<{H%j}M0fnGohe5btSIDwan zcI2H(XO{I@?y+3%5D}ti4cEZIDdxz zi_gj@g`fluF@UENJ`)#y!ELcP=CubNC#o#Ctx`W5ysuh|#TdC~MJ_h9`UQDMaf`dZ zwcSNB@1RZiAYD`q#ad!FX&12*Mq&*xb^g?ltY1%F;>61xtjL}tlv6e>h_Ud8y5nso znI%gqd@wv|?RX32V|WYNtDCvwQFqO;Zv{5ZKL}(+5k-=%5aO)*rfET{fc=-PEbQtl zdTtkbig1YL+wUGF$La2la+JsH>b5^uso2Kp4Grx_4#G~mALii@K6H_DG~LDc#tNfG z)9q)vJF!U;T-MYk0|iL;biB)DdqcA&(#ID{q`n&7@|oQvxRr|e79M_6%y2G-_Ln+W zwCXbfX@xatUoPm;gtuk_p2&bd6oABVkDb%>wXk?m|4@E^*+zzlQJlpivZx!nXuRyU ze|x0jEE_zrRTx^aa3;G%E*Mjb`(oBxd!s!IefLDb7HH45T-Khaprlk~!+G>`Q^Pd+ zxxQgG{an=$rJtWQ{FZ*o8lIq^3mdl6&xD3H`WfHwHT|5`a0rm4PHPxRKO-6@(9dxV zm($Nt4VCnBSi=(f$!~a!e)1Zc@Wb?RB>%~D;TB?|%3Er!=2Zn0z1!0t2U?@b@L(bi ziZ-Fp9`qgj+K*p*_?fn!_|}u7lOGVJWi= zmY|<8S05wWV_PxyreoRWVG1IC zK+T-LEHp&q_Be9W0&dVgP2{HANwCjjoHb2G59FSfSG_7&#G=%15m$5CG+TslEAZ2GZ_rMFXhq*yNX_*{OZbggTtHF zaUzzwrS|Nop;-nt?b3B=d^IA1tO?wD2}6c$k8R@&2zPy*??}q`#eRw$cyHnNLSKxo zw&5JK6lmMY^|A;o1-5~<3qUJbMBJF|_T3`ZOgHAK#CO`lwMO@vHOz$YOU(C<_qf(< zq(O{C_+(qigVegZm!OJBa6bQ7m5Hqto_W*gnm}L8pHV9MJ!Fx51#|@wNP$_eNcoyK zz9Gn0_M*v|q|gyTLA!&;C4Xu<1J*60V#`8v37kUh4CNace3JktBEmS5P7o0GgGVrB z>SB~TXm@R*>TzI(Y)sT{7k7{J+6~UA9oBzk?TY%W-7#skTbfxrMEan12WG9^#?0FN zjlp+s=XRmZoK!nOfUI4Ss@ zjY$I)$|uFJMH85h5vmdM2M##Ff!6g@Co(1%(}OxY5(QJR75Y@?R2%!8AT56K$P7ji ztH|8|7KIM;4#slt8MkZGgM35u;V66nKkNsdmtrRF;9}ZgZ-s{8JDX{Sb~@f8XnzAk z!D;S*jL=K~hfc#pJ9HC05$)LfqDTslmss-!41EsOWa1yo_#b5a(xLWKP|FL+9TV`x zJm{uL170DUdjHaL<15OoyJl;vij;ljZLtjUwP>0yAsr(sdE_6^yOy?_3!(@xo zq0?4(&_3unmL1(JVjhK+U6?rpK>t<1nkT19z1V-2!W_o=wV(KUtN3a#Q4*1dFIE9`vRT zz;7~u=pvHjF5HwTc8p^W3mtb9Z4ibTl2+i|OUa(-W_uUtFRb$_Y^3I_x0W(@0jXUH(L zwFvwa%`ExH`&+zrLSUfoyYlWFkDZV38jNv_uaB5rHqeJCJ8i+h=kG;Zrt+Sz#}DrS z5T<7rKMSj~m7j%Wz8%l#UKlo67=R6K*QH7vI<+`F$Kr4t&mfDr_QI=xp26a~lVfsW zdE(HX_S~>JA%^>2fAl?rYa8Qwa|?@>mchSKp)~I`fK3dzMgR(4`dFUe^!5K?DH8#xIk@iuy{ZfL z*)mKfu!-VKdR5iIUJ)vSxN3@cmy5Vm6tPd$H(k+J*-1ob;2{SF zy$E-6StzVZH5ofOV;hgAGLUJm<_~n`Kb5FUl#sEy@@|->uQ#z{lKa3VvMZH$A+W6* zqr2!!RCJ((HR4<4R<cx|i+mv0WXe0u;vBm{v zLm%G9`%c95NI={LznX^(q^|9F==cDCpq&s+v=AH0yV=LqHIl3^IUMZ{+6%Ds!rBCG zt~MB+e0&N2_22uts1jbH>SmfT3l#)W8V80M`O0LhdRA6uXlma@TD5_Jf}_e zJsNZG{u;A2Xg~3^X-qmXN}PqK8WUTPk%FdrPc~*N8gsX9%o9E_jp@u>h+WXoAE{`Y zkNp%|?A&Nu*Pv$L0YlNs?e12_jF@)3ck%g=K~esIc{mP_9!h%OTxXC&7l%1hRn39bi4kRioTwGK)U42fJEj-)a+m>j0tfk{`>iK$egkpWDp%Z1_H!3ZbFd6!Hca z@(d4!a*%X{d$RSOk8{1W;9}f-^a<7jpr{=I)RH1OwK!N%bf%z4`~98SD@1m8zJo-* zZ#YyK)_jgs+9WO7Oq;L!nV4GUIjJ59dT_E#W5#SMOqHf?x>RTXf-Bv`gA?4e-Di*n zolX?pN~%TpiVHBh)7y`r`Z0zLj{pdAKOj20JI5i*_Y3qM2l{Ur{q+Jp8vv=%Z0tX% zyYX)`bM?o#9kfrExlm}YtcnUx$PKMl?YBl(Wf153dc9C=j$B2$td|u7HtSpkoa=8Q z7wR3_ipo)Cz0iQDEU{t$y;H=gcn`HnkbjvZ3N9n4*G&>x%aruINotiz6pSlzy&{ty z&`A{*<%;X~5P1SAX|73%%cN^{QpKSJavX{VQNz*h4zIn;ymO|QdgqqFwb=rNwzn%DW%a`x+^@Zz#T=WVc+sVKc|G%D z{ZoXP&9UHQSThuyh85$2L|_=1CV0p6{bM<7I)EO(hSekeX@8vkwp(`ei*zWgsq3bxHtt=@jWPf5{cuW7^0+=lP) z-0yo!3ORG)Ru39AZtZo>W1+o_2!VTrWueVVe*9W~Ugxr}=CZj{iEf1bNa#jifU#e| zy+uEwgZ#V6`UDfZPgzXh;3;A+pX?w1`lqZlMf54#fR3Qk6FO7wyIgL^UrF|4on00U zsK+d&TkF;~BAtw)F`9I7qxi!Tg&tI)a%4PLS;9W z`911o3|>A{FBHXV@16N2wQz;ws!D!6=GrxI#ctTrd4weyPGs z(I@hSqPRw=FBHYqqOdjKWsU-)D6Wsy3;7S{t32!Q;{DX?70z62`xy;)3Q7HsNDT8H z=B^F@g*fKm57fUA#|h1Y#mLmzY&+TZw@~&pbPy3_ZQGHR{1t(OSUsYn zW)*(h{-el93!6BMuyQTq>$LwO@%7~E;Ly&{G_)Hx;I_k{yTbG~BWT-?3jv_k>$m}P zWUP7Pa0QI#aQYS^A|wEk?Qd?)_1F!!;ZOhD@#ouxxwL@P@rv-j;*u{6qZEt&7$kKCnb`aoOX%dIMDoF$97Zxz++}YDMsR?_oN)k~uV$3Yu|DFb9P1m!vgk6} zbwP)Ux7r`aI0pi~FSEY|d3vpLT}D0Gdcpe78m=m}L|E<(tU@t$F+!U3{G#%v8zHMV z-F*8^kXi3^vE?78?9qv1=%hDLDnNtwB{<@WsJ#FlAdKyiW8E~uDiSnK)HIgcKX=mj zMkb9ESrfE>CTK)KK*BWL1e&g%eccR@hY8J{p1foN8 zYb{8j#{rEXr$1Bi#X{7hT%Kmx(PEH`zaT~QK=D5Eg?KAuUX;M%jXGiA$NH!m6~iT3 z2aTYTX^vt_CWVVdS1#GlxLfTj7qDn_6!HRPS0XYD?E{H6?ty89h?eFJqDDrv>oJy* zj^9B$lG(ypvAZ%)52~$pu|N+lpKsU9f#hvTgKU-r(-BAWGfPTxNjGyz2#;*TtEb~{ z_@mKag#;_XTi)-V)0}|t2jCrVd}wKMsCO0p0f)E;wAOGnU1{CbvR8zEWZO40ZG$;u zfUhMYidGUuq{vO(-$vm<`yI9zi&JAsb`Sy~7I`N1NmX7+|H^!pmO^qvq+lL%EQsM6 z&hKl);hw(5$3wedMxarlPV$?hQMP8Xs*?$uz=Zib24KR7@)G5(v_cLw1t+X8)(#jI zLo`>H;9?=&>t5b&jzY@WE}6<#h_u7E__<2HYL<%{143EBMQZ_!q^1)QJz%h|J zNdzFtI=f2Mm2CGdroBmu1XpR2hX3)M!mxO*vpt6n~^YQunRkK-? zjPqB<|DR;^k_zwleM;Sc*4-dVEkNeFzJ(){f z-59jL;4!)Q`xQWyi3bb5TVr2=@x;}KCRWUV(@OmBfQsX2__~mlh#$k(NUh#tnX+&M zlY9Y_>}TV$V;f{aD!RGzxVNWHwfElW7y*BsiDxL|`I_wlKUJNEYZ!^}*-wW3jd`pH z31Kh(NTg``X=;BF-VXL{*p8okG%Syx1E2W|iotDIoA9HmK&K&iFAi-c0^Gb8p`dp# z0U|^~9Z8H8I+~=CK|$Uhcub9w>$an!id^AtI}dX@GL%I4=IvFY`Z>yhHbNqTp#)Q+ ziw$#FUa*Yhc>f_wu@|BO2uS8nao{25l89j;U+r*yqJchCa3W33+p$6gRcqU)%%_t4 zATf19pFks+I0EAJp7!v0_H`AyS)jGS9ANAYd0>FC25wfCSV)9Z{$e!`pbcz{{fKF8 z&%qL!)jkrVIYoZO&cQdertG`#5WpzjhlUYaT68sNui<9TWwic|wU8WGo>*1IT9WpfA>ly9iJVN_ZMu1Pt1g&7u zy9B5M>lvA#vl#R;0m`o6*PG263%%S+V_WORAsaSHR1p)$~In56dES?~$^iB*Tfu;N1q`>B; z32Y_tDGz+=)O>oJ`E)Tv6WvV;EG%pY>_>LdAEdy3lwDvyatdr71vY53PcquQJdw%} zST`u$lNhvj3Q!2F!pZ{c2BoV;gZ9G$lp_7e=S^agO<>(wH*?k-MOGGAqYjl8gJMF% zV`kT`8~(L^)PvEYh@kP+)KJq?D}&*b1`)2vDPsXgbGO?k&Q)3qMCC3R34x>5lRY5c zzW#pEhP*1hXiAp{W^%{5pp5FUKy+);SM#Zz$Xf2v4E=!V|1(+y?IeADOa$rCQ4XST zM4{+c4!UmEbfrL(rav3#j7mopJoC!z!>(hamg-AI_0{!#p^9`e1$eHOiVAt>GHhaLM`xmLL^gU*O9^5h~5~qZwtEwcA9ST-v~NAp;k@j z4G1+w%c2L_CD&*}p)B-(s*(Y%2-@ceP!>D7MzC9H45kh{8vbhe<6AbpG3AfsyPe`{Ol2O1$48hwC=OdJ=oZ{=-X^G-l?dk3 zetG;Q{a4+ErJu|yx2r0L?iEb>ov8K1t97k;+Ko++0v~?({QX7 z7mRh%CTW59HNPyhfe_Q;ai^x|en$MkZ;75_ol&|=glK$c_M$;DMT8@AC08o~LHlC3 zftaPxCI|~3623l@U3)cok1}}^m^{CI#8qx~b-CGPvOUJx4idG}0@I}g23-JEm0O#z zc_mJfYJ0b|u{?RtSc+P<%K!kt7XFu`WXb&9J zELUX71cCFq$-;RaRu5?Mqz*?(ox-t@8>#HgX`bB~wR#{pJp&gYgvAnzxpYa1AQ8)J z6tDYZ=vr(`f;$0}MRs(>Ul8fb9O?ZAwPKIX%;BEBksbXNz`+gx&e$X}UhYWmH>eA- zqrg3=)$El91;a4@@?Bl3zXx)`BgWhww96$1_(^aE0K$e5_J(supaUufl5Ke{ugK8^ zPo4u?43*l>ja?Rcg(R^b^kVLjQfcwJG4%g(?imfxEBekBac`L1=!IBOd1EIDZo{#kQtw3JrGmnXC3Sz})k6n$W3ZX2O;ZRJ42{;Vs4Ub}e!`OV z)Ni=IFqPkfWyd=SVwQd8Vp*{!N)E1vfeon3=iKhtphay*?ZitXsRMk^TVLcf(lW`+ zX!RGKs!uUL#WG0`VjNIqDDeWZK3!}57dijSNpevf5WWrN0RC!#@A=oG@8^tdc7#&o z4whre2wm}kAO%iI9y8=pb(JhGcX<@urKi6G!H`S@bdd!1KRFSc4W5HCDHVd}0m?~| zVT$%~&T}~@gvk1@>BpEk!?T4GOC}^H)War}<07Uvp&5#V5?u%31o#3g$hj_%xZ7iGEXZ;+D7oX9ek}GoAbY_!)9J11`o)4SyKA_+*<-kP>hJv9tj)01_>T*NIrou^d1 zx2Ek6;L5756dn8C-7ylMX}s6VECVU>YQg#0JI8XCBPAlgXoXLisJim67V!)Db78~eX% z)Q4%rx8)SI$NcEB--PuJ35&ygQA(8@^QYS-Khr}St_8^C&~;4LIHt=lJ;~rRX2s+l zpyRWMK}g|gx-a$$sTv~xN_PLKdm{5gg@?BGwB) z(SP6_cUI&qV{f!kAnkh0@C7KrsiNPK zmX~{Xd^I!?){_4SkwZg}A?F2V>t>!4`FY3)k&RhrVgJOITJG-7qREtmqk;BPbp=D0 zR$-mv(9xJFv0*exY)C-^n4=Z8s(xaMq+=z6_D@8S+}S$9NW%EnRdQ%0_GVh2m5ipl znymknTv`e9&HB8g>i=WzUBII(u0P=2kVwGjMhqGiH7F_wDk>@n)QGG_1-k^IcrC5B zHC~HZ#g;%Y31(fRu@&#OBG^(d6)j@C2TGF^u#JikE!Kch-`9IIOLo>lH|Cr5KqMe zPeD8ki2YD(drKRkMkPvf6ThSYNR(tpN))5NbUAiL0|$5K4EMcro3tn!eh5A&(XRid z*EvePedWAFyeogM;2Z&`kq?9m>Fkqlou=x9SHC#Bu7GDw7&^SP;=AGxafJjNr-F|f z2emN97oTF$Z{F}{0VfwNl$1dm$#<0IdcmUziUDnM&b)gU?SL-PCos|!9aky2VOMgR zZj;~IYM1;rEz0pDSQyy!#4B2T*tW(?H~Dbw@!{Fxpy=}Rtn<`2o#7gwwy!43asJl2 z;$&Yjy6j4j_QgOxJBCF8_yH#fHA4bCeKycPE~&SuTq9o>RgzbPxX>q{T6NP#12qi& zkoVtUDafywB-%#b+%KT*;{V|xD1&%nQV!4{W>mO6iWOWHn|&{%WP$ASfaksC(Z+*vUH<3gvF=WARs)m=s<~uB1e*V>&A6?y+zYR4)o{p>c4pF z=s6?3;P;)NvW6W0Iq-^DML(COpr;OO*b@W-Cb%#TUDIO0;&LMo%F8eyWiT-DB`xcz z#Zn2q(}%S>tmP7W2-B_bEsI>@q~BTZZmjBOLyjW7%6ZvG9^C4EJLSygek>nQY6pdC zZon_Rgw9ncw1h`}W{%pMWf%*U!UJFCz6z&Q7%K=wY!(Z!STN*KmN(e zRQ%hmkM1&frr_UhZF2erMeu*Yf2*RAFwVo+mywM6wa)E4r9->*w_iz{Vq1h~v6{?6 zw=qyHTy^a`1(d5=a5c6)6&`{BFJl)D`iwxGp z3Gsy9%p;+Wsy{tLn`nznlH!uxdk}WScqGTct8X*GL?joww-muvRp!HkWB6bVGaW^ zLC``K@eO@xdA>79;6bOid?u{@Wgr>Y87qjlqJ7MJ3(i9(jDEh6CYw$(Tmxa93FYfrh+DtE;LT+Cky0?|DGoGS-EzX@9dwPaD=m_ltXL3`ubZzNaMTu z>thE2F?@`}RK59R^FiO$GUtQ7t2a6y)Z@-R)fA)e>Q7HHADkdmLtRUd2a+^YIuyRyfcu#z*70L5{yGtfZIh>FZ73{DF42wd;@5aQ!XY}Tcce7_Kq(cGPHCwL5$km+RRpe- z%@xdxJIjrX1ZP>6tzWX-+T&$2)-f7ghK|X9#iti;?#51% zCt0B-=L=n-M&Tu7ymerxt#@RRO4Eu4g(At(@39MmV#QHxv7(_xT+itZ)eLeV`Rb&O zK)KTPM?Tt~i%XueTEZE!lgQfl;1B#A1}#FjI`JTD63+^nQ-gsoosLWdVf_jIVX8Ga zzHaSjhXz~ULIhb6DDCpP5%8?7P&_5*R&V*K(*12#0v>cULTPX$Btq`DM}MC_=(8f$ zUt}3X^i?_DoE*CA3K2Cf3v|!(v%n|%rAqYps_VKS9$^{7Q;*KT*Zs~JczJ3JM;kk| zjv0E|D}7>2=hh#Anl(#n$_&bus~Zrq)(WkSsRgEl&>XJ6q(P|`SgBJIW7SQ6MR;|0 zyE7A&;4}c-r0Bb*1uY6p+!#cPMkCSK^jkB!R3U>nw~MJZW?iX9_N zPx2!lOqteBAw|jMZab!iuN?NExqBRyqtHTkR?jHP!;flM_)7S)775J$M!QLb-mLBT_TO8O>E?n6#TVQ3+ibQv?#P$=V zMDk+6kn=BME&92#ALK$V-5-fN*IQht=PzD!8`y9Q!R0mFtWf9SAMUeD*hj>hE{WQN zUM0|rJbsxbp@|!Y5sCI)@pZz8@##5@RgKvbTIb;eghNLCX5Kw!7$qKE47;^lqvs1H za9G-d7DQBza71PF3BZk5Ybr=#V;}iOCj7QU@pSY6yoFy8$es-F1|5_Jk0zvub)_HP zZyk6vH&Xpy#5gZVggnR(%!g?nE#yrI=Px{yKb3s>j_C?I2PboWbXa<0f0V}ly}*b3 z1i)<$w_!&2W<0X6X*)M=w~n7S!La2>1T$5oA`Y8mD^o#ZbZjqxBEFR5;mz{54S%^O zo{|V-Byh*0QG9w10%$48t$sU?G4OAT6lf7|FGSPrR8Z?Bb$xOy;&aQ-Rzl!x-z1-# zlKUCiDe2JWOgcTX>7OB&|GPtXo-X1`X^0oI4#lUqvW9uOo&29c5JJB2HsqfeRqY$tdtxUHCCkqR%fMOhF5N*f$YgbwuDX z@hvnj@uXfh5-8vwg#te}P%vQgax36Pi!q$!+WW4R$qj(!>7YBbfZq9<7ISjPp;B2E zYm9T#_?i+^=t?L^A#6B_n>x?m~MEpJ3bd7_n!Qup>3}aKSwODllbkafjS87hi49iG6YZ0)Ovk%dF zRl*HENhFWA$N_XobSmcs<4cZpC-o2z0YP3wCBTUfHr#wOjBCsM8garCN#x11@7z4%wk(u6gXmGDk-T>&Nv0L8PE|8Ri< z^B8^7wPo-HA~Z2F(m(ecVllCmt8p$>#|XBG`J`YGa0Ju!CXW;@FLEHNamq?KKp8Ry zwtC2-ZlW&5upDG@WdIIb8MrCKPfV#$O$1Ho7ovKFs;RCS8IYX1>@jo*|BZBP} zEGl`Dk(klBc6(N^MbIG{QfylyQ3uj(-vSvUq;8~Y7L zj#yF0Iu?VEuc#~!V!W(IP4;LG`eBiw^Cr*9m9nHWZw)x$R1`(5hmUk9rgu4@$VXSC zbHNN$jaW4|`?Vpf~sTMoDd_Ip$X7tUQ?sB~gnoc~(5$_{L)DLVXnt2S4mn@W-@`XmcKYB7~VbOEf6&6#~1jH>Xq&nxrqx2c3UIN z=!I$+D?u3DCo(v9RAii~QhGU4oGEo-VlVmR>=4<(AD-+e&WmRybr6-JCDGdSj_V=t zwIb=Aj^lU(y9Gy?lS7VcU4i%NT^7b&j)CIvVGD2oB3)r6?vwAMO$e!}?^2(M9F%XRMebj_m;qbb8PW3~{Qlp8eod z@F-9({WwzkF;-$y**l@l11@|o2>E>n^5!Z;s4hP=0fmgc+fRPT)Tkx+XziorhpughKp|@i949GIl;8@<`X$z|s7p=}+@b1h0OusB zJ_xSf(&zRZwmfCH8rM;fM@WpJGRV&yX=u?-V_E=3gVqaLRKync zM;1cUS_j}nTMzc;I-`iWA#NRU*~ zaL^dxF82~}WjZ0Ald3(U)JWB7*xiB2@*OZhyF+#mc)in_wSpoOXMG};L-D0B)j9nz4fJXBx%5WgkWTLFZ?pr4 z6&xMxUSZi)a;-VqkG@QpR>XPVluotv0&tzoX0Q(+z|(OBEhaK|YuvMCV|Bint(Cr- z2sZ#Kbc+VlQgb4_QYPF8lhBm7WMv|}Lelb0+S)|v3K@NkcG;=u%=NL)CLMnV9dI+_ z!i4TxFJgX`KwCFTJBJolCBjcj+8<0BT6o&wFNr5vc!o!1B^wixI%H7jEZ8LD#tfV!MRcpd8P;3&Vk0rv7 zCK%6QI54#h?)oFv45y6;lmj0SI322b!c(F20Rx8|*g%T#(BH%K zOMx;_p*T${2c{P6l7jybWd|HcNo)j$PS2ltP3rW-*g?MYp1_v$f%vyTs~2b>ke>6# zuHNm^^A$mG>A7OMS$a?fw@zhG-KyM#o`ah@9F^k_$FrpHt-Bf>rL~hIoEjA8tWcIE zY9D0!qF<+o*34_xE~1mVX6=D_1pB{e3TDl^TXu#bRFy_Ej?nqyiZG8xMTe#_>z)Gf zT7@Vy;#KzQ69p=;M@aIZu?lK807DQ*Ts_tMf354T8)N^?u~Svs%y7GbO?Sb`^| zH(n@>e|fdYx2lR3$Prt_r@K7d-w(jK1ehua4i4h_3a}mgWzA^icGVP z!6C!?rgxN1l%|Z#$;R=v!?fP=Btvg~B1eyuJp1YjycMV>!mo-%F`Zr_qT*qo0dfh*{x{6Hve~tz-?} zSM#PX1Ia|JXO*FU5{K)jDxlIy$8m=2}+b9co$ z-xX_H2rqTo{!rizbl~-a@Ji(XMR+ymLMg_0HBGXOBo9JJ1CK^4I^4e~ni&qk)ENDo z&8IF%8u7kX_Ei{h->k-=y%TC2VAortwE5(CcG`Go`?if9OO#5FP7;vH{mDV~*f)x` zD%D*}FwV8^FOg>;@Ku&=-F~qwvc{_EyF)h@n@S;G`(Z=VUvtAqzjqFt=Q zDeP8>R-#qdf3y}#;=D4RU+=!Jb=YvlbB2c}qX6yZ$<3os8iN$@!RJ|b#5zLYd&k#P z(+l1%1$SL0=(}^~&h&!xSca2|7UakWtYsIv?`v7nSGCHId`M7KMy$uQ3dWA6PBSd0 z{=pe6HLRTrLpE$2o->+%gu5`{IjsPOA;fHtSZ#A;e8>mI^PvL4Ccs}j_FfkZz{vpS z&U;aQ8KW~LFcP_o*FAu5Ovp}&*PCaSPDHyvwC;tpuArKRGy@w(+u0e8SnlD5?W2!N zXWsd#5GqOQS=7S%VhwX}fy-krTpnSA()b8qs^|dlNFO+QRF+UUHhi2s_v#VprJt5o zFVWK4onkzXYWhP(0G)!SF8GKO_nkU}+@YM74wP~%V&(P&G}s5|DF&#}b9V>;7lysL7Bhg3wnh% z2hP8G-qly)T=)8`+<0>ImHF}_Z@?Y@}X6`IRnTJgoHsQMVV- z#lja|vP~>v1ipM%CZ<~}~ep!F5sffDGZEagh zYx&X5>8+`-`jKf(?AtJ~K^>S5@8S1q!87~~+bi0CzZNbQ`Ux+g@ZW2*8tColIC8m* zljjToXCxHh>SAvB%CCGkt-$?N$Y1IoiZThlT>^`GHXLx_)x$6DQ70Eq2?ZA7AeJ9> z^^LD}LBhG&`M^>>$>?Hg!s(I$AW6lA5NtSn#pyet2N1pkCPnWn21N)Jv$g37>u@gy zuPD)qpAA_SjL$?4@+AqC7aW@M856vW!9RP#x{7`LwNKBD&%{{(5HEDlEY$Am>m&1R=p(|B4}d)0~^N6q4V;|GYx z650j7f(Ie(0sE}hXuOjOTwK{1vq$?96>wP+j#`SXz5r+SrrDV z?@FXZuuU3E&HJlUyCX591LrG-(MgE;={@2Ej9B-Jk~Oy8G34vDq2|C`E>dK=ktn9@ zH;$}|w5H-Q`p+@?&#{_47P7>@K_FS;+_wfl;4-(o zZP+7xSGDeh=BceR1$gm#aYYZjhXV`YqOj|l#$k2!^~0sjAlwXKOj;v{WZ6~WUAUsX zD{J9OM`Q}~Vlmx?dbpSwkBrkCy{pW~p-^@Tq-9J?JYZkdc!GN;BUhk{8agZx14nl! z!bKiOi>F5klZvyk-NL^CUb@Bzz(=8=rg$6NCVkGY+>8_1McduV4uYXm1mzN)PFsG@ub{w^%f!{2?%_rTwMDQV4pmZm_3 z`x{HnM^#@H;Yvv;C9M{I*x`>x^0Ha@E0_~%@fV?{=3gqTu%ohKhqSRn+Snm&?C7VB z9U0o#A#LpF(*|NH)zY;AgHs#cURkkS+SxAcY?pSn_tVby4DD=}cDARq1Lzn7?wEw` zC2|rpt~WLoWT$Gjj|hgM%GWr~xuI%xrRo&nQw|*mI~~pdyuyq-LG7SXJ6}twA7nqwfb55Y?1w4H8t=?OH!o3qhKH(uFBHP|Vk&rm8$haLTt4b46hwUB z`Ji-`(YQ?SoJWoXL*&-gbKt@A;Or@ zso2D|ZB5@Vk{2?@Al*N*nJ=8}Ihh#=9BX zcvsqZw@(`*FaZ)Wnj>n%oAL6kw6j^-*(~jB?x&s28QR$_?QHJTPEjxhx8o5h)1Wst zK0?Pb$Q+plgT*7EsH$S5bbMrO_?^m%cLbq#1fh2Xp?CU0=$#A*y(0*{lY)@rgj1F% zErt$buG_s`S@E_s_qH_mwlw#4Kh3?Jp}DuExwliAQ>Q_=El!$u7e!oc_$~bNHJ+KS ztZ0=MTcyQTX|c7R7F#p4*eWfyrnCt0Iy&3|C&(sQHWoUo2mB?wo5CCM#_>jJccZks zQQFpSf>ke&|x0Sl^V0WJ6~KUy7)52|cg7Myrn1XhcEhX*Sw`A3PLx-Vf@bwO4>H|N+>Mb$S~U7?gbRC{kuJ=R|M9B0LjgL1Y0f~bcL$+v31F#2nN<*GbYU-JY{qeN+wkGEcB!`$C`U3x+qZai0bi%WH=_MSc5=0NfZcqzJO zp(KU>d`tkv?T7FM9BcJyV&J$(XbDZbE{^Mg*?JeVK=ccP*^?R^0p;#P4%=rOz& zBegq(n}}9OxIJC;?st(Q(S1f8Owj4XiCZy`h;Il^zYtA-tbMb#yDU_59MaKtD754V z{DOdi&d5ob8>thH2KPp+4~vCeARCS~LzNw^OmCw_+Sp&(D6)s34F|@a*dc-YWaoqX zn)-51bGQMnXaR@i8_bIOB3)M~eyU}D)rQxAOtnsl)Lwf7mrS%7=3!8v^YoIGa z$^$I=z}S$t@%bD9o)r(T;@gbL>rn0^Ew_s0+*UPog_q@EBe5(@WL|WLC-Au=(}?|r zpt84%%15$4`G}338eTK+j>?KPBSW|UL(WZ&Mofe!tc#ss5XX!(s&8GLN`zH%-+UGf zCNobnqYzVe`ue<8OVa=2&b(`5il^$8f^}OPjlVf zmb|GsymD`;vC^s0hPFftS(#d6rPSCBb57CTVUJPsYt;9#+zMg26`VH%%(FQaZNboz zTk(Nyx@?V>%a3AgA0G#s;s2#bxtCUt`uLw5y38y&Z&vj3blRK(YDBCf&lZ-etXLk1 zorckP+?}^s(K=LO`?K_|Pwr4dwg2wngbhDFAzTou>BNT$1IES%kYK2$4QY6WV?b!h zU-1hVYRHU95Oc4Yx^5c-q7RuizI2|hq>^w9w=&_aL2PFN<=?QiQ^Q*!B?TS|ly0q! zz$Lw{%EIdONOQOqBN33$=5VO2iwr=cWIB9VRPCXstWYz?EY z8giYX4~I*TDkv+`J173erGCapD{DH{-pwi_UKK&RupI1*}By(|Cc(l0DcaWwaD_%1{}I=MUL&}7wyzjp5|7!wKxrlWRt zj_tRZv@=2Wx@ggqL(~PPVu0FN#V2BWNqerun_cDNH$wZ9e<=J8qI^xFl-fA&>sAUw zk<>l7{*CC(_@BxXsMv$cBRsd}z&4RYD9P~G?(vV01i%8A;4&?bpyUEO{>`;ovB-hY zdSy1S2r#;mKg1sdJTYBQB4#>6j^ssT_b-QJi}lrYSf3>dnYjoQGU0Zz7rrTMW6%Jj z>PT$HCQF!+D!ds9+E@Okk#Nv)DU1$nuAQB;-Jj6Pgp4Dx9U}qlzI3y1B=#R=Mxw(V z39cOx>*=sF5{&0kSGwJdM6j$^MqUbn@bKiv376Gf-?X!p?!{ z3--m2Am&j8Cajf1?aEjN&BbwN&Kw95_m*Q|tRx65v1kuo_-j9b3m4+K9g1X-D*n53?(ScHQo2cbQaxKm< zC3ZrxU*gfN>_5%9txS(x>t8341I#YV|BwS`Pq+0F#?8$ZOZjwe0*c8CpPedIVc4d3 zz0d!>(?PGtCGki>Z?ZuTKzr>YkOU;6xrgC&{tpujEO_d-`eBVe+6g3 z=eX}-1f@f*);XUD#_;EdQXm&HH%|=b#*UDCm#UdUj9YI`lm?M%&U3^U#9U~?RZ*e{ z%0bVt@5bO_HN)OIUaD*UMp!bATL=U6#tDn^La&E6R#{_VAWR;MlwwIg(@8&t>H8sl z?!pW3_sT`HwEX#EP;3Vsv4-N{DmexoaBJJM#RX6z4oG_)gWkiX1gw0+3{JQmn#((6 z+a`uLhiZ729a~~1#!O-i;s4ru%TIS1aZ)-3OJy{kJzXeh=+=3n5JZ>3xad(N4f>AG zw>A}z06Fl_5&y+MSWOOxf~&s{L$EgeH5^;1czCsb6iGy^Rr+x#)ZX}vr}YDooqF`w z!ARC$Ff%)wqHG4kTHPC4)f;=7!LTZczeHMhx#?=b|4Z3aKqX+<)B^!0AtnkqeW@Q@;|3j|#*hf(plpf(F`61Jnj(nR~UW;??hIV52m!Qg#DHrhyjS zTEWB8u67$Zxom3GG7St-gDDQGswx@+x0afE^;%E98mx2mXbG#Ii5NA}?PyneN4ECV~+CK+>~+kR7t$itP0Ib8k?1sY;DwZc_X2NSC&6<%aOV{3IZw*1i?Ld$B? zhbf!F|H36POHUQdO17{NmKKN|1l;a9X%SAs^kbw(FUFns(3w2*`6$&ECEjFMwLhX& zDfF90W1R!j%`DqrtRCY{({IV@3+|CS|F8)BC0~ZFOm8See2P?V# zbt_KUJgnN1Cz!LHQ0T5gNGsm3Pc71g)n48inSzyFmTgz7N6wRzYa#Am>^+8J6id!J(NAUdJ@yBmYf=3;Zuu5U6TA3ns+t@M3_PXH3!#A?_w zJSxAyPtL=FpNrrFcyf!6mkhVGN2~+K%G3w9>{POYTiP9NSuMorw4TIDg867hT;ho; z#e3_*`M5d3*NHl<1052ksF~NfIGI^=u{T)n82JBIdk#txQw$asI{DdWusTioyUfGm zs$XGHuE(Ir>@ida3k%hG-YXN#nZhR_!QF0k3+>=2I?41#*{$1(IH97-Tm5613YBW{ zp@a|HE4<{oMK8hRGOCIF03{D&{|$;#3tGzPa0Z98P8YIv z&oiklNQaySJ7&aMFY1-_Vi9dgVN+Jl$V8m40Be6kpM&k2MP^_VDu|t*|NMs@;dAcXB$t$(8T}UsPlm6MOMF-u zx(utosR1(+Lj$->Zq%M#93`qfV_d$QDWmk;Q`j|dM|aKx!$qmUt-tq#G${ba9g_xN zwg9-o1F+fwa7zXN3(^6cF91e(09qXYCuacAk`CZP0r1huZWlTo0RL)}E(k@stuGBl zXtpF<@IS{Fs?dmMDVk>;=iJfjw(krIJxJrJPAVMPbEEqnOUidzhks)HX3Jw#7s6H~ zI^1NPdYo_!!vS$kgab2leX9!ZWayQ8RF58yvLXw{yJK>_bZCfn2#7&G_u5|rTaS?u zFD#Pld7)1?4K{yla0ylSh?DR{FKEOHC3N-ub; z6r7<2$*%$HpfRo&dS}$qDhP|<_Pau=9H>=Hzs=aKUX<#EUItA864}||N~v6HaFKMM zf@KxRh2bbGik^v0L&Q4G6)w${mGB*&f2r{*rt|U9OMK49C*E#8=wke0t>a=WA=qU{ z22)yK(%{%$%ce3+Lt}6`|3#Zfu5OII=el2xTeb;d1!z>h56Cp<@C(coSk@}ZvBAwb z{3S^%O_E%`U(T;(PdiDM<39d!el2@dlFIj!ABmx>@oB5Krt7B0SALH4Bv0vjTlqQT2K%|BeZ5{Bdfp~21Th0Dwkjhfh6ax$PZx6 z#WTrsCk(}VFrPwFgkG!;%*EJUiPaQZRQK{W1+aV@{!JcfO0=IbH1`2Lyu@pnfrWcx z-T0JnPW8iS#8>EzR_4KE48V;Sq8g3>VhsjPT8Y361x!1UugsN`<9mc^&cckTH>t!C z7^q%#=rUr54lg6Nz^hLos7}jol;P|eji2TE6TN@jkf({WuxmNV24mIbq1*oqF2STm z^oX2oR}Y2a)Z6YSX5aSgD}mZFHUXZESo>Zqe7(F93Cs9LRaEeVy$FCC&gHKdetA{S z-+dLvrfm2Tt4#5#AQZyQ(V@B4%NqFxTL)|vz_wff5nRIBcDqa;Q<;tapFxVQuO?d$`nVh_LnbIL5Imuh`}5=*zlowO1g^>&pt0dKXd? zLphI3UM|j@E&~8?s#p4EQ+h68urLfy$$eq$=sOv$>3Hu0CKY5IT`ty;*n9jP8(ME2 z@5_R_U;A-*SrX=w*hbKU&jweLR-ez2rW<(5V1EnJDe_iJ#9FEX`iO19muqIQqvA%+8ZfpY2E$mr`lZx2)2Kf zQnrD?i|j=yX=(MJH}!c)YtQPx>=IL!??T!~^CWt*_L=F+!kW6l*<;TI>%ajag;dpUf-4)=QL7 zENRd0zpwP%0T=9_9PX&=ykho+md z$FS_@*q^aO$FYf(k$yTf)Kp_hdkw1fLo@p#9c@~%?K?~pC$fofe@#4Zsj(8?P1)m#!{7QZn`O$5W7*{?Wg8eJ-M%{|EseF-scP3S zo@FmfDcf)|(|(kamRA2ZQ=g&z?8Eynd!8xF6D)ftwr%~;;Am6!RF>s=Qa@$?s~T>@ zM3(&x%95M1@nKzfZa>`AY^t%O9W~XsZ?+EauUfsS#*+5&rrJPO>zvU~YZsVmENOqM z$I8(>R(qkpYKNI>ENTBqtd)+|ZB4~O)NmFvo=nXc&5W~|aZhT-5N4dijQOb<|HdNH zP{NEKr)IP>V-_>cOwDL!22UpKV^TBzz>HF66r^S>WyX2T_zvRR8&7KiGtOtmj?|3H zn8E0h_Fqyn&Su61%vhD0aXd3FWXAoe8HLQ4&Wwer8NFCC8fGx#3S^`hUu?$dATN!@ z4%`}hjtUgnyiGukZsX{tniwi}6mIL`tjt|_Nm+0vo{HaJcCR+01c{B`4&s*-NR)Qb z>tDPHH>K?C#m3?{!X%2vVEaBJ-8uvR^5yGcG02cJl=hl<1IFiI@E*B$-6HwEu)(eanH&;Wp(^k*7Q|IT=P6$ z?v$(o*yEU>pYVI74>y~Dg$HJ(K^R_62CXKqDQtE_3$Pf-FN3s_gGB2AYxDYktC?N> zcbC!ILwDuD%(oc7ieU5P3$*-^sUBhngsPiCAb9s2E&pu8-#~I?ro!2Y8EuKuZNUwE zBCVa{xDDe7N1%?1B5wkX7-CF#w14%A{cCV+6@CwnjmZF&0RoI`6KT>GY(-RQfljm7 zVIJH``2rVXBjnjk@)W|Dfa)UMB%Xw|WE z0zV-l5uOu?y@ag}7Ay8gS;6-bgAx~z1i|;{6EV}eMmwsamAs0PJHUf?XUO0is=0|q z*K{Uzn0T3~JOv)pf!Kk#rYEA8qFF@J5GoH4Nu!VhcF!=7kk-tg$C1VHQwdGuX{?v0%RP^P^M*N(aNu~S z4LeiLBX;pTLg1v8Fy|4w7?D9%s0l#!wqh_IYM67Xe6w`*G=+OHadZ2ioSTNSlrSjg z!u8cf87}DtWq_Ab9zwk-DCZL8%q0xU4qzuNp?E9A;Dw8Tohc3vg1u3JYPByiFrgYg zC7FSv95!%Qznk|G7+@MZF0&+Mk#p8|Me$Ab{nq zlTR0o!+2(2<){?6IeiBR6#=avot$PgoC&KId9*ZLcz z)%SyeOKhl`gWwdsFug@m-1J+H2Qlawgea+mbBat^l&cJApIQs6Ol~~Og8GBa1ro z(a@YEI11E>ZYUm5CuB)@#?(Py-~)vv6q&A+mCFCYxFfl_n1>YDo#1pyJT)r$#i&`% z(@Z!>#8XID3+nxjJiVCHxQx038-mje)h5VD{DP_jO?tfIh~IS9K3cyVI>Uj<8jKZ^ z{&l)fz+*@bYH*Xu!#grz+^!i(?Efd+$_u0d4+)4*bMXlLP%o|{1cyA!-dmPr!R~{7 z%<{Z&;LE}QITH2$n&?@K`tLyb|9Zw?I1iV$`W*F_@3o9N5hWA< z?Nh|euIF%Anm)VG8H0VOdWA!fKHx*ucQ`ryvZIXRsp{I)2ZvVWN5yGn;6OrI08^vqYptUXewln z!={31z8j3%fj_GIt0nd#OnH69LGI{O0W_=4;w>&9Ju#fO;6tGvz7X_=k_4{B zUNH)9co%kBzkuJ7w59GOLcsUf78f&ddlqSrUj|zz%oQR;n)9cysR2tjUsMDRnT9wRp~Dptn?QR0`d#PyquL(NbzeWihEzItY6DkIdE8tADZ5r z!->F=@wmP@hfJtxTru_6CifRjIhw}S^cP#=FVPhRH%OV}S!NpctI1%I;!Rdiw682s z=CaO$EN}p&Eq#<1u?HkugupZ)0Z?AQto@+y`BhkM=eQQ0o+AwAjFBwPl2O<JX~E>QH^EqQPfA+{kl9{hp9#_2q(N=XnoQ9Eypbpu9hxt69DmWWg=XOyT3Hf ztXtcY1^FBdqZX>yuwMcK7c&LKQ$7$N%Qg!0#sTq~1?XNv{-!}vqD~0cmeXF>8>_WW zc7WWOLKV3mB1xwiAq%=wTDNDSU)6m_fORUm4-8e`hF|p{x9rWX7uT`2#T9Mb$c3sm zpbN`5GF3hQjSaR6;9t6&pORM7xM&~40)`hG zdLtBjh%o43t+X-0Yz8aD{43BXl?^@u)g~@+F>#4&jh*8p%v0=Gd{NHMOWKm>(%HQ{ z8;_Pkj^R#OH=YiJ4U*>&xLX#-%y78M{vCLeVW-j4oW>i0hU}}2+gGUih{J^nZ8?wq zT=QPX#;8Sh+oQuRE=BR;A@#>iz?FeKLbo4#7@4Jw-f(S;)f)~iOBs1*Avaz#71QAF z@)s!|%mHSbV16S3>~Dv&widTPHy_14a))n|M94%QUQru_seoqD_kny6N~07BxL>Ddwz_RCHkrk{27PaYW#PC_IOO+O3O^8{ZVOI zl(|&N7`jv{U?Ia3=XueoSW~PU#wsTJgHg1sJO(WVqAYN(Dew)*=La@lf#HUtgsTQX zhNiDGsWtN-R2qR23JuNS z*57z-tco4c4vW)eTzY9=hRPzA7}(#?5A6liKQ&%+EpV%Pjei5NW;@w8#5@ z!&|Z8Ol@NtD`uODPkR*+uWhNIdv-qLY&^Z<0#@8OMu~HiuOjU)Gfk`03Y_L0a2EpH zcN5l@A7?UhGZqllDB8d#wrUd@i$QWr?-0Y99K@J&>Iz}*6^Ckm4&_k?iBIrhgh5y^ zZRsJ(Mm3iU)ADbie4&}|bMa*cmWTOfzOziCmI(=|m8hpTfx|V34ixPmx+5KQ2}P&8 zX}0$Tf{0ifbxsS*GsWs2CdecXCI?!7!YquR0e@$H`B45$&-0senBHezw;X_Z{n`PT z*HTGm1Ahur-Z)M>Tje2a<~4g`Cs0{u8UtNRC6efbgAIu;298y)@oyk@BmhQ-RG^=4 z9j!=HPmxxdMoWSnJ;+RF*08QTP*MdiZ#uiEy?dfIg6YgO6VcpEXSdX|rc~w*c+>d| zgThPLd^0tF*)+F1Po1skJ(?l!Zj-mz&714iyUFBTksDJn2r z8}-o~K<<5kRjiX0ynzhye!nsh*4TUO`{DlY42K}ILY-CPHM3E->NWoDE5%P?@_9ejP6tGu235m)|d_yP=Q~cx;M2oI^E*o};Zk6QD8iOnF zxT9sCsWh%)Rg^8ujxHv~517XzYa;9;d7t{Ye8GE#fUf+APo2h;OJZ$=I%A)Ug zvG0!@q3Jc#QV`^qi=e5}`vOxV*2#SlTy~Ul%l<%6`!1kQcR)`~0nM*;&`gb3e>bSR zeLvHHezm}v{Oz#FU?IT`)`*pjNd`9MntLw_*y})i4oUtpr&JK7{z2~4Qa@vOfVa;C&#V zCGA;L=!z4sp&_O@{3`n9 zg9?sWU?wkuhfGOGsl*&=0f>`t;RK#NLNl`>*3eEdTwygpoS0Y1cFFxsxpQ3@jBFA^ ze3MrLvEvOi|4MZIVT$NFU&kSnlfg`YU55dG=qp0Zkm}7gEYZjghRCy zXjjG~XG((9+hI_fgJMQup_&i-FU$cRsK%tDxz7Mu0AbYUCDN&t1N0=srY+cZJy%m>PmlC zR}^VipM%$0z5Nva_S@ABUD{Q-Z5Ljl-FwXKUe05JM|Rl&j^(3TIC-IeESKtH6t5X4 z9bA!h%i#(6ozlS-!B&CA(Oe;2BxLO(D_T{Gx7WoERU4_YRaHD@x>&Ffqq+7_?c!hI z@KkTN;IDL1;FIqJ*MEMg9s519o5PQ=vF7jtUdNV8>)B-m?AUrOoZ7KhjVKVqLsi8i z`?6zVgzz)zBj^}mv15-&#~xr?GIlI%J*n7w9oy62u?I}YCb46d?#%3e<*{R5;;(ir z1=m8;u~ua3bPY`AEyvj2W}v6B{Ul;xQ9}z%<~6Wbo|8ucFvlm`aW568P$h<_w*oAX zk6uoM&R2vK6r>+qP=^YnM5Ivut^8{cNA<}=oe~(WeNzj3(uD$&4X6?85!1yXrkNFN zrc1Y54v-AZY^eO6W_Bz}Y33x;%v11lV{bayO#J(rsoFrtgMNBbwPR;WGk;Zx_Egi% zm_=yju=~O-#mI{nxDkxC--gs1k=!FXEcS#!%XTgp<4FWdra&8oByxd z{FQ9}br@h&V>DXD9~B?FG^P1RP3pdVnjf9YLF8N=hlKgJYR7j-GGQ29#v7ShZ3p-{ zQ?=wpURSeXeJW*WYXkQ0hPKu0-1fpgo!g?lwdXs7D70-fsV76N*9HTVdHtO>@=ZDVMU~|jvjQi%bnYXi zfqelm3a!bRgG>Y(o0u5NVyVD^;75}M!DY;p>f-{E&?FT#M08WlG@JtlnrhC{f6mr_ z&f!1J;d;;{AmIlE2)6OJ$d5#6ebu^x#MFAY+Ld1}NeJAxl%Npy3$GG<0_P!cV!UPy z^^w>3H?VMGLO$!}=$oeX)<+?w;93Q0$iuE88ha%AG>83y{aL1{DqN3e)9UvO-8B!e z5(l$S)&bbsV6S5psu2CrR75w9632=Z?LA@Nhk=LIH5 zgE!a*l#p=XB>pT<4LfdJAXTG%>ihM>~o&bYkB)uAUP{fi(BLoHhMMUxYF|^ju zZg5gf5z}eMVOH-8{Ivd|mAG-a5hWGjr2=8yR164g_~nPBrwWRP0V*2w<<^}&HL;X% z@P7%QZhD!#)9=QRI7T8e}VO1nw5QU#a$zV_o{a+`ra zM=+(qFNZ27S12Y7Se|0zdr1m zEG1kpkvlR{cAUZbNeEu)pM&+?U|qpF57nw(<6mI?6voKFmGm@Re5nF|W(qDQ7fggc z^=a_QeU*ud6ceSqCk>wck8~kTaD8%MeKK2JQCi?Pva>A+4h^>i8~F?GL${Eq;>d#Z z(oJ-L!bL#imV!8t)+O2z@|(nkXujh@1cZ8H?UCpbBJ*Y&=nli%b?tCUq8FQt2pp4a1|6;MixWeY_M-2c@P-~JR4og=1$gi9ho%PxFd7s|1>hL6PBN( zza`j#+6ypcI)5gQF`a@tSECT2(V@V4*4?$r6=+tTeJ$G+mj0VuKH#tI2Ul`jx)kwcp3^Z61uUrQh5Jqh-z)8DJl^8`WQL=ubp zzrR;|$(cysj&+t;FI*z^gl=8dGm5Qe{MlQ*F1Y^91zb!V#{(6fxrx9rjQ>&9v*#_B zB(iJPqrbiFGI+_KHVCs{q_ShSJdd56(ZJ;jxg3nUL`44y!8SOfN=cp!{px0=)(sJ#?65=3yFX=-zL6G}k`@6>;~i}0^qN1e}S zj(=3;xwuod3n8~Pg*V_O^^K4-+Zb&RWG`Z@xTg1ouVEWHP{^{)+N>!EgL(5n?U-IO zgYzNgl7v{a=$#$jAlEU$_=u{xDH81_MF6o|XG(Gi!Ub-?HYBGmyusX!f>XFnPh5;H zAWS;8{4n$Dm~xn*B<;tHX(zvqqo-syWM6mSRxlYN?T{#64K_pH$)UHG0Gb)jVT!l& z+JRI#xCT|;NUbu9RVp^)5uO#IHL)>xc~)7+RP~$_x;@Io?3!zraD4fecWJk};6k_r zTbctL>a=9M|j`o+Xs$n#WMkY0aP_+#|!NW@J3ozf3P{&;K%<3_VCQG z1wuMD!2ACI`_ELD`vPg^iy`UBLKDKq2o8jpsOa8*(SEoak;@kq@HR~@qsZgmo}{^1 zbV)9p|Krdsf)wPzHj*k|Di3Dm&|Qq2K}HzQQJphL7{NY1GfJ|g_Qlji>3<~U7V<)0 zAk6_z?6l?=ORBx;US1O{b zSn`X3f|3WL=ju>3BVSha+z_h%H%GYVC!v~JrZ~e3Y9#jnm9ecAEeagKrD^|#L)-zp zU%@7?Vif-NLnnk=%THGAlv-2S9?>>59pTO%!~f8Qu&fi9 z5~CxUhgobL>)_8EoLzy>{Bv6P46K)$ikaR&SKBXT;)3sGj=s&*@$ODXJS%x!1`NK3 ziFXTYIK(@L?>Kh9F(-wi9A!RTlHG1y8LS$)~z-m9r;nkr(TD1@_qz zhxvh8?6q6?bzH=%+eQ@48#8x+0h_{Yv8M2QyAAr@WixS9n_U1Z^$N=8x`CJv(RzWX*NY$ElAG3J z>5%)%N?u7>L9{5nozvhjCFRG;9>u;_+u4So@0aw~&KVKw$8I}#B}e1RV<1Y(@}slU z+nE}%jx+7xE<$e-p0gO0>3B@xJ$(+YcshgG&&RCBV!&V25Y`3ZC-20S*Ac>v6ch5D?*?R!A^$um&|h43GMhw*fBA3H zbjGrMBgEg;PgxW1op2+6f<@)0T9!Ihpf{Fl4X+cHM?SyC>(_3g%bQsFygcB>wl}XV zfG`>fotloh+=M-cLVbO`v_b0f=)E~``n=0yxTtaU^*2CKKt)E;Ua`X$Mf+zRz9`!F zd_0JdFv}mU6C;Elep#ONhIWbeX*?&{4OsZ0QTm}OdK011VVv4JOiPPjlOonPBD0Iw zK+swbP;O;TGqf79zIe-J1Bw0LRGe#Wn1hVI;;@x}y+Mk)7@G0J1wfZ#Sg-Qk*C`y% zGvzqPoi_zi%5euplrnTD}c%+Qf-uQK4XJ25Nz*{(O6A-*+{2V;k=U`oU zCpK5P)=w~&*m7f{?3}b0j1t9&9*!E(VyEd9Zqt`XtY@~e>-t=n(V?BD1#0vfR3q3O zw4jI!P4qgGv`Aa>_-=pMIPyJ^i1q9yp{alK34Q>c(fOu2-y}5o3woArz2vuIx{M}Y#vS z6JS=ygwU)|GaY zL|3359&HFj8=QfQazaL|f4)l+k42@ALa(>rpB=uscs8pkz2b9HvB9mlT`RVyR@|Om zks>f+Ez*ig-S13)T6W1e`lb{{S$eglPY$(Pz_<+78eq)^I^;EQLs9ytdRhVI8zONCk8koetRN;&;8NzNNEahnau%&yx1a~TcH=?u|P!!B$UAqq~DNdC=vsZ_ z%~{M`#un4#Z`EUgX5mw?U6PJPxKkmEmnR;f+5~KdD<#A> z1M$^GE;Z;Zo7k%Wv%vS54@ikM;sdtvUq}cKah}}3JwV#<^srs&1^NC!#JWb2ap&ZS zJJTRCTxrCb(x>2!=>-|SG-4f~1%V*6$4~$KZLh%QTRD$u760Hc8Yzzb|0?s{436QF zN_C?!T3D#&4J@*-F*uCI0pSM0ydph6aE|DpDSL?n)(g*Q(f`xd!MxW7W2@2G$H-gJ zDZK8e+I-;|bKK~9|C^%jo5cUZNle~a3(vA}vO;2WnhvN7|4XLnD1Gvbtg#m4qg-gx zBuC#JnFtrwGA;q$uV%3gCypWG84 z-!1Bl6%o>4!LPpmU=##?Jtxm zN=DpTO7XM$tu@2cQo}ni@j;wYA){a>!^o!aCzmyaKRp9)c_+fd7$*S&t3Wtj&H+FY z%p?5us9d2st34Pq5T^zB3yEI{MhUH%n)8WasK|7rNjRF?@W*CgRolKtU*jUfIRksF zp&V*x2m@^Txo}s=I(`eReO~LmKE*Hki6Q-D52j_3-q$2^oI&yxk0DE1dpDY??d#H$ zj=razW&e{{AzdvL>MJghN+&Td3R1{%y<2x819E&u)_?`8{M;0@;ri}zjDz+PdAki9 zlN-<`VXD4i$-+T}@a!Er80M{6=ZV8snRy*efhkT)JZ&P6f3{8#r4YkAw9vHd#ZuN9 z9WI;@?z(vp6d?RGJycH7vfKy37zPD@4<#?Kz!GC11!r^7BC_TEJlf+Q(=*G+we+ z5a63=h%A*hi07+DocysNHOSjJVcktGU`0j2%oWCT0@rm8sm#y2YdoVdoYcs7hzL1znfg6sp5A z;(Czc>afcUnYhZWJ}nN-_c7(?gXu(v?{Iba7H~zxdPCGXwdN-;71W~R42K3C^w=F{ z4G^q{_>&` z@b_IN=W=|EaX`<<#~+=K1^5{GwJ8?G$KKzVk8AO9Zjbq(rT2z!%?DpaEdIiLG~i?S zC+6c-d^~{GXV??pA=K}lG^dIo%uSqUo%?(kWGyYL1uM5&dBAEDPvKMlPe{vy=7WjsIiRU-7%{K~})H*5QR_I-y{6t@CDCTVLVyErQEk5Q}}V{;i5m28EM{xFxzt z1MAgY(R0zI#<&Ra1;wCySw8kt6A(o8?g~hcWtAw!BPi~5;4hLLy8TNuj=tlhIj0NbDke8@}Aq7p0fJOG80NbMvD{)NGf3H%qLQtpfA_{fCO{#_XZ=y4Txe?*8pnL-U z9UU%saA!p!qnh{(u^F0IgYR7mz{NQ)bk{AA!Y-*EPRDz-;9aT}mADiI`3;qI7X?(q zi6PD;Le%Nu2-X@}dZH@;DvHCdKy)0)j$@s>MO7|}{+Su;eHrE%NHYwJE3k=!3CDrc z!Qy}M75|}ulY2KZHuy4*Rb3o#2!O<$78EQI_J!(GbQEj+)vb|b?Gin=NHFe>{(#wk z^JRaa*-hbpE&;UK@K^XNYdb7m;(^RLjT?mX=0|}Lh4bcR_(A``@_}#gXENsvX6fi#Tl7k6ya^H-?xS$?f-Y&j zp!U%CpHQkUybULHr+NpUn}KvBx)Ly=|77=PlWhiAb3|(%3;i_oqJ#oQBv1GtCZ@LJ z?QD&|HGD1mBYj9rZOsE{q6CAWmzck^RW0yNsr=z>gVx4303qcA{Pi_IYK4sGdEc#sRYv;?e^)FB5I}j*M9YS?h+3S%aB1J1q+~;4J2xsyVR! zB#N;E&jRT+JYudjVYHy>NI9Yb*(SBJwN^@2unabfT+7zIeM(k9v;LZzRY=V=Tu@sI z8lX18RQQ;0B2l^r|xWJ1U{JIrpDJoIp{nryc7O>Fv}uo z8b$#QKKwPjWe|#Wk@)`Vlicc)cwrnRi&IMWh@9`?o+XblU4awY<|U5Q9O|r^h4wOK zrKU9nZj;i**;jH$gqBnDU2w&Fd`|&o&*BXIK+pVrPHo`-Up=X;uma^r_9a47U~zg< zRqJ&-tHQgWT3>luCgioEf^$!ZF_bwoM*TuISs=nD{P}oTbP&N z`1v+Y>jt%68OIw7FP8Sm;71to5lk>$Vtw)S>bu$sjN=Ec~_u(S(P(?}sd1@QA+OasGI&&SLvI%dlvIfFo?Pi#T_;an5 z{qm7#{c^<49r0GkTWTj#z3rOD8><=z)FxdJ!f9cxz%{7hrqt?gUs~SUq z07^(yPz2P>`9IXyWPd7Ctqm_|ht5Rk*l>$6fKgk&iUD%)o z!OZzV93?}aX-r(wnV8Yaw^pDp=UVUq=k_g#gFX~Q;fdjvc`tzs?sU$;$I8Xqbmn%- zeC#Cc@RE*jF)DLDrsn7bVix9OrmWO7nU5&#&BxSy7o0aAGZjcpYYN;hBP>$86PGI@ z)(20?nmqwm9&R;xSeTo?mDG5X_1d$tXs_Wvx@dp*bcRKHGZ(BIxi~X`MxRCdVt3JI zCXAG82tgNZn|Fx3VXLO7<-n%+;7?$W`;6AUs}x6#rAU=S z@__vy7yI5n2=+bvN3oxr3Hv?k9qe!G4|`@ttjG%<_Q@;YLK>9l$6%b$ZG55KZ0?ey zc;N{QSlS+ZD^XfdHw>ml8k07W@BX2-#o7V5ECRM`C)@pv_k-l6vQer;epzFrp3tg*v2861EGT|g2bbYSJ;fmiqBXoU?|0rEQeli1B6p*fuaP*%_r)#y# z70kr>-yc1?+DnlHJrm|U%=9kmXr&#A8CcLdIhz&X5knCGMyzxE$Wr*Y6b@B4;?qbZU^O~yk$+(kv&g>%{G<4j ziO+q;FmXFxvI_Y1=Baq05|Rm1@KnYBL=XS@zt2EyVPYXR!~gV|f*!G%8L<-2d&EwT z1_RBG4bjt0i<+y&ifM1((leFj5$?gZ(k8G?)oH(BeYqJI*ng zYx5SvllZdYm~0s6#X~fIZnt%iXkkUNkcsk64-(42(2K45Ymd;2jj$x+=HROwt~T~` zH5dsh@=0Qhg>mNnN>i&g{C88UHjIlLAKYfrsldntA#71+YQrBQPp82ib*1lPWY+)I zOoKiAT=j>4Iis=yJOr+Kl>aDK?f6}WQRyO@jb!!h>7zo-b)c9TvHrEn8x?y4l0YTQ zT|5sJ{zqs{7ykJmvSl2)lP>lDyhus699WG(Atzlxg9t$7e z#qjaP3Sc^#MZaA{Uc*&tFd82t@=c#VcRL+@1AsAPL%^(TtkX$u7~T4Ot{Ka5nR9R4_9VJ zthreFoYg8hUf;o+jVXd(!G(uoia^|glOxd?B>aB~P&hJZEf*_mk?bFRJF3Nncy|Y$X-^a@c)aBUeVcOI(sKOdjdP#p`9&FQdKKrC+{?!t^fbBvuwocEaEL; zWFgld3p_Lw6qayV2%eQIU-Vr=UPHco)$=POb*|EAvYvn&!`WzrXS*0*x$gd^QD?MJ z^pCosg-&~KBji-(LQm-a)f9rT2!B}BMYp~tZ`7z!L8GDtK}AJ{iV~2k_y@g4qWGs374?W{ zDI^F=AeclGLzF5ityV#?(iU6aYBg4C0VzaFZB*1~QKCjUmm4)m1lpqco@Zuv&$;&o zu;2UkSIIr+?9R^4&dkov&dxTm;1!{QORx>XpeGs+ZM)YB1SQOI5cpST(1k!Z?mr97&oCS` z+MYMTG)m>AesS4X!Ba9Kq%s=v_3O`U~_|>JbIf1u*9?7j4i3&+x zlJeo2w1T6gAaIKCEVY3k#4WfVC@&*%i9B4wvpyH%8n|LAwsNM0mE*rrBNHH8s+gPQ zEoe933p+O-_PET=1^lCQ{n2Ax%*|ui(qO(zJi&o0X*O-= zV1vRJFJ?P7o8o@O14INd2RXnZN7;wVVZZjJYekQ`B_Jc%E2A1~rn?AOz-mq+VzOaSL(W z3!5yVo(6xx8vGUiD4~*%bb-xyht1kuVZ)Dc|GOtc9Crd4;>v55c(hlmF4?_sdsDUx=-)SepwM z+p70(UbUgT;r*Le*Tov@N?x{5k1$Y=cFl^Cm7`Ye=X3*ZWa(D_-@`{P{BEIex3g zlY;w9s44DPG@+(-G6yl9Ol_12`fTPTyOYf+NmVvaUx|C8gDoSq7ViH68R_ZBn$(?6 znD^}vB83QVR>Ys8?8BR)FEpCpvh3trEEJck+sT{AzV?AMd*@Sqck}<;VpN%hqQ(H9 z-~^P~+z;rG37)fDhu_x*qyaVJBO2cK$qosDXS52#>lX zL|Tc1wFKq0f{`Q+r_LrIB(}DVD`rPA3qX4P$B+WB+66-LiHt#I{V>LIaXrUXNf1J z5U^&H3tDC&{s+7Sb)mF}C1CXVaXs4c1WR@D(3PdvdF$Eu)voa@f2cGL;c#@^p*n>f z&iA)H;K*!<_@RDwopU%o_>|z7G#3vKGE1QD(R(h!($UL%5G_w~El2!UK9n(*Zd)n} zR2~)Jemoz9KfO5Xma%S?lI#wtTPSst(;e+$S?r;#>;MUR2ygMX{Yuc2!A>DtM=IHL z$^3Vtcn5iBDF?zQBK9;=iwey^CcN9SLN{3yN)^ z@%>L48q>j?yiGcQuRyiEzJvv)***k8Ct}nnlx#3DOa1xR0>&WQ24vd|vaje;K0x*u zX+uMp&%0lF6+x9YK$33YJIcg!(Z}`(0o^HkM=x@o)7_@cnY&GJW#YO*EGf{5K0I#R z=0EYE;SKu36C5|kfPUPswqMaF9A|<6`{>flC5AHk7Qj06!_`VM(^nsT_2a5w-r6K; zA?RxfoIJ8;gslO@+5vdB6fgE~Hw5GLohAyJTU~cdl%Bf*(@vlZaeu_UrVo}Z{Zj@O zz3zi(Ap~nlltb%(L9iAq2_@kT`q)Z>wfIw2iO5h*PF04FP_jR!WG__7UW#m2SQ)4? zT!ar&Yf5UZwXF47sMgeQEh-tQl{XAwKBGWdh>G_g*4gChWcg=k9W9AMaj)PZ6iJ4P z91<>48^cy6qT^x2aTcKLASE1-W!#Dh5cvwGj1(eg{F4%00#9@SUH2Wh5mNlmXR?*; zu9fcoADgAiN*)d4Iwa=DpdVlg-H{TQ{5QEQHRem|( z&e3|-fQKD0ih4G<%626j9f+Q z^(7lHRPByIX$%ymG=&)D*oL7i%bt-KJMXvB?&kb+D_WEv<#tGLB)RFYuYz?`9SfRMEooyl^F(9X{Ry76NFjde!+?M#aGpgEFJ%@Y1|ICm_QMA>1Y z<1!BO%-SvxLgxqTq~h(nt9bcVt*F^EjeV2e{K>n6g6!0saWk6VQN0_ypU!Mv7SZS> z)?|JB^X?M>RN`IaG&$0{554rBqFgOkX2zhsreWpNs0ir*>sH z%5)jAZUVyIAJ}Z_vX~vwSNs_FeY{@>Q`XJcTL}8i zlqscy1B6d56@-HqqxA(aCL^Dsqo$#XfD@dzAO@uqZ$#7Pu*J81dV^W;Fa)#5%D(1- zhb?aGZXV>Yg?%W(mp|Eu(Rg^rK5+5uTL3(Uaok}B09RU#_6v_;9JIgr!ebcA4lxg$ zzqU;2q3G~T#zW=ifyXem3^2ub3}fms=3x;Y8nVm-PhM=cUwHE3hxO3v}3%QNARbc-~NX1u8bTp zgJv<#46`D~hz9SWGwn(}^ge4+5BnaYseX>>D!wUj)!`vnEaV&py4 zuDX@rBJf@GIA@YV?8RZ7g#9&cK9gP;`F0rmHL;KNhXkp8vO4zZUFh_uN(S_wAub@6 zq119ALOz>cOSD>*2xov{#5{K6LwdlM)&kD&yhEwMH}vYY#QkL|IR+WDKM;|mD{+1b z!>_SrGF6d2*^Dq-c9#(z$*DVYPKXg?v>$oXQujVU#>`X4KT6%E$}VP}7<;gT|H%1< zRO+%*N?kqQ@aepOx`|(*+prI_7_%p=I`4F_+V>+FSFx64d%i9tLq#wkB(DTScA>|c zz^t3Z!T~Ekso}BWJy0QncU(S$AIB2ck3(>uea#F-YnuBQX(^3KeavZM!y17tFu}=Y zFpw;-1YJW|yDW#70}JqUj{j4Og@mG&_Q0Se&y%$)$&feeHCumx)Xzs6SyS^i4U3@X zhblvA?&E3}%=$-)3lQlYRx){z3^DZ{2AIBi92zazYTb*4-X!+B7nTBE{x2aE-Tapt z+3!57?ec7l_hGo9Z$--aXY|FZx%O6Kob#@ zBot2vYZsw5LaWKudU$ivY~d;xP5{+GP#pl(A)x-&B`Ek{9VoJr0jj!Nk{A``(t{n(<38jS)trOLSiAhR6lmg|3@^oJx4z!HJ-n43tVBM_ty4B)98@#iC0p-+Y?f7!epr+mOn{3R&- zig|sBD?9>)mz%fagTnpm(0iqB9B=C)0Dz^;bLQRo=3VKHkF@utI!-jRdM>(Vbb~tu~g$=%^Eu${!xti2w8qL4s>b z2JV3?786%&IDToE99>aQv8yvv>!8NA=Gqm1s{P~k{MyECn^ydLuiC~H+YcMCvbO1o z1prdFKmV0(6?;pyQ`r1c3TYdC2SB_ z9a|_g3;;^pkAJ{Jt;BZ4+y6$SU<>9`oXs6oxex(+jic3Y?}dW z=#o}4Y<+Y3n4$KVp&r>Hd3G11!*uxd;Fuh06cay_f?`kMN_d5*!iEgZ&${+eWlJj2 zO_gsTBA6juK^=m0ME{|sOq~__WO+bWG64ZyW%Mh{ux|1YQ@2{{Vo)l|w?s-IuaXhI z*KE2^<<&_}`qq+BnHy}hWmK;RL^tl=P$dE=GeLr3gu3;$nLH>|9Aa8K(6t5{ZW$cg zOgf};$k*hMuN}!4^T(n2(9F*~M86sF`$1-|FEg>q7p&eCo677NPGRQ_te=HoZ8=;R zQX83(@c|Ub3bmCzC4&NerLF72Z81sW*H*&?Bgr{s0q}oI1|H6Dm7lO-k+ZYXJR2$N zy6;t*=P$p1X&$ajD-Byb-;Uj&R8xzYDoXO?jEWiuRlxxjVV&-?-!PuEtmr*^f;x_W zjwbb(j&YphAMTbT{z>c$C~)N#Jy>pyyC$P1hi2B+bZ`loka1I)X?}%k@QlnV=ShRl zYn9Xn^U{u$chMk|vd8@yJ8kgH%my``TuiIT=mm+mRZ{7ez*Hr%Dl!fht;16(&&d%( znzio*Q<{idf5YfsXh}6{J4+9-Mz5r;arFykH9^*cF^h)B>@3@(32w}8 z5+Y0!E8+W&Sy20CseQ86b~xmPk^#6;3o6|rl_Fg=2^(J402yo&)c&c|UO7jUlxwme z)TA4?pwcv{RIimpEbTa9i&NzVD}_$PA417@n)R#*J%uNbV@#nDIS`#Pw7V0kiJ|fT_I#;{Jqa#k%1(i0R+ndV*+fbeXVO`2 zX#OBb_cch9rxK($TkzPz$=U)WzOJYr4)D1x#2o)%*Z8CxS+sY!C{8eiihd<7e0bb* zCQV?`4er@vB2d0stFJ5pjyT2aDm&OId4p=KJW2S7AWJ%ty6M zj?_U>X6h`3e(BIW2PWslZ%|7!t}VhZA&v<|JBbgL?_Rb8G2ijs7cvk}-WCi*azdEi zznT`%n;;#%ADX*cdc(T=lJ*)R(RvDYVKs>uI=?T{{0Xg#)Q1B86X}ESsW;sFiEG^v zdkL_RN_4zHFn@@L`uWeG-$uIHZ7-L)Ugl!c7WuDc2E9yN08gWU2`puXBD(e?@HzPY zEv9|5SR!RYUUp|`=w$`N&upo`%EKi@oJJJ9(l(- zdrTL_A}j4HS%ECll$7xM%q?%LK#|gO94RJcQg4`$V(hIUj^o*p6cjVNK4Wsw^>`)E zVIwyjdo@OTrOr{|(L@cv8B=j5MS!d1;2em5J4=spZNq27)NP1PatyD=bJ6TSN`=9$ zXXTka<0&sh_Dv6ZmMYfBa^v#oC?H_%Ewq4Mc0zfb06HcNXe@Co$<@2;>ayn_g^=kv zAcBRH=QU))nIv#Nk%_@9_fldS;a1A_-e)}$+`klat4!%OI)Tx(Eb=LfkZt@S=|%1^ zMUpH+*N4B4D`G6bYY1WszjMLuZ`P$QVj#@-Q9^#sOwd^Yfp@S5#kH@%xasNG;vkIL<#G!bBwl~ttnQN)=leoWBi$fkXqR0P@j@|C=L6LA1 zo2s+m``(6P*x`o`sp~9KeH>Es|D_|fzaj;vb6|oL{13hO$~`TR0hNY2CphaMM&Nu_bvhp9oL86<@>GIiB5wQn@DlZ2IG1GWfaS+ zDM7-pcFg90BaRfmQ<67tY2upJrWI`X)5=ork%JyCp%UuNL?3!5KL=iq@b?i_| zF&sA6zjl%kAPMpb;Z9W5Av*|?4yL0f4{CR>vTn%%_}jbmWa?`s;OM|L0?Ga=2yXE5 zpJ3~tS$!Nb0XGT4F{duU5+1I6^NBlf$gI#$8qD>t@dN=|9v_GIF6;THUxQY-8;~+& zm=PE2l;wKAAq~4DoBw!6!$zUuoGFAe7>x>itbOr1lI)HbmNF?EV%(I5m?5S2S363j zu7!2dLSJb?7j1;A(!~|EU`Xsfwb<3Tx*tm2kHuCj%wY4bxFe|BB6XkCy1JIXRk>q) zt|8x%HwgJ8uBpdDlt(8?sCehwm`6d!l@GI}XdMLz*5~pN;e3AG z1c3`dd@bEEWH{y5*K5nNk1NBcxete*QMxahtB-$&-iqEHeg+zVVa$_|_*c`fLSD?Y zAn@}1%Pc%dnqraTKjOsLB7UMpT&xF+_yieRcswBgZGQA7i~Hcp^885Ikw&6YZfcrj zF7i^u4g)U4P;hDU_p=iy*!~Xit`4;g#~E55`$#rdK&f2+u?D-APUK=mB@jCN=j_`y z^v2r`z942NUu7{1u|ga%eMW#PU+-2M@0WNML0RZgeXKd|eP^oPt>l4a9IcjM?pSkW z%XTQPE1j~=Ej5aAq2s>e(W$t9tr)F^uHaxT825sLJgb;k#(&QgC@Fo#oj(2KSgvWKHlCZ{jk(hGb#ZSR8X(o~RV6K5=TeGE zyta3r9$-?DiOCs)$)qqQ>edp1^ZnlC)Q%OO>V@C{l} zhx9gv{b7UI@|&Dtv?H9-mqPO4K#TlGaqnG&e76wtrvR12X7s?Ua>(i}QqK1;zqTt@ zSFbYX$I92UYU2foXGQ38yiZNFBW<-(oMOxIHsUp;E$;7W-+x-bj5pK~U-(Ix( zE2t=k7xwkt@5R|L!1j8w{^>SZ z;Js-DCuSC`mV(!(6_32s=6Br^4_WW_^ZXaK(To@XoyQNBRt)iw$p_%%Y z{EwXwHA-gF_Rh}myssOHY9klGz`!{d$Ms=>rhW)M!Nmrr&SIZ1XG~^0k4ih8GD(?sQtceJ zkaC;R$}AC{q8YFvV0bK$IUx0>)YGmI-KCZbbhf!-5~dy2GB9*<)fc$kZSowxOCtv@ zShMTDy>zr-b!-#l8qpT@u}!kDROlf#N3F-GwzJtb1^0xENQrs>T!2kA2fuDR7 zwxs2CdPuTBpn;AO&6z#aJc#XI4G8e@=y{ftP2+0Fed#9VJhfa=!k-}Ldb!|}(xnFt&qU8%fU zrsn7iV^OcfR^T0S%UFf3wE*WMrAl0?Ae~<0zN=%eA*vIHK_sEz>- zP3-R+iaqR5jL?fm_zrqOhiAUNgFm8icv!+e%^ZT`1&P1OBC`+`T54iE{}jO5ASb~^ zNG(S+T;_xn=8QJkSDSQ%)Em_SsTik`!A0Xt9q`0CbtUT!DRb+`Hi9^vnRpEqyiO9l z1{>DcYOZR;ny@p$bOo+8+&LNo3W$Af%V3ey1>(oD@Pl_EEdAKI4P7aCiq;(&8mbXe z_erT+h`MVkJXp^BpX_OpU_HF-J7|XH_)p7mbfK6Vk?-`Kj!3lXF4PQA2uXJ3>qgLn z7Qh*ZNeYd~ScT=daa<<87Ye@Lz;uA2xU2anq{$W#Oau;{fJ4U#nBOUw5WaymQ2F|p zTIM=&)YN@sU@PimgfdTX#*evKF`9Z~_cIp@ABAe?RyIzMjc5zN&@BKk2>?JvKc!T& zQY0ufIz^_7`W;mPf~O4f?=y*Zqx5#U%s@KG_7qCuD^!;;P`AFP?HQ+y-68k~3o$Ny znh6(`8eT8M77uC;IljcbgDN!}^&L9&8alM11$Rf`_v`rG3%AR)$q-}V?X6X8!`h=v zu-#X&OB95xjD!#1MOaZ$0)?aJkM2YSJ{ zvI_N$b!C~u@2wnh%)@0rR5x4M@ ziYsgn)iJOYyCv_MFF=C@dLe+y^pXpD%ie|efb{z-nT-OAe}Wc_dqKemrQm8Us58&8 zKpQ5WcP~q0-rE@W-yA1s0aZRy((hD0z-2qa9fl4CDcoT%AmhFsdwIXYN>aEV~Pg$0_cVM{2S@>TbHwN z;d~kG1ZK*KdhVEVQj}H|$Hy@fT>$EzGku zAD}^_$gj{$NqAfRbCAWM*<#TgE7pgB;{WJkMs`_9tVW12u{SL)5QH&X*6&|dAO zfalsP03=a)L3>To-b*rD1w0eif{4C$h`lWZ?=uB!hA=K2M_l?`B-F^V@f76;{Wi?CSkqLQP1`aBgzuj7mIr`Z1khLG zWr!0$Hh}i>UKRqj`BSX?VSjF(?Z6dr+W~!LI?!yhBypyD-2gb=0l-BB;&7c6wq+ofDVwq`{N2{L%i!f6z4ti954Nfz(YxCA+0%NL;xW7Y0 zpfIt@mL`Gz$) z#lg5*3EMH;`7zBLqbsQ7fs?X?oL*kJa`hxl5}FDuE%HTlc;;rmX}^D<;?2?~T75bO zA1&>NM!cg;OPZ_`wokN5_k-=k;7sG*sAc3i1T)WQrGx5Y|BU-DT`2ql;Qa}Fm;wHT z@+k&?I6e)>Tb8EMsC8eCz?bt`=~7ea7Wau+KGC>2-g8G-NnDA-G8jcp7MVW{NuDkd zMo(VqxNRPb^7`_is3s=+r!a0H-wj$Y9xB*RVE#c1?q+B@En1B}(@k2O|*v9mJmu8o;1)H12;bb4Fnb{_y9* zyi!NNqnfwNY){#pOc6G_r8AJlv7;-ivo|F>o!GXz$(!RJsmb{QdjT79Lmbzbd(m+S z6Z?NSEhNEhjq)4Oi7@5h19#_Xv*k?YfZ6B_nCrc`|6{QP3S~NaPq=44)kDdfh?UWa zPkk!xfHcG7Q7{dit@SZ@{LcbRx`_X-vo5lejCt9ddO|AflwY=SFU#P<@sdw#Ef@(0n8E6O>Su+s`QbLZ}r4oOYoy z4nPNkZS*st$>8xw=BK>9SKo@<&utqTme#zwF?r~c3F?ztOfi9_Q3bK)>UoyKdahu- zx|s5lvNSrX0z`xi2VUu=w$DNBYN=f#wT)N$XrRK@q3v*;7^>iEtusYW0GKfhyP*tR zLVMsCeK%x5S>Yd4!_#v3u}@9x3;EHjCibNyNU4c^#Uvs=uHbH$A9-@12ybxY8>f`| z@VpQhqPO)K4fsgt#dlft)$f5$!acWk{d$7FMviTk#F9Bs{Y{zueM0)XP$qga#={K1 zClNk{93x0Ag7Xi!hLlG~fq}IBpAQu!C^oR&X|X<2-v;6`c9+g=>z7B0A$M3?{R6G= zt_Xv?7{R^|4@QQxug)mes+`DuBxli6adRzeD10_P&c(hf{!BNohDiC8fjMSW+Q8(Q zGDXbFl@g-cVTrN8vCbPpj5;wI%-}cSm5^addi{QLjKBo--;(<0h3n6k`h7I{S{bg9 z^g$>0)P(*avo&wmfx2bt2Jo2drHdoh3`AnM072zerh@U2?5U${AJ83# ztUQx}9Zrtldx?pIMJUILO^0PQy}6y2V(qMo+(>ifrKXPNyJ@qbSFDy>jV2Asav@P& z5n7TH<_}yh)e`e}j?@%I>fa^bA1PE3q}JGud_SaEjmO?2ij?FKinX7Hqzdz%f~c*o z{uDItfkG5h{uWWW=>riJoRF-KkAQtLX61_Qd(_DH^rA&UQB87-=ehWEU~72Ea1xE3#VLS3u^s%%yx!hfx+k;_ z-$UyJi`j9Rg0eTHGVULt6JiPmj3W`=Pmu_Rm+lFjv9l^|pm?5{-N*M7hHx=;eso>~ z4$DLQg44Kx??-m-vmlP+1-9%XrTBshkgpz0ZmgoiU*DCdXn!3KxNr{F1^5eKUzk2+ zpoCX}e@M*>RE5G~a4A$%BG;=d*_Ju|G)TynJdZMMl=TD-D~tyQkNIt*McN%mNJf1L zGlPCuY=i^okCU-B2~~s4pghuv74tVci(D6=bVa4>!3K+Gqr-EA;CW^U&&1;*z-T^$ z)xsSZ80rAqavkWi`wkGnB0cKRugK5=?fw58b-?O3XHtJ;Xu3(&r^G?k&KIVz8~`!| zhJm$?jM9?I4X~Y&#HtrV>mmcU>)G;}ZMwLyA zBgfH=Q?D*XuA`jmps3;H8iHD*E;2c3Cg9=L%gn<>JnV6~c^Ha^e@-+HOi=UD4d#I~ z8t9n^F3)~!A4cQhl^e|$F4A6}Y95&G=JRRhfjqU(Wb?4=Oh^0PVv5l>cZsd@93IBl zE;Qib?NU>WnU2mX3$hl$eb)-QVJYY9A34mPdK}Q$sGHvs%?q7d^A4EFt)#{yAXrS@ zb~jqJGFm^A;VvXc2A-MUO7^q7U3+F^*GaEczg^1{i0m=6V!r?bZ}tY^ebZtuYB9$T zC~tS2P~&UmVD4$2E_m0Mw1#$_0>l>z;>~AUHlt>FSl2;`k3k>@-<^n&4JWz|0w9kF zkoy%#P$T41P1|rc4pdFm{cF1Zq?^fwMS9Nt!-x2Ns zaQap@R;0rj*ae(f`Yz||8?J;w>1ScE$kb7}2~i1!uA#c3 zLIlseoYKnO4u*-Qjzd|0E-TIs=0&i14#c1=YtJ&wPVXu`zxR>l>8i@E#1zC}cyEIY z`lB&&4%SKSV!Si%lq8&qfAes7dpW%KwXwXp*X5E<{6Yfd_L!ZAe|uWnyaoLU8sr4* zJz*Oxa1DMX4IZlv$|bxfx-N6>GEMx+{!@@;iEoM9hmB}}#tgYfVR`@l)aKhxCVB(!LxdEg|}Xp8Zr+_7hvFPzeD zyxlx-N~^LDi}0}dHuGf(9`2lB9+u+aSX->iDJ?{N-16*i7%EDBC$>Vc2rq&_$n4YS zE=Zxrr%^cMDGOIjJv0Tn&1fG~k*Im4L-iI3)F}nXhtPkPqOfaa=6+ zwPi?CE^lY$tgbxPO`lKN4h(V~xHRsU$Q);^(v(Og8yb`nC=Cuz#Y338KDJGS=4xep zsJLyz_bSz1b3FC)+qnb?<#BTwJO#f;`8GEBbuJb_h)LmF4P1sCo`688JCWUR_*- zB!=rR-U|uD>>QEpjm(6&K_EsIB71BupNtvylYA4$3Fv~q{K za=(FCc@=Oe`n~mCO1-t3LM{3{;#{786HD%vZdv%JdsdV2fn+r?h^2Pr@=e{%*R16O za6Nq0TOrSP7hR%d8uy2vAw&W%Z$)bRnv$)+UrUl_WcZ0JpXcHBh7);v zL*iYOb8x!o&vyc6vceJUy-U#=XO9|_p~HBu{O;NvEp(YFbgeBE8nj#Wo$2p+u6gM% z9lJp{vcXbu{|i|e6|w>xs%!v^@+C5$3lH>HaI0hAFt7q7j8^d=9oKX8EciEtQ1GrW zc>V3)G7l40H||}t;D+E`miHr5@bS<~>zsXF-=Vcl7_bAS$M|LudMH%IyUM`91~4an zQ+9(ih-24$2RIv|uQVAt@m&M*h)Jqe&cV<>R zQYt>>Dgx`WfsX8pGbs>8JEes3!-CELh8j)V$@ipGV4MuA16WgMVyL-JE%17U0t zmN-VS;S~0@>ERlE#hFuvC3z7ler!3i*o)kmF_sggsi(zEqoGAM{DqE)(+}qB@4$fA~>-$7uBkI@auit9$ zM;d+*9q(Xtm_7Q=X3@Y+T;|ooTFF>?Sg4q=Z_q$(Fkri;Vj+3~RoR)=!MWvF`oX0% z96EI*mRqt*wG}_W5ga6he|;l^R2?)t$TWO}Hk>>Y)5{pCi>)r~a4C>20)*#Ad4tbp z0a6qIIoSaDP+wWI7lGp)4%RmoRtO=$(sQ&OFsMY!=6Dv?&r)Ia#})|O4YI$3>y0$M zF?L?vZXZoS+>iJJ8B;8+k#E6lH;n{#h!?P5%I0AAZxnX_;4VN3ZU(~?q9Ax2-L@>vPRp#y2TM}tRemcrC}gu zDV9CB9~*=r%5^NxeoYca_FtTXA962Ae%T?>=l9RWBdMLYrU#1vi%8;A_KvyV55V;U zZ~Ew!@PIk?okYr)(A!(ox`WYj121WU(b5fEb(ZV*cY+D#SEJYNeg&H4_Qh+SLOAC&xBw$5x%pj2pTYO$ECajQB8O>h?CQ`QN8G085IAG5MXUuc_5`7hhB6KHX$XX@t4>`&*=n&UmrN_bU zOTfBHiHQBeI~$c@DER~TU3vbvl1hQ)7e;6-nXr{`S%-*(xX=xBWx$6wky7TcQzbJ0NIOQ@y-HCc z)7=+D^qVg_MpwEoy*1SlXGbEdupGt;6xM8BKtz6!{CND8h%C-%R z6=0)!Ix@HNr=b+@FOqF%l%;V5=Op&0?$?e23t4Chq%3BqM=9RM&Yy~4HpH@(9C`q@ z8I5+IV}$2feHADx+(6%v6@#=CFl+H09(j|z-s*pSgdmMCW|j{Ruu+qN6~=LvNg-vN z-C*ee|Niiu4e$f*OZouc?!K4--e?)e4X}8o;S~V=R>xXZW*80rkxphc&WxbczF11o_Uyzht>C(hYCE5m~S2$@Q_t*9$v=741HKF zZlH*o$K-$)Wg_8rr zBw5^W0RNoVuowS~ZlKMSJe}8QN0O&BueGh5U1H19l-I$^9B~ z`6svGX#VNZa0LFCyh6maCbk0;_>LyryHp~l7corcfcy@e6;5;Fuq^Uwjd!XXwfw z%nk23>wK(Bzr0%31J#Q?TTSAMCSKA6P`H78hk_;G5xgy<- zZV%c}g^@a0Q%vPmd)znkw_7b<0BrGbq!+2PxW6d4ZxWqXh;5i|(^Y2xId3A1Gk`HD z{*n}bNsBA{oP*`VZ!5}MBghRK%MEQcZ9|suQ)T<{n716xg_A1Zy>P~9o`}~%jn^tS?2qQ z`@b9@8Z}7=^u8sWti|lSCYAsm zl1(7h?ut*~K_y1(Sv>X%m}k8|=M1TUV}H159Jf8RmQBTPT<3z{9c9-`$#qh4|NRZ< zX5{1mDb58cDcI8EX8%L$!-KJM_hB;qnLApFy|**F`Gs`zd9iAcG8s3gGG?nKIxh}Z z2EJ$*o+rO0Pa2gLOZRs<@~ya*tgFSAXIrFnnBh-I1I_`pdhM3&0>b`FS{yAcs)R{O z`c$#zj?Vf+Y)320n?*CKPdV^EIgESW& zAW+Px;l%|<$O{$u6zjIY$=qdZgfiF1apxXj!MHzN8YvW>7y>-w{uRd=P8U5S8yG+b z93U(D2u2dl2py^rYGABXOl529RV75IoHQ{{86oIG-Qm&&=L>Ln-)Qk3=pXBif2&!WT2wNhb+AZVpfS{bjcC~2nxcg^Mb$RWa=h9v6VOd8*B8t5gN zpw;pEt*q0G#iN_kobkc6s*!`uJj^dcME9C$h4t}#*ldV){$UuJ)v>0fkaCU^VtZ4r zlfhH{<&c7Zi!GR4GrDh+3!KZJh1lMFIFzM%#-bHw?ptK&OU! zVb%xv8q8h+Y{)8e!w>_Kw`D>cDG)!C3B=Ilbfbfk1E8EZ7d6pDetvn~Sem7hx*Z(b zS2~x+6w^ivlH{L?3VwtT z-4MuP9kfF$vG9|nSo_pJiQ5Ouvx0%KKF}1VhQH)P=}J%umWjP|5}^}f@tyDNi}*4xT$@9~mt3(wy3YX(?`k<$7?d zQ6FX2P%Z<@lFxduQAu^-8XXb$J!y2XxCw&UL(M2Jav#t;RO?~!!Y4s?Oxz!=$chFa zGszXNm$)AG(;i|8<0_pS_x~f)M4>C?=#WzC9WAB8*B4R{Y6N}prU5n(I3dvd(D_$~ z3b_E$S(#XzANR|4j|ECy7{=luQ31%_pNnut4^~j!nB2?;q544QWtoj$fJKIY3#@@I zx{gvG^a-&54lS`o`rh%Eejude03vb!js1lWf(cO+s4IhaX9VseIMX4}_@8n5vnH2XMWQNl~M(c~{r?rNr)RHHu_0zb2 zht>)W85X|PYq1n_M9ZmLXp|ysC4b^c%3a-wdT$|nee45h{d|MJT}?&mD$WOsV(2mZ zUT0XcJ;D5MGKshQuiLk6@}kY}`)`2(vt(cMro_Hso^M2B$(ZABc+5Z8PiiGri$JvL z8NRG~ibDPCJ2(}=7{ImKOw5p294^#T3f0;|W!OnF)pO;`Pwbay)yKl;Xc@`GI-^xj z*+;N_^q!x)r^@Zw(R-O=*kHQ?f9siy%;1cBO#Qoa4W&$5ip3vZv#3JB@yl|=4KUs9 zLFq>xyoV>jam$2k6e1 zbMOitiew+@{)G;uQxym^V-GU$&@(sEqK-p7T)L<9Fe%lzjPVW;fQLDNh}liYYEntu zk19%rKOR6Z5#3#SdnK+(inWII0Vn`cAEt=RpC2f2 zO$zLdNf8NoqDXi=gd6uK7qA16VRUgPD>3v+h3m=`Nb)3*{veQ!2tl&5K`C~%9PQB8 zxW7VGwtKw>bulQ;GGR0_Q}O1)Q}Y9mvTlD(Po5k1CbRiLcqiIPo}~Fd13>4mB+?}OA08?2_v^Q*oQhK3&L*>D!g(4!%S zKXk{Hcf`uKbM+59y{(AWhs*|IKJnu*Qlg3TXg4%#I-wBS4`Xvpzz)D0GI zZKOm|?yy+Fw5a`w+fX&(1i#czVE}I$v7pZC$7`aGOD-zD7)xZYEfY)Lk_siadn~o! z=Q6Pwv-eUoF_62h`A~H{V+_tatE}fMk)^$n?);UO|H%gX_`!1XP55Z*E|-WEn+=KoSY zGqKrQu-Sk2*l5AFJPwp02Zdp`^2u!=71!@ApP5+hCs_VO8s8<&wBT7GER$o>>}(&mL{+_ zoa=(d`U_UgvOwx$SkeprUJ4rKS%O`DwHC2Hg)DW*T-TANz717nuA85Uz%hcrrMpK! z3mz9nfcbmaY*%yLE|Jl>Zh0m)%=8xbU)xIt*YZQ4Jp*!R!9`Ngkb@cKh)u{Szx&T- z;ZcUzA@jx9|Mp8M%#)pvjOIyXe#Ve#wDwWE$59LJkR_49aWneI_BaXWPc7G~ioL z?Cuhv`}mr>4q5 zy*43<&uka$Hj)&{;$)|02zn)|ZWUEs1xJ`(7IEVq5@SM{ zbU80}aIV)(A*oehBlSsy)**Oq$>ouvKa2PGDK=mr6VCiZ$aZ>CaNm*)LC0XP)$|Nb5jPA*U%n`lC$r0Th1v z7L!cZ-p~|)@+1K77l2>&U}pMp?68pfd>A(HT zd>Mj=`|TI*d%f_4`NDm#{hu-q^sn7vzi{8H_hR#993EbN+&plrYmTkMt**89fm>a- zJZFk=*Lue9&4Y)Bv#~xFs&T7p<8RFax4O1j+_=>>=0)?R1`j_&PYrR)bN0OTTGU4b zV2^$az(NrODUJuF5uG@Zf6i-|&Of6YD){I0hK2ldO2ZTUb9}>7{L{bTPyBOu!)pFH zxZwl-*{`9Ee{vgo04n%%fBaFA4mUZ@HhDG18%<8*pYs}S^cv+Ew3=B7>9IX~f_tEA(F1;`G zU;3BP4DBYa9(mW``+@U6_9;$fqhFEa5G0!iac#&9{XyREO#RzU{h&l7_Gx8oJ$$(9 z;Ut>1YU__a#c+I@Qt2$MR9W6{&uI1IXaa^^ZLB$o$dE!DLd^1>1#~~YRZy#pH3L}l zX|eoSEeQ8t(Sit8>7{^t-r%uCHJpj1#I#wm&Z1n|GN&f?c18Kyg{24K-@~To;@>%? zdjPGs!Oq9Ai#-~y!XKq{+`s-C)ABmBypG*?Mn6sJ?VqdPfN>W5c>LF&i#zWzywm$( z6i|3}pUPM(_U6D{GHNBdYi9zGqzcBlZGgCcBhhMJEhppN4Kof-*c47eh6is2Nifzn z<{S6>P@Qc3CEEl;aF7Wi)q`bia-OPnj>#gk4_1#hoa=BjiPPn^B}mB!Zj-^RAKQ$u zuB_K4IxZ;7Ivqo>|;?uK17Gg4hX@2h03movR(&B ziGpl!J4J;S0tgp23#5%H6ZupA;@ANMtR{vNc{oRwyFCqfM<(#80{mVDu0WcC zTI-6vf(HemxECO##{U&52rc{~gb)*=20)}=(lig*2ViDM)A_q;Itw;=P)An|Ei$_! z&a0Z)(b4V7?LDG*okGQsUA^QXS}2v}1(DM0>mFDxdKjt?yEoG>37&0`H9RQ954$tP z-e~RWg`xH;1ji}bo}vBIZK1AiWTQbV19{>N44F>@poxE>8uFShGpG#U7~g%2r0e&E)+l9sI3vsTvE|5d2mnuS~x_DEIS zeTQshaq@Ki;wgYxe{zo?6DUA6Q~9^d?!&%HJV%DsAo;

      NnBWhkPIWLY09L9QtFS~5w?>tArmmzXA&R=?O3q7}EAO*Val z^zHf?ia;+-$@O!7C%!z`M?3-$t*%1kd0ng#w!*1(C5?8#Fvd8}4}MP52)qFi@lRqd zn6o@^3ARVf#lx&MIZRFQ7a5;v~E{RTc+(H8A1Lz*s9>&9g_^2XoW}1ByY(_g=Q-9qiO} zQpgn(GsYbMD5i2S#(%Wxet^YYX6sQ^_@dE&R+VN=Yz?}<2F8_GzmbJp!xZ}8=vQ;a z8N)1K#5JnH&MX5VgZ*_aN~@ZXhQ*p^y~!U;{((@kMt>Bf0*ef(w5NgpfQ8=z#DJ%+ zkk%y_CK6hRtm8stoh(aQ>v3d{%aK+jNs4DhUx{sy$*rABuYC;IGX!j*xu=b2L%^Yc z)tX2_dq0bI6HM|Zn&fZEG2eF4$Q}MXHL_E%-k{nS#)zCe3k>#3Xc4>}pc8AfdYG6j zSb4z$k5;Whrz*=^A~SB8TaNtyosl`$$q#rCdg}VMhb&xcW6PnAI?I;h!~<@w>}`Vc zUagBQug?crmV@Uj%a?aA>-pj-0GaIZ;>m>E#tny-;`l{gUqgmd1Byq^}vAsY_$FC};SI435*EL(6&r62&Ho2rYegQtvOtkDL1cs{#SUiHjl2&dZ(VN(XMb^Z-#@WtSn`AhEP3J2Hx?3 z%n6IZ+UfeCIq^$K0Xr?qeVzaAMkQhlwrER)>xUL$(RHEq12k4i3$&|QKeS-|Fa}U` z^*#LJXf=1xMP;n3uYL|X9O3bH{m@id-ju$6Xb;v8L*2x5JNP^9FZ+t@Ig|{q z=z8lBtZgg7 zgz&wES|#oUh&(P;x}_j8B8Z=Yo!z~mg1I<_kI+j<9_Iyb-21^)B3uSwYqHj zGr9t;leTO!-*wrvp35ff7iOLHvTO=>6Eo2?oWe6jU}=FWm``}Q2rv8LqG_G~pAQ8m zS$`~tJ(%m)EH>*8@j^taN6Y$SxvoE!hxjzdtI8zPo6_&gWtubVk6Krd$ermr2IH5toX%2o^oJzuY z43(Ovrq?X2ur>L^);uI!^K_~C?FZ>}m}_hDhpqXs$fdz{wA6gn)?`LB^W|Lm@@xCW z_2Ui;lRqp>HF!+TxYYc~ZfgRMNP@c@uFXrN=E=LQiM~e?2L&~8X41P->JIzN(qODY zm3Wrn$Iq67t|q)?_^>(08%{~-4e<}hzrflksLe|}gVqd+Z0KrfsHxR91nXItuF?{Q zKMY}#2tzYexn8PW_I`S`DqD>|Y_+0LdsC$1gpBs8ZAJdD6@$FPDvVflmpW5N3?HbD z`q(4!`q(1;w**RqX~O(^u|5i+CvY~@hV3I*0d0%kFLGALNX(fygeOLj**&`$TY}W> zI55+KjreF4oThkT0*zFNCN!IlmqLil7Zswj+!rvP`JzHJ$bKoCVWl1D`lsnZA^72F zDe)Gl0O6&X2p0>&)t|F{gYe_nu4FCVh|q+qV$@Jv!dH5HW{Gh=ECRKV!29BJx-l6G zG)xg+bo#|-$_tmLqCK74DzwuGL0z*j}TkH2bOTgerkGtG6#~Ypr`vk0!HFJ#tsG;OIuc56M6yJ` z8dZ~fs;%eG!vkC+DwM;s%JSu*2R#n2U}!ysoMUjFlAyZ zjNDXmM3H6tqo*WXp;GT}Zda5sO# z?hj6ELlA-3Fbjm!_Ma?Jpo@^}kJ8qPE6yQ)PTE#w0$d^h7YV?^HL(RyK%f>gc1IFb z01qd|ik2SqGAw5*8wrlQA>(}!L_At`A>Ws@311a^9c-){HaG$m_>44mk~WqKc{~iC za7#QP8-9-47%quF?)OW9Js|}9e+2e>vVIzDT!gv;RX_O*BXF^oWh9#Yhg7(0V-1z% z4UsY=6D7(1=ZrAP@D7^eWiQV57;qi*peK8%hYNT=SVgI6)vl+!VF<#UNW($9vWu z8Mg9Pmjz$uk2`j#T1GY8ihL(`9^GT3Nm<60Lbv2p~fiTNbUC?Wyvm`0$(1 zho#YbAC||Z17pjeFKX)b>9kloJ?cv(aERZ6t%c6AWyRhq_NM!!u&{5F-fWUp9Jo;` z$w-0-nvG>y*6Z{^$BX?DO=3WqQW$5LFL6O11umiu@#lA?L~@)CY5f?iL17uOqvNHc z&D>CVRfa?kt}P?uwPg;?4ngZ;MazsXBpNGDEU*1{f2gX(`r~h-E1h4t{`R+@ZoZlg zuoxDgT(H8euhZ5b$qnm-4il_)#O^%bpak zamm|Z^Fsc~@cDJzQ!3z|5=>bk#lCL|DG+fZky-at$Pi&)Gr#U!$=mSXP-v=aA^ea`q!eE9BVgCSa_vW-A7#L65E&p~pIQ;W+o zQPYbO4;Iu4(Py~M{7XZqB`*%MPID%J(bBi~WsztB91sSuuS!gtAJMng=_0ADWIRew zf`F7k2hh<%g9q!f^W^|`9$2M#QlSL86(HI9yWBd&2wR={SIM>1g5xE& zTy83YN6MY_Qlu*c`z$i@IoTmtCJ2_w;!@>vX9%851TS+V9=EV&I9OEztA7Yq@^XtP zO(4?|?V5j+q^2gW7`NmJVM5Nxgk3MN*S<%dRXoj3{R{-b>`~f>|IW$5zdcHk86AIf zO8evAUZp1{afZL+VL-$j2%lLbIRej*>a&LL;`uRsrawJ-7@imFGkq)EK)2-?aXjCc z(qyIx0$>vl;w7|zZZ|?HBiR@xfZR!g{N}%jh)L!QJ8M!sV{4AfHeNs1iq4C8l^%iM zh8z+7p3`xsI6>f$m7l-P!YI8NB8ni``q=#-W~+bhy&|GolrMc>MH=lPbt+mRiV$!x zJv11-`t!y?Yz=z7{b3Hh(t?zt$&2PEdz$DD|Ji>y4ZL0DESSq-t>t)2Kr2zVRgM$h zl+ij==3rfdo6+j;V$_6q82S)~jDq3u8d0h1lStCM9-FO*TEh>e(b4{s=py^X7dV*( z8fIY;6MZ3qne?bgp&VDk1fk`lRXnM!Ps5LlR&fcGpoUhR##hbqq#9bS46C7=!y5XE zrvnY$9M;gyU2Euhjuf8@DfW|j)oSSY8W~g7(DcYc35$_~={TgJ|Mhn%W;OJB(a`Iy zhOV>GHBLkGFo}Gv4NZyxPFw$MVB4{(AXHu7CaAM$2oMb@d(Mt8W1lpMX6( z=~}V(7mhDY-k?*PrBi1JYg&6X(7rj8Wtu04Q)Qeex<6I+N2!M`d3K6={XpXoQgwlw z7#28^W@Akn_m>N^r|1GSoQo}5W;4x+ltLTiWR(u037CuX9&e)?@+;>Z`z!aK_E%mD zeoex8YH!v&iAsSMVzg;ivihaiG$8?STk{vLBXs z7<|~bxwWJ6<);x7rlR$TFk0|GQ86{2Jn0);wvupZP8sstPi5uvj1Y5g~K7jgj zJ5fICbgl#$@@t7R=u!qkR2w@#iB1>P3DpDG4(ltip+CqcPB7dNJTtAE5(X5wh6i@mH9M@wX8FV4=12UrVX z6VZEkG?@}iGlf(8#5qQW%O>(Qtr5N+>t18qPud<_hTCy)kpu*VF+ly@gWO<|6ZZ}P zulspA0YD{~FtGhZByog<1hradT=jC^3ClkS@@B%TCYf;%>7Z+ZgO-}v0!9m4uR_MO z?U*q*)3C;@x{~Es*U|&g$bZ&mHKEDt_3f~g(MMF4u=U%BkHc0XI$aDb874BNs#y!%;Z^c40+to)%k2-uGV z6K)3#A%oOvu+TzAPJws6?O>~G{4r_#xNzfRm`rL$uFO_g&*pS1gCus;!7Uf-<1FYt zF!@Bmv|&jqNyoVXCzfxHKbRi&RfU2goF4hml4f15L7eTfwg9}gxkz4)17qo@9ek2= zCfrbrqU7%x(7-(BH0wgnb378As|hh|2XheM=nG@`NHpRXd$Vj`+gxA&D199zld^Fo z%w}Bj%zY&64%6O1v__57&ev>{6W;7Ii7ps8Oz5qc&|6Q7^_kUZgbui2NUZok zdwqt!VMzV$GmTO!#oE-T=7Gl!DzRt7Mw9@;U*V60;L6*@6DH%bsUC|b;*Zc0cXk_7 z0hhr9d6u?Y(nXe7uZSjJw6NOMfcr_9i&#b#U7JS5~N+P@XG```_Y)Q6ZyL+8OAW z)>s1@qZ$bs%Z1Rz{fXL`Qsh@q(#DiAtG5L9pfGqXVK$*?u1$Z(%Y_FFCkUWt%X03Z1|KY2}aJFs(dYCs2!FtgZ=~;O<@qR_RR~ znY2ytX0mkn;K($TPL_Mw*abLv9oLX`i@kN3%s)n$=6JC(jH)W-kq^4Bo0B)swFTE&hyTqBQdx!{x;SN-%IW?|nVUfg zJ9jS73U=;#tyLn(r zfL=Y#15*M_#zT<(8gNtc;68~+a@q&5yjt_oNhzhYE54_vC{KJeTQekQ=~r;u4-uia%SBgQg<(@Tc{QK1$Fxcb^Xk`Ia2pc znG;Oiyy4&3cJqR|dB4gafF}8SAY6B!pj{lXwKxyWtg9*cE(_P)7i%ojUo4z$-3gg> z_Ys`?hU@M(ywKJ~RKBfSlUY~qM)_E#xx&SH!kV-9cY-AH@eNi+kU|lGcE4s%kx8-m zl7r^EqQ(GtCPzNI*PLZ=3oHLIb|bY%aCcYf(V<6a?v^egXsVF#B2~p8BTsL5t_ax)=Z(XL=Xzp%4ql&Tx<0S?0MIVHAPeMe!!X0 zy@7n;LSO7~#r^i)s>8VT5c-ZZVxQw{zIIkDQTJ8M?J2T|z-p!~VsHMq36WQygDY@f zAC~{0$NfJq`I_XG6JA(R~aL)R`6ilE2`}EQ=rG0LUdAnE(6@?jP ztZ_LvfGuwEBWy#XasOYxm$?l-qUyUa)-uQCnZ;EPnz@YPv(`MVCEY7$_PHXnZSIcc z>WRSYr%Y$&xly@II&;!1qGD9R={_O0okLtaAKALQBa1N8H=MS5+MU z!#9vX(9|1iRD2JL3KcafDpsfwxrz#UMPjkO6czP0LQ6FfYz4s(O&X)LRex5kLZL6d zRPm(}(P}^qXsrfCK?R8#@mz1zD5+qj@_fHD`*Q9*A=uyZfBsKDm78idL^>!Rat!qho^e7hJPEf?sg2gQ^-0pOx6LR9ulG&E84MDLaLI11U{N&t=a#R z%tn&l*&N%EtiWtfGI;1a--1bt95oLLH4C2(G3kgbCcy%-@f7`ObQke9ORx;aPhpVZ zl5ShH89}4x)iW#pZOD7xk@uXCR}d!eT2KTr)DRn9V|ra`g6(`?@I@*3@>9|-;c0N^ zqgdipAQqyyVKgMIf8Nq;wvWS#iVedN@xIb5Sw-RiF|5+Pjiq9S)F7vKu4C2IJ8K-x ztEB3)wCYe5e(bH5Ihvs|yy{agrmO6oy2CcZ<9b`$uefxy+$n{PNMcUSr&~>q`CHwD zmj!$|AP2G!Ul!q|S#0O(#DbQ@dwI}{N4VB4)7Hg8tj>rRqREf_JZ!@ z&#)~^6Ep1d>Podnxyghm$zbu5q`hogiuCo~UXi8`MF}=xuGm~W*x1N}7fvCtO?j9D zw)EJbFY>nCAU)kLa{_#~+Ms*j&WtuF_7|f}y?9_=LW4HQf@Yfy>J@5G=Eo-gO|SUP zr_&WX*!A^6M31A#;eEv?KpuG5X9QmMV4)~-W%^+R86H3`Q$ybXeH$zX^Q0V=ym{6^YUJ=SYS z$qS5=kYzQA6ySJsYKxR!Fs2tF7cN5 zFkz|a)g47aT2zadRdu6cnLJ0?e`2cW0lNS}Tqmk8l<&O6AzX{VGuRn~Xn2Sty)kyj9-tk(slf1g^M@U(gURvkV=YVIpFQ@w>de2Dg* z%!$U{wQdBg{>Ph9*_c@JWGOm}Y0qQz{p-&!+yeDg^Zu5>t$9mp-rIuzi{+(UN!+^W|fB z_xRS9#NY7W6Zmg2{%gX2Ps;j&%M?5KJJg7F6O|kMQ`wKSB1+xhzen1><6|Q1h)mk= zx=XW$u*Bm-85H0c$4L9dpYNpoU7WgA<>Sl{-i3nqG1x+w1J$D7!B))Vn?E0lEt}r_)ba7<|C* zvarzYtsuB~p;V}}J&Vs)lRYh(?C-X*R+BxGqsgAd7F$Eb66|_ZJR_L~men&~SxY@K zqg1?9pTzrD>JhSD@mf7@9IAM;KFMgX{jM91ay8AR)PAMrnyf$DNd<7lHSh1&cv>ko z?$q}T`+QumVS&(^*@MBK6+z817Dv1A=^y$DTC*{U$rCYL4Hfs3sE358M}?>-NED_l zyZThF6GK4eOoPQDyjQ*Tws36WSLS6K2cyx*;_e!xRZ2<^SWVbt3JuG*p@(%?;ub2N z0ViUshsT-c=&)QH?dA8Rm!~cg5fVLV^>ATu+rNdl?uKPe$1n^l%w4OD*=Tl$mlgIoq+e)Mo;jkplOVQ>W~PY@pxvpPn{=HC96#kAIltowx@n% zzK#ohMYmZeswFDNy?i8wk8v;mb!X$XrF;3o-OK~s%a7Uzx|f^m1KrEd*ay0o-?a~P zFHf=9=w2RYztFurV^4#c?&Z~cnFqR;ukLRi=w7~h5A#6x@)!GI2p=~`wt!zoDOj4!vdHL0W!=n z8O+N8oD>CAkN7kNRQ+6mDUEJ)4BbyLZh0c9GblFwV13dYUg|a8o=>`tm1eVsA(_db zmsI-S`J^9@B4ZXST(kFpsIH!T(rw!MFhA9weT|fbLhr=#p?jZn(V|FS^ua()1|z~{ zi=m^8Z@Ad|cZWvH?jU9J!ew{%WkWvc3DL6ZlYT*_F++3rKIvJ}vfq_@>%(P74Bu*L z9^q;JOSJ56Qg&>(><>K6Kk#K&Ma%9fWp@sjJ;9efp~tfOO4&EWWI=n4*`B**FRIKR zhoxRYGDwT-0NZtP)}{KqP!Yerl%*q<`6!Z~44%j?a>zD3?jNhiU7eUmn&4=M-mFGX z)`8+)FNb*c=xHA*pfPAdhScfer!bg;RzvSOGzNQs;HB_u#s2@^3-5HvH|#u`ty`QT zJ6}3r{9i=rU`~e<=tIoy8()FrJ)P594LM0?!j<(bNu%O{@d6M zA3jA(um7T3K5$K5!S5IA_Yff=vb~dWJtPU1v5|#44JXuh9t?3AC8b|%~#tG4u#f4kHtMag2E|fVg{6#3M`D1rnSaEv~T<|FF7Zl}+ zBFY61NH=OS*j)jY3q5WPTp~I~BiD$}!*>A?kWr zl$9Dxg(($-<+t^~0FR;%Wzbwac*+HyHN<<=fJ>rt#16d(RU zq%+D{57;JvPb=W|IqM5Z6^#F_WeiTQU}3|#5G2Mj#}n$G2I{bGpkRdJ!V@%sChC6_Ksj*~ zi@qU6yMm2(Nd@%UVBa=gI~`iz6k1^l0a5om;fPHH^w!KojuYM8Ib3=LyE|)uUo7;= zP5`(UlMD`?FTJNF{Z@L!&HjsSY6s!sW`E@#B^puG<|-8@vJhDBX3u}r5HZIQv4;@x z2U%2_p)(cQeH(7}7k(oZ3G2Bh!v85Kyl%2H5(Bf6!GKS#?Ey0x7Z4yzD`w|%q#s$K zf8|>{4o%?Y^210O-S2Z9WejD3|63?4(^7qh?}4N7f~s##^NGl0BJ3TPx;R?=NGbl} zy~15y-UR|i_l-ZXvc468eR=pNe{kz%aE3Pry_f8XcElfEHh5`0GNu5pp%UP&-GJ9L zm)ok*T2MbLT0OVqlEG^4;+hx5g;V3e^^J5gaW%l( z5Z=335iNqF$H0Gmx&2r zVhd4uo%A(T{nB8*&0y96RAqM)G3+`x)QcW7BIxm-DfstO{ANpvphKgeX9;N6@BNTT z>vdYjx5$MkBE8hNI4z67_?-QrC_*t`6QbzP74)}-(etbZk#f@o!&7@&O^vP|1HM9gA@JX42{Ka=?6U~ix+ETnciKj z>zb$!dm-zi+&u2&=6Y%1DO#VGn|5?VH*#}x6xSxmBi(w8{+_NV&mJ zPja)?>_TYlcU7+3tgv$9D`Z4>GPq7E{IBK4%;EI!Vl9X@&<3o1{92IDvfJ_z-M-j% zRJZSp5A7lda%0`T_rGsms=~nvy)*r54o~s;#^+pb{vKXfJye#0JK$7OMUj~zKDP~9 z;RN(0Y1p4&&(Q5Q3?j~|g71mh;yuQ0+2~8YEF~vvNf{c2!SAq_0kQE5vmAeS4=l)o z7For)s4npl|E$ASM3@~v#h4L^412-vLN-D#raUg#nf^_P9W|aEM;mq=3XQbN@T2%~ zqlni!etaUWy8VtEe(Y&9jrE{Ae)y7~Ny+oIq~S-sc2}4mJm^_+S$)MSXj2@=lk<*X z3#3B41X+^dS;7q?umqf`ScN}Zbr+jgVFmnxn?&u)x32 zM-~RqdWNlX`q>HEi7=OQIlCalSq9Nl=pbk(8_xc~6Nlt6j?G{NjT_7APRHv07=;M# zl67>M7d`HvvE~S?eaStgT8quu{^Jx zh=;tE+KccLYpK0he=gCVN&0gsf8vX4r8s3%z|4!fS^~!x3v#?8a@Q}l#9#o~JN|23 zEwNrU`|pI0u!w_cW)_@Y5tT38LfQt_inKx7XG1Usy z=*ce{8(G?J`xTE1KD*I?RIp~#bcmJWlG*ubD?&12YcB%=dA|XxJ`pWhUU1NMq&d$b zT`ge{T`=cQ{t*H;4qqzq1zS?544c%*vi{O?@BAIys7g+H^Fe{2zmrj;xut--(J=ach$jw8WDq9t*Vfp>qp_TzD>dyr=0U zmaJ}S<R`cibrZ)aeZ2FWx=Qia57IzEo$e+`jiup6DX&?TKXd29)W15cU&*4oc z@@G)fSpE!XI+s6tHeJe}U7CK*pQ5H2{3&Rv!;cAamMy?lc;=E$_s9LLZXoT)n<`Vzw~EvxvzhkVFSeb zq&KwrZV8D6LTBm-=uh!BlspYZI-1(F4XBgBlXEFpCi3H9yh1De#fqJly?UfA8GKl4 zm>VF30qH=hLN&j*D!XRp4(vqaLTZjy9!vSkb&qj)sPYU>qIc%uD#t|UV7UCHbNQxK zI!rip3r`|1FCgzgXx0gYL73UP-VU+g?l24bTZy6bCK=q;Xyio>P$Pc; zTD~=NV*H7Mfx_}u2adhs;PP&vcQI`ki&+mtGF%%*zBKPodel~)ih}YQQI=Nc^lyPw zv?Tt8|Gvb3o4CG^V_LZMrpl#CDhy^EFaE~#d>I8r4YNjJ7}8xv_+n#`JZNQkpc_a` zyPXWCHnLK4umEw+raYG`60j)?f7h+4Ix5p^9UX4wQ}FKR zZ_SXPt648I{-*t{DedcLta)q72Ar@&(m3cPy=tX=Iv9k5Za8!|oiBM%q7%*^sLRk< z8wxgtc~@!}IkJ}gVc4)diK3|%{v>Y_MPvFKP3cSq)2fVgsPS`(`3NmGqcvNXFn+Bo zRoo<6ER0+?);2bHEoP$stg1BsjS;iz4&R@Za<;t3xj{FcFaN8kDu0e`$>!v-X#|$qc2O{ z*X^er`03`{Poh=}gUggWG_`V)RIGfk8i1x0RdZo5LII;6=-&c8(GPEEmBb*;oujDT zbE|&01)*$mH+8+Tfu_%|L>onCoij|;jixMvx)`nM=9I9y8Kx3{W@?O6H@piZiR7cA zZmgY;6okLvi(*|7^#+WnAmRk6)HKQ9i(8~dqcSvq409TFAbWkM$j@-~bciBKA)qq; z#P|Zt$jB8{K6%(OoE77|oBkvI5wWWjvH8j>-@-~9Q7Q~B)}cm-m_n>J5Hq@ZSMTfk z;^nV|4C*M#W{jLwqFZVb=V(gTd>R|S6y!}kAhs~L8Qn+4^n!DVo559uocIHG4I6Z@Hhh| zBW9HXn+jOjA}?Bf_q4|a8Q^cMmx=# zu_;#N0}Ebe9h_n&xuztf;3u`xY86f4=!HtKwFU>eer&fgY6N4Id4>^$&5QWVHvySi z203RxRI0y=g+)RA$UUcSF(9Y7SB;6!WGKziH<(a98$JuJfBf1lu5qdNRh+|3I7gcB zJ#B)TNjsxPqb%lWPZ)v5dJNX?7ETT2qe8RF0PgqURsGUgGqxZ_m^_WfEP^m@ydOPa zMZZ>=KICzDwB&Hvi)tt@4?!Z(gU5A>^6cDI*GsnjVL0QL$z*`KCtRCa{|jtZk77o} zF%{&2F+RbsXDv_Ag&xZc1}i)EPkas6h|IxIUR~h0jOce&8MjXPx+bv&J-Mat%$43L z0ULKSxXfWUi?$%Dz@}dwlJ*(YLmMhKv!$)#E)XlAJb8pNb@S2*RCgtYuM=vf7QJpQ0cBpdUoLgy6fBLF~|C$?x4bK{QZa2*%84bqJd+ zZk)gjZk4@4pC3^a<}=b{Fgn{)^c(wG<_d3w;8X-0jEQf+na$FVrviOL%u5j;MkA$Q zas3V|Z$0vIF7eF~xVAit2He-1_$DlmXJ}CxXii4I-_5&&^qm#e*&TlYiy$v`wOmEQ z5FaWM0rI?jy9H zv#B|4V0kb^Ft;7RbZiiTy2N_)<@z$N1}fHLc;T+e_v>5xAuv>@h`uvl$u0rqjuM-2 z{HDy!&wD>9>y!wDDMV3b0$P;UEN!ZSxgWp}sSWgq4vQk{Cy4$%(>E=H2$*&m zI_9vvAAGp{glQfjQdoTs(#52hv$B@7N@_s1lEUmGU3`Txli(zSupOT$zIL@OF;Gh2 zkiLbzSz%4=)byR4o1p)-tFWgc!LiKabo0)b*M(21I`-BHY#`@!d6H%0-qOH5w1Kw5 z6%6B2Cr3-~E2ZC=p%#HB{aM#JW1@xjlR|&eLfKVHA_BM|d#G}NluqST+5cK! z{eu08BbYE@Z2ibLE)sUkOv6CWFntw3SHdUv0CF|B*U4m$5}9OF+;Mr%P4P zB_&veNcmB&_Gv%Ci<;(MIO%3C2>~}McVG%w<`Q~9%Zdg@TGoKp)+*Qy2u-&ahY5%1 zx9E?`a)>`ih(F#C5C5;r4_A~LMQ~cizOCmAc#(puBD2eW=I%~()M4twKGy0}oJ>t`u{lffk~7{QPL_o}2UzS@In`kDurVPU|OY7frTSFm|BApsmVsaYh9 z>kUuXktEy;j_V>Ab&J--M-*a+3 z^+t;u_R$6wp2NFdI+JGyM}h6KoDLb& zq%evV=D!f1W9|=$LJl#IW!X3fMj;0p$U)hVkdq8# zDjRZg6mqhGoa!L0$B(zV{8@*DRf{1}`OeeXqS6`_mAN7+_0vS%r2j0E+pQOS{?&@h z1TGEt0{Q2svTNBKt>t#9n3PMwRk;+{6(ROzkjfJaz0{zmpoSP5y3kEH&kEZ* zWO^zkH@2D;;T^4_@GKI03u*?Zdo{xl5+3-?VGVjTMO%+z(NeDZcro$T%r3GvL#7zS zp!0U~r}1l69R25SN$*<-&|T#ZwaXFmyMV7Vr=lAxi-R>+2y^j~+gYJ7+_7xXH)zn~ zu0iiggZ8owVg!4d#nH54x-z?hJ%1|LV3JABdigElSz^8@#&P2Ln=MKF1BR0vF78^u zrwmT1>R$r2pbPJmM_epG4bJBqOpM0m$FwB!3L*$wpDiPRgOWc4GrwXQf&K?nJ|<83 z1Dl=gj`oh=!YNAou4E4Ygt87{77SnjVzqDyOi8gnSGSv`nwYQ|#QS!_L~b07^=VPV zgfVCc_waD@0ZuRHpA{gKfjc#?>H0BVojk zQ7)N9i}TQl0IZp@w)fS`b=1JICL;$7<~V^#io8q3=sXF{!5hedj4Id=Je`0n0Z7dX zG3Cn{NFmhOH-7Uz_+Y?J(uq1c1$5`b3PeJJ_!GNQN7mh1K(aIYQP$|>o+HoN7&*{i z*Gum|F``Il5yjo!7l~pYVGIU5fbbvVBSq{OvW4t0Q=N9j)Wf)8Lo8V|r0Q&qC^La( zx9S%N8e@os4;|nGM#A7$RD{yv&RTScbb&~TXrNQfs+9{pSrvm%V2DZ^WlNb8zv=gE zA8+u0!W3He57%h576K3Uj@gKkX{1CJ2)9Gtlfl0)63GLNyz--)+@?pB2TLz`snAk}FnB~Wv19CL-!K}J`Ov6~HJftI| zi!!m1oyVoBNYkU<4H6pc=Yyp>*eB)=_Jww^uXTg{=Q7xD`5F0P2K#+hZB)^h|0u;Z zd)!{D)0og#6&|otu9iLx4cKyg4~^8Z)6BRF*tr-C{K>fC*VfbUTdH<~48JzWV;hE_ zQ>adguUKyss?=b`C#r{-WLhxXh|5Jy&w$ADh**6y@(zHq6b)!Unvbnp?3Xk;(7)4oQ{TMAm?c${$ zGT75-FS>9$qy4FEjP}Ga zHy&#eJHV@2IG2cEgJ;g@*!1NS19AUs1Zt>;u=3xRJ>dVao6IUch zng=GXST))_Fg?Y_sRfvnK+beL{Lc*Yz$_N?&M;uiZ*lWD^H7S1oh$_d@i5pv(B-yq zr~w;-hf(%RIUas&A4cJ!4iDb^wh?$-(pQ!Sx2tO9MBmN1t}^G68T5DKK`3j1b1liI zE0e)LD@B75RbFrxPyvgkZKd)mrNREfCDNPLTxRnv1dR37=ZC)H6TBmcir_v%5#oV` zDg;@XX9O(+q^{UDfkA|bHrayM&n@N?|74WAFKH|8Z#;$A2QGpdat&)>Q!x3a%5B3^ z+=5F6pZ`SKW*tg*aF8?J*#`Et3W{;5-$fDpRuC*w1So+cSv8yE)qb0GezeSOQs!DM z6Uv&mAPP#qQ!+S9L7hLeIDY;4nEbRl%tnJ<6T7MHPC>DgrI1%QF;p=)5l*uBjS1@M z{Mv!f!1veY(EO2lAke=v(8XcsN21VN4<~~w4D|bW za+EBMLO&qTBMkK8Vd$5m&Inb}7po<0c2?JUN z0Ts?#St$ZXb6Cj4VaZ^QmT;)0%d&a>i~ydefL^M(gvDS>Nr~R*ourdv&P&N)a0oRF zpVVm5&>MbF4~We`0LBy$1_nkUhIBHxMm2GCd09yu^e1{8FA0vPFAFJzU$Hm?h1A;W z3idcxM!T3}$Q0NTD@A3pUxz`3r}=Y^#p10TS+t59PlF;ToV|?04mglG6;W*rX@g|{ zz_Dq1l#bVhj-ieYE^L23LFyIH1J>MhM|K70o0ouhXKf7uSQ+`Mm3&wExvp~IIM>({ z9mnZANB+-Cg$WMOQRxBO1n_1BRJz6(1=VZj2v^c|sxR3tCC6*Y5O)z#rR#>Q3EDKM zB-9`n-iUo8D~+8zX#T8YoPM zKxwrlBSBgc9iY3`g6 z2ALfcj`JRnflLV5S3oSN7qHFJ1L?P@kyHdJ0a;OMA621|kuhM!n{n4@Q%HZB%w zT%lC+SDE}u(?{Zo(RlGW%=QSzoZXW6B!R3QrO4XhnbZ+w(q4k+QpM9PlMwXzZJDIW zYx)~xJuqoMsr9pqrH`|jB&xMLCiQEq2r=m>!z4fFb;G2AQcay!lkuVPMe&=S#c~r< z+3|^@Ylk^L_kT7bM2859L^qT&(9!fR1kDa{379j%NZ*JZ35{~io=%Qm(03{joPyk! z2lR_0W`ZSVmKz$J0Fm5TOe*y3CTy>TLMczT5kmQu{TdUWCb^)m)iDbaOuXo^3?so; zSUnB9vWJqXTCFIS@)dD{9v7Uc6@>>pf(1AI(UCaUk~r6qc$Sd3tCq|n5Baaew*Zo{ zq4h5zZ-bKTld^M~MbG|g_=!~)x@u%Na;w!>qp9&9nkWLq0)C(Kc@o9B!$UJ*F&WHK zXw`-Zhh5B$Z0tW0_@u&%K^YBa_FU1!9c=5h^nzUpO_dA|)2XOM9_PtCJ&QU7A^-Z2 zCl4R$0~0{hB|gAI!>lp*TV}_fAb1Tb53{5A?#;9^)4uJ5_^J2fYqS^{oDs7p^A{6U zb~YeOq_u=KMWeaypd6QgG(+f;N@-1VRWjH~BN;PCI+S_MM0uY>**}63w}c~S4ctvK z*}ZZoSIgGMf7kdCsiroQtxl5b3?|^j+9qSfZ*0npg z0x+N%vZQOWvh&-r&R6rYR5Mho*#_%8^gjiJ8u|LV8Bx;EjC)U~{y7*4`mhiV6z z%Nb;gWA4X7*AJ8~X-E1^_*g9xSffBPgpbA2M@Z7T6i66(;E^Ds43yqiGBZH9jb;0o z_KvZ=O2v5@pYu7|>qLh)w_@Eg9aoB)`@8uhlf-9mrJ--@YNtTsBJ7SobDFE6$qO5j zs*T2_hLe`;26YK7Qya$``sT$JYgo zwLCy6uLsMWaWwA?isw-;7()QeP5#10XTNx6;{GDee?K(#iJ$T$a}2O3mfk2f_qT_&KxTR>rcvWI4K`PO=BoQeCm~` zZ11D}e~vI$dv`E|H&iQ9U5BxMKE_}#Za4}3S$(?Gv)y1HAlQ#m>>-@m!plYrDy@}{ z9S5Auc)4)~r$!5ve;+SYqV}xVzavh| zAu2{rTVH{y(k?SeV9OC9UsO8CJZ^OLuxNdnrfIC!r`ihzjMs*7T$&6@d5i5)5_O0ls4{^Af;>G_Jv3C%bd#ILeC^Yv_CJji#$J8Q&{aT97I$B2Yu@qt3h}M8K~NG+g*~yTf1NwCKmzho!2S>n>=71Gp;hM z5p8BuQQ)|xvt(SV-L|F7asPI0|5cP&5RQ4n=en4aH%;P5BPDB z=q0Is&l%b9sP7fjrweMchkUG0JJ2Q8R4+#()H65EtUg- z?3_wO57&ky`X7%xR@c8w2PVy#wqW83h6jolf-X}DmR>_q-W=xf+OOTHy|!-E z-h);UM>)0k9SqN8@UWO|R_)FHO!(`0SqdN`#OcCBNlW7GaZW|3qWQ-NArgw_J1vQK z7FkV#@nQ6lYLbNx3@NbRc|=AWQre&$Jhu;V;#gKSKrwNe)Kj~UP@5;z8r?UCY>@2` zQ8yO~S0uPauK&$ZH-A&n>0aIVdJd9$es{Wz8?`|92I6m}Zd$Fn@#qd0bf*bA+};I6 zGm@LX&3R7Ow=Zy;T zL>(_g{Y?x$tAg}anK2(o6%cQ!l>wP9erTrZHZL3b=r@7vWn<}vpBSH0!x`9`VQ$p< z%127&!?g13;@zkyU+yF+7qjI|Y@e#AB2iIoUPWcDa3r|#=TV)e?U(gZDa=Q0Bs!&G zY;nW6h%4)#_ZAeF9$bc3`#e*Nt-+_gFgMs`@Kv6#)o=g!=TTq2H-mcEJZ z3J+9_co-+cY+p@qqx8o@Yd@jYj?#DB%xM%><@dkQ0xKmq7Yzho7NVk$OLSK6&v3jTk32_s zj6|mtV}zR%duit2krL<72&_VUW3ZC&azS4wLwwyBhY@o1TGay}!2r3hJR1|7qu=?p zxi_MaGb1q@zBByM>H#f@wQ!9aZNb2wLlhKp$vEW99st0`mQyDs$)KM?&?teSqFUmh z^+rpybGi1JIxjNf?~mgHfwvpQtUu4Pp-)IrF^keuu^!#{-l&qlGu zWwh|>5*cLB%v}l$KE?`eDYC52GkVDlbh9EzkBAQO&yKbw4@SxTy+-3u3n37fOq!l# zHzssAKjaYX4g?r_vdplfnuiNq0UgydwpD;NrrDpafDZ04t^kaaa1AoXCp%~zj zsDcfTSz`sR1T&O%sBao-+fA^)S+Lv@-|E0H;x}N#Bm1>Y5Oe7 zd$kPTm<$(vxMBFb>b)U9I^;ieQ-94G9rC+2Cd^CB7s+6D@zayZ0hgHOT z^6ohu#C}}<9SlWv@4-aA$PE!U8oi7aV7f{M4YHb~iTqwSW6(o0@ip=vE3~$IJSuV( zxT)9|=_f_Lr$um8aLO>@5KNrRl$TJIap7l|`N%4{33-qnjObPwjp}?X|Kj-ab1@1^Nty7ItJt_r!|>1b$zI z7h4hMQ$xM@A8kq#h_#UtgRom7CrmJ-w!amut!`U)LEE~56;KlE5^d{0U$^E;Ojnz> zW)53d(34-q;}3nQ z{Wetl()XL$m1nvY6afzj^5E1o{<)*74WPuDpl8Uf}OB@S#!0cqHap ztNaCr!oRl|sf*X$10ebKWwP>@{PwQ@cD;%S^U4{vGn-ves+Qbi)aX3N`ngi^fl@JN za_~I6%)QYvzm_te%krem_A5pO%msLjNEgzY;e3EKGla~KlBqfPM3AAL(lU;1ws1qz zjrU#sXXb1GQ5HR3-gT{TjEru7@a^ZQjNXU-Y%4gc6<1cL>uM?)Py33`ndx**7$ zj5p89n>K12ycvo&%jHdA-oU!(dR5+Znl}tnTph*(8a@II2qu4Xed5h^1)Bl*?u+XR zVk_|b75sB8D~w!wvyMp+1~sP6qI# z!^+v_fhQfVt~3uk=@7RMJn3-!#pVl7I+R{$9(bPNS_{VW47*M?UwEG3-__=U=NS(D zg?Zq4hAC6b1J5%|ywW_}golnA^KdsFu9#^an(%Pic=PZy9+ujN5nEi?c6Sh$yig1{0!QWzI^AYJ{ z^2{4}BJ>T;A}UO8`=-CV*6Vd0X*vI=828XMG+{6dNc3dk`lo!7t1FQyl z`Y!wpgc4z1XmfChLK~N=2QJZ-bJ9S1D=||WA^zi7nek}r)=h;BAWjD3O@&SgZ|iu=D$>ENk-O8j znHt>tUBzHo#eKzYkGH%ZMXL(rQ76FcBLBX`+F^u%cpG6g9QDR3i>UMw+NH6 zQ81h!860jYw8vYTXVq+;7{Bo%>=NO4OUFO5j<=+3k9khfH$+NuA{VnkUK;fYfHdKq-3=|w2!h#ek<9x2d|7-$+R4*H}h z^hp9;qtKZjI?%CE&`|<9!GQW^Cv$a|5s)-^TCkV$Y!VtR} zqoA5bdawcY?E0T5DA&@s|LaI;6imCG*rl=EuPJPL6zmrV{l_R~jn!Ugpmz&HFNs25 zD0EzHpt<+raJNRGFBa(026{;t`hzI+WdgmYfxamWy*Ub9DbO89Xg4FxiKnD56o*V5 zUW9%s(9am?vM_Z2DD;&AJ=Z|@3PT?fg`OtR7b`T3A3cy1^woI%^mA}fI3|sV7Qa@C zACOyo#b#M*q`A}OiYKGRHA=g^O!$D=0@z|1Bu(Q?y{#$L^QA^A|C5&Xy8Oy#U6tL8 zM~&b9xfV))02B^-Qk1|tsp2G4#f;*D_zje19bsbZ?V(}F?#i2~Q6#?-B;On^t(2m; zNRZ|kQp;7HiGQx^hl#m=nt?GKs+BdHd&lQ6(mlO%!^r zKvx@RR^V{Yi$ecapifcgjCZ#!ih^n!`Q8SU*+^=dwT-$S9G6-eEu_KZA075>)B+Fp zBWbjOEkgyuL5qE56#G0WQLiOjGrJLp1p+ux0jcFQsS@>YK)px z9VR-7+3pVytbgy_E4@+fB4;3z{6NkY<7$7aN zyCt1bnLu^LPUtM(Jh zgjTMFurTimel%6C%P|2?dVq3=P~_RR4p2TFZOzltnvJqR!VWGL{arzs)~SvTdw_B; z^Ab(9KEpyoK#%7QCm5U4JN=2lB)Tz)@mwy=wfuJ3^2FP**t&wcPq@Zk;Y8&FQqR+g zPrHuK2=zxR^}(d{S6kOz(42k{Di-}%7_VifII~BJXhxm;VuKi$%4k2LZ(NMViqGmo1(0HrB?8#kv~CT}yIPN16c^OQ&@D zPyPF0XCFw?8_*QNx>LONabb5?A%14h=$v;$UhL{oh7Cn2K7v)LfgnYKUOhVw0QO|? z)9;Z1WlmmXqdSdKXau4Nbfm5-6)x2yo@d6|SheOB#DXz(A<=TAdb9@%+T8_hX$^8? zq>mG14>wdi)-ZN$eO~=p`RRl3DyK@W@}x>`WaAs1U}<`$APvH2Z0)U;TrrE0D~7DD z{hfSODmg~i2BRm-7{xqtf;sA2IMYY|P9e1gSu!zPsQt-ckqOkgBWtb0KTeQpqfI

      bY2T@1*V&KYF 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 z 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

      1*!t8K+ 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

      R6jHRri*qP+> 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∋EKsx)4>Fy|0hq|LCbEpdQIzCA8+p%S{&TzX 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%0D}>yuABgu=3AP{;|sT%jMs+@<)d(|F)HX za>(+3u<{*4mXi>K{(pk}}tJggw`BixK%>J>QJ`Irrd&*U)2uf_UFOa+uDdY4uK($eH@>m)cn zgU4dwMRNM7`8VrD06?eN%h=)ZayZwYvC*kumY%hpYHz)Q6RJ?PFJt0R)`KzOAKKh-CHEa_a(tI5KUB$>+!|#D=1_JSSZL>(Y znuk9#R6{JABOsfGJVck1+Iy3tpUTi?u0%r?qJy>)zyrp_&-Mqx-wOyh+a!byI& z?6I{DmAGE*`(wO;1kHWV23P0{<5hM-MoxI3xq;SEP5uKC8NGmsfBuxd)^s0xuH5gi-4XZ@fsMe%#d)QBW1aX z(AuA3NuAw%ThX6LNrIHzYas%XwW83nqmq#_@mnszQcE&Y!t`ax)sO+3TCk?qmiS!M z(GiFx6m%h;8FEUx{MJTN=%HtjU@@CF_~F_fGJ>*q8pD@1;BbmaLZ<1Z_wx?UCg$)f zN%_ci*CdnAKr={aZq1*Y_0CqXP!trH{VYi8E)!0dSf6AI^I;M7VA2MP(E1t1W1 zRDT(>{b)!mjs$7O^ivxv^u+iQ<`F^YV0+OGis*{=j;6cVExUxUjEhXQ_eyJ!{jWxv$!@w6yJY zb_zwS45tS6NU@VcU1$JBY`hLc*Rd3%x#I8 zG=SQd`o|G0U$X5DgiMNhm5=yt=nju>z#)c$`xpvJDEkqHmwE)$f#_)HpMk?bFoXI~ ze~3G@wg^Q2IG&od!QWkE^1lhoE8ndpKCjFy`#sh7M8?(LpMay=3(t=khf@ z4LgOFMu!g(;U54PtyQSSl9iNL|C}Ej2-L;V;r&N{@S`C=&}_t^XG=BMFsV6+*?%32 zSc^KT{Q4BS{woEMH&D9+$rIsBMAv@5CSD2rAtVBQpo<$jxKm4bGdn0kSCW(n&{$i# zgguJql#U~*%kZonuZv{$QT?ymO?KRxzK%bKPcEu}(7;sg4V|p-i%?`|jnzO!^rRuiEo)<6P4fvg)Q%mDJt!I2Nuz zGVX1rtw}-$%xGIO z7mlvup*%L#5=)nX(XpEFSNYMg;q#Z>aN~s3wk!8Y12-9D>}OzBJ9Facibx8cSqo(5#x^d{c4a3t$Eeuv1VxGaRa`o*C*qo z+kj;C?mc7Jwl@8~snjNLRy~_c&>PyjLKCiKqyR*Hg}sC;MFZsEgcKY7`tXX)H-T71 zvW+;jo%hZI{LtoKi1HD`YXEYW!69Z4@w(I0W+EBnkc!^n<|8EfJSabAU}Yy0;2S0U z1xZKpGe^h`E#aiI2qC@e57~hE?01FNG1O>^pZpI_1Wc`UXqD-=yCFAD zHzI5iTaggWW}pDsNG-LPs8oYg{9ZJzuLbn!ZF_80Y7_^cDqUees?vY-hl&!m%5QgM zv%K6Gv~oufLaE0-V{nLX$`b>}*{5zYf+hIDB;X7oIcfX|(LP!i1^6%*sHtZgGofS!f7UuAv0;=_4@BK!vry)I^f<|T_P%8 zo}7q?1*k#xO8uhr^H6w`>?(5FT&;<2s|O$fUGR*?nOF8i+3Z&hbVTAc@;YVnyljx5 z1iAjRH*o*V%1_n)F&8wP5Ecx+Yh*?P;?cNt#*b)Aj+?)rkO~Sm(gN(U89i>J7<|=99ZlMns)M?0U}5nbdy9XN|~ zd=@1ll2ky!w}6rN5wZw)%;gR@C?f48Lq?=MMwHlN6b%wUw)Hh-gZgid_&RLZ$|cua zN7l+Eo(3w5+&Ul&)T-r6$;;$HSIdc;2&-C7+|)m4Yh@_ce(_sXZI<7u@}AGLIIP^R zyz!>@uI^rbBkl2T<&EkTL1b6??;Dofe$zF##2>tMopL+ry=)-%t1qtXvgNC~SFF4} ztL&DQ%hz1f9lxmz1bf>}*W5_1sO-H}%a+_2dyplQvOx|NQ`UpW9>AeL90c|hjv4p7 z)NU5K?K_zaMfZ%>{<@85>W$^c9601ITEjt&RwfPG3N7~CeE0b#%aI-5gp980I9!?( z|C?OCn^c-&_xufGKzlmtb4%Nmphr8ATvFOGy?c|>_~k-PJwO_z3uJ~O;VVkNA1n?2 z4iOo6Tp*E*E=a{>^-`dQ<8&qSwEZOEoLxb#pQfc9$qY44j`?B4F=qh60D3G@M<5uG z*g1m#lkeXA0YI3d4t<_x*)>TYv~w_Et*__fs2?{=l2z0wJ~y&Le~>4+cd;|Ry8P(c zW~v{YxkPH{xFac+M&Ds#KbRA%Kslzi+Ef+N-G|91{+v%ks3LBaT2Ks%E3DUTjZL{{ z?c)H}RiA946o33_)o_HH(q3gIRebZ((oKhx;E7QJRJ7h#psuiZ(Gy0qnwk0`qW+!2 zqFYPh%61}#lSeYXO3;6jT%KpYP5P`n-%n*j)chlsE=Jm_2zZEUE;7sEyY@|yk%^SZ zij)>qbsLlElDB-XO+!EgOePyGJ`;5ViM_+f?e=c&0W4~01~HjzLx~HBj7cl0vszb; zHrJM(s5eY5y(2v-2>`w9-w;Qd8QMg$HYuRJCx9gjlbsmKZsvetk;T%B?F;$MZy~=< zfR55S6O=UfcE)hNvlvA_$|>(nXoCN(9%tq2fbzc_=1_hZ`eGFC17L*caUjtOsjdQ7 zm9XYM4S{`9;2ke0>%WAFWJu>R^~6%#1~4s-fyX4gGns4l0hEOUxgPUBIF;f z-)^7h4pRWk=1U(Ch-yD7Rg9J(q|ZpQi&ZW`-=S+rdeWJO-)Ev#dZB+euCzNT{x~_~ zeir4iuzx-AKZ>Pho8=-BVjs}vIH0FYzD}MflRvXjeaj%iJ>~$nSV(-0+XwuTMIP+? zZ4f3ao?WlbMF}fuhqi(z7kyJcI z!ElKE(cvy6BP~*`p49H~DNXO?2Xk5zM#2sX_%Q9lu}60WqG8y&10uuIMGPFnHCQ!@ zNMzuT()4m}_S!lTWY=yB>Eay=JGp21ide(>#7dZ|PiL{15~_4$5c6sis_oS`SAkI0 z*}NDI+vh;pVb*zhC6d9L-HcyL>0yJ366i&$3FRaejFh4}Kvy|m_x;{tw*SKAU{Jwj znx3n_AX@vuyLKh2Q2c!f*ANysff_>9p2VJ9o}9irnXx4~)vLh;e;zO9E>BwE+{~?5 zO29&wryRPU`FzZ}R*%0=Z*n2;k?pJUz0>vj{k9~t=yIBtj_i)CVHoJQ*Q58;Qm!`atTe^~uiV}=ymA+4l|#iy>|*+;6)49AYtBwj z&yRq(fF5b&9=N*z60e0fEnc2J8((;!)BK6X;DsUpev3y`FQ%RU6swfnLalOml2}q( z1=ffkfTkvuHx1r6wC3mj!rq+3{4woCBBIv8qvo!peXOC|jY~eH!a(R*9i4W-05$0X z@>}WvU{@)P1-ln%gx0DA($%>?S?9fHAk!(n-8-TwUbMsETJ;h=!~8D7DEJCn{T36J zkg!`Ax^T#L6R#0!BVW4Gut+I%agcIQh3&M%wh@adM9LDOo6=s&h2|bjj#B7|rO}v$ zfRvv^z0S_anka=RkXb`hR!_1>CHHZl^QiO645WQnKt!WcPD`U{C?G@-BPt+OInkk3 z^yrSrfSBYrsry4Ax|Bl9I|aoW7THK93Ha|3A9hvM^RSLdQd{uWNCqP3*Pjrnfq)#unY z;a}BQ(?eNhPlw;y09_em>ler&;8@-@%@9+i$u`U7J0&FxzW^6`i$9GHRQr>#$fA#o z-JY=N`zCO81nKaj^>guTiQP%ix9qdgCBzMMWn-v5gq;LRx9tf$egY~n?YwToS^L5_ zhm|_Q)(v3hX}rX|1dhZe>FDMj1kNNQ_GR5QW*%Aw?!QG|EWkAY z$m*IEh@hcPuqQ6-b~IlMyMYFP;<+StC^qcbnUvAa$LNSm$Vxz8dDY(P`@Pjrn0`Ao zoLxO?o}LTW_Pw8#_dOrjo|D5{B6;kgBK5u2(ns(0`R^^ZnkpB4rK>@6cAu()$jokN0|*M>&PUE2pd)-&|4a-a}BJj*J+{Zv*xp}e46@(?QC9O zx5V!0dod`wX4B%}v&B$BW%q?W^*bAOewM-X>2s6mM-qbc>G+V{Z?n-eCxF}|B_sOXxcz12^PRmergNQ6RYf`QLstZ4 zZHi>P$Ob1WpgMA>Dze7fS4G6-?D`LJX5ZGyNeDL8@nX6e2^c<{q0QC%tSPZGd8L?; zkODz?{GRK!NJ%ZT@zDcitJc=fL&O$e>FhM>2z>ke?R$7CQCL~laHz?aVK>hLBte>N2If`R8A)bqjg4_TB{w2dtOzEA{_bcwBF=kr|~!IU$@3tg29s{ zgP^@3z0#uyqGwgAJV)Y@K)2RbSZX@aMc!&rQ|5%wx^h3NUacQrTti1l_+ayF!k3s8 zsn^wi0*ns>LYjevw8esGniqoAM~&DUbS*yPDf@1J)h(&}^^- z6t_>*^D$kWeuU)~0tK5)Aa4Rmf!M@7H0RWq;D<=sJnWms9S><9k8oa|r>a)8TZ1}N z!@uVou2)wsr;{kx^RAu5rsL!7Z6sMr(&Gdv`;wY>>+`P<^9l3(v6*}?kisdR*Q>FE zu;J{ueZSEqeDq~9FCwHNhb5;yq?1jiM*1;CSoH7vFjG2>fItuBt zD~dwqJ}MObrxiRT^GALBkj*Jxm?ainGX+Oc zB@$X#<6#?wueE=GFUe)7q@^O7wN0xJs3#Hq%3AXxBZx^5U0*uKvG6@0Tma(~qhD|3 z6LG$k3_tLDJ;hdJoFzBna0pSefSGFuG&MM1wdJy z_wxSl8gB_IDUPbZ9R(B*>fSLi1qpX$z3a8tg}?IJ&(Nk3_r8(ZAN?h2M@A98MxE1C zA$hZOQEK~8y+@<&O;5MUKvhG)O&rU^Of9X%dN$lKVJ@TXZ~-hy*(#M9PR%uB?n>IGqmn&1fPJelcDZM(K-U&CwMU5kT#g$Tr57N)uxG*i+XT;X+JpoM z?m`8m=r-vihP9GTBHYZUFW6G!L$xoPQ!uHZhnnwm=y@H0Fb3mprmo9O=2$RO@gV;< zc=#!M+zzfc0&S8Yvkm_fn9wAO{H!A4oC8RY54g*JbvU?)g4krsmuE?H;pbWNM6Z^s zU>fe;pe6oEza`$U`4DhN&~6I9mBSz&ap5F2+mn%rIxxZOS)FfWNSa~I7EJ|2T7Y$T z1nam20QBMY5u%3&x!-BoLVof{06_cqz%SE$#r~}ck5c(?#E!~gl*f8Vq={Pi%U@9o zbz!%LdMN3KA@=_gwF^URqs|EGhA6r+L{a286rN_Qj#L=Jin(3w;GM@%QxsbwF!@5H z9u*=a7rv48igIDf@L5d`@3LTjx1RjQcI#ABc~8z^^6~@{iRi~X9lQGBpKKfaMOOVl znCZXE>)RkUIK<@FUjRjmKcFvvg@vE>Kv<}kXQS;6$eL(d#wUNV9=Vk|?6lxOd|vKz z8ILeek3cL?Jyt&&USH+ENApmOB$+&(+z<{OG_jv~c)cyK<37h$a#Z#QLRx-nDW35c z2$#jx?D1t3;@YHCVSSiuM~1lQLKT`zC;A60TfceLd7q6)R5u^WPu5w8!(1DZ>Qd)+ z5z@!!c8QF3(tfu=ht%^Tf|y>B=cy?_H1WRa}}{hvXj#*t*=&OsF~By&kKKq2WwA(Ts=Ll~liv$()r01mFhCt7H#q zupFy@#bJ5M-O1!bi5>IdXLr5U`l+n1{+9N3$u7drfM>x6an7^DN8r)hcLFW2?u&HD zg?q9I&MzELj8MHNEsw64a_XM~k!F=|R(2W4hB2kQp{L&}D8r(nR7iy;YPFc(`kU0!|x zh#1bRjIXXk>YYYh&clQ2TapEGu6r6&?%tGm*u45JUd@GXsw(mo&=IfdUOOZvp*K5_ zoZX(BBB|U)laiFhDne0C6md3?*%-zIPoFsd!@~nuD^!OcfDVomZAt!u*;o+lOD6Jz03#p2LZU^8-h_ySbuMdcZwiZ84)4^k$oEnA&-;Sbao8{=yH08e^c z`vfCYH`2L$Mtr`uOpj-z+DbQH0L5OxRf2u8FFdHXm$YA*NnZ>WB+HYyDBofGVIB=N zMVVx#c&cwt=5!?|ON>PxQ|Vrd3eZOsD!TC&19KK%;HaiJw1^6Y)y5pOtM*JRd6mPD zcRJ8!9Yt)-E8?DfAiEl9upHsm-qM?h&V8r7=W3r38XpNwxtP%60UaSp?qyzoyWisW zM(9xcMA(GT*1U@Wj>srXc z6xs-=qWH^tBEhU=!Hw_bRYbAjTX$&ovUf(y=*_#x#O){`tunL|zI_Kq&#D(A87lsC z!RN-uD3}hVW_uUL*j|)0P=gvF?l5f3`TM&)^HQ~|SY7o(ejDE7km=hR%WW0l!fo|X zG0HLnOAitJ^@QiwMN9i!Tmc!SY2D0x?;d-oiEz~E26!_2(pUheclWrUQgfGE#~&;~ zgbz)^<$q*SpR$(}K%IK^=E#?m1-i)c>BqKm#(w;*+w652Am@AZ{sDvL1`HWCCnxqK zlf-==wiT;gl{r<}x7|XEtdSN-mfh?FlTpq!nE(zK&X96YQJ4=OfVn@4XBG7hX8uva z=GA-U{LDdZsU4kri{_Tj$ zy_cS}DF(#ESX2Q8)u5L95CiAa@z#%!e$NI2sD5?WA#09f!^Pj{TKjgiYk6}A(%UT} z92Qc=^qz<>{xBi;n|3xbAY_+Vu?T(gL$*&G#s+ICSv9ZLZ;DFkS0v-nTe9<@(_(wv zo`$`n>3-6QlceZMd5~qsL`e{@6GA!wC#WvoVL!tcK0?SK9CSU~ON5rDkO?rrR|n z%OXI$!S72S8U0NKuIsgy-NAwP=JY`Z!>Hai?4 z8n?o7hVQ+q9~#QCJ;kcrl&u;3BiC?HuF?HkX7EoK8;kL4nZZw#XYf1! zl{0vJ#SH!gPj_hwevLD@IsE!&@I~vsVDMA4qO2{;rqeOrlg?LL_#dt zf$3C>;1=p;RC)x1xkyt~qYikF%O@ovkf|8R4pQxgZbR4LzVo8iG~kLx!74Y-t3rCj zCU|KbG6Aw(sr4MWWy57%v~fot!6bAJ&I)VIP6>H#E}W;8w#eKN^43iWh}eTKa^5_q zC%Z7Y)+WW`NrG6tlNfgm2DRrh@Y`gK>LAsl0wjdh1=`j0!)15wb)+YA#mDw{BE6^z z*C1&|Sfi8MnTk0R6RaYq@mHsxp9Psgq1qOLt>MtteAP?J>UM>6r;y&W7g-F(?xT*o*SsJR-<7m=rB2@n*$hy*7 zE;(%cjGpDUf7^M?PoeridqSB7(tLLA&L&QF;G*ga>BikYfy?`g>MOW2Q7s?Xo#f@< zO7Dq4`lkigKoJN#gU$$ch^Bm^OfpWAIrW)XIb8BW{~m=Iv($JXi0F3iB0Jn3c*!xm zRw!I=!YpPz1J)$H9el6GM35)g-|B1N^2-YZT1X|#iK z3ro2c^jG0WONbJlur*;F6{X?9yUItk&7KafiyN_jXnc$K9>RD=E(iAydAH;NO2Gi^ zRJ6o4eUHrNAB~I2>B@98hU=lhwUs`at+&`PM1|&N!$wvuJCd_?xm>GjuZ`{EH!*1f zA*tVSe-d`EUZrU^*){hYM*#5|(T?~7g!4f3x7OhL2!M4<{Hr52Q+25_Je^C}fg`*p zOvJKAaY2OPHE?DNPwos zF%c7ldX!istC7G865V9kvSl?$QlRilBEkx_`c0tUH9(IUSA7R%fpCw-A`;nWha|w6EE)mYh)KPAsapM|@)z4WnH;DZaA+ zWc$^#UeawNzmnSfG+nR6gGVu-)}h*6$4PS)S0W*exjL*v)qfc`U&9JLC4#2!187Zw zohZsyuAqtZka|8=1gf4(tRCL0D8_#_jKa`?voDEB%~<5}IAI;`Ro0Qr-kK0fcsB0j z=$j5PaSPa`eiA%SxX`aBBcUouHUK&~0e@xRV8}2Yd zv1c?1Z?&#bxxqI98R>Nim{3DxMCM+pmuhAB%8BGUk0O)lO_k6~3-Pc)6v>JMxeYl= zNYCI&Zf;B3?A8!8NRAY5P?kITVAHEKxJnJGeGZ#)dnsrVjtMmbc2fP@2-dy69oC`A*(ACmz|)+cR+=5L3^K{=tj3!MV51cHg_Rjh^d z7u2uI9JbrZyk5i}=R~{ih`(2xsdW)9Ml&ryDYz9_J!e0>GlrWU?(0(nuY7hsz})c z*;A1Rp4-Wi7`PKM`R0QRra0Bu3Trydrc4f);&ki448Y+CD#5{5h=wgc@uIS++%yCJ zADQ-ppl&+kpfjfywKK4YA-l#)i)emPKh}z8ZLb z8|xH?{lWi0cr+EyTzzdhh^zxHC_{v1F_cF>OJ zOl&;*lB)eYJeRSod|nXtPVcrd=w*>;${scI@wx+$GVdFLGEAzrzph*dbeN z`a>L8$xIg*i%~TDsNsnAb9CnhtA68Ber(JqY@}zZw2{vGAD@f3kyb6aX63cZUbD-^ zYdJPRQbR@H`0w|#=(jEVdskE*RI9rCqG%{Q2WO;*-SC}!_!4&Vf5sDRX<0{_`Dkri z2)ylRPen}$*j*^_5FYXm?S*$Br<&v!8HF0c<--19qPwvn-Y+xVqN>9(6zhQmh&dU_ z1__>c8S>mVZ@O(ap)~g<1vyW)u%(@-y@NO&BD3<)Y@^sF_(s%)8xDvJ#WbzO`^C2P zp1r8URpRYds^+ZJDf{?CR>-MDxF2G=Ce^Y?Uo2K)mq_~yoJ36+9vzW7ab~P-kqgI> zNsC7%*qmt4;d3ClZ@1pb6o6jt;rV6ufKbuH=l1ZE;30aTsF?3xP-9+#gk`!g`_W?%1Isgre8eb>Gl!r@q7qIH&Yfe8Tq}j!5xmI%N2f_HU4lb>i)mTJLg~n; z3O5UNZ^A!Y(gy@v4m?t*DYv_LDW*|#I{%=}FkhBMjwZiCVxY=fOq!MVygjUF=_A?7 zj&65$PCS>^NQ=EaE^SnwAkd-(60&s4(>Si1Nh@S0p^qr7@3yr7S}_V{A5C*m+sHtW z@y(##i|kaNCD?o+2^kN!)!NDtFhc;ZVe;{D(e?hQug`uhUtc%W*Z&1=f9KBFc-w9p z4BLQYTpATpp_hlX+YGN}|K%)HfmvjLUZl=KtZStnd8Q~d^V8_D;a=;AMi$%j%O^xy zO89Fj-6T6?%_NHgLFs1q!A-7w=M%j7gEEAu@*1o(q)WV4#F1|y-&Mu*^ATgt(sPMo zeD~HMf^a>?>8hM>w`fzC$R#&_B4M%9@U`_5tvj=~VhSK(WELFeqSx7d6cuctk8*Nk zxY`7Wp{`pnj9Ui+Cc}HRj`v(npDWFeL|@L=2S|^LK7c`F3C}~k_v*`lr)o*7cmfMm*O@Ou&RtRxIrs4YkaJGXy_&S+^$8MM5iXbr zp!@dMP9QE{dh<1kN(RGP5isqSq#L`Jth{OY3Pn_dxLm&C+U^@?WU>q%Af%v&9%Ahc zg<>1pN4I~Nw|*YG+34s%U-uYwf1=VlOWz8}qfGd5=0ZrvztQF`lV47Q$i6>ka6i|L zfP`l{by`B#v_TuWaJh|apcfIHS$jQ^BS2chp)#ZsbhjoA|46noA+cq)`-s^D>$g_e zZi1a-xzfTk{8`@LftvzL${A1MIj225sXC(8TDdKa?7%pNUAS^0#Ux~xR3{h1f&-Y3kUgN8U>7&>P_KuRB3YuS0>$E?UK`LImGC}GiQ zoeNA{Lb}mnX{tt92LfU>+{T2UtTusW%m=C9(|&$DmO{g>fYKzFHl+{RYvqF4U0<}v z;l*LSRUBxhzRrn zO^Q)C0Sh+?u@aXIIGtNAIk}?5R9xkf%5UuCv67r=y6BjKV8ty%j*G9fI+7w62q(l?btheCVU1~@h$$1-kP+*#Nt_E7u!+&zcS>#rO@=+6g#01R z-l;7XHllj_T3Ya)_uarw94l$Y&tu2zBxT%sO z6SC+KDMRid=(YrK7S}!(o-1#db}YXX)lD-lR|j365x|Z}(uLeVcQ7`;RQre|vaD4; zJVCO1_L0Xa9N&^)beu=`;}kROP@cUMYEeZO^OufA`*4M}7-rNBNv!}n>_ABx+_C_P zY|VTY)eJZT9swd2(vp@(sTK?pdVmDi8}E9T(|b$puT4Agx>YE{ zu3d4{EjKP9#Ay`YUK0bi_7@M8)8qU^w!WY=B(F=7nIN)PA|P&B0r?17okv{TtaLpvzdOCT_3^*o3?VY(GV zUh)MUX!#{}^dJJuo=)LuZlV52_|PJBEv|c(eIi;5L~di-i1n5XhMY3+pb!$%(Asuf zo3Zqe!?@|DN$Ws2#ob&`$b)RY=a`mf-Ms}(Vfc7tQNg!ni{GBqgRC#-^R+Ob=*@L| z+v~Vp3%(1>k*#5bqXtHH@3r&NIlW7f7S%BdPKlFU+)=$t>@kS((@|8@)?{71SB@X1 z6lhmhr(yI!-X={?bmHwL#yk4i_I8_;PKEh2_AM7i_e#x7NDmOK%XntF4T3eyIbuOB ziN)dTvwDqTW0R5Xj8Y~S!DPa(82GkoM_AY0F|*?gx_gJUy1J>)tQoJt9gYFCO06uO%KA z#sd6qdhj-&PfK+J&DOuqY}o2c_b2t6EXZkn=^MOrkF|;r)R=g!>DHu;uP_^eESlDs zT%aGjM2eJ%LckBmD|=UuKCBj?y7k?BYptlq9=aGqi?oqp)r1>yCDGdM;18yDBK;~1 z?POyI**tg|1jBTXIn;$SDw8+-_E5fZR_(nd)kUP@@YL}bgYxzvV- zXN~!dA2y9i!}Wdz;F>kM5pP? z6R;PPpcHWiNd+cCGw^Y@l+$5&JIxi|5?gvmb4c&MY=mg_iwPl1hliV#cPrFFU6Zb` zhtZ=MfI1QE^vTZuP2;y3)e^g~18{vTX~eXQN+mflryz}6zvsqGaO#w>adQg|!JZKN zAcPMP7q1#=68R{U)$TYx;)5Hkg(@Mc2P4IqKc&ghJbOg(R95gDar|7?Rw8)|iH42c zS$s~XaGL~?RikjsBXVL%`6}Ed46m?uE^aPOavB`1!-1rFVV5$$#E-SFvRF)Y1hCZD zo#9$zTM%?C^W5-ceCqv0M$UKaNBkPLFpzpuWu)QH*W>nBCl5QiWf9r-(3daMJqxCg zKCFchbAou;f;>`(mmpr(V}2h`+-XfEGvp>Qz>I!tYPAB`Xp%7|?POKH9Ldtmu&5ol zeNVfg-ao|`aKI?)!tHS12D)Lqk}16X=#0X zz*MO?=1S+PuFl|EzvrHIzt_?nrtcMpdSQ77A zxJ-W_40OTgjuo&wb*^BJV%~)U2fJ2VNW;n?Li96q3!JgLGnCTsOhP1y<9iYeOJ)%s zLndO6*@7#Au5fqtIhiBBq5ipU&LQ)|#ne#CzB&VpAe#`li9H%yku4^8SGJg3`UHuN zX*YyxqfcL#r8_LhY;+UvGRQWSFEa6u4jc7yr~VK)^=fLqL~r@|YLhQt+{LsxF|48A z@*@CffQ1p=E?MHG0_sR6D}Bajpug!>04XDaoL&oCsf_TydWXSmGujY# zd#Z*~wj4f(Urb{y@GL@kgp`X*-D@u`O?5LMooOE?9`L0}_=$Co&c71T0Ln7|=bi;c zQd>px0;5M)R}mW4rf_e?-zPM62a*v+fOcY?YliF)+OW@=EnqSInYBhmi2o5UXl9tC zrf$1C$*QxRF1f=9hR+6B>;97hV)etKQYlxBWD6r)?TGPb>>`yll>K+*Lm)d59@gx$ zgQYA{1x$%GNaVl+V>Xas_{ap50u!XFl178r`pJG z-{%64k@5E#^6F#I`f7_4S@V*n`G$SzPj$GFlvHK^c{A_V7msQ43s~EvaovNuNJQgI zn}sp&NvdbjvT-Tet*vHmDzu(6{g3@I>zx*-zjd%(VA3eoK%OA#l5ETr`8W-yMvH+i zm;aexxV>_kUg`C|%8pmQdcwE$gy}D_vu1EVW*2#i(!D>nt_9c^5x^tWtp^a=%r+p= zL7hvVk})@;AH{<=!OFkfrL8C8di2Xb$=I~b{4#VgQP$l7O%8625mLtSBmBlbbirR4 z)(+`J-$5~bg|*L`_re*5XO%e#Uw1|;aSnk6p&2LJu!h4t>RAKVCa%gwYgiqHJ5;5D zOKPuTug{J6!k4X$S_H5fJr!fWN8eaC2D>N0yRHP-YTzX9(8Q=qCDtXoiihm`{eqq! z-~_&`M3@O+;CjfbaYr!42$PSHNjHa2D1pHd#CQ2^N{nC~9Vv>-8XbZ8b5X%z>u883 zIf3m82~O%YicZ?T$7~>))y3T04jPaoPAh)&xJ?s}%c0zt`o^tXVaFKvRmUE+TO;?4 zmfTa+rhdrQfcxzdR6@HZ$(4C zB+VN&+W);=Oa8+kHSZDS0^SJB#{uIL!m^$SxH^wBz~#2o_+4A1nzS@iTaF}akYkW7 zPJo6EAkK+vv=5cI)V|7|X?c}@L(82#6AYD~*{<_Y#&yq#916=>J>FpI58S$s8*_mW zRRnt7o{ZBGx%4OU;%E?h7%mAd(XeEccDijTp;kjIXC)BoB8h~T3+a8G5H&2^D7N4VUU9jKy<$!k=+bRLri7IURE!Ooq@AOtwV%USS(z-QA>l-E zzZ^A9QDRN@tvp=uA()vdN+;TgK|fQfHwkZQCkFOc;7vV=Y&pUDRV^mQFY~lMEgiDU zej_Y&(1_NoXZRvH^jqviJ;aN19Hn>j^Ju=Cq%NVV<>i;HV=}C9;^$m)kXMyD%mnKj zN$uUXLZ4f=eIF|Z=KCH_@wmUcs3{k2VbFvpFNAM$J_uJA1*`<#2p_AM*wNvz(ejTt zAaCo@)Sk*qAN7~Q_h5Dflr`a+7KfYOKDaT|+1u`bbAa|S)3IKCW}PS~a-Wp}rziIE zhe__RwWSk}Gg>G7TdjqYnF|osBwg^D3h%&mQKVsvmYvEf%ccwy7YXm8*-hyY7#ZX$N2wa+0rCg?WAQ~c zNTVo!n?kqM$Jqx$5IE8qca?CohZH7X2O)D*aDe1}&J<`7k`zkch$p!TS#AoWNw2n{ zA%zp+R0itX;=G!NU%D+is3Mf22Hw0gPSt+V3CIVg3&P~QHBC1fu}|b|0{DfNyR5|l@R=EQ3x&} zj}{3`C|1mt(5)9;D&W>JVvR(HWPn$Ej%~D(n1-Tj>y<6N!8N3q3VC4Y5=des+By{a zXV}7U(j@6a9&d8Q5^4&=yKVP0zMCI6`mN?*WVo&?Ia7EjFL7VOQOO0GOEc{76smRV z$7m$c!cHr2lRX7Cs{PEVL10hwv%>66Ra6%7qM%`G%8p?>>W( z@!=x?Z!vry|2jkG^If#@=SeLdZX0>;de2AE;pB9C@^)$kEef=K9Uipyr5qG>rj>Ol z&3-Rq=^J}Bl6y8F(!D$x8~%8huuo2tO7=OKFd#>ht19?M)VpXCvR_#btKLlhOe~x< z>zCM*c`S|eV4W&I6I_*1*NXWUE{@AYL!^b!DbU=p!h|l+N zmE`dD>2t&)f<~H~K5iV^gGOZ2Y5WIej=J>FMGx|=Hm=QuIvN#LmUbw*!;9H}@H8s* zh1MUkR>qW;_xSm)l~+3wC<#C0tu6yQ&VJREZ((7#83d$c0#^w1W=pHlc5RBPcM&2?=z-kOt?+fjM}2Pa3SC#D*z!YcD*eGV^P2*(P>hJ zX>G74ZP;p0Sx*TLLW`DFFJv&LI8dI=kfEE5P7)%B-JlDMnyr~mRKoYO_Xv~5=`hy5 ziaa3ksunhyW)2iOE}VvV1s6=RPP02^h(HChL@!BO-h?a(i;@va;#;*xp>*r+Ns7jN z*X<)^Rmnzsf%QbA_TS-_cB5_d#QM|aw3dt-Ji4tmk%SDSit|HBs<>r#cr+6{2;!JC zg}OztX+}f(qf7|<;e|GhC^gR1kmJcJlHMZx>&DFq=BT*W*n6f!UMuh%tLjOG(PBx*$&cqV4Rb^lAx5B=?&& zbWgRanYJpX{WA}-UK90!%#gg9HL4#B0-QJ=n^0xkULZ1qm7|+FlgE&f3tFD{>5sC* zoNU)08DyBK{V6cQLP6Cb0)qB~I~F}CSYF+6df;r6Ky9jcO+>IC$rn7 z7}JVK{&T9XzIB?!eT)W;>lwU+{t7>!f6&`pz(()O?cpnlx<|ceI2EqFF_2XW6Klk^ zEDM7YuElGw^B_s?g!*M~eUgbWXT~yP=6Sx5=kH2R0QToXAGE{8@VeBF)M8`-lR&Fu zO{WlUoM;E}Ng`+v@jm7$ouGJD93raSL8Gj&C@!RHXjm%10uATF!5ED(`WcPBC?Q;+ zPw{F77T7})JqKa|>M|D%WDYP1f7IPY9WqtchRsQ``1ZYKIiGtPQbO>mdy)yVb1ltfb*)8{3Dd41fp)d$SYI82In-mt(k$CrcnuZ-Z$B9} zN89-}6G}FP>)@y*j4PYt$tPUX2T8aEu8nDbQgcTd!NxF6ik;5HG!v^zBU^-9WT>Qp zL8Wk_<*w=$WE>|&%t%ux|6*-BrQkZmvywoF`x70cafTT zy)8dwdNG0uAefg;+(O5sy~q(xgg%f-F#}_(Qx&YyJN4=Pr~&OoSU|h}B2G}a8G)#t zyci!uPL5{oj$t8P1lzQ8jmaE;BL)lg*(amksp>(&v?zt8c8d+VT^XKTmm2XQ>qJ#v zV7}}za;1K+k(M?4jdi-y6j^XZOPnH2;(QIU=STwOCh7@)(77ERkRfg7Yj|CeJvjn+ zsF9QjlUQF%qx}z=p*FZkg$A0~M`%MaGpjT2nNWMcsL?}8`o^5XUlqeyh@l*Co^$Vu z;m!!LP8*Zc7AnULzzoKnhS7LldEKHAp^` zI#+QmRPBCK&=$gb5g&vm4A5i?2cj#MJ_lO)oAtmGB*7ws;07V3C&(`#`L#BQCs_kM zj>D00x&oby(-NAVQBxkU&)>u0y^c+;%!UgDKFEIH3AdP}2>k*zwaesIPqdhMFn4%@ z9Cr%u{UnuW3DzW20HKQ!cT5s(MT(urcPx}JYp00&&@s_)iT0tys|t-VT^+Pp3@4&a z_W2YSL&n8!O$5ftX}Et?hu)(}_viE!#0qcYJm?eg>c8bap`Dx~U^3Dx3#M%6Mh?Ak zR+ywO*-Hr#`RwKNpR9?t*n}ru%dIYF=Jl4#kHfZxcKd+najs%<=@T)1H3*Dj)HQ^D z7U}2-qmXbq7bJ^k(K$5Pu3I14Y21u-?7mChAAh@X6uNogG{J->*k8Ff{`Q!bML0>( zKMi`-?ThOHBf#0jhR(d~axsG*hnk+9#-2>$1Lq3Fe+UBvaISzEO5d|#TC^4c)L*LK z;*!FAQALeQbxXhyji#0z$@-4iXWNRg3+`CvI1}1oT69ezSNA>RYdFeql~n*r5rToT zGBKJ_t5rSDVJzRcHLV9{^QA^7-4jKY95M@h|~?QOdwZ*l3cfyy}K-XE)B>p8#V^_~0=I%9CF+L#g11^3XbB7R z@eTQtwO9|Ec%}%N=OKZE3LRBkyIi!=Zm>!4Su?p1 zJyJS}^AG;uMCu$PJoU68!aB7ylNc~uJEBw~_Z0!a4FERbGc>X2 z${9#VFSOti4_?9k5{-GMP(C{Ba3!_EA8OYL*NX!d@-?$0(X%doElQ{Xr)(%gv>7Cb z9?gtcO~k*jNhWS8LGo}u64fI#LP!js5vgkB@^Qki(TM~-ura3{JG^zvM zA6wyn$f;+X_r`9BwJH7B_+E|NnJc_X^aJ|=U2Ggks;bjQ9T07Fl;es>BWXAR638ku z6LEC*_I|i7h68i?o<4d(5&ij!=f-!_W2oPCsWeAfY2v_O%i^8uday zVnr;+tq9!vswJ52P(N$Jwep<`_Yq4-W1k<*D#4@}3tVw^xUJiymHAWM(A33v$U(CO zET-?Yh0ORIQV@t-BG_WJ$YiSiW96g-pv6KUibBcd)r7E&rP4>p1Fw}S~h z;Z}XUIp-bQLJbg4!s#=!9GlED@St-Q zOf*q9qa$>5qiyOWaMD!D77sw_l6RAm0B9MNMnz>K`F=P#GEr39&=;j8iR!u}D(|9U z%|lllWLIYg!99SKBX>GO=PnP?bWqSH6-G4~5dbRyOpz8vz6?jAI+J?X*(Q$XrxaTD z@}nq5AbO(dg1tK1U$rkPUwt?k`>uX3W|h>uq)vU~uI;o1x^k{*l7yum)U>qEElB2> zDjE2L-{?M27f08TjV>yMwOI4KM#LwK9{YG5 zzV39hw%0oKk$#Uc8K+uk27mPT&w4XYz+wY|JW>lcB$kpc}D-@?UyA7@MsFrIbp= zb#(F$J&ZQ;DEY*%Cjx>ByoJib4-To3cdZ~4>+#F@~n z0SVtQzr|h{TiCIDn3t{@(|^^)9-ptvlI)lfDVyJwT*w87{kP~Mn_1)S=O$xCjO298 zCo((oAVVcA!Lr7@7m6Tny_lITt8#*XGQ&r02EIQ`dLHvEM{OJ(9>Rwxi^@=G)8)~v zi=+UVF{8_W31ZI)QDE>oy%bhkSKAPn{-od4Ne0Vc6u>4s)<(e92pj1=8TaZ~8*zl% z(W+<~Fzyz)f({Yd<9JlKl!Jr6Hca*DHj}7J71+23+l=>bn8VG&uZ1*v%- za*o~H9_CS~-scXObagz=Y7ACuA%AzF4yl7Bz!YqWvS8hDFnO28ijoG~J9O}+R!RE< zR%;q4sjRRTsbZ2v0q`6Iqlv=NM3xw`CX!@0k2|S>kKqrT6XX?>Cs!BqqdRqXlQoUl z+9)YhWXOKhDQNp9xJgOjwpuHKZdyy9H`2uTQnxhoZmBzaJS=np<39CESd%F9 z*y=8`-NTJ^*I_k-Zbi|EW-3je1KZ59$xTX+LXZUdXJN zcoAy}otM(G5tU(zE|>!$NF^Me2E&OwBXsXcPQE;OD|FJ<|zZUNAt0Lm1?U>Ng-^VDJyd6Rs7O42_FBO zy8?Q4`d2er4zqO+on?sNw;e_}?xlLB@{W=epl*`aH*mW63=(X@-MABUAg zXaVXRtX@!(7WUspFu={-w|ARtg+$E9o@xoF$N8#@raki*t3FH3pV*#^i>uCWrfINM z7rm<07CY0o>f!NQv#GW%6Gkzg;Ra32#bTqd6%n#M>>FLGc3hEi;p4Kju`O1@;0-W5 zbVtq)PK?CPfUJH;a)x+B0+yKR)vevG)I@|1-)&REUCEp7+gV|M-nY_j>By)zF7CpJ z3*rfpofKR}41j(}m!@ok@^J$rsrOFiHoy#nE+xGeDiAJ=+ylPw9AsCyWKqI1m6@z4 ztVFZKY7_Y0AdqO*>VXEaPMrd=w)9oFQH$U__HlyVAR% z_HyA-k0{Zcmafp@vrrOex#w9pGd(e5FN{_Jqp$O=xGM2|0&YCyb<4=ML(wvPWQqc* zSt5XqrbYTUV@TrDh$k)>)?~|)#?^C#5axGLlGD7{ z6}vih1!*saG#}pMF4mcp%PC1guMXClu~w7qergq+E}=eMtm(B9$(huq2z$Req0d=t zH2)}e24ruyqN{~3*E^zD6b~5XZsp|z3TwNGc!6U3#Vu~}2u>t`Y?=Rf0tE&rRcLdw z9o{lwp)I^?5SAE9lmQUG2vT*#Y(9+4-D8G~aujfjAvzYj4}fBKCO$+=8xjS`vyNQ} z34rle*q`>MOXYe{NY5{|Zh@=49zSe*cQ4n5D*m$mMiYB-&8#A#uUoTnt)h zgjEtRAo5QSbOy@AU)LN?yGSuVbBiC0tD8I!8=*`x^Yjv4iN=h%VInIuT#+?bnW`s; z@6kL>>d#`rXb^`M07;GkSr#+Z=y^nX1i<;zLc6_SCNFsTlr~BZB<+j{;?-&RN(=&f zn4D;uSDg$Fu0M1^XzLj5HE>e}JLsn|Q*v>5vXL*_Ng5hS5J$A|?(kD(nG-6&6lEjWuRrx;<% z;oM6yrQ<4E{y@AO0(JfMu$P=?h((7=F>X)zG;04m*yS?Iiz$xsVDR#)4P(>yOOu@o2@a@61VzMi3mbpL3?TH zA>Q;255f;>h`x>HHIC3`~@)`+M6u4GJmat>x|;z;}@lvvx*UP2jENYAIwW9($tNZ)yo z4O17+!j}SO6+#CCH@0_!KuPukySbW2K-kZWYY8#@A#z39EW5bj>CS_;O-DVi-nall zF>yt(^V?Z|hPbvg(OsR#Gk7e}$h;7BUD#>p95S-!$ujJWfJ4!cSw*QW0*fxa1%1+A zm(Fp~#BzpeahX`$sfjgViz%kiJL_R)lz^L$jsLiy0}$~-w{}MJ+t_1_bAb0b&D${! zmnO7?TqL%j2`uwrCr|rVTfKmD=~;umZAd|gdLuw;Z6W3}mYLM0d_hNut24vCb? zI=LZfFmd8oOOFw{q6P@RRG*zx zk$pUT6?b9zKjp#~5e)>6KYOSzpEN@qPx?FXOMPUCVKZF-?(VUr?WguJ051Z7(GX86GZY#*8o zXZuG5RHs16ctk0DtKcU%OaeiBSrX31BM#Exg*&u4;ThB`+o=A>ei~_?iq2tdf)0U^ zE+Wc9Ba#&ZXq^+Hj7H1!o~y(NK=)iX9v}cUpU_W9&W_`iB4kT-Ai{ts5{s81EQc*S zAC*|%@WJ(63jOp`=-`@gA8{>C3v;_$IuK>i>NafDe0iV*Mj>vXL2xc-k1RL+?9q#x zn&LcWp+P#s6{Q2(1@xxiD)@q_rCz>kJD7KrbUESSTu#_%1ht9!!j#$_LJZT96v^Xe z#$OFkVVuC9yJH`H0P=N;Y5Zc)PqwRBE2DGb0LHP{j$8><9s8$8+++A(?u4heJ!0Wh z-W0Y5)$s+RZ*=I%xR$;t1eoYMl+?0*XW)`j%-@ZOy$L zU-4k_Qo@2`qR^7Xv)^WV4t$>=9T|;!FvCwq0mBaClC^EzW0meq*t0jj6vb^DwLJfh z2MyR05n`=5oGjzYQfs>nqbF*LVHCrj4W$l|gU~*}o~HV199240n!`v*9MP2;P)S9k zJqW(%T#*5~?*)mcuC=E=oFbHxP^u+|ebN9y!o4XxstQZk8JkTm-%Li)7V{WFEoPWc zw0tvlaMqjH#{Krt6yUthK5kOBd2H8<>80Ukgsx(6xo}QNWUlBYArPZBF6NDej;*mI z9QxH7t%Y27~YczmMbMFC_EZh+BKq1PT5F;u2$JVu+Q-G~FOF5+B9bNc+C z^+44*nP}{$WWEa{C}tv}rDc#b1?B%sd+dAYTd!z~NPJBt2^)5xf<#s=EoxRcyB2nhEA?A2lF_#hM!54+V*L9>Nsfn~EBj(~nk^2*3JqtJK`$BiG^+_& z2!zi^LZ-fU?QpRWC9D^!Oj4( zp~vtIiG~VR1X%IEu;*&z7oT6 zmU#vV*T*EdV&&vR^xm>S_DLy%lw!0I-&$^DYHeaA%l5*^9XN6jiezaQoY3r-x_5EI zhIfG#GE`IVcctN(;TW@cEj74MDmJE9RC9Wg+n}TYMsiKpvKf@N@6+qa4NfP z_qd4-e-HiHC>z}5EIV~>JrrAnILNS!Hk?2M(;b1)6|tY{o#y*YVYQdCI#|HJy6q5; z!Oa8Nz(}=e-&7L?Cw(^`8ohRin^UbauwM&j;?KygeY;CDccYpUV2{SzMrUgUtG3xZ zi}BVRt}raNb38NPPvd?x(|8>okK16NqoK#)LCzE!B$JI1%EF5xpbMM_x_F>@n3c%D z=n#hJ4C(o_4*Yhxoxa;bOFjTRQL|6FXkkudaiOR>i<-sDDe@Gm_3Ut&ez#D1vK{^R zamcflf3kjGawZQaAnP;YrFq||cqquW92iho7#ES4Zwlno1vtK=P$NVEiuja{=jOY^ zdg%mr{9>|rngSaV!$Kn6+N-Wk%(^O6PghT-77WQo+q&bybdsv_U~u5LD%RcgN0~vM ztCkorRH3YaAaD3Wx~Nm_+F+BJB@pc?vpTQ1Mo+SD0aoL^a3DlpbJc=ASBNgTvS=+h zmDG9hh+JT8#4;f;l<{lhM+go;Io!`5v9-dAE&x)CR7l_N>6vPglH>KFFY&;Y2VS0H zV_6_w^>eN>xbvKI0w!WBR)(xwJ>+OcoaXy)zE46$fA{zAFYC^?S%0-!FIXi&S(A5) zp2EopN=VvE=cBi>^05sNHzl77hzZ&$!t1%rpBJ%+16&!Fr3frmU3y z=fMas5(db|&TReH;N|cZv*S5Y4X$4JOWYgY9uvWQqU~I1(+C%4XdQhx;AD;m5u!l0 zn_R5{ywCLoWfFdVhx3x!c1DLt1uSA)4|G0Ct;Fn!@DSD!x|7ZXi#7+ejgd8N@JRrS zZ7#|azSF^>$8=SgJ=tO3;=ba-as4|vgH*tQ8oi<2Vqj0}AD_6LWf!S@O3f`|u#Tqh=i=uPT)2Jvwm|DU}#fzRr^?|eD$qjTP) z1+hr%Uf2TOkTBkD2`|}fftRe7z)LVj0vj-aR~YQr!~#2O6Ulb$pgwA=bH4R7v4 zv)U;YsF9sd?|?P)y{Y3B{tOvb^}Z?m?+W~b=SDev1olLI2eN-lCTGf{=2W3eRA#L^ z*&!OjSCW(wkLdgP7?0?0jq9c-fPb+DvKyQz=y(>UD9Giu8q_L%)_^bvR1R`cax3<( z1LrQaYB6&pRKN-fFm039I51R;B4)|TzuV_-RxhdrN^ zm|3#}V$S@2r|}%XU%jnFrNONZ?TGUcK#k{U2@Z>QdRBN_;7kH`f%Fk~QFjwXymyYe zqi(duetlS{R4~J=C|EeT$IgKC!_tDkbHZJnS!n@*__ETalRKnCotsozTCxS|BOj@q zBk^PWY>9qR+>LC zJ%fH>ho$9%b`g3@kZ}r$NWP@XlPCN!)6E^{&;GijbTxbca3cI8?tvI7i3~r`nZ4R( zq_9AJ{D_g^H2i+1@GIkDylM%!v01z6CCYxMD2o=FVsmiaxPwVlXp-7R7|&^Emn5*Y z9pfas4xQp!#6qYh@8td+S&lHxtg>a&KB~MHQReWDxZTi{?{cLH_T2VL_MUbki<16$sRwo7 zOHoYOm42(xE=As+cgL)miq@?bV4TcUOCa~^t%Ow*xs~*E;7A1WUmF!5Sfc>c;aZ@& zOzZZsXgP%6l50(#7ey@DN2`$)l0isUC7$k5u0-qCBN1(SBw|TdeTx!buUx$2&he7p zndn1;oOZ(`BiF6*YnOYds0)&oI#{Mw0bEt7+KFH^x?z!~Sk4x2#mXUt=#CPdolII% zIWX$)^SmBVTm)x22d4CT$5ci8c8A2BuC7pDpA?9ET&D2n+VC&u9df%Nhe>3aR@Gwu zbfqiMPW3I;TemhvyP!LJD<3O^(mXLkSVAo61$B{76!gGz^QV1W#136qYEZ5L`bdOb z^=g$pZ_rUqifsTiFMo*#daEi*5HZf@5c$cqa}p_v-%^AFEoKs)fw?iQVEF5I40_Bf z&`y~RCzyNQ06)KEoCnH2;bMvJP>JiOQ_(j^1c~OESB+AA*9D{(CmEII=y|j!q+-w& zC2)7z0-3lxy%YkMgc6UZ*W`?TXb5%kmE;6FtnEYNWDRbO(~~Q4 z^7EU~3NMh7dMUD-f}L(?5VKqwS6+0`^pSn`9!c7@^bD=zYq*p}BK*j0z|`+Fd=>#d za;5=~rln{3SBxhqX`+2Igz4S(NZUiahi8Q+40O0BM=SuKncfjA;P<-W$8C3z+mFRy zD>!Rn7RyD@4)-dRXQ9rfLI`O;h3t>u8_pz2MoiNw3=c@O`R+8n4F2kB9zqdHj@<|| zq+!*4(o~j7*h^_!h)&mGcANPi9v0GQN@dTsP(%SSW$Z$mTt7vq(Mp;b9TlA_W&!y2 zG!)}yJQ1td4B38(T|I6#`&HyUT)9rG?Ox9vge1?lhUWT^MX{C4V>*T0cmbOz&5Xw` zLg;!?TY61*dKsi}c9rb~@lfUbHroR7z{M&GuHFO3C}F3CM08&H1hTw!1(LkEGv67+NV8G{#OVlJqm651%8;1YbH zuFM9+wRUBRWh*Nnjo<7>301+tkvG_*TeJktB^E9`LDPAm0v7HyKv6@CJtt1xVsJ@Y zs!=nI{M)bp}C@I>W^v zg?ENKN%SD|O-#~;m~^BwmCml))g3A7+pGOqiUqzelZ)z1NiTuK3V{5sbUv+KLC8hA zBbm?5Croh5c7vvPk>On?{Dv6px;XBhqMa=JjGt1r7Q5#X__h*a22l|yDpdx<(+eGN z7hT3!QaC};E3}vCz$|&Q1Fg3E&XsAEN%*q2W%;g%NU%DPOLLGlfX)ot1o%t*vU0OA zpJ$+}%}8Bc>`^Vu8Qw6O+DF+m;krS?ZIT!e!hV(=WMS!&qRgB0iqpY;!eToMMl%^! zL!y9m_H|quvGGzFOl9rUGX_}=jYr``%Hq3fOk_^q2D?l$VduD=U{xCJYCZ}UKm$=C z%}p^JTZ0ZW?rPt$SoSFLu!tgLfm&EY#Ynp+V_MPfVwM{$#wiT=LhG~y3W%bK94831 zice8Jae`mlHr+K3aEGE0K)M8obgC}wd3b-`0xZVJs+70zwlE%psXrwTxF9ykZ<6pX zB|V)&tE=LSs&-=Jw~iR z!s2 z;v<9cOz}kiT50(^XCo|;`mf!}UMxcN>hxTNb3(K$s$N?{4hGsllUW88)$fs*qH9qT zgePi}zXeZ5)3GPD=bc$DBr5J16S8;cIZoW|X3O^J2RqE7rXkdUEuNw8zpZiN3wk)6 zW#{FXsbxS6H1e?>hppwRH074jx2WcxG1iF1ZMIoZd^634+&VOS$pPbik}cYYgO<-hKDFn6u1ynGJNUpgQR*(A4YTE8l0-7Zp55^`j0g3Kap%Sq8(s_|HO ze!AEzzigNns;aDBwaEjV{A$r!Mnc29c-$6^VocnYG1<1O+&QyQ<=Xjux;QN_#=(E@ zCvfoJ18i$A;)NWKXpW7Npb(_9G>-0x;MwD(j6H`}xcxUv&(mrq!{mmVdfc79Rytn? zc3Ivdh@Gvm=Q21m6b#iRdR6y^nO9qR0EBes00^0-gvkWu;s%=vpl}ziW88>Rb}d8? z;FIPRuBjF5OWXPxnq999-&-a;=3G7z5qKfja|F$orVIEv-wv<2Go7dYUv0$a8RUym z9Zrgl+=&NV2%|z11oIDt&=r!FEgj`-5?v;UlB>XPk5?DWFS<`H*;lE6oZ8Z+v)7HlWD*AJLg;-}0o>azxq>-Y+WKOBo zSE2;)JVrjQ{YS@8(e~o%XjNrBTY~_-m!@tFMlQm|?cr;|4{%H?*Hr#`y zQA|gI=^g1v6s}k-Tupcn-_??-f_ZZP0^>X}so|{|5|Xe=ZIiZ? zNPS6kMo%IvHQ--z(~!}?BY zw@dWm$dZw2(#wxYu@SCFP!Dh*(Dl)jYU?!~<5E~vML69>U^zAr<1kMOyV5zPr#L7E zH~30DExau8szUa8rW92dadM1tVw$`}B1we_TJnAtiEB2oB+U*O79soPvxFv0X ziQ!O^QWePlmUALbJ4N6vXmgs8Oh zYz%+6!-mjr`@CHP$*U5bUeom{BVHf+ipPoucQ` zP^pXvVFAXp?sfL1P9?mMzTBlhK;@e3^UjEYx%yLWc~0pyy2xZ@k0weCTz%-3$kq5A zu6|r~yljsg)C3Qu_5FQVZG`JOIy-L}L{Jpgw2<8bWJLTgHaEtO8FsKt7qJ}dd}4Fq zhIk^NIj{o!Hq#Vxra&Gw8l0?DbfR@{hfQo-y!ZEOuJX+``x%taQOX^5WD@{W3AdM z?R3STyhNU`zA4A9`pkZ4>~jzCsqhIX^2^ala{_ky0($-n zfspK1#|BMw2P>ed2ajsc=)`DAO{;*?n8;~Z_p{%I6;@w4|HO~VPxflA7Cgo3I_!0k zASDT4bv1?()X>a<<8C}&U15rhprdIl#^vL01pgy| zqZH!t@i$Q4N)HVxC63lsV=%kgY5jJGzMOyJNX>4_PHzVT3KG+mkj@I=Oq5bdM464x zuAG(P9#D_F2o;{k6V9+noU{vfO*Ifk?1YBwQ}%PAN_3}JazR)xac~LAMlD9s)J$;O zMmhhn{ji}HmCl#t?7dC4!I49~*1x_&7l5rU3YLxQw8K~f^c4>>?SJ4{g+yR+_m-NhDBXw3(cZ4{1_tPVjW| z&;nUbz#R2UABH!|;e!$%)ym!7UtQc7rD576NTui4}x4aF(3 zF#&%JzuxM?4s*(w+<#1-L@+h&ZKjId(2}*NZr6g!T&5bl{hy|!X zwIsLF%7OflSR?u4P*Xd3J6fzi`80z%q#Zsx+AVIdp$5x|wNvg-O)FACWu%Bx1fyMZ zAp|F=vQaS4Cx3VK>hNsjUM#6TD6VevJ#sI;S^C}uTu(xtB1!e?daf5D(RC~#lsbo< zLxQfKJnXd%Oq+U3oP}>hG7Q5^CL1GU+k=ybJYpFKLPq1NxL%-UxhAQ@@%MoU77I{J zVg`y$EX|Xh|7}&oa}^I?rO)U4x6)L4nbme-=)7qt@+ajfP+;R5vQ1-DTGp!m27djN<(z~ z6oENph~(+&z8{kh0kd>(h>_WTUv+}NI&QzcA>G^UMp7(7%0i1A9xY`erxv^FEQ`z+ zRj*SGAuC~w2hyF3U5HScb2rK-p!JafsJ4@xN(H1f3QBS;As-ZD5@rObJYAqpG=7Pk z=IZK}Cc%oZYhw|iAr&D_M0V8Rg4v>Dc&h=IF%p;p)F=Z)y#s{}hrD+eQ(}f3vZAlX z&D=|%Hoz4v4ffj3i{i{;tyE<}TcuybP~wB5%g9hNuwm!xinX^czvqZb+BE5K65@hn zuT#1ic5=OgFw`5o;Yf-c#P;DLeu()}=M~}*1CRIh3Q_^3i6IaP7ooJ}O*2QsSS6f5 zj=}m0-eMJk^{vuM*JD~-2iFZ!Rs<(uV`oADmglDWUPI&nNwL_O`Wrz>r^yv0O<de~y(Tfh96#K~*XAk!V)U$>~9Y10bI z*!&3vM_q=iE0a!`0{keTlVvzn7o<1HSR-up`C+coT)oG&mpPMk+({qp9bg|Iu-+h` zrExyHLzINx;ESaTP`SXDl$S{vry|mL zaJw!r^VIbXqD2bq5L)gRMzt**!n&u^jc)cE0xAs{fnSQ|TINL!kkjUagkiz)Smd|y zc7m`j{GGKgopGy!zr9TEp>!T)a4Qm6(|Xf3Qh80Zx*o%2G=gF#Vg<;t*Si1J+sU5{ zEP3bP{^9+@efvB4kClUm`vFU*eOphqt}?L-9CAL+@2Y4nLvG;Af=j{+{>qpb9Xoq1 z4nt;18jZ5Km$S!IncnX$9tyjM^Naidr<-)0m3co)5%rg|Ux2gJB?1q)Cc!5{F+9F) z*wK<7-C=zFIi2bCtcNHT%pb(mIswRrG?6sNA&EjXzqb0zP|JnCe5msXi}Qqu*hr9A z3zecOsT^Z4fQS4dLoHjEhu7sC@VtMpPl1cVlK$QHRB4_y7sfpwcCpBCdV^+Cv4egV z!N1#7uw%|RD(x8`gefsf54#*WOC;%zWyj6S;Un9VgLb;A1OK}9ot9ymVDo_QgMOTb zG}b{2MT`B@z25QzTxw(k;XV{H5Y!mxz#kLR(zYy_8np3ce^%W0rBk02^$C=Li^gm$ zY##oZK#r^g6;=7;dPsIqs=`1DPb%dwD&<$om6Np@*bY|V-DKT%Go2_kxRpURad9R4 zan+w}?jCdYMwT}xnWg0z`jZdo|Qa?;*(i z@9dgqUp#p$VuqppRHQI9q1JFAkXq<1rP(foOySY2&tox^vwhi7k(1%OOqTCo;mUnf zg9)NO8gz#Y^XA75UC$TjIYge>ApSJHOwybe2=@a!p<_^stXn)`v483PY}XI)i#Q_c zCBQsxe2vQH!6M6HDWeB$gzn*DNlw`0iD5|a>XYC{V4S)@4rA-G4rhVflXECl8aOzr zFP1qR0QMyT^yBH3=2BOSz?1em4f}w>m+~3@HZTNNvkx|Vb_yKk9Yl*zRqqVHYS(Nv zg%_n)LRNhBA>?!f{{H?$Y~=9CQeV~sf&SVsko5JXmxryIyU={R7}ej}s6>?~hxO-W z&x{chrdhf&F_FbQ*pCTFAlTPQ_}@^*nLb&lOSM|BH2FMiy?hUjE&CX?C5p$9ZoOJm#xCC7oL!?5X&bwd)y-EPDLOMu`_ zGfi%5U2b5}ni3Th(& zlvMOfxI3piJu3zru7g0Z_%Y~ZHMWl!=_Fuu& z;S7}RZ;@d`(YcE#Kr+<&uZ8up61Z`%O}Sxzu@i{4JzWQ=k^(+60#5T3OEPD1-XHmQR@;2 zK*> zUGI5dxKAt|hw|MT0RQVNDXwRA)0CjK$2lT3S(9l1EnJl*%#{&(KLcPbI01}ph7;48 zkYEK)HN{axh%(Ju1z1Dg2^V~3)=3QKd9tvKE8ZAL)=}}34Qk%Whe!^Q#RPFophq&#!2-%_;w2M~THG>*U9S~B*{RtD#Z^$J5 z9bGZm7@kHqC~!Crzo2)f^}Cp>H`+Q@&6aIw<)ivZlM?)tUaLO>IgbLHblqumIB+L1$&qa( zTjZKdymw9folB9B$_^pU4~sQBY=dav6gOZGNCSoQT7Jme%I;TVFVd5FdhU8?Jbc(B zziit!sp5+QXq+>Dzfm>T;V~1g?n(jEIHZk9$zB5uDaJw|7_`B9ins`qe*5uF6Q)C? z`eAM}cM+l#2|=$jIFHU#asCQTsemGg&{)Jiw{{g5_PCS05o$?Le)p#gZOoAm^H>pW`m*>2-qwUU z3PcztaWC@Em|>UOJeb zxrmP5l1eu@**1#+qNyd;NCuR$r$jMLSJ$+)EDyO9UyC7VphE>NqY5C~3AMt)0nF5u zi>(vS%kfgb1X4a>Y?H!5i|mkaVP@7OAv59(H9)8vgC-y3Cbv+OR5#(caaig_y`B#{ znbmEqOX+Zw=J2M*0)3={PzQ{!;A7&u(HB9PFb6#wb)Z$jpl!h|PRssBm}Yu?aGV=IrC9D@qh9OLl+S2l8CdX_mLRXhv-|BnP#+ zxJ`^Ul=PuerMpM4N_!x#i_{}2mRJ;rNXGqYo4GG6nx$+A548M2zHy}#(v{f*J{DmT z;~mjkO3S1UNUEl@GD9#Ky@d`i8h*Dq<++`JzqcJrKlN7BhtQfjXcCaF`1n}^MvC5G z#T@+{@kmy#eHDi@B~8C){EQ;rOID`9L5_Y_*lMJ}4nY9hVFw)U-O6yDi1g=PlC;om z!eCnnr}R7|?8ICyxD#8oNS5x@V2l*SBAC%K>@W??z1W8*Sn+Oyhl|7) z+Zy;g{PRYUD;f`0!}@EKOO2&bsIklj&d3v9oVR7kw91xSpseLB1N22);7Dh$-I@;G zLl3cM&}2=?4(PAY))Z@JKfjzI~O>;k(;r zr1Ql$Kn8^`z9Y&Teu&9f^oDQ+v@31?nP5%}q9?;YZ_iRfS613W3(t4 z9H9%$8Th?6k}^&)f|hWtkrzi=hvY;h^~=*LG}t_fThnYycq&Q^^k%m(ecX|+hp|ya z6JUZ}^cgB;0FU6KIIjc3t$wj?j*ci3c^=#e}zV9fj-1Vy9RV%cW^2PICx>%^n9+N+>q`4 zuKxg(QUwu4^mo9Beg!@drGt;tyOB6GVQ=+94f2m`t-I6{4O5oz<9Z6L$Ov4I_@tc} zms$phvUB(x@M~dRJY}jkCtgr-X4BJJMK_I$8AyVot+vuha zft(SwXa|`f{HmhgU4ey#6a`m;%0kjDCq!mcM}SbkXcHzHQ~>jru>o#FjO9C~%s^+C$wNvAJSNHW359 zls}oKKYWn6>cWUNILVtRY1`EXKJ91}ZR|cmx#wx&wRELc#%*1@Wsh_OK?Y`93A&G4 zsKcc&GSK$@@jP1)d6Yt-niV;g9;7F|mfNs(whga-e|M=wq^Q@F<&*ke+!B-I9~;N> zm%K6D@ZZY?Vfv*VK3}fFb(da#>7w4ddN)>jFTAv6@x_bQuiMzWZBft0-qtPKw`{)e zzDjHFmd&l}Hm+XZd-s}G7JBNJtMk|GI7_#2({K-?;3l)ZezD9@Iti5Z-skW z*RyJMW!-%n{Z-XbmRCJ%D)(*D_x%3<iQPDp|41r`G=|E4x`h?v$5;iCu_mKr$9U zh4RH_@RX2Xur99vD2d=#{l?an*^l5>+>RDK!9aRa^=YE;2(R9K;28M`EMC9f(}f74 z?X9wwiqz7VwZ6{?zc6+(o=BTsuq{GPE$APVBDOkO+fKSI!bVs|)cR!jH*!wnK&maJ z@^UgbTiNPe?EGQfKzb)3w+RUF2sA92+j ziktcqL7Fh=C=>fakR}3)zO&*-9_;2TiCk()%_AnrmP>x*+Th~Q3T>qZC51=%=UpqX zqCL1TG#($g-4UBiejht{kWe5${#F_uwc{!^X1GleH$F&O0sGi(grQ1o+9cLuI4g?% zw57un@qs24I7lXY^zaKZ0YzaWdMUxELL^Iqfra05*hqkQ(%MV96yJX&mcMqS{GNCC z;>w~@Nc<^VE=!H#rw~e5Q;CMwVmtijRCx5_Uj>i;awzJRp}l`)+)PLY0s7Sf^aYj! z;Z>2}XjG=>qaq?ye}gejhpvja4ip)UEh~4g+T7!aZY<`ciLo&yel>h|63QAAl%X1} zfj(8EIPiNEUK<;%;r>x?9OL!h0LCNhlN|yjW{^nM#gha%&a|VKImHjZ1-qaJtK5?n z`crr2lTs&b9kSGBJEjd(BoCJxJu^-#wiaHIiN&t;yQN<3pHpr2fBVn;kzInn4r}unV|)bO4%Y4MwZ-dutY~BA1bw*BfX+DSSk0br&)(# z&w6huoKrY?J>x0dr$|34SR5+Dv3WO%M&U)|M#;zOvx#YWX?KO0aP_5o&@h9$_5pDl zhpCl0pMDF(LhFg|G}|;%``E{}wqdS6-PbIV!|bXTU<#v8AYCLM6+95oCnmc~8NASA^@8d%e*@Kx;~F>a-gWC= zIaL28q4yYG#~`*a2h7qIXBh5Xvwg#=P4Ncoa<|w8F%oN55z=;Jyo>R7fV?lxlZ?hT z6gn9#jNwU60`Mb&b4LSvhuwdF6R`U)BJ4gGf!?J$u){9?7GW1iVpwN;?FsWPnseB_ zea#A@$)x@l=CesyD_HY_6|Kp>gV6e0Stw+e{-XNO<*KyywW?z_;*BJ{vm~k>qF5v+VJ`@)ZXyRAI~wZ@TO@GVE}_2o z42!nHb!!?3d@9jPEQpJ@IFQ*277iHs);NbiMfC2cjvx%ubdow7Ah^B5L&{OIv0|0r z{3fb&fdKS(m?C> zExdzp?P3Ojy;za*fhEv9P;7y&$nbO#hP+lfhm>#*Q+dtRvSdK;xU-hh*fh#Z+ksdEf+NsDz7x=y`T z@^ukW?7BnNArl+kPn}cVk|szPslwIj_zt}KhiVJLjlf$zRWDPEYqpdYw_4lgk=lM_ zJ*TouoYW+ews&cp_oUl6Gv33v(T`0;VW6idyWY@*7D=6!I9kCFr>5mM^Q~vs%CgS_ zJ#KSB%BVWyFpt=2wqX|jqGLLUQ>U6?xEI@SHQKq}K_m>)|G@FN9X3DAsZ+`Vdp@Al z9Y!KDuT4-md(&x4)%W|!1xuI)V!+hnY+?rbKoG)Ux+M;|K8%R;l&GksAbfDmvmzFo zT-iWONK!3P&OYxkNRuzn*WaJ^mTa+}lpv5U?=#fW8G z^tjCovV)ihT5bpnl@u&GU?Cl$_TMTD0v2*Y-CkQ}bMLh_WK1_wX2`XLGVI6~j_U0n zkLfKPjS;}zyUTQ>AO%B^AY;jH~O?~#Q-%3`-&1%rUF34A7S z(@P9rduNEM8@b*2F1K?MP7G2K-pblmefCpAaf22ZVxor=N~b*ih7hOSNn6p0>sU@aA(%b&Wf z2Qp-bQ=kixGO)53ZI;OMSN;x%<$Y=G`J9)nE^v<7a$qIFGLQivG;gWLBg;!KnPdk$ z;t>GWTa{UOHGUBQGrB9?r)Rj7H>&s7A}L6gV$RiE$8`82^xJfdtO9282IA##)|Afk z5NWck5ZPXnnYBuHc9RdiK;JGL!JmplItd4)a(1bm##(|r8-UQ+Ez)$=;D8}qE<+nl z;6?GIJ44Z+6bFoa23_7-FWeQbB}OoW#JZswA8jEUf3Y69U>)a#lIKkFmZmmEF-T9-HGLMeNo zw1`hfe8Vh!dI!{KvolwE@u(>&pd0141H&be%2R;aDQ3yXhYg61ctMFhQM%q^JY2IT ztIO!YGU1Z6>V>bcIf!?7@E+AiOaV8N5^eEnbq^mrU1Z4gsM~x@c}zy+c)barrwupD zsq%co_;OCeP6-3A+VDGMvrocz$8|y?XR@kBt`pNfiMLqplo=*tn$x$soW>VbP+t5V zJ6*&?yDhnFvza#{@6GF+E#=9p5DOlRGH_$#vJaj5#F}+YTR?FlqA;+BAO~>WVzk@I z$;&hJ1zl2X|F*q%ey&7);}JBo!VVfEdVyI3Io+ zsN?-u&A_us+yX(XWNtd-XQE-f++(eExRY>adaI6-=Rd-P#ig~&-Q2Xvy0h?+^7_)<*fDPRR)Ms&@_MB#-Y^-%Y|E`P<=nOR(k{lR> za<*8@UBbCQ;4trYc?U}c2_EO%c_rzqXLeJzupW@gTGdT>I-Nym3dIRohS&=GW{hzs zKzI|qH+j^6B$n^n9REN^!@@bQ3N~KTVii^;Xc3;DuqlB@GPY4` zm`RpGzh3(&vfgdn)LVJQOv0AJo(On262-pCI$&i~wHR`XBR4YQ_lV5BP|WhMP|WhP z2<@-WPL}dx-n3D6OT0T-7XPb=|Et>L(QxkomH6V^XjyMFIm2K3?&~&~?H^(8#&TOI3fS7O2tpJn6&XWZG zo`mSZi0{o5-etsOL)b=CScL%#U$h+X<|kJ7HS zI|T&K6+>Ze)Hsidbd*EN_+G(1yzQ3o08!Z`_9F>1c!%xj#vzIYLL`hLsgUjBHNB$+ z83g23bMozGvI8E^no4cW2C^nv4<3v?2n4fr!co+vVvDF}4GeHDSELfx8US^tdBw?i z`ek1&OD==wBLWc>@T?Glxf0!lpC#&ByH-!ZAnu`{*PK3vW0e zK#NRlz866Bt#wm1BC{n-;R`W~=5LtRUzygDI^CT#Q&P%JczsGJ7V(J5GX23>QkM^= za}`1eAu?ht%Z|w1GBvidqfpCNZMH+6`M;nvC3$ zFup$fmv2y4>g+xP-;+P+Io{vR%zkIAE^PkU8!c z95B{~cVxBYb+$O`j@*kJrA!ZG9HgXdyIcr|PA+KzXrp(CTYHfd}2D6>)OwMi+N z$OLl{f75DyHo*9;Y;%>u-2pWoSO|j^fdU-An24rQ4h>dsLe;+p@%_@q-~YcfT3fwp z{rbCBt-kk_(@d4S3tR1i-hp~Lg~<8U%*|eumid)!7MxN!v=K_>&+z^U?GF0Howzo@ zbt1+;xmhJzbK7!6kV8eQP<3o89J!6t-5yOP!KoLqEn(mQAr8NVDBxZuQnFowea8+@ z^HN-5kGa* zF8{__)ko88p!g=$SE|3FmlDtL2jfF1othZhrY8Hj^{xu0)Z%hl{JPemXz??+7ki6) z5L@0nSaet-F2R&Y@}wG#6I+G?^wPwoao7r6rD2Ww;3N0P@#B#)-zP_QZaB-liA#`~ z`GCGrs0Bys^px1&)WU+#ILagdh-~!F)3sWsJ5_qAzmh_FucZMG}!l;o2V3i#IE zy*rU%rr>gMY&>kym}9e;O&n8Z0f&_#urVeR1d+OIwoo^$bs?unlC6Bz6h-p#>=|&= za}AAgCBH|JYpm^@&Eq)Gt>4kA{Rfb7gV7pRSbDbLF}iV^0IzPwe~g%=`btLRe&ET- z;%A=XC3*hbRVSAGxBul?@?SHj`@e)qv|N~AmDg^9 z{-gp%`x+-$NT^VGV2UM540HVxc`N@eF8+6MR8L11Ugc&4?iQ0A%fb(%#sBVR{xOJ> zIrVP9B5H78xzBa^mo)5x1m=F&$07Tsxp-O%fM*=eVkc$3&%?mcUdxz(-f&>D}GFlmErj97jLLn{F}sgdMC?ogWOrTiEy#j#hxgv-dKFyRIP`^60t^r zw*T^|SE|Rk(X9si2)B@Q;djY^ubcg%_10naSO?I`TryzKwrqGhP>7-+`s}gijoE&!H*qA$fFM z7IL0=gxEl%$k|_EmTi*>ecWT#0mKl ztBcylcUzr0pa;pRSn9Cb=v;U%LeVRoovre+qF$syApyf;bv^6W-x%G33<0(DOXPR` zvuba=G(2ji5}R4T)sL)BH{!tN{`dw6v8=G}a0|^8q8LF2^-JO>ISj(28%)1v_N{U{ zA;$Xerm1rzV4qm(r$wP8`!JsJ2dyd8P)A)RM8{|p@U8kqKN zda>lh5pI_%We4Hwq!emkmpD&lhXRH82iWx2IBZPzvU$e77LI__C!*fyQa9PKm--RW z6jp3IG7C$hsO9z5KnvQZyjTpmjKrua3bG^0^jgJs2DMG8s0NT~R4agh?=Gg1*XhTS z7SqRHex|6*j(>S7^M47lP$c2DmsZkL$v()zD%m%hG#o_&^0*)Y`B^AlRCo+E$QQp3 zZOe$_=M_3zj8Vc=sb9J`hQ=G^88_O~VzkHHSaQ)R!5{2^5+t&TZEax4B7T^aIbu5P z%(wdS6j%?3J!`4M6>dbA&YvPU(s>3a8$N z(`pz%!x9O@>@3jbDxa`8tUd@R4a(5g-&#A;Fo;rhs{%9;a&JEues>BT#~qhS5|T6d zSG{)YIK6bY>IWfnDLv1im&J~pZDJ+r%PzHgk2N>>_cFwgTtjn}X5&+N9cC+5XueEf zv%M{!Cy6jhGc+;oDZ(D$i7Wlp2Y7lnW|nrqAMB<0ZX*n~wfzMhKNxjA?H0O?ZGh>xTxXJOFF_5%RukH{`=S>*4OhL$)KFv#5p+t>&f@a5jpcnv zmqyI*ud|_udJK2iTMH24#`j>3@Z*Og{*9AUt=%Pea&r`Eb$PdExRAt&t#UaR<=*5{ zhZSI*T}41!PdGbtLtUXU_eCmhTb~Lg#{Gt(_52P`WK_y7_QofB+tDl>GU;nE zzD4zkg(&dDF-nay`a!s)yBL7>UhR!^ZLRMa2_yg5`ckj;R2)v`ASa+N1?5=AcnFEc zJ5r8G3!{Kzx>ZGff2?}1DuA5C>o)4LPUcKxoY1QBCXxC&82rtNoy$!PN7WP;s?;l^ zQB?wGP~2;0QE5h!b#Z18b?Tv+L-J;9rDYs%QL@~D0cG`6h+nY1Sd@mcwK{3jI!vX0 z|3dX%yO=h|hw*Yzl88}TSPHZ?Mp1q$np$zFPo2=(1I+11Ms|}0U#K?j3Rf!kaZ;t) zq7On+;ZKbAugRY>qMuUs_D#&<^L93JCPphu#4pV<3eBS8K<)(9kUwoT)#P6^&8|7f zl3qE^7*}RiBX+$ZGdijQObMRQ{M~u-{Jks64w)gowYb!>f7M=>#+)Nn)WYOWt-cENhw)bocXos(8LLjfw&4fF;nK;HhZ!n4aGA7v0C^^M0l$RF-pPF-ak%Mk zNu8`Bb-$-|**xq9MgWDhwWWnfoKdC9u!-)pPQmhWMi~+ei8`?aMQ2C)s@W-W z9IdB7WUU`FwxfB5Fw_l1bED#>P&>?JdS;6fFgrGe{z6{C zHYmVY>9_^lR9oCNfb(@S*@Q}C&HfoC%t(@e&fa;9~|A>Z4 zJSy>N4WR?wq%p*SYSbLg<+_JFfg^9gSG)ss+7RB{CIk^$iQ7h!!MV~GgGgp_A+8%B zw8KG_3VAM3amVV4!V+p5kZ*2kiui&O%pKoV_`>SxOJ{<&Q?M-cv}HX`BuI#^oi zKGg%bt`Dzc0}@8L;Z0Jen{mgVU`DCdB2fpZFynFrUBx=G8N;^WP6EDw-#)e7_dN;$ z!8C}1fuB7;#(pk)+MZW!^$2Jq96!ps?*9H0RT86G+xdPHA$piYS#xWTNo=8YuQ^!g z7n&7dmnWi*Ub>(P^%`}SK$7T=%8d2IMnt!5Qk5I2(;jQ@YDP6}eeKe2fbA6}vzM80 zQgTAK_Bx>o@v5U3C_wv^O>QyTM8t@AAu6DrhP&lx8v_6ccUZsukK`VbBt9X1Pe4Tv zfTrSmh}+D)qH2frotV3vrj;92s_{7OK_n4hzML=M$x5wHv(s7o3aC^a#bb8Z085b` zDI@2TRf&uO{K~Y1KS7Wr@rnja6kC_E@@ui@kQx2?f2B!0HZ;b57lP>!zRO82$(_`B zckGj7Ch3wfSNP_`9$(M|znaahr}VmV~?RK zV84r^8?rCkrbGcpP=9Stsp33+ikuBOw_@^_8OTr%C9FO3~tgI3*=h$8ug9E^OGKCSgA z_@myglk+(Jno{jov+S@aJD~y~A!7NwqB=&w*%q=_0476#tz)_iv=dFF5<_k`Q$}s5 z;Ue026+&9R*#Vo|2C2W^V!g5Lp(t3K}#vv>BsupyztpDjs^#k zU^P@J7_dMy(xs@*7~9~aGf?zKI&BI{S0LXdc6ZZJ3~V;2l!7tY*ZlnGjvR}((M!SD zre`=lV=H2Xr}pDf1-U8&|08F|D>Nvrn!DQ@|GM=cCqNrC*Q&e1^`J?{EpTwF)31l5&S) z98yyI2(?T)%YaLfKCHq0Li(j<%brct7s(h(6tK5ZsNJE1Pptn|bNr2ch?M=l7@5Rx zM=NH|rIsr?(=)}}uGm{`-+N-Tjf_fN0h2tz5D5D0kObo*g{w>hyg&YH2teFFeFHU$ z42v$uO4P!U2Q*`Ess6%$>o3V9?Z!p%keqf)Vlq7)^eFk~8(u)L{(y73CKeQ%fw((& zn=CVbeGeYhnl6LctNN;@@K~po^Lv}zcbM&PXxxx>E{cV`Hf&rTlE!1uLs$E^bgo730wR=IMcL&MO`P$;l*oMY(Ne31 zwMAPdC`tjcES%;-nHB}6I51siUW|XmWr8ZUkNZ{hYG$#if+QOkYc_s3ocQ7Etxo5t zHNM5=<|B*j*qzn#<-GIc<+P9`fD`0Lsa*E_W^Rw`5Ye@JCwpzefL-33H^oL^IH z_-%$(sOG!lqOQe#JE0Pyj6H=Q66#677STPOX7e}l2*WFvKS5AW?MTVnqs(_IT)V|X z?($GW>w6|8wD=ka2UHq-_z z$=w}19{z&$(tPx|LKh#FtHON})ZrTcU!lpi9k$&$^+}!+4|)0>TDe(n4jKXOk*EP0 zbE`a!2B(f>VP{O`ZUIrW*OPD|XE)p^O7tmLcG81=_5nXmd9u!^93u<=!FELer?Wfs z{Y}z7+X!|$udfOqQat4&i7&bi7=fm37~a;|Wk5}IC-ZMi#j85)^Q}!&HM5)=<%xK7 z1VYMi;F}JU5o}JkZ9p5kYKKTV19K{f4)?A_$e24xB@DvZwbeG0?$6PEo8LNFUqDI- z4|XB1r8m>Dl3ck_R{)Yu8-iukj=X%18>joQZ^;HBW3`#&o(p2zy>q1)0YQ?mqHrY& zP(R$Svgpp#Qo!od2pvo$^6}U_3hMk%ZK~$^R2?Hqb(OTgpL%WjZL^7!ornd;^tYt7 zJAnu1x&9TH@K#56zB4`b1h$TptI3{mB%7#{&b{1eiCln>0Hp?(@hR4Z0D{cqGclPKEjIaQx7g^5IG-c5oPo)M@eppc>c9|q zG1?2sIfOMw(PeIe&}+VvvO93I5vSAWYYboXYp7|W!--|ZZZVCHHm@iC&?zz)VUE&H zge3WZ{5VZSBJh~P{Rl2Q2j9qGu5-V}g0M{P;GOIRb-dE-4N1}s(XcjFY`W7@z>vn zjry24*=Ih3*7F}_NsP`a30P_?dW6Flx7nC1-9BPi+j}qa=#bFwJWx0V%$jXro zxW1jOX<;6Lf@qsA;hCahLNMtIcDJJod@OWp@g?AZLnm-tB(h6`+*I~#vUnkjM2vKp zZXUHO9XRJGJeBKL3Kf|FMq`j(6QLtE5yD4!U0=W@6?;{i*9YvF3(WfUH?bZ)y8gIv8`f=E{gRFlr#mUX!lC=uH%1s^ zfH2zXV6>Hj+Znv`lbpEs2M$^j^ucRCke(+jxYEe6#wZm1nq&31+PT0Qe5zST!Llm; z2KqD!rL_eE8bJs5UA9GuE-oXVKYR$@2u=;;$GJ4!FPWkP9Fwv{NP(%nd=A%XW@Sgf z-iY*8nwg`s7Os}xZBLr>9uv#ZBH~)OuP9sC*^Hka^_UD>RTD~9D7 zhzcpz9@E--NI@Bx)q~X;uOwdKfff^TR%4U!sI~>#jAA_N)f}jgVjUn&pm?CUkdO%$ zn!s8Vl*dZb?D;JAT9tKyd29;nRN{84aG{Ti54uR>sw!aFv?8kiZ=LiOg=T&aWM!jx zDG-8AcB86!d|105txcG36psZK0Ju3|MygWq^-^1_&Zwc}>dJ=*hikG=JFQr2qOmX$ zmD$`5%ER`#AW?n;BBzogZV;!a3*k-^>&R|zvKR}`1h1<>z1`WXiW;=?3^AWW*h_my zu>b7!2aHLfp2?BwDZuh5Y5t8iN&$ZMC@hfGc+9qvx+G+Ss{{labK*0-llAdd((D-+ z3>erAAT2^o+jb0RIbrDry$E@<0Nn@lw;~IX1L(+UZEUgt

      MACE`p>h8nBJk8>vH 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°4pZHVkP_YTG{VvbyaF%zeHr|Kk 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

      @b!n$r_yCT?sRCqmi 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 P{xAHQ#kc!qZ4Le}@oO+4 literal 374504 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

      ck39Eih6( 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

      O;r57d69k3;hS!Rr`uNVpe>= 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 JK;e # optional parent -# id = [, [, ] ...] ; # are quoted strings -# desc = ; # quoted string -# type = ; # programmer type, quoted string -# # supported programmer types can be listed by "-c ?type" -# connection_type = parallel | serial | usb -# baudrate = ; # baudrate for avr910-programmer -# vcc = [, ... ] ; # pin number(s) -# buff = [, ... ] ; # pin number(s) -# reset = ; # pin number -# sck = ; # pin number -# mosi = ; # pin number -# miso = ; # pin number -# errled = ; # pin number -# rdyled = ; # pin number -# pgmled = ; # pin number -# vfyled = ; # pin number -# usbvid = ; # USB VID (Vendor ID) -# usbpid = ; # USB PID (Product ID) -# usbdev = ; # USB interface or other device info -# usbvendor = ; # USB Vendor Name -# usbproduct = ; # USB Product Name -# usbsn = ; # USB Serial Number +# parent # optional parent +# id = [, ... ] ; # are quoted strings +# desc = ; # quoted string +# type = ; # programmer type, quoted string +# # supported types can be listed by "-c ?type" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_PDI (1) +# extra_features = HAS_ {| HAS_} # extra features, eg, HAS_SUFFER|HAS_VTARG_ADJ (2) +# connection_type = parallel | serial | usb | spi +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# buff = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# sdo = ; # pin number +# sdi = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# usbvid = ; # USB VID (Vendor ID) +# usbpid = [, ...] ; # USB PID (Product ID) (3) +# usbdev = ; # USB interface or other device info +# usbvendor = ; # USB Vendor Name +# usbproduct = ; # USB Product Name +# usbsn = ; # USB Serial Number +# hvupdi_support = [, , ... ] ; # UPDI HV Variants Support +# ; # -# To invert a bit, use = ~ , the spaces are important. -# For a pin list all pins must be inverted. -# A single pin can be specified as usual = ~ , for lists -# specify it as follows = ~ ( [, ... ] ) . -# ; +# # To invert a pin use = ~ +# # To invert a pin list (all pins get inverted) use ~ ( [, ... ] ) +# # +# # (1) The following program modes are known: +# # - PM_SPM: Bootloaders, self-programming with SPM opcodes or NVM Controllers +# # - PM_TPI: Tiny Programming Interface (t4, t5, t9, t10, t20, t40, t102, t104) +# # - PM_ISP: SPI programming for In-System Programming (almost all classic parts) +# # - PM_PDI: Program and Debug Interface (xmega parts) +# # - PM_UPDI: Unified Program and Debug Interface +# # - PM_HVSP: High Voltage Serial Programming (some classic parts) +# # - PM_HVPP: High Voltage Parallel Programming (most non-HVSP classic parts) +# # - PM_debugWIRE: Simpler alternative to JTAG (a subset of HVPP/HVSP parts) +# # - PM_JTAG: Joint Test Action Group standard (some classic parts) +# # - PM_JTAGmkI: Subset of PM_JTAG, older parts, Atmel ICE mkI +# # - PM_XMEGAJTAG: JTAG, some XMEGA parts +# # - PM_AVR32JTAG: JTAG for 32-bit AVRs +# # - PM_aWire: AVR32 parts +# # +# # (2) The following extra programmer features are known: +# # - HAS_SUFFER: Only present on Xplained Mini/Nano programmers. +# # The Super User Fantastic Feature Enable Register allows the user to modify +# # the behavior of the mEDBG programmer/debugger chip. See the Xplained Mini/Nano +# # documentation for more information +# # - HAS_VTARG_SWITCH: Programer has a programmable target power switch +# # - HAS_VTARG_ADJ: Programmer has an adjustable target power source that can +# # be controlled with Avrdude +# # - HAS_FOSC_ADJ: Programmer has a programable frequency generator that +# # can clock an AVR directly through its XTAL1 pin +# # - HAS_VAREF_ADJ: Programmer has an adjustable analog reference voltage that +# # can be controlled with Avrdude +# # +# # (3) Not all programmer types can process a list of PIDs # # part -# id = ; # quoted string -# desc = ; # quoted string -# has_jtag = ; # part has JTAG i/f -# has_debugwire = ; # part has debugWire i/f -# has_pdi = ; # part has PDI i/f -# has_tpi = ; # part has TPI i/f -# devicecode = ; # deprecated, use stk500_devcode +# desc = ; # quoted string, the long part name, eg, "ATmega328p" +# id = ; # quoted string, normally an abbreviated part name +# variants = [, ...]; # quoted strings, each starts with ": ..." +# family_id = ; # quoted string, eg, "megaAVR" or "tinyAVR" +# prog_modes = PM_ {| PM_} # interfaces, eg, PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE +# mcuid = ; # unique id in 0..2039 for 8-bit AVRs +# n_interrupts = ; # number of interrupts, used for vector bootloaders +# n_page_erase = ; # if set, number of pages erased during SPM erase +# n_boot_sections = ; # Number of boot sections +# boot_section_size = ; # Size of (smallest) boot section, if any +# hvupdi_variant = ; # numeric -1 (n/a) or 0..2 +# devicecode = ; # deprecated, use stk500_devcode # stk500_devcode = ; # numeric # avr910_devcode = ; # numeric +# has_jtag = ; # part has JTAG i/f (deprecated, use prog_modes) +# has_debugwire = ; # part has debugWire i/f (deprecated, use prog_modes) +# has_pdi = ; # part has PDI i/f (deprecated, use prog_modes) +# has_updi = ; # part has UPDI i/f (deprecated, use prog_modes) +# has_tpi = ; # part has TPI i/f (deprecated, use prog_modes) +# is_avr32 = ; # AVR32 part (deprecated, use prog_modes) +# is_at90s1200 = ; # AT90S1200 part # signature = ; # signature bytes -# chip_erase_delay = ; # micro-seconds -# reset = dedicated | io; -# retry_pulse = reset | sck; -# pgm_enable = ; -# chip_erase = ; -# chip_erase_delay = ; # chip erase delay (us) +# usbpid = ; # DFU USB PID +# chip_erase_delay = ; # microseconds +# reset = dedicated | io ; +# retry_pulse = reset | sck ; # # STK500 parameters (parallel programming IO lines) -# pagel = ; # pin name in hex, i.e., 0xD7 -# bs2 = ; # pin name in hex, i.e., 0xA0 +# pagel = ; # page load pin name in hex, eg, 0xD7 +# bs2 = ; # byte select 2 pin name in hex, eg, 0xA0 # serial = ; # can use serial downloading -# parallel = ; # can use par. programming -# # STK500v2 parameters, to be taken from Atmel's XML files +# parallel = ; # can use parallel programming +# # STK500v2 parameters, to be taken from Atmel's ATDF files # timeout = ; # stabdelay = ; # cmdexedelay = ; @@ -76,52 +121,65 @@ # predelay = ; # postdelay = ; # pollmethod = ; -# mode = ; -# delay = ; -# blocksize = ; -# readsize = ; # hvspcmdexedelay = ; -# # STK500v2 HV programming parameters, from XML -# pp_controlstack = , , ...; # PP only -# hvsp_controlstack = , , ...; # HVSP only -# hventerstabdelay = ; -# progmodedelay = ; # PP only -# latchcycles = ; -# togglevtg = ; -# poweroffdelay = ; -# resetdelayms = ; -# resetdelayus = ; -# hvleavestabdelay = ; -# resetdelay = ; -# synchcycles = ; # HVSP only -# chiperasepulsewidth = ; # PP only -# chiperasepolltimeout = ; -# chiperasetime = ; # HVSP only -# programfusepulsewidth = ; # PP only -# programfusepolltimeout = ; -# programlockpulsewidth = ; # PP only -# programlockpolltimeout = ; -# # JTAG ICE mkII parameters, also from XML files +# # STK500v2 HV programming parameters, from ATDFs +# pp_controlstack = , , ... ; # PP only +# hvsp_controlstack = , , ... ; # HVSP only +# flash_instr = , , ; +# eeprom_instr = , , ... ; +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files # allowfullpagebitstream = ; # enablepageprogramming = ; -# idr = ; # IO addr of IDR (OCD) reg. -# rampz = ; # IO addr of RAMPZ reg. -# spmcr = ; # mem addr of SPMC[S]R reg. -# eecr = ; # mem addr of EECR reg. -# # (only when != 0x3c) -# is_at90s1200 = ; # AT90S1200 part -# is_avr32 = ; # AVR32 part +# idr = ; # IO addr of IDR (OCD) reg +# rampz = ; # IO addr of RAMPZ reg +# spmcr = ; # mem addr of SPMC[S]R reg +# eecr = ; # mem addr of EECR reg +# eind = ; # mem addr of EIND reg +# mcu_base = ; # MCU control block in ATxmega devices +# nvm_base = ; # NVM controller in ATxmega devices +# ocd_base = ; # OCD module in AVR8X/UPDI devices +# ocdrev = ; # JTAGICE3 parameter from ATDF files +# pgm_enable = ; +# chip_erase = ; +# # parameters for bootloaders +# autobaud_sync = ; # autobaud detection byte, default 0x30 # # memory -# paged = ; # yes / no +# paged = ; # yes/no (flash only, do not use for EEPROM) +# offset = ; # memory offset # size = ; # bytes # page_size = ; # bytes # num_pages = ; # numeric +# initval = ; # factory setting of fuses and lockbits +# bitmask = ; # bits used (only in fuses and lockbits) +# n_word_writes = ; # TPI only: if set, number of words to write # min_write_delay = ; # micro-seconds # max_write_delay = ; # micro-seconds -# readback_p1 = ; # byte value -# readback_p2 = ; # byte value -# pwroff_after_write = ; # yes / no +# readback = ; # pair of byte values +# readback_p1 = ; # byte value (first component) +# readback_p2 = ; # byte value (second component) +# pwroff_after_write = ; # yes/no +# mode = ; # STK500 v2 file parameter from ATDF files +# delay = ; # " +# blocksize = ; # " +# readsize = ; # " # read = ; # write = ; # read_lo = ; @@ -131,19 +189,29 @@ # loadpage_lo = ; # loadpage_hi = ; # writepage = ; -# ; -# ; +# ; +# ; # # If any of the above parameters are not specified, the default value -# of 0 is used for numerics or the empty string ("") for string -# values. If a required parameter is left empty, AVRDUDE will -# complain. +# of 0 is used for numerics (except for mcuid, hvupdi_variant, ocdrev, +# initval and bitmask, all of which default to -1, and for autobaud_sync +# which defaults to 0x30), or the empty string "" for string values. If +# a required parameter is left empty, AVRDUDE will complain. Almost all +# occurrences of numbers (with the exception of pin numbers and where +# they are separated by space, eg, in signature and readback) can also +# be given as simple expressions involving arithemtic and bitwise +# operators. # # Parts can also inherit parameters from previously defined parts -# using the following syntax. In this case specified integer and -# string values override parameter values from the parent part. New -# memory definitions are added to the definitions inherited from the -# parent. +# using the following syntax. In this case specified integer and +# string values override parameter values from the parent part. New +# memory definitions are added to the definitions inherited from the +# parent. If, however, a new memory definition refers to an existing +# one of the same name for that part then, from v7.1, the existing +# memory definition is extended, and components overwritten with new +# values. Assigning NULL removes an inherited SPI instruction format, +# memory definition, control stack, eeprom or flash instruction, eg, +# as in memory "efuse" = NULL; # # part parent # quoted string # id = ; # quoted string @@ -151,28 +219,28 @@ # ; # # NOTES: -# * 'devicecode' is the device code used by the STK500 (see codes +# * 'devicecode' is the device code used by the STK500 (see codes # listed below) -# * Not all memory types will implement all instructions. -# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Not all memory types will implement all instructions +# * AVR Fuse bits and Lock bits are implemented as a type of memory # * Example memory types are: # "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high # fuse), "signature", "calibration", "lock" # * The memory type specified on the avrdude command line must match -# one of the memory types defined for the specified chip. +# one of the memory types defined for the specified chip # * The pwroff_after_write flag causes avrdude to attempt to # power the device off and back on after an unsuccessful write to -# the affected memory area if VCC programmer pins are defined. If +# the affected memory area if VCC programmer pins are defined. If # VCC pins are not defined for the programmer, a message # indicating that the device needs a power-cycle is printed out. # This flag was added to work around a problem with the # at90s4433/2333's; see the at90s4433 errata at: # -# http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf +# https://www.microchip.com/content/dam/mchp/documents/OTH/ProductDocuments/DataSheets/doc1042.pdf # # INSTRUCTION FORMATS # -# Instruction formats are specified as a comma seperated list of +# Instruction formats are specified as a comma separated list of # string values containing information (bit specifiers) about each # of the 32 bits of the instruction. Bit specifiers may be one of # the following formats: @@ -181,23 +249,44 @@ # # '0' = the bit is always clear on input as well as output # -# 'x' = the bit is ignored on input and output +# 'x' = the bit is ignored on input and output and set as 0 # -# 'a' = the bit is an address bit, the bit-number matches this bit -# specifier's position within the current instruction byte +# 'a' = the bit is an address bit; from v 7.1 the bit-number +# is set to match the right bit position for the +# instruction to "just work" # # 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 # is address bit 12 on input, a0 is address bit 0. # -# 'i' = the bit is an input data bit +# 'i' = the bit is an input data bit (can optionally be followed +# by a memory bit position between 0 and 7 if that differs +# from the bit-position in the SPI write command byte) # -# 'o' = the bit is an output data bit +# 'o' = the bit is an output data bit (can optionally be followed +# by a memory bit position between 0 and 7) # -# Each instruction must be composed of 32 bit specifiers. The +# Each instruction must be composed of 32 bit specifiers. The # instruction specification closely follows the instruction data -# provided in Atmel's data sheets for their parts. +# provided in Atmel's data sheets for their parts. Note that flash +# addresses always refer to *word* addresses whilst all other +# memory types specify *byte* addresses. # -# See below for some examples. +# Example for signature read on the ATmega328P: +# read = "0 0 1 1 0 0 0 0", "0 0 0 x x x x x", +# "x x x x x x a1 a0", "o o o o o o o o"; +# +# As the address bit numbers in the SPI opcodes are highly +# systematic, they don't really need to be specified. A compact +# version of the format specification neither uses bit-numbers for +# address lines nor spaces. If such a string is longer than 7 +# characters, then the characters 0, 1, x, a, i and o will be +# recognised as the corresponding bit, whilst any of the characters +# ., -, _ or / can act as arbitrary visual separators, which are +# ignored. Examples: +# +# loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; +# +# loadpage_lo = "0100.0000", "000x.xxxx", "xxaa.aaaa", "iiii.iiii"; # # # The following are STK500 part device codes to use for the @@ -205,7 +294,7 @@ # section avr061.zip which accompanies the application note # AVR061 available from: # -# http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf +# https://ww1.microchip.com/downloads/en/Appnotes/doc2525.pdf # #define ATTINY10 0x10 /* the _old_ one that never existed! */ @@ -261,8 +350,8 @@ #define AT86RF401 0xD0 #define AT89START 0xE0 -#define AT89S51 0xE0 -#define AT89S52 0xE1 +#define AT89S51 0xE0 +#define AT89S52 0xE1 # The following table lists the devices in the original AVR910 # appnote: @@ -314,904 +403,1946 @@ # in the Internet. These add the following codes (only devices that # actually exist are listed): -# ATmega8515 0x3A -# ATmega128 0x43 -# ATmega64 0x45 -# ATtiny26 0x5E -# ATmega8535 0x69 -# ATmega32 0x72 -# ATmega16 0x74 -# ATmega8 0x76 -# ATmega169 0x78 +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 # -# Overall avrdude defaults; suitable for ~/.avrduderc +# Overall avrdude defaults; suitable for ~/.config/avrdude/avrdude.rc # default_parallel = "/dev/parport0"; default_serial = "/dev/ttyS0"; +default_spi = ""; # default_bitclock = 2.5; +default_linuxgpio = "gpiochip0"; +allow_subshells = no; + + + + -# Turn off safemode by default -#default_safemode = no; # # PROGRAMMER DEFINITIONS # -# http://wiring.org.co/ -# Basically STK500v2 protocol, with some glue to trigger the -# bootloader. -programmer - id = "wiring"; - desc = "Wiring"; - type = "wiring"; - connection_type = serial; -; +#------------------------------------------------------------ +# dryrun +#------------------------------------------------------------ + +# Using -c dryrun is a good way to get acquainted with AVRDUDE and its +# command line -U memory operations, -T terminal commands or the +# interactive terminal -t. No hardware needs to be connected, as the +# dryrun programmer emulates what can be expected to happen with a real +# -c programmer and a corresponding connected physical programmer or a +# directly connected board when it has a bootloader. +# +# Examples: +# avrdude -c dryrun -p ATmega328P -t # Interactive terminal: enter help +# avrdude -c dryrun -p ATmega2560 -U flash:w:myapplication.hex:i +# avrdude -c dryrun -p AVR64DB48 -Tconfig programmer - id = "arduino"; - desc = "Arduino"; - type = "arduino"; - connection_type = serial; + id = "dryrun"; + desc = "Emulates programming without a programmer"; + type = "dryrun"; + prog_modes = PM_TPI | PM_ISP | PM_UPDI | PM_PDI; ; -# this will interface with the chips on these programmers: + +#------------------------------------------------------------ +# wiring +#------------------------------------------------------------ + +# http://wiring.org.co/ +# Basically STK500v2 protocol, with some glue to trigger the bootloader + +programmer + id = "wiring"; + desc = "Wiring for bootloader using STK500 v2 protocol"; + type = "wiring"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# arduino +#------------------------------------------------------------ + +# Serves optiboot bootloaders and others using the STK500v1 protocol; +# it is superseded by the more modern -c urclock programmer, see below. +# The programmer is named after the popular embedded programming +# environment Arduino that has for a long time used optiboot +# bootloaders. Same as the stk500v1 except that it resets the attached +# board and treats EEPROM as the optiboot bootloaders expect. + +programmer + id = "arduino"; + desc = "Arduino for bootloader using STK500 v1 protocol"; + type = "arduino"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# urclock +#------------------------------------------------------------ + +# Serves urboot and optiboot bootloaders +# - Reads/writes flash/EEPROM via the MCU bootloader and a serial connection +# - Automatically resets an attached board via RTS/DTR into bootloader mode +# - Implements urprotocol, a skeleton version of STK500v1 +# - Supports vector bootloaders by patching interrupt vectors during upload: +# + Vector bootloaders run on all parts, no need for a HW boot section +# + Can be much smaller than the smallest HW boot section of a part, eg, +# 256 bytes for ATmega2560 (smallest HW boot section is 1024 bytes) +# - Checks sizes of applications so they don't overwrite the bootloader +# - Keeps the bootloader alive during interactive terminal sessions +# - Provides a 4-byte metadata interface in top flash for +# + Allowing applications to utilise unused flash similar to EEPROM +# + Storing in top flash the file name and its last-modified date +# + Displaying file name and date of the last uploaded application # -# http://real.kiev.ua/old/avreal/en/adapters -# http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml -# http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html -# http://www.ethernut.de/en/hardware/turtelizer/index.html -# http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html -# http://dangerousprototypes.com/docs/FT2232_breakout_board -# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H -# http://flashrom.org/FT2232SPI_Programmer -# -# The drivers will look for a specific device and use the first one found. -# If you have mulitple devices, then look for unique information (like SN) -# And fill that in here. +# See https://github.com/stefanrueger/urboot + +programmer + id = "urclock"; + desc = "Urclock programmer for urboot bootloaders using urprotocol"; + type = "urclock"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# xbee +#------------------------------------------------------------ + +programmer + id = "xbee"; + desc = "XBee for Series 2 Over-The-Air (XBeeBoot) bootloader using STK500 v1 protocol"; + type = "xbee"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft2232h +#------------------------------------------------------------ + +# Interfaces with the chips on these programmers: +# - http://real.kiev.ua/old/avreal/en/adapters +# - http://www.amontec.com/jtagkey.shtml and .../jtagkey-tiny.shtml +# - http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html +# - http://www.ethernut.de/en/hardware/turtelizer/index.html +# - https://web.archive.org/web/20161221220118/http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html +# - http://dangerousprototypes.com/docs/FT2232_breakout_board +# - http://flashrom.org/FT2232SPI_Programmer +# +# The drivers will look for a specific device and use the first one +# found. If you have mulitple devices, and they give out serial +# numbers, a different entry for each of them can be created in a +# persnonal ~/.avrduderc or avrdude.rc entry and the usbsn = "..."; +# field added to distinguish between them. # # Note that the pin numbers for the main ISP signals (reset, sck, -# mosi, miso) are fixed and cannot be changed, since they must match +# sdo, sdi) are fixed and cannot be changed, since they must match # the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of # these FTDI ICs has been designed. +# +# See also https://ftdichip.com/wp-content/uploads/2020/07/DS_FT2232H.pdf programmer - id = "avrftdi"; - desc = "FT2232D based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0x6010; - usbvendor = ""; - usbproduct = ""; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ADBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; -#LED SIGNALs - higher ADBUS-Nibble -# errled = 4; -# rdyled = 5; -# pgmled = 6; -# vfyled = 7; -#Buffer Signal - ACBUS - Nibble -# buff = 8; + id = "ft2232h", "avrftdi", "2232h"; + desc = "FT2232H/D based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; +# ISP-signals - lower ADBUS-Nibble (default) + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) ; + +#------------------------------------------------------------ +# 2232HIO +#------------------------------------------------------------ + # This is an implementation of the above with a buffer IC (74AC244) and # 4 LEDs directly attached, all active low. -programmer - id = "2232HIO"; - desc = "FT2232H based generic programmer"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is reserved for generic H devices and -# should be programmed into the EEPROM -# usbpid = 0x8A48; - usbpid = 0x6010; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals - reset = 3; - sck = 0; - mosi = 1; - miso = 2; - buff = ~4; -#LED SIGNALs - errled = ~ 11; - rdyled = ~ 14; - pgmled = ~ 13; - vfyled = ~ 12; + +programmer parent "ft2232h" + id = "2232hio"; + desc = "2232hio based on FT2232H with buffer and LEDs"; + buff = ~4; +# LED SIGNALs + errled = ~11; + rdyled = ~14; + pgmled = ~13; + vfyled = ~12; ; -#The FT4232H can be treated as FT2232H, but it has a different USB -#device ID of 0x6011. -programmer parent "avrftdi" - id = "4232h"; - desc = "FT4232H based generic programmer"; - usbpid = 0x6011; +#------------------------------------------------------------ +# tigard +#------------------------------------------------------------ + +# Tigard - FT2232H based multi-protocol tool for hardware hacking +# https://github.com/tigard-tools/tigard + +programmer parent "ft2232h" + id = "tigard"; + desc = "Tigard interface board"; + usbdev = "B"; +# Reset is different to the FT2232H; sck, sdo, sdi remain at 0, 1, 2 + reset = 5; # BD5 (GPIOL1) ; +#------------------------------------------------------------ +# avrisp-u +#------------------------------------------------------------ + +# Kanda's low cost FT2232H based programmer. Uses a different reset pin. +# Adds a buffer and a LED indicating that the programming is in progress. +# https://www.kanda.com/products/Kanda/AVRISP-U.html + +programmer parent "ft2232h" + id = "avrisp-u"; + desc = "Kanda AVRISP-U"; + usbsn = "AVR"; + buff = ~5; + reset = 4; + pgmled = ~10; +; + +#------------------------------------------------------------ +# ft4232h +#------------------------------------------------------------ + +# The FT4232H can be treated as FT2232H but with a different USB +# device ID of 0x6011 + +programmer parent "ft2232h" + id = "ft4232h", "4232h"; + desc = "FT4232H based generic programmer"; + usbpid = 0x6011; +; + +#------------------------------------------------------------ +# jtagkey +#------------------------------------------------------------ + programmer - id = "jtagkey"; - desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; -# Note: This PID is used in all JTAGKey variants - usbpid = 0xCFF8; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; -#ISP-signals => 20 - Pin connector on JTAGKey - reset = 3; # TMS 7 violet - sck = 0; # TCK 9 white - mosi = 1; # TDI 5 green - miso = 2; # TDO 13 orange - buff = ~4; -# VTG VREF 1 brown with red tip -# GND GND 20 black -# The colors are on the 20 pin breakout cable -# from Amontec + id = "jtagkey"; + desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is used in all JTAGKey variants + usbpid = 0xcff8; + usbdev = "A"; + buff = ~4; +# ISP-signals => 20 - Pin connector on JTAGKey + reset = 3; # TMS 7 violet + sck = 0; # TCK 9 white + sdo = 1; # TDI 5 green + sdi = 2; # TDO 13 orange +# VTG VREF 1 brown with red tip +# GND GND 20 black +# The colors are on the 20 pin breakout cable from Amontec ; -# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1" -# You can find it as "OpenJTAG ARM JTAG USB" in the internet. -# (But there are also several projects called Open JTAG, eg. -# http://www.openjtag.org, which are completely different.) -# http://www.100ask.net/shop/english.html (website seems to be outdated) -# http://item.taobao.com/item.htm?id=1559277013 -# http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!) -# some other sources which call it O-Link -# http://www.andahammer.com/olink/ -# http://www.developmentboard.net/31-o-link-debugger.html -# http://armwerks.com/catalog/o-link-debugger-copy/ -# or just have a look at ebay ... -# It is basically the same entry as jtagkey with different usb ids. +#------------------------------------------------------------ +# ft232h +#------------------------------------------------------------ + +programmer + id = "ft232h"; + desc = "FT232H based generic programmer"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; +# ISP-signals + reset = 3; # AD3 (TMS) + sck = 0; # AD0 (TCK) + sdo = 1; # AD1 (TDI) + sdi = 2; # AD2 (TDO) +; + +#------------------------------------------------------------ +# um232h +#------------------------------------------------------------ + +# Pin J2-7 (AD0) is SCK +# Pin J2-8 (AD1) is SDO +# Pin J2-9 (AD2) is SDI +# Pin J2-10 (AD3) is RESET +# Pin J2-6 is GND +# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get +# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. + +programmer parent "ft232h" + id = "um232h"; + desc = "UM232H module from FTDI"; +; + +#------------------------------------------------------------ +# c232hm +#------------------------------------------------------------ + +# Orange (Pin 2) is SCK +# Yellow (Pin 3) is SDO +# Green (Pin 4) is SDI +# Brown (Pin 5) is RESET +# Black (Pin 10) is GND +# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get +# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. + +programmer parent "ft232h" + id = "c232hm"; + desc = "C232HM cable from FTDI"; +; + +#------------------------------------------------------------ +# o-link +#------------------------------------------------------------ + +# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1". +# You can find it as "OpenJTAG ARM JTAG USB" in the internet. Note there are also +# several projects called Open JTAG, which are completely different. Some other +# sources call it O-Link or just have a look at ebay ... It is basically the same +# entry as jtagkey with different usb ids. See www.100ask.net + programmer parent "jtagkey" - id = "o-link"; - desc = "O-Link, OpenJTAG from www.100ask.net"; - usbvid = 0x1457; - usbpid = 0x5118; - usbvendor = "www.100ask.net"; - usbproduct = "USB<=>JTAG&RS232"; + id = "o-link"; + desc = "O-Link, OpenJTAG ARM JTAG USB"; + usbvid = 0x1457; + usbpid = 0x5118; + usbvendor = "www.100ask.net"; + usbproduct = "USB<=>JTAG&RS232"; ; +#------------------------------------------------------------ +# openmoko +#------------------------------------------------------------ + # http://wiki.openmoko.org/wiki/Debug_Board_v3 + programmer - id = "openmoko"; - desc = "Openmoko debug board (v3)"; - type = "avrftdi"; - usbvid = 0x1457; - usbpid = 0x5118; - usbdev = "A"; - usbvendor = ""; - usbproduct = ""; - usbsn = ""; - reset = 3; # TMS 7 - sck = 0; # TCK 9 - mosi = 1; # TDI 5 - miso = 2; # TDO 13 + id = "openmoko"; + desc = "Openmoko debug board (v3)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + usbvid = 0x1457; + usbpid = 0x5118; + usbdev = "A"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# lm3s811 +#------------------------------------------------------------ + # Only Rev. A boards. # Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf + programmer - id = "lm3s811"; - desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; - type = "avrftdi"; - connection_type = usb; - usbvid = 0x0403; - usbpid = 0xbcd9; - usbvendor = "LMI"; - usbproduct = "LM3S811 Evaluation Board"; - usbdev = "A"; - usbsn = ""; -#ISP-signals - lower ACBUS-Nibble (default) - reset = 3; - sck = 0; - mosi = 1; - miso = 2; + id = "lm3s811"; + desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbcd9; + usbdev = "A"; + usbvendor = "LMI"; + usbproduct = "LM3S811 Evaluation Board"; # Enable correct buffers - buff = 7; + buff = 7; +# ISP-signals - lower ACBUS-Nibble (default) + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; +#------------------------------------------------------------ +# tumpa +#------------------------------------------------------------ + +# submitted as bug #46020 + programmer - id = "avrisp"; - desc = "Atmel AVR ISP"; - type = "stk500"; - connection_type = serial; + id = "tumpa"; + desc = "TIAO USB Multi-Protocol Adapter"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x8a98; + usbdev = "A"; + usbvendor = "TIAO"; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + sdo = 1; # TDI 5 + sdi = 2; # TDO 13 ; +#------------------------------------------------------------ +# ktlink +#------------------------------------------------------------ + +# Kristech KT-LINK FT2232H interface with IO switching and voltage buffers. +# Created on 20220410 by CeDeROM Tomasz CEDRO (www.cederom.io). +# Interface DataSheet: https://kristech.pl/files/KT-LINK-UM-ENG.pdf +# +# AVRDUDE FT2232H PIN NUMBER DECODE: +# | 0 | 1 | .. | 7 | 8 | 9 | .. | 15 | +# | ADBUS0 | ADBUS1 | .. | ADBUS7 | ACBUS0 | ACBUS1 | .. | ACBUS7 | +# +# KT-LINK JTAG CONN: +# 1=Vsense(->EXT13), 19=5V(EXT1->EXT3), 20=GND, 3=TPIRST, 9=TPICLK, 7=TPIDATA. +# +# INTERNALS CONFIGURATION ("~" MEANS ACTIVE LOW): +# ~TRST_EN=10(ACBUS2), ~CLK_EN=14(ACBUS6), ~SDO_EN=13(ACBUS5), +# TMS_SEL=5(ADBUS5), ~TMS_EN=12(ACBUS4), LED=~15(ACBUS7). +# +# CONNECTION NOTES: +# * Connect EXT connector pin 1 with 3 to get 5V on JTAG connector pin 19. +# * Connect JTAG connector pin 1 to 5V (i.e. EXT pin 13 or JTAG pin 19). +# * For TPI connection use resistors: TDO --[470R]-- TPIDATA --[470R]-- TDI. +# * Powering target from JTAG pin 19 allows KT-LINK current measurement. + programmer - id = "avrispv2"; - desc = "Atmel AVR ISP V2"; - type = "stk500v2"; - connection_type = serial; + id = "ktlink"; + desc = "KT-LINK FT2232H interface with IO switching and voltage buffers"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbbe2; + usbdev = "A"; + buff = 5, ~10, ~13, ~14; + reset = 8; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~15; ; +#------------------------------------------------------------ +# digilent-hs2 +#------------------------------------------------------------ + +# Digilent JTAG HS2 programmer. FT232H-based dongle with buffers. +# https://digilent.com/reference/_media/reference/programmers/jtag-hs2/jtag-hs2_rm.pdf + programmer - id = "avrispmkII"; - desc = "Atmel AVR ISP mkII"; - type = "stk500v2"; - connection_type = usb; + id = "digilent-hs2"; + desc = "Digilent JTAG HS2 (MPSSE)"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6014; + usbdev = "A"; + buff = 5, 6, 7; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; ; -programmer parent "avrispmkII" - id = "avrisp2"; -; +#------------------------------------------------------------ +# flyswatter2 +#------------------------------------------------------------ + +# FT2232H based JTAG programmer. Requires a buff pin to be set. +# https://www.tincantools.com/flyswatter2 programmer - id = "buspirate"; - desc = "The Bus Pirate"; - type = "buspirate"; - connection_type = serial; + id = "flyswatter2"; + desc = "TinCan Tools Flyswatter 2"; + type = "avrftdi"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbdev = "A"; + usbvendor = "TinCanTools"; + usbproduct = "Flyswatter2"; + buff = ~6; + reset = 3; + sck = 0; + sdo = 1; + sdi = 2; + rdyled = ~11; + pgmled = ~12; ; +#------------------------------------------------------------ +# serialupdi +#------------------------------------------------------------ + programmer - id = "buspirate_bb"; - desc = "The Bus Pirate (bitbang interface, supports TPI)"; - type = "buspirate_bb"; - connection_type = serial; + id = "serialupdi"; + desc = "SerialUPDI"; + type = "serialupdi"; + prog_modes = PM_UPDI; + connection_type = serial; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# avrisp +#------------------------------------------------------------ + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispv2 +#------------------------------------------------------------ + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP v2"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# avrispmkII +#------------------------------------------------------------ + +programmer + id = "avrispmkII", "avrisp2"; + desc = "Atmel AVR ISP mkII"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; +; + +#------------------------------------------------------------ +# buspirate +#------------------------------------------------------------ + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = "buspirate"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# buspirate_bb +#------------------------------------------------------------ + +programmer + id = "buspirate_bb"; + desc = "The Bus Pirate (bitbang interface, supports TPI)"; + type = "buspirate_bb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; # pins are bits in bitbang byte (numbers are 87654321) - # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS - reset = 1; - sck = 3; - mosi = 4; - miso = 2; - #vcc = 7; This is internally set independent of this setting. + # 1|POWER|PULLUP|AUX|SDO|CLK|SDI|CS + reset = 1; + sck = 3; + sdo = 4; + sdi = 2; + # vcc = 7; # Internally set independent of this setting ; +#------------------------------------------------------------ +# stk500 +#------------------------------------------------------------ + # This is supposed to be the "default" STK500 entry. # Attempts to select the correct firmware version # by probing for it. Better use one of the entries # below instead. -programmer - id = "stk500"; - desc = "Atmel STK500"; - type = "stk500generic"; - connection_type = serial; -; programmer - id = "stk500v1"; - desc = "Atmel STK500 Version 1.x firmware"; - type = "stk500"; - connection_type = serial; + id = "stk500"; + desc = "Atmel STK500"; + type = "stk500generic"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "mib510"; - desc = "Crossbow MIB510 programming board"; - type = "stk500"; - connection_type = serial; -; +#------------------------------------------------------------ +# stk500v1 +#------------------------------------------------------------ programmer - id = "stk500v2"; - desc = "Atmel STK500 Version 2.x firmware"; - type = "stk500v2"; - connection_type = serial; + id = "stk500v1"; + desc = "Atmel STK500 version 1.x firmware"; + type = "stk500"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "stk500pp"; - desc = "Atmel STK500 V2 in parallel programming mode"; - type = "stk500pp"; - connection_type = serial; -; +#------------------------------------------------------------ +# arduino_as_isp +#------------------------------------------------------------ + +# Not to be confused with arduinoISP, this is the same as `-c stk500v1` +# but treats EEPROM r/w correctly for arduino_as_isp programmers programmer - id = "stk500hvsp"; - desc = "Atmel STK500 V2 in high-voltage serial programming mode"; - type = "stk500hvsp"; - connection_type = serial; + id = "arduino_as_isp"; + desc = "Arduino board as programmer using arduino as ISP firmware"; + type = "stk500"; + prog_modes = PM_ISP; + connection_type = serial; ; -programmer - id = "stk600"; - desc = "Atmel STK600"; - type = "stk600"; - connection_type = usb; -; +#------------------------------------------------------------ +# mib510 +#------------------------------------------------------------ programmer - id = "stk600pp"; - desc = "Atmel STK600 in parallel programming mode"; - type = "stk600pp"; - connection_type = usb; + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = "stk500"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; ; -programmer - id = "stk600hvsp"; - desc = "Atmel STK600 in high-voltage serial programming mode"; - type = "stk600hvsp"; - connection_type = usb; -; +#------------------------------------------------------------ +# stk500v2 +#------------------------------------------------------------ programmer - id = "avr910"; - desc = "Atmel Low Cost Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "stk500v2", "scratchmonkey"; + desc = "Atmel STK500 version 2.x firmware"; + type = "stk500v2"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; -programmer - id = "ft245r"; - desc = "FT245R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # D1 - sck = 0; # D0 - mosi = 2; # D2 - reset = 4; # D4 -; +#------------------------------------------------------------ +# stk500pp +#------------------------------------------------------------ programmer - id = "ft232r"; - desc = "FT232R Synchronous BitBang"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 1; # RxD - sck = 0; # RTS - mosi = 2; # TxD - reset = 4; # DTR + id = "stk500pp", "scratchmonkey_pp"; + desc = "Atmel STK500 v2 in parallel programming mode"; + type = "stk500pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; ; +#------------------------------------------------------------ +# stk500hvsp +#------------------------------------------------------------ + +programmer + id = "stk500hvsp", "scratchmonkey_hvsp"; + desc = "Atmel STK500 v2 in high-voltage serial programming mode"; + type = "stk500hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = serial; +; + +#------------------------------------------------------------ +# stk600 +#------------------------------------------------------------ + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = "stk600"; + prog_modes = PM_TPI | PM_ISP | PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600pp +#------------------------------------------------------------ + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = "stk600pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# stk600hvsp +#------------------------------------------------------------ + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = "stk600hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; + connection_type = usb; +; + +#------------------------------------------------------------ +# avr910 +#------------------------------------------------------------ + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# ft245r +#------------------------------------------------------------ + +programmer + id = "ft245r"; + desc = "FT245R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # D4 + sck = 0; # D0 + sdo = 2; # D2 + sdi = 1; # D1 +; + +#------------------------------------------------------------ +# ft232r +#------------------------------------------------------------ + +programmer + id = "ft232r"; + desc = "FT232R based generic programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 4; # DTR + sck = 0; # TxD + sdo = 2; # RTS + sdi = 1; # RxD +; + +#------------------------------------------------------------ +# bwmega +#------------------------------------------------------------ + # see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega -programmer - id = "bwmega"; - desc = "BitWizard ftdi_atmega builtin programmer"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 5; # DSR - sck = 6; # DCD - mosi = 3; # CTS - reset = 7; # RI -; - -# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html -# Note: pins are numbered from 1! -programmer - id = "arduino-ft232r"; - desc = "Arduino: FT232R connected to ISP"; - type = "ftdi_syncbb"; - connection_type = usb; - miso = 3; # CTS X3(1) - sck = 5; # DSR X3(2) - mosi = 6; # DCD X3(3) - reset = 7; # RI X3(4) -; - -# website mentioned above uses this id -programmer parent "arduino-ft232r" - id = "diecimila"; - desc = "alias for arduino-ft232r"; -; programmer - id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - usbvendor = "www.fischl.de"; - usbproduct = "USBasp"; - - # following variants are autodetected for id "usbasp" - - # original usbasp from fischl.de - # see above "usbasp" - - # old usbasp from fischl.de - #usbvid = 0x03EB; # ATMEL - #usbpid = 0xC7B4; # (unoffical) USBasp - #usbvendor = "www.fischl.de"; - #usbproduct = "USBasp"; - - # NIBObee (only if -P nibobee is given on command line) - # see below "nibobee" + id = "bwmega"; + desc = "BitWizard ftdi_atmega builtin programmer"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI + sck = 6; # DCD + sdo = 3; # CTS + sdi = 5; # DSR ; +#------------------------------------------------------------ +# arduino-ft232r +#------------------------------------------------------------ + +# This programmer helps programming the Arduino Diecimila, NG and +# Duemilanove (but not the Uno) without bootloader or external +# programmer using the on-board FT232RL chip. Instructions here: +# https://make.kosakalab.com/arduino/bootloader/index_en.html +# Note that the -c diecimila avrdude.conf entry mentioned in above post +# is the same as the -c arduino-ft232r entry here. + programmer - id = "nibobee"; - desc = "NIBObee"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x092F; # NIBObee PID - usbvendor = "www.nicai-systems.com"; - usbproduct = "NIBObee"; + id = "arduino-ft232r", "diecimila"; + desc = "Arduino: FT232R connected to ISP"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # RI X3(4) + sck = 5; # DSR X3(2) + sdo = 6; # DCD X3(3) + sdi = 3; # CTS X3(1) ; +#------------------------------------------------------------ +# tc2030 +#------------------------------------------------------------ + programmer - id = "usbasp-clone"; - desc = "Any usbasp clone with correct VID/PID"; - type = "usbasp"; - connection_type = usb; - usbvid = 0x16C0; # VOTI - usbpid = 0x05DC; # Obdev's free shared PID - #usbvendor = ""; - #usbproduct = ""; + id = "tc2030"; + desc = "Tag-Connect TC2030"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + # FOR TPI devices: + reset = 3; # CTS = D3 (wire to ~RESET) + sck = 2; # RTS = D2 (wire to SCK) + sdo = 0; # TxD = D0 (wire to TPIDATA via 1k resistor) + sdi = 1; # RxD = D1 (wire to TPIDATA directly) ; +#------------------------------------------------------------ +# uncompatino +#------------------------------------------------------------ + +# There is a ATmega328P kit PCB called "uncompatino". +# This board allows ISP via its on-board FT232R. +# This is designed like Arduino Duemilanove but has no standard ICPS header. +# Its 4 pairs of pins are shorted to enable ftdi_syncbb. +# http://akizukidenshi.com/catalog/g/gP-07487/ +# http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf + programmer - id = "usbtiny"; - desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x1781; - usbpid = 0x0c9f; + id = "uncompatino"; + desc = "uncompatino with all pairs of pins shorted"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 7; # ri + sck = 5; # dsr + sdo = 6; # dcd + sdi = 3; # cts ; +#------------------------------------------------------------ +# ttl232r +#------------------------------------------------------------ + +# FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP +# - https://ftdichip.com/product-category/products/cables/usb-ttl-serial-cable-series/ +# - http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf +# +# For ICSP pinout see, e.g., http://ww1.microchip.com/downloads/en/DeviceDoc/doc2562.pdf +# (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...) +# TTL-232R GND 1 Black -> ICPS GND (pin 6) +# TTL-232R CTS 2 Brown -> ICPS SDO (pin 4) +# TTL-232R VCC 3 Red -> ICPS VCC (pin 2) +# TTL-232R TXD 4 Orange -> ICPS RESET (pin 5) +# TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3) +# TTL-232R RTS 6 Green -> ICPS SDI (pin 1) +# +# Except for VCC and GND, you can connect arbitrary pairs as long as the +# following table is adjusted. + programmer - id = "arduinoisp"; - desc = " "; - type = "usbtiny"; - connection_type = usb; - usbvid = 0x2341; - usbpid = 0x0049; + id = "ttl232r"; + desc = "FTDI TTL232R-5V with ICSP adapter"; + type = "ftdi_syncbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + reset = 0; # txd + sck = 1; # rxd + sdo = 3; # cts + sdi = 2; # rts ; +#------------------------------------------------------------ +# usbasp +#------------------------------------------------------------ + +# From http://www.fischl.de/usbasp +# USBasp is a USB in-circuit programmer for Atmel AVR controllers. It +# simply consists of an ATmega88 or an ATmega8 and a couple of passive +# components. The programmer uses a firmware-only USB driver, no +# special USB controller is needed. +# +# Firmware, schematics and drivers are available under above URL, too. +# +# Alternative firmware for the external programmer: +# +# - https://github.com/mariusgreuel/USBasp +# Windows OS descriptor to load WinUSB driver automatically +# +# - https://github.com/nerdralph/usbasp +# WCID compliant, meaning it should work on Windows without any +# driver or .inf install; default SCK clock of 1.5 MHz and automatic +# SCK slowing if target does not respond; PORTD is left as input, so +# this firmware also works with USBISP modules, eg, +# https://www.sciencetronics.com/greenphotons/?p=938 +# +# - https://github.com/dioannidis/usbasp +# As above plus HID UART support, setting unique serial number and +# AT89S51/AT89S52 support + programmer - id = "butterfly"; - desc = "Atmel Butterfly Development Board"; - type = "butterfly"; - connection_type = serial; + id = "usbasp"; + desc = "USBasp ISP and TPI programmer"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID + usbvendor = "www.fischl.de"; + usbproduct = "USBasp"; + + # Old usbasp from fischl.de: + # usbvid = 0x03EB; # ATMEL + # usbpid = 0xC7B4; # (unoffical) USBasp + # usbvendor = "www.fischl.de"; + # usbproduct = "USBasp"; ; +#------------------------------------------------------------ +# nibobee +#------------------------------------------------------------ + +# http://www.nicai-systems.com/en/nibobee + programmer - id = "avr109"; - desc = "Atmel AppNote AVR109 Boot Loader"; - type = "butterfly"; - connection_type = serial; + id = "nibobee"; + desc = "NIBObee"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x092f; # NIBObee PID + usbvendor = "www.nicai-systems.com"; + usbproduct = "NIBObee"; ; +#------------------------------------------------------------ +# usbasp-clone +#------------------------------------------------------------ + programmer - id = "avr911"; - desc = "Atmel AppNote AVR911 AVROSP"; - type = "butterfly"; - connection_type = serial; -; - -# suggested in http://forum.mikrokopter.de/topic-post48317.html -programmer - id = "mkbutterfly"; - desc = "Mikrokopter.de Butterfly"; - type = "butterfly_mk"; - connection_type = serial; + id = "usbasp-clone"; + desc = "Any usbasp clone with correct VID/PID"; + type = "usbasp"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16c0; # VOTI + usbpid = 0x05dc; # Obdev's free shared PID ; -programmer parent "mkbutterfly" - id = "butterfly_mk"; -; +#------------------------------------------------------------ +# usbtiny +#------------------------------------------------------------ + +# https://learn.adafruit.com/usbtinyisp +# +# The ISP USBtiny programmer can also be used for TPI programming. +# In that case, a resistor of 1 kOhm is needed between SDI and SDO +# pins of the connector, and SDI (pin 1 of the 6-pin connector) +# connects to TPIDATA. programmer - id = "jtagmkI"; - desc = "Atmel JTAG ICE (mkI)"; - baudrate = 115200; # default is 115200 - type = "jtagmki"; - connection_type = serial; + id = "usbtiny"; + desc = "USBtiny simple USB programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; ; -# easier to type -programmer parent "jtagmkI" - id = "jtag1"; +#------------------------------------------------------------ +# arduino_gemma +#------------------------------------------------------------ + +# https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/gemma + +programmer + id = "arduino_gemma"; + desc = "Arduino Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0c9f; ; -# easier to type +#------------------------------------------------------------ +# adafruit_gemma +#------------------------------------------------------------ + +# https://github.com/adafruit/Adafruit-Trinket-Gemma-Bootloader + +programmer + id = "adafruit_gemma"; + desc = "Adafruit Trinket Gemma bootloader disguised as USBtiny"; + type = "usbtiny"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; +; + +#------------------------------------------------------------ +# arduinoisp +#------------------------------------------------------------ + +programmer + id = "arduinoisp"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0049; +; + +#------------------------------------------------------------ +# arduinoisporg +#------------------------------------------------------------ + +programmer + id = "arduinoisporg"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x2a03; + usbpid = 0x0049; +; + +#------------------------------------------------------------ +# ehajo-isp +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# http://www.eHaJo.de (closed from end of 2023) + +programmer + id = "ehajo-isp"; + desc = "AVR ISP programmer from eHaJo.de"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0ba5; +; + +#------------------------------------------------------------ +# iseavrprog +#------------------------------------------------------------ + +# Commercial version of USBtiny using a separate VID/PID from +# https://iascaled.com +# +# https://github.com/IowaScaledEngineering/ckt-avrprogrammer + +programmer + id = "iseavrprog"; + desc = "AVR ISP programmer from iascaled.com"; + type = "usbtiny"; + prog_modes = PM_TPI | PM_ISP; + connection_type = usb; + usbvid = 0x1209; + usbpid = 0x6570; +; + +#------------------------------------------------------------ +# micronucleus +#------------------------------------------------------------ + +programmer + id = "micronucleus"; + desc = "Micronucleus for bootloader"; + type = "micronucleus"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16d0; + usbpid = 0x0753; +; + +#------------------------------------------------------------ +# teensy +#------------------------------------------------------------ + +programmer + id = "teensy"; + desc = "Teensy for bootloader"; + type = "teensy"; + prog_modes = PM_SPM; + connection_type = usb; + usbvid = 0x16c0; + usbpid = 0x0478; +; + +#------------------------------------------------------------ +# ch341a +#------------------------------------------------------------ + +# Allows programming of AVR parts with F_CPU of min 6.8 MHz with the +# CH341A chip http://www.wch-ic.com/downloads/CH341DS1_PDF.html +# +# See also: +# https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html +# +# Connection scheme: +# CH341A chip -- AVR ISP Connector +# ~CTS/D0/CS0 -- RESET (can be D1 or D2, see reset setting below) +# ~DCD/D3/DCK -- SCK +# ~DTR/D5/DOUT -- SDO +# ~SLP/D7/DIN -- SDI +# GND -- GND +# 5V -- Vcc/Vin (or disconnect if separately powered) + +programmer + id = "ch341a"; + desc = "ch341a programmer (AVR must have minimum F_CPU of 6.8 MHz)"; + type = "ch341a"; + prog_modes = PM_ISP; + connection_type = usb; + usbvid = 0x1a86; + usbpid = 0x5512; + usbvendor = "wch.cn"; + usbproduct = "CH341A"; + reset = 0; # Can be 0, 1 or 2 for CS0, CS1 or CS2 +; + +#------------------------------------------------------------ +# butterfly +#------------------------------------------------------------ + +programmer + id = "butterfly"; + desc = "Atmel for bootloader (Butterfly Development Board)"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr109 +#------------------------------------------------------------ + +programmer + id = "avr109"; + desc = "Atmel for bootloader using AppNote AVR109"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# avr911 +#------------------------------------------------------------ + +programmer + id = "avr911"; + desc = "Atmel for bootloader using AppNote AVR911 AVROSP"; + type = "butterfly"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# butterfly_mk and mkbutterfly +#------------------------------------------------------------ + +# http://forum.mikrokopter.de + +programmer + id = "butterfly_mk", "mkbutterfly"; + desc = "Mikrokopter.de Butterfly for bootloader"; + type = "butterfly_mk"; + prog_modes = PM_SPM; + connection_type = serial; +; + +#------------------------------------------------------------ +# jtagmkI +#------------------------------------------------------------ + +programmer + id = "jtagmkI", "jtag1"; + desc = "Atmel JTAG ICE (mkI)"; + type = "jtagmki"; + prog_modes = PM_JTAGmkI; + extra_features = HAS_VTARG_READ; + connection_type = serial; + baudrate = 115200; # default is 115200 +; + +#------------------------------------------------------------ +# jtag1slow +#------------------------------------------------------------ + programmer parent "jtag1" - id = "jtag1slow"; - baudrate = 19200; + id = "jtag1slow"; + baudrate = 19200; ; +#------------------------------------------------------------ +# jtagmkII +#------------------------------------------------------------ + # The JTAG ICE mkII has both, serial and USB connectivity. As it is # mostly used through USB these days (AVR Studio 5 only supporting it # that way), we make connection_type = usb the default. Users are # still free to use a serial port with the -P option. programmer - id = "jtagmkII"; - desc = "Atmel JTAG ICE mkII"; - baudrate = 19200; # default is 19200 - type = "jtagmkii"; - connection_type = usb; + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + type = "jtagmkii"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 19200; # default is 19200 ; -# easier to type +#------------------------------------------------------------ +# jtag2slow +#------------------------------------------------------------ + programmer parent "jtagmkII" - id = "jtag2slow"; + id = "jtag2slow"; ; -# JTAG ICE mkII @ 115200 Bd +#------------------------------------------------------------ +# jtag2fast +#------------------------------------------------------------ + +# JTAG ICE mkII @ 115200 Bd (and alias jtag2 the fast version) + programmer parent "jtag2slow" - id = "jtag2fast"; - baudrate = 115200; + id = "jtag2fast", "jtag2"; + baudrate = 115200; ; -# make the fast one the default, people will love that -programmer parent "jtag2fast" - id = "jtag2"; -; +#------------------------------------------------------------ +# jtag2isp +#------------------------------------------------------------ # JTAG ICE mkII in ISP mode + programmer - id = "jtag2isp"; - desc = "Atmel JTAG ICE mkII in ISP mode"; - baudrate = 115200; - type = "jtagmkii_isp"; - connection_type = usb; + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + type = "jtagmkii_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2dw +#------------------------------------------------------------ + # JTAG ICE mkII in debugWire mode + programmer - id = "jtag2dw"; - desc = "Atmel JTAG ICE mkII in debugWire mode"; - baudrate = 115200; - type = "jtagmkii_dw"; - connection_type = usb; + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + type = "jtagmkii_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; -# JTAG ICE mkII in AVR32 mode -programmer - id = "jtagmkII_avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; -; +#------------------------------------------------------------ +# jtagmkII_avr32 +#------------------------------------------------------------ # JTAG ICE mkII in AVR32 mode + programmer - id = "jtag2avr32"; - desc = "Atmel JTAG ICE mkII im AVR32 mode"; - baudrate = 115200; - type = "jtagmkii_avr32"; - connection_type = usb; + id = "jtagmkII_avr32", "jtag2avr32"; + desc = "Atmel JTAG ICE mkII in AVR32 mode"; + type = "jtagmkii_avr32"; + prog_modes = PM_aWire; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag2pdi +#------------------------------------------------------------ + # JTAG ICE mkII in PDI mode + programmer - id = "jtag2pdi"; - desc = "Atmel JTAG ICE mkII PDI mode"; - baudrate = 115200; - type = "jtagmkii_pdi"; - connection_type = usb; + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII in PDI mode"; + type = "jtagmkii_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_jtag +#------------------------------------------------------------ + # AVR Dragon in JTAG mode + programmer - id = "dragon_jtag"; - desc = "Atmel AVR Dragon in JTAG mode"; - baudrate = 115200; - type = "dragon_jtag"; - connection_type = usb; + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + type = "dragon_jtag"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_isp +#------------------------------------------------------------ + # AVR Dragon in ISP mode + programmer - id = "dragon_isp"; - desc = "Atmel AVR Dragon in ISP mode"; - baudrate = 115200; - type = "dragon_isp"; - connection_type = usb; + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + type = "dragon_isp"; + prog_modes = PM_TPI | PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pp +#------------------------------------------------------------ + # AVR Dragon in PP mode + programmer - id = "dragon_pp"; - desc = "Atmel AVR Dragon in PP mode"; - baudrate = 115200; - type = "dragon_pp"; - connection_type = usb; + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + type = "dragon_pp"; + prog_modes = PM_HVPP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_hvsp +#------------------------------------------------------------ + # AVR Dragon in HVSP mode + programmer - id = "dragon_hvsp"; - desc = "Atmel AVR Dragon in HVSP mode"; - baudrate = 115200; - type = "dragon_hvsp"; - connection_type = usb; + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + type = "dragon_hvsp"; + prog_modes = PM_HVSP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_dw +#------------------------------------------------------------ + # AVR Dragon in debugWire mode + programmer - id = "dragon_dw"; - desc = "Atmel AVR Dragon in debugWire mode"; - baudrate = 115200; - type = "dragon_dw"; - connection_type = usb; + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + type = "dragon_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# dragon_pdi +#------------------------------------------------------------ + # AVR Dragon in PDI mode -programmer - id = "dragon_pdi"; - desc = "Atmel AVR Dragon in PDI mode"; - baudrate = 115200; - type = "dragon_pdi"; - connection_type = usb; -; programmer - id = "jtag3"; - desc = "Atmel AVR JTAGICE3 in JTAG mode"; - type = "jtagice3"; - connection_type = usb; + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + type = "dragon_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + baudrate = 115200; ; +#------------------------------------------------------------ +# jtag3 +#------------------------------------------------------------ + programmer - id = "jtag3pdi"; - desc = "Atmel AVR JTAGICE3 in PDI mode"; - type = "jtagice3_pdi"; - connection_type = usb; + id = "jtag3"; + desc = "Atmel AVR JTAGICE3 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3pdi +#------------------------------------------------------------ + programmer - id = "jtag3dw"; - desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; - type = "jtagice3_dw"; - connection_type = usb; + id = "jtag3pdi"; + desc = "Atmel AVR JTAGICE3 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3updi +#------------------------------------------------------------ + programmer - id = "jtag3isp"; - desc = "Atmel AVR JTAGICE3 in ISP mode"; - type = "jtagice3_isp"; - connection_type = usb; + id = "jtag3updi"; + desc = "Atmel AVR JTAGICE3 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# jtag3dw +#------------------------------------------------------------ programmer - id = "pavr"; - desc = "Jason Kyle's pAVR Serial Programmer"; - type = "avr910"; - connection_type = serial; + id = "jtag3dw"; + desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; +#------------------------------------------------------------ +# jtag3isp +#------------------------------------------------------------ + programmer - id = "pickit2"; - desc = "MicroChip's PICkit2 Programmer"; - type = "pickit2"; - connection_type = usb; + id = "jtag3isp"; + desc = "Atmel AVR JTAGICE3 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2110, 0x2140; ; -# Parallel port programmers. +#------------------------------------------------------------ +# xplainedpro +#------------------------------------------------------------ programmer - id = "bsd"; - desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/"; - type = "par"; - connection_type = parallel; - vcc = 2, 3, 4, 5; - reset = 7; - sck = 8; - mosi = 9; - miso = 10; + id = "xplainedpro"; + desc = "Atmel AVR XplainedPro in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + connection_type = usb; + usbpid = 0x2111; ; +#------------------------------------------------------------ +# xplainedpro_pdi +#------------------------------------------------------------ + programmer - id = "stk200"; - desc = "STK200"; - type = "par"; - connection_type = parallel; - buff = 4, 5; - sck = 6; - mosi = 7; - reset = 9; - miso = 10; + id = "xplainedpro_pdi"; + desc = "Atmel AVR XplainedPro in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; -# The programming dongle used by the popular Ponyprog -# utility. It is almost similar to the STK200 one, -# except that there is a LED indicating that the -# programming is currently in progress. - -programmer parent "stk200" - id = "pony-stk200"; - desc = "Pony Prog STK200"; - pgmled = 8; -; +#------------------------------------------------------------ +# xplainedpro_updi +#------------------------------------------------------------ programmer - id = "dt006"; - desc = "Dontronics DT006"; - type = "par"; - connection_type = parallel; - reset = 4; - sck = 5; - mosi = 2; - miso = 11; + id = "xplainedpro_updi"; + desc = "Atmel AVR XplainedPro in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + connection_type = usb; + usbpid = 0x2111; + hvupdi_support = 1; ; -programmer parent "dt006" - id = "bascom"; - desc = "Bascom SAMPLE programming cable"; -; +#------------------------------------------------------------ +# xplainedmini / xplainedmini_isp +#------------------------------------------------------------ programmer - id = "alf"; - desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/"; - type = "par"; - connection_type = parallel; - vcc = 2, 3, 4, 5; - buff = 6; - reset = 7; - sck = 8; - mosi = 9; - miso = 10; - errled = 1; - rdyled = 14; - pgmled = 16; - vfyled = 17; + id = "xplainedmini", "xplainedmini_isp"; + desc = "Atmel AVR XplainedMini in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_dw +#------------------------------------------------------------ + programmer - id = "sp12"; - desc = "Steve Bolt's Programmer"; - type = "par"; - connection_type = parallel; - vcc = 4,5,6,7,8; - reset = 3; - sck = 2; - mosi = 9; - miso = 11; + id = "xplainedmini_dw"; + desc = "Atmel AVR XplainedMini in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# xplainedmini_updi +#------------------------------------------------------------ + programmer - id = "picoweb"; - desc = "Picoweb Programming Cable, http://www.picoweb.net/"; - type = "par"; - connection_type = parallel; - reset = 2; - sck = 3; - mosi = 4; - miso = 13; + id = "xplainedmini_updi"; + desc = "Atmel AVR XplainedMini in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; + connection_type = usb; + usbpid = 0x2145; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# xplainedmini_tpi +#------------------------------------------------------------ + programmer - id = "abcmini"; - desc = "ABCmini Board, aka Dick Smith HOTCHIP"; - type = "par"; - connection_type = parallel; - reset = 4; - sck = 3; - mosi = 2; - miso = 10; + id = "xplainedmini_tpi"; + desc = "Atmel AVR XplainedMini in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + connection_type = usb; + usbpid = 0x2145; ; +#------------------------------------------------------------ +# atmelice / atmelice_jtag +#------------------------------------------------------------ + programmer - id = "futurlec"; - desc = "Futurlec.com programming cable."; - type = "par"; - connection_type = parallel; - reset = 3; - sck = 2; - mosi = 1; - miso = 10; -; - - -# From the contributor of the "xil" jtag cable: -# The "vcc" definition isn't really vcc (the cable gets its power from -# the programming circuit) but is necessary to switch one of the -# buffer lines (trying to add it to the "buff" lines doesn't work in -# avrdude versions before 5.5j). -# With this, TMS connects to RESET, TDI to MOSI, TDO to MISO and TCK -# to SCK (plus vcc/gnd of course) -programmer - id = "xil"; - desc = "Xilinx JTAG cable"; - type = "par"; - connection_type = parallel; - mosi = 2; - sck = 3; - reset = 4; - buff = 5; - miso = 13; - vcc = 6; + id = "atmelice", "atmelice_jtag"; + desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_pdi +#------------------------------------------------------------ programmer - id = "dapa"; - desc = "Direct AVR Parallel Access cable"; - type = "par"; - connection_type = parallel; - vcc = 3; - reset = 16; - sck = 1; - mosi = 2; - miso = 11; + id = "atmelice_pdi"; + desc = "Atmel-ICE (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_updi +#------------------------------------------------------------ + programmer - id = "atisp"; - desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from micro-research.co.th"; - type = "par"; - connection_type = parallel; - reset = ~6; - sck = ~8; - mosi = ~7; - miso = ~10; + id = "atmelice_updi"; + desc = "Atmel-ICE (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; + hvupdi_support = 1; ; +#------------------------------------------------------------ +# atmelice_dw +#------------------------------------------------------------ + programmer - id = "ere-isp-avr"; - desc = "ERE ISP-AVR "; - type = "par"; - connection_type = parallel; - reset = ~4; - sck = 3; - mosi = 2; - miso = 10; + id = "atmelice_dw"; + desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# atmelice_isp +#------------------------------------------------------------ + programmer - id = "blaster"; - desc = "Altera ByteBlaster"; - type = "par"; - connection_type = parallel; - sck = 2; - miso = 11; - reset = 3; - mosi = 8; - buff = 14; + id = "atmelice_isp"; + desc = "Atmel-ICE (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; -# It is almost same as pony-stk200, except vcc on pin 5 to auto -# disconnect port (download on http://electropol.free.fr/spip/spip.php?article27) -programmer parent "pony-stk200" - id = "frank-stk200"; - desc = "Frank STK200"; - buff = ; # delete buff pin assignment - vcc = 5; -; +#------------------------------------------------------------ +# atmelice_tpi +#------------------------------------------------------------ -# The AT98ISP Cable is a simple parallel dongle for AT89 family. -# http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877 programmer - id = "89isp"; - desc = "Atmel at89isp cable"; - type = "par"; - connection_type = parallel; - reset = 17; - sck = 1; - mosi = 2; - miso = 10; + id = "atmelice_tpi"; + desc = "Atmel-ICE (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2141; ; +#------------------------------------------------------------ +# powerdebugger / powerdebugger_jtag +#------------------------------------------------------------ -#This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface -# -#To enable it set the configuration below to match the GPIO lines connected to the -#relevant ISP header pins and uncomment the entry definition. In case you don't -#have the required permissions to edit this system wide config file put the -#entry in a separate .conf file and use it with -C+.conf -#on the command line. -# -#To check if your avrdude build has support for the linuxgpio programmer compiled in, -#use -c?type on the command line and look for linuxgpio in the list. If it's not available -#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude. -# -#programmer -# id = "linuxgpio"; -# desc = "Use the Linux sysfs interface to bitbang GPIO lines"; -# type = "linuxgpio"; -# reset = ?; -# sck = ?; -# mosi = ?; -# miso = ?; -#; +programmer + id = "powerdebugger", "powerdebugger_jtag"; + desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; -# some ultra cheap programmers use bitbanging on the -# serialport. +#------------------------------------------------------------ +# powerdebugger_pdi +#------------------------------------------------------------ + +programmer + id = "powerdebugger_pdi"; + desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; + +#------------------------------------------------------------ +# powerdebugger_updi +#------------------------------------------------------------ + +programmer + id = "powerdebugger_updi"; + desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; + hvupdi_support = 0, 1; +; + +#------------------------------------------------------------ +# powerdebugger_dw +#------------------------------------------------------------ + +programmer + id = "powerdebugger_dw"; + desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode"; + type = "jtagice3_dw"; + prog_modes = PM_debugWIRE; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; + +#------------------------------------------------------------ +# powerdebugger_isp +#------------------------------------------------------------ + +programmer + id = "powerdebugger_isp"; + desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; + +#------------------------------------------------------------ +# powerdebugger_tpi +#------------------------------------------------------------ + +programmer + id = "powerdebugger_tpi"; + desc = "Atmel PowerDebugger (ARM/AVR) in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2144; +; + +#------------------------------------------------------------ +# pickit4 / pickit4_jtag +#------------------------------------------------------------ + +programmer + id = "pickit4", "pickit4_jtag"; + desc = "MPLAB(R) PICkit 4 in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_updi +#------------------------------------------------------------ + +programmer + id = "pickit4_updi"; + desc = "MPLAB(R) PICkit 4 in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; + hvupdi_support = 0, 1, 2; +; + +#------------------------------------------------------------ +# pickit4_pdi +#------------------------------------------------------------ + +programmer + id = "pickit4_pdi"; + desc = "MPLAB(R) PICkit 4 in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_isp +#------------------------------------------------------------ + +programmer + id = "pickit4_isp"; + desc = "MPLAB(R) PICkit 4 in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# pickit4_tpi +#------------------------------------------------------------ + +programmer + id = "pickit4_tpi"; + desc = "MPLAB(R) PICkit 4 in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2177, 0x2178, 0x2179; +; + +#------------------------------------------------------------ +# snap /snap_jtag +#------------------------------------------------------------ + +programmer + id = "snap", "snap_jtag"; + desc = "MPLAB(R) Snap in JTAG mode"; + type = "jtagice3"; + prog_modes = PM_JTAG | PM_XMEGAJTAG; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_updi +#------------------------------------------------------------ + +programmer + id = "snap_updi"; + desc = "MPLAB(R) SNAP in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# snap_pdi +#------------------------------------------------------------ + +programmer + id = "snap_pdi"; + desc = "MPLAB(R) SNAP in PDI mode"; + type = "jtagice3_pdi"; + prog_modes = PM_PDI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_isp +#------------------------------------------------------------ + +programmer + id = "snap_isp"; + desc = "MPLAB(R) SNAP in ISP mode"; + type = "jtagice3_isp"; + prog_modes = PM_ISP; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# snap_tpi +#------------------------------------------------------------ + +programmer + id = "snap_tpi"; + desc = "MPLAB(R) SNAP in TPI mode"; + type = "jtagice3_tpi"; + prog_modes = PM_TPI; + extra_features = HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2180, 0x217f, 0x2181; +; + +#------------------------------------------------------------ +# pkobn_updi +#------------------------------------------------------------ + +programmer + id = "pkobn_updi"; + desc = "Curiosity nano (nEDBG) in UPDI mode"; + type = "jtagice3_updi"; + prog_modes = PM_UPDI; + extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; + connection_type = usb; + usbpid = 0x2175; + hvupdi_support = 1; +; + +#------------------------------------------------------------ +# pavr +#------------------------------------------------------------ + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = "avr910"; + prog_modes = PM_ISP; + connection_type = serial; +; + +#------------------------------------------------------------ +# pickit2 +#------------------------------------------------------------ + +programmer + id = "pickit2"; + desc = "MicroChip's PICkit2 Programmer"; + type = "pickit2"; + prog_modes = PM_ISP; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip1 +#------------------------------------------------------------ + +programmer + id = "flip1"; + desc = "FLIP for bootloader using USB DFU protocol version 1 (doc7618)"; + type = "flip1"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# flip2 +#------------------------------------------------------------ + +programmer + id = "flip2"; + desc = "FLIP for bootloader using USB DFU protocol version 2 (AVR4023)"; + type = "flip2"; + prog_modes = PM_SPM; + connection_type = usb; +; + +#------------------------------------------------------------ +# ponyser +#------------------------------------------------------------ + +# some ultra cheap programmers use bitbanging on the serialport # # PC - DB9 - Pins for RS232: # @@ -1229,67 +2360,104 @@ programmer # Using RI is not supported under Win32 but is supported under Posix. # serial ponyprog design (dasa2 in uisp) -# reset=!txd sck=rts mosi=dtr miso=cts +# reset=!txd sck=rts sdo=dtr sdi=cts programmer - id = "ponyser"; - desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~3; - sck = 7; - mosi = 4; - miso = 8; + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts sdo=dtr sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~3; + sck = 7; + sdo = 4; + sdi = 8; ; +#------------------------------------------------------------ +# siprog +#------------------------------------------------------------ + +# Serial port adapter http://www.lancos.com/siprogsch.html # Same as above, different name -# reset=!txd sck=rts mosi=dtr miso=cts programmer parent "ponyser" - id = "siprog"; - desc = "Lancos SI-Prog "; + id = "siprog"; + desc = "Lancos SI-Prog (same as ponyser)"; ; +#------------------------------------------------------------ +# dasa +#------------------------------------------------------------ + # unknown (dasa in uisp) -# reset=rts sck=dtr mosi=txd miso=cts +# reset=rts sck=dtr sdo=txd sdi=cts programmer - id = "dasa"; - desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = 7; - sck = 4; - mosi = 3; - miso = 8; + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 7; + sck = 4; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# dasa3 +#------------------------------------------------------------ + # unknown (dasa3 in uisp) -# reset=!dtr sck=rts mosi=txd miso=cts +# reset=!dtr sck=rts sdo=txd sdi=cts programmer - id = "dasa3"; - desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; - type = "serbb"; - connection_type = serial; - reset = ~4; - sck = 7; - mosi = 3; - miso = 8; + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts sdo=txd sdi=cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = ~4; + sck = 7; + sdo = 3; + sdi = 8; ; +#------------------------------------------------------------ +# C2N232i +#------------------------------------------------------------ + # C2N232i (jumper configuration "auto") -# reset=dtr sck=!rts mosi=!txd miso=!cts +# reset=dtr sck=!rts sdo=!txd sdi=!cts programmer - id = "c2n232i"; - desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; - type = "serbb"; - connection_type = serial; - reset = 4; - sck = ~7; - mosi = ~3; - miso = ~8; + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts sdo=!txd sdi=!cts"; + type = "serbb"; + prog_modes = PM_TPI | PM_ISP; + connection_type = serial; + reset = 4; + sck = ~7; + sdo = ~3; + sdi = ~8; +; + +#------------------------------------------------------------ +# jtag2updi +#------------------------------------------------------------ + +# JTAG2UPDI +# https://github.com/ElTangas/jtag2updi + +programmer + id = "jtag2updi"; + desc = "JTAGv2 to UPDI bridge"; + type = "jtagmkii_updi"; + prog_modes = PM_UPDI; + connection_type = serial; + baudrate = 115200; + hvupdi_support = 1; ; # @@ -1303,62 +2471,78 @@ programmer # This is an HVSP-only device. part - id = "t11"; - desc = "ATtiny11"; - stk500_devcode = 0x11; - signature = 0x1e 0x90 0x04; - chip_erase_delay = 20000; - - timeout = 200; - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny11"; + id = "t11"; + variants = + "ATtiny11: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny11-6PC: DIP8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PI: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6PU: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SC: SOIC8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SI: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11-6SU: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny11L-2PC: DIP8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2PI: DIP8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SC: SOIC8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SI: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny11L-2SU: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_HVSP; + mcuid = 8; + n_interrupts = 5; + stk500_devcode = 0x11; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x04; + serial = no; + timeout = 200; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; memory "eeprom" - size = 64; - blocksize = 64; - readsize = 256; - delay = 5; + size = 64; + delay = 5; + blocksize = 64; + readsize = 256; ; memory "flash" - size = 1024; - blocksize = 128; - readsize = 256; - delay = 3; - ; - - memory "signature" - size = 3; - ; - - memory "lock" - size = 1; - ; - - memory "calibration" - size = 1; + size = 1024; + delay = 3; + blocksize = 128; + readsize = 256; ; memory "fuse" - size = 1; + size = 1; + initval = 0xf4; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; ; ; @@ -1367,131 +2551,106 @@ part #------------------------------------------------------------ part - id = "t12"; - desc = "ATtiny12"; - stk500_devcode = 0x12; - avr910_devcode = 0x55; - signature = 0x1e 0x90 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny12"; + id = "t12"; + variants = + "ATtiny12: N/A, Fmax=8 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12-8PU: PDIP8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12-8SU: SOIC8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATtiny12L-4PU: PDIP8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SU: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12L-4SUR: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny12V-1SU: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny12V-1SUR: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 9; + n_interrupts = 6; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + chip_erase_delay = 20000; + signature = 0x1e 0x90 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 8; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4500; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -1500,6310 +2659,5939 @@ part #------------------------------------------------------------ part - id = "t13"; - desc = "ATtiny13"; - has_debugwire = yes; - flash_instr = 0xB4, 0x0E, 0x1E; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; - signature = 0x1e 0x90 0x07; - chip_erase_delay = 4000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny13"; + id = "t13"; + variants = + "ATtiny13: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny13-20MMU: MLF10, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MMUR: VDFN10, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQ: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SQR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQ: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSQR: SOIC8, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny13V-10MMU: MLF10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MMUR: VDFN10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PQ: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 10; + n_interrupts = 10; + stk500_devcode = 0x14; + chip_erase_delay = 4000; + signature = 0x1e 0x90 0x07; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 90; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x0e, 0x1e; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x0e, 0xb4, 0x0e, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; - - ocdrev = 0; + synchcycles = 6; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xxaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 1024; - page_size = 32; - num_pages = 32; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 0 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.000a--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.000a--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0x6a; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny13A +#------------------------------------------------------------ + +part parent "t13" + desc = "ATtiny13A"; + id = "t13a"; + variants = + "ATtiny13A-MMF: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMFR: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMU: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MMUR: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MU: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-PU: PDIP8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SN: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SS7R: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSHR: SOIC8N, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SSUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny13A-SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 11; +; #------------------------------------------------------------ # ATtiny15 #------------------------------------------------------------ part - id = "t15"; - desc = "ATtiny15"; - stk500_devcode = 0x13; - avr910_devcode = 0x56; - signature = 0x1e 0x90 0x06; - chip_erase_delay = 8200; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "ATtiny15"; + id = "t15"; + variants = + "ATtiny15: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PC: DIP8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PI: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1PU: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SC: SOIC8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SI: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny15L-1SU: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVSP; + mcuid = 12; + n_interrupts = 9; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + chip_erase_delay = 8200; + signature = 0x1e 0x90 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 5; - synchcycles = 6; - latchcycles = 16; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 8200; - max_write_delay = 8200; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; ; memory "flash" - size = 1024; - min_write_delay = 4100; - max_write_delay = 4100; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback = 0xff 0x00; + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x o o o o x x o o"; + size = 1; + initval = 0x5c; + bitmask = 0xf3; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.xxoo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.11ii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x i i i i 1 1 i i"; - min_write_delay = 9000; - max_write_delay = 9000; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; #------------------------------------------------------------ -# AT90s1200 +# AT89S51 +#------------------------------------------------------------ + +# Nonstandard part +# - Tested with -c avrisp +# - USBASP programmers may require different firmware + +part + desc = "AT89S51"; + id = "89S51"; + variants = + "AT89S51: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S51-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S51-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 372; + stk500_devcode = 0xe0; + chip_erase_delay = 250000; + signature = 0x1e 0x51 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 4; + pollvalue = 0x69; + predelay = 1; + postdelay = 1; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; + programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "flash" + size = 4096; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x02; + delay = 10; + blocksize = 256; + read = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "0100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + # Nonstandard page mode is available but not implemented + ; + + memory "lock" + size = 1; + read = "0010.0100--xxxx.xxxx--xxxx.xxxx--xxxo.ooxx"; + # Nonstandard write: expect verification errors + # See datasheet Page 20, Note 1 https://ww1.microchip.com/downloads/en/DeviceDoc/doc2487.pdf + # Activate lock mode 0 through chip erase: avrdude -e + # Activate lock mode 1: avrdude -e -V -U lock:w:1:m + # Activate lock mode 2: avrdude -e -V -U lock:w:1:m -U lock:w:2:m + # Activate lock mode 3: avrdude -e -V -U lock:w:1:m -U lock:w:2:m -U lock:w:3:m + write = "1010.1100--1110.00ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0 0 1 0 1 0 0 0 x x x x x x a1 a0 x x x x x x x 0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# AT89S52 +#------------------------------------------------------------ + +part parent "89S51" + desc = "AT89S52"; + id = "89S52"; + variants = + "AT89S52: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]", + "AT89S52-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24AUR: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "AT89S52-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]"; + mcuid = 373; + stk500_devcode = 0xe1; + signature = 0x1e 0x52 0x06; + + memory "flash" + size = 8192; + ; +; + +#------------------------------------------------------------ +# AT90S1200 #------------------------------------------------------------ part - id = "1200"; - desc = "AT90S1200"; - is_at90s1200 = yes; - stk500_devcode = 0x33; - avr910_devcode = 0x13; - signature = 0x1e 0x90 0x01; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 1; - bytedelay = 0; - pollindex = 0; - pollvalue = 0xFF; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S1200"; + id = "1200"; + variants = + "AT90S1200-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S1200A-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S1200A-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S1200A-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 183; + n_interrupts = 4; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + chip_erase_delay = 20000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x90 0x01; + is_at90s1200 = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + pollvalue = 0xff; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 64; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x00 0xff; + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 32; - readsize = 256; - ; memory "flash" - size = 1024; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x02; - delay = 15; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4414 +# AT90S4414 #------------------------------------------------------------ part - id = "4414"; - desc = "AT90S4414"; - stk500_devcode = 0x50; - avr910_devcode = 0x28; - signature = 0x1e 0x92 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S4414"; + id = "4414"; + variants = + "AT90S4414-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JC: LCC44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4JI: LCC44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S4414-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4414-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 190; + n_interrupts = 13; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + chip_erase_delay = 20000; + signature = 0x1e 0x92 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2313 +# AT90S2313 #------------------------------------------------------------ part - id = "2313"; - desc = "AT90S2313"; - stk500_devcode = 0x40; - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2313"; + id = "2313"; + variants = + "AT90S2313-10PC: DIP20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10PI: DIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SC: SOIC20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2313-10SI: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2313-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "AT90S2313-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 186; + n_interrupts = 11; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--111x.xiix--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2333 +# AT90S2333 #------------------------------------------------------------ part - id = "2333"; ##### WARNING: No XML file for device 'AT90S2333'! ##### - desc = "AT90S2333"; - stk500_devcode = 0x42; - avr910_devcode = 0x34; - signature = 0x1e 0x91 0x05; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S2333"; + id = "2333"; + variants = + "AT90S2333-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2333-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 188; + n_interrupts = 14; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + chip_erase_delay = 20000; + signature = 0x1e 0x91 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "fuse" + size = 1; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxoo.oooo"; + write = "1010.1100--101i.iiii--xxxx.xxxx--xxxx.xxxx"; + ; - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; + memory "lock" + size = 1; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s2343 (also AT90s2323 and ATtiny22) +# AT90S2343 (also AT90S2323 and ATtiny22) #------------------------------------------------------------ part - id = "2343"; - desc = "AT90S2343"; - stk500_devcode = 0x43; - avr910_devcode = 0x4c; - signature = 0x1e 0x91 0x03; - chip_erase_delay = 18000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + desc = "AT90S2343"; + id = "2343"; + variants = + "AT90S2343-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2343-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP; + mcuid = 189; + n_interrupts = 3; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + chip_erase_delay = 18000; + signature = 0x1e 0x91 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00, 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, - 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 0; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 50; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + hventerstabdelay = 100; + latchcycles = 1; + poweroffdelay = 25; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--0000.0000--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--xaaa.aaaa--iiii.iiii"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; memory "flash" - size = 2048; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 128; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; + size = 1; + initval = 0xde; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o o x x x x o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4433 +# AT90S2323 +#------------------------------------------------------------ + +part parent "2343" + desc = "AT90S2323"; + id = "2323"; + variants = + "AT90S2323-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S2323-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 187; + stk500_devcode = 0x41; + avr910_devcode = 0x48; + signature = 0x1e 0x91 0x02; +; + +#------------------------------------------------------------ +# ATtiny22 +#------------------------------------------------------------ + +part parent "2343" + desc = "ATtiny22"; + id = "t22"; + variants = + "ATtiny22L-1PC: DIP8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1PI: DIP8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SC: SOIC8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]", + "ATtiny22L-1SI: SOIC8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]"; + mcuid = 13; + stk500_devcode = 0x20; + avr910_devcode = 0x00; # Unknown + signature = 0x1e 0x91 0x06; + + memory "fuse" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AT90S4433 +#------------------------------------------------------------ + +part parent "2333" + desc = "AT90S4433"; + id = "4433"; + variants = + "AT90S4433-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4433-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 191; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + + memory "eeprom" + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; + + memory "flash" + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; + + memory "fuse" + initval = 0xda; + ; + + memory "lock" + initval = 0xff; + ; +; + +#------------------------------------------------------------ +# AT90S8515 #------------------------------------------------------------ part - id = "4433"; - desc = "AT90S4433"; - stk500_devcode = 0x51; - avr910_devcode = 0x30; - signature = 0x1e 0x92 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8515"; + id = "8515"; + variants = + "AT90S8515-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 193; + n_interrupts = 13; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x7f 0x7f; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - pwroff_after_write = yes; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xdf; + bitmask = 0x21; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s4434 +# AT90S8535 #------------------------------------------------------------ part - id = "4434"; -##### WARNING: No XML file for device 'AT90S4434'! ##### - desc = "AT90S4434"; - stk500_devcode = 0x52; - avr910_devcode = 0x6c; - signature = 0x1e 0x92 0x02; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - memory "eeprom" - size = 256; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - ; - memory "flash" - size = 4096; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "fuse" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", - "x x x x x x x x x x x x x x x x"; - ; - memory "lock" - size = 1; - min_write_delay = 9000; - max_write_delay = 20000; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - ; - ; - -#------------------------------------------------------------ -# AT90s8515 -#------------------------------------------------------------ - -part - id = "8515"; - desc = "AT90S8515"; - stk500_devcode = 0x60; - avr910_devcode = 0x38; - signature = 0x1e 0x93 0x01; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "AT90S8535"; + id = "8535"; + variants = + "AT90S8535-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S8535-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 195; + n_interrupts = 17; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + chip_erase_delay = 20000; + signature = 0x1e 0x93 0x03; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0x00 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x7f; - readback_p2 = 0x7f; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback = 0xff 0xff; + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - ; + size = 1; + initval = 0xdf; + bitmask = 0x21; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo"; + write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx"; + ; + memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x x x x x x x x x o1 o2 x x x x x x"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# AT90s8535 +# AT90S4434 #------------------------------------------------------------ -part - id = "8535"; - desc = "AT90S8535"; - stk500_devcode = 0x61; - avr910_devcode = 0x68; - signature = 0x1e 0x93 0x03; - chip_erase_delay = 20000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; +# No XML file for device AT90S4434, so parenting off AT90S8535 +# with which it shares the datasheet. - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; - programlockpolltimeout = 1; +part parent "8535" + desc = "AT90S4434"; + id = "4434"; + variants = + "AT90S4434-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]", + "AT90S4434-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]"; + mcuid = 192; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0x00; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + size = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; memory "flash" - size = 8192; - min_write_delay = 9000; - max_write_delay = 20000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 4096; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write_lo = " 0 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - write_hi = " 0 1 0 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 128; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; memory "fuse" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x x o"; - write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + max_write_delay = 20000; + ; + memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x o o x x x x x x"; - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - ; + max_write_delay = 20000; + ; +; #------------------------------------------------------------ # ATmega103 #------------------------------------------------------------ part - id = "m103"; - desc = "ATmega103"; - stk500_devcode = 0xB1; - avr910_devcode = 0x41; - signature = 0x1e 0x97 0x01; - chip_erase_delay = 112000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, - 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, - 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, - 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 15; - chiperasepolltimeout = 0; - programfusepulsewidth = 2; - programfusepolltimeout = 0; - programlockpulsewidth = 0; + desc = "ATmega103"; + id = "m103"; + variants = + "ATmega103-6AC: TQFP64, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega103-6AI: TQFP64, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega103L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 3.6 V]", + "ATmega103L-4AI: TQFP64, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 84; + n_interrupts = 24; + stk500_devcode = 0xb1; + avr910_devcode = 0x41; + chip_erase_delay = 112000; + pagel = 0xa0; + bs2 = 0xd7; + signature = 0x1e 0x97 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x8e, 0x9e, 0x2e, 0x3e, 0xae, 0xbe, + 0x4e, 0x5e, 0xce, 0xde, 0x6e, 0x7e, 0xee, 0xde, + 0x66, 0x76, 0xe6, 0xf6, 0x6a, 0x7a, 0xea, 0x7a, + 0x7f, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + programfusepulsewidth = 2; programlockpolltimeout = 10; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 4096; - min_write_delay = 4000; - max_write_delay = 9000; - readback_p1 = 0x80; - readback_p2 = 0x7f; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback = 0x80 0x7f; + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 22000; - max_write_delay = 56000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 70; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback = 0xff 0xff; + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x x o x o 1 o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xdf; + bitmask = 0x2b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxox.o1oo"; + write = "1010.1100--1011.i1ii--xxxx.xxxx--xxxx.xxxx"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x o o x"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x06; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox"; + write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega64 #------------------------------------------------------------ part - id = "m64"; - desc = "ATmega64"; - has_jtag = yes; - stk500_devcode = 0xA0; - avr910_devcode = 0x45; - signature = 0x1e 0x96 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; + desc = "ATmega64"; + id = "m64"; + variants = + "ATmega64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega64-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]", + "ATmega64-16MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega64L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQ: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AQR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MN: QFN64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQ: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MQR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MU: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 72; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xa0; + avr910_devcode = 0x45; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 64; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega64A +#------------------------------------------------------------ +part parent "m64" + desc = "ATmega64A"; + id = "m64a"; + variants = + "ATmega64A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64A-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 73; +; #------------------------------------------------------------ # ATmega128 #------------------------------------------------------------ part - id = "m128"; - desc = "ATmega128"; - has_jtag = yes; - stk500_devcode = 0xB2; - avr910_devcode = 0x43; - signature = 0x1e 0x97 0x02; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x22; - spmcr = 0x68; - rampz = 0x3b; + desc = "ATmega128"; + id = "m128"; + variants = + "ATmega128-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MN: MLF64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MNR: MLF64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128-16MUR: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega128L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8ANR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MN: MLF64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]", + "ATmega128L-8MNR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 85; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; + avr910_devcode = 0x43; + chip_erase_delay = 10000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x02; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 1; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x22; + rampz = 0x3b; + spmcr = 0x68; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 12; - blocksize = 64; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 10000; + max_write_delay = 10000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 5000; + max_write_delay = 5000; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfd; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega128A +#------------------------------------------------------------ + +part parent "m128" + desc = "ATmega128A"; + id = "m128a"; + variants = + "ATmega128A: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega128A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MNR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega128A-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 86; +; #------------------------------------------------------------ # AT90CAN128 #------------------------------------------------------------ part - id = "c128"; - desc = "AT90CAN128"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x97 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN128"; + id = "c128"; + variants = + "AT90CAN128: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, N/A]", + "AT90CAN128-15AZ: TQFP64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN128-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 176; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN64 #------------------------------------------------------------ part - id = "c64"; - desc = "AT90CAN64"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x96 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN64"; + id = "c64"; + variants = + "AT90CAN64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 172; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90CAN32 #------------------------------------------------------------ part - id = "c32"; - desc = "AT90CAN32"; - has_jtag = yes; - stk500_devcode = 0xB3; -# avr910_devcode = 0x43; - signature = 0x1e 0x95 0x81; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90CAN32"; + id = "c32"; + variants = + "AT90CAN32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90CAN32-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 171; + n_interrupts = 37; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb3; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - eecr = 0x3f; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + size = 1024; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 256; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega16 #------------------------------------------------------------ part - id = "m16"; - desc = "ATmega16"; - has_jtag = yes; - stk500_devcode = 0x82; - avr910_devcode = 0x74; - signature = 0x1e 0x94 0x03; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 100; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega16"; + id = "m16"; + variants = + "ATmega16: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega16-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MQ: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16MUR: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega16L-8AQ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AQR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8AUR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 49; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x03; + reset = io; allowfullpagebitstream = yes; - - ocdrev = 2; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" - size = 4; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; - + size = 4; + read = "0011.1000--000x.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ -# ATmega164P +# ATmega16A #------------------------------------------------------------ -# close to ATmega16 - part parent "m16" - id = "m164p"; - desc = "ATmega164P"; - signature = 0x1e 0x94 0x0a; - - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - allowfullpagebitstream = no; - chip_erase_delay = 55000; - - ocdrev = 3; - ; - + desc = "ATmega16A"; + id = "m16a"; + variants = + "ATmega16A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 50; +; #------------------------------------------------------------ # ATmega324P #------------------------------------------------------------ -# similar to ATmega164P - part - id = "m324p"; - desc = "ATmega324P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x95 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega324P"; + id = "m324p"; + variants = + "ATmega324P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega324P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega324PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10AUR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 111; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ +part parent "m324p" + desc = "ATmega164P"; + id = "m164p"; + variants = + "ATmega164P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega164P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega164PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10MUR: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 93; + boot_section_size = 256; + signature = 0x1e 0x94 0x0a; + + memory "eeprom" + size = 512; + delay = 20; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + ; +; + +#------------------------------------------------------------ +# ATmega164PA +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164PA"; + id = "m164pa"; + variants = + "ATmega164PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-CUR: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MCHR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 94; +; + +#------------------------------------------------------------ +# ATmega164A +#------------------------------------------------------------ + +part parent "m164p" + desc = "ATmega164A"; + id = "m164a"; + variants = + "ATmega164A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-CUR: VFBGA49, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MCHR: QFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-MUR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega164A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 92; + signature = 0x1e 0x94 0x0f; +; + +#------------------------------------------------------------ +# ATmega324PB +#------------------------------------------------------------ + +part parent "m324p" + desc = "ATmega324PB"; + id = "m324pb"; + variants = + "ATmega324PB-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MN: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MNR: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PB-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 113; + n_interrupts = 51; + signature = 0x1e 0x95 0x17; + + memory "efuse" + initval = 0x07; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; +; #------------------------------------------------------------ # ATmega324PA #------------------------------------------------------------ -# similar to ATmega324P +part parent "m324p" + desc = "ATmega324PA"; + id = "m324pa"; + variants = + "ATmega324PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MCHR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 112; + signature = 0x1e 0x95 0x11; +; + +#------------------------------------------------------------ +# ATmega324A +#------------------------------------------------------------ part parent "m324p" - id = "m324pa"; - desc = "ATmega324PA"; - signature = 0x1e 0x95 0x11; - - ocdrev = 3; - ; - + desc = "ATmega324A"; + id = "m324a"; + variants = + "ATmega324A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega324A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 110; + signature = 0x1e 0x95 0x15; +; #------------------------------------------------------------ # ATmega644 #------------------------------------------------------------ -# similar to ATmega164 - part - id = "m644"; - desc = "ATmega644"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x96 0x09; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega644"; + id = "m644"; + variants = + "ATmega644: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20AUR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644V-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MU: MLF44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644V-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 127; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega644A +#------------------------------------------------------------ + +part parent "m644" + desc = "ATmega644A"; + id = "m644a"; + variants = + "ATmega644A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 128; + n_interrupts = 31; +; #------------------------------------------------------------ # ATmega644P #------------------------------------------------------------ -# similar to ATmega164p +part parent "m644" + desc = "ATmega644P"; + id = "m644p"; + variants = + "ATmega644P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega644P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega644PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQ: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AQR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MQR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PQ: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 129; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; + +#------------------------------------------------------------ +# ATmega644PA +#------------------------------------------------------------ part parent "m644" - id = "m644p"; - desc = "ATmega644P"; - signature = 0x1e 0x96 0x0a; + desc = "ATmega644PA"; + id = "m644pa"; + variants = + "ATmega644PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-ANR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MNR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega644PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 130; + n_interrupts = 31; + signature = 0x1e 0x96 0x0a; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega1284 +#------------------------------------------------------------ +part + desc = "ATmega1284"; + id = "m1284"; + variants = + "ATmega1284-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-MUR: MLF44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1284-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 140; + n_interrupts = 35; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 55000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + memory "eeprom" + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 128; + read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 128; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1284P #------------------------------------------------------------ -# similar to ATmega164p - -part - id = "m1284p"; - desc = "ATmega1284P"; - has_jtag = yes; - stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one - avr910_devcode = 0x74; - signature = 0x1e 0x97 0x05; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 55000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - - memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; - - +part parent "m1284" + desc = "ATmega1284P"; + id = "m1284p"; + variants = + "ATmega1284P-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MN: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1284P-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 141; + signature = 0x1e 0x97 0x05; +; #------------------------------------------------------------ # ATmega162 #------------------------------------------------------------ part - id = "m162"; - desc = "ATmega162"; - has_jtag = yes; - stk500_devcode = 0x83; - avr910_devcode = 0x63; - signature = 0x1e 0x94 0x04; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - - idr = 0x04; - spmcr = 0x57; + desc = "ATmega162"; + id = "m162"; + variants = + "ATmega162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega162-16AC: TQFP44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16AI: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AJ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MC: VFQFN44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16MI: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MJ: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MU: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16MUR: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PC: DIP40, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]", + "ATmega162-16PI: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PJ: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162-16PU: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MC: VFQFN44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162L-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega162V-1AC: TQFP44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1MC: VFQFN44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-1PC: DIP40, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]", + "ATmega162V-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AJ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MJ: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MU: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8MUR: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PJ: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega162V-8PU: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 90; + n_interrupts = 28; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x04; + reset = io; allowfullpagebitstream = yes; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - ocdrev = 2; - - memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - - ; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x04; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1e; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--111i.iii1"; + ; memory "lock" - size = 1; - min_write_delay = 16000; - max_write_delay = 16000; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--00xx.xxxx--0000.0000--oooo.oooo"; + ; ; - - #------------------------------------------------------------ # ATmega163 #------------------------------------------------------------ part - id = "m163"; - desc = "ATmega163"; - stk500_devcode = 0x81; - avr910_devcode = 0x64; - signature = 0x1e 0x94 0x02; - chip_erase_delay = 32000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega163"; + id = "m163"; + variants = + "ATmega163-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega163-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega163L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega163L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 91; + n_interrupts = 18; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x02; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - - memory "eeprom" - size = 512; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 16000; - max_write_delay = 16000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x11; - delay = 20; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback = 0xff 0xff; + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o x x o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i 1 1 i i i i"; - ; + size = 1; + initval = 0xdf; + bitmask = 0xef; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--ooxx.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--ii11.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x 1 o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x 1 1 1 1 1 i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--xxxx.1ooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x 0 x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.0xxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega169 #------------------------------------------------------------ part - id = "m169"; - desc = "ATmega169"; - has_jtag = yes; - stk500_devcode = 0x85; - avr910_devcode = 0x78; - signature = 0x1e 0x94 0x05; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega169"; + id = "m169"; + variants = + "ATmega169: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-4MC: VFQFN64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169L-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169V-1AC: TQFP64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-1MC: VFQFN64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 104; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x05; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega169A +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169A"; + id = "m169a"; + variants = + "ATmega169A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MCH: DRQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169A-MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 105; + signature = 0x1e 0x94 0x11; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169P +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169P"; + id = "m169p"; + variants = + "ATmega169P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCHR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MCU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega169P-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega169PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCH: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCHR: QFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MCU: VQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 106; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; + +#------------------------------------------------------------ +# ATmega169PA +#------------------------------------------------------------ + +part parent "m169" + desc = "ATmega169PA"; + id = "m169pa"; + variants = + "ATmega169PA-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MCHR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MNR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega169PA-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega169PA-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 107; + reset = io; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelay = 15; + + memory "eeprom" + readback = 0x00 0x00; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # ATmega329 #------------------------------------------------------------ part - id = "m329"; - desc = "ATmega329"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x95 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega329"; + id = "m329"; + variants = + "ATmega329: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega329-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 121; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega329A +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329A"; + id = "m329a"; + variants = + "ATmega329A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329A-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329A-MU: VQFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 122; +; #------------------------------------------------------------ # ATmega329P #------------------------------------------------------------ -# Identical to ATmega329 except of the signature part parent "m329" - id = "m329p"; - desc = "ATmega329P"; - signature = 0x1e 0x95 0x0b; + desc = "ATmega329P"; + id = "m329p"; + variants = + "ATmega329P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega329P-20AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329P-20ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MNR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega329P-20MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega329PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MN: VQFN64, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PV-10MUR: VQFN64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 123; + signature = 0x1e 0x95 0x0b; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega329PA +#------------------------------------------------------------ + +part parent "m329" + desc = "ATmega329PA"; + id = "m329pa"; + variants = + "ATmega329PA-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega329PA-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 124; + signature = 0x1e 0x95 0x0b; +; #------------------------------------------------------------ # ATmega3290 #------------------------------------------------------------ -# identical to ATmega329 +part parent "m329" + desc = "ATmega3290"; + id = "m3290"; + variants = + "ATmega3290: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 150; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; + +#------------------------------------------------------------ +# ATmega3290A +#------------------------------------------------------------ part parent "m329" - id = "m3290"; - desc = "ATmega3290"; - signature = 0x1e 0x95 0x04; - - ocdrev = 3; - ; + desc = "ATmega3290A"; + id = "m3290a"; + variants = + "ATmega3290A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 151; + n_interrupts = 25; + signature = 0x1e 0x95 0x04; +; #------------------------------------------------------------ # ATmega3290P #------------------------------------------------------------ -# identical to ATmega3290 except of the signature +part parent "m329" + desc = "ATmega3290P"; + id = "m3290p"; + variants = + "ATmega3290P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3290P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3290PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 152; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; -part parent "m3290" - id = "m3290p"; - desc = "ATmega3290P"; - signature = 0x1e 0x95 0x0c; +#------------------------------------------------------------ +# ATmega3290PA +#------------------------------------------------------------ - ocdrev = 3; - ; +part parent "m329" + desc = "ATmega3290PA"; + id = "m3290pa"; + variants = + "ATmega3290PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3290PA-AUR: TQFP100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 153; + n_interrupts = 25; + signature = 0x1e 0x95 0x0c; +; #------------------------------------------------------------ # ATmega649 #------------------------------------------------------------ part - id = "m649"; - desc = "ATmega649"; - has_jtag = yes; -# stk500_devcode = 0x85; # no STK500 support, only STK500v2 -# avr910_devcode = 0x?; # try the ATmega169 one: - avr910_devcode = 0x75; - signature = 0x1e 0x96 0x03; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega649"; + id = "m649"; + variants = + "ATmega649: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega649-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega649V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 135; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - idr = 0x31; - spmcr = 0x57; - - ocdrev = 3; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 8; - readsize = 256; - ; + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega649A +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649A"; + id = "m649a"; + variants = + "ATmega649A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 136; +; + +#------------------------------------------------------------ +# ATmega649P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega649P"; + id = "m649p"; + variants = + "ATmega649P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega649P-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega649P-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 137; + signature = 0x1e 0x96 0x0b; +; #------------------------------------------------------------ # ATmega6490 #------------------------------------------------------------ -# identical to ATmega649 +part parent "m649" + desc = "ATmega6490"; + id = "m6490"; + variants = + "ATmega6490: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega6490-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6490V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 157; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; + +#------------------------------------------------------------ +# ATmega6490A +#------------------------------------------------------------ part parent "m649" - id = "m6490"; - desc = "ATmega6490"; - signature = 0x1e 0x96 0x04; + desc = "ATmega6490A"; + id = "m6490a"; + variants = + "ATmega6490A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490A-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 158; + n_interrupts = 25; + signature = 0x1e 0x96 0x04; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6490P +#------------------------------------------------------------ + +part parent "m649" + desc = "ATmega6490P"; + id = "m6490p"; + variants = + "ATmega6490P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6490P-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 159; + n_interrupts = 25; + signature = 0x1e 0x96 0x0c; +; #------------------------------------------------------------ # ATmega32 #------------------------------------------------------------ part - id = "m32"; - desc = "ATmega32"; - has_jtag = yes; - stk500_devcode = 0x91; - avr910_devcode = 0x72; - signature = 0x1e 0x95 0x02; - chip_erase_delay = 9000; - pagel = 0xd7; - bs2 = 0xa0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; + desc = "ATmega32"; + id = "m32"; + variants = + "ATmega32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega32-16AQ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega32-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega32L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8MUR: VQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI; + mcuid = 58; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x02; + reset = io; allowfullpagebitstream = yes; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 2; - - memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; - ; + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - ; + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega161 #------------------------------------------------------------ part - id = "m161"; - desc = "ATmega161"; - stk500_devcode = 0x80; - avr910_devcode = 0x60; - signature = 0x1e 0x94 0x01; - chip_erase_delay = 28000; - pagel = 0xd7; - bs2 = 0xa0; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 30; - programfusepulsewidth = 0; + desc = "ATmega161"; + id = "m161"; + variants = + "ATmega161-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]", + "ATmega161-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]", + "ATmega161L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]", + "ATmega161L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 89; + n_interrupts = 21; + n_boot_sections = 1; + boot_section_size = 1024; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x01; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + chiperasepolltimeout = 30; programfusepolltimeout = 2; - programlockpulsewidth = 0; programlockpolltimeout = 2; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - min_write_delay = 3400; - max_write_delay = 3400; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 5; - blocksize = 128; - readsize = 256; - ; + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback = 0xff 0xff; + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 14000; - max_write_delay = 14000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 16; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback = 0xff 0xff; + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "fuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 x x x x x x x x", - "x x x x x x x x x o x o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", - "x x x x x x x x 1 i 1 i i i i i"; - ; + size = 1; + initval = 0xda; + bitmask = 0x77; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xoxo.oooo"; + write = "1010.1100--101x.xxxx--xxxx.xxxx--1i1i.1iii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega32A +#------------------------------------------------------------ + +part parent "m32" + desc = "ATmega32A"; + id = "m32a"; + variants = + "ATmega32A-AN: TQFP44, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-ANR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MN: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MNR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-MUR: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PN: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 59; +; #------------------------------------------------------------ # ATmega8 #------------------------------------------------------------ part - id = "m8"; - desc = "ATmega8"; - stk500_devcode = 0x70; - avr910_devcode = 0x76; - signature = 0x1e 0x93 0x07; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 10000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATmega8"; + id = "m8"; + variants = + "ATmega8: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega8-16AN: TQFP32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16MUR: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PN: PDIP28, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8-16PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8L-8AN: TQFP32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AU: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8AUR: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MN: QFN32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8MUR: VQFN32, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PN: PDIP28, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8L-8PU: PDIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 45; + n_interrupts = 19; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; + signature = 0x1e 0x93 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - page_size = 4; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 10; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; +#------------------------------------------------------------ +# ATmega8A +#------------------------------------------------------------ + +part parent "m8" + desc = "ATmega8A"; + id = "m8a"; + variants = + "ATmega8A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AN: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-ANR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MN: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MNR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PN: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8A-PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 46; +; #------------------------------------------------------------ # ATmega8515 #------------------------------------------------------------ part - id = "m8515"; - desc = "ATmega8515"; - stk500_devcode = 0x63; - avr910_devcode = 0x3A; - signature = 0x1e 0x93 0x06; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8515"; + id = "m8515"; + variants = + "ATmega8515: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8515-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8515L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8515L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 160; + n_interrupts = 17; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x63; + avr910_devcode = 0x3a; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x06; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; - - + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8535 #------------------------------------------------------------ part - id = "m8535"; - desc = "ATmega8535"; - stk500_devcode = 0x64; - avr910_devcode = 0x69; - signature = 0x1e 0x93 0x08; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 6; - togglevtg = 0; - poweroffdelay = 0; - resetdelayms = 0; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8535"; + id = "m8535"; + variants = + "ATmega8535: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega8535-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega8535-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega8535L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8MUR: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8535L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP; + mcuid = 161; + n_interrupts = 21; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x93 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 512; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - mode = 0x04; - delay = 20; - blocksize = 128; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xe1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xd9; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 2000; - max_write_delay = 2000; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + memory "calibration" + size = 4; + read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny26 #------------------------------------------------------------ part - id = "t26"; - desc = "ATtiny26"; - stk500_devcode = 0x21; - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x09; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; - programfusepolltimeout = 5; - programlockpulsewidth = 0; - programlockpolltimeout = 5; + desc = "ATtiny26"; + id = "t26"; + variants = + "ATtiny26: N/A, Fmax=16 MHz, T=[N/A, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16PU: PDIP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26-16SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATtiny26L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8MUR: VQFN32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8PU: PDIP20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny26L-8SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_ISP | PM_HVPP; + mcuid = 17; + n_interrupts = 12; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x91 0x09; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 20; + programfusepolltimeout = 10; + programlockpolltimeout = 10; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - size = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - mode = 0x04; - delay = 10; - blocksize = 64; - readsize = 256; + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback = 0xff 0xff; + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 16; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 9000; - max_write_delay = 9000; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0x00; + mode = 0x21; + delay = 10; + blocksize = 16; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x x x x i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 4; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + size = 1; + initval = 0xe1; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; -; + memory "hfuse" + size = 1; + initval = 0xf7; + bitmask = 0x1f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--xxxi.iiii"; + ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 4; + read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny261 #------------------------------------------------------------ -# Close to ATtiny26 part - id = "t261"; - desc = "ATtiny261"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0c; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny261"; + id = "t261"; + variants = + "ATtiny261: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny261-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny261V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 30; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 128; - page_size = 4; - num_pages = 32; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = "1 0 1 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 x x x x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x x a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x x x o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny261A +#------------------------------------------------------------ + +part parent "t261" + desc = "ATtiny261A"; + id = "t261a"; + variants = + "ATtiny261A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MF: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MFR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MN: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MNR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny261A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 31; +; #------------------------------------------------------------ # ATtiny461 #------------------------------------------------------------ -# Close to ATtiny261 part - id = "t461"; - desc = "ATtiny461"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x08; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny461"; + id = "t461"; + variants = + "ATtiny461: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny461-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny461V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 33; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 256; - page_size = 4; - num_pages = 64; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.xaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x x x o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny461A +#------------------------------------------------------------ + +part parent "t461" + desc = "ATtiny461A"; + id = "t461a"; + variants = + "ATtiny461A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny461A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 34; +; #------------------------------------------------------------ # ATtiny861 #------------------------------------------------------------ -# Close to ATtiny461 part - id = "t861"; - desc = "ATtiny861"; - has_debugwire = yes; - flash_instr = 0xB4, 0x00, 0x10; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -# stk500_devcode = 0x21; -# avr910_devcode = 0x5e; - signature = 0x1e 0x93 0x0d; - pagel = 0xb3; - bs2 = 0xb2; - chip_erase_delay = 4000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 0; - - pp_controlstack = - 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, - 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, - 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, - 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 2; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny861"; + id = "t861"; + variants = + "ATtiny861: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny861-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny861-20SUR: SOIC20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny861V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 38; + n_interrupts = 19; + chip_erase_delay = 4000; + pagel = 0xb3; + bs2 = 0xb2; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x00, 0x10; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x20; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - size = 512; - num_pages = 128; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4000; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; - - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 x x x x x x x x", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", - "x x x x x x x x x x x x x x x x"; - min_write_delay = 4500; - max_write_delay = 4500; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxx.aaaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x x x o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo"; + write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; ; +#------------------------------------------------------------ +# ATtiny861A +#------------------------------------------------------------ + +part parent "t861" + desc = "ATtiny861A"; + id = "t861a"; + variants = + "ATtiny861A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny861A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 39; +; + +#------------------------------------------------------------ +# ATtiny28 +#------------------------------------------------------------ + +# This is an HVPP-only device. + +part + desc = "ATtiny28"; + id = "t28"; + variants = + "ATtiny28: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4AU: TQFP32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MU: MLF32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4MUR: VQFN32, Fmax=4 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny28L-4PU: PDIP28, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny28V-1AU: TQFP32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1AUR: TQFP32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MU: MLF32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1MUR: VQFN32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny28V-1PU: PDIP28, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_HVPP; + mcuid = 18; + n_interrupts = 6; + stk500_devcode = 0x22; + avr910_devcode = 0x5c; + signature = 0x1e 0x91 0x07; + serial = no; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + + memory "flash" + size = 2048; + page_size = 2; + delay = 5; + readsize = 256; + ; + + memory "fuse" + size = 1; + initval = 0x12; + bitmask = 0x1f; + ; + + memory "lock" + size = 1; + initval = 0x06; + bitmask = 0x06; + ; + + memory "signature" + size = 3; + ; + + memory "calibration" + size = 1; + ; +; #------------------------------------------------------------ # ATmega48 #------------------------------------------------------------ part - id = "m48"; - desc = "ATmega48"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x59; -# avr910_devcode = 0x; - signature = 0x1e 0x92 0x05; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 45000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega48"; + id = "m48"; + variants = + "ATmega48: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMH: VQFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMU: QFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MMUR: VQFN28, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 67; + n_interrupts = 26; + stk500_devcode = 0x59; + chip_erase_delay = 45000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x x x o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega48A +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48A"; + id = "m48a"; + variants = + "ATmega48A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 68; +; #------------------------------------------------------------ # ATmega48P #------------------------------------------------------------ part parent "m48" - id = "m48p"; - desc = "ATmega48P"; - signature = 0x1e 0x92 0x0a; + desc = "ATmega48P"; + id = "m48p"; + variants = + "ATmega48P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega48PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMU: MLF28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 69; + signature = 0x1e 0x92 0x0a; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega48PA +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48PA"; + id = "m48pa"; + variants = + "ATmega48PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-AUR: QFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMHR: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMN: QFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MMNR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PN: SPDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 70; + signature = 0x1e 0x92 0x0a; +; + +#------------------------------------------------------------ +# ATmega48PB +#------------------------------------------------------------ + +part parent "m48" + desc = "ATmega48PB"; + id = "m48pb"; + variants = + "ATmega48PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega48PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega48PB-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 71; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x92 0x10; +; #------------------------------------------------------------ # ATmega88 #------------------------------------------------------------ part - id = "m88"; - desc = "ATmega88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x0a; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega88"; + id = "m88"; + variants = + "ATmega88: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 79; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega88A +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88A"; + id = "m88a"; + variants = + "ATmega88A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 80; +; #------------------------------------------------------------ # ATmega88P #------------------------------------------------------------ part parent "m88" - id = "m88p"; - desc = "ATmega88P"; - signature = 0x1e 0x93 0x0f; + desc = "ATmega88P"; + id = "m88p"; + variants = + "ATmega88P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20MUR: VQFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega88P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega88PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 81; + signature = 0x1e 0x93 0x0f; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# ATmega88PA +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88PA"; + id = "m88pa"; + variants = + "ATmega88PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-15MZ: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMHR: VQFN28, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMN: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMNR: VQFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MMUR: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 82; + signature = 0x1e 0x93 0x0f; +; + +#------------------------------------------------------------ +# ATmega88PB +#------------------------------------------------------------ + +part parent "m88" + desc = "ATmega88PB"; + id = "m88pb"; + variants = + "ATmega88PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega88PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega88PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 83; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x93 0x16; +; #------------------------------------------------------------ # ATmega168 #------------------------------------------------------------ part - id = "m168"; - desc = "ATmega168"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x06; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega168"; + id = "m168"; + variants = + "ATmega168: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega168-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MQR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQ: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MQR: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 99; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 512; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; - memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; - + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - ; - + size = 1; + initval = 0xf9; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; + memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega168A +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168A"; + id = "m168a"; + variants = + "ATmega168A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 100; ; #------------------------------------------------------------ @@ -7811,11 +8599,670 @@ part #------------------------------------------------------------ part parent "m168" - id = "m168p"; - desc = "ATmega168P"; - signature = 0x1e 0x94 0x0b; + desc = "ATmega168P"; + id = "m168p"; + variants = + "ATmega168P-20AN: TQFP32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MQR: QFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega168PV-10AN: TQFP32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 101; + signature = 0x1e 0x94 0x0b; +; - ocdrev = 1; +#------------------------------------------------------------ +# ATmega168PA +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168PA"; + id = "m168pa"; + variants = + "ATmega168PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MMHR: QFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 102; + signature = 0x1e 0x94 0x0b; +; + +#------------------------------------------------------------ +# ATmega168PB +#------------------------------------------------------------ + +part parent "m168" + desc = "ATmega168PB"; + id = "m168pb"; + variants = + "ATmega168PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega168PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 103; + n_interrupts = 27; + chip_erase_delay = 10500; + signature = 0x1e 0x94 0x15; +; + +#------------------------------------------------------------ +# ATtiny828 +#------------------------------------------------------------ + +part + desc = "ATtiny828"; + id = "t828"; + variants = + "ATtiny828: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.62 V, 5.5 V]", + "ATtiny828-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 35; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x86; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + bitmask = 0xf3; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0xf7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.1iii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny828R +#------------------------------------------------------------ + +part parent "t828" + desc = "ATtiny828R"; + id = "t828r"; + variants = + "ATtiny828R-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny828R-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 36; +; + +#------------------------------------------------------------ +# ATtiny87 +#------------------------------------------------------------ + +part + desc = "ATtiny87"; + id = "t87"; + variants = + "ATtiny87: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny87-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 27; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x93 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny87 has signature bytes 0x1E 0x93 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny167 +#------------------------------------------------------------ + +part + desc = "ATtiny167"; + id = "t167"; + variants = + "ATtiny167: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-A15XD: TSSOP20, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny167-MMU: WQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MMUR: WQFN20, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATtiny167-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny167-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 29; + n_interrupts = 20; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = 0x??; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 15000; + pagel = 0xb3; + bs2 = 0xb2; + signature = 0x1e 0x94 0x87; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; + + # ATtiny167 has signature bytes 0x1E 0x94 0x87 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny48 +#------------------------------------------------------------ + +part + desc = "ATtiny48"; + id = "t48"; + variants = + "ATtiny48-AU: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMHR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMU: MLF28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MMUR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MU: MLF32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny48-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 23; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 15000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x92 0x09; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; ; #------------------------------------------------------------ @@ -7823,385 +9270,1348 @@ part parent "m168" #------------------------------------------------------------ part - id = "t88"; - desc = "ATtiny88"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x73; -# avr910_devcode = 0x; - signature = 0x1e 0x93 0x11; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny88"; + id = "t88"; + variants = + "ATtiny88-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMHR: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMU: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MMUR: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MU: QFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny88-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 28; + n_interrupts = 20; + stk500_devcode = 0x73; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x93 0x11; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 64; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 64; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 64; - ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x6e; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega328 #------------------------------------------------------------ part - id = "m328"; - desc = "ATmega328"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x95 0x14; - pagel = 0xd7; - bs2 = 0xc2; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega328"; + id = "m328"; + variants = + "ATmega328-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 118; + n_interrupts = 26; + n_boot_sections = 4; + boot_section_size = 512; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc2; +# avr910_devcode = 0x??; + signature = 0x1e 0x95 0x14; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 1024; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; + size = 1024; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx"; ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x x x o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; ; ; -part parent "m328" - id = "m328p"; - desc = "ATmega328P"; - signature = 0x1e 0x95 0x0F; +#------------------------------------------------------------ +# ATmega328P +#------------------------------------------------------------ - ocdrev = 1; +part parent "m328" + desc = "ATmega328P"; + id = "m328p"; + variants = + "ATmega328P: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-15MZ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MNR: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328P-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 119; + signature = 0x1e 0x95 0x0f; +; + +#------------------------------------------------------------ +# ATmega328PB +#------------------------------------------------------------ + +part parent "m328" + desc = "ATmega328PB"; + id = "m328pb"; + variants = + "ATmega328PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega328PB-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 120; + n_interrupts = 45; + chip_erase_delay = 10500; + signature = 0x1e 0x95 0x16; + + memory "efuse" + initval = 0xf7; + bitmask = 0x0f; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; +; + +#------------------------------------------------------------ +# ATmega64M1 +#------------------------------------------------------------ + +part + desc = "ATmega64M1"; + id = "m64m1"; + variants = + "ATmega64M1-15MD: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 76; + n_interrupts = 31; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x96 0x84; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 2048; + page_size = 8; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--0aaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--0aaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--a000.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--11ii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32M1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega32M1"; + id = "m32m1"; + variants = + "ATmega32M1: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 63; + boot_section_size = 512; + signature = 0x1e 0x95 0x84; + + memory "eeprom" + size = 1024; + page_size = 4; + blocksize = 4; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + blocksize = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16M1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega16M1"; + id = "m16m1"; + variants = + "ATmega16M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 54; + signature = 0x1e 0x94 0x84; + + memory "eeprom" + size = 512; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x4000; + num_pages = 128; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32C1 +#------------------------------------------------------------ + +part parent "m32m1" + desc = "ATmega32C1"; + id = "m32c1"; + variants = + "ATmega32C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESAD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-ESMD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 62; + signature = 0x1e 0x95 0x86; +; + +#------------------------------------------------------------ +# ATmega64C1 +#------------------------------------------------------------ + +part parent "m64m1" + desc = "ATmega64C1"; + id = "m64c1"; + variants = + "ATmega64C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESAZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-ESMZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATmega64C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 75; + signature = 0x1e 0x96 0x86; +; + +#------------------------------------------------------------ +# ATA5505 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA5505"; + id = "ata5505"; + variants = + "ATA5505: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATA5505-P3QW: VFQFN38, Fmax=N/A, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 198; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6612C +#------------------------------------------------------------ + +part parent "m88" + desc = "ATA6612C"; + id = "ata6612c"; + variants = + "ATA6612C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6612C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 216; + chip_erase_delay = 4000; + + memory "eeprom" + min_write_delay = 4000; + max_write_delay = 4000; + ; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6613C +#------------------------------------------------------------ + +part parent "m168" + desc = "ATA6613C"; + id = "ata6613c"; + variants = + "ATA6613C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6613C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 217; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6614Q +#------------------------------------------------------------ + +part parent "m328" + desc = "ATA6614Q"; + id = "ata6614q"; + variants = + "ATA6614Q-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6614Q-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 218; + signature = 0x1e 0x95 0x0f; + + memory "efuse" + read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii"; + ; + + memory "lock" + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6616C +#------------------------------------------------------------ + +part parent "t87" + desc = "ATA6616C"; + id = "ata6616c"; + variants = + "ATA6616C-P3PW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6616C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 219; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "flash" + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA6617C +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA6617C"; + id = "ata6617c"; + variants = + "ATA6617C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA6617C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 220; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATA664251 +#------------------------------------------------------------ + +part parent "t167" + desc = "ATA664251"; + id = "ata664251"; + variants = + "ATA664251: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATA664251-WGQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATA664251-WGQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 225; + chip_erase_delay = 4000; + reset = dedicated; + + memory "eeprom" + max_write_delay = 4000; + ; + + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i"; + ; + + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "calibration" + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVA +#------------------------------------------------------------ + +part + desc = "ATmega16HVA"; + id = "m16hva"; + variants = + "ATmega16HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega16HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega16HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 51; + n_interrupts = 21; + chip_erase_delay = 4000; + signature = 0x1e 0x94 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0000--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.0000--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "fuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega8HVA +#------------------------------------------------------------ + +part parent "m16hva" + desc = "ATmega8HVA"; + id = "m8hva"; + variants = + "ATmega8HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]", + "ATmega8HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]", + "ATmega8HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]"; + mcuid = 47; + signature = 0x1e 0x93 0x10; + + memory "flash" + size = 8192; + num_pages = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVB +#------------------------------------------------------------ + +part + desc = "ATmega16HVB"; + id = "m16hvb"; + variants = + "ATmega16HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega16HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega16HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 52; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 4000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x94 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xdd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xe9; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--111o.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--111i.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16HVBrevB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega16HVBrevB"; + id = "m16hvbrevb"; + variants = + "ATmega16HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 53; +; + +#------------------------------------------------------------ +# ATmega32HVB +#------------------------------------------------------------ + +part parent "m16hvb" + desc = "ATmega32HVB"; + id = "m32hvb"; + variants = + "ATmega32HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]", + "ATmega32HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]", + "ATmega32HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]"; + mcuid = 60; + signature = 0x1e 0x95 0x10; + + memory "eeprom" + size = 1024; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + size = 0x8000; + num_pages = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVBrevB +#------------------------------------------------------------ + +part parent "m32hvb" + desc = "ATmega32HVBrevB"; + id = "m32hvbrevb"; + variants = + "ATmega32HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]"; + mcuid = 61; +; + +#------------------------------------------------------------ +# ATmega64HVE2 +#------------------------------------------------------------ + +part + desc = "ATmega64HVE2"; + id = "m64hve2"; + variants = + "ATmega64HVE2: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 3.6 V]", + "ATmega64HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega64HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 77; + n_interrupts = 25; + n_boot_sections = 4; + boot_section_size = 1024; + chip_erase_delay = 4000; + signature = 0x1e 0x96 0x10; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 70; + hvleavestabdelay = 101; + resetdelay = 26; + chiperasepolltimeout = 40; + chiperasetime = 1; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 1024; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x10000; + page_size = 128; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0xd7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xf9; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--1111.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega32HVE2 +#------------------------------------------------------------ + +part parent "m64hve2" + desc = "ATmega32HVE2"; + id = "m32hve2"; + variants = + "ATmega32HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]", + "ATmega32HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]"; + mcuid = 379; + signature = 0x1e 0x95 0x13; + + memory "flash" + size = 0x8000; + num_pages = 256; + ; ; #------------------------------------------------------------ @@ -8209,555 +10619,607 @@ part parent "m328" #------------------------------------------------------------ part - id = "t2313"; - desc = "ATtiny2313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x91 0x0a; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny2313"; + id = "t2313"; + variants = + "ATtiny2313: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny2313V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10MUR: WQFN20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 42; + n_interrupts = 19; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x91 0x0a; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x1f; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; - - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; # The information in the data sheet of April/2004 is wrong, this works: - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x64; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + # ATtiny2313 has signature bytes 0x1E 0x91 0x0A + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; # The Tiny2313 has calibration data for both 4 MHz and 8 MHz. # The information in the data sheet of April/2004 is wrong, this works: - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313A +#------------------------------------------------------------ + +part parent "t2313" + desc = "ATtiny2313A"; + id = "t2313a"; + variants = + "ATtiny2313A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny2313A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 43; + n_interrupts = 21; + idr = 0x27; + + memory "lfuse" + initval = 0x62; + ; +; #------------------------------------------------------------ # ATtiny4313 #------------------------------------------------------------ part - id = "t4313"; - desc = "ATtiny4313"; - has_debugwire = yes; - flash_instr = 0xB2, 0x0F, 0x1F; - eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x23; -## Use the ATtiny26 devcode: - avr910_devcode = 0x5e; - signature = 0x1e 0x92 0x0d; - pagel = 0xD4; - bs2 = 0xD6; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny4313"; + id = "t4313"; + variants = + "ATtiny4313: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-MUR: MLF20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4313-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 44; + n_interrupts = 21; + stk500_devcode = 0x23; +# Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + chip_erase_delay = 9000; + pagel = 0xd4; + bs2 = 0xd6; + signature = 0x1e 0x92 0x0d; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a, + 0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb2, 0x0f, 0x1f; + eeprom_instr = + 0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 0; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 0; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny4313 has signature bytes 0x1E 0x92 0x0D + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 2; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# AT90PWM1 +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; +part + desc = "AT90PWM1"; + id = "pwm1"; + variants = + "AT90PWM1: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16MUR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM1-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 166; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xe2; + signature = 0x1e 0x93 0x83; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xb7; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--o1oo.1ooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--i1ii.1iii"; + ; - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM2 #------------------------------------------------------------ part - id = "pwm2"; - desc = "AT90PWM2"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x65; -## avr910_devcode = ?; - signature = 0x1e 0x93 0x81; - pagel = 0xD8; - bs2 = 0xE2; - reset = io; - chip_erase_delay = 9000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90PWM2"; + id = "pwm2"; + variants = + "AT90PWM2: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQ: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2-16SQR: SOIC24, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 167; + n_interrupts = 32; + n_boot_sections = 4; + boot_section_size = 256; + stk500_devcode = 0x65; + chip_erase_delay = 9000; + pagel = 0xd8; + bs2 = 0xe2; +# avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + spmcr = 0x57; + eecr = 0x3f; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback = 0xff 0xff; + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "efuse" + size = 1; + initval = 0xf9; + bitmask = 0xf7; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + # AT90PWM2 has signature bytes 0x1E 0x93 0x81 + memory "signature" + size = 3; + read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; -# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90PWM3 @@ -8766,9 +11228,27 @@ part # Completely identical to AT90PWM2 (including the signature!) part parent "pwm2" - id = "pwm3"; - desc = "AT90PWM3"; - ; + desc = "AT90PWM3"; + id = "pwm3"; + variants = + "AT90PWM3: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQ: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3-16MQT: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 169; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; + + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM2B @@ -8776,12 +11256,28 @@ part parent "pwm2" # Same as AT90PWM2 but different signature. part parent "pwm2" - id = "pwm2b"; - desc = "AT90PWM2B"; - signature = 0x1e 0x93 0x83; + desc = "AT90PWM2B"; + id = "pwm2b"; + variants = + "AT90PWM2B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM2B-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 168; + signature = 0x1e 0x93 0x83; + resetdelay = 15; + idr = 0x31; + ocdrev = 1; - ocdrev = 1; - ; + memory "eeprom" + readback = 0x00 0x00; + delay = 5; + ; + + memory "flash" + readback = 0x00 0x00; + delay = 10; + ; +; #------------------------------------------------------------ # AT90PWM3B @@ -8790,11 +11286,182 @@ part parent "pwm2" # Completely identical to AT90PWM2B (including the signature!) part parent "pwm2b" - id = "pwm3b"; - desc = "AT90PWM3B"; + desc = "AT90PWM3B"; + id = "pwm3b"; + variants = + "AT90PWM3B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM3B-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 170; +; - ocdrev = 1; - ; +#------------------------------------------------------------ +# AT90PWM161 +#------------------------------------------------------------ + +part + desc = "AT90PWM161"; + id = "pwm161"; + variants = + "AT90PWM161: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16MNR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM161-16SNR: SOIC20, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 177; + n_interrupts = 20; + n_boot_sections = 4; + boot_section_size = 256; + chip_erase_delay = 9000; + pagel = 0xe2; + bs2 = 0xd6; + signature = 0x1e 0x94 0x8b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec, + 0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc, + 0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c, + 0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii"; + writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0xd9; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfd; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# AT90PWM81 +#------------------------------------------------------------ + +part parent "pwm161" + desc = "AT90PWM81"; + id = "pwm81"; + variants = + "AT90PWM81: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MF: QFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM81EP-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 173; + signature = 0x1e 0x93 0x88; + + memory "flash" + size = 8192; + page_size = 64; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # AT90PWM316 @@ -8803,595 +11470,539 @@ part parent "pwm2b" # Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM. part parent "pwm3b" - id = "pwm316"; - desc = "AT90PWM316"; - signature = 0x1e 0x94 0x83; - - ocdrev = 1; + desc = "AT90PWM316"; + id = "pwm316"; + variants = + "AT90PWM316: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM316-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 180; + boot_section_size = 512; + signature = 0x1e 0x94 0x83; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 0x4000; + page_size = 128; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; +; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; +#------------------------------------------------------------ +# AT90PWM216 +#------------------------------------------------------------ +# Completely identical to AT90PWM316 (including the signature!) - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x21; - delay = 6; - blocksize = 128; - readsize = 256; - ; - ; +part parent "pwm316" + desc = "AT90PWM216"; + id = "pwm216"; + variants = + "AT90PWM216: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "AT90PWM216-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 179; +; #------------------------------------------------------------ # ATtiny25 #------------------------------------------------------------ part - id = "t25"; - desc = "ATtiny25"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x08; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny25"; + id = "t25"; + variants = + "ATtiny25: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny25-15ST: SOIC8, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MFR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSHR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-10MF: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MFR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSHR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny25V-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny25V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 16; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny25 has signature bytes 0x1E 0x91 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny45 #------------------------------------------------------------ part - id = "t45"; - desc = "ATtiny45"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x06; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny45"; + id = "t45"; + variants = + "ATtiny45: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-15SZ: SOIC8, Fmax=N/A, T=[-40 C, 85 C], Vcc=[N/A, N/A]", + "ATtiny45-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45-20XUR: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XU: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-10XUR: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny45V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny45V-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 22; + n_interrupts = 15; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x06; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny45 has signature bytes 0x1E 0x92 0x08 (data sheet 2586C-AVR-06/05 doc2586.pdf indicates otherwise) + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATtiny85 #------------------------------------------------------------ part - id = "t85"; - desc = "ATtiny85"; - has_debugwire = yes; - flash_instr = 0xB4, 0x02, 0x12; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0b; - reset = io; - chip_erase_delay = 900000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + desc = "ATtiny85"; + id = "t85"; + variants = + "ATtiny85: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]", + "ATtiny85-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SF: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85-20SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10MUR: MLF20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny85V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny85V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 26; + n_interrupts = 15; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 900000; + flash_instr = 0xb4, 0x02, 0x12; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + idr = 0x22; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - mode = 0x41; - delay = 12; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 30000; - max_write_delay = 30000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + # ATtiny85 has signature bytes 0x1E 0x93 0x08 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega640 @@ -9399,380 +12010,282 @@ part # Almost same as ATmega1280, except for different memory sizes part - id = "m640"; - desc = "ATmega640"; - signature = 0x1e 0x96 0x08; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega640"; + id = "m640"; + variants = + "ATmega640: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega640-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega640V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega640V-8CUR: TFBGA100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 126; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x08; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1280 #------------------------------------------------------------ part - id = "m1280"; - desc = "ATmega1280"; - signature = 0x1e 0x97 0x03; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega1280"; + id = "m1280"; + variants = + "ATmega1280: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1280-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1280V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega1280V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 138; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x03; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega1281 @@ -9780,219 +12293,185 @@ part # Identical to ATmega1280 part parent "m1280" - id = "m1281"; - desc = "ATmega1281"; - signature = 0x1e 0x97 0x04; - - ocdrev = 3; - ; + desc = "ATmega1281"; + id = "m1281"; + variants = + "ATmega1281: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega1281-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281-16MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega1281V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8AUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1281V-8MUR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 139; + signature = 0x1e 0x97 0x04; +; #------------------------------------------------------------ # ATmega2560 #------------------------------------------------------------ part - id = "m2560"; - desc = "ATmega2560"; - signature = 0x1e 0x98 0x01; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega2560"; + id = "m2560"; + variants = + "ATmega2560: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2560-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2560V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8AUR: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2560V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 143; + n_interrupts = 57; + n_boot_sections = 4; + boot_section_size = 1024; + stk500_devcode = 0xb2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x98 0x01; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 4; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + eind = 0x5c; + ocdrev = 4; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 262144; - page_size = 256; - num_pages = 1024; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - load_ext_addr = " 0 1 0 0 1 1 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 a16", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x40000; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega2561 #------------------------------------------------------------ part parent "m2560" - id = "m2561"; - desc = "ATmega2561"; - signature = 0x1e 0x98 0x02; - - ocdrev = 4; - ; + desc = "ATmega2561"; + id = "m2561"; + variants = + "ATmega2561: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega2561-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]", + "ATmega2561-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]", + "ATmega2561V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega2561V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 144; + signature = 0x1e 0x98 0x02; +; #------------------------------------------------------------ # ATmega128RFA1 @@ -10000,895 +12479,1126 @@ part parent "m2560" # Identical to ATmega2561 but half the ROM part parent "m2561" - id = "m128rfa1"; - desc = "ATmega128RFA1"; - signature = 0x1e 0xa7 0x01; - chip_erase_delay = 55000; - bs2 = 0xE2; + desc = "ATmega128RFA1"; + id = "m128rfa1"; + variants = + "ATmega128RFA1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZF: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZFR: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZU00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR-SL514: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFA1-ZUR00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 87; + n_interrupts = 72; + chip_erase_delay = 18500; + bs2 = 0xe2; + signature = 0x1e 0xa7 0x01; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + latchcycles = 5; + ocdrev = 3; - ocdrev = 3; + memory "eeprom" + min_write_delay = 13000; + max_write_delay = 13000; + delay = 50; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + size = 0x20000; + num_pages = 512; + delay = 50; + load_ext_addr = NULL; + ; - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "hfuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "efuse" + min_write_delay = 4500; + max_write_delay = 4500; + ; - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; - ; + memory "lock" + min_write_delay = 4500; + max_write_delay = 4500; + ; +; #------------------------------------------------------------ # ATmega256RFR2 #------------------------------------------------------------ -part parent "m2561" - id = "m256rfr2"; - desc = "ATmega256RFR2"; - signature = 0x1e 0xa8 0x02; - chip_erase_delay = 55000; - bs2 = 0xE2; +part parent "m128rfa1" + desc = "ATmega256RFR2"; + id = "m256rfr2"; + variants = + "ATmega256RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega256RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 108; + n_interrupts = 77; + signature = 0x1e 0xa8 0x02; + chiperasepolltimeout = 20; + ocdrev = 4; + memory "eeprom" + size = 8192; + read = "1010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xa.aaaa--aaaa.a000--xxxx.xxxx"; + ; - ocdrev = 4; - ; + memory "flash" + size = 0x40000; + num_pages = 1024; + load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000"; + ; + + memory "efuse" + initval = 0xfe; + ; + + ##### + # Three separate flash pages + # - Offset 0x100 in signature row + # - Only programmable with JTAG or HVPP + # - Readable from an application + # - Cannot be read using ISP + # - Not erased by chip erase + # + memory "usersig" + paged = yes; + size = 768; + page_size = 256; + num_pages = 3; + offset = 0x100; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 50; + blocksize = 256; + readsize = 256; + ; +; #------------------------------------------------------------ # ATmega128RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m128rfr2"; - desc = "ATmega128RFR2"; - signature = 0x1e 0xa7 0x02; +part parent "m256rfr2" + desc = "ATmega128RFR2"; + id = "m128rfr2"; + variants = + "ATmega128RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega128RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 88; + signature = 0x1e 0xa7 0x02; + ocdrev = 3; + memory "eeprom" + size = 4096; + ; - ocdrev = 3; - ; + memory "flash" + size = 0x20000; + num_pages = 512; + load_ext_addr = NULL; + ; +; #------------------------------------------------------------ # ATmega64RFR2 #------------------------------------------------------------ -part parent "m128rfa1" - id = "m64rfr2"; - desc = "ATmega64RFR2"; - signature = 0x1e 0xa6 0x02; +part parent "m128rfr2" + desc = "ATmega64RFR2"; + id = "m64rfr2"; + variants = + "ATmega64RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega64RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 78; + signature = 0x1e 0xa6 0x02; - - ocdrev = 3; + memory "eeprom" + size = 2048; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 50000; - max_write_delay = 50000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 256; - readsize = 256; - ; - ; + size = 0x10000; + num_pages = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; +; #------------------------------------------------------------ # ATmega2564RFR2 #------------------------------------------------------------ part parent "m256rfr2" - id = "m2564rfr2"; - desc = "ATmega2564RFR2"; - signature = 0x1e 0xa8 0x03; - ; + desc = "ATmega2564RFR2"; + id = "m2564rfr2"; + variants = + "ATmega2564RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega2564RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 145; + signature = 0x1e 0xa8 0x03; +; #------------------------------------------------------------ # ATmega1284RFR2 #------------------------------------------------------------ part parent "m128rfr2" - id = "m1284rfr2"; - desc = "ATmega1284RFR2"; - signature = 0x1e 0xa7 0x03; - ; + desc = "ATmega1284RFR2"; + id = "m1284rfr2"; + variants = + "ATmega1284RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega1284RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 142; + signature = 0x1e 0xa7 0x03; +; #------------------------------------------------------------ # ATmega644RFR2 #------------------------------------------------------------ part parent "m64rfr2" - id = "m644rfr2"; - desc = "ATmega644RFR2"; - signature = 0x1e 0xa6 0x03; - ; + desc = "ATmega644RFR2"; + id = "m644rfr2"; + variants = + "ATmega644RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]", + "ATmega644RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]"; + mcuid = 131; + signature = 0x1e 0xa6 0x03; +; #------------------------------------------------------------ # ATtiny24 #------------------------------------------------------------ part - id = "t24"; - desc = "ATtiny24"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x91 0x0b; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny24"; + id = "t24"; + variants = + "ATtiny24: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny24V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 14; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x91 0x0b; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 128; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 2048; - page_size = 32; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny24 has signature bytes 0x1E 0x91 0x0B + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x x a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny24A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t24" + desc = "ATtiny24A"; + id = "t24a"; + variants = + "ATtiny24A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MM8R: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny24A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 15; +; #------------------------------------------------------------ # ATtiny44 #------------------------------------------------------------ part - id = "t44"; - desc = "ATtiny44"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x07; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny44"; + id = "t44"; + variants = + "ATtiny44: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny44-20SSUR: SOIC14N, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny44V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 20; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x92 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 256; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny44 has signature bytes 0x1E 0x92 0x07 + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny44A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; +part parent "t44" + desc = "ATtiny44A"; + id = "t44a"; + variants = + "ATtiny44A: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny44A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = XVII + IV; # 21; +; #------------------------------------------------------------ # ATtiny84 #------------------------------------------------------------ part - id = "t84"; - desc = "ATtiny84"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; -## no STK500 devcode in XML file, use the ATtiny45 one - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x93 0x0c; - reset = io; - chip_erase_delay = 4500; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - hvsp_controlstack = - 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, - 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, - 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, - 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; - hventerstabdelay = 100; - hvspcmdexedelay = 0; - synchcycles = 6; - latchcycles = 1; - togglevtg = 1; - poweroffdelay = 25; - resetdelayms = 0; - resetdelayus = 70; - hvleavestabdelay = 100; - resetdelay = 25; - chiperasepolltimeout = 40; - chiperasetime = 0; + desc = "ATtiny84"; + id = "t84"; + variants = + "ATtiny84: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84-15MZ: MLF20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny84V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSU: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84V-10SSUR: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE; + mcuid = 24; + n_interrupts = 17; +# no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 4500; + signature = 0x1e 0x93 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + hvsp_controlstack = + 0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78, + 0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 50; + resetdelayus = 3; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; programfusepolltimeout = 25; programlockpolltimeout = 25; + synchcycles = 6; + hvspcmdexedelay = 50; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; - ocdrev = 1; + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; - memory "eeprom" - size = 512; - paged = no; - page_size = 4; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx"; + ; - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", - "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; + memory "hfuse" + size = 1; + initval = 0xdf; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " x a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - mode = 0x41; - delay = 6; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii"; + ; - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; + # ATtiny84 has signature bytes 0x1E 0x93 0x0C + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; +#------------------------------------------------------------ +# ATtiny84A +#------------------------------------------------------------ - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; +part parent "t84" + desc = "ATtiny84A"; + id = "t84a"; + variants = + "ATtiny84A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MF: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MFR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny84A-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 25; +; - mode = 0x41; - delay = 6; - blocksize = 32; - readsize = 256; - ; -# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; +#------------------------------------------------------------ +# ATtiny441 +#------------------------------------------------------------ - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x x x x x x x i i"; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; +part parent "t44" + desc = "ATtiny441"; + id = "t441"; + variants = + "ATtiny441-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny441-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 32; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x92 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "flash" + page_size = 16; + num_pages = 256; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaaa.axxx--xxxx.xxxx"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lfuse" + bitmask = 0xdf; + ; - memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; +; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; +#------------------------------------------------------------ +# ATtiny841 +#------------------------------------------------------------ - memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; +part parent "t84" + desc = "ATtiny841"; + id = "t841"; + variants = + "ATtiny841-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]", + "ATtiny841-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]"; + mcuid = 37; + n_interrupts = 30; + n_page_erase = 4; + signature = 0x1e 0x93 0x15; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvspcmdexedelay = 0; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "flash" + page_size = 16; + num_pages = 512; + blocksize = 16; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii"; + writepage = "0100.1100--0000.aaaa--aaaa.axxx--xxxx.xxxx"; + ; - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; - ; - ; + memory "lfuse" + bitmask = 0xdf; + ; + + memory "efuse" + bitmask = 0xff; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; +; #------------------------------------------------------------ # ATtiny43U #------------------------------------------------------------ part - id = "t43u"; - desc = "ATtiny43u"; - has_debugwire = yes; - flash_instr = 0xB4, 0x07, 0x17; - eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, - 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, - 0x99, 0xE1, 0xBB, 0xAC; - stk500_devcode = 0x14; -## avr910_devcode = ?; -## Try the AT90S2313 devcode: - avr910_devcode = 0x20; - signature = 0x1e 0x92 0x0C; - reset = io; - chip_erase_delay = 1000; - - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E, - 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56, - 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - hvspcmdexedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 20; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny43U"; + id = "t43u"; + variants = + "ATtiny43U: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[0.7 V, 5.5 V]", + "ATtiny43U-MU: QFN20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-MUR: WQFN20, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny43U-SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 19; + n_interrupts = 16; + stk500_devcode = 0x14; +# avr910_devcode = ?; +# Try the AT90S2313 devcode: + avr910_devcode = 0x20; + chip_erase_delay = 1000; + pagel = 0xa3; + bs2 = 0xa2; + signature = 0x1e 0x92 0x0c; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e, + 0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e, + 0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a, + 0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb4, 0x07, 0x17; + eeprom_instr = + 0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d, + 0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc, + 0x99, 0xe1, 0xbb, 0xac; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x27; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + memory "eeprom" - size = 64; - paged = yes; - page_size = 4; - num_pages = 16; - min_write_delay = 4000; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a4 a3 a2 a1 a0 o o o o o o o o"; - - write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", - "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x x", - " 0 0 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; - memory "flash" - paged = yes; - size = 4096; - page_size = 64; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x x a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 64; - readsize = 256; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; + paged = yes; + size = 64; + page_size = 4; + num_pages = 16; + min_write_delay = 4000; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxx--00aa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxx--00aa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxx--00aa.aa00--xxxx.xxxx"; ; - memory "lock" - size = 1; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 4500; - max_write_delay = 4500; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii"; + writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx"; ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + size = 1; + initval = 0xff; + bitmask = 0x01; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 4500; - max_write_delay = 4500; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; ; memory "calibration" - size = 2; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 a0 o o o o o o o o"; + size = 1; + read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega16u4 +#------------------------------------------------------------ + +part + desc = "ATmega16U4"; + id = "m16u4"; + variants = + "ATmega16U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 57; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x88; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--00oo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + + memory "signature" + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; ; @@ -10897,380 +13607,280 @@ part #------------------------------------------------------------ part - id = "m32u4"; - desc = "ATmega32U4"; - signature = 0x1e 0x95 0x87; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U4"; + id = "m32u4"; + variants = + "ATmega32U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-AUR: QFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U4RC-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 65; + n_interrupts = 43; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x87; + usbpid = 0x2ff4; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x52; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xfb; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB646 #------------------------------------------------------------ part - id = "usb646"; - desc = "AT90USB646"; - signature = 0x1e 0x96 0x82; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB646"; + id = "usb646"; + variants = + "AT90USB646: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB646-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 181; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x82; + usbpid = 0x2ff9; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x x a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x9b; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB647 @@ -11278,202 +13888,156 @@ part # identical to AT90USB646 part parent "usb646" - id = "usb647"; - desc = "AT90USB647"; - signature = 0x1e 0x96 0x82; - - ocdrev = 3; - ; + desc = "AT90USB647"; + id = "usb647"; + variants = + "AT90USB647: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB647-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 182; +; #------------------------------------------------------------ # AT90USB1286 #------------------------------------------------------------ part - id = "usb1286"; - desc = "AT90USB1286"; - signature = 0x1e 0x97 0x82; - has_jtag = yes; -# stk500_devcode = 0xB2; -# avr910_devcode = 0x43; - chip_erase_delay = 9000; - pagel = 0xD7; - bs2 = 0xA0; - reset = dedicated; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB1286"; + id = "usb1286"; + variants = + "AT90USB1286: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1286-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 184; + n_interrupts = 38; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x97 0x82; + usbpid = 0x2ffb; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - rampz = 0x3b; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + rampz = 0x3b; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 4096; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " x x x x a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 4096; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 131072; - page_size = 256; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 x x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 256; - readsize = 256; - ; + paged = yes; + size = 0x20000; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf3; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 x x x x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 x x x x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB1287 @@ -11481,1399 +14045,1522 @@ part # identical to AT90USB1286 part parent "usb1286" - id = "usb1287"; - desc = "AT90USB1287"; - signature = 0x1e 0x97 0x82; - - ocdrev = 3; - ; + desc = "AT90USB1287"; + id = "usb1287"; + variants = + "AT90USB1287: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB1287-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 185; +; #------------------------------------------------------------ # AT90USB162 #------------------------------------------------------------ part - id = "usb162"; - desc = "AT90USB162"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x82; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB162"; + id = "usb162"; + variants = + "AT90USB162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB162-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 178; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x82; + usbpid = 0x2ffa; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # AT90USB82 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 8192; -# num_pages = 64; part - id = "usb82"; - desc = "AT90USB82"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x82; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "AT90USB82"; + id = "usb82"; + variants = + "AT90USB82: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "AT90USB82-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 174; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x82; + usbpid = 0x2ff7; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 128; - num_pages = 64; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega32U2 #------------------------------------------------------------ -# Changes against AT90USB162 (beside IDs) -# memory "flash" -# size = 32768; -# num_pages = 256; -# memory "eeprom" -# size = 1024; -# num_pages = 256; + part - id = "m32u2"; - desc = "ATmega32U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x95 0x8a; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega32U2"; + id = "m32u2"; + variants = + "ATmega32U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega32U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 64; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x95 0x8a; + usbpid = 0x2ff0; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - num_pages = 256; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + num_pages = 256; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + #------------------------------------------------------------ # ATmega16U2 #------------------------------------------------------------ -# Changes against ATmega32U2 (beside IDs) -# memory "flash" -# size = 16384; -# num_pages = 128; -# memory "eeprom" -# size = 512; -# num_pages = 128; + part - id = "m16u2"; - desc = "ATmega16U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x94 0x89; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega16U2"; + id = "m16u2"; + variants = + "ATmega16U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega16U2-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 56; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x94 0x89; + usbpid = 0x2fef; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 128; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - ; + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; #------------------------------------------------------------ # ATmega8U2 #------------------------------------------------------------ -# Changes against ATmega16U2 (beside IDs) -# memory "flash" -# size = 8192; -# page_size = 64; -# blocksize = 64; part - id = "m8u2"; - desc = "ATmega8U2"; - has_jtag = no; - has_debugwire = yes; - signature = 0x1e 0x93 0x89; - chip_erase_delay = 9000; - reset = io; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - pagel = 0xD7; - bs2 = 0xC6; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega8U2"; + id = "m8u2"; + variants = + "ATmega8U2-AU: LQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega8U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 48; + n_interrupts = 29; + n_boot_sections = 4; + boot_section_size = 512; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xc6; + signature = 0x1e 0x93 0x89; + usbpid = 0x2fee; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - ocdrev = 1; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 512; - num_pages = 128; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0x00; - readback_p2 = 0x00; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 20; - blocksize = 4; - readsize = 256; - ; + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 8192; - page_size = 64; - num_pages = 128; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0x00; - readback_p2 = 0x00; - read_lo = " 0 0 1 0 0 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " x x x x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - "a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 64; - readsize = 256; - ; + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x5e; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xd9; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x i i i i i i i i"; - - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0xf4; + bitmask = 0x0f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii"; + ; memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "signature" + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165P +#------------------------------------------------------------ + +part + desc = "ATmega165P"; + id = "m165p"; + variants = + "ATmega165P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165P-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16ANR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MN: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165P-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega165PV-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8ANR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 97; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 256; +# stk500_devcode = 0x??; +# avr910_devcode = 0x??; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x94 0x07; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; + + memory "eeprom" + size = 512; + page_size = 4; + num_pages = 128; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00xa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00xa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00xa--aaaa.aa00--xxxx.xxxx"; + ; + + memory "flash" + paged = yes; + size = 0x4000; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.xxxx--xxaa.aaaa--iiii.iiii"; + writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx"; + ; + + memory "lfuse" + size = 1; + initval = 0x62; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; + + memory "hfuse" + size = 1; + initval = 0x99; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; + + memory "efuse" + size = 1; + initval = 0xff; + bitmask = 0x0f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; + ; + + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; + ; + memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; - ; + size = 3; + read = "0011.0000--0000.0000--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATmega165A +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165A"; + id = "m165a"; + variants = + "ATmega165A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165A-MUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 96; + signature = 0x1e 0x94 0x10; +; + +#------------------------------------------------------------ +# ATmega165 +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165"; + id = "m165"; + variants = + "ATmega165: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATmega165-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega165V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 95; + + memory "eeprom" + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATmega165PA +#------------------------------------------------------------ + +part parent "m165p" + desc = "ATmega165PA"; + id = "m165pa"; + variants = + "ATmega165PA: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega165PA-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 98; +; + #------------------------------------------------------------ # ATmega325 #------------------------------------------------------------ part - id = "m325"; - desc = "ATmega325"; - signature = 0x1e 0x95 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega325"; + id = "m325"; + variants = + "ATmega325: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325-16MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 114; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 512; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 4; /* for parallel programming */ - size = 1024; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 0 a9 a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 4; - readsize = 256; - ; + size = 1024; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 32768; - page_size = 128; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x8000; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--0aaa.aaaa--aaaa.aaaa--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega325A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325A"; + id = "m325a"; + variants = + "ATmega325A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MNR: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325A-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 115; +; + +#------------------------------------------------------------ +# ATmega325P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325P"; + id = "m325p"; + variants = + "ATmega325P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega325PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PV-10MUR: VQFN64, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 116; + signature = 0x1e 0x95 0x0d; +; + +#------------------------------------------------------------ +# ATmega325PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega325PA"; + id = "m325pa"; + variants = + "ATmega325PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MU: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega325PA-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 117; + signature = 0x1e 0x95 0x0d; +; #------------------------------------------------------------ # ATmega645 #------------------------------------------------------------ part - id = "m645"; - desc = "ATmega645"; - signature = 0x1E 0x96 0x05; - has_jtag = yes; -# stk500_devcode = 0x??; # No STK500v1 support? -# avr910_devcode = 0x??; # Try the ATmega16 one - avr910_devcode = 0x74; - pagel = 0xd7; - bs2 = 0xa0; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, - 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, - 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, - 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 5; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATmega645"; + id = "m645"; + variants = + "ATmega645: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega645-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega645V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG; + mcuid = 132; + n_interrupts = 22; + n_boot_sections = 4; + boot_section_size = 1024; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + signature = 0x1e 0x96 0x05; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; - - idr = 0x31; - spmcr = 0x57; - allowfullpagebitstream = no; - - ocdrev = 3; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; + chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000"; + pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000"; memory "eeprom" - paged = no; /* leave this "no" */ - page_size = 8; /* for parallel programming */ - size = 2048; - min_write_delay = 9000; - max_write_delay = 9000; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 0 0 0 a10 a9 a8", - " a7 a6 a5 a4 a3 0 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 10; - blocksize = 8; - readsize = 256; - ; + size = 2048; + page_size = 8; + min_write_delay = 9000; + max_write_delay = 9000; + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii"; + writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 65536; - page_size = 256; - num_pages = 256; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 0 0 0 0 0", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " a15 a14 a13 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " 0 0 0 0 0 0 0 0"; - - mode = 0x41; - delay = 10; - blocksize = 128; - readsize = 256; - ; - - memory "lock" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 1 1 i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + paged = yes; + size = 0x10000; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii"; + writepage = "0100.1100--aaaa.aaaa--aaaa.aaaa--0000.0000"; + ; memory "lfuse" - size = 1; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x62; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.0000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0000--0000.0000--iiii.iiii"; + ; memory "hfuse" - size = 1; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "0 0 0 0 0 0 0 0 i i i i i i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + size = 1; + initval = 0x99; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.1000--0000.0000--iiii.iiii"; + ; memory "efuse" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x07; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.0000--0000.1000--0000.0000--oooo.oooo"; + write = "1010.1100--1010.0100--0000.0000--1111.1iii"; + ; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; - min_write_delay = 9000; - max_write_delay = 9000; - ; + memory "lock" + size = 1; + initval = 0xff; + bitmask = 0x3f; + min_write_delay = 9000; + max_write_delay = 9000; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1110.0000--0000.0000--11ii.iiii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--0000.0000--0000.00aa--oooo.oooo"; + ; memory "calibration" - size = 1; + size = 1; + read = "0011.1000--0000.0000--0000.0000--oooo.oooo"; + ; +; - read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; - ; +#------------------------------------------------------------ +# ATmega645A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645A"; + id = "m645a"; + variants = + "ATmega645A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 133; +; + +#------------------------------------------------------------ +# ATmega645P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega645P"; + id = "m645p"; + variants = + "ATmega645P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega645P-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 134; + signature = 0x1e 0x96 0x0d; +; #------------------------------------------------------------ # ATmega3250 #------------------------------------------------------------ part parent "m325" - id = "m3250"; - desc = "ATmega3250"; - signature = 0x1E 0x95 0x06; + desc = "ATmega3250"; + id = "m3250"; + variants = + "ATmega3250: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 146; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega3250A +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250A"; + id = "m3250a"; + variants = + "ATmega3250A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 147; + n_interrupts = 25; + signature = 0x1e 0x95 0x06; +; + +#------------------------------------------------------------ +# ATmega3250P +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250P"; + id = "m3250p"; + variants = + "ATmega3250P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega3250P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega3250PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 148; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; + +#------------------------------------------------------------ +# ATmega3250PA +#------------------------------------------------------------ + +part parent "m325" + desc = "ATmega3250PA"; + id = "m3250pa"; + variants = + "ATmega3250PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3250PA-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 149; + n_interrupts = 25; + signature = 0x1e 0x95 0x0e; +; #------------------------------------------------------------ # ATmega6450 #------------------------------------------------------------ part parent "m645" - id = "m6450"; - desc = "ATmega6450"; - signature = 0x1E 0x96 0x06; + desc = "ATmega6450"; + id = "m6450"; + variants = + "ATmega6450: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]", + "ATmega6450-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]", + "ATmega6450V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 154; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; - ocdrev = 3; - ; +#------------------------------------------------------------ +# ATmega6450A +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450A"; + id = "m6450a"; + variants = + "ATmega6450A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 155; + n_interrupts = 25; + signature = 0x1e 0x96 0x06; +; + +#------------------------------------------------------------ +# ATmega6450P +#------------------------------------------------------------ + +part parent "m645" + desc = "ATmega6450P"; + id = "m6450p"; + variants = + "ATmega6450P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega6450P-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 156; + n_interrupts = 25; + signature = 0x1e 0x96 0x0e; +; #------------------------------------------------------------ # AVR XMEGA family common values #------------------------------------------------------------ part - id = ".xmega"; - desc = "AVR XMEGA family common values"; - has_pdi = yes; - nvm_base = 0x01c0; - mcu_base = 0x0090; - - memory "signature" - size = 3; - offset = 0x1000090; - ; - - memory "prodsig" - size = 0x32; - offset = 0x8e0200; - page_size = 0x32; - readsize = 0x32; - ; + desc = "AVR XMEGA family common values"; + id = ".xmega"; + prog_modes = PM_SPM | PM_PDI; + n_boot_sections = 1; + mcu_base = 0x0090; + nvm_base = 0x01c0; + autobaud_sync = 0x20; memory "fuse1" - size = 1; - offset = 0x8f0021; + size = 1; + initval = 0x00; + offset = 0x8f0021; ; memory "fuse2" - size = 1; - offset = 0x8f0022; + size = 1; + initval = 0xff; + bitmask = 0x63; + offset = 0x8f0022; ; memory "fuse4" - size = 1; - offset = 0x8f0024; + size = 1; + initval = 0xff; + bitmask = 0x1e; + offset = 0x8f0024; ; memory "fuse5" - size = 1; - offset = 0x8f0025; + size = 1; + initval = 0xff; + bitmask = 0x3f; + offset = 0x8f0025; ; memory "lock" - size = 1; - offset = 0x8f0027; + size = 1; + initval = 0xff; + offset = 0x8f0027; + ; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "prodsig" + size = 50; + page_size = 50; + offset = 0x8e0200; + readsize = 50; ; memory "data" # SRAM, only used to supply the offset - offset = 0x1000000; + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-E family common values +#------------------------------------------------------------ + +# Fuse for fault detection action on Px0..5 (unique to XMEGA-E) + +part parent ".xmega" + desc = "AVR XMEGA-E family common values"; + id = ".xmega-e"; + + memory "fuse6" + size = 1; + initval = 0xff; + offset = 0x8f0026; + ; +; + +#------------------------------------------------------------ +# AVR XMEGA-A family common values +#------------------------------------------------------------ + +# JTAG user ID (unique to XMEGA-A and XMEGA-B) + +part parent ".xmega" + desc = "AVR XMEGA-A family common values"; + id = ".xmega-a"; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; ; ; @@ -12881,51 +15568,69 @@ part # ATxmega16A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x16a4u"; - desc = "ATxmega16A4U"; - signature = 0x1e 0x94 0x41; +part parent ".xmega-a" + desc = "ATxmega16A4U"; + id = "x16a4u"; + variants = + "ATxmega16A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 232; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x94 0x41; + usbpid = 0x2fe3; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x803000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x804000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x5000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -12934,9 +15639,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x16a4u" - id = "x16c4"; - desc = "ATxmega16C4"; - signature = 0x1e 0x95 0x44; + desc = "ATxmega16C4"; + id = "x16c4"; + variants = + "ATxmega16C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 233; + signature = 0x1e 0x94 0x43; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -12944,9 +15666,28 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16d4"; - desc = "ATxmega16D4"; - signature = 0x1e 0x94 0x42; + desc = "ATxmega16D4"; + id = "x16d4"; + variants = + "ATxmega16D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-AUR: TQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 234; + n_interrupts = 91; + signature = 0x1e 0x94 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -12954,14 +15695,22 @@ part parent "x16a4u" #------------------------------------------------------------ part parent "x16a4u" - id = "x16a4"; - desc = "ATxmega16A4"; - signature = 0x1e 0x94 0x41; - has_jtag = yes; + desc = "ATxmega16A4"; + id = "x16a4"; + variants = + "ATxmega16A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 231; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -12969,51 +15718,69 @@ part parent "x16a4u" # ATxmega32A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x32a4u"; - desc = "ATxmega32A4U"; - signature = 0x1e 0x95 0x41; +part parent ".xmega-a" + desc = "ATxmega32A4U"; + id = "x32a4u"; + variants = + "ATxmega32A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-ANR: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 239; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x95 0x41; + usbpid = 0x2fe4; memory "eeprom" - size = 0x400; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x807000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x808000; - page_size = 0x100; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x9000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13022,9 +15789,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x32a4u" - id = "x32c4"; - desc = "ATxmega32C4"; - signature = 0x1e 0x94 0x43; + desc = "ATxmega32C4"; + id = "x32c4"; + variants = + "ATxmega32C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 240; + signature = 0x1e 0x95 0x44; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13032,9 +15816,29 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32d4"; - desc = "ATxmega32D4"; - signature = 0x1e 0x95 0x42; + desc = "ATxmega32D4"; + id = "x32d4"; + variants = + "ATxmega32D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 241; + n_interrupts = 91; + signature = 0x1e 0x95 0x42; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13042,14 +15846,22 @@ part parent "x32a4u" #------------------------------------------------------------ part parent "x32a4u" - id = "x32a4"; - desc = "ATxmega32A4"; - signature = 0x1e 0x95 0x41; - has_jtag = yes; + desc = "ATxmega32A4"; + id = "x32a4"; + variants = + "ATxmega32A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 238; + n_interrupts = 94; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13057,51 +15869,121 @@ part parent "x32a4u" # ATxmega64A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x64a4u"; - desc = "ATxmega64A4U"; - signature = 0x1e 0x96 0x46; +part parent ".xmega-a" + desc = "ATxmega64A4U"; + id = "x64a4u"; + variants = + "ATxmega64A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A4U-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 252; + n_interrupts = 127; + boot_section_size = 4096; + signature = 0x1e 0x96 0x46; + usbpid = 0x2fe5; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x10000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x80f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x810000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x11000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x11000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x10000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x80f000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 256; + offset = 0x810000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; + ; +; + +#------------------------------------------------------------ +# ATxmega32C3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32C3"; + id = "x32c3"; + variants = + "ATxmega32C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 236; + signature = 0x1e 0x95 0x49; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; +; + +#------------------------------------------------------------ +# ATxmega32D3 +#------------------------------------------------------------ + +part parent "x32a4u" + desc = "ATxmega32D3"; + id = "x32d3"; + variants = + "ATxmega32D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 237; + n_interrupts = 114; + signature = 0x1e 0x95 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; ; ; @@ -13110,9 +15992,26 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x64a4u" - id = "x64c3"; - desc = "ATxmega64C3"; - signature = 0x1e 0x96 0x49; + desc = "ATxmega64C3"; + id = "x64c3"; + variants = + "ATxmega64C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64C3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 249; + signature = 0x1e 0x96 0x49; + usbpid = 0x2fd6; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13120,9 +16019,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d3"; - desc = "ATxmega64D3"; - signature = 0x1e 0x96 0x4a; + desc = "ATxmega64D3"; + id = "x64d3"; + variants = + "ATxmega64D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 250; + n_interrupts = 114; + signature = 0x1e 0x96 0x4a; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13130,9 +16047,27 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64d4"; - desc = "ATxmega64D4"; - signature = 0x1e 0x96 0x47; + desc = "ATxmega64D4"; + id = "x64d4"; + variants = + "ATxmega64D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AU: QFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 253; + n_interrupts = 91; + signature = 0x1e 0x96 0x47; + + memory "fuse0" = NULL; + + memory "fuse4" + initval = 0xff; + bitmask = 0x1e; + ; ; #------------------------------------------------------------ @@ -13140,14 +16075,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a4u" - id = "x64a1"; - desc = "ATxmega64A1"; - signature = 0x1e 0x96 0x4e; - has_jtag = yes; + desc = "ATxmega64A1"; + id = "x64a1"; + variants = + "ATxmega64A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 243; + n_interrupts = 125; + signature = 0x1e 0x96 0x4e; - memory "fuse0" - size = 1; - offset = 0x8f0020; + memory "fuse2" + bitmask = 0x43; ; ; @@ -13156,9 +16100,23 @@ part parent "x64a4u" #------------------------------------------------------------ part parent "x64a1" - id = "x64a1u"; - desc = "ATxmega64A1U"; - signature = 0x1e 0x96 0x4e; + desc = "ATxmega64A1U"; + id = "x64a1u"; + variants = + "ATxmega64A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega64A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A1U-CUR: TFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 244; + n_interrupts = 127; + usbpid = 0x2fe8; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13166,9 +16124,18 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3"; - desc = "ATxmega64A3"; - signature = 0x1e 0x96 0x42; + desc = "ATxmega64A3"; + id = "x64a3"; + variants = + "ATxmega64A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 246; + n_interrupts = 122; + signature = 0x1e 0x96 0x42; ; #------------------------------------------------------------ @@ -13176,9 +16143,22 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a3u"; - desc = "ATxmega64A3U"; - signature = 0x1e 0x96 0x42; + desc = "ATxmega64A3U"; + id = "x64a3u"; + variants = + "ATxmega64A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 247; + n_interrupts = 127; + signature = 0x1e 0x96 0x42; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13186,9 +16166,39 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64a4"; - desc = "ATxmega64A4"; - signature = 0x1e 0x96 0x46; + desc = "ATxmega64A4"; + id = "x64a4"; + variants = + "ATxmega64A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 251; + signature = 0x1e 0x96 0x46; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; ; #------------------------------------------------------------ @@ -13196,9 +16206,25 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b1"; - desc = "ATxmega64B1"; - signature = 0x1e 0x96 0x52; + desc = "ATxmega64B1"; + id = "x64b1"; + variants = + "ATxmega64B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B1-CUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 245; + n_interrupts = 81; + signature = 0x1e 0x96 0x52; + usbpid = 0x2fe1; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13206,9 +16232,24 @@ part parent "x64a1" #------------------------------------------------------------ part parent "x64a1" - id = "x64b3"; - desc = "ATxmega64B3"; - signature = 0x1e 0x96 0x51; + desc = "ATxmega64B3"; + id = "x64b3"; + variants = + "ATxmega64B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega64B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 248; + n_interrupts = 54; + signature = 0x1e 0x96 0x51; + usbpid = 0x2fdf; + + memory "fuse2" + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13216,50 +16257,61 @@ part parent "x64a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128c3"; - desc = "ATxmega128C3"; - signature = 0x1e 0x97 0x52; + desc = "ATxmega128C3"; + id = "x128c3"; + variants = + "ATxmega128C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 261; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x52; + usbpid = 0x2fd7; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13268,9 +16320,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128c3" - id = "x128d3"; - desc = "ATxmega128D3"; - signature = 0x1e 0x97 0x48; + desc = "ATxmega128D3"; + id = "x128d3"; + variants = + "ATxmega128D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 262; + n_interrupts = 114; + signature = 0x1e 0x97 0x48; ; #------------------------------------------------------------ @@ -13278,9 +16340,24 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128d4"; - desc = "ATxmega128D4"; - signature = 0x1e 0x97 0x47; + desc = "ATxmega128D4"; + id = "x128d4"; + variants = + "ATxmega128D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 265; + n_interrupts = 91; + signature = 0x1e 0x97 0x47; + + memory "flash" + page_size = 256; + ; ; #------------------------------------------------------------ @@ -13288,14 +16365,34 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128c3" - id = "x128a1"; - desc = "ATxmega128A1"; - signature = 0x1e 0x97 0x4c; - has_jtag = yes; + desc = "ATxmega128A1"; + id = "x128a1"; + variants = + "ATxmega128A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 254; + n_interrupts = 125; + signature = 0x1e 0x97 0x4c; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; ; ; @@ -13304,9 +16401,10 @@ part parent "x128c3" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1d"; - desc = "ATxmega128A1revD"; - signature = 0x1e 0x97 0x41; + desc = "ATxmega128A1revD"; + id = "x128a1d"; + mcuid = 255; + signature = 0x1e 0x97 0x41; ; #------------------------------------------------------------ @@ -13314,9 +16412,24 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a1u"; - desc = "ATxmega128A1U"; - signature = 0x1e 0x97 0x4c; + desc = "ATxmega128A1U"; + id = "x128a1u"; + variants = + "ATxmega128A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-AUR: N/A, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega128A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A1U-CUR: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 256; + n_interrupts = 127; + usbpid = 0x2fed; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13324,9 +16437,18 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3"; - desc = "ATxmega128A3"; - signature = 0x1e 0x97 0x42; + desc = "ATxmega128A3"; + id = "x128a3"; + variants = + "ATxmega128A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 258; + n_interrupts = 122; + signature = 0x1e 0x97 0x42; ; #------------------------------------------------------------ @@ -13334,9 +16456,23 @@ part parent "x128a1" #------------------------------------------------------------ part parent "x128a1" - id = "x128a3u"; - desc = "ATxmega128A3U"; - signature = 0x1e 0x97 0x42; + desc = "ATxmega128A3U"; + id = "x128a3u"; + variants = + "ATxmega128A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 259; + n_interrupts = 127; + signature = 0x1e 0x97 0x42; + usbpid = 0x2fe6; + + memory "fuse2" + bitmask = 0x63; + ; ; #------------------------------------------------------------ @@ -13344,56 +16480,82 @@ part parent "x128a1" #------------------------------------------------------------ part parent ".xmega" - id = "x128a4"; - desc = "ATxmega128A4"; - signature = 0x1e 0x97 0x46; - has_jtag = yes; + desc = "ATxmega128A4"; + id = "x128a4"; + variants = + "ATxmega128A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 263; + signature = 0x1e 0x97 0x46; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x22000; + page_size = 512; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 512; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + ; + + memory "usersig" + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13401,51 +16563,67 @@ part parent ".xmega" # ATxmega128A4U #------------------------------------------------------------ -part parent ".xmega" - id = "x128a4u"; - desc = "ATxmega128A4U"; - signature = 0x1e 0x97 0x46; +part parent ".xmega-a" + desc = "ATxmega128A4U"; + id = "x128a4u"; + variants = + "ATxmega128A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 264; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x46; + usbpid = 0x2fde; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x81f000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 256; + offset = 0x81f000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; + ; + + memory "fuse4" + initval = 0xfe; ; memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13454,56 +16632,71 @@ part parent ".xmega" #------------------------------------------------------------ part parent ".xmega" - id = "x128b1"; - desc = "ATxmega128B1"; - signature = 0x1e 0x97 0x4d; - has_jtag = yes; + desc = "ATxmega128B1"; + id = "x128b1"; + variants = + "ATxmega128B1-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B1-CUR: TFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 257; + n_interrupts = 81; + boot_section_size = 8192; + signature = 0x1e 0x97 0x4d; + usbpid = 0x2fea; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x20000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x81e000; - page_size = 0x100; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x820000; - page_size = 0x100; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x22000; - offset = 0x800000; - page_size = 0x100; - readsize = 0x100; + size = 0x22000; + page_size = 256; + offset = 0x800000; + readsize = 256; ; - memory "usersig" - size = 0x100; - offset = 0x8e0400; - page_size = 0x100; - readsize = 0x100; + memory "application" + size = 0x20000; + page_size = 256; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 256; + offset = 0x81e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 256; + offset = 0x820000; + readsize = 256; ; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse4" + bitmask = 0x1f; + ; + + memory "usersig" + size = 256; + page_size = 256; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13512,9 +16705,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x128b1" - id = "x128b3"; - desc = "ATxmega128B3"; - signature = 0x1e 0x97 0x4b; + desc = "ATxmega128B3"; + id = "x128b3"; + variants = + "ATxmega128B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCU: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MCUR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega128B3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 260; + n_interrupts = 54; + signature = 0x1e 0x97 0x4b; + usbpid = 0x2fe0; ; #------------------------------------------------------------ @@ -13522,50 +16725,60 @@ part parent "x128b1" #------------------------------------------------------------ part parent ".xmega" - id = "x192c3"; - desc = "ATxmega192C3"; - signature = 0x1e 0x97 0x51; + desc = "ATxmega192C3"; + id = "x192c3"; + variants = + "ATxmega192C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 269; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x97 0x51; + +# usbpid = 0x2f??; memory "eeprom" - size = 0x800; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x30000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x82e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x830000; - page_size = 0x200; - readsize = 0x100; + size = 2048; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x32000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x32000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x30000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x82e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x830000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13574,9 +16787,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x192c3" - id = "x192d3"; - desc = "ATxmega192D3"; - signature = 0x1e 0x97 0x49; + desc = "ATxmega192D3"; + id = "x192d3"; + variants = + "ATxmega192D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 270; + n_interrupts = 114; + signature = 0x1e 0x97 0x49; ; #------------------------------------------------------------ @@ -13584,14 +16807,41 @@ part parent "x192c3" #------------------------------------------------------------ part parent "x192c3" - id = "x192a1"; - desc = "ATxmega192A1"; - signature = 0x1e 0x97 0x4e; - has_jtag = yes; + desc = "ATxmega192A1"; + id = "x192a1"; + variants = + "ATxmega192A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 266; + signature = 0x1e 0x97 0x4e; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -13599,10 +16849,35 @@ part parent "x192c3" # ATxmega192A3 #------------------------------------------------------------ -part parent "x192a1" - id = "x192a3"; - desc = "ATxmega192A3"; - signature = 0x1e 0x97 0x44; +part parent "x192c3" + desc = "ATxmega192A3"; + id = "x192a3"; + variants = + "ATxmega192A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 267; + n_interrupts = 122; + signature = 0x1e 0x97 0x44; + + memory "fuse0" + size = 1; + initval = 0xff; + offset = 0x8f0020; + ; + + memory "fuse2" + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; ; #------------------------------------------------------------ @@ -13610,9 +16885,46 @@ part parent "x192a1" #------------------------------------------------------------ part parent "x192a1" - id = "x192a3u"; - desc = "ATxmega192A3U"; - signature = 0x1e 0x97 0x44; + desc = "ATxmega192A3U"; + id = "x192a3u"; + variants = + "ATxmega192A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-ANR: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega192A3U-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega192A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 268; + signature = 0x1e 0x97 0x44; + usbpid = 0x2fe7; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13620,50 +16932,61 @@ part parent "x192a1" #------------------------------------------------------------ part parent ".xmega" - id = "x256c3"; - desc = "ATxmega256C3"; - signature = 0x1e 0x98 0x46; + desc = "ATxmega256C3"; + id = "x256c3"; + variants = + "ATxmega256C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 276; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x46; + usbpid = 0x2fda; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x40000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x83e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x840000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x42000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x42000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x40000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x83e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x840000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13672,9 +16995,19 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x256c3" - id = "x256d3"; - desc = "ATxmega256D3"; - signature = 0x1e 0x98 0x44; + desc = "ATxmega256D3"; + id = "x256d3"; + variants = + "ATxmega256D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 277; + n_interrupts = 114; + signature = 0x1e 0x98 0x44; ; #------------------------------------------------------------ @@ -13682,14 +17015,40 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256c3" - id = "x256a1"; - desc = "ATxmega256A1"; - signature = 0x1e 0x98 0x46; - has_jtag = yes; + desc = "ATxmega256A1"; + id = "x256a1"; + variants = + "ATxmega256A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG; + mcuid = 271; memory "fuse0" - size = 1; - offset = 0x8f0020; + size = 1; + offset = 0x8f0020; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse4" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; ; ; @@ -13698,9 +17057,45 @@ part parent "x256c3" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3"; - desc = "ATxmega256A3"; - signature = 0x1e 0x98 0x42; + desc = "ATxmega256A3"; + id = "x256a3"; + variants = + "ATxmega256A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 272; + n_interrupts = 122; + signature = 0x1e 0x98 0x42; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13708,9 +17103,46 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3u"; - desc = "ATxmega256A3U"; - signature = 0x1e 0x98 0x42; + desc = "ATxmega256A3U"; + id = "x256a3u"; + variants = + "ATxmega256A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 275; + signature = 0x1e 0x98 0x42; + usbpid = 0x2fec; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13718,9 +17150,44 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3b"; - desc = "ATxmega256A3B"; - signature = 0x1e 0x98 0x43; + desc = "ATxmega256A3B"; + id = "x256a3b"; + variants = + "ATxmega256A3B: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-AU: TQFP64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3B-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]"; + mcuid = 273; + n_interrupts = 122; + signature = 0x1e 0x98 0x43; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x43; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13728,9 +17195,43 @@ part parent "x256a1" #------------------------------------------------------------ part parent "x256a1" - id = "x256a3bu"; - desc = "ATxmega256A3BU"; - signature = 0x1e 0x98 0x43; + desc = "ATxmega256A3BU"; + id = "x256a3bu"; + variants = + "ATxmega256A3BU-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega256A3BU-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega256A3BU-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 274; + signature = 0x1e 0x98 0x43; + usbpid = 0x2fe2; + + memory "fuse0" + initval = 0xff; + ; + + memory "fuse1" + initval = 0x00; + ; + + memory "fuse2" + initval = 0xff; + bitmask = 0x63; + ; + + memory "fuse4" + initval = 0xfe; + bitmask = 0x1f; + ; + + memory "fuse5" + initval = 0xff; + bitmask = 0x3f; + ; + + memory "lock" + initval = 0xff; + ; ; #------------------------------------------------------------ @@ -13738,50 +17239,61 @@ part parent "x256a1" #------------------------------------------------------------ part parent ".xmega" - id = "x384c3"; - desc = "ATxmega384C3"; - signature = 0x1e 0x98 0x45; + desc = "ATxmega384C3"; + id = "x384c3"; + variants = + "ATxmega384C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega384C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 278; + n_interrupts = 127; + boot_section_size = 8192; + signature = 0x1e 0x98 0x45; + usbpid = 0x2fdb; memory "eeprom" - size = 0x1000; - offset = 0x8c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x60000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "apptable" - size = 0x2000; - offset = 0x85e000; - page_size = 0x200; - readsize = 0x100; - ; - - memory "boot" - size = 0x2000; - offset = 0x860000; - page_size = 0x200; - readsize = 0x100; + size = 4096; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x62000; - offset = 0x800000; - page_size = 0x200; - readsize = 0x100; + size = 0x62000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x60000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 8192; + page_size = 512; + offset = 0x85e000; + readsize = 256; + ; + + memory "boot" + size = 8192; + page_size = 512; + offset = 0x860000; + readsize = 256; ; memory "usersig" - size = 0x200; - offset = 0x8e0400; - page_size = 0x200; - readsize = 0x100; + size = 512; + page_size = 512; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13790,60 +17302,87 @@ part parent ".xmega" #------------------------------------------------------------ part parent "x384c3" - id = "x384d3"; - desc = "ATxmega384D3"; - signature = 0x1e 0x98 0x47; + desc = "ATxmega384D3"; + id = "x384d3"; + variants = + "ATxmega384D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega384D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 279; + n_interrupts = 114; + signature = 0x1e 0x98 0x47; ; #------------------------------------------------------------ # ATxmega8E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x8e5"; - desc = "ATxmega8E5"; - signature = 0x1e 0x93 0x41; +part parent ".xmega-e" + desc = "ATxmega8E5"; + id = "x8e5"; + variants = + "ATxmega8E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega8E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega8E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 230; + n_interrupts = 43; + boot_section_size = 2048; + signature = 0x1e 0x93 0x41; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x2000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x800; - offset = 0x00801800; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x800; - offset = 0x00804000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x2800; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x2800; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 8192; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 2048; + page_size = 128; + offset = 0x801800; + readsize = 256; + ; + + memory "boot" + size = 2048; + page_size = 128; + offset = 0x802000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13851,51 +17390,70 @@ part parent ".xmega" # ATxmega16E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x16e5"; - desc = "ATxmega16E5"; - signature = 0x1e 0x94 0x45; +part parent ".xmega-e" + desc = "ATxmega16E5"; + id = "x16e5"; + variants = + "ATxmega16E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-ANR: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega16E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega16E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 235; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x94 0x45; memory "eeprom" - size = 0x0200; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x4000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00803000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00804000; - page_size = 0x80; - readsize = 0x100; + size = 512; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x5000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x5000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x4000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x803000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x804000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13903,51 +17461,70 @@ part parent ".xmega" # ATxmega32E5 #------------------------------------------------------------ -part parent ".xmega" - id = "x32e5"; - desc = "ATxmega32E5"; - signature = 0x1e 0x95 0x4c; +part parent ".xmega-e" + desc = "ATxmega32E5"; + id = "x32e5"; + variants = + "ATxmega32E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "ATxmega32E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]", + "ATxmega32E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]"; + mcuid = 242; + n_interrupts = 43; + boot_section_size = 4096; + signature = 0x1e 0x95 0x4c; memory "eeprom" - size = 0x0400; - offset = 0x08c0000; - page_size = 0x20; - readsize = 0x100; - ; - - memory "application" - size = 0x8000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "apptable" - size = 0x1000; - offset = 0x00807000; - page_size = 0x80; - readsize = 0x100; - ; - - memory "boot" - size = 0x1000; - offset = 0x00804000; - page_size = 0x80; - readsize = 0x100; + size = 1024; + page_size = 32; + offset = 0x8c0000; + readsize = 256; ; memory "flash" - size = 0x9000; - offset = 0x0800000; - page_size = 0x80; - readsize = 0x100; + size = 0x9000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "application" + size = 0x8000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "apptable" + size = 4096; + page_size = 128; + offset = 0x807000; + readsize = 256; + ; + + memory "boot" + size = 4096; + page_size = 128; + offset = 0x808000; + readsize = 256; + ; + + memory "fuse2" + bitmask = 0x43; ; memory "usersig" - size = 0x80; - offset = 0x8e0400; - page_size = 0x80; - readsize = 0x100; + size = 128; + page_size = 128; + offset = 0x8e0400; + readsize = 256; ; ; @@ -13956,214 +17533,199 @@ part parent ".xmega" #------------------------------------------------------------ part - id = "uc3a0512"; - desc = "AT32UC3A0512"; - signature = 0xED 0xC0 0x3F; - has_jtag = yes; - is_avr32 = yes; + desc = "AT32UC3A0512"; + id = "uc3a0512"; + variants = + "AT32UC3A0512-ALTR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALTTA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUR: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512-CTUT: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]", + "AT32UC3A0512AU-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]"; + prog_modes = PM_AVR32JTAG | PM_aWire; + signature = 0xed 0xc0 0x3f; memory "flash" - paged = yes; - page_size = 512; # bytes - readsize = 512; # bytes - num_pages = 1024; # could be set dynamicly - size = 0x00080000; # could be set dynamicly - offset = 0x80000000; + paged = yes; + size = 0x80000; # could be set dynamicly + page_size = 512; # bytes + num_pages = 1024; # could be set dynamicly + offset = 0x80000000; + readsize = 512; # bytes ; ; +#------------------------------------------------------------ +# deprecated, use 'uc3a0512' +#------------------------------------------------------------ + part parent "uc3a0512" - id = "ucr2"; - desc = "deprecated, use 'uc3a0512'"; + desc = "deprecated, use 'uc3a0512'"; + id = "ucr2"; ; #------------------------------------------------------------ -# ATtiny1634. +# ATtiny1634 #------------------------------------------------------------ part - id = "t1634"; - desc = "ATtiny1634"; - has_debugwire = yes; - flash_instr = 0xB6, 0x01, 0x11; - eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, - 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, - 0x99, 0xF9, 0xBB, 0xAF; - stk500_devcode = 0x86; - # avr910_devcode = 0x; - signature = 0x1e 0x94 0x12; - pagel = 0xB3; - bs2 = 0xB1; - reset = io; - chip_erase_delay = 9000; - pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", - "x x x x x x x x x x x x x x x x"; - - chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", - "x x x x x x x x x x x x x x x x"; - - timeout = 200; - stabdelay = 100; - cmdexedelay = 25; - synchloops = 32; - bytedelay = 0; - pollindex = 3; - pollvalue = 0x53; - predelay = 1; - postdelay = 1; - pollmethod = 1; - - pp_controlstack = - 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, - 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, - 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, - 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - hventerstabdelay = 100; - progmodedelay = 0; - latchcycles = 0; - togglevtg = 1; - poweroffdelay = 15; - resetdelayms = 1; - resetdelayus = 0; - hvleavestabdelay = 15; - resetdelay = 15; - chiperasepulsewidth = 0; - chiperasepolltimeout = 10; - programfusepulsewidth = 0; + desc = "ATtiny1634"; + id = "t1634"; + variants = + "ATtiny1634: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MN: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MNR: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-MUR: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE; + mcuid = 40; + n_interrupts = 28; + n_page_erase = 4; + stk500_devcode = 0x86; + chip_erase_delay = 9000; + pagel = 0xb3; + bs2 = 0xb1; +# avr910_devcode = 0x??; + signature = 0x1e 0x94 0x12; + reset = io; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + flash_instr = 0xb6, 0x01, 0x11; + eeprom_instr = + 0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00, + 0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf, + 0x99, 0xf9, 0xbb, 0xaf; + hventerstabdelay = 100; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; programfusepolltimeout = 5; - programlockpulsewidth = 0; programlockpolltimeout = 5; + idr = 0x2e; + spmcr = 0x57; + eecr = 0x3c; + ocdrev = 1; + chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx"; + pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx"; memory "eeprom" - paged = no; - page_size = 4; - size = 256; - min_write_delay = 3600; - max_write_delay = 3600; - readback_p1 = 0xff; - readback_p2 = 0xff; - read = " 1 0 1 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - write = " 1 1 0 0 0 0 0 0", - " 0 0 0 x x x x a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_lo = " 1 1 0 0 0 0 0 1", - " 0 0 0 0 0 0 0 0", - " 0 0 0 0 0 0 a1 a0", - " i i i i i i i i"; - - writepage = " 1 1 0 0 0 0 1 0", - " 0 0 x x x x x a8", - " a7 a6 a5 a4 a3 a2 0 0", - " x x x x x x x x"; - - mode = 0x41; - delay = 5; - blocksize = 4; - readsize = 256; - ; + size = 256; + page_size = 4; + min_write_delay = 3600; + max_write_delay = 3600; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo"; + write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii"; + loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii"; + writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx"; + ; memory "flash" - paged = yes; - size = 16384; - page_size = 32; - num_pages = 512; - min_write_delay = 4500; - max_write_delay = 4500; - readback_p1 = 0xff; - readback_p2 = 0xff; - read_lo = " 0 0 1 0 0 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - read_hi = " 0 0 1 0 1 0 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 a5 a4 a3 a2 a1 a0", - " o o o o o o o o"; - - loadpage_lo = " 0 1 0 0 0 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - loadpage_hi = " 0 1 0 0 1 0 0 0", - " 0 0 0 x x x x x", - " x x a5 a4 a3 a2 a1 a0", - " i i i i i i i i"; - - writepage = " 0 1 0 0 1 1 0 0", - " 0 0 0 a12 a11 a10 a9 a8", - " a7 a6 x x x x x x", - " x x x x x x x x"; - - mode = 0x41; - delay = 6; - blocksize = 128; - readsize = 256; - - ; + paged = yes; + size = 0x4000; + page_size = 32; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + mode = 0x41; + delay = 10; + blocksize = 32; + readsize = 256; + read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo"; + loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii"; + writepage = "0100.1100--00aa.aaaa--aaaa.xxxx--xxxx.xxxx"; + ; memory "lfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0x62; + bitmask = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; + ; memory "hfuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x o o o o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", - "x x x x x x x x i i i i i i i i"; - ; + size = 1; + initval = 0xdf; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; + ; memory "efuse" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", - "x x x x x x x x x x x o o o o o"; - - write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x i i i i i"; - ; + size = 1; + initval = 0xff; + bitmask = 0x1f; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--1010.0100--xxxx.xxxx--xxxi.iiii"; + ; memory "lock" - size = 1; - min_write_delay = 4500; - max_write_delay = 4500; - read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", - "x x x x x x x x x x x x x x o o"; - - write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", - "x x x x x x x x 1 1 1 1 1 1 i i"; - ; - - memory "calibration" - size = 1; - read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", - "0 0 0 0 0 0 0 0 o o o o o o o o"; - ; + size = 1; + initval = 0xff; + bitmask = 0x03; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; + write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii"; + ; memory "signature" - size = 3; - read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", - "x x x x x x a1 a0 o o o o o o o o"; - ; + size = 3; + read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo"; + ; + + memory "calibration" + size = 1; + read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo"; + ; +; + +#------------------------------------------------------------ +# ATtiny1634R +#------------------------------------------------------------ + +part parent "t1634" + desc = "ATtiny1634R"; + id = "t1634r"; + variants = + "ATtiny1634R-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-MUR: WQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1634R-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 41; ; #------------------------------------------------------------ @@ -14171,33 +17733,37 @@ part #------------------------------------------------------------ part - id = ".reduced_core_tiny"; - desc = "Common values for reduced core tinys"; - has_tpi = yes; - - memory "signature" - size = 3; - offset = 0x3fc0; - page_size = 16; - ; + desc = "Common values for reduced core tinys"; + id = ".reduced_core_tiny"; + prog_modes = PM_TPI; memory "fuse" - size = 1; - offset = 0x3f40; - page_size = 16; - blocksize = 4; - ; - - memory "calibration" - size = 1; - offset = 0x3f80; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x07; + offset = 0x3f40; + blocksize = 4; ; memory "lockbits" - size = 1; - offset = 0x3f00; - page_size = 16; + size = 1; + page_size = 16; + initval = 0xff; + bitmask = 0x03; + offset = 0x3f00; + ; + + memory "signature" + size = 3; + page_size = 16; + offset = 0x3fc0; + ; + + memory "calibration" + size = 1; + page_size = 16; + offset = 0x3f80; ; ; @@ -14206,15 +17772,21 @@ part #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t4"; - desc = "ATtiny4"; - signature = 0x1e 0x8f 0x0a; + desc = "ATtiny4"; + id = "t4"; + variants = + "ATtiny4-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny4-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 0; + n_interrupts = 10; + signature = 0x1e 0x8f 0x0a; memory "flash" - size = 512; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 512; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14223,9 +17795,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t4" - id = "t5"; - desc = "ATtiny5"; - signature = 0x1e 0x8f 0x09; + desc = "ATtiny5"; + id = "t5"; + variants = + "ATtiny5-MAHR: USON8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny5-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 1; + n_interrupts = 11; + signature = 0x1e 0x8f 0x09; ; #------------------------------------------------------------ @@ -14233,15 +17811,21 @@ part parent "t4" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t9"; - desc = "ATtiny9"; - signature = 0x1e 0x90 0x08; + desc = "ATtiny9"; + id = "t9"; + variants = + "ATtiny9-MAHR: DFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny9-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 2; + n_interrupts = 10; + signature = 0x1e 0x90 0x08; memory "flash" - size = 1024; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; ; ; @@ -14250,9 +17834,15 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent "t9" - id = "t10"; - desc = "ATtiny10"; - signature = 0x1e 0x90 0x03; + desc = "ATtiny10"; + id = "t10"; + variants = + "ATtiny10-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny10-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 3; + n_interrupts = 11; + signature = 0x1e 0x90 0x03; ; #------------------------------------------------------------ @@ -14260,15 +17850,33 @@ part parent "t9" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t20"; - desc = "ATtiny20"; - signature = 0x1e 0x91 0x0F; + desc = "ATtiny20"; + id = "t20"; + variants = + "ATtiny20-CCU: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-CCUR: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSU: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-SSUR: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-UUR: WLCSP12, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XU: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny20-XUR: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 4; + n_interrupts = 17; + signature = 0x1e 0x91 0x0f; memory "flash" - size = 2048; - offset = 0x4000; - page_size = 16; - blocksize = 128; + size = 2048; + page_size = 16; + n_word_writes = 2; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 2; ; ; @@ -14277,15 +17885,102 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part parent ".reduced_core_tiny" - id = "t40"; - desc = "ATtiny40"; - signature = 0x1e 0x92 0x0E; + desc = "ATtiny40"; + id = "t40"; + variants = + "ATtiny40-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XU: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny40-XUR: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 5; + n_interrupts = 18; + signature = 0x1e 0x92 0x0e; memory "flash" - size = 4096; - offset = 0x4000; - page_size = 64; - blocksize = 128; + size = 4096; + page_size = 64; + n_word_writes = 4; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x77; + n_word_writes = 4; + ; +; + +#------------------------------------------------------------ +# ATtiny102 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny102"; + id = "t102"; + variants = + "ATtiny102-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny102F-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 6; + n_interrupts = 16; + signature = 0x1e 0x90 0x0c; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; + ; +; + +#------------------------------------------------------------ +# ATtiny104 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + desc = "ATtiny104"; + id = "t104"; + variants = + "ATtiny104-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny104F-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 7; + n_interrupts = 16; + signature = 0x1e 0x90 0x0b; + + memory "flash" + size = 1024; + page_size = 16; + offset = 0x4000; + blocksize = 128; + ; + + memory "fuse" + bitmask = 0x0f; + ; + + memory "sigrow" + size = 16; + page_size = 16; + offset = 0x3fc6; ; ; @@ -14294,64 +17989,4353 @@ part parent ".reduced_core_tiny" #------------------------------------------------------------ part - id = "m406"; - desc = "ATMEGA406"; - has_jtag = yes; - signature = 0x1e 0x95 0x07; - + desc = "ATmega406"; + id = "m406"; + variants = + "ATmega406: N/A, Fmax=1 MHz, T=[N/A, N/A], Vcc=[3.3 V, 3.3 V]", + "ATmega406-1AAU: LQFP48, Fmax=1 MHz, T=[-30 C, 85 C], Vcc=[4 V, 25 V]"; + prog_modes = PM_SPM | PM_HVPP | PM_JTAG; + mcuid = 125; + n_interrupts = 23; + n_boot_sections = 4; + boot_section_size = 512; # STK500 parameters (parallel programming IO lines) - pagel = 0xa7; - bs2 = 0xa0; - serial = no; - parallel = yes; - + pagel = 0xa7; + bs2 = 0xa0; + signature = 0x1e 0x95 0x07; + reset = io; + serial = no; # STK500v2 HV programming parameters, from XML - pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, - 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, - 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, - 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; - - # JTAG ICE mkII parameters, also from XML files - allowfullpagebitstream = no; - enablepageprogramming = yes; - idr = 0x51; - rampz = 0x00; - spmcr = 0x57; - eecr = 0x3f; + pp_controlstack = + 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + latchcycles = 6; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepolltimeout = 5; + programlockpolltimeout = 5; + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + ocdrev = 3; memory "eeprom" - paged = no; - size = 512; - page_size = 4; - blocksize = 4; - readsize = 4; - num_pages = 128; + size = 512; + page_size = 4; + num_pages = 128; + blocksize = 4; + readsize = 4; ; memory "flash" - paged = yes; - size = 40960; - page_size = 128; - blocksize = 128; - readsize = 128; - num_pages = 320; - ; - - memory "hfuse" - size = 1; + paged = yes; + size = 0xa000; + page_size = 128; + num_pages = 320; + blocksize = 128; + readsize = 128; ; memory "lfuse" - size = 1; + size = 1; + initval = 0xcd; + ; + + memory "hfuse" + size = 1; + initval = 0xfe; + bitmask = 0x03; ; memory "lockbits" - size = 1; + size = 1; + initval = 0xff; + bitmask = 0x3f; ; memory "signature" - size = 3; + size = 3; ; ; +#------------------------------------------------------------ +# AVR8X family common values +#------------------------------------------------------------ +part + desc = "AVR8X family common values"; + id = ".avr8x"; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 256; + nvm_base = 0x1000; + ocd_base = 0x0f80; + + memory "fuse0" + size = 1; + initval = 0x00; + offset = 0x1280; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; + ; + + memory "fuse1" + size = 1; + initval = 0x00; + offset = 0x1281; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; + ; + + memory "fuse2" + size = 1; + initval = 0x7e; + bitmask = 0x83; + offset = 0x1282; + readsize = 1; + ; + + memory "osccfg" + alias "fuse2"; + ; + + memory "fuse5" + size = 1; + initval = 0xf6; + bitmask = 0xcd; + offset = 0x1285; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; + ; + + memory "fuse6" + size = 1; + initval = 0xff; + bitmask = 0x07; + offset = 0x1286; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; + ; + + memory "fuse7" + size = 1; + initval = 0x00; + offset = 0x1287; + readsize = 1; + ; + + memory "append" + alias "fuse7"; + ; + + memory "codesize" + alias "fuse7"; + ; + + memory "fuse8" + size = 1; + initval = 0x00; + offset = 0x1288; + readsize = 1; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 10; + offset = 0x1280; + readsize = 10; + ; + + memory "lock" + size = 1; + offset = 0x128a; + readsize = 1; + ; + + memory "tempsense" + size = 2; + offset = 0x1120; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 61; + page_size = 61; + offset = 0x1103; + readsize = 61; + ; + + memory "sernum" + size = 10; + offset = 0x1104; + readsize = 1; + ; + + memory "osccal16" + size = 2; + offset = 0x1118; + readsize = 1; + ; + + memory "osccal20" + size = 2; + offset = 0x111a; + readsize = 1; + ; + + memory "osc16err" + size = 2; + offset = 0x1122; + readsize = 1; + ; + + memory "osc20err" + size = 2; + offset = 0x1124; + readsize = 1; + ; + + memory "data" + # SRAM, only used to supply the offset + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR8X tiny family common values +#------------------------------------------------------------ + +part parent ".avr8x" + desc = "AVR8X tiny family common values"; + id = ".avr8x_tiny"; + family_id = "tinyAVR"; + # Shared UPDI pin, HV on UPDI pin + hvupdi_variant = 0; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1300; + readsize = 256; + ; + + memory "usersig" + alias "userrow"; + ; +; + +#------------------------------------------------------------ +# AVR8X mega family common values +#------------------------------------------------------------ + +part parent ".avr8x" + desc = "AVR8X mega family common values"; + id = ".avr8x_mega"; + family_id = "megaAVR"; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "userrow" + size = 64; + page_size = 64; + offset = 0x1300; + readsize = 256; + ; + + memory "usersig" + alias "userrow"; + ; +; + +#------------------------------------------------------------ +# ATtiny202 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny202"; + id = "t202"; + variants = + "ATtiny202-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny202-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 280; + n_interrupts = 26; + signature = 0x1e 0x91 0x23; + + memory "eeprom" + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny204 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny204"; + id = "t204"; + variants = + "ATtiny204-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny204-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 281; + n_interrupts = 26; + signature = 0x1e 0x91 0x22; + + memory "eeprom" + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny402 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny402"; + id = "t402"; + variants = + "ATtiny402-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny402-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 284; + n_interrupts = 26; + signature = 0x1e 0x92 0x27; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny404 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny404"; + id = "t404"; + variants = + "ATtiny404-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny404-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 285; + n_interrupts = 26; + signature = 0x1e 0x92 0x26; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny406 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny406"; + id = "t406"; + variants = + "ATtiny406-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny406-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 286; + n_interrupts = 26; + signature = 0x1e 0x92 0x25; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny804 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny804"; + id = "t804"; + variants = + "ATtiny804-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny804-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 295; + n_interrupts = 31; + signature = 0x1e 0x93 0x25; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny806 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny806"; + id = "t806"; + variants = + "ATtiny806-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny806-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny806-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 296; + n_interrupts = 31; + signature = 0x1e 0x93 0x24; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny807 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny807"; + id = "t807"; + variants = + "ATtiny807-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny807-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 297; + n_interrupts = 31; + signature = 0x1e 0x93 0x23; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1604 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1604"; + id = "t1604"; + variants = + "ATtiny1604-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1604-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 304; + n_interrupts = 31; + signature = 0x1e 0x94 0x25; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1606 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1606"; + id = "t1606"; + variants = + "ATtiny1606-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MFR: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1606-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 305; + n_interrupts = 31; + signature = 0x1e 0x94 0x24; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1607 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1607"; + id = "t1607"; + variants = + "ATtiny1607-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1607-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 306; + n_interrupts = 31; + signature = 0x1e 0x94 0x23; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny212 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny212"; + id = "t212"; + variants = + "ATtiny212-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny212-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 282; + n_interrupts = 26; + signature = 0x1e 0x91 0x21; + + memory "eeprom" + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny214 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny214"; + id = "t214"; + variants = + "ATtiny214-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny214-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 283; + n_interrupts = 26; + signature = 0x1e 0x91 0x20; + + memory "eeprom" + size = 64; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 2048; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny412 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny412"; + id = "t412"; + variants = + "ATtiny412-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny412-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 287; + n_interrupts = 26; + signature = 0x1e 0x92 0x23; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny414 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny414"; + id = "t414"; + variants = + "ATtiny414-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny414-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 288; + n_interrupts = 26; + signature = 0x1e 0x92 0x22; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny416 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny416"; + id = "t416"; + variants = + "ATtiny416-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny416-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 289; + n_interrupts = 26; + signature = 0x1e 0x92 0x21; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny416auto +#------------------------------------------------------------ + +part parent "t416" + desc = "ATtiny416auto"; + id = "t416auto"; + variants = + "ATtiny416-MBT: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny416-MZT: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]"; + mcuid = 290; + signature = 0x1e 0x92 0x28; + + memory "fuse2" + initval = 0x7d; + ; +; + +#------------------------------------------------------------ +# ATtiny417 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny417"; + id = "t417"; + variants = + "ATtiny417-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MFR: QFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny417-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 291; + n_interrupts = 26; + signature = 0x1e 0x92 0x20; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny814 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny814"; + id = "t814"; + variants = + "ATtiny814-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny814-SSNRES: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 298; + n_interrupts = 26; + signature = 0x1e 0x93 0x22; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny816 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny816"; + id = "t816"; + variants = + "ATtiny816-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-MNRES: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny816-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 299; + n_interrupts = 26; + signature = 0x1e 0x93 0x21; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny817 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny817"; + id = "t817"; + variants = + "ATtiny817-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny817-MNRES: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 300; + n_interrupts = 26; + signature = 0x1e 0x93 0x20; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1614 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1614"; + id = "t1614"; + variants = + "ATtiny1614-SSF: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSFR: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1614-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 307; + n_interrupts = 31; + signature = 0x1e 0x94 0x22; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1616 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1616"; + id = "t1616"; + variants = + "ATtiny1616-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SFR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1616-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 308; + n_interrupts = 31; + signature = 0x1e 0x94 0x21; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1617 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1617"; + id = "t1617"; + variants = + "ATtiny1617-MF: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]", + "ATtiny1617-MN: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1617-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 309; + n_interrupts = 31; + signature = 0x1e 0x94 0x20; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3216 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3216"; + id = "t3216"; + variants = + "ATtiny3216-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3216-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 314; + n_interrupts = 31; + signature = 0x1e 0x95 0x21; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse4" + size = 1; + initval = 0x00; + offset = 0x1284; + readsize = 1; + ; + + memory "tcd0cfg" + alias "fuse4"; + ; + + memory "lock" + initval = 0xc5; + ; + + memory "userrow" + size = 64; + page_size = 64; + ; +; + +#------------------------------------------------------------ +# ATtiny3217 +#------------------------------------------------------------ + +part parent "t3216" + desc = "ATtiny3217"; + id = "t3217"; + variants = + "ATtiny3217-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3217-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 315; + signature = 0x1e 0x95 0x22; +; + +#------------------------------------------------------------ +# ATtiny424 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny424"; + id = "t424"; + variants = + "ATtiny424: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny424-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 292; + n_interrupts = 30; + signature = 0x1e 0x92 0x2c; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny426 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny426"; + id = "t426"; + variants = + "ATtiny426: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny426-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 293; + n_interrupts = 30; + signature = 0x1e 0x92 0x2b; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny427 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny427"; + id = "t427"; + variants = + "ATtiny427: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny427-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 294; + n_interrupts = 30; + signature = 0x1e 0x92 0x2a; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 4096; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny824 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny824"; + id = "t824"; + variants = + "ATtiny824: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny824-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 301; + n_interrupts = 30; + signature = 0x1e 0x93 0x29; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny826 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny826"; + id = "t826"; + variants = + "ATtiny826: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny826-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 302; + n_interrupts = 30; + signature = 0x1e 0x93 0x28; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny827 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny827"; + id = "t827"; + variants = + "ATtiny827: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny827-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 303; + n_interrupts = 30; + signature = 0x1e 0x93 0x27; + + memory "eeprom" + size = 128; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1624 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1624"; + id = "t1624"; + variants = + "ATtiny1624: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1624-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 310; + n_interrupts = 30; + signature = 0x1e 0x94 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1626 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1626"; + id = "t1626"; + variants = + "ATtiny1626: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MF: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XF: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XU: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1626-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 311; + n_interrupts = 30; + signature = 0x1e 0x94 0x29; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny1627 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny1627"; + id = "t1627"; + variants = + "ATtiny1627: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MF: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny1627-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]"; + mcuid = 312; + n_interrupts = 30; + signature = 0x1e 0x94 0x28; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3224 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3224"; + id = "t3224"; + variants = + "ATtiny3224: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3224-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 316; + n_interrupts = 30; + signature = 0x1e 0x95 0x28; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3226 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3226"; + id = "t3226"; + variants = + "ATtiny3226: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3226-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 317; + n_interrupts = 30; + signature = 0x1e 0x95 0x27; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATtiny3227 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATtiny3227"; + id = "t3227"; + variants = + "ATtiny3227: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATtiny3227-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 318; + n_interrupts = 30; + signature = 0x1e 0x95 0x26; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x8000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xdd; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega808 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega808"; + id = "m808"; + variants = + "ATmega808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AFR: TQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MFR: QFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega808-XUR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 319; + n_interrupts = 36; + signature = 0x1e 0x93 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega809 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega809"; + id = "m809"; + variants = + "ATmega809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MFR: QFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega809-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 320; + n_interrupts = 40; + signature = 0x1e 0x93 0x2a; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1608 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1608"; + id = "m1608"; + variants = + "ATmega1608-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1608-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 321; + n_interrupts = 36; + signature = 0x1e 0x94 0x27; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega1609 +#------------------------------------------------------------ + +part parent ".avr8x_tiny" + desc = "ATmega1609"; + id = "m1609"; + variants = + "ATmega1609-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega1609-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 322; + n_interrupts = 40; + signature = 0x1e 0x94 0x26; + + memory "eeprom" + size = 256; + page_size = 32; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x4000; + readsize = 256; + ; + + memory "fuse5" + bitmask = 0xc9; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega3208 +#------------------------------------------------------------ + +part parent ".avr8x_mega" + desc = "ATmega3208"; + id = "m3208"; + variants = + "ATmega3208-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XFR: SSOP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3208-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 323; + n_interrupts = 36; + signature = 0x1e 0x95 0x30; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega3209 +#------------------------------------------------------------ + +part parent ".avr8x_mega" + desc = "ATmega3209"; + id = "m3209"; + variants = + "ATmega3209-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega3209-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 324; + n_interrupts = 40; + signature = 0x1e 0x95 0x31; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega4808 +#------------------------------------------------------------ + +part parent ".avr8x_mega" + desc = "ATmega4808"; + id = "m4808"; + variants = + "ATmega4808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4808-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; + mcuid = 325; + n_interrupts = 36; + signature = 0x1e 0x96 0x50; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# ATmega4809 +#------------------------------------------------------------ + +part parent ".avr8x_mega" + desc = "ATmega4809"; + id = "m4809"; + variants = + "ATmega4809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "ATmega4809-PF: PDIP40, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 326; + n_interrupts = 40; + signature = 0x1e 0x96 0x51; + + memory "eeprom" + size = 256; + page_size = 64; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0xc000; + page_size = 128; + offset = 0x4000; + readsize = 256; + ; + + memory "lock" + initval = 0xc5; + ; +; + +#------------------------------------------------------------ +# AVR-Dx family common values +#------------------------------------------------------------ + +part + desc = "AVR-Dx family common values"; + id = ".avrdx"; + family_id = "AVR "; + prog_modes = PM_SPM | PM_UPDI; + n_boot_sections = 1; + boot_section_size = 512; + # Dedicated UPDI pin, no HV + hvupdi_variant = 1; + nvm_base = 0x1000; + ocd_base = 0x0f80; + + memory "fuse0" + size = 1; + initval = 0x00; + offset = 0x1050; + readsize = 1; + ; + + memory "wdtcfg" + alias "fuse0"; + ; + + memory "fuse1" + size = 1; + initval = 0x00; + offset = 0x1051; + readsize = 1; + ; + + memory "bodcfg" + alias "fuse1"; + ; + + memory "fuse2" + size = 1; + initval = 0x00; + bitmask = 0x07; + offset = 0x1052; + readsize = 1; + ; + + memory "osccfg" + alias "fuse2"; + ; + + memory "fuse5" + size = 1; + initval = 0xc0; + bitmask = 0xed; + offset = 0x1055; + readsize = 1; + ; + + memory "syscfg0" + alias "fuse5"; + ; + + memory "fuse6" + size = 1; + initval = 0x08; + bitmask = 0x1f; + offset = 0x1056; + readsize = 1; + ; + + memory "syscfg1" + alias "fuse6"; + ; + + memory "fuse7" + size = 1; + initval = 0x00; + offset = 0x1057; + readsize = 1; + ; + + memory "codesize" + alias "fuse7"; + ; + + memory "append" + alias "fuse7"; + ; + + memory "fuse8" + size = 1; + initval = 0x00; + offset = 0x1058; + readsize = 1; + ; + + memory "bootsize" + alias "fuse8"; + ; + + memory "bootend" + alias "fuse8"; + ; + + memory "fuses" + size = 9; + page_size = 16; + offset = 0x1050; + readsize = 16; + ; + + memory "lock" + size = 4; + offset = 0x1040; + readsize = 4; + ; + + memory "tempsense" + size = 2; + offset = 0x1104; + readsize = 1; + ; + + memory "signature" + size = 3; + offset = 0x1100; + readsize = 3; + ; + + memory "prodsig" + size = 125; + page_size = 125; + offset = 0x1103; + readsize = 125; + ; + + memory "sernum" + size = 16; + offset = 0x1110; + readsize = 1; + ; + + memory "userrow" + size = 32; + page_size = 32; + offset = 0x1080; + readsize = 32; + ; + + memory "usersig" + alias "userrow"; + ; + + memory "data" + # SRAM, only used to supply the offset + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# AVR32DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA28"; + id = "avr32da28"; + variants = + "AVR32DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 338; + n_interrupts = 41; + signature = 0x1e 0x95 0x34; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA32"; + id = "avr32da32"; + variants = + "AVR32DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 342; + n_interrupts = 44; + signature = 0x1e 0x95 0x33; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DA48"; + id = "avr32da48"; + variants = + "AVR32DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 346; + n_interrupts = 58; + signature = 0x1e 0x95 0x32; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA28"; + id = "avr64da28"; + variants = + "AVR64DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-E/SP: SPDIP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]", + "AVR64DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 351; + n_interrupts = 41; + signature = 0x1e 0x96 0x15; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA32"; + id = "avr64da32"; + variants = + "AVR64DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 355; + n_interrupts = 44; + signature = 0x1e 0x96 0x14; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA48"; + id = "avr64da48"; + variants = + "AVR64DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 359; + n_interrupts = 58; + signature = 0x1e 0x96 0x13; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DA64"; + id = "avr64da64"; + variants = + "AVR64DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 362; + n_interrupts = 64; + signature = 0x1e 0x96 0x12; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA28"; + id = "avr128da28"; + variants = + "AVR128DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 364; + n_interrupts = 41; + signature = 0x1e 0x97 0x0a; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA32"; + id = "avr128da32"; + variants = + "AVR128DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 366; + n_interrupts = 44; + signature = 0x1e 0x97 0x09; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA48"; + id = "avr128da48"; + variants = + "AVR128DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 368; + n_interrupts = 58; + signature = 0x1e 0x97 0x08; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DA64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DA64"; + id = "avr128da64"; + variants = + "AVR128DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + family_id = " AVR"; + mcuid = 370; + n_interrupts = 64; + signature = 0x1e 0x97 0x07; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse6" + initval = 0x00; + bitmask = 0x07; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB28"; + id = "avr32db28"; + variants = + "AVR32DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 339; + n_interrupts = 42; + signature = 0x1e 0x95 0x37; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB32"; + id = "avr32db32"; + variants = + "AVR32DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 343; + n_interrupts = 44; + signature = 0x1e 0x95 0x36; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DB48"; + id = "avr32db48"; + variants = + "AVR32DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 347; + n_interrupts = 61; + signature = 0x1e 0x95 0x35; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB28"; + id = "avr64db28"; + variants = + "AVR64DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 352; + n_interrupts = 42; + signature = 0x1e 0x96 0x19; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB32"; + id = "avr64db32"; + variants = + "AVR64DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 356; + n_interrupts = 44; + signature = 0x1e 0x96 0x18; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB48"; + id = "avr64db48"; + variants = + "AVR64DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 360; + n_interrupts = 61; + signature = 0x1e 0x96 0x17; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DB64"; + id = "avr64db64"; + variants = + "AVR64DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 363; + n_interrupts = 65; + signature = 0x1e 0x96 0x16; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB28"; + id = "avr128db28"; + variants = + "AVR128DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 365; + n_interrupts = 42; + signature = 0x1e 0x97 0x0e; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB32"; + id = "avr128db32"; + variants = + "AVR128DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 367; + n_interrupts = 44; + signature = 0x1e 0x97 0x0d; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB48 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB48"; + id = "avr128db48"; + variants = + "AVR128DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 369; + n_interrupts = 61; + signature = 0x1e 0x97 0x0c; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR128DB64 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR128DB64"; + id = "avr128db64"; + variants = + "AVR128DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR128DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 371; + n_interrupts = 65; + signature = 0x1e 0x97 0x0b; + + memory "eeprom" + size = 512; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x20000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD14"; + id = "avr16dd14"; + variants = + "AVR16DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 329; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x34; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD20"; + id = "avr16dd20"; + variants = + "AVR16DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 330; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x33; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD28"; + id = "avr16dd28"; + variants = + "AVR16DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 331; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x32; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR16DD32"; + id = "avr16dd32"; + variants = + "AVR16DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR16DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 333; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x94 0x31; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD14"; + id = "avr32dd14"; + variants = + "AVR32DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 336; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD20"; + id = "avr32dd20"; + variants = + "AVR32DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 337; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x3a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD28"; + id = "avr32dd28"; + variants = + "AVR32DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 340; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x39; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR32DD32"; + id = "avr32dd32"; + variants = + "AVR32DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR32DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 344; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x95 0x38; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD14 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD14"; + id = "avr64dd14"; + variants = + "AVR64DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 349; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1d; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD20 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD20"; + id = "avr64dd20"; + variants = + "AVR64DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 350; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1c; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD28 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD28"; + id = "avr64dd28"; + variants = + "AVR64DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD28-I/STX: VQFN28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 353; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1b; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64DD32 +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR64DD32"; + id = "avr64dd32"; + variants = + "AVR64DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 357; + n_interrupts = 36; + hvupdi_variant = 2; + signature = 0x1e 0x96 0x1a; + + memory "eeprom" + size = 256; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 512; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR-Ex family common values +#------------------------------------------------------------ + +part parent ".avrdx" + desc = "AVR-Ex family common values"; + id = ".avrex"; + # Shared UPDI pin, HV on _RESET + hvupdi_variant = 2; + + memory "fuse2" + bitmask = 0x08; + ; + + memory "fuse5" + initval = 0xd0; + bitmask = 0xf9; + ; + + memory "fuse6" + initval = 0x07; + bitmask = 0x07; + ; + + memory "userrow" + size = 64; + page_size = 64; + readsize = 64; + ; +; + +#------------------------------------------------------------ +# AVR8EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA28"; + id = "avr8ea28"; + mcuid = 327; + signature = 0x1e 0x93 0x2c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR8EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR8EA32"; + id = "avr8ea32"; + mcuid = 328; + signature = 0x1e 0x93 0x2b; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 8192; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "fuse0" + initval = -1; + ; + + memory "fuse1" + initval = -1; + ; + + memory "fuse2" + initval = -1; + bitmask = -1; + ; + + memory "fuse5" + initval = -1; + bitmask = -1; + ; + + memory "fuse6" + initval = -1; + bitmask = -1; + ; + + memory "fuse7" + initval = -1; + ; + + memory "fuse8" + initval = -1; + ; +; + +#------------------------------------------------------------ +# AVR16EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA28"; + id = "avr16ea28"; + variants = + "AVR16EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 332; + signature = 0x1e 0x94 0x37; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA32"; + id = "avr16ea32"; + variants = + "AVR16EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 334; + signature = 0x1e 0x94 0x36; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR16EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR16EA48"; + id = "avr16ea48"; + variants = + "AVR16EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 335; + signature = 0x1e 0x94 0x35; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x4000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA28"; + id = "avr32ea28"; + variants = + "AVR32EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 341; + signature = 0x1e 0x95 0x3e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA32"; + id = "avr32ea32"; + variants = + "AVR32EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 345; + signature = 0x1e 0x95 0x3d; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR32EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR32EA48"; + id = "avr32ea48"; + variants = + "AVR32EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 348; + signature = 0x1e 0x95 0x3c; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x8000; + page_size = 64; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA28 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA28"; + id = "avr64ea28"; + variants = + "AVR64EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SP: SPDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA28-I/SS: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 354; + n_interrupts = 37; + signature = 0x1e 0x96 0x20; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA32 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA32"; + id = "avr64ea32"; + variants = + "AVR64EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/PT: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA32-I/RXB: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 358; + n_interrupts = 37; + signature = 0x1e 0x96 0x1f; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# AVR64EA48 +#------------------------------------------------------------ + +part parent ".avrex" + desc = "AVR64EA48"; + id = "avr64ea48"; + variants = + "AVR64EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/6LX: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", + "AVR64EA48-I/PT: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; + mcuid = 361; + n_interrupts = 45; + signature = 0x1e 0x96 0x1e; + + memory "eeprom" + size = 512; + page_size = 8; + offset = 0x1400; + readsize = 256; + ; + + memory "flash" + size = 0x10000; + page_size = 128; + offset = 0x800000; + readsize = 256; + ; + + memory "lock" + initval = 0x5cc5c55c; + ; +; + +#------------------------------------------------------------ +# Logic Green parts +#------------------------------------------------------------ + +part parent "m88" + desc = "LGT8F88P"; + id = "lgt8f88p"; + mcuid = 227; + signature = 0x1e 0x93 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F168P +#------------------------------------------------------------ + +part parent "m168" + desc = "LGT8F168P"; + id = "lgt8f168p"; + mcuid = 228; + signature = 0x1e 0x94 0x0b; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; + +#------------------------------------------------------------ +# LGT8F328P +#------------------------------------------------------------ + +part parent "m328" + desc = "LGT8F328P"; + id = "lgt8f328p"; + mcuid = 229; + signature = 0x1e 0x95 0x0f; + autobaud_sync = 0x1c; + + memory "lfuse" + initval = -1; + ; + + memory "hfuse" + initval = -1; + ; + + memory "efuse" + initval = -1; + bitmask = -1; + ; + + memory "lock" + initval = -1; + bitmask = -1; + ; +; diff --git a/bin/avrdude-linux_x86_64/avrdude b/bin/avrdude-linux_x86_64/avrdude index 7644fcebc883a8fb9c9903fd651a0a29aa53968e..4078011e98db0731c85becd3303631cbebdea271 100755 GIT binary patch literal 3442912 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�=4b<`{vFKWA zEK1}W3R^o8DN5XTvgmO>b3hd&mQcXczGnvU z5lVbPd*Tcb;)NN+1x^j4Ns^$R0kYvWsyqhb5U9W6)FBC;5_U-kStWeHU3MSkAa{!b4x0no(0oa>> zv^oX+2nJ2SAq1>Y+gja~b=IfPV~|W%cXang&_H<1Q{dbSz8Nm7ojr)jkf0eihLRb>8uUO+&GVVsi zi87)II3QyC4@AK0BEjhcNE*89?4md)-o=NIIq}sSclKfg2hvhtiPsQVhU-x4xfQSnH=e(!Wz}>Hx6jT z=zRvu!f1Fa*6>ay#!iCa96&HkB-?T}?N8*;ZzpmEQ&ZWTc$HA;n_P$0q$sq9Gg=K0 zbIs&@4 zeAa+I3Q+j~jy8RZu1xJ@+dQ;@WO7K_%GkVW>-t3-W;+YuszS3m8ld5CN%(n2;~Ms| zgq?3-NrQZshbe|dXV5>rAY=ddOkN~?NXb8?b`7Xq9xJ%eupr(v0uB>E=QKpe%kF^+ zsm6Hu%}5qr@HQQ9l5MUt2tW~MK7yC!;YTu?ghs92+Q#Fsoaq3td3*%?4dihhG7q<) zfy(|j;@VI77JJM6;1`sy6}T7;aTRxTA>F8aWTkp3UxdIg1ciK7jFBwZjbh;Q#H+PcQ~Ze^#|H&Z>nUq89Si1PBT0 z;h(f%oG%YNejW(BMUjA71U5r06HkI#M#~=Xk+R^{DFjxATE>t}2bp|+1JsfYqlQt#KR(Jki2=0I*ufq3aMUZxk(%UKcSAeybLiZ&xia4q71H zs4x~S6s5I56ejyIBn?{l0eJk}57m!qL13YUMr$0Wje-_NVwF!-@;ENMbe+?QB_||h z3V%f$iQXMB@$xA)(Ub9J61}J3z05?Ta!e=sDBww=F9(24^geVIV&zSeXwutV63uT- zbi+1HG~sOSHfu(XBSo=Y){x2)1`uB~Rie zZ`U~&+#=47!cVJ5qW2RRtv~`Jxe1*onK}mpCmxziF;ZON0_P&&21at1uAC&&UE@_f zjAf;5yBO$_vK%op1Bp|a3ol|NYi(X1&#_+eN2W)qhH|))e=jio_fJ?SS1=fF|G-<> z+N@Z?;1o{B@ZgZoTv&X&1uG-i=Pdv;K-5)~3OJekCR=`EI^;LX5;~5AR+n|mZ*L2h zL$HmrGWqRJe(SNZx^|J}x9$%erSI*nUi#vAi>}V@nBPAw*aCuW+>*)fQKTh#1^Fc` zzbPH^yVw#sTlnR4%e_+1UjA+7kcQ0{FaN%6_0snR-lD6q zI=Q3#TW!JW2)6O(On$E-Ey>%sV|xb%Rf1Ur8@N>%-)sNH$h5aAiq8pJ+N)gz@Go6=D$dKY)=rs9FI=3ms z3Wk-#S>90>b1nHfB)=L}L`PCwVZkmCDSlBY4z*GY&6MJFa=bEAiW3>u26sMFiXli^ zwk7||50nCi&J=%(4^8_Q4Bog6!N~=v1Je{>p{(EH7IL{jq6m<{VjKK~C6Kx#jV=3) z09Rq*W)jZhf4vR9LV~+#sv|blf8;2bmMZG`92i9M&*|J|SeRiweW?zNEwQ-|T`_3H@{*w#fLhR)d^LdD7_ zq1D6q4j+M%@rhM?r9+LxY&#+0S@aHL9Fr9k=~&-Lau_awh#29~aB=Q$x+tAugJ0Xs zQ@jka^SEHzVn3GR_JX*(`_t*zdP z;46^)2HL1EzZ$DI@VG`F*XrXsKH}vQO+%mjhuDa-7pbtfUZvkX@$Jqdly=l{oa~rJ z?hh%R2A-+!0bMzd4BQt8^b)W{ihFk3))p)ORNN2#24}VH!6r((dES7DL8jL#d7;y29(4(GWs(*I}zne+!>ER z{>7aMc%v(jTq?`Qq34WI$lC9yH_539{U}d)f*wzFIUj*yE@^y_AU10yS`j{;Le(n* z(sS@W{7f@I&pDS3MIuiT>40`30pn5>hFJM_(Hwtq6Ho}okT`x95v~P6 z?mR|-F+Wri9st5VVqY;MplNm8-xB=~t4BwK+RLc-Bw?QjI+5Rj{3HNwKPkmC`V>3fk>{*tDGA{;C4CduM& zU{-Ns zQ9sw?Gx-3lv0b`9geAqwb0nesMgFaTyotp-0X~xLs7ZuW?GAJI{~ai5-?43(0tdgvlH;{V^8!rs8=^TbewI z5?#(mpagY3(t$kEyeuO$bF98L8>@h{U-RA38CkhA867O9>J$h(ZRw-0ET6yZDS6jd z`S76?+{*-U%NA(cCDEFlzew9vt|6GF1Ae`;3D8-I?Wo~l2NH!fTtWft46J=~=Siw$ z&9HN3XME1$)R##wG(399wzgESs#K4vR5x8(#br`lmbL}!al;L`Cy=|M>h!b8Tf3;s zw5YYhMUhyJF7aAgwjd}AvZ9F#u#k||r{0jICoA?qTx}zGHw9k|%*Xykxoyo{!Z!WH z*>W43tRg$gl_>6?yGIt18Klc`O8V~UxH*BzTv3+V)z2oNi_A79zkZKrFgjmvg3r|Y zOYt%AQSn+{#}#hxdAr3O6itLkh6b7k3|E>GFQA^Ds&Ayw1PjrS>pu z8}A*32D3ELwd6S0nT04!vEy{l5_u~*Aj$4MR@yC_enV*hHg!Dk606?j`ux)XLLRt= znCC77${bqp6MX}O1sh29_}z{F22z& zoZCh63Axt*iN;Z)V<1r^dJP(#=rv7Uyj;SPyyWGS&|8@IXo~iWjF(Jj^sPWd0;HIv zhF7I_uS(@qrFvKStqRdF_&{oJnpo{QR&x)+EkPU`XxAA7(#)xoU1vC6HK&fko6V^K zWX_{OJ6enA>Gvw8X39DkpO|i^rkvt=&SHu}a&m@BDoA915Xn>twOG;+snnIbxJA4e z^(5BNq9AQtj2%hg>WF)RZwWmXck|@)>DVQ{z1PfrYT!BqYNzk(RVoi1frCS!-8PPU zIC)>9mgD;O|KKJf|1`}*ckz4?{Mn_*yjhBy5@Ll3p36`An>wIB($c@0VzNEOVtXU- zDPpxoxcz7DQM=H}b$U|y%p@et-^5+v(G`%8d!biw^*WCBek*ZkReLc9 zV_U3Q=kGcf-zRyx6ZVVZE!x^^=649f4>aB0 z&(0^`%(QOOwEp2vsYP3u^8xzSu5$)(_<0l7%&}d*7(}5Pn`h|G=)uEo;0T_v6>Z(= z#>u$S5sOV*p@Ft$EkPG+NjX>RpfjskFQmqEAABGcuI3z8>JQbNu1XzOjrKN>8eC0} zEH$W_^G&G%)wHqHKGo>n22xl*XO%nnFr!>6(Nst@KUQ)NmUJ%$bb5{X_B?!hDfZG4Dgfj$gJYFKIDgjELM-0T~A zXhQV_dpY+7sCq@pv5WHHARx#4`o5!{@huNQHdw!R+4wa430v*LDweQGCzfwuPD4y9de zqFp4PFa#-l<+D8bL2eT&*{8PL!mk^YhQ9&uxNZnnhMuLatZaC%sf#9#h_;>@ysa-n zHQSr_(>2EV^I<341A{g6Xlb!7c||i;(l^9q+6EVnbP|t+>e&hd{QFjX*$?;jHuo6R z$eXQx1*cnVaB_z9hB^cKeTG}mDCSZa=3ZO~k80jX}W93j(- zWP)>3u!!0P)|ko%!na&6w$r(|i2hyT{-5=9(QhzjMf7|0^nYgjxps_9X@OhvKdX_F zgKhDuN^%aIL=rOZj^s)^-+(J@rVaK2^0JW-E582W* zqODhAgND@Z*9GV7EiV@b%RlFfXDleSsqRn@rix|f0_=(Y!JadB^%+4K$fmBwkqpu1 z{fCENDISg%X4WTYVcftn*8VjiNWd!TCsavD>L|DH6+lC@h!t%FX$-Wf*nj4}N{@Sz z2|3+D?gmH`w}N-4LAo95Beh)gZ9BKh-&=^1TbW_MLg@EeS?4s+lyqYZZKo@ODJaOGY;*eB*tPV*MYu)IO3~r^Dvpp~~SX*tS>w6$`ev|bHLfp#<*Aj#Z z(Yr$jFw_SF(X+!^qSTp#`<57e%7?X^MJ_~u<3)SSM>2QXoU0XR0R`C#Y3MNK{`?R5A@Kb0GlN}hB^lWPzKdY_KS3C@WT%yniMqD8+V*JwY* z1JiPSs&Wmpa^)1|AS*k`+cADBAH5){%d5totTvvm#le8kBwRxF33vYM7yUViyRm{D zN{L4ZE=>>rucC{1w$|?QV0Q`GXU(m|@}D7`?d&^&Kv_@V+AR>Hn?Ff<>V0 zdDj_X-XcZ=!~fWq`5PA(J*BFAuR=_6u%PIzMP|i=y_M)ssBWS3r#paz$v^}`7QBkG zJ4zvM=>QUde#kuq5_i#Pcs%j=>(Zt`AGj|T@10&~l%stLr=K!`-f=6F3NDgBNv(Qa z4$DaT5DJ5*J7G(D`!7L>EE_d#O39ViUIz)8kKX+!|NNW1;e_{}47ksJ^8S-a_m4GI zR^>hZOLK)$Ev6lzk0+tI7-n+FwJIR%$MEWw$t$`DtYV)2+7#Qm_GVag2&$Megw~7@ z?V0`9XFo4yn4>EgA7ax@21<1q8C$JReLN$wK9p@weemxMHUdHQ!AH`2eD&}VNRBzq$F%f`~pktLYgS zw{af)%IM>Z_WGD^^>L%9u|o7wHG8^m472Tez7+k+_=9 zBIH@oEAyrNd5cYHncQiFqTDv3ckxM}`0b{lxW1>kDEokR6-bqpbc$cnhyMLrl8UmC zo5Hka2DNzsl9#(&t zjsc-Bf;BknHvGBLd)Uy!g;sZWPV3)(T9GuZ&y?1uO6$xtt$%e+>p4HI?a!!OHqkY4 zqmD0ex(Y+R%8L`LCQFTCc)W}cf+G;;lwiupc_V2GbYtgIaBA0T=LVI6Rk6npcW7ph z!1zKAS{%!`W~&h{pTbqJpMh=Y0^79craSfUHl* z2=K*2Ygs(Bu0P5KoCJ{fDeq(m!lH#M-jHw3L6A;7-2xGirO8~7oVMZhegPZV@Sxho z$$uRx_FK5;yn(o+2Ni_7T={@BbLNAJ=uAq`o9|$$piGdr^^k!!^ts^P7vnrmxHc{> z0j(~DL~yd2f;ImMF8xo$9XaC*m9=0((QTbe`w94HaXUywrRwT%&#f}A!!bPNqfwDU zGxTGU$I)MaCiXGZiyrTscEYcTdQ`g9gq(0y&g8ky-~Yp*-(pTg)J1g1+^e56{}%~S zuxcAsElzM+y_@_*uQxl^ zHFrOz)0xFW>{W%afBNhkw8AhO$u-j$pj_sY`Cvs>8B}gs+WR<{#ikm$5Q5x z=;~_#6bNpGq})Va747c!rs&e?YCFUhARrP zs*dM`042 z(@VJb{&_7&oO0ijhZ8hx(H^f5##-u-K7RrW{EVyrA&Sa_&~I-vLN|Ag%NxV2&^IeC zT0UoP;-R|%!DX|pt#4+?qA2mP)N=ni$4 zO?Q3x=TS&Sb7Vy#+f+_yEK&Qg)=J1Se&b^be}|yK<$ZBAZWUW8?u^Yrz@7< zI3`wC5nclfl(In0a|Y?@`Lfe!UxZ`sB#VQ_-Rr}@j81jK@1>EquW967CB>;WIMWq} zaAQ*agG)<6HNO!l2j!Ax$}}n_HC5!UpW0Fpv;}LJ2AuTGII|9=D;g{$i`8$!-<;g3 z_oOFkY7Mt(NN1-0cSzcJo)g8fzqdi19c+)u-%&t?0W336v)WKRoGdzEov*Bo9!hp$ zV<_YrDsoagnWNgFF}sfBvBC%y&Qeww-LFpimPEe zr98Ckr*xOGz-!PriW1 zU$U6i6pmc0FHSH2v}>ZF1U1z^K}I;l%NF^OhP!O52Y#p3R%qXCckwZ zE%#D~o2+&9fu^J3x~%9mt!%t8+M9zSaI+j^b^~Ss+R2fx-I^xty{82b+kB!9>M?c5~675sA4Lt~iN~%|(VoV)FN~R%1LPnfZoTsTpMYzX~_%AE| ziI~K>0 z21Og^^D{fQXO?oTa&4;*|1>7`XH6AzhzEU14sAmY{edEesjxy7{(gp2?ze+(H zGzLcOme#rXt5DPcfms7&UO2YGRDfT@T%eOw1i?bUD{w=9CxJQ0Q4+w({#;=zIcSp| z>d8*<-6#*f;^a$#8|ucE*0Ad$;_;UbRv^K)0 zPh4DSj@$$WU1qsg2Hn8J!ga&LtvB@4SEP`Bv8aFCBq$%*HSzyhf66jq66+ETL00!;xBtH+ed z#dVsC>FPvGdX5Y&q-zT@$ETP0Z$t-@E}%gckM3Sw10tqQ^*+mqi@ zc|1MTh_)p|w1w!kCF#Xkw$zNt*Fm6(G3G8MCnNStGV`|*V-Sn(S}H>%H~|PFEV3vx z$<42euE>hLj&%+24lvQqU~Pcp)(uef@%t{pWNt?q$jg>s*6#atuHBD+AeNfhFqoO9 z8|G)LGrAtIJa}C)w2tedyLzlQGjV-QxV+&c5(M?OmU=pB4Ble9V4U z;d5O2a}hqjd&tHv#^=%L&pLcgNdt45XW$|W%xRuC)1TScVm>X+HwT}ip0dC^VK?@S z{cOSK&x`G6UjR>f-hP(hbN|QfX9YgDVm`^Fw+f#N9~kQ$riy+qa~-9lq_IByc}SIs z0~Jx(!AJc(tFa>dxf$O>%NGl8u6KTzitQk#iAz4fViVpB|A_+z<@kz+oAHYU8ryr! zf>-~=7<&I-jK-#*n=`g7;5Lg zK^H6z4!W!^IOv+j;GmM`;Gj}C#b*7uoWzRz%4>%OhL@9m@XnDa7PzkiiRZe3jVQ=b z;oL2F+v)gl1&j+9=R*@bCDYmbA5+-=f)KB;LE^wmbwe<37eZ)_ti$j|x*on)lb__p zj3Ds5M_^{>1m=p8&8)$N9)X`2>N?Xr0<$|OaHpR@KaYS6x4X{K9)UTX6OgT1UJ^E- z*TDKB^%t=J{%xax+d9X-%g_Gr9yT_OI4^kEw|9nN)1 zoDvU&u(jSEN+~Zc2kPb_DqemptY9#KD#JP0cyK&EBbDU^e0V4RI$g-Ma^7GDx?+Q- zZ8>KyuBLL@t}#c?9|}W@0Eli>FWv~DC;#ebB+FLZc?Yok^WtO?=sbf2kmc!ay;S(I zl22LRqo+9rx2Hh^H#Bl^rm3h-(o9ljw7$_ApUm)kIX8e~CCE8bC8P?>dM6fDan5yF z#Qq>Vq3DgyiT;a1dqm%)f5(Au@4)irn-@X058g6{@pk8Qp7GNu_tBBPf)s8(22YujA^zb3|)}pUV!m<9u{uCZ%gSq9?U0`Q%C*|S)cRE`ab;lj5L25oSQEe z;cQ&1dGb!@$zI|oHP?_bc|B?(ug=M1O^=i1tII0S3#bEDvQ93|lNH@FPQi)rqhfV0 zHG|1AEV>BPG$Y4lEr8atwde=Elr;#kt2&5%1hM8|?b)SR?TgW1k76EiUhe?s8d8if zmSfHB`JJv5NeZi~Dko)$0!F|Q1cdf&ucK6o0^yKr>b zS#X`h-W(c$?k5z@hag2Q&}PxQpi#scyl4f&GAeg!TPt@0*`lx#eml$}R1H(Wx#W__ zNabZM=Z!jFXTwLGHL5V3!ws>LRk1>>s$M0_Em!rLX?jQLom{#|M8=gcNKv@T+a%$3 zYmA^1j)op4Y%W~j;(FKx#xb%-E&ne>PIVu({1ZH}Dm#F%SNM*wR~X0Pmw4ipYd9?X zDm*pm!J1K*N_h9DU@>*2E~{I?EvRV8MfCjGx2GVx5+JecTV_|_SQs8%InC0st*93< zsZHevUzF<`8rVpz?+6I?kv_iVnofX(5+TWst0Fu~#`lahR1{)dx52oY_2DgLqJ15d zfl($rhjT2FgQ$ct1N2cQZE2Kqy7?Mg!2#j{;Vp35b|M8gbUw1Whk5Pa&=bWnoG`iT zBT|qiQXmTufH~0*4t<~{jbU|?^e#E>R3D&_AQH*$AU3vIM+Fd#>9HM<8Qno}ec%?Q z8Opw#Lk!pu)FG+?>h(K-)R5g!he<@TeLCrY+5hhoSytK*C_cPH$!B*M8g0C0i}nq+ z_Xy5i3}XbCDb%I|94p*_Io~o2Hlj+~u%fvecWvT=lkj#La_Tf_pOeA7c#$LX(Uq7C z-VF-~R&31f*?2jI6M`?oP+%KwXo?&+kC(}E-Y-`yY|9S+gdKp*T^g_1<_R+MX+->F z>T|T#vp1=CEa!H`S|YJ|Mf3z>m6P!pqy3W#Icv+6z6u27Xqf4I!S`d&#S9G~rW(Rj zqdRZ!Ul#bq8rnC;LIDu;`$AZ{Fm@%!*z}NnoH@_~8;q{IfhQR)lCKqsZjoj89C*sz z{6Df~V$b1V5IW!|Dcv(*t_8^y!L%1yL3{pL#Qp2{jwk*V%@#IEqZmgR2 zIQ6PEl>pj8=zX!OG4Eb&Q_ac=T%@)EFSeoJWojExV{NlTtf_4njoPNe=njIlwgFPQ zw&@U6lM%ADO@}}o(!Y(Uv@GuS$X{T3HP4^p1crw<1n115NhkzchNqrXk81Rd;!%y@ zgC14%7SE%4|5f8r^*t0W)L^&?MK{CrI`OD-5U(B;fxtoCiK!Jnk1Ba7qB2Zi&M^dz zhZ|@fkgf_AC`F`U(8`$X2P>S9;D(5f%`thg?@Y>`yub;>!gug2#bB&m>fT(Wsk`h3 zN!^8fFm;d5_ENWPrAgiCHg&iBp41V@rta?B{Hf!Rj2pf~DlphJq=sPzZ#jt711_KW zf2@5Ad{o8t{{~nIif&YF@kx9`eZ@BjYND*hM>HT&eB+Bo>w{uKeGmwSXx240RZ(nf zi_b=-HCoUFbqR1S#)7&k>aH6#D(Z?9{@?GJ$DO;`1=|15kL2#1J9FloGiT16 zIdf))B&N7!9~*YG)ML?$Qcp#L3o`qm*+8ubsim?DCUyg^cEMT~i;Ap2k6%sHlJXpZ zzDC!4sD8Ry<%;`FR+*5L!+>g~a;s>@qVhb(HY775K>gZ49;7N~bdAX?!r+mE{WCh``ZmyNpf&SQ64#>tGG zewkL9@u(v2XNtU#A@A%Nrj_R7DlwUUNq3S~dSOe*VaUOr^BKeqMFq|SBZwMpe3C(X!-ZWm* z@P6+GTedLtZ1tLG4f>Xejj(YMuX5F7kG|j2dfBiM{ZHBU-W-u=c2nzzo+BOnxpnBd z_L9g-&YA-UKx=k`2eAeSt}_i={5faMAJv-D4dIVXX<)xR{K+lm3(Zn^j?Gu~`Wau@ z#Tv^#l5KZdXFhrsyWv(=ekBj&^nr&}10VTok>7*)p!`-(Hx2ySi@JeF0_DoN?1mra zZeUWQMgwND4SXpF7c;+3@_Zx6?`NTBd-3=b#sD6lz=eeeHu$t7LgnMJp=Uer{HQqe z?8dXljW1Vgv~88-+ZxNa0T6vP-rR;IAWmPgUuzcjYjI4}e6Sm|fKB3o@#I6lK75$- zkmAEZQ-lxu@j*UZbF<;YOE0+UNciy0mhgd@EFaF}Fl70V2KL&UE z>hJY@^?GYBxWwZTWX>H~^5#d8F4Tv^60|F-g|&ttT(K5^r@9KYB2Of^-$Wdfz#n_! zhnZ@WDSsvH;XKBv(L;=+2yUjMA5*6vw1TaLe;n)Gbeb@w9fAD)YXW+vvGt6 z|Cas&AN}f#Vzzs!Izzb^7G4A2bp6L?ITXm)wRMXpbYulZj#bL?$heq?dIP>^q$6CrQf|bDwqM!E?nmxR?RaiF@#JN~B{k6=mW! zyl8%vMSi3=u$*{I%7Vv8;sJHqb^~)7AVqfnA%_Gp?A+; zzeRDd1^A}QtVjR$wrvgq6Q*Zj!m^J%+OZ#L#K{8WTQ#f4JW@h)ffz30Y%|oJ`Rh%E=lxL|yMaqNidY{bAN2-O6 z*#HP|{6J<7`Mny!=l@bh@JIRJ2;MW*jNm6M&<02|YONfJ3M&_&>KxN@kIT$tx%}=8 z&Iq175ITY(aRv_+EZUBCi&po*;?gmw!%v_U(pp#38elZP#d*^Gm>2PEhSpP*RohK| z@Ejn;4^XK4ck%-fZ6Ox-Px1pwCFeud>T1^HRS#?{K~gH%b^^bk`f$%UtdDAAxtCyh zWVZr~9~$gk1PhtbI9VNg^aLQL@Kg?Vln^eT0rL-P%6JU~A29j8xr+IROcv%3=Y!0@ z4(700WqSD;&HSQ+4f8vI$7Y$&OqTfah1Ny^+uM*azB6J=cmlfI1 z?^DR$a)ls!Gap2DDQs4S>`;SjrA3x;Lz_j`7hLodTqho~{WP*#TDLkzP&2+I!^bl< zYM)&$sKxmpYWrK%YM$17Y_+JZ*b>y3$?|cC54B(N6PbsKZd5V$P-)zI09C~CN54fl zdUUDb|1_x2)C_*ZWshjLd`1m9{uI zwCH^hm)V*AxEdD3P-I&4L6)yG@Kue=XF$QR65JJr)iwQdNUcpBT8q@==k`;9IFF^k zkN|$GvP1bZxh#7wHCCX8p}gQG`6n+I`?vxyB!J%r7Jf4N#8A#LZXzk!U@4(iRwKfK zRiLw$UpHp?dM~~zs0F4j;byUJm~z~@r>n6^Lz|F>K@mHx5vd39&>KiNo;TYKB#*%u zkp!Z`%u|pcDETHW8B=|XA#yH&8V@lhg63kLh8&uGnqs*QLPt*$sE;Zc-~t)#2t14P z_k=cRhvkHq@vs42)jtP^o`WURlV4sEd8H)M)s`Srb_1YTDaRdfN3(3!zpX;FaJ9X} z_k3N?U|GzwOLV01coj!Zy!|S3*D}$iLJ;yzKZ-rSifw3;&b?bHq^~DQum7A6_WDDw zHVWyszv^CJPz3Eckwe$sz&?jUB2CIbU?w1^#9#o^@B8!i`}_JkgoTlfa5VudEMrmO;~WmXKAd&8ks?q|a$v->BBw--*^3ov zMEfBY->xwif-4Dd1zuqwOj@jj|NJsRGY&MGD4X!>au);M5p2=kR)khsG?C&ph2lk8 zR1@sgZFI}FN~A4>MiL>cy>P)gm_D+Imn3rm7wFb9R1^Cg)1{5oX^;)XaBKtXjMmm7 z7v}Li)N(=)AGz*VI~$23msU+_n?z(TvB;3|3Yj_YNL%TUSJQ%LzK^!zB`ArhR|$~` ze+wUi?}}7Kx`+59f5+yhfdV^qsGiC958XLtBec+5B5{>P0^l_g1wcZyZ5Fl*Lu(r} zgE>4H26q!&HNiFc8N38XzzVq3O=z|C{#Lu>65DD5v=K*dDxN2w;hFK7d|vP8vz#z- z;gyOhXc30xA_s8786a8!g?dX$k(D3`UPIs-eQL_;_M%r-gBiMVtpL-@!)tMH(s%gx zJ^uZ`&-AkH9<6w5$>#+lyG-EAgD8r?mnDgU2nXkML;3D*9gPV3Pz2_KKos_UEW<~M z`9A;+hy8;0aH2n8#-3o@+LBgw2|00o(N>2dl+$$O$&g_9M%O|V8BmhY9SB35^zKVQy}ix8f1ws2hrWoB3(ei-5ADML&k#hVscS>Tj>u!ZcaJe%kX5GXNZd z9;L9Bsk0eE41|e<@JSX3AFMPGzQ9*PfB`%zynx}I3uq4B#*&}glAgYQ6eV?j=4)m? z9z>~d^zzks`EV3AmMgI(5Fr2+AQpVrt_q$5g0|OTdzS)?${1ds3<6ZNVm{vUFtuHu zXO?WZUxxNV8h9_Z;A@1jVMUMw)7=;u|u%Kr7i%Ms{@h z)#m3bOc$twps3=twQT#$PDBXfvOs9I5J~_chf)h;2c0KdLv67SaZO0W}9GC^-L6CXO0^v1TwITrS!k7WU+2vg9?HvvuO6M&T( zpfX2P52xCJLBi<#XmIzavF?CSNoyhKP+fCJ1a!y50RTa3VBZVRCwW*hkq#IK>e2y= zP=p=u{SRCw$(F?6;@dswuo67zJG;<-A{tEHL65k2*mb9F>>w5vt`ffe()BrMvO!hMwRpo6a;eK2I?VIuKHc(D^RSgO)Q?RlbWY&jTmiNT}A=Pn$M6lg|M zjcABZWr6rB3-MqDkxk21{a}aVOz6I$iQW02Gv{)aBt^kRf6&gH z(?LOH8pu~ZgGzHab4Z+W<}ec~Rg?E|7!v5rVa?busyu}Jg@}8d2A?H=Eic|3=Xzzt z_7uugOr*?s-O^Z{N(ZWbfih`LUg7TIx-zeanpcqXNtt(2CVK!21rzL{i?D}va@FNm z0#~xvY+(KCYP-La8(3$)XJ5I2b+^U#wF$2md#`ixI@^1lhu6owS2}@S@<6rV^_UMV zDEdt9^uBU?>*6=<*EnAHTV-E4yzhNr33*1Gx!d)W(e{zzqGFtQTDGf`#K4)Z+Nejcx~`rr{MJmy!uc5LZ?tCFPI(ywTM$j zcE(IPPtT+g1oiF4wt}M|J*8-tSo_gFN9Wv^#lT?KAo5i9uAfKwmim5$2%=rHd}V)& zVKq#BRnERcC))03>yUgj{RPV60B*ra49b!ZIgI}gwJCTX!gOdGPKwUq*9?l5FB6JH zSR2c}a?dkM9K`iE?#{O+Q~~vN+o=S0F@eSX?77hZ>kvQVt>4?`>O_OIc(0VWyY{zY z(uCIwez2J-Cj3v!6orWYnT;jzyyCtXM#G>-HHWu0o5HaTE|SI}FOxgM8$ww9N5Bn^ z1%^`R5is-wad-<(-ZwrBJD{HnZ;*KY4bpwLnmns)L!gkUmR10Ryu=an--GlX1iGnE z;ka!6fU^**yzQu=($uh?*_NcYRn-B%(WsO`=j{rnqq7lf#0{AkX0>jnVuaEOe+Xgx z2*UU=Tsmv;?-NuKehanif?9yer>NsoMC9?ILhlg3#vnG5hafgawtcK3+dfi}Z6Bik zv7zV6K1FC7>V!N090sJh@zyz>is0ILdYMj7J#aj;A;^*iH%RN!rDq0@y9u9mlcWVg0tA0p)@xPac zSKS7#tWuo%H#ik~w(Q-|vtQ%U9eVba@mTrzx+K!sRth{9tw5!*Vn4HPTO!P&%I0K8 z##yu_jtmtik~W|I^b3p#jX3IoT(&lS{^{0k15yV-T$i#SY%GSM()@BkDno3aL)a(R zVD%c&cu{g8BNxt3xk)w2yC+MNyuk;XWaqQYPX zi(8%RG)ap6ciIN5xQdp1a`}LyDAHB4`^4s1r#&}nx+CxV>jY_gf8$Atig87 zAVA&8h=o-*S|B4j4OX~Nt3%NUGs(rtO&Vb1wg z6gcz)UNE&t8CAk-bJ zr@w4M^!RK*=K&}#HsMA<-)VREKmoxj z&05QI*;Y(UEx0$NFX~cDl%3l!e8Sk=@LzP{n_XTt4G@o7Z1TDR{Xw@U_|-&S<2hG9 z=jms&eo`^>yRaM2cKzO|pI!Rdt)IPoCZ9wLfsWqHCUCgb;O>%`TuN#}_1B^tk5UiS zb7BfCX>a5NM23{+W9HTbk)I1M7~hBDeIDMM@m`4c;dpPsdn?|H@IDgn?RbYuD=)>& zvl!!D7t(OfX-#b)G&_YVbJrN)STizA1qR1}-kOEo`Jr3?zR7ZIx?0^=c0Lis=~oyb zJ6_~xUbr^-Ye0a$$IQJi$q=^ced0}p3o{6d|LQ5p@d$4}lTv>hl&9CDI3i{dFa(clA(`tXRmk2nVg z1r?P(K)CqmbFiq4)YxSt-b@5b$CFH+Y{7LzT*-VlD&T*y{Pnn@L8|E#c?-^B)!LJV zXL{bPd3@)r4Sb+xfJ`-p@mMT<9UYT7p5T z$w%-9Lo-&3)+0849b)6-Ftg;mK0QmqSG<-byorvm%}$~8Qo1`yg6P#wk_lEtBBlmk z#3?j{f6Oe2%FQY(COoL=M}-Gs^yQeNp9Z1SPv-8rP-MKaN`A^56>%E58WHuB>%YK> zN`?5^l9@P#J+G3-!mNetOi;c;<#C};Gn-ITCuiX_%%gQh;h!9UIT#Lj0|AfvfJZpZ z_`AOdAoOV?6nP77F()H4sW6m2$Ub3mq7+Y5_2z3r_NIY=$~cQZjio!pFt3UaLYaNAao#khzDfb|)G9I$^)68ENejM^_ZX<-aIMT_Vnn|F)nyn&W?{ zQ5~}3FUYfWV5xYa2ga{{BxhyzcnD?1OA;Hs6Psz-KHbVF|HnFRp{2VV`;+?5csUw; zdnz6Md7(R}lGC_rnK#=|9uAX6QNtBGcw40v+ETYs?mx{8SIW&_o&_Diy%%uDSB}jM z)OXnVSPj%-3Y#T(mO<^*+)yO2(2S%TPR)fHc1_y(PVgt(qq9lWBy7|GeOv?eq1MW) zc*wOgbED=vRQ)myMMTPX;c$`6F#Pj2=}FOAdJd zOq{#DsfT$}_yE&UlgOv0Y#VuEuZD`YU#^UQ3` zh4GnOsI{{5D_3?d#FR*xIuae{9OC6pNQ37AZk7h}fL`MQ&DTI3ikl%lI~nBqNRJ2S zS{F_`Y@O`Lkt1fd9DK2EGsw}1w$`TF!0{XOe2JP3ocT05^*)c|d>X0(}AIylO7Jz_?7B>y=p= zxjwSw!MV$YQ>Eb;UV2K>r-^>H>9>e7mxKbHFheE8W0lYu z%<=Voh--lslEtg)Q;|7d%4vOYLM@pyMO2GpE6lUv@Qh1TKSLC(u8qkB8sk`{u6CfR zHXSWK5QjYY{9ZkB9RhH^Qs-Tz5||eo%zb&=P2Nd5?^7mWqfYn}5-dwL?B=lq9nLZj zc|kk$ximp?D}^oSt~If;4j)dRNj}WY&4=YKAJ)mFS(|Ig`K%~c%VD~=*6#++I|`B^ z4WJP5!cQZ&p_LRMuE|NDWg~B;bK{sLzV<)I3Jgv|vc=bCV&i9pwbF7(V!fs(7UvI0 z&mp)$LQnrvdvXYyi^%C>n6|!V8-!eD;&tP@L?KqI0eq?U%P1oo*)ZG0jAUcg5CBsL znCTog$4^%86x#=C*j$~N&DCzj_6xVUPCG&OMT%|eax_Usp!&5( z*d~$6ylCz3>oc1KF}+S`IVK6;)9^*j zocy<0WRD(om>bUm0{?|Ef)q8gt4*0^vsw!Mv@_o0xjxI zWWh6cH8HR@FOaxLd`^4v5G|yN}@F*tZ@oKX-9yD^|EQ;M#u2#(j6a1vQnvt}L7|I5 z`|)lgOco4+uivEUxI8!e_Hm)yq@iSDFYL?ot619Pt8F$Vb_+&H^E%@YS7tKd`nh6U z=nSH#TvQszjj9FC+?kxc0kh{Y;+kNeuKXRxADRD_s3+&-6CQDCHTs$St%^euIk zt!Od`OLLC_w!_a_S`1-`j%~{4=~Of8(!-{mfEqsijk+wVGj|17xfR^ytH8CmAqC=` zV4aJS0B3he4MBxobRrjDCC|6aqXe`g(F;?@%kz7a=O^Y--p7u_3YAA&`!@=Z{?M%2 ztBDiNd>JM(13H5Y+)&kI=nvC$%N3xU&lgi@8CvVo`w*3_WvGu{6FsEXoTJ72VBE}D zK*RLbIGd9Ppvw}Yy7)jwZH)moR~l?;P z&ID~Y02^O9GdHA5T}ZDUqv$di;iQb}E?@ zOl-a%EXASgV3TAo&gH@zb!RvWHSTH%csP@QE=z!KA!0c-D|nJYz%fEVxZC1ZY^O(D zEX0Xg`W7!Z-TVhnZdtT7`lP5^Mruf}$27Z z6dfE80AB@b6o~9_OHY}qRwdu&PwvvW-~9y_V_`O;5?)}69_vLmiE@j4ja7|T8!B)~ z3YLwqb|{kp#OmuKI#-Hgo?~S@s<0d^BnP>QkcD*d5nnu2lm12~>G>xcP4JLQ`qoFg zdTBJ8f7#Z3B?ebyYJ`-;xgs-=PIVg@1?|mdM)Rr-UjP`*2S6^5)zx$bstcgVx{7hs z51yT(0l3MU6Ij_X74EV@HGdzDbvFnk93kMtI`Baq)D&UhIsI!jJ=<3I!%oYZo~^4+ zz~7B>t!a8Wcz%S6N>EM|B_MLjU~t1gQb#|p94=4S6prOfPn`=79nyPCBf(WF3td(? z)NNm+0>6&L?ESzguN1zH*}8h*qR+r+?9Qid0<9lRQT!jjvAU}=A#I?vu_%B-+Xh_x zx7zsDBc%-rS(8)>M-;vXQUjP`8^6fceMDLKWVD9DXgvWOrN(J&D*KPh7^R9WCU3cz ztmkZrqm->)UpzxM*l^pf82_&0aNkwArvP?HoM-{R=K_9M0|r4*T@qYnx~y2+e*ru( z|N6+S2Qcme9B(j1=iZpC+XRX>-BHjMPpd{r=u08FK7D z*L@^u=|kbe)X6;9UsJ_(Op~z%)>Rf(|CD&|*y>SqnDJA8a4+7N^TWVJnhaFq=nc6luX>qo8fk za^>nuF3lIPD2L;1RAPeF#EybEGO=@C!FL}dwi?H4KECwV0SHA;gfVq;Wc zY01Q=Xjl5`>kB~xgr+W@=0Oa%2tmR0)mmIjGdtE4EB}X}AaGIO9zIlcEU@kcQ+A3| zwj6NVys|}Z*_v+G#88YtoafHdaeWdOh4!&T+oAkpl{9qoxw5Oh`x`K zD#O!A`QYS!EYyf|vB>}DToyhIg()n29~fXqFigW~oZCPDE6u#l+*lsxVmY};YbELH z|AHBx$$)&#fJp}QCKzyn3wj$L=$kS?XE2~x7(hy02JFj1jWi9wfTYWShaiQ*fPV-B zI_uKYr)`I^=h%56M#^YentzpMM>;n<%3Pe!ImF7+6jOE+vgBKh+f|oUvUEG#A!^k1 z2r6*Mi)JvOkbMTHPm$iYh2Fi6kq)PX{23@Yp?4h6P39A46Kn&889PwrO|052OXnQw zR9p9IUZi|zvIAU0YCLv`F8GiXtlEisA$GV;vj@5Ix-X`tsJk~dN!R@v!~$wfjVq!0Zl#({3uN*f zXzY_*f)N%l60u7)jN7Nl&DgF=%Pd&Hf(@qNb-LiV%@wSDwU!0XWWh$K6SR)tk7 zuh>gkx%x63vRmIilN?I^Qgdi7GUnh=wacM<4si1Tw z3(u$aBQv(0aF$%ueULnYlQjyssC$`%1VqTyt2HhXA%#RC2pDb%i03Xl!!7&f0k#kJ zOxDB~j`oPpsCTAY_CBv{izz!PcUd`Z$&4fCdu6Lk*?GCk&T{J==9L|3%J$|i>pQOe zW6WsO6fd~`3Qcd(n4I+1x%K|VE8A|$PRU)CCw$s*^H*Nk*`{oJ?y~i6*+aatrKW8D zu{m)@ETC8Kw<8q2Dgtm6jjCv{AE59;^il^%#^`#x3*>Jah_W0ZXPD%`IQeMr~L-oo8~0E-1n%lg)1&HPKiN}X~8>*7k?&g z9sB7B6vY2@o7}FZ4qTf>WI1-P!Vm6+3t)yA{H9x?!7A@4@qU`~iPk<{k5@^zbg?dN1#J>KM>CMaKd-a0UrwY8rU_uNn<|Lk@%!a> z;tn^naKaR=dzIEi&d|f7HwvyG`St|9;hyBHfVCLkFv2RQ7>9p*(OY?|6Ic_mKhgTP0FCj&9@ zuWZbX+g>i+-@wWv-Pqg!P&^zd*k8kdiB)(!xd*e&$fQT%-Y%5+3QFPfaLW$M!%t(^ zMR>j1>-Y?RHiZ8!Xv#eV3;44kywJ8Y_-mx%cQ}E{rjxN+S_a~@Ew~?B#wfLQ$%UHA za|Aya*2eMc;dh9O-(W)}_N6tz$zVjxsp4l+b*4c6e262EYVAo>%rxfqngu?c0ph8L zR4SB}Og8*n$>ar4{#{^g^92fVA^`SYpBw#=F8XC~%b<}8rA7$n8@Mo02`A5$aqx(i z0u8C@I9(HJX_8v9iYafywO!z|LZ=o-l@vgglmq$H`I_rbH~>q~NNpb1k9Psys{j@V zf*rL9tiSTVrc2Y(VXD8NY~8ms9mE!B?qdsxZf`qJb1c7@{fNZtJuV){Cb-Zq zx6nOpE+(MSK6S5_s=E+PLKG)}%aOp%VkRi%dXqY@OrKfB!;}`6zl0qwk)46OC$-Vy z!F8RJ`W7GUE6)2@!2d+wd^`H`-J@I88-@0*1;JW){&ucr#oodSuQ8tyVTo&=2RiN0drK>0A%DQ&CqOay6wP0gZNLxj+Mv0)MB>>&#yQ7 zfSOLLoO_TCvY*C^$C7xy>KM%g*0D!{ zID>FC3HL0q5L4SwGiDY2QngKl8mhmA4G<01o}>9QSNP*7_+C4F&vE&40Q@{^_zsRW zWxJiS;&=7R-s_hAYFAZOQFsxggNFn*hCjnC90Nbqpx`k`o064ku&`tmejvZt9xtIE)YCLg!Y%T+%b7A!N!6>d7S}9#J zH2c@8jeAwx;&5HjD=@Ff;U+;UbqxB(XIM7d zErS=&eWG}g{7SjII%Be81}Y!Gm*l%hwT5eAu9>pCoa7r^_=VNxeP?zoMa*tT)G9EG ztR?7Z@ZAX-izWw)5@6WoVbSGcF`Eiltjyp8rfjEERvN%7`=(pA)GPbD&wwk?c^B;| z>t5T=WQrgu=E*4^San!c0z`{Y8K$3zG&~{09QG=E*R5<7r&d5Txs6b2CVRw>6|duo z)K;!p!#~f`tmv}@>D3T-Yq-(W@Hjdg#dp!R03I6&1X;s|twdCZ1N4)hDr!^thT8j? z;!%4(WJ4fu#t=J6LwG?!7_674l5(TD?j|Kr?&xq60evTf`02tL$JX@_Pq~PQtJr#q>)vOISMU%3@rtSd;)R^_ipc^NFu5df&b zSmPds-?{+y&;S&Ra8n-4MZ`+cEwjIYHAP^d0%JLQu)cF)y}=n7yM1av6PC_x-|g$W z(lg?nOFM!!i6a7f$zS|Jd%-u5+7;-e+c@?vViU!h@P{ou80Q>j!sRhz%F(3bYyk!f zjyg>T@*xZN|3l#M$s$$+rP7Uz_~*@rrD^U~g4V5YxSKdUs&Qz*G2onSeGlw1%gQwD zJe2jcl!c9b^w+{^NU{>m!?Ae;Mn zUska2JNol`>ND;>kyTfbw0ae49XzF6OG+G>eY4&os}*?|yhU;?r#EQbR1IWf8&kUA zM3#nV7}@Yj`_5T^R+mQE*U!{77dvHT(Dlmhx9Dpb$4HLxV@HY=K@>U<_D zCSQ!YEt3~Qt;4h!1LO`f$o27Zm0PwP>>~Hxj*2ZF=&K2OCjL-j&r_hO_TD)|)7>C+ zJN?N6eWVNe77aS1J5g#e!ayDvGQ}~99mV?W9>*01Fq_!eCV~rrFzfAF{*f~IWHD!s zI`&Q8}^4_X271> zBEP!O8M>&c#+5{V#8IZ`7YoTZU%vdovq$ij|qm-G+S}RvNpKSdpopH<1(y%P;;-ck6N0U-?;H2$n;6 zLC+zI7kR-`pSr5Tj%t2Tr`hN^$?J&YNc}v^ha(_(x;1C@$Tp<3qh09Ej@MDAOQvgp2CR=i8sQaMtfq6(vUJgD_9)MFJ?#p|Rjx*4nk zvGV|gjGy0MrXgBnsKDV}-U^4s^@|DvmLzs=z)@-X_x26p@67K(4dL(A@0E#$@DI^? z62Bxdv;o1<`gZ{iHZZ?&x8^$ao144EA1%a+vs$-Y>%Y(njg4IZq*);yTz?&o!~Ao9 z-5OtUB{Ivx|HV=Kl2f&CPRh-&hh2sZ4!OcPPB(h$XxrF4R&;%I4x3j_7Hu3{kOj|L zP+@jx3L~b*6ycui6>xNUu@eJ6WltV+TJeDF;V)%R9*y(y0FU_v^XbMpar}}V(iRZ& z06iVIHv zB5;+db}sb|29q)*2~FYzUR6pba6@JjwAh~TPqzsooHrW%kbG7Ab_V{utnhCZ_^r9& zzv03k;e&q_;G=0kqo~s#7Lp4v*!!k+fnPYp8%MiXUh<&E(&!xWUVG+YU}>32Za}5c zdIb(AhxNh@jYGey8QT_mO46fqSg#y=B4>-?fZ9^*!*8r-8(UZZiyP8VK50-MNOC#X zE024^L@;=|Z5sNT=NTdjUTnC(Av@j(QppU@T|=Cx;iR;b8c{Z!$&Y;c*k|n1Iz0_0GEQ$OMGhSaJAN&E*{0k^M@OoxUCZg zbm>x_(kBITmz%H3H4dpqp+KYyXXHS+=J7xZ3eDzY?7M)!=Sd*^{`1i9j=3Icsx^YzqTANwMBH(E7FJralPUP;^ z+fg@|X~cL=@u4=dqe}+rnUPVIZs)bsD5GTJW`I!8FN3Kk3cEC_)VHC#Bk@Bo>?(6y zLT~7f?{N^G(kIrCEVO1UXXkdXS8Ju0!pyOW>V_$sWhk!WT;hD+^Ht^Mw)u^lTN%cx z748O~F|XZMIqu#T4u=zJE-)wz!*dA!&=h$5Ew(o|Oxs(GoSmpUo=81D6nTA9rY@_; z4|E%33Fmc2kIPQfjLUb{{FwGt=3TyX^=a&>!UNf3q%JvvGgNO5<{?0EtNmy5J5e<; zS$096bOMPf&m^YT5_7yu%v$(JEHRti1)V|YPiaf2AmR~Pcj~4ICHhg>1^q(+2q>2P zf9!%TpfMdA4gpZdVL!+wh{*NgHpWMF94G? zU>(LiuTYx=XTL)yWRB2yOaq{8P|^u`Sio{{7x_aT7JdggGPz-OLSf0UJ_N@g6M_{V zhCIamArB)U=M3e+rt)CfaUig2NY6x5t>_R4az=H^+L> z4&=0+@_AtY=z^W+g4IKSEL9m&Y_x+(SYEu_4o;oC1iG%XxB>dw@I?(|!k241$wkdw zCw&dmJ$@}O-u-yzm3NBOb=Ky9xl0b1O-T27J?W! z;9HcQEV*7$xipG2p&icP?9aN-5rSL!ezL2GBf-|snY|TJ38-_s3=8|$!JEu$1>I4l*T zD4^7*kzRd?xPh(ixifE8ioZwGd{1DmFigNn_b`Wa)2I{qO#dsaTgo<;8MbAo44XI` zE>h9!>?7CZhXZ`yz2K20vS}!sR!Zt}%o8j)G5*jxa^;6cO=Y_S?P59rc44hg{mkS6 z-2s)S5_v2r!Hft9eKBl35j*ZX_`kA@u*zd-GIeFoWG-!R23n4@7oTv#^5Vhl5b(xz zB))%LESD@JZ;pXU3U<_Peq5e%syC=%1k4zhKN@VmPQ=$g=h@duc2_7VV%10d)@!SQ3ZKT6k@<%z~Ja?+=Fc1O>}IIwZdwpAwp)n!L=xiemwe`-ck z)mls|T}-E}%ZVu%4J?HqeNe*xmckQ<&0ghb@Z;A&G8eD0-7j`Huw=)->vVK{Y>~A7 z@NieOe1dG4tQtg$qs6-+D*ZEfzd}zfl>qZNh`o=nMup=uc&vH6G!nd(31*azjndGU zKqoOZHd-e<0>w#Pjq1QXe(OcyQ&1S{(Xu^54W6V6U$3C0W2HLbY(UHCT!5&R=R}?9 zSX1geolxkM(jqO=;<4K7)x=lx)6dH8!?jpm1(?3|fO)pD-*p?ij&nwFXYhi6+I$41 zhhpu@xi@<&nAtGu_r7F&F)jpIbJn&v`X0;-PBpdE=dR@gx0c;aEyhlCLQIbW!_`4C zH$(F*4}Xd{rLs@iIPO?lU~^TdTu&^n9f`A)PNufXl0Ob#2#yfn5PEhc99r>ydHB;m zuS@&5^12ud8(G@^d4K&iuYJUl$g8v8koC#C4%1xR1bsZb&vx!(e^6XRuiJp-t%iyX zV+Mt8EutW0!L3Gc3x7JMEHwL0fI+EG#~g3>xDGM3-zMCJP+;{1*#d1|8-C-~zW967 zhQaPbHRchg?3w_ z)^LlKZpzpnfE4@oi8#NL4Qy5ZcRE2?7Z2!cID{@M|Bgkv;#t*Ykj6Ddnr6i>nr?mg z#n?mJTEFG!1DPibtSn&~hkvCoj)A8mm~SIWV|n;Lwt3QM2_M$S`>_7A#(FY}q16$S z2ymRI>iOesOgB;;dr;>dsdCdW^~w9WNC$r3j5(eWUD!8a5F~jTB2F)GAU>=iewvp0 z84u@!2saraein*#foV@2qL?-wQ`GNqJP``#P#1f-tedb_SXT%@--TkGc&t_MF4pj{ z6!~gySbMv$@;z7}Qx31$SwpG(BsYwGT^P&Yz+qFSP6sOADvZ8S82#g5MIkT>oR*Wi z{at9&6tqIiy4Wr#Ns0X(_KGpp8X@$J`qJX=BEVf}CSrp2FNC*9&jyYGBZ{IvfcZhPQ#uCVlqd<;!>7Jo$R7&6+2yM1nmgB5c z)}l@*G^|+i5w@of$d>cg?2~;I#8?;NwHl(_@{)z$F92?B%|=9fkfMgLum!P~Cs+c5 zXQIyWmHVDf!OL2qZ)f>`dbJq;t_kGtXz*1EEo<>JU3_D@`0{XK0#Lw#>q#^SEMC6` zT7h6mrp1l}T9oRiK!-O$y%a^0s_*>n0Ahc-V2_Hxt`dI(sE`J2+8(c~mv#i$*LA~N z_5L%|Bg0K!LyBnp3;B(;r0pKhx+#RAsEl+@)%)xkyzPB(j@Dr99l#Ktl;W%l5;J=r$ z=3=ZNZOIPAO|WDZc0^*O?>8kFr%F&$yi|7d@Hmq=#1caAA7bv_SJR=-4UOHPae4ws zrcT93U#bBhl!8}JXjnWQAFvRAUG}5Ef(r)1Bd))j4Xjxj)SPgj0kF`W+Dl1vs@h~XB;s(U}qPFAEqJs z7+NKJAl9e}$d~j`eJ#o(I^_gJr%;4gmJwAkURHO+>NI-TcjztOjR{xpvOK&NaaZ9L zup}^fpu<>hqB=0O6Tb9A5={!FS?|Lyv^mCKh_YG~UkRfk1?Kn?hcNMQgWEkCx2xmC zxq1ljx>{BEEud37q_m6Z7|c~qNgRzRGUzs?b7MoA!D?p<*$w|~g0GLNFk<66~0VE#J6T1XqQ?8pFhBvOBB2p)nr zp)3;I4L?(ZnQSuql?JE4p5G!;76+%n<%&4UBVD5Kwg%CBRoey@XhQl6LJ~-r7LB7@ zdLN|w>)1qVdYxfM=uk9bQ6@KkdQZ}ansmd*k0rf&A8g3(gjWUP%n(TlolTs=8y_*U zpdFL_z!p>1bg;i{zU+ID{^W9S)Rb-0WdBN)MeA-nDRqhYx>$cL^S+)Tw*&*HKCkcQj0^GBPs4>v{0V+h0m{KTyyUyRwDAaB;mzUw)B)5pk=GLg zK{7JQ>|evnlgmg6xgQop8VWR`s7{$sx^vyBwmf&oUehA=YwT+GtS27gofk$+wvXoB z=NEJCFM6#barnPjr@p}y;ka8M2wJfN0_4<_hcpth$%9Jv1fk^L*#%*QO79~G+pBaf z2s-HACkV1Q21NuOFAw+pQdejjs1PJJgukk*fsE|U$VDS2U;CuwV@y<%4Q#t=FU$A7 zEJKkcRjC`40cWF@UT@nsjd!_r^b7oG2y+RJ``vsOg?@^y$@t1~P?%MUc(HbM7bt{P z?3VQ^i*2r{JQWSMcX>@j-K?xm75?2FEgpgp=9zT;Ru$^$L^lM%=lgEAJ~rC?5Oh(- ziD928>t2k2)HOg$N0YDDl5{xmAsM*iZ=!sKQxnAn*K+%bPivT}9wh z#}x0COC7g(uUzW5$9ug2uU}W#vbA`9^J4qjfY}wNVAN5|j)UnDd%cYJ_y;m-x zbb7B`M0w1sw;Qjod!XWYt@7&S%Ez{s+j{fy`q?D=nn33JuduJZczx)X_H`&Shp)7+ zTyQ#aynSUP#OwNXxj0Uppon}K+sV{ON8%=^*Bso(ir0-7U-K)o;-%o2T|MfC=DPO5 zb?L#s`6V=Gbim7Th}g!s$W`jxR$7~>@vT4Oij^e-$;(s+mE1MVcWp2O%vBTHXi za1W5dfxBFl?Szc?W@K!nSXXqHw9P#Rccv@T;}dMb*K3=-)Sy>ucN1^x@LLsASIxusfYEOjhrt>(4rALIZo{qCG+gdsP+R6&4mAKpv z{v#G6oEiW12GDFY#v<`xMV~Mg=l|@gwbsi*G@D+}>RT+)ZK{aUT32GaK{phZ?E6il z-kS~xvOpitWSa*;_B|QBx4(v1z>!T$WhB5P;gi(pz}X7^`LSx*65=EAUQ0)yv5jOJ>}`&XGIB;2|HX5idg zJfQ1>Pw&Ddv8Kwc&ZGc1ylA()SgC+0UR;Qo19=e*UfjwFPxX+F;5hsu*v0KQQ#Y{~ zho!5Bi@;!XcF#20%W@?3=9qd1`>WzC@8>MFk37<6y(|f!_0rv(Lqlq zm#B8AAQ|Dg2%iK706ExuLl?ev7cAn3A#cIv=g{hnyfs#=wB%p<<3rqpc`p)fz-WOR z0>Lp$KI+d?dC>uRuWTdkqLo8irR3{~ZO1tw&2k0tn(CSO{e=8pUwu8Y!dBp6y^?j! zhDpQ>$HqHYo8QKZ>?cwO8%zoijkuP?w7X-3a7*Z9oFG9vP~72Af0Vdx{`Ko4BM^ z)=s=8;q=uabFxB4sfFajikV(5p2$vZ5suW=tPWJ&r1yXZtJf1LOh#GL#82KKgU57~YerozBo@JA+*G zW7?oxRb7Cpu?WjLz8kjAhLcb{Sr3drW}t}afRdxp^h~nNKt*45s6WYe^F6>b|0mYe z4cP+DD;Fr@A`AOF5uSzCXv6-;pJ}ST$fPQ6sTzvz3!tit-?U0e7VA`04cj8BF2Tg7 zt~U?fU&gRbG}Y#pXACV~wS{iA{dKj>s*DObwUef? zD0gMP)slN*=Ck*xaf}`qHU`Zr%yr^2Q(`@K_bv~go(QJ4Lb}~*?j52@pO{H{+BWYPm(PEA*C9Rm zCm_h1p-m;Vc&B*nZz~~xqo$JD+?ABLl^o?(k{YAqU{k}%XWZ{JHrS59IL=2edlk%X z#+8@bqtf5O{mnb*5@14tOhEMBBYjS^PNNNa(FSNSSe4P*E@?Hsa%*-?T1K&~5hC=q zdKYv#arRH{NY&e%NnF8rV+2*W#GTvia4>aKU-M)7tH|I~=7paRz)CK@P}tguc4nMC zOR4bl8^l~ywL(L zo!Q?!c=KF%$+r|dH8MP@S`OGL$li5oe;Jy|a;()$z7u25fO}r9}csn`*msK8q1om(Y zIP{X`#apqB>FS_*SvS?r=IO5Z{wDiMcg1JkE8P{Vy;qKy{cp6H>5v#W&Aw8_y;*Hv zsi@DWvafVkd~>aRrMqIdhenP-O^q|%6`y+*_2TvA-&j!ePu%GtN&mzmyc!;<^*Co3 z2|kG%ZYsMbqS=3srtvj9Qx{D_YHSn*&lpJ+RL@GrVI~J zcwJVhB{{oU>25W(3d9aMO9dCK+>1ROeNE1MtLH>jaa>Qr@CIEO+z$whuN;X&K3A$& z`{^#`Z@q4q5&VMJ%C}Z(bLOTk*erkRBWI&xOFw6T<0K){Y~lDuF%ECA>%>U&Lwv zYD`%b%`W*lzj|+7Ijb8}TP@7CHvS5%b}D~K+{U}HK5bl_wp6-tHz`>j;4+T2m(!eum-g~Yf|7h|fz_$n9U8UN7iMxve|bLvwHPPWR_CmNhdpd+&aWvT-DYZvGU z4HN{oX7t-tTpiG}1NC{X>ODNHv?KAeec5yR!%SJK&Q~^#y~|=@fC~=ZE;TMEcEU^) z{Vkq6g3#H-0CloTgf63drXz9Lhhi9_|!M>gVn|* zx`WT$Nv=ZJR>2Aw(sngcRu93 z)};r8eycUTi)&*kx)?Dlo~Y$y?{;C6AZzfrcZeX%I|rE#5kfQ?ubJXf7QtcLUNw&{ za=tPUI#CqC1uB?9+;ANJ4w^YqWiP~;2naTr+b|)xRQjijk;}bbz6kCS>!#!#nileK zrDnruh1RhaiT>4ehihs+Z9CI^0WCMZgJ4#azf$cPo$jMxO4iOG77d7R4!m43}7i!`iB>Ry9Ld znwor*SGQ}93ZfU4XYEByRlSIlbI7W4%Y6Kb>YAu4jb5aE6}^}wq@_yht3ZEMHR1g4 z0jQ-iYb{JwwLIh2Qsb{h4`p;ujnEaFB=n&Z_XfWdI+DukQqaDcb}W^VtcPxe%)Riw zea7aA9(yFP_`GL8{O6VyZ&%MSxXYc#ktOEv+ zNz2tn1t*Fk^l-SbtfpF0;mc28Z7d=aHDTnVey&BIXU3n08L-!6GkB{h+sDkvQT9+>R+$;kVf?DAc>!~8xMk7&pcx{x zdKJ|$?kPNpoDQ~z@lb142q-g|wqET{;;%KuX*Kx>RbKZ?ca~nPWG+bpD#v5;VKqSYLbcHJnx|0h zjZUF8&|4bKit&bkGR2E?qx-Ro?h`LtbYDWz?3SX3uCMI1s;owri$_E(T2A~rf%T}R zq1p2l)}7HC1nW&BU!pOPiT0G-6nyGZkXUBq8arh-Pl2!Od{tIca2P1?qKp_ZLEeuF zw_i_LQonmbw{kg4zc=1M6_>Rw;Hhn#g0I1=Hy#ltl0gV4yhT&*gB%FYY>!j-ZlGdYcJvorts-(5(#9}Nu!Sf2$ z1x@2d1c5O1nuq0B#s!sZgfl8(0z!JGK8%Pgt7kW_!7kZ=ePTWh)}B>^F;!`>b#6;< zpkcd74HiHJ!mB=0JP#z7U95(GQh`MK2ABOO7oT&Ky-t@^8VrkRT7%6sDhL{Emv^>6 zgOy4qtQLru^#W5ohX$KB++joxUcNzoa>miswCIUwm^e@sgyD`+LmarC)PO{tTQ)JJGw-T zQ;3nMt580>2J@uIS9T|tsMHym8q8=btDaQ+qE%i-TO~^V&WJ)sUoG_X)vO+IwV05I zNJRr~e6D45eEoDRX@{O|XP1!z{SB|pJ>9R_1U54N&OQnC2T*4F% zEf95M{8QRs0#ou)$|Xk(rkQE0ZiSnk?rx2u+=+b?qKS$Xf&d;p$ z%PBFi#Qg?STGH!qpFhV-i4ys<=R8nSN2#Rx=E$z)5>6K z@Ec4G%3#_I@&y_LQ8)8)Q*e+=!E?_WaSV2Szj+FLWp7qxwZhzAQ^2XZnN`0yfF1<# zWPs(~6#fQD56#vBl&d+8(->g@i07uqw-NBOMM4i-B(Mea_{u)1%4&LKOP>-Tm_wt& zwV_*{P^ywLCFUHb*IDJL{yW9Wv!Ne2T{tIWu=PaZaJMmjp%9>&JW)f~l=S<`e%anA5?YI*p7ZOLe&SEM9#j0JI48?7yk@puYvKs8GFlK{y~p8TUJfBp~ixFW@#17311^ zK2K2jHELqIc5NBw)fyhZbHfDu9W)ciQn{MVdh+&jQK=e^Tts73cufucc0hq=Zmxmk z@JvYIW<$SJp1OF#TFJ$(-x)(rm$z|<+Wa_N&V!4~u^IO~j4+c#iqOl9FPW)ogpm`Q zj1FD%oaq8YBijh`={LHk_ZeY4kY~Aq`8x%YI6Yy?_8DPvl&#QZ)d+L8(h}V=j{5LZ zE&Mt*MU;9gAX-5nd%ohTB}Yb>-8C}kV^cEwn1_xpBxCurhC9IzzRsoaa+JMYmDLI& zstnpqjxcTm2*$rcoiu3Y-gEt^ACf&Q%vdU#gQOjV$-cR?SzInYPAphso}%~S>Y zMi=zk98a>lffd&8^3ELimW3guSwS;Zfu8AtzBxB&2|SYqw+ais%N>;r*rX^n6hN}} ze;1xAe8v$y!Cmni&dqAH3H;v20=M$Y8>NBR#wD$j*gz94K3q#y?(Q$2R83I3K9)n=`Tsj8y8-HJx(id??H zQF7FuK?}LpA*=!teIs6id$P8sthF&!)%HiXw%1w|iv+Zea~V7J#;J^RslL{UbKxeI zU8dV0k%@>IiT~cdPQvTxKiJnwyx!}*PQmNf-YY|9nr7R~44FCokM^|zucyqiuT6Me z=Vj)?&3Co-YYSfQsm`oul>p(y?#yhHG#}c@BnI_ zGe%~7)V?xC=3gGpjFCC+0sD10UjG5+Xt~4w8~7Br`OPKV%z?c(Q_h#YH}lXU*mN_W zkJDOXe2i`FcLDq7BeFLM{s_~B}J5{h_#c{7mtl>h(>Yn|e7cy4YGYMuX)?BLF zBNZ=1%32X4y5RIkSu;wuM~er@qDyOF#-Ld>tz2cF!QkS%aa&Tfq7@T0fc1^6l~VK1!T4(>v4Zool%*ES1DVnJz5YAFUafKmnSsP3S^BcX-T3Wg5YQ-;7hOiLGv1` z3*i^k;oMu-)%0N1=u32Za0BaY1yCj{;B`o@lB8BOzZo4~KLdC8VT0~kD1GReysl#d zaO6+h2C6hKZ~%8~uH{yT(Cn*Nt^!*q*G5)Gmc{}XQ7zXLD3yEWJbIMUvM&}n^ilr} z;S|pO0;z%2@tgtZJ(c?C{dPbZ?1M5$p!o9z!l}CO8id5I!N%C>ZQoy*LYt=g6#Xak zWL?eBZ9?_UsE$a6f$pS!mDa)Ruxw5jK9OC4aVP@Ra*hWRgl$#NqDgJVmx#M z%>5(lUX8j}lbWZPyqLnDn1L^39K1CA+dHc!&4!=0CmIJ?XY8z_+%=$n*u|t*T9Mzh z{n`=gPN7i!u4rkIg?<=JhYA}8qZ--cvUnKTQ1%Eb?DfsRM9?Wt5Y5Etf54{ca1S=X zkas-E0ySZi^Qdr7joxy70_-xgWo>VKm8*Gh=6sjH5W|kTk6{jRo-_}2m^b4cNm@QO z7)NL@4k6$P%9xg;J4gt?ClBep+F}nP;u+sdM=h=5fqdO6=0exb`v3){0S-z}A@RRN zssH9s8gEgO(}p&MQ<1^RWz(+zJx-ftQw&;4JQ$q~JbHgqILW{-mbDnzP+RDxykvum zkpt8ZYz@xO!?r*i36e%z1d>nTPoMT44@vkhnY&p+zC)jv*!E6zK#0oe{b2iTiX3%u zScS@tT@n2T1;XFz00K38z@lC{bjNYf`F$v$Z~On6g2PFHu(P2_7L2l^KTyQH37F+w0=VOemL(hf~Ah@C{gDhFBHj%3d#qhIJUYnU_I%$As!r^2#=p%b2vo>K<<03%|uP zwr{)u!{pT;s>#O2g(O&}97Rw}z5(+(J78WdywOoT+dd`(W}(4;`+E?@NRuFWC+Gr$ z+ptk)RQRpXY@YO0_afQVFI4{sSdNOnjrXZ|V(yBkx)tApv4b-xRRz>s@G%W6TJ{#^ z(zOnpa@5x55#XETovz^+0?O|;1pGsI7d$f;j=;wFygb-9xH$GgvHNlCmjy=!XObUB z-)ynj!jTKaz|p#NFm&6KP-e=!E1X30uI@$3B!r+2u%dH#BN-HYUe_p*)oD{~Qsdx$ z;McSdGMOKpLjdE)Rkk?HJJXMt>KVHALkh7X!@M2uGR$kjcx3C#>pDPCKqo7W*0cZ6 zT0)zt-_V8X2UK7e4?7R9Kwlgk?wYzQoRqvcOU^-0$j4FP6`?u?YGr(CEJYs)KJ>ns zHm{H!pxBxs&vD!iiYO>~sZ8f4Pp;cAKFgwqrTxkQ_!JG;=^~>p_PR)hghgB__#9&v zrNA)h%O=C5U&(0H17ZRxn5&{F=p~Mp^#E77EsW+{54W7n4z__2bYGinliY030C}`a zELYI!dZs^VUnMA_i`uyEy}rzYQR|)4108f4P{bIJd=+#61Z#%S>C3w77pd1lIEa;I zcd}6d%$*B1^7_y!byKz$-L>3dW`@K`Fsf;i2Qb*W%zW^-hM9W+ zSACVL;q+{LR67Ifl?s>T!VO>lL}xC7k88REq54|PNKl}izK(Gi@7mGY=L0)>U&bpG zE1Pm-_l(=r8!`S6JEZ{`Cd!ccYHkzHw**(V=7#p13+-tIO}pw!0OX}rhHI4x0YXiy zw>En^=y?~&)fxzz)B55PJb9oZ9w~#xy@uxYYILpkJRC@3LI$^kNgfDqTyjl3-)_)e zJ^gb%(4}y`fwnCZYEVL6j$ue19bPm2!|!Ff=S>TzVCvS2sas2=Vm_v9n7TcJsoPwz zy;VCOTd>@LX;T*(hV!cy&aWPkla%x>ROZDpq@;?D=$ci7ONwx0-u4)2(UD*me|+fj z@JFLkBjn3Q^#yu}UvL2KM5_5XhsCj z`nQ$??D2$*Ld*Kb#A$X+Ot~!o@lUQ4+z;HM;raR?=6R@!#}`ZiERZBIgx5e!8^RqJ z$vO}Zk9p5M^3hD_W9@fF;pufmMp0l6)Pn(Qq@&5?CFh!`+;ycFS9$kuz*0Lpx*65sHOB zj+U)0iM%40lmh&tKJd@{j)IWW6;y+&g^*_QG*? z%$>3*1}a8mqvAA_Ql^v4;(GJAf{4F8YW~_gBHXPy|NiJd(m0r$sStK9vV|Hrg3hYp zr5AyjH_49x5BH#$VH!!9!jWI-JWv;E3XYV;_!mgrzaCuefIev)43@Q{Th-OH_pcrp zI|^S@!5B}^!(c@1a!yHPWl5wnvLy0N>}emHqR_w4Bj^LdU;Gu;euSOQIazy-=?ID zVLnitKjttw-$MN!Sv?3K$;;F*=93JEI~k6y#%}ap_E)JB^Eg}QJHTWMCl9OpPIp&x zx{Gr$!mHis?)R|#G{&$E}UN2 zULMYS|CczkJVx>L)891H^z3+VXf$}MIq@bin+G)oupEweCnY$f7qFpDailtqaQQsa z1&Zsg5%)k~=6l&@ptcDn0M`F?6I>7N({~2C34*AYFlKjB8Nf)A8R%D=nSojg?n2@J zYYLu*=FviAW}w;7*E7%^p`yQ9#QCSX({l|}%6~ftwbRY@0K-nohqe-P%{t@BKgq0< z_Xw$3XR-l!hY@+3kXa{VZL`cewH9*5xl)`U415+UR||rT?gp8 zyou(q8d#2rrUz%13+Ll|{WyO%+u-~#u<}(4N{@@lII}JG8=YC@N!gYCM9W1N-CXdWm4i*+u~N6pHVH2dDGSM zyd++8R$KEGB7t_tn_?Sgzu4+ET4u%9UyiDiys-v0ftg?ON-s`bu^ir<8w=mzgtx%; zf=*Fn$h`FygT=K{FX#3nyjeFam=#bHG8@NumoWqHBzoZ${uy|eo`HAvoq^+%nt>N; zLZFm^J}&~}OgugwGjP6;ra0DPa?`ZLG(KQ*=Gjswa-!)N~MBQ zXgG8AEW;T!h^;|?$((`1wCl1na70Yyn1OrQ)C_!$Zw9``KLZDoFrHt(1BA|cHIRnk zn72ejObmjr)q-p}(#D;*hClXATzPp03dqD2@nAA>edr&$+vthwaOjI1U45m?p_4H1 zQlToxD5she0Z9XyC_tR4rpM-gxj^z15Lm5dJFgD=0G0^wfsk>B$^aY#I#ASj>QL{4 zL@&}Ug)DN90CE<9T}!6vyg^yDvJ*<#f6U=AQSgr;cUK!Kd7#&dGucM8N3po3F} zFQCT|ddLmT-LmDc7QebW0;CYXIwdWT{10dYM5ZRcCY>2z9uqKCr6&DL4gOA*US!h0 z)#=kzI+lPGIvaKRMVaWZCP8N=e;IVxiA~Y`%M>Mh`->LV+M@Ey6g}K2x~(pnfR1vR zFv}K|U#4hURJ%fWh%Wk9Day4hmA;EkpOXRd77J2-8IX@UAPaTT^EO))g#t+~e41MK z(?y4EwkW6%BqgR+A*_zzK2Vqc3d?&s5S3D*gD%G$GQ-G?Nf|ZsNYpJ7lR=qNP6uns z#3xdalyex}S`XE=-l%FVG!W}7ujH5JRcgAS_9$KMP$+d^Ys<~H<>Z$sH&&NZq!#PK z12QVDw}s`GDa?c4DD_@Hp4Afv53wLpiexN^6w71INO?5!cBIoI^~3QP8)@7J58V;9 zX3nhJSW4`m7W*_%zvUYZ{ht zY&WLibj*gJ$qLl4U$rd-rk*uHBh$zuXTDq{Hh{!Kyts zR_D7|75K2qS6C_8=tw*V#)z*;R=S~f-+rF8;9!KhnwCKId8+C|ZPlMGw?h}DtTK@s ziHlt%qETn)O4cEo1q^ASo?qD6FHo26U&RyPB7nYep#UzpJf|dG<^n!U0WL`HM3{|p zCIKr2THMGT9YRhs$Y~B#S158W#Y(v1-6$Y}^;@~U~!315Slli?~D%w9gj(ml?w3eI?08&cH? z&5_F7xZUh>q|o5jUvN`gp82ZqVIKG}&+_5Cmkb{YbZu~@3-_CI*EP$nYe7Ww;XVW( zftGop=ZXs^9g&cY}xD{_9XMv->MROl`;a zv*@es{toXNgB>Q13coE}90?4>9Ifuwlm)KHDOdNni2NH=a( zaolC20S?a%P&RNHk%=gP1<9)wKoR~MUXf;*i)NW?o8=`K*GfEZy%L?_j5np2-ZlzyJU9zJ3hzJpFW6S5;S6S66pe zOS4SPT-V=SxJqtlgV7kJhzhC+k`{e;l>KW z$I!!e5XVM*5;mcMX>H-;qMt^>Si>uoyQeam+oP;iJm)Xilx}EKt4Bhfr@Yh=YTplPCnZKXlBdS8eKV< zfU`4M+;OAE%;{i&r^;Cxx%;I3h##TFM8xScw>w?AZLz> zW>|8JB`{>grWIAt*{xZHUo_tOlx?fqbM0ch&D z!hTm~)Xd+wuyYmcY(oq8D@H2{As!SzO$Hk8jOZLDqKacs1r`P~!;iV}TVcEdcMJal z!Z)D)yOf|R1yowSkZ?iG(V!Gs8cO7Soa?e}%hP5%^CX9E>)i3!BLI_JW>R0^UnQwZ z)DJTR_JKd5Vyfy9LTk39`I& zVTEuww&^;qSge)J)pzjBrEHYZMaTO^lN;sH8xX~-^nb4G>8Vm#f-zuQL~jjV!tT0n zVTxv{wzJZ{)XK(0`*w!v`L&R-j`-84znX|oW#n$~L5!D(j}>>(mXIAIqT{&KyyxE737}nU-F>(Rgb3XFV=cXcH&YbHHidI2GG%kt1?3z;X*tp1!6x7F}vE-vMbVjr;+OU zG4%XaUJhdp5+knnN|G$Se*{{*_*!|*?I#kAmdYKAUGlBiUf&cgSP2c-avHajv@gyf zcM7t}yZGDCUKmNal3gUlr}i5W4FT{-Xf!r=F-5C26j_dvEOFo}jN-`sXFa$}p=^l7 z^$W>{wp2DOu<|g@Wy3xLz4+{1UQA`Er8ysZMEBQEG~3I+d}jbBLoMw>-{g0 z;?m6ZR=M?t+wn4(P3D+Ejli-6O7^Z$AJabX|Wy=NSwliCsYE@nm@{=|d`lF`~}DL840NMDXfpWPcZ9wLB&u6O}2 z&VU-LL36YKL+~+FV+Oq%8T4w*pcju~c))jP-%xXc(@=D7T&apTJ}V9%9us_}B$L8e zJ-|NOa2Eb=4lcqqJ@p3%awJYhoh=nCm&iQ|$j}3W<-4J#I5+ho3kMRW1(4Hi#RB`}EV9<`H6q9$uYXYPV zCNEA;RGfi=_}ao5Bs2-LdS@@79%&Q_a$F@o!9TbJ|5l{*mmX!@(QqKd2>nOj{h@D( z#b~$+HMYxWcrexG3DFXy@Jd*Q>6GA{ZCblezz&+kxYUm%aWrIGbYHs+?GHXjoI4He zG22Mp=wvZA&S@IwWU0qd&Mhvsz_JY{PK3+5U=LJXR?(ou>UG%=g&{Z}?~si~Kowv9imJYIyskK-V&&=ax5 z?%}d)W6+p-y$mW=4*Eb=5z?0tU~nBOcOr;$LM5WK&-ovvDYx)=Rd$#<@MoOb6S-Cx&8^-gjulaU%)D1oV0Z zZ>4u2cA3FMfh=2r-4WRRkb(k+MNR-%f9&Yg5{PY{u>`}78}h5dm=-wqJAhx9`_^}Zc1?5>=5aEt61!qj8w=h;>mDm>h){^1%sU;9vJ|n}qp64^XOIn71kFl5xXBXp8)`{8OGBNu& zgGvFJjW*hr-2QQ9gD-*j5ExPhbGRS$S?I=44L-s&o2P!}tDk51BZD@UZe`G}1u?bK z7m5y#Rl%SU=cOe5&Y-PI1=!ESAj;Bv+9My@hd5z4DMj!?JzRtzvnXfOe{XwHJODQ4Ba>O(q*-L;tPDP$~CDHipW3%1B8B1f^_re%V?M;Vn=PF_Z@!xX?H=<1wQ0 z2P8$DtBFH7o+x7(tbPlAG-?$w2661-0v>^ACj@ANj^cg6l^B_zO_EENIwnc+%lHx_ z!x31X*}VEEIkX>&wn!QUv+XEY?v8@jQJrEs<=P=RAc7UbVsDIP133&f?Vth&mBz-N z2X^9PYDYI#mh@Suk#jiA#AAggNX3pNJA;RRqoA-ppw7GC>DvSPX zF@40v^o%4-3*?4?-gM3t!Tw#_rI^~AyVI~;Qjd`k572NXNrIgw%_0#m$fR&pN!xjO zi`gAO?i?;Tg8i02#d~^0Xn$yb84Qtb%1;Ip1@&y4g(wfO;8V{E<4iDotT=jus055> z5}4XU%-W693wi#6p_~D<2mVF#k{|c}18XZdD}%p{@{6GCZSV_ncbxb9euXeS287&Nj*j!X2+#ln9w$({eIXeU03+tOHhc{1G~mhE2;@327^L+ zBzJv{uRtkVt-mNsP9_-LAn>>NL zyXDZNHK=AXsu_iPMi(xSipW~M4ZyGHXSbppRZ$Mu*)3RJiu^LR-2{Mh6*1E0zl{T> z;5u|_TcG%&*u@1}r_LMC52pT~A2sziOZ|>g_3Q7=<$j}7YbFQ_m3tz7JnTnpYwF{H z@wYMj@q}QCOk#UPB(yT^2Wp;rt_T(PhWvn6!HO~gLJ>QR791$k69NWWU+KHJWpNMd zTxX4?5>LuFJ}D#k1RCCr9gK|HbHWRBi@TMLY{9|4)zBeBq&G-P7kxeuOx`|t+ns0? zG#-OC^}y`4qqP$iXIAan1+HIY(R~=!Bd5((*cU;aQ_^xCyuc$P&Fo2+#W`TpZ@emA zDxg!Cg^LQiphy~Ed68cTVdw9t5>~}ePFI>Ygr_O0-IQ^hCuGs?>58)Aa8%Y-(?A#* zS+0Rh)%C9cQ#O0% zF(UjKC%4uvm@FYEpo>=}{wgOtw_xcvv15)@F9M#R8t%8o?cE})F5IN7G#U&zW&7jr! zt{Frx5p4?{3vR+SS51^V52-KBeTQeRv!Tuyt?k$i_Lb4vPWE3J+HIu&%HVAm`L7J# z7V%#ht!?vK3yRU&;y>6|24I`;vwdZFwm)sMuZ-ok{YLxBSZ)vfWM3J(?y7eC%HVB> zZLzNm-u6$t>I)9JXxvAPRAnf|!clXpRx5dZUJ2K!F&U?sVZ#>6q=c$Q8|~n6p9}4x zWiH?~!78XnsV1is)if8x-0Ro%8{j0MVkbmG>vbVoKt!PECy|C$DEQVu5m$2ruX#w0 zGXGYSay>Hwu`_~;3Xte^eTc?;_H`U>VQ82o*+3CoSj~{Lx^=1sWkWyD;R2E(Gtqi1 zzmFsAs8?|tZ>|qk+{?_+yzp!3oy~e&f9OFyu7{;2$7|`=w85?ER9zEL9B;~2J7r~D z_sjn1mfc>LRpWX;aE!zT7mYMr)7SW@m{McWcDPcW`af8~;R*z_fwUZKtXy9-QWuky z;3D)SulWH*3v^6#X1=MhNY6c{agGWdGoh?xYoLhcDB&G|8n#LeY#vEbHC*S{5V$^L z%XER#M%$~F*+bVLfEMN+HZ+UwVgSXnif_>uKyhv@Gd$0Q*GP*2Ev;b;a^MY8@LvBL z;f>D>uZIh7N;15?hi z?hCi2;orUr-Y0WOZ%bx)JGuDXmJDydp*a@behOYh-~}dTY~O=jcz@FHqTXTU>}xX^ zBh{)6Xn^C@HuE-WgX3@MqN1H9j;waG!2^r0GiE?pIfWb1cXV`AJ1fKpqIG_fI_rmW z7z(V01GIq(noU*EOmtPfzF_W&#jEp3Uw+DK3j90Z}>{Lf>&d+v3yTDD`9? zDmueS4_A$hxp%~t&!UP^`z?ItRTZq)4wi>R1#$3ofFPV=M8crUyc#qAjRA9=_f6P4 zzaA2LElf(lXpHTGyN;D>(tC1tD(=7=Qrh{6#?n!Q!OS03pOP}+ zY)ltAF(p~_6pQq_@#XM-YcE|fCR=Z53pt5nqTjK>0i&FE5fBu=P>0~>Xz>M>+Ep%o z-8Fuyoy@?%H3}^=qo7{!u?Y$VM|fspu=h4q4+>n}wXn|(DXu5Kicj4t=D~?#B_y7u z;2HJF&@o&v3b@=fbLh&pNK{%o8odraN8z&2@ ziW?A_z+xZO2Pq0)%0TwYO&rMDQ#09t z?1Rbtj+nr3zN!&RbNg#ls0Xd7X3!ef8$5`t06jDA)XH1d)AKX)e~ZiigA`FYnFp`@ zse15=U&eycWvglYW5$h9gd0i2J(7u8f{egQPIFv~2p`*`_M74i)cyn*n%ZJR?L^vV zLT&XOF14kZsqIA}F$Vtea1=n=wn6QsQ_N63RR0qC*xa2gSd4MoZyk*rBWA&Y_Z8 z-=+*lLNU7*{1)qg1=>st^ewCczEl}{8~J0#!iDqkCE$7r)Ty{}y<>r3v|t`$S}Yhn zs<6i-sxqKtY~D7D=*cdkpTONi;VLV6DNx)Wn~@Mj95egRF>n5y)v2vX4KO!+i|j!t zJjvOkGV~4}Dnsw0Vm!#vUPKYDWJHk#4CaThc{oc@8G4Vf9HY5vq?jj5xFV|i-1(wG z)(DM=2Pg(GmLsvNgNC6vv#*=PZijGbxO)gnrX^t3GI|0dbi4PVNy|$KvMTgGTkdj9sd%aul z4Sw0%P1yyR%T9F59_N=m%aq+lz2GU@S$ju*!Bm4oHR#>hl-&leAYgvkrM9f?rVY6} zAckJ5_}vb|mG~8v7}2{)7HhQV$*w9n@mN*)zla`X$&zxULZ_4HT@HfXiJE^;`Z?iQ zYb${pG*4xuxIBVwvk_T@M963!Jkpj1*7<6Xi$~?=>)!?XSCm{ss0K?T<&~jF8$#7k zM|a`xZv5SYzk9PALUTqmgzo!uL+Jj3hR|GCDt|-T104;a2l4k1{vO8P-|_bdRdA(I zU~2#pUGx?%z6on4-3A3Vhj>AUl|qLFZcNc(*~P{;`FEEwyPc_Zm>l)mZ{|z|1*?`? zA$e3qrORU;PMx3cd{h(2UvE`SBDEIwlS&;$;8!}&t+WPX4i%@Ga2Mo&Z3%l| zY^~bRTviXCMPsaM9t!Z33H!K=db4!Jg_mTmlY#541PoAhs!3M-aC|B&DGwAMFT_!8 ze+0Gt5t*#?We_=_w$9k1U*eMl+j>c{X<8G78|3xn`ci$kZE^2i!PQ~6e+|dEwF7N#$s>8yrg4=if=r6lRrv~x1eNAlWUPf+ z94r0t2f5KI5m+TcOr;)zK7z`^APgn_25Lg8j5_Tw*=1cGvRkl54@{&C9R1gyu)(aP zS%#yS9ggk-xzGo1IK$B!%sqiho5K+WKO!%n*PB*ubppg*cY(r*nT6s@S19&4O$3o@ z;T=690rSS#Na+3aY5~RwB(kI>(gu-PWtVN?>=KisjV8z1?ShL!t197Ssv5bLYdlSF5UEgS3d^Q!}n8k(nJfgJ5*V=8W#D{)s?s1DsZuK{sw7YU5Cmw*Sj$Rn?@D zI?#6XtuCnp!a`~`;Qg#gl~%a)nq*S7F{&Mz+|d@C!cNeRNA78#%O%{LeWr7HW*O>M z&PD7o#_WKOM=U)T^-Szo`vJaTKiMbz@oHObPB0LHuH2+`F(i|y15cD_INe2M;@kwP zt6Q(XbvNJ8=4MSO8OhWYwqpVWfa{%jJ<`%1Ve`rrwjF}@l`Cv}`>$MKJJf&W3fuAi zD_7Vq^Iy5bc8w32D{S+3w2-;Nw&Sk$l`CwkcC)WsVH>lPedP+jQh(S1!2q>T6%Q;5Hkte{jL=TbN`2pDws{{WR@@+p$PaUU1v`N%Df*-KCWEwy7y@ z|C&+^Y73BB_lR5+>NhRLo8i}# zaBKQ#gsKUe==+(v?0BcFn00qY<1?cNlS|3bXhfmo&Y<*S*&YQ z6Y-bP+IETVYvpL!<`Ufz8VfAZ)e0UMy3Eq1Ps6V+4IiB%^#9Q%x;JMi9-#)Tv?ni~ z`ZX|&x8+iit^w`U1_M6L65V6~#btvxWo)seCBK6dJQ%eCFU=C&Ap$R)8Qyj>`sh|% zb+VBFfw#A_1g4khJ}M!86Enl><-#jZhPRIcPcPBkD)8oJhL^NNHz*linkBm91zvq- zcsslJt)VFjT{QNC2_d zcA&pj7RieXA#e@=PJZnx0iaGFfP&T-D|Z0&M_kh@(=K9;hLcQMPsr5n6UI#sr!Xm6IvArE26vgZw-aOo*_50cspqPSEDTkVaTxu-x3cM7 za+B7_CyV637BcRfdOK=d6(Jy6sGT#Hu#A#L1E*gDKEBByK(Aj&}G^m=uC0RMG&QRToci=nQAQJ0K@mrHdN6uqCa z)p9QBUYq7&hI2oIbDO$0gxbNeU-0)U{x*|yfa`GXXP0viU1m79jZ9OJ$;CBSa7{Uq zo>Gs$Y_Y!*Rqz7rY>X`gTlErTu;OEor<#_Ij>D#s&!wq+ZnK0Z-7xwwrei*z19kII zjuo6UQ0!THkXxo`W-f4GlBJ7%m~-5=E3+`YhfLXbGnc*3EqkgitL6^rR}$5_s8u*> zO>{4~LaiR?#M|Fl6HVdn*xfU7_sz*^xf_^e%((e3HPc}Er{nHVM_TUQ1b`x{ow)16 zeA%**fVK%@^qMFS6qDYtR#9qJb za<}a5x~#Hk?*?W5QtRCSrk7fst{@IqA6laeZK#H(Ryl4t=6_sj?FH}p?=7{)u$88j zAu;|Bt#~X}QmhI}Zp9~VOxudNwiQ2f=^QiIaGax)--^wL+g2<9!1S%?!~DX98L%+D zzNT!aR`knqUDQg|N_cfB0qI)ttw|YM(TDb}3vIH7rdsh;sMY^z!8{9V7~5(^apiDB z6#76jHwkw@x?;CIDznr!B({Z7JaGlQyY1B3NQu?$F-r0aIg@B<6!Qp}<1mS2 z+DB(Pty3l%A_?w81MJ4wQwN!VE?A<5*W+Ma?s@1q)E$Gz6Bjd7+>Ei>6q(E-#Kx+W z9C4_a6Y0q&83sY^N}5K*^um1}MyBC6$ijU;)R=SxZM+q<-mU{Fah%hzi2=mcjOl8D z6Qg(X0_PE+JsHt#BI+z~?sXWc{GA2P`zC7f9h-{jREud}7t=hAsS=voz)53%I=&}^ zJKEsj1Azs}X%rKMtW8^hLLNJ2oLb<-T(nnkA!P)fvD}`)g-!YqMjXV+YrS5@!>bmg z2~)3nR$HWxbdjDtNZ6aBp=>|2@02smb6I^JLcaoN6hKE8F3Ak?7#HLa1u|Q(TY7v(bI&54pl4Q z*fq{=@`jL0T|zEKM)lcSdJUVSHgkRFyY>AwsXlJ=g_nIRyzoD}^&;iO(9cDeCS%Zw z3AJWr(W$!jlYXyuOz8Y!Z5@Ule^`4Gtx+2Q&{-ub`4c=Vv=S!}=u%qL1ayLnpco`3 zpZM4x^chfehD5dUmj6|?83YCQqO@k_LDCBJl?sa-Wq}^VF$5cOLZ}j#qG3G<7ox2! z14_X=ThaWCi;k^++MD#leuV4ChxAeZMw6;>VCA|M|32}rsfGX1n zuV3HYZhimaaBi)l|4n!g^f9o)d&^b7Q~Sei?E{l)SHg=89TZ;t{EqNWb^4AL-fpO! z3P%a=K#>zi-S|9s!o}ig%qzfy|C8_z)S6c>xN(gQE*dx**2BTzyJ+|hEm?`{-ptaQ zvrFdKbCjbYdFibHI??Ec9vFh+&qLysVn6LbwJz+&<@UGOu)ds!X{RRen`jUIcP{VBMcPp z4Jfep7$=XdEW4m~8!g`%4=Y)K?>#f69acK+@Uq_y=j(PD<)esDwz^S{zCv|r*l{(f zEt6wgrVm$&eEb;AP{C8^Sq&9e;3v>f!BAWHxl;WUs-LU)6I@gw#VP%g zO(#@J=HMa$jx++djafkmIwPCZ|5{l=s1s%_W&S|7$)^JXAHj?dFC#OWQrVho**eH& zMp-{4@XD?d?@F|Sq$@kN9#Z+M#vmM>qdts=f&0eaHvJN5o{$y#H7YzntOOQXBq)PP zMe-K<6|tu9Cm*rDWIL{WvQ1-W?}@O23TKEavQ)8rSay|=<(MAx@b}ognXP~*kUYex z))^I&T3DOVf}%0zT+O29o9qc$1JhTwJ8u+E_{KOR#^Ne1=H#xAH~d$q-7E0rI()&N zg$q&}MZ{Oy30%JZ(##UbrPd5CH^ zODuNIp5e-I+1eb8VwfdMbU#dSa1S>clZGM0sBtQUU{$BInfM0i*?SW-nN4C@udPxi207{`nDO&ndj7E+ctvG#lZ466N!KS$IC zX5#0N+8z0`Uu|Fh^r=0FKRfx@fb_*sG0Lfc{T$fco*lfc9Nd7CygKXkQ0P5{^rEttsdcW)=&Y13E^Cl2v z2j6DvZ?Bnem@_acC%+LzmV3&41H(J-E@|{W+d2pzutClHSU*L*_wW?)-o?MpIlM?) zB`zoSo<}NUsd)485cQtGzl`L$+rxO^<#PoaE304XSAtJbqzvoWFA$i~tI@j&FZ|C3 z7>jyWAd%6;y^HV=^~T{}fmMJ9!YU;oT=pIHPC<%=bqrqkAJo0MxqH^y8YJM}C;CvM zyY(P|s5k64{Gj*Jx1`3H2Y=~`t|?()%myUn`vmz854A_UW;|#;n>d(K0VK*jmKUFg zim)$z{9BlV+)j^72!hO;Z_Tacx)&rE))WrZ#@K}@uE#wUcf4=Z`ztDfoUb-{VgQHk zVI5v#5TXX7dA?FCp%NlPx-x7egtb82;8` zP;t;f9f8F@I!Sv?j&#vU3;`}Oam0+Z{V)XF-R)=Mf-41@BVGcJ!pS@9!J9_!SiJMU z^@y5W6c?ioVx8AlReqqa`*~!@D0K0bh zb-`E$+u|RdQK`6n$k5{;byl1*XQ#$s_U+v4xtxrM*I15ODM7jvVJ(bMRU)96ct}OW zJbcjs?x*!Y+s5wzP~6`_`q;ZC<00xz#J?5wGvBamyvRU%4bUX^Pn!hhZ%d2D>9)dEVJ9ML(yj5lQH1Gw}ux$11TS)`cfdC_!@ zv7JBz!eQa*r@pQSmyIQo*MRtp4WZxgw-tXK5UfzEgiyduHoVkO#0)t_A$4uXeF4jW z8gs$-D~oFIjq?O5-eG!rM_$0;zAd#!EwCN@955M}3EHvM`#NS?qR<6fg#hxZ)`u^} zN&>|fgZ!CVG{6hM{|Sdma4$$8#`5pPZ-Npv-J8t=gaBx69 z8kR9bL$PS-Y_JI|4Ek^U$at7-r-?zM^w-w0N-tpU3M>!9^<}G zhPJ60^N)qzEk9uhd~g5GwM7~vs0p|3x&=oxciYsQ*tv7+{%t**D!pR?4p0Z+2ZjZv zsUnN+@xIqHc3g%KN8hcZ0$_XfadoEY-6j)ES;@o@&$ba#Ghy~Fncmq}CZnRC+EykQ z%L1uQD;QC9|kO@*6qsA=l}++N2%Mw1(})E)Ae_qfT@jU);TN-z=<6+vuu~kF|C_~%mJDdmKm-L z8z0mDhR#atVPFnysZoTZ0VJVEY7R7;%3-KQ%vhC>bCxQyX_F*afeMyC1zIqyX9=TO z&Tgw*rUW)tr(BecvB5}S=w$90p(POY`VZ$$$)e#9l=DVwzO5I&fthAcb9SW}m*iq) zGqQKtL-8%a)3tq*OQUCWE`6NK^_9D;(zUE8zDdcXmK4r0$*`?jFf0L6kbu3FE(L|d zECq8$X$rE+IkFOPUafQ!pMs>7%Uq3vP;g#y>9iD_wqAB;>+cxSNqd(_0J=euYSw83SV!$K*CBa_1k0JAf|ix|iI6wU2W#!5Q!% zBkv0R=`4Vg1f!ORnS?uajsZ-lD%iwaS{+PB5{B+gLrbxqf?pZJy`%D}iTVp+ib<@0 zu}|2!E@7YT>NGRAb0k@t%OQ}ui#ZdK2&PFqql+lCWA*U;?{$L$`_uYkT4Z@Cjz<>p z&L+HGgmJpNe%!yQXLF@@A2O?id|kZUDW0!Z&|yxh+=VK43|k&AYeq3dfv3SR3dxmS z@Qx4gCh$R`u%bo-^~khPH^G1*7TM|H{<1a=T;t9tTieg*nMiYGXtkapVsB`v@h9|0 zORPR1v>6^i+DJ{Jqoc*GM37SP9NMJ$+Ra)mcAtUOP7`lf&j%s}fZI-)#2(brhS1NL z(XPfO2bt-%ntDzIa}`5cRaksuz~x?kw3y-1-0}N2)5xP}^a%Y7$?MX5?Iv6CGNk{k zJW)I&$`JvMm9glQxKKM^e&&SnW1~xRA|6N#=P5fjM1|y$i2SIU)FBXIm0U_JzE%ZE z1|?3wvqCZ6w}KGHU1z*1xf{wo=0*V882l?S0@dZ=W|jJ-@DFXAKV|$p@CP8AR8EE| zJsi$M%@MGpf|SVJgM0{AjYV*Ng{!K|wG1bsOeLcENf~5CSox%^Y#9wcl#;b;N>(+b z3K@G!RvCB0vsUug1Os#&5F95s4Kxa6G^7UCu_^g(5&7mTt`fEYm&?;{9;t*Loek!?0&?#MGGrPnUOEfv-beHw(@E(AJ~TeUeaG z99%eZt6Ld6%PkyUY2@e*Byp_yfol|LKhT%&_oyU)Av~KEm!tKA3+M0$O+}9%+L_Ko z-Jsu5UgYK`C61kQ+_gSw!q2YLBm%K?uz-h8n#-E;7BfrdU`gPsDw4db)+tySKJNl#Q6rH7xt)to zhfNe**s`rG=Svp)_h9Yeea4^n3M;GT3`qNh$&idGR=$^PU8f)1u@8+ z@kfUEe%46&#T|bx-q9I<;tZn4b#NU&SgW4I0I96yz)-8qJS#&VLxesah_&8@1s_8< zM3#T>RiwEmPN*oJb)WH0atSCXl=vP;zi|k}+W|<*KGMR>NP6hH5H#tpv09j$v_NaY z$BxAHpgXHxC@^q$Y z+VQ7gHTG^H96j5lox&v}OtiF6ye$RB4uP-53>o6;rs{^L$mnerQj?1}Y0n#1_v+~% zm{JJ3jC%xGs#&6ma~KmR!fz;`UCvW?v?W`nznjRa#=PcO33VO3V~UuL-rQ5MXLc}z zpfD<&p%&GC4yG!<%HA$#PVTL^ZV<`0h`8u`Cjs#2!n-pA-PZ-WZhHmP;=6kKd^Fpy zf7Z=5H#405TsZ&Ga5^IgESgStlux2sKGzR*9CRi6#`iG zw&4M}u%&1`_;+bYw@V-7P}dmfBRpX%G$UNncj%?sciC7Jh<#ql9nds~Kw&kf%(}he z1Bgvk=wp&o@+(lm6?wdp#A_RY8i5yrn@W{RPV-Q7v0vqBZj}%8R8<;qS7oep5uh;F z5@kX(ESpUvw_?r+CAzyQzn+`{I>Fm+)A_N!-6hOT)cVqO__N@q#!N){XJjM@|F(%E z7m}NJpN&}GO>&P(5j~#LvWR~I>crVtote0EUE-GZ(ESC@atVgtdbKX6KW#JinRmZaKxMSCDkVd5hqi-94j=YZHY-PjT^R8G{$q8N}O`@ zBhoi8XX~jS!sa2@JPbAuh2~+Rd6=pnN=rdL=TxtJF(}aBy^Mc#1z|nGdmKqJKSZUn zN0YUmX{KTo_^J`o`EPXcs|g|U>j~j`Hn*95hMe4(eJW5FscGI}Hg~Ruy@!)K*W@0d za&P|JU@}$6dN!De=38;$omSWzP&jtmo+al;JTTtx2z(b71mm>DQ1##&NSxNun?5FNV;gRp#N&>D%%^xvT%RKs0Qv6i#h-}R8$Y_4#iau?11_B~9p90cbH)Gd#jrllwF|uj@GG!GJ?}F$ z!WCrx33s?}0bgo${vGlBjO6m3l`mLh!0@}4CFH)S)#|AS!&@OOneHVUNcV0x>ynzB z)^NltL=x`}Q8QS&52yHB9%jHOCcsgc74)Fu;-7;o^;XuJC4GmUWmp_sYd|cAa8<=yz&%;->`INH zD2QTuDJ#C%wlbo*2RsDKu4jICoDADbs(LR5Yd%AXDpkTX!QW2d9su27=eP9d9rc|VEAFW{1Q}4i3jA0gmO-8Xm@oqM~ z1o3p+y9e)JOa_}c9iF@j;^KR!t3OhPg-Pb@^a~*PkA`x%IjM;4*-m$OfUhH3k z8qC2by}qYXgn0e63)p2`k{o+(mWbS-g%4k(weT;6R2?@-fW&Ed;1Ytdj|R((PU=1^9###QlSCG0-; znyrOYCkwq1am(A_>|Mx@3>bYcYih+`sqA)~7>Lmc+EneVii}(XKT0d^K2|YKv~HY* z#)T@2@i_9HSjZ)wdEd)q?GWgq)zOkxZkOP$7QHPCm+I&t>lrX20f&$(ouf;4{ez_! zx1+Qt!=1%A_jkrqZX$t?23y}6F+bc4wCpg7i#x;Wwy1&@m(2r!A2Q{RjgH)ctyo!a zL~s)>-Lso3yC?^V46skg_@)v0zv{@`sVNGwl-z}^BrC`pj-!I?2Y#8|iO3dMTw@jF z4X%RRPiF4skhW|;HyWmtlQh5&mP=rabn5QlwN~9hhfDq>HTUE&N6le=WK_G#>1w8> z!?`fuMpXZQP*8t^d77f2w$X=sv~XmUI*}`NI552=o)9&}QOgVjuvs_|V1U3tuqy39 zuzkXEhNpxw4g?iL9S->eK}v~~fuI^}1(#aLEmw`V{4q6tBW^8ITxy{jZ|SVYt!6N) z_`j&hCZdFS{r^9zc;}CxiVI-)QX7jRKIW(2Rm6M#oZ9xLy)Bu+ z+1tTd&ZHGTK^@f7ZqHT`A^$H*alm(fOex})@ia?^}5P90=ltMNM4e`Wl{I{$S6 zUe7wpX6A0l)hF85CcKvC*;hta{OA<>+KSgx{CXKb@xTFj2FV_HJ?%vM8bju{M%%J& zc>VG``#Kh{bC0#JuaD%zz%Op{95 zmkmb$iJgi@R=!k-NTwj}FC2w_!AVno#Mj_wqxj;vcf-k_jnukHc(o?(#Tx+?Ca#(^ zJ-&{5hdw=tV6cQ0+qu)^Z#Oy9OTo;^%fb1eulyWlcqcTvPi2EK^0$R?P|DDO&D>lR zmc;A`U105%*=DgH5F|S4Mx12XXg>0p2MyIbAOnCYpgItiM=*IsG?l0~eNV1|VC$3Y z7sdYZBQ<&Hvl9S$bYVqiu=luN zW1Ni_8S{>dRtz;!|(Nco?bYIiT#@c@7BBe;c65zDp1X zoX*Yihzor_=SkpST!oJFUNr#bWCrlK3*brvpaR$cgPRS2hcg3s(gkpc0Wd-VIKcpT zHZy>Kx&Xdu(~)fK#-`zJ|1a&;C1DkH1A9@S-i z&l+bHw*Lc{$CE+Q^3v|LTHE1Yb3vYE(LvA&=p*khfPk&x5Y@cJs(2pqFZPQ!xW$7` zakXgF7`t-~D5T@ddbV~jSluLGos|P0EDtYQLTlG6CMhMo^}l$N*@fKLh0#E!*WJIC zWRA$R)4GbT(+e;xOGH zm6`GUz{N9L<4Nto@nF~0n>xh*D(3?wDT_%clQHO!cmHxh5ZLpO!xDuUr+9L_NsyZf zX!YJE~|*SEb1MwD@T?tGtL1f z!wod0933I^p{;SD#X0X0Of*@-E@{L;*rJ%s9vNrlIEzPTlwnkO?gdGDI|kskPGbe=iiZJ>z^08fEuXWGL-m$yh6H%2fXU+0>)t z-syop2}vPvf51dTw{tI3b{qWP&&Ba&TUPjg`zwb3(z77vXpnULR|hska3t~u`A<_T za*$@yHu!&#i@+d_KqA|2U0D^J-IFdwo=sgf{VYH|)<7MYne~UeP(P0umIzrdF41Hq zlvNz@9%TyU!uIbR8ROvCQfp=07(!jURXl&w_JZ#9x7gPrQFK;Z^tAiwVSEC{vkugJ zn3#%jo7DuvU5p24jImAeoOI`UCba`@)ySWT#}dtb;LRKu;**O- z()FkBV2(xN2uJN;YTcg(NUKocSPDKB=ebneq06g*>LQ>}gYv=%Wn8C4;Q|-L85#tM z#XKH_=)7(gE0?eb}qWW;v98!T(cSUN;)C6pGP8@GQ@1sFK2fEfB&{R+I-@nfbQ<6x zoTN&p0S1d7&s>4ltQhKQfc*^?otWxl!LVU=Fn$X@lw=L?`95ix>X%On-8@^DR~mq( z#@|ssy$0|>{LMw-Gy?+Um~ltDb42>AcS_g|$)=u=iyd8n&NR_u(!cr zZfaBH+onjm{SDl;UzP&XcIyHrl#S1PU@-!B{GCl_& z(#W@8{zbQZmM*WFf>VWE3<{l;u@7RQ3!<)7Gs0(bW9}g2$Yd0_En)T;&`xA4MN4V^ zmm%&>`DsW(eB3LdqwVQ}t2(US)!(ghc=!-fK{E0v1^~GnH!qp56=O-V|o$4P#>1 zHa|k+9%q}Rf*K^CDg~4>wDOQ^vCjrM#%cP|S8#;w<7~S46}#7nhrC`W|1EgR6tdGI$zZcNi3fTj_deps0;uh7|ctXeHPh+ z_+Ptc(nLO0+iR*&A`shCQ>8&EOXx5_G0F(=JNJmBnAjhGsu&}F{PnwO1Ul&@LDgjgDWHJlng2L3gUwudF&OzNdtb07_9{dOD-rueJ zYs?#1wQP3+Q&r=HDOQbi77R8>(iVy+`^Q8S!Sg0O8x4xg~aDuV2aX8L}n)u+?AJT!C{&G$aS zcNFa`??<_`|Mz3fcc28~oby%U?v&wBnUsbfufK*893^!!7MN98KZ)KqVERa>oH;fp zKEH{{kC`xNqc(Z{um$Uf(2(AhJ8PmY5~6^UyMWzo@le0yC;ug`alncY=0+xZf? z7W2&*ak=}JKAKC+n3plhL=+uHPoVkYPq$Fqs}H6%Uwq7_x|m(JN-;UEjGtss#R94= zGm$sDpbpfaa0Zmp5wljy$Ub7V90BCse9{;u1uh*biiQ@&-_Bq1a8{G+Q`V4u%mDRb`(B?`^BT7XRs|V)TYA)0Ql+u z0AkqM2*hiZ2|IO1>@XVn%&6$dmk_%)=gt&AOtWq2`&=gM`+@K?2XIh#W9)0pe|(Kw z3e!U_b;nlKmjY<}Star#M|Hci!h)AZ7lx!RM`ZoFc%?DGiv1sZ;eFjfD5>#-02_Cz zGaMc$ZjAM7!dEH`hHH}1@QEFCpXf9i`W4J`D;Skj!N0L8)DZgUJjEj4m9`9u3}fEW z4WW-02-#L6XA?0ei6eLDB@SW&Vldv~2s3HU>T`9qXguM_mfE^z?6)RgzQuMmv;um2p;pUdOz?ztKpE`54m-wf(0oVCLsd| ze`tG6cx`5}e$PefRD~4Wiz7c0mZ}IjVng563Yb+R89$}TwY-nOVI5!eD*z6DlT|dV z=gENL?QXE>qF4v zyqi0E`dG+DxM~o>7uviGhJ41qnQb-KLa<|8LiJIf2*3CL!r?cnhEz-XQnZ85@7;hu z`1B$9{ix#i6FoI8+u-*PE-j;I)+X`$GJr@ki}87}!7aa&E}z2hOL6#B^ZSEG%=%U# z#L_becADt;6|}n*EO=WXh`y2)f>vK}B7&mdvRPKLp!v|-AA1EkRNG#Oy3kGSwrSj( z2-YoaV(Uj=$x%@OhcTorwX?O^F=Pkm1*_LTeM_jq7*e5-Ym7aFqY{4Gc84a`wc*fa zq=M)+gg!M#8r*e`1L{RN@6ZtX56+XTXrB97OapaB_x`#}^5K@n|2!``r+aMx{K584 z4pS#e6*ry+YX8z5gw0`%X$C5vpnY6|dMbkStV+&mH+ric);hZ{vg&=)WhHF^TvDm% zPFCATLF%>I{(QSkYTK{>5V!uwn@UWSIr}>3QZ1;-!Vwa-C-ryFs8Fg@_+(v=sBmd` zxXh|)2LQOy;(nD!xmE72s>~5yhS1|VF0arkJgZ*s4mSy+u2-vbNm{Lc>ZtWsu_ZZi zq(QA+J?JumSGX$V=AVuHXsU&t=2N~P4YE5UeWHu>U*1rBf;RuuG=ih(=YPtz?RE|~ z?lBf6qoRUN!0_UWDINZjzl)0J%wsQ9M+=lX+QXpNNgeq-J=sNX#p?>aRG4ZgXzG?$ zHTkekabZoiu=H^rH5A+o6rnDlI=sOTnxSB>!uLv4kbWre>p0!5V`p23#OtW4AOqC; zc9k51irz3bT1ABt&iX+|!5_U8ieF?fOVp2&i4#L>gSWIOwMpC_dH||Sg!cEfSvVq9 zKuyTmI6c9{G}4@oh=DwGz%}Zp6}km)44rRujIxIdyDIWKu1u%BE{FDpX?dYCE%jk6*pO=wfoD?-?A!y@Q9kZx z(#ldBpJnxM9MGIsDpaS6w<**P@*tXlxGZxUt?lc=^-HAIG0G18-)ilbw$>b^w#T_2 z00^n357a#e29g^yRdu_fx);KYLJ*lBe>FKf9W~6J-#NPwqc%ZV=r3#N`>X6bInb#H z5}2^tyszlIKP?u*w?p0+6S+=?dYxgFpW)?%JB+-gGrXuWU>N!MrLq#loP#%rt-xiC zw&J7EY*1THyTOkKe+~CdV_GKys$=ZLuLPC?;li?#)q$e^DEeMZnYAd>7Jd)rTB`Yb z?|aabIjR!a$YEm~W2?C~kS8Grzt?xgfSm}#K>B#-3&jUCgjx_(OqtTw%kgLA#oBQA;!U56Dd7c-@rPb)i%O#@paRbq*6rRDG4% z3CtYkyeBH&l{M?%$>&Z<@%AzPdSqn1+)w-}R3>|vbrx_M3UT$$-Kv_TqqrWI6ru+t zEqM&I>hMjM3BRpS>Ja$8S{eEgTlF}h21I{CeceLoh6iE`UyV`MzB3KeVVPIQj{{Ps zs4?S?RYm)w=mEN@w)&9MxZ})(I{u?Hq^jI#qaR+D%KHGq3#Mpes2({3@qat{jXGMM zKEJ3WwPvK?8+~+_%D-C*e9=i03^_(2U9K|2dR_mbv0kx*K|wT1=_EhX%O=y_CX-Q2 zd#X%OOzWYT;2GFc7y^Borwq%3lx(jCBIe8UNfW9S_`*t@T(P^Ac(;gl9 z9T}*3x8+^obtj(A1+RV6W4(eRJS|f^o%QSQ^K?I#ngN;`V550D93ZyI(;T<_+B(Gz z;c4O$=#{O%XcV@=&;wl%PiYV`+2{jKbRzrF=G1NEIovh6A-Gehl@a?-=_V2T`Jz%n ztqAh(4MOrHm;;=CAe%}&)Ff_A^tFk5n#A7{=wlt5trJ*872S+0BUaH4WaSa4{(=^X zTBnlHnhRYlVz1hM3C_XczT`r23x#_j?#!;zB&vVkAuctDtkfFx4>^e00XUh5Neb zB+dqRwkWC&5->M9Z3FZIi+wPcxnSO>??&8Dxc35GTbqVfibRAXKSY`%Z&VgQ0$Rbh z6+df2E1XL5Sjl)RNH@BbT&pX=g&!v?LE4I+R$rbb0^;bxxtYODbHVMa!9i}+?qEl5 z3g2|(i3&{Xs&0@oU!L@yL6Ik|lh*x|sr7uKX1G|)h0(9|yq2e@0V0h~^2^V3%a7IN zl}_TG!K)1loph29;uaUgZUzKfIJwE>JSOkHK)Eu%Y%TMIvt2EupvIQZ}4iMG9~UA#&#Ljh}Y00s?BFn79O ze#{K!E*H%48Vq9SoXzseMTls7^ThP;-+k%c_F!DbID~$i^w%x3U#JSa~@I z)T#n((ZxrjIC(DyH|L(J^b9uE)(`s)1&hvtem8F$ws?ivVo{0oQYsAS~n5k*e0hy&6%}C z=HWb5A8S8-Ox~#@&o~X)vL(4u_QZFeXitBaVt3RF_uAJ=yq+_~zE_a`owAWD^INVzSX|+#Cm?zzVgKSzBk*~HoOj>WnTv(^U3$y z*L=JVt+ua~c>VEw`&y0HsteR>W9gZIM7OZNPeS-uHy+8$cDxT8N^aPX8%osdzSG(C z#@rFeXaZxQDOD?w!`e>+{>LA8kB(!eXf8Jl!x}8e4Re_c=1O^eV*i-I344XiXO$0*}?{HAwCid|Y zyZUF`t^9&~dS){mtM|b;u>A^UM^*A!dxz!bGRY*C<3domQqr>Ue?FYg&~Vfw6ov$L z2Y>?E@>;Xc^guK)B(&Du2Rk2$m?S6q+sz(3OhzE?wOCurfy6Cq4VUQiK<_?-ol<;F zGwNV1JS%wXDb%yN;`pbiUFuc`V`Dbx35JHE^&B;41HRE##C7q4#qf0IBejn4vF+^Y zfESgvA~g3D|B-+q#@D@>0qx=f`s4)#NOu3Vt<$CN%Uqg^eHM)eb!o*Y`k&}i8WL&` z-m)+NlsZlCamJwMFC5vGp0LISk1 z8Kj#mCzB5MwLGsmX&Nb0n1v74vVoq+4E6vQ^;rgNN&{5^iqk-8@k=`UH&_Fb20Gi6 zRt=Q4^dT-9zb??!{cf0rjfvk!>@XMfBL*~@U1_7T`qHxY@xj|pLTF;>J%m|UFjt3J zxX(a;HdV6xW|4hp#(j{dp~sH{Fvw1U0q}fg0LQrK1q^_VI0y&;yBYwCGXpr@1+eTn z#k%;53cv^7X$HNW8NdlHfEfnBBn9AZ1K{(_0FsV74$}Y_=?JQ19Dz$8Gow*iyBEBT z#+u@G?Sq=z{Y*_8GuM>oqWZzVG_AjihVuR!*R%%iPtiwybDiu0xZ40=U}SLn2?L;e zW&olZO?!{h01`K&bfGD|Q|8hm-0F8RrH7$(e^Yvo%%ypx)2f*dpHi^1+1fEE+AXP2tj z7n7`_v$5zHEH4K+Fz_pMD+Nqdr)I8dv|H6bG2U^qC#|&NznWE}GM7HbEq$#i%~mQm zr7z4}dW>88C|#PZbgC)bX(aLG^IW&^hJR`S{}x-<0AM=<;Hu2E%aWau&*u$*e<%R2 zeXEI|kr{w=SOZ|90dTnjP;LO+n;F2RE(u2&00$}nrx*ZFW(F|91+e~U&4aHnZh!|} z41iZN1Gw4+@T>vwr~-#w*x0NWKy6zC-CI*XIAF*`16Cs8l4MpKoA!7IrY^JQzgi`0GTVJ5J1 zHa-PD8L;|(19R8RFq4kAo@`*kDnVU=1lF*yYm0WP6Zt6@VAI%)KAvSRp6lmp+Fe^< z(vv{1{cBC~Ho8;t`Bx1pem{Im0I zUuj;Pp1Dqj!LaK0{wH;}>ZJhu(*QU(Gk|Irz_|v%>p%k}Uu^(fo*BSBE`Z$(fJz16 zFaw|{Gl2VC0IQx*BqUDPji4CU3}in0lKij83@GXJZqxu`KvwTjlyz)fAlG>;eaOY* zOj8^u{IpR?9L^UU=48g9#s$({13|%@KY+mFZrL~gp%`JjF)2~q0P^kDB%0`Q)lR?` zJHL3^1vyoNMA^GgwxhVEFa|pPA;qO-Vi{jaOMd2@HMO~uYWTam9kJ3OF~WxwcTU=br0yz$+;YqC(B1B&PR@r0f;8?HN=vk*hP3<0pg(ipC;Z=3W6d?o0o zemSg>PNE2)ygu;5-4_TIg`%>_W(IwuC{yy8CUCqE$fXJ$u*oNIi%Vd?$82*pvqKE1 zHiy+dR%7i4#lM3+c6n8R4c({U!mTy3IeQJ(^PWRU*D>Cc_|PkO+aA~U(GNh_3V?nAZ+?)PF`r(#~9^WA@Rjc=s(Fu$fl-J0g8 znh>0*H7h<@;1|HG0L(~soF-@r3Nk5BD8MC&6E&eNm>~z^Co0s?^KqwVgr~y_c4)%37(jU}g1~!9v`x`<&5kg=#cb2W8E+KC{ zqGSsQZBK-rmfE~eKGh8QAu~fxa^aL~I10nYSY;Jt6k94g;>UtSHhltH5WQIjZWd%L zNpt&*KGlUgAO-F~!o_-3N1W@hs>`2syWiy(U@;?ve=Z8uVu?LeKcx%pNUx`8^ zXSwyhgdjv(g-V~Rovr&^Vgj0F`yxcWZ$eD48rcl*J^hJhm$D|EA<`#nj0?WN2VWUn zRPfFOS?qvzK=aFEo7Kw$?c!Dy~IUO&+(524?nvyEeX~CjKUKfogw#!cyMkq}4z{7CcMDd~1g9HXZl{tG zvKiGI(xMq&D`Yr>gipqeF2mP6q}nsSRsLBW zKrY<|MJLIJsQ3EEvv;)v!r8xQ*>qGz`O%R#U%W9=F&+g{f6k$y6Ur}>W0jP zOI$j)JgDWCS0a>My9IY@ZV3b{dZEX#{S7WkP8HiyD7nQ2_pAm-*?IvPrQO-C!vXE3 zk2Gb?f?Qfzy3K`liH4Rq*O7`;86BsgLPi6Br;-2!qs08iz1@Y|UBSiZtwpI35sNo< z#NU7dvi&F*{irEYyb`w;lNFmj)W{z%l{m=f*pBcwx01(bhAN|~DJ*N1>Nb(nQJ$mn zA*d1KY)@lWTn}taMy^=bovkzeR%tUrx&w0C_f-a)v4V|b(fZibxY+Efu~8Q7>fUz5 ziEoC|ZwP&Z`!Kf1nv1uChJAIf(S_9l-r=YZe!dI-<-ZBBIoN3N4e2n35DEQIf-{LT zp-B%$qo4-$O;a;ZXT@O{O5VMzu#diAFHWd_ZH5WqQeE7fAi6;u$oCdd16-ZQ<@YjjgkDZI!{lPN8LY!2}PKeK$F(FfHBzJ@OUkTD(qF; zDR{^G;1THRt?4T4^9cJBg-%c4e8#=%lC+3QQHeS+REx3X(2Dn|1_x&bQ|E%2Xu)_9 z6qL5RICI%$ZrMS$tT0I}6BC7#1ck!PV3xaJ*3s1SDN*asV4MK$W?TNd_Y`_)_Ug=# z|LsD)M?t2}A&-3b!QTOEbYXpFFt52_&a?=6S7;;(zsX#-!7ZC@%L)qHS#tIg6t=;m zCKt@>bCP(ZnpuuYI(g*J!Lwxf~x#%u;E6)A6+=GCS$LB-vzqA0*ZoYZs_5IZ`st5 zup6!Sz#GkMjQ2f*cWg$eO!dS7_T0HTlOuK)R7j0nI9BRRJIu%)Z8M{K_8ui0iBmBp z*^Ejb`NFs<7rsN}=Vk`PJGt!C>~alAjaLIOAUbV;E%V|2P)odQsrV{P1%psrQ^vbF zqWNL>wd_0G5X&U*D4-#lrCu;eJHjMfOg_C^lXSFHcQ~r+V08z$@Y7dURncWNjoJKvO@>y*t0&W>?*sEfflx@`OoV5@|5 zcc1~51Oe`R1FlKH;e(k1_+9E~7hE@kN*aUpAO_T_N-|h$;Mmm$Yw*rn$l9p)&Fh+c zH91ms;*(3l@ot^fcPJ*J>{BTFdy4f>ZrL%qtfG8xh!o;Fz3dyiW0R3V(atv8i7vpd z8em#u_r?EoGIlpLDQbV$*d6ZH@-W;l=tDUWN!raYarwm2=>D5GA!N?x(xS8UNKyQW z87XF?DqK;KSu~T*A)lbCP>PEu9YqUn*d8Q@7aDGCwH3$W&tR{P_SccLA1ZfL!RHe+R1> zA{oMgV<8JN*@{^kb&9S4mtdruZ27e$U0lA8s)h1LP?e!gd}1T-F^%%KNy*co< z`VkJ!y-^iHPD)ccs?o3FuPz}=Zg)77I1=!!kQ8&hh^{Ujr5j{It8hMvFj>ihnhkG5 zyW0Bf&3;YuvRY68D~&Q6Z>8xb7ll6=6qr@ZJ}x3eBO#*3T#$f>8rA%%s;I%wlEd-E z9;_Wcoq@lZj!Q)=n9T36*iHWJbA^(abR0HY7Uwo#Qab z5yxd*o5D1uX2yLY3Skb(-X@GBgXsVLK5MP_UGKa1rr$ZgbN=UZH2Zzu^<3App7pF} z-2`JScUVRJtp3mj&fxCuzC3t2wu_i!7t}SamEomG9^queO3v;Wet025xw=4BbI3P{ z-qGMsfY6bud6WPLQE>sDnsxhrHC`C{MP)5nSk^PIzA{{Azs%Mzu^3)xp|a)!14S9S zk3PX%)>p`cTw{ESddbWH{tGyAN1#P68{$H2e#1=NQ2w5^2M|jYs9}0zZV$e0?IDHa zWOM7Q9Cc3M?!2efh{XK`dM0t`yOc@Lt0U00)SFR6N&Tx+0(!FxweUZaP`P^?VCpA{_x9{;XmUm8bD+GtG$%kW%@Q$QO0UDwW$4f=UO^D z?dvPUY_nsQ>o(IYZALl6Jd|2o>a>|B?Kac#7S(LM)q@$@f2>^g?-+ZVyK2q z?21Z7T=#_X$mfEOlf8TZ%6McK7mrSX&czkQzpGGu&_Rkvb_Erud>^buoHEV_K-0t5 z;Agz@2Aewfmtbjn|r7IXOcC0>l@X51(%csfX7 zBjEz}uP_Od7IaC}+a&sES)4#%sx$dq6|P=#6qMmOz@gLO0K?TsNAQK&E9Ruc0X&0k znhoKHjsSOaVx?SiEbVACN-aM^wV*ptM19Wjd_Gcro~l1vUggUk+N-<{G5{5u-*ZoS z$u1E8xn5-xSVPMh!}pFyLAwsm*SS37PIi+LbSKUyjP|=OdO}^3q8|P zXDfQAXnK|5x74rhE{c8%#hQS28QD=AOzXkN`pbr+HIH#i4SiJ`*^jO08%`jto+l)4qz+jVX}AWl7up27CPyvL;${ zI#wgSRw3UssmZTlWtIT~sax6W(RJ#Kf8yFNtDa|pirl6HcXK17&vvEV*{O+6NKVYwaNagx{t-6}UiG5K`2)&0T^CmXLvsh$4H}m-4AWAI$L$Bx6_4BEc-*O)K$>Bg zOQoYtWp_m-2O12beT9`}2^_=ekJ(WJ3X0HjiQT$h9#d}ex&XEA8v zh{o}_{W%XEZL7o`$_Q8xQ)c04=ujOG6o7s2$-^5^so(Nr9oIIHo99oF29Z>{b1k+w zu*2t?gUawvDKM5GogH3{BB&D-`8h?A;?7H&V2&8Gy-7pI{XeiWoE73X(R#;3Jx2?y zn&p_NFko*^|8A|AXd9_&6TK4WRbU=k=2K0|;F-l9^RQwAmu7Ff;?6fTasLZodG=Xy zF4l$ZW5e#RVeOPbmxob}C1s_H!0=Hh0@ zyiT^6nuZYs8xW>Yw~&@Sg*umGQ*TC~+b78xfin!vBroXFJk_T88zOU|84KQ$c`l`Bd|ZJ+LsZSs0pOW2)I<3 zWOf|x4vGrR%a;)dUaB$zq4MugP4Fhn3VhmNOl-^ZG_fM7O)F*Vk~!NZv*0?VS)>>q z4OLVFAss=<*$v?@Io16rkV)=letLYKGbzs0_+SN$me`=w?74uCCG3fk2Go)hgK6(Fy&~sYEWg4N!%R*f7vOQsrJ})~?6Nu%f^s+9M zn{2i-6_pfT_P2>XFT3s)(*(YMMk0d0`@F16qQWNe0HS@?q_VHRtW0OrG7#2_9vCN1 zu)C&nZ@?vfc1ny}Sj}!^j==P83eo3V zR9-=zj8{jJs`xyN?!7OuEuy6Jl3|bpf``btJsE$!2KNjqwhPSxy8(VM|V6$%lalg=W)BrhAPgp z6Z0XS;m@ENCaAI=@r}UT+HbW{Z9?uvIo^5XO(U!0l3-eC&mmNO$x+bp-KRjuJiIeD zPgs|mj?{fd(sGh74-m7r%_o!UTjKJJRk)?R#mL-nbY1dYN2*bpyN-&U)NVBw;^D5N zwO|=YD)`qk-gKqiq@|@@#xsqyrnQ^9j)aUCAH~lYB$lV|;K+eiw1Rw66;IXgwW~ui zkx6i3t=mhh^6g`ZOU}H1;0Y~8nbZ`<|(!nzvH?~N3ZH)C)MU1 z+MiDl+Bx>cP8Vzk?S3}xu9|j|9*`7lj0es)du4_sab-^G)P66Lbg`3SSKs2L8;_@3 zM>{NW+9CZANxt!oec;$i*T{TL+T7IOX^WwXI{>isJ=k(Q^aY!Vy7#ZDN}PC=zH-bC zckFwky7d-U)LF%7yf;eqOLA{i=A*h=TcoA1x#rdS`qAOGYM;7NS1VY8ZEwfDQFopP z2nKgCb9EMX_pn_!ue5<)l2kIsDG4P`{N6nv${b-N2T5VZQBV7q^a0v7C(-)YQfLeH zf#oA0)>zukW0deeKH8dRwhEDjr_3C8_hT-XiDTln9*3Q3@Oswjwt&v_%aNZ1$IBx# zoIHP%O+&iFi^bp&68B!H0>gWrSB`50KUCo?+^Ujw$PTnbs(1=uI6gf3)9`3p-4UvI zEvd(IF2b_D_RM0W@Por1;bzKsQ5Xe0lP3M0F!dU{`r43RVFUn4Sl5Z;nDmSVfBm~Q zgYkmL%4E2BuCwth)Ocbu*TzcL;Vd?uD2zO*#v>~u=UceOgYm^Kt{ZGzV->Fcg2Gw5 zSy^zr+Uwn<4X3i;gxKhHP>TB^SM6VSU*ye6Tngq{$ksig(NOs^umH8bOSRUmwH5mI zcq%j_RB@ja3BOzSx%wRc{yB-;F~RFl#aUWx)d{&)u?l6s)MXn}mZd5a`f8JV9@biJ z6U|tWfUB9?ZOxo`nQm-SS5Fw@+2v7XJm)^EjEA?;Mq)elxRaxT-M*V6gM&jfF$@m& zKzU;vV8^bAKilNqMRtUP1HbxUx;$1qxMqRoe^7da^KFE)6+$*Ge|-qTn+?Jl=@I_L zMtG!yFgU`%Hm8UEs}1`@ky7STsvv$G8WBXw1QxcRtjAmxiTiVF zS=~n$ZjnP$>y8B`x}HU6$%NEs+|Sf}+);s+y>8%s+P2n?_!o`~|8D9ivsI0yylo&C z|3Ls;<;AVHvz@2a_(itVx3&1i|M4l}+^N^1XUHaiB-A(&J$86N>#@+U$5Ka+yKrr` ziItyVbjT$3AKK$VXF7V!9sJ+XNb9a&;M^2I7r~vEX?7y9yj*g~Q5z&IsL&-MjC|`nQ{wHGv)nQ`iMAhR-F4H2h1E z{obw$8+E^~uuJ?ER_#<+zFlEkFW%k?yQa{ouse=PU16R7j~&PXAPL>|2DyL9@C%pv z9LWAn+o{Jc_h~)e=+|StqsQ5{9-m{Ev0a9L_$Wt@ryTv?(c?!2qQ`ZA`WN-swa({2 zK0q3JyXapk5^o{y?Wd*($V9#f&U#n-UX7d$Gbu9U$V#LFKIoR zc75l{Khz`6fB37`;R}8p23|7h=5K5r_C?4lwurvdj&wUQ(q(Ac5dIm-yI^mFxG6p2 z?`_0yU!W0JTjo4Tf^iC8h6SmnOh!Dnv!|_f0UqU zres_yOs_dqu2NKTph4fn_vNSQDH*e?YWQPNb`;r};CPV2J~OF6Ys}!1=*Vog>7Ki3 zL0|x|;NSt8&!X&q_;SQ9d>0%3Eo4W;vQikpH;a-C;4=7M+W?-O|HlT<&89cb(8Kya z!2Xc|glyPe8aD9=!bjW-Sne9Yp`!b8o=&0m8ptK z3In)ogwFsX3ylF>08)iTxl(~C4WOq@Vka$#v{IFGk+s>yn5PML*IXAB2{uNHdS1&l zhkb2qOPP~lr-%6G2uO@fOWOEHeMeD@0_@A8;V#_kf}KH8fyt_1T`_M928E*!0|m9` zxmMlyGvUuh%e)hKj^Bo}9q)L!&2(4AG__psq=v@f30MP8c4)5!96rkyw_oQeGDWq1 zCA$=kv?(k+SE)ti=w-Q=Z;Z>F68B*}Xix_p_YE;!)PJ&3=X+2;ED0K99}psr`dGRW z9k|Bur6Igwpb^U~&wn6aI?V%dvoS)>dVB`3%q;gl1SgKymvq7ch0N9)@Ncjc3&E9A z%<|BS6*S9qY8_*~nw5)T`6??HMU`gd;$bdS=T>At6;6}e54m51ysYHQOpH)ZKJ=)- z1jfE794qL@3q`R{AW{|Hz}-5!dpU9eZv@*)GleS8zFXH)j;NAjR5K~-*ulBBDm$Fx z__7V4(`0Xn@Aa(svbB7#sol4PzD$lz3ElCvqWSq-*OEuZxe0& zo6a`8akW*j@nCb|qFU4N_AJ+bw$Am)ZTU|Z_hmNjKWp6PFc;6s3MW6T{U>*bsg+~5 zY67wRjcD0PCo8yAuC%H2S5(-tiE2n`@#Xp_Hj1E$?D~*#nuh>CG@riFO|kK=WgbJ^ z92fUB#@7wQv#d!AKG4_Pn7cPg@oSy?wTxeBpUSVDfz(bB99u2Y#Wiqj3#0i9hDF2G zxCZ^+*y!q5_+DOO+oF%5LLHt2_(+rsal#9g%e(4MSWW)DxCVUz6jSLp_5P0O+-wW5 zhZ2B_skH+_xS^7sd`Z5uvF8dgy>=iY5Sf(CToB;-BnxE6O7=~7L|1wZX5ZyUEW7{* zWJO_kjq%~9LM6@-S#)iUbF_^l%?Y_o-eEI2jad$8S$WOZn4Q4{S3@9EN$)O-|2QH( zY?LtW%o}901wo4hid2okBCGrwDWTk3xDQr^@=U%OA^OKEIf zklP91e9dG^Un(V0iGnC0vKePR{}d`woVC0+&bn0Im+WLPHUw5mY$Jt?&pt1y(6ZJ8 zJ=|IF^{qR&$g1JoFYR+wfQgPoJsby?As-s99voh9%?|1(d@S#6Um$0f1aG=sSrI)Y zDz~txMoeCLoID^|>{`>ywl(!;t_SIAx!o`)y+8i~qf(OBi*G!c z`%UAJ2Gtb2y-GKnc>31;t}W_dW=UjpBJB~}$(dhh)Y7q^h4BdnX7ykiuVm5OJLulD zEr#y+Ns-;dkWK2#Tn(?a$u378LwUvEN4K#rdm}|(=E8np!``f65&TJC7RSbP>B~kP z0O6%CI|aWIU#q_CdM|#fFLUvKV&gy1;Z3!oLrws%;-7=x_A>q2C1~zIm23_FevC+6Q{&9AJ zZO&Y3Fc%2WvBZHJehtHi;N)A`1wM{0kWqhu$ZAD<1x^>(F$?X8{LD73AZOY1I`&;=rQ2j7frvvFE=54M18sa4evLEWH7rx z;xqhX(3$=wQ=!YXp^7`#DnDOKKd(@Frpq8esGL(is^2_LGtGX?Yyx^bPuN7*{!v3K zSE@jh?nvi$`I;QIU*kfpls%mSWx9Yd?$>3qnbncAm~`qH%6~*}fBk+cluz7(=7gZ> z&~VM*@N@L`{E6%Uz5R3ei>ke=Qa2B5bAV29=%CcDYKP+O-P%3KuHB)bKk;FcEcqo4V^_~>RuUwri8Ptr%PXaD7lH?B4`lYF$Rmt$<2 z`x=_D;4y&3Bzg)T?ZOVSVLxL?C%&y+e000<(NF9H$;C%MgkNU7vF2tEe#=L@_=no~ zXKVbBIUb1y&jv1K!ZXA#Uog$}%hv;UYQOB_KGDW~pu_umXDh2S(tUrv_RHLSs>T~V zHGx?E`c!_|r4qKO)FUgSeF{+xnJwcDg_YxthyHB*@{$Vr<+$H3yLeBr@fIn(aCXX{ zUNH!Cl$MU%+xX(q>LzBaEM?$QH4OnTZJ04eO(bI#vx5jN?zCKbAE4n#8bM^Z21gQy zW?!kCHr2m&FFNYSO#)^`DV+2|j8m#HPMMF(m*>C-R$^AK9!4ABEVKR_*MD31*SV;k zn^3`iaCy0^xNRkKu#@abUy^aE+44dJ(foOQ(i zpse{^R#%T}$mZao+W262(|Wj3Z274XZ~8V%65WdP+Zhh?d_P3GdIcA*wqF+uuTxjs z1Ci>6%y)Q^Y`ki*K-4lj+%2C6mt|1Dq)->LoL?Ls1@1D}r6K%wuS5{A`0+I1V_1Xt z2R!sm<{<~K+7mCMQxqQH>vN%ciuvGi(i0pB{J7jcJVz_b&sV6t6u?lXbXCO`BCazd zqH}zRSTKcvq4HxaM2A|4PSzY{`w*c>YDC|FgyHBj{MMpzTokA?yKdk4lgM{48BbeZzr44zJs_ay{enHcJ#cY5MpZh?lx z-d2H8nskOLKmndlDZrNy*QkLf8f!Jwov#tp4<>7&3NB;;5@h+3tS(gkpaPtOMobg)4EL zdpHsct}5k{nK?y8V8^T~8VNLu-M0Ru-PUJ@RVSl7|KErjr2~n(@Jmh*!SYG6b%-i( zgS=iBC_WmmTTmsk59DApQe3Kr=6(QMDTin34iI`!aHde^8rUPaQmhJF+ubl=!yW8@ zIv?q(VvVheY0Mj; zzr_ka?z&%S#|LvUl+a^1ct4@m4Iu+kLtObBy5kdIhxX4fG?U^3m*zT~=5Hryn%Msb zSge>!5g)j)AKS3YH7wRLNqn#wc64JfkpagFR+?sc&{^Sti>}2+ceO?*0!8Jf7v0+= ziqTMF!P75u1A@zdJ#|3fV&7n6-_2omtvgVIDrKOya!%4ft&1iQ%U_!+AaJQ9Y${J7 zfY$+m4Af>9k3>zX;U5Enxwo5u;L({W0|FOstBv<;g*Ur(vRn*+^cszyW}2;5J=Wuh zR|EiDZzdA`MO&Kqfg;-F?gQe*c4E2bXI($ckBQof)s`ZkKABF1H}2w{x&kl2@Qf>#0d#Y z@zXKt&{(w8Re?PpQsvi28s$DHhg=i*9mLa+0S6 zNb(@=K2R~PeJ*|*e$DXki=(7-n@oCEK(hkUA)x66N|j*>>E-e%fl9&UpVf!dT&l$3 zjusatgt$O)fe_+jh7dJILSJYTDt{ZbZ^U^;b#rlTaJEyyN9@LN0l{e6nJLfGZR4 zC>}&$GYs$J7HCL3?H2HcFd;?17tk<-@taBU^;&|~Y4|GmP3*ApNa382j2)67^9v| z9^_2hgY3xMl#FUO@^%mGGq1{Drz8;1*%yO+^t8?DmGra=(D@?tFT(*(p*!A?dJ86| zdpaPRoZegM(mltfd-o8hr+osjaNdPQk@P&DXTy%su<-9@B+j1pS9Gdyq~i>_q%(S5 zR>s-rx@dF>9t0K(Zn?g@`Fxtcz@1FC%U7VHat7L0Ms>fchQ!cm@ab!m z-qIWx<#IgHrgFBTl7mViDkMPJuPUtUSC75L^sA$QKScu6#e0d3cN?N@a^Jcu(b0x8 z4mQ0X15bJNO<#ZKmxInP&g+L-coTZJf2f<#@u1#>TX2&|aNA?u0@IKR+ZJd&o_CDM z%T4BGM(e@O%P;tHccS_nzj&!SQ1wH1x{XORF-IBx*I|$wAd`2%+{{3IV}CLeZNo5q zZDp9-EKV=cra9klUNugq`aiZ7e!`G}T4)IWg!9hB>v4Dru96_CjzEPem-KkqV{{XP57YMnq3vAd7 z4XgYWH~3;-_XTca2zr^Z8iR{)p^dPHc^dI8TUC&$#TCag{$|}6+MKM@f~!qqNV#+0 zrScD($_Pb;je)4ttpPU`pNp#Ff!l|do3;=JdK{xFwP(fOF4`w;wBH}2m?v5q*^hm+ z*|+X5uQ0pFxGlUk%73NEY8HV_y2h9bW5k(1Fvcc1_b0e)ny%0TYJC2=*)hgOn~f_p z8<1voS^H7bZ@{PyS4=Gg__h}2o#<-StwVU=;6L#<{KGG(K-@ZIKa}YQ!n9s%%Ct^# zeob_KoyT89hdEvI3#;u$uSPT2dKDFUj7VT9(v{$STY|?Bd(#S(S@CkBhVa+8k089d zGW-q3l3z=YC%Yf=(L0K9e02z5;NGLlG|4DPa)5)u$C&h*`^2U@K+&aL;Ha{K4rqp7 zv%WNmkr?ElV{1{bq+@#>eVzYM<7`d1C}{}kiu<`u_C+L1C@%E0dMaCBs?*|K*!4E- zjT%;|iusUO@RG4^3oHY|)WbX%VcbS|xJKwXP0MKDli9ijwm2=YmnM+rG%c4(t4*Z| z@jXPQriscrO>22CuG7P5T0GR4r)gD}n%1~zinK=mp~fzWZ*3A26^Yb`8cY9!+-wW# z6VoQv2ATLz475U(Ay^$gw#!FaKU?(c`r{_(8SHIUsqg*37j;~?t)!(W@(f!k%A0P# z&1t2-+3YnScBck_rX80d;LlGA+p5V&1x5*~@##@*vr%2|qWV?gr~(d$qnYW^1TcXD zxzxyTpo<2*7diSxVLQR$XkL0$88)f};&ffTn0Az0uyuWe^~ziyVZGAVM_6z4^%2$^ zeSL)WW{_g_?kkT9n5!dL8@1^f&a@dGq!`YP#C9766qt%+D@Q*oz6A?;0=!Aki5Lnz zWA`dtH-P}Yj>Tvt5C5o4=yO;JywzsDn=um+_@eqvp+oRr_D;hdlrUu(;A*#()EBi{ zeC7hp;_R2ry7cavPx|Kg91Js*tMCpnu!S&GE|=n|_2W%Wq|-w)Ggg^w8xG7k08BMU z79V~1z?}TZbznJ*k<*$D)r`r8>yb;f(Kw+#+}4;XrMJ{Kxq`?1BfORPZzz{q*ugDRg zI=uihYypnf0whPFP0_YV(eMhya&fSUgL_A>0Eq!0QCQUC$6nx6Y=w=zrJt%;EHZ`x z!vls_AV-K4;dCTQP}QI83{5fP)?^QLHXzV9RgKF~H{TAFiG$eXsptzapG05zNCq2S zF^9rX0+r3<2wHSy56LJdhPlM>1roxFgRbCUJgG`YEyo1b?I$&b13u75ZQ}C@`WSP` zEYDI)c+7$0U^hWByZm2S{yJS=q0ZK*&)I{<09$1uMEH7uh4Vdy@gTiOzofzsv2YH) zDRcEBQM_)KO7QlKfqM+<^7Ke<=Be9$v}U5b|-glGrDCth-XPFh&LmnolIXZ?KTKWBM4u*xx4Q)jDi zB%`;^Hn8wY=-o0jU1tk)VXwLq1h`uRSYD*NhPn@}*EZ>mEI+}N4+m<#@Jc(`SN>a; zALwOBx0YQ~GPH>Ra$<1`%m1DqH=r*{WAANfOg6V$SpEfFUNLHPHxG-jy}J8}g`=Lr zrq+wB!m8G{vhY~LNnTQ|Px5iHjph59^2xP+w6A;yCfXBQId)5`^^f4Ty_{#V@Y|lk zhVv(NVQ;N>A^<0uM31Ns?Z`~6FGSO{_1J~wC!6xgwLZgFeg~F6-Y|s59B^FhJ{I>% zmEBl)XB1Yh14DqcecI_;ybg9(g6ccE?LH00D}HKUU-{iw{_pszNM+GW&7q~U1L>Yr zi4UN$+iK`ZaIO_jV}4ip%J0MS$LR82^V=O=j<*tXSh%aFu&KmENEP;0;sFHsfRd7X z{Pk7h=V)Ix_Xo24qo#avB|dAF$5xNc2cvxJ4MeV3H=X2pN!+k>KbAfnr9DoYUk>A! zfx=|RH3z)!^%uwci1ugU&b5@LH4=#hW8>uD6=riKpA>kG;~FdV<_2s>0~DQ;z{Za_ zK*h77GH1M-!wfljq`ESfzzGNHdSDusecE%fD?{#8x)y!q)?A=VT%kK6t9)-=zT8*- zM3x_tTs}*eKhsx!7|ZXNTz-Zw-`iLIWR_p2`VE`^N?m?48kW8nO8AekyzcR&e3n<< z6~6MPvb-F)r1hiA8+q^cmCtAS(=2{;c_Z%xU-^+NzjtzZBkw?8`B5ytQS}@)|3=gw{w1q?wpZTOuwPq0XR-Wk$>oi_3w-6ru>9EM@t+$|jYl(2e9>R;h%2znb!jYx9Cx!y? z07d9cmcD6{H!}fj}{7+)l8amlnK&WN2rAsU9y6J>LJEttT%J^LKSq zo!rEq0qt~k!}eCW39GB)_R>L4ZWlecNyNz!v`F!q^Jhn{m*p5(Mi$&3beTddN;-db zjzjk$o9-KXS#%SxD^KT8isfdpSADUIsKk1WKDaTy!23F;4j3h$&Iz9xI|DL$QWj45 z%!=s!_cPDZJSOcVb$NWu=CQAb$Ai2)B3Bt@s?eqy%ND9R=3G%8A=`O7s6J^^eWs_< zjKXbFprVg|Wa+uo#9x%_b2QVK+n1>&Bqs4{Zh(U$tR#y>PsAaN8)1fl#5sUy2!Doj z)8`pTH+@F*cDiYLvAwqDSmO6yUHZlK44-BB$}A?A)=Hi!R6ZNnA?JRhwRV#x{9Nt6 zXv_K9o<`2#=V$7bEXhkx9P4?>hP_?Giq$5nlwZXBTw}blGq6^LKa*Yf&T(50?!c?L zK0|Wy^BhNb_zAQFncKMTYFqfB#OD=0e%EE&!^LBbDH#F#`4*JG~f+(FAr2I$vVl3`w-hu6$?vo!9aH?PMI zS{^Fz1$41s&l3jn^z|z>p0VmObD}&?-C{1-kuzoiwGMMXh(Q&|shknkZ9Rj${Cp$QeH(G##ov$w6<6%prkHD7DI7N_aESqvf^0LbqqNyPE^I*c zW{RN3vHLG=HvYW3F&pb<=F=0-xRx2d^_VaL8 zWIGv1+>d`6!tcQ)ydOfVcn?x}T*8E@4q^@p*8fPv1wia;9IsC|D$b=NplXE@3zWw*UPn>e{dOgz;m9Zbg^fhn|% zw1%qKUDsq8=134+>{`U`Km(@LP_?|fScJN3!5OMLQ?pTS!3dtTVE`Zy)ieeN;wMjE zz&2EDcX&zfErkr&&FE}ezxD!(mH#0XYaeHF#$?+~@`7>zHnWtTi&$1d;pK1>=_8tT zA2Cuqbnutc)49oJ$KDUKrThD?j=d9=n%;h1W5Jjn$DRb9_l@aYREOKB&Qqvzz%AAl z1^a(70B&<5EQ>7#I=aB{mS-V^;&IQC!`o3d!mgS(-K<+j@Kmq)p%;b)KU93~1dN46 zr=&;sCmY?1yC_lh^*O;=HDKzse2>DEkMl8gw2h@iV*%{#2KMyy92{fA4%VEA1 zip73ky~eg?Iq6~;UsvUC!l$+No}+y)vz$y#f0giv=db@cz#Q@1EJr-AmLs0ukt3d)JV!j^sTt^IE0lObQFFvI zp4Q@t|ATonxko(LYvZ{IBq7vnki*^%8OAtAJj3hYw)5D`dUeFJp2;0aLjo=*#(&~c zG0UbphMjDFH%xQv%B+>>2_W37hd%ws!y3Zv9bvCqh(zSqV}Z$+(2iw6is{zALcgbz z;nJro3oX{1NbrDxJ85?LWeWxxKO$ggXTXqzeCK53RjHBd!>KO^dxH6?pB>DZsW2~^ zl*IN?zl)g*(*^TrU`}OcI!r{hoOFt|wTu_o*;=-ilX0_#RVA0Hi5((u=Cu>jFsA%(ig|wL%6aA z04`S>Y_7&Au5uFDkN_lGSYv1ZM7@5D=ipf2l~G*MF_tdEH*AERwU~}*FfRmJGNe3c zqSS{i+Cx`3qRBa?8^fAj(x}m;x5}n>PglpU)Bra18d(?i9UJyM4J-SJW5LLg?(*0P zUOreqdJ~F^>wOznNaOM>k3|KF;7iX=S{~a`6G*c>)}``+P32Lhc~UNqedxz6YI*E% ztTf{C*qcVP$s-*ToIi}=NzyTvE{TtA5+^GX*%(;>HuGb8pWJM5Ki;z?;lP@p7P=O9 z0pwKlnzeApHCU&f`V6+s)?lyhLkYrZ5DV3idE-f_L+22-h`(*+I&JF*o9DSm0*P80 zgO>m$gL$B=)k(To?%1*xTt!iGAYVFLjSu;VrYG}L9G7kV1sD^rsb=5-#j>Q5T)_vm zcKpH%m4QTR;%*;Q!B~rY*=rfmg0UDj^~10!7sIAtqK_^gD?N>qF3VvwhvKBJ<)M?8 z<4gjm{fiS-Gr$&9wCC!=qN$<@Wrlgs`eIiT+28=JR*iim*P{$%p`7kmtxtD+4-r^L z?N6R4WIL3hTkR6Ay3uBO%Y}|?GUK%yW#h6;_YE~OIVO`6OuE2c4tLv7 zjut|%cemP*%Y09p`PVzCw#;>ia!aWuDsAX`40q+YG%P^Yqn@RCT1)xusdf^(RQ9o{ zOjJ~IAP`Xvxuy7G{Zk$J6rpyc;amXxDRw-$c=xmM?xeXVGJ4USH=_?>>qxMfV9T)T z!sRp(Si3s0%sEZuB=k52a?ST!xWzalTpi;PP@6-u-^SWAe1&%o-nvEt)mmps*F|gH z+F&O9P%zaR1Z3+O8suyN3C_vYA8;Fb!TbBsq1YYS{I+}Mo zwxA4I%rWixquhp1%52S@ogD6LlIgrFK|d3)KjaPAonZIC%tv( z`XcZOm`Q05$Pu;Yo}hcAq!jsh#~F>Z)fLQCR;=p&av!hsMIMLpOp8~-vnb*FXe{K; zcrc%YbSM~$@I1f6(A~476Z3J#Q)`Tkc=P$hcQalxDTlqG$Az13cwGY@qJdSj<{ljz z@?t`s=7oFew~NqNN^LtaUDo3>X}GMF={?#UMk zv_;6_KiKT!J#+9%v}rc)q%#LiNgfO|V~aFp%e2IqwM&JnfMB1oPNhpFT}NH~Q+e8Y zRZcu@`NiIHH?SP@da>YN`nsO>g(2ETRn&wkGtr8xkQ;4@A%F*%VgpE&b#)<7t1uJvJ#kt&6wZ#`}=M zi=afEq43BzqVRUw;a~AvwY=}31yiB|Z&7ajk5l_?BVw_bo31YfaAz~x)~YqB5w z4tLNXhk?BTFmCMh>aoa|#dEdsH(ML?wgEiJJ@;q&BH9)m-OSyBx`~;^ql3tWcT)BJ zuUHr1HqjlH&9)VHL!mZxa6`#1hz51;nUl)1mg3nd$#ZPC{)6JOdJPC)KF*itE}Ph# zRXTGuZjq$pM&DG+S>PSQ&G;I4n1|eA(8VJ+L^Z1vUzvKcck(w>tDMz#Em1yAl%1tn z%X+34als8Pl0sTeb!r8Et(7`n`UQYGF5vt-vO) z0_S1M;a^oC!_Qa1UE(*=balx0EBJl`-Y=WDA}bbNu@k(cS80egd`cVqHI=rGCz?ng z_bPEbsN`wEA7>SDE{OT$cr)&oV|Q{C=^{xxQ@ehHSd?TCTprPSq$Lb%?>)ZU8!ubR zS~v+UQ}^%lrLIyWScCCnlsDT}(k3;#Le*@gzhH{}&qU0-8x0?8=vZ4er2~T7$gnam=6SVqlBV9>V6VTAyETaWt0=NJn$O zGL-ar7;eg9j}WBYM3#&=Gw+oAQ-=@7VM7hMSpoUfSULk^!u!`m%ws7YFYP(pJXYc{ z_D|>Q96avrJ}$&#<0|KC4Ib}a<~**&<1rhY#}+&meB(T3V}azGnGT^WJZ{|4d5oiQ z?{=qf8y@>^a~^ra=V{+NkNp9=a$g6w0FQ}XoySrhs1goyY$}efkvmzf@7i_Nk~~ z*zg8S0sUvx zQwvn}65F1K>fB8AQeWKI|1(TVkH_1(n;8w7WYx-VC2q`KilIp$zC!{}jAInmB_!u^O`zty1iwmmSfJ^=?BTxbSefni$Q&+l zju{+b^Z9Q{tWU}a|AtLyzqzc)F7?fLx7jem-;=sE{pdtAo|&2 z)#cw3O7YL+C+@)+-R42-^5N1JaV3F@-SeB>;$<6iP>FGH(t-?hOGfDC$KV!1SbIX znuGqBu{Ad8*%~#H5>5hODipgAimk@X7a56$*f4(t6`gIZZlO4KsiHU903uN(=hRf8^T&nTXRe{Sr83g0_% z6l$cbeP`?>1xID=yM)Rqm_E}x_*x&Whz))_b1Uj=Ta*$_FR`Dh>8L^QO?m|1*$4(2 z1XBN4Ctwi#lpetkHiGZz!&QTukK@B=-qrNGdOEekR?HDTgr)b;=EmMyx{meiEr2E2 z41cz9-=lH2@-P>rPkMv}z*AV%H9Zo^G@2?Y)JWzS&UC%hmzK5Xgl?%vz820NXT{Y3 zA0FyF?N4ie0o0zpTEVBhozvRGk;$0s!c_{I4hLpPtRCX1*? z)gxg^Ubv=?KF|Sq3f-fYNcUQ0?Y%29(f*O>jI74o>x6*&J1PMHQ?Cr-$@a^jU!9F)_p%_+Wi>O?Rf$!@*g=HQBnVEdBdqMS=78+}9;6BZyB zvUp=|kBcv!cr}FB`|3dJ2?}-R7|ZD!w1Mu4bS4b+B4Xh7t)tQ-kduy$f$n4wtQFG? z?r#tbPmkben}atPPP%S_F%He!+^6#q4(!tVDT6C>G;`;q$1RbAVQ#9yjfoAg7f8H{ zf8uX_$_4^y^Q#%QL^56ry|7E@g?Azu_f^|TX!+9u* zBU0g1bSBT19ah{4|DIIRxfau+JSQFhZu6c1CV?!D&&9r;F5Y;nBgjh))h=U4XN3(# zPP}!Y&B2qO>DJ+kw^|^XCm4Qo9}1QfZ@FmYK1$Ot&NgUu$Z3M%i-E=acwZ^*}8>wXh$iuZ?n>OiYu3 z|61EMbn_~HQv|Wb1;-A5%b7G*^3A}ECXya4?*(vr#(@T{!qrtdDqqmfV}Ni=i3!>} zhRU0u@kEC35Zuj(vL!vus7+Z3k6^Bi;8&zxSm~|#x)PM)=zBW>S7FhS=@HGd5k037B@Th9 z%t`ddzpUZT*A!^Polzq=zLOo+<2|&V^3o%}&qjW>K|YUS3R=T2(c-92rUphEv?J1^ zWn}EwOuz_FruHzSm1!z9x7d zAg#Uv0w??PXKdi%2G~iPU>u_JQRv3O8gg(l3mdAd$D#v{*AdI%gXdga9!ZpVmWZ)$ z+RFo6o8e)`XD0voqRqp~50x$e`^jz$ch(kFi|h(C4+s{!pmIQmsf1e{P_>bpUaxC2 z&@tKRtmv!+R?*5bL2GT2aM3dP>KOA;8m$C434JvfRzY%wlqB&QC@BLp$^5Fg8EV0| zme<2 z*T|oF3-Kow+&3V>+^hkSs)_<+FP6+f-8fn4$m^h1RZ)+k-VaCcLoAqO*jE`N%Od7D z7V)vo{Ur4v!}iT^R8!M6RP*>WkN9PU2Y`H#8F zWS?lfK>7Ph^NKtAH$Qh^z~-*;HL=SckEs?YM(_@bi0SJlSXD(sH?5Fb%L8BHMy86^ zKn9L25C1N9wYG!J*T(m3zIsxjvEW0G3elW2MA?XhsNO;@_0^cIDc1;P&`74di%of& zhjKN_hhC8OIi$2?cP>MVXABN+Ejb@=mw_P8#x2x8>ew8E!c%+gyq=L5Dgm(9{$Tw2yQ#h+7kvo9xQs@+L#7xmy`D$8Y(WtXUt{< zUw_27^LgYwHkV!}axu+HWO2-j_-wQKs#`ke?y@<+W^>-VwpqQ(PqE->ihK@Q+V7KZ zrefK*U^6E?hZGhM34Kki&K=;SG$~?WDC=<%C1hy^~ZuU75RU&I!}UHVmtnE zbw+G{j<)$}z0%ZWhEy`TKR5Z@LCUBW8FjlqV;^-RZH3=+**B% z%dKpiF?L+}wrxE#C`c@Lf+GKKS`VE;KKN0KU{}(IrsU@`TYK#cZZQb1l}I5Dfd7>N zecZ({ph$X(Q*4SiD~dU)C1W~1nET+rsQn8x^`hU={?#_^t{!Q1+gTeCCd%yEXCI@KFVG3?|xsf8c(B;vg zj(@nvX1wqXr6=N3;{#^g8{=;+!+X!z@ic?_9zkvOhA!&A*rH;})@SyEBH$tOHmqSaH9xozZbCgh(D4>f-^ffz9I? znn!X#vCm#?hKC&CLdzJ*;yT>$W~YjBQAJHi?$_(ljoAtS>W3KW@B5V>_}q;5pS7vK z$LJdxTFOCW{JeTmxjJo9Heh}b)Z(-WLd)m42w$)fmTQE{=j*DPo!lMD5C}%%S1PW@S&JL(G`_2}?-te{_YQq3JjKb%4TN#6Ssj?oh?FAeKI1xCe`&ttallKS|#Qhc^~q zoAfry6zYSGd&XdAI4q4S+DD*0F2^M>SdV2^hz*g5w4G8(uW-5 zI-=qmQhgAny1Pu_cGkX)X-)VSo2exjS^1cH@i~{Nr|?@DiyWb(bm%NwRLlHWna(^a zHWJ2g_hEhJ;PCoc1^8K2fK)(mdWNGh95XjHJ#!stlcsasM>D4|67}e|&~KoP%S<9&Jxooxy)u2kaJ6710MR$+fV^DGoqGKq9Pl41G&r7bvi5g9CS z5GEfSYvcN;a2yAWg>EnZh2v*cmouK_X4tKcGtY7QTW^%pF$pQrNwV~2I-*ZVMsSk z+$t~vfL3OvBDoe-qv2aMYhB-^8B0HZ7PMBTwFyfo@iO@IHaJu@*k}<2Lutkt^>DhL zgKPz#yTY-rxSKDVG#IzERy?Pgo%=q!YsFHRk&r>&Z3N6CJ${=cF~C7Ull< z-~k}Ft)!_a=BL%ysfv?rT5n_c#3%qKp7?C%x9RQB>DFrY0nbjN*CQNd?^ zRq_?7)R2-6p8|_ril^EX&({>e>@^yeHAbeZ(=*NU5F8iKQ=!OVwae{NU{b1Xw;EG* zoZ5&5zmBVRaxRE<@iIyl^-5Eh(NQ*)=NN@jHO2x!B}-{Ts(!Ecu=)Z)3{KPob<bkWB6B~OAFkATDfpk%z+<723_BYrz(orZ-}cZ`ISZUYOfOntMs{Tjq$NaUAcffi9iC?>z;sVQc|yIT&aT- z+IGQxbvd}N4oAZMg8#N5;NtD@zu^yVhsQ0V;a@9ZhKg{zB0O6Y&H_?${5krX6ofN= zmoN_CR(GnZtiteU^I~Lv1L_n$Y?cwsu`}86n3L=7!duPqZe-cZRh3U2`5vy&5TRbx zi!|mAq$vRvQ7EA#wUL^MPKpU#A&y>qJ?__QHcX}+dTm1$cmGLyr)sd}=?@AVn^|Pr z%+i;Y&Dd3?(a9@kos}4-B~2`MAf^fR_T>vuov6~Ep`Txje&ho2yjs704*S{hsWbW* zW6A#qxJc5JFp#2oSS5uEtPF!*1Fbmx>Q`{_+wRFm`-ZQU9+8W5jkOjaEV~a9iPW*@oGohzX zGN0<0a5l%j#`|tXNCLM9?;G4rLl@<|M)Oy&1)#myh27bPtyi$wtvLETB|oqH;N!;% zv0R+H+BmP!{HP(rFZ-m_3h$uo%g*2`a0;!lQgE+9pHeVO75y21QAxo>6@H}9D$bcJ z-jDFtd*Ibt2{eRHJGGvb0xa8r-RJ}32b|IWX;!OXE%$ux69`Epo{0jPr87Sbl$@zq zR;TIRw^=C($E+3>MFHyZJg%A!wbc|x_J`G`)U9uoOHCrqGXgfEp^{&%xJI@143I#fi)F_BbH5G%Rz=Ps9 z+}DA=?9)mSBpnuEgs2?1(ba>c7FeM5PQ{(@Z&nFXInrWvw-Ra09p8KI@IY%AUo%Ti za5bW|n4qj}NOj%xrbwt?eKb5DP4%)(9J$QLC{^sm8YQ^)l5g9~Zp( zUEsc#`a1B6?^MH(n;BZt3p&OYv>%f=I9SHZ6E^e=(r?rR%>Z&Ks6h}W3osO3*q#lk0RnMfiBg#?TvNG9g zMpXr;I&6|NvYCUw>e5>NVvlnAaGT9FJyMVzQP!4$y9jW&pij4_s-EIt@Q)PF>-09j zY6ds1^-Qvrx`z22SWn_va^OLUq0Fh!ZpL=7J#B=|c1|j`PeYI9#Sax~maqBN=}ZdJ z^DRgDna*uL#dl5;%KVhIayn}z0lj<6Lp)^cMUQUWi|mSaUOChWYNhrRTf9780PN8e zBspEx%5_N}Mxw4dFRp-Ct--~W_>){h)!S9yI7*n4UI`_3<@H1+iCsk^lq^|U{m7J+ zmn_}$5nH;8adBr7iv_7FZ=~XT@z)OD%@*I|p*t(OxX$MLBIKXQcQPGR9_KkHYMe!Z zH(WFJVVr4W%vKonJm>wmzB38;sFa3LNW+ljOI7o5gko~kmjgLe?8;V4Yj`Yd>+2}e zs;UrJe0*~`BDO{Kn?i@+zwDjH4%ZGov~ze)Dwc{7F$AyKNS8Buj-I?(tUJe10 zI|l5nX|>p!3ic+2`eOEJdsw_fv&e2NemSx-WD))ScB;DP$)ai`)oghpu>!J{OSZT} ztU8s(RE!I6fLwp=VSrxNk$9U~TE4YHjHb z%S3SkS(@W7beJl%q24Kk_+&mx(UhJ)shty?^@-^mdouNpmtV@u3fy$V`cQuYb<0G^ z#`uy4c@lo8q5_iX&#~Oo5c~bfJQZN8n1Eq5>)_=x_c2fMUOIg>?v57pXhnyoiWc<1 zFYib5DYu75>I0QPyFs8t4eC`FL+-1tQS-RF@K{o8FeD>qCr-)0Vr4~7SJGH+cMq|? zirB)XjxJ)k{i4fZxT+57v-JG)FLhvNe=j?4X?AXTKrRmmJ2bl^Iq%eBjy~^yF)%nK zEE=kH{FV5ZvD(}!`B39ONa4qAS6U{o484^M>(k)JbcmMW7}7Z3OXE{be`jsQC#_8r5gdUw=8TBw!kmG~O?h-oq3Gqf z23z@$LopNtamRmPI2I~zmtE!RWwQUsREF`oFr^FiMfH1HKqpn`?^dDQNM*%-s?Cs` zIkmbtz*bI1@^e(zBY*->q zS|RB-6pOP1*X-C(u`d8K5?xWD>Nn2)RE>@WZ9jJU-^3>A$I|dfKj!fGz0IT72kfqD zvBkrXr=D|Ei8_=>O!2Z~8sE};$&NHW!>MU}3*-|o+|%rM$@fsmFHBFqmnv}r$+xMl z#n9-in^>-&2CT&D4Yiy571<@-4iFZf=XiHoDqf7Otk?@$PTc0Dv9qSJ?ysWpfvy~t z6dy0=oM5gdBJt>GD29!Y2Roprwmao2wtHUUZHlYBMq`p zl4J>$->Ry|vSbJrVIVnGeNj#T2fJj1%IVKlwuJ6M!_-rHP<#G3p;nWq6m{SP1HAka zFJswShq2tq;N>M_-6zaVbY8+NRcmm`9@HA{zrx)~*cgEa&yqlQ#MhB)aLmZ*i@&R| zN2hSu0u|lUG&2yr2BPEA6I7TaXb?G{uQ`yZFD*s^X2F6>ct4Js_KgS!sORLwWEY!* zixmet!?mdkm`jsKg8TGML1YcFgYOpv)`*k9gj9tCMTV@xH(3eRkb93^4G%2i`YS>;OrF4HdX`mrpz4U(|Fr^%UY0)JI=~ zIW){WRs0Ce;AabdZjr`-O9?A}P%rs&v-*jXYbxkTP_zj@>G<%o9zW^uaP1|2eTSF0 z^%B46qE$iqV>Kc>sAWJvQrvlGDtGkcI~WOAoeld-x>A? zWa`ea_*m5$jzgzY3of=L_Jv*>!wUd`s;$Vut0hQ|yIYhV{xfK(&eH0=9vLL9VWEzJ z!V9VD57f(2SSkK<`>kj0QT^6R(!e*>2lbPm?11=&y$>=p_?as9MTf&LsrnrOR(&9u zSAF0C&(jz1Q}<|iK`gug8sb;$9bdiGYnuBF69S&X|ZH_Kq_SJqF&8xTt!-49m zyQvcZ)ruyr1T;bPD(DD}eOMYU(entGl@$ZXgW^j$WX)8za_Ltno>F`{6`0H-Ka zRvd-mytL9{P`zxZ7>G|ySSb%&B$?jOy!y(DKjDLZk4YHD$CVX>Jnwk&1adXT@uC#p z;8=wdAVOvM4&S5o?iesIJoXU#hoQM4?D~5QmbGuPx1ws%8nNmR} z$YjGv-LCdN#`bluL8p!3dr>-&n2UcJD#ifYE)5mu;14!VoQpr0KEJoJ;ygvAK>j?> zQjnZIPhRab=$i*@vwm39i$3P8;~Ql&-w0fbMibolksec*O2vR_Gq>(~i)-wPxd%}{ z$Mj|4dvUJ+y*Sr@0_fr3FFwqgt_ervz~#EX3-!kMmb=8XnR-(d)!)pd3;_>ChKHww z2k@P29M{`C?5cTCzUM&+eJezIwHRYad8k6Hc;*|OLbvleVVAJ((xcQz%mAqqL)zUJ z>cD_D_eG|xg=9ig(@_f>n!)~~yi^GtqBz~A^lH4r7NG#c7pSp+qWu4kksO^*_5*E?Id9WZq_lqe{+!h~PM zh=I$&Skz`>FbWcVClW2l^}fRd^u`8 zb26dwapIP6AyRJNJ^|bSz;`3~u4*Rov?Z$}RrzbNJZ2q%hev-J9&M`|uTZESvcsKN zfZCo}jFX0f2jXfcT-{J~jla>%aaIbvZ&&j>e^J#8Ay{pR-G%Akr|)S~og;Wu=$Hp7 z7rS^qwDH`k@x*2}$4XYm@^Rx7_zm8p@rXyPw{VU3;?hyKlIM7ZtG}SY*i0EkWx*gh z?!bC6I5v7Ul;V~+RxMU^UmQ0lF^t<-srEp#Qv20a(giVIWWjoH!rGX5cssP1F^l1w zLC}yJ$w+iG2s|MQuuH#zSKh2dS~W+^ODkfaZ2b<;&B>!Ru`6$h_7zlO5AtFlV= zqwgSdH?k_vTdk_HFTQ*HpIZe#*j3Q^f4o&WNikz&!9W!gamXCbC~Kcl%$q#jFA_DI z$FkRERC-=0NOo{d?{c^q5r&{P6Ck(@ZM7M?X1;MD4ylIR5gCbRSjZ*ckUKmhai4k@ zuPfJ@8~9J95h_2@6unay?V^iT>!QYsIP+jo^8Ko;Qt~QT04~kIF|UDH zyaC-v4nYfsWL!h#e}YSf*p6yNR;%-IW!;JTHACxLF(#qAH0>yXFw4T+kb8PYf}xk^ zU4BO5@9JH=?gK5%kQOEP5sp)Uab;5O!KUb^y6DcjC=X!8QUuI8?TiJ$>cYTy-3D9Y zPtlQM4LhcF@|!pv)Ofg_4#Gs$EAo5HvQ1csz{x9%MHJoXUimx@pLfn3Q#NybU{*-b zkRq2sh`OFyrPS4yUR}Lxb)CmiprtM@HniwA0Voi} z>$RtTE2LCnuBbb(_ES{1Do?s zT9psBVUKoUM;h2M>0ytxVSi@)CE-hOR|8v}9`-mJw$6doz8%f4cm`_X)whiF=`kH| zV=8tq1*;5f-*?kWe}WA=$b}tcV2jej=Gm}Y83982rL^eyi4w&JcK{Z;v}y~49aUzwoZFc%$3M(AGaKUkBz}wCJqQx_qxIOBLkXAQ0z!eRFgzwctr=65S8@Drx?j% zAP}xq_mFerka}uH`Prl|-&W%n+L?Y@i(mX7zeTF%WGSbQI8rXL|LI0lV=Vad1gHx8 z3u2>D=GG=DUQ&-o3_@qt@cf9)fEP~6`Y0xOVfD2;=qkdcf;e$zb08EYIY{_05a#Zk zBw;TNoI=9W@#$Zeuq>^FdngHeY`=sL^!{B5Z*=-tsqc}hbUg7G)3@j!XaqOmW!)BS zl5eb4&W~9Fn#|fv{JXrz9O!-a#ebxCbva%?LhMP1g6)F{Rm$l!vEYo?bR$qZXH=L0 zWd#2<%M_Rh;@O z(v6G4^-M=2J^&qTy-m;H<2I3>==3GRT1SHt2jlv|V-%rwxeAV#6-xAyXw+JG(IP@< z%N%QLB6n*d#{C=wv@zVO4Q~GiT!lq-=@C6`BRbXPRy#*=XV2xR#;zUN8E|AERa1vq z2eG$7Ga)1{7smJIKyfaPaBW5kIJiG(W8rnt%JkG1+0@@;R!0R38yf!Dh!)$hcWPKw znU8B#$4cpH(a~VVdAJq{WnQ0F)}*#p)>h8pBN&}wsI3)FDZ1WP<+kDFHnjs>PS=kE zr|9?&1fI409m^fWXDnh4Hpw$r$D&(_&RM9ra?Utd_p?%szf* z);i3z*vte{Gjo0lW-yQxX6|}*JDF)(p*3^3pP9JB%to7;tD`A3gM)37Gy^bUrqk~+ zlf%7m+%SepKF%t`mg-W>NJt58e_u%Xg06WsQS7UYcdu)o-XJm$d4=B;|o?6-TX z2HJWyYnNR>?|sx1cJN-1C@h*_;Rj4$vCG@9HvSPVenGQDBbJt5@*u=L&9I!b%hW~r zn~n0vTa37)p)Pj)vc~DmAN;zHI~Tg&+Gv0CS*6l_EcnWDt-B&iwmiy~?dW|+hNnjF zlQkm^;jP$<_3O^o=01$pxsPxw`OB-F4uqVdLHA1Nc=r`#XU2~B+Q#R>B{=9PycN3; zf8E&&S*{^X^ZM`=FXXmj=mIpfCvuJu#hR<&yH8kS!I$5b2%RJ)R@x#npTX(pLgrX* zHiFK0gBycrewLrz0@3rjVz)R@2gh`K5s=x~TtU?n|q=_~eBQ%yi6 zTZX&z3j~JLmvm|f|Crf24*v#Q#|REga69wAGbBUFGM!qFHDAqIpl9W4F^4eFsk;jA zuP#*QR_sgqF%x$d>+QB?o~D=;+k}KAPAX{ai8@fD2-K4n_L)O@Lg!X&$BtBCSmCZv zoHq}BZxw34isuQ1*XGr>Yn#i`);bA`VO@96-I-!R<WVx77Qi|{l%~D{aHthE`vOdGr#@oiE@J5z7q9>UWCPle49$TPQ&V zIx>D93eK3qDoUD6ayh%g<}5zjHt;)D2;bZgP}{~aUD^=frcaQl@6aID58b$nE{0ws zHaSX|R~dQC^<=ZztJ^6sRWSy`?R>3GG4{O=#?&{*;5Eho)j}!ME(8oDh1mzYgA2gBQSz=c)4kcp1exL z5Zjbt5d#n%7hXT@5mTZWC18n(%T;WyxW^<>apxs)$+&P~$xQ>PsHf77Rbi$+movTG>+!_rmG`kEPk%7J3h3yYm*jprae!Fuvz<4-G^ejm9L`T;~^Phv0tbvn! zJT|%}7Ji&gapg^5j`@UhSu-T;{{82-q)FNzL#!4w5E<+eHF5?LWh#29cmAuu5^&W6m zUfkh+UDn#qVLA&=f)MqsJ)C#kJj{1Fj2S+ntGMrU?J9m1SF!ofaLwTGb95E_iMpq& zcupdV;0ue4tJn%xflHs7{~vX40v=V7^^JER4MD*h6)@t~XiyN91RaM6Xt$)v4I~g* z6h#GGAg&;G11?Cglc9UsXlBHb8JCH^j>C-Oh@(P43C&_UI;eQ376{m;zz{68Pb?OV&)>eQ)IRj2BvnhIM7T2vjl_CeEBv^adHwr!=aAzFx3 zI3l<%E&?0D{(IMIvJq|6@*v8?MpVO5ux&)_5q4T=7rhA#H+t$aJ`*l>R}wYU>s2%j z+zr~-GLOOb2G=M|wuWv$8dB*8=eRbUuCAJkU|8pxrGn@3YydO&j(D-i<~0*u5#aN@ z*0}2d<`vzNTq5U{rKm3r$kf}+vFNX$2xN4ehuA3RBol=@J&NO16vx>p*f5=7!cB~a zg%22+h(2VaHxt7#b!f7MOZ1En>Cz~ez{@e>nKW%IC$sf>21XX|lEL1++QSF15G9GP zDj`$#H_J@TP<=VvLR5>6xd^B5Tfh!_ln9M5y}772CX&rHDHvr)#W~{*A<r`#_z2;I9DJSB}72^X{hmJ{+OnUgy=7XKu6Po4Fl_Yc zrX_4UK0xMTQpoH_c^&~h^Dc&;9*Xp7ZSCy9g<{~5`Z#~*AdH|R@20SK(}5;%c@FXf zr)EA>HycSYr3z+m=t0=N_#NhmCbIq2jBFm2OXcfyBwB8ppRS`6Z_-|Ta5mYC4_+lu zKZBgUZOL&lIh{>%V7=C%Sx5#S-oZvOAMpPHRjQ>XYKKIv@?8uE&@r~!^;kXHFH{PABMTgWS;7>EP`n=RsuW1b0-ve{62cNQ|9fSD zH`D^}Dg}OY{rS&v|k&3c{>%Ss<+SY7ca=IMEsJQ9qo<@ZOb88*`d)Ym$_OBXfS8a%qi3mA*@Z?BMTtu1#!isqmQc2(ONRBh`7INh{pEPNyC!?Z`~ zgKzF#)ZjQ@B-6)8czfbfB*)OTbzFAo?+42VT1?YNGXwD*IvQcYiJ-hdE9snS72a36ot(O_yYwPV3OvLs>a#$2u#C;?aLkF#25B4@aL>|M1e^2L>*kjv2RQWeyW+WEv#bjmEWa)_{ z?qD=nMI(u0#RnGuX@f^xn^`MTX=TKvL4*yhH{|e4LSa-G81z*i+*K>IPZ)rRS z8^s4Iiu(l$To$(xHZSGfq=&ZbC`cF1rUl*nN%LM%4Zco{KYs4 z$QtOxC zETwuvk?`E+a4GcK9xObegEUs2A19+7qexP7`WOYRVgOp%zV_G)z^}ie()}ni>D|bl z0(f9g;mn8H_Y{unE(aGua z6LUoVAXy_Zweh-CbBMQcGp?;-r9%cs1DfzL2kL&I*m z1#1AvouX*>0Nm4(i^~lkMA!`klp}af^J=~OrFMCd=ZB)SkC_3_VlkS9k zpoqAeeLQp>6|415ctXBxEN&YRP$ zF;62!4Fq+g+clY6z;NRXYPkk)Gu)wFSPt2Z-+Mknk7y`3AsltUO*1aq6RESfijOVOn=^w3p!!$LL| zNO+UWx$k*$>>A4#v4YS9O?DK+Qjou^ZS)+RUbUnAX?%)OZg;81vXm`mS!*|kb^8)6 zoK}zDPXyXGjFNDY@0z;&Fb@tx(BrNGjjY9QF_CZ>&0~>{@61S#6)KTOrb;5Kz57Xk z1Lsg6Sp?b%+3?|J?|!kGT8tdh3WOPShB-e!lITGzf*)?fi59)f8cJHTTbqD`0omPt zeT=xc5o4rt6~3%PrvPG1Ruhv&EJ)eeWJM%d)bos6EwWPCcOg5O{a(0!0lUdGaEt*m z#*_0!iovn*tX0`RdaGcc`w`|z0B+fg?WC7b1#D=@)krkP4$=wFa+*(B=W(f$HP?If zAW@?Q?-X8hBZjxd$cNY{{)+bD`5nu}I7i%FNg<06zYO-b!Mh3nzQVuF__t*~u*NVr zZ(_`KL%^AOIJejH+}o&!-A6Ox7`5VMV{rq#ToZ{2!@s9u?wNh7La`*%Z0ypj_S0EvYkr(ZRt0Jck>I1h)#G=e z;7{6*V;p0q1&awwwRab3(D^>L1LhTV%MV!{ddD+l24m$1QpwG;w5PMUNu!RO3F8ms z91HC+ba5Q!Gf@YPw|7XURz;sj!S8)TI%-vPS8!V)|Tqu)F)i6obA85l&Hr;d(0IGZ?X2Ol_P&6bxMZHvtXsw4RYD-M-HpDE&!B8@N z*$Oe=+#^M_8^uk6-a}%lh$f^b=q#0>k&>YJa{$N<+R4|IpIKTJ-}l@`XUN@o%4lB@(J#@q!HvVZ09?%X<9;1e9?}66( z8UUr2I~H?ysJw#;wBf>KaRJ@n^22#Ds|8==@Dt?|!rM9@%epUT+g= z?ghtGZj}hglIAiLmJ7TFT?DY znSE$=F3^(aqffCv^?NydM3^!q1kdg#m#N|%E-6dgOnmlnpie^KJ58Nmy5G@ENqgX* z?9r}cXQW38`+L)~f4R#3*Kl~-XP-`ZC;K38?h@?x#vaxGf_)dW|MVise$J*8uf=A6 zxXON!r0i$0-*aDb>yKn4-~gkc8-EpBG(u(no9k2ACzqEDGdbJI?7!74*zbcPvbFi^ zK={2UspW^%Fvov=QgU3Lp5rkp$Kxe2iL%tzy<#u1cP%Z)uyQ|@p1pA@dmY=bM~)}4 zhk*MO_P*LF*egbn|3&L&Gq3f(lf2fY=XIjW>uu!apxgbd)*ZAbxpfoi*`K7cpDB^p zecNnZ8t{@^ck>RxekrWN&t@O}(SxoXc|vlZ^;KHko~Ckt2bPqGdk%5=8NIt`cXIm= zW<21bt$NcvjIgu9E$Jxn@YQB)i|?U}9AKb1kX);}_7JV7i9uX`uc%$9GgRtdzE-wf zpPIzkHHouo5~tTBPOVAwtVx_)lgO?~bgM}mSCi;mlgO-5eKzdDo1Y;O2P5hyfDalJ z&V&DA`gUfS5GJ@-n>1sReCP0RA~yW7dym`TyvEGVb%?TUO>|YG2dsNEToyip6~gRH zg@YnXBmUjO0aQY(2DQ(#@eF*IdSa$EUSnoHHyYOdSNHJ78OtGQ>Jx!20pxk}ANltU}FJ-x}_-Lh9U#A*Uo7O+lH3O%6> z5L&h7DBUN2D?7^M)Q+NCe)SSn)vmlosM;zXtAk~DLmM_Yy6f}jA`ZQE-mI(8|J(q} zix%mjE>)p!$Jz`JdVocQHW!+!d*=WTVZgEw)|Kc)DFrr)^>0W4xIX@kWMLg6!%%2W zxNH{QQjyIwk;!Z#!Vwi78SzvXX?zpFweOLrB8=ZGQ&AbsXDkRk~j8?U_r|2n7!;-() z*T06Uwa}U9dDuC1K3gND)|A>r6Rd`RPbI5Zk|oyuC>$|xR|^7@Tg*u_{7r5n+LVP2 z;nmS#F*i}ZiR@^qIBjGfsmL~s6Ectin29l97hw52XZU!b-AbQ5)^01=U_Vj8R!Oh{ zoKe9-(_nAQgD*lBzXcFpnrPERHk?mYI71~IaBm6TZO(s{kKOUMG+Q}XI~K@wST#b+ z&^!%E94|Nwj;CBa*B%Q&dqI&SnIiHL%$pId*4e63^b(d{gwi&#jT5g>|D&A%+W(NO$Pdm(i3YzCizDG9cCC zzo#sFInxC}B)c2azbALY+`jk@^1>ADdoo5(+?=#1k-JU!KD6CLtI!HU(BPwmDNi+; zfIf{(>s{i~{PA?H39aD)vDub2RzoQu(Z3n!Y8J|Aj9 z!l=JzU^1lDDUfb%3yGF$VRxd&V}O*r?5y~L&iTKVvf7X;t0k7o=Bcu}V6}9)CCCQiIuWk3K!RxXBUC&G#3orz8;q`kxk!L< z5g76wDc%dA%kWd+8F{xl89apkDwfTH-tS;nw!-#dHw=;y{dVCb=%`5UWUc9cN{JX^ zXy1#LROt(o6e8{sG8Efh4`JaS?m%Gfc8B?Cyt7cO2_a3i-L{xF=3p+P#?ymSo4hPl zt|U|5)0Hx9@P3c|DUyw&-t>7tfpvy+4WIXiF6@YNuK5XwWp-|d1n#Laxhp~eTLD^dmG z_}<(vo2v?BJ-ND;`RgLa1rE_6U86&0kOxgqkk%JdB07^vKk)%(|4G!U-6W;tekM-0 zax?L*V&u}w5}wV}pBlUyGAW-_#(|~2p!Y+>h|yq32M(YPG;?FeWy|#}>t-1yH8(u}8J=#78!Y^!p%KyZtE)&u-%M=~m(?IIsSPrCgwi0a zp)_xVUUE=Bdi`dY`YjkYyqi-r^e+|;tr5BNq7C0)%7b{j5i8pT!m#sN6In|t zvN8+V+bXh5iOe1+l5D$jicEU`I0GUNleK`kzw`og9Kh$?97t#DCtIjDs;EP{$){

      {!y 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 x@G7}BV1=0#z4EJI=hR#Lu$V~L;6 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 XU?adrfQ|-78eW}h=2$fW+2KIoEb=` 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�`aLM?f2*akJ8BA&j4il^~!MXXp7&r8rDHueEf0*xyY}a zFO!TGBeDkGFiZHW0>#dgmq~vSXMGb6q32me=oviF{j*GcdWCaEJX%4s+m>X7tr1O; z>w?yV*H1{pfYKOxTIjL=kbJbe8UBhaq=-E4j38<%jMvN}P0nCfTrbi^Ep>>kCRUa@ zPZLRd9#*#a9=s_bOP$wgPm8$t7scl*%}|vW4+s+dOGQ+({(9HGLvjj>~FT7p-;m14kQ`vZ-a1 z)~^;wYtu?MfXe3OGQXhJG+ir*h<3&k^r8{~v}FR5EU#Lt6XDiJ`oU{gV#zoG7FQ-QYgt_mzV&qQfBp-z0A9rpC40~Wu1bPhoGCq7BTFF-T=m0?#HxX! z$oN2SF}i@T7@(AGKvul&7~yeX3vZ*3?C)~`;(y~^6TJKk?i&id?w`|aB4!i8ps5B3 z*=1%DwnMfxMgN+gR&tOFUaD*93l7n;r;$~1LZALy!#o%-eqCMK6aDK|X(i{R6o7bV z$+m&}q|uSI*#66KMg%nkVDbterui#Rr_;k=cTo@>2O>3d`2Lq_%AP_lo$oz;H>55CjK@xP7?TWjpv zYh=RGwOjA+1%ZJeFg?VBUn82Jjg*#)Vd$%tm-w={sM*00>av>TdI4~7ximsd46-IF z7OoCQm!~rx#>tSzhL*k|7J5_0RZ2l`sguY(UUFxQ92P6vcV2Kd=_s9UJkVGM|{*hJ9si2(7&?7>lfvSH^e?J0+Xp zWTB;#ZC~lE=@3)J)m3|IudHKJ+uL#yasocE-z@gY=xg~v96+2QC}YGsM3oV00Xei$ z|G(s8dkiH5zE8>L1~f1{MB7{bNha0Rr#B0fDVB|hxq902}12%WQiLOjWW5w%GtIP@Z zn(Mhh#Xo0>vR{48q7ADX544wym{gmb?zAoo0#`px(T~^>8X2@gPY0~GnLu?Ll@iis zXNm@*H#&PsUpp_+GpWytUl|PMeKPe#UIJ|`0_lf8);+*d29u%P7vEen`&`RjM;Y3* zZz&sqh+FF@wwZF5enziz58aU{{IG^RWN&S-x8rus28$J{3$#^M(!?wo#XKX5*oxjJ z)}asiRS>_+HFvHc+z_gkIlY=LX-=7+xq_;^tT}CRE=m@u#pb<6Q(lUtW=Hcf=Aq^^ zW$&!s(Mt{Dh~C*U_HLnr5r%?ZNdb_?O&^Ml=oLZ3JDxpROO7Mk_~}Ej5bZM?^0Cfp zh<=`)-r%p``Y`2k6si*`KoeGiixpX0g&IRfw5jrPNTgPCksdrS$Tmh>W){|>qu~w# z70k0srXmArMha3&2suqC86oHkK;(EZeH-Zghs=GX5uVIr_LW(N82#7~YQ7Gx6kVqv zeqQPH%&b_*V?36rKEaE?7CxK`A&Nzt(q&U`dS?2bStHFRpO>FOsY6H7K-?Zp*7CBI zX{FqxAF7Mi;nW$bi$~T5YOjNIm2JFxrmPjLcyIyr{eew5wVb_PDcJT~m-9MdbhkE6 z1^pLq3l7LVF_R_AS!y*~Elb%NF;7`cyt0%HTDhG`m$j^XbJ~K|PT+O|F3&9jiMqu| z^g?5J)s6y-fT>`li8 z^1i$I1U3!?deHjV^4{0fmf1tuo3LMPSN5jmjB;M*6noQVu{R}+O{X9>#Mtyh0mA)a zWB(F0uH-ku8lpv6?~8C~e|REP;oa~fAxAPPWNlXVsE37Sm33-=F4Q<4!w$}{rK#enKPSS`|ZHzdI^Y6vpt7+1mOhOa+8k+0}WS1r_X-S$G&H<}# z*;quPx1rDzsE?M-mdUZW`n;n8x{&!E3`s0(sM}`JXP0ftMTg0 z_n!T9cKQE&xL9}2O)Hs zH;|%S+Gs7V+*o?8LhSbju^@;=2faw)(YNP0mc$K)2?bBzej3mEMqdTFM6^qF@>?0U zaxfho-sl@gSpIMo&qgTcvQeNNPEJz@i5>P^(L!zvDJ?|ptEpXcC0;w|Pp`B`Zx5#X z?-ipf9i~)+)<|^fW$FHh>+80331%&eP7QNB;oNX34^4lP| zC?FO0b5aFCT?_;%){_8@?3A@Cn6(N7B`s}rbg<5!)f~ub0>Kvc&f7!T^<0xw&-P-f z{(1RuYfZpvdsFrW^~+Sxz{>tPO~HOU{Bzdi)K#tmvnvBvYkxBDeq{fEwX(ok$CcFV zw<99$D^CUn6T67b30iF0=Mz_;E(I)^Aaf>nN^zO}WxY$|Bhg%W>$a!~t5tK^L^$CT zHWAcL>z7$v;?fJ-B3ydc2U?>ITHh8~EyDxDhTFr3D(gTq1F%Ufk36%S$UVvA!+?(R zD5oTI4@pMhhF~8>G3`G!gT@A}9k|KflaO{>>_m*-k+V^6ghs0AQs!5&HBc)n~(1kmr6dwWY&Rp}ZYa?qQ;+QI1XhJrabKK^BeqWus{7zAk>GIug=) zFN9~s<@Wi2g9bg+@y}HK!;v?R{jjH6SbSGt{Q|g*57lzdey)$Se{oBKj zWcJqT!lN$?a+u*~SzT#!D6%%t{-EqjSoLglDDN@k`g$w$w#od5R=LBmPZ$ zhgy0WG>)uS+1fc&wU1n<$3t(|Z_eT-u&(v>Te1ROR|e`o&yqTVUAM9Mf`KI94>pR3 zw$kNFUEfM9;9AW14O`gzbCQfLQOM`L*3cc#F8wYW9#Y#(6$oeWM!}*P2r~BQcSAP2ALnU>Xr&V!0+2;58BLCWRcG(-WV(>Vdb@|o`b#RP z&$uF0fjS{j|7A~;=V!MnndKI#ER5Y{laHb4Yh)zh!H~$k5Zr}(>>l~X?(ACawLf+^ zepes*x43QK23h4)iw!o$?G9~VG5*j!DN{C2SsRhB$=9-&I8Ev{4*$D8ISwC?DFu*vN0_#7s3H@@f7 zH!>f){VF98$Gx| zQD~Hmb;xXWcgXxDjZif-3>5m@C1uL{U!hzfV@@sq@}!kw5vcsZ?Zn(f$7-dgB1`wI z^H8_WQm4*Kfm>d-^a_9FlPU&r zPNUWh5C|idnnq^~%e01NLfcwy%~2G2oeU;B0=+VuQ%P9I}@Xl#*PC&Qo1 zDVl6}Pk_yHfL#x;zyh-Bl~sG|rLKI2?WgsW2KKkpPmzI0FOR?z3J)P)1Led1V3QyO zxJL-uM+xG!p`}a;)p>y%L;m0|p%~L4j+DM}+th$GNbqzy=7Px5_F+!PSM9GTX~2CW z;8vW2R#ow-zc#WI1*#+?WPL7*p4=ZwjZ>d9)Oc31vC+dV`M$wjxXG|T)A$LyzUh({ zxf+G2I-Y-{dRX9eT>~qEp5zL!BA`G>nvv*!o@$M3+J&kMqILPe|K?o-|2*I;u`ES^ z`~;Bw6+c5Tu2F8Fb$ozA0>66^dTelAu^b5_fyu>?FPdR=p3v~%Tt^R zE_d)aQYSn>0wh}Mq@PW?SYx_J-jOct8Xi#8%rUU&60c5W-!fGD-*(i8|6ABhfT`;_ z_O{sv_=&DN_G^*kU5qO}EguY8s);PElq)`7t&y$C7>B?5b#(}S|2jkP3H^oOTQ$LZ zxam)mPJ6dH+0G*y`_U8af)E8+V7RAhT>ZuDzhhMvO}!zs=JdeyF0s(s!1VL6?XBa} zDHeK{Peu%ND{B_scgYCDzwmR_j1V^vd19PqjL&kK@iv~`if^9% z9r!hLPNT{|jIBHBiR_d&kcQ}^Tc0YZhDTY9~XjA;x_Hkk6VKM zQUJ<~eofNoiif`Rc7+UREI2*1bGB@s9Y8;c;f|i8XZmRWZ0A5yvVWELJD!#FZthS8 zvU9R`C(y`bUoxIL)4Sg!V;r(v%81qq*z7fiEcc!*z59*s-80!yM|3Bb#~# zP(1z{GnA69Ji9xt$A*P?;MQ8M)?>&tQB-e#MikX=>?K2#+stW1bzh~UUeQsfuxr7+ zrl_E}I>@rgj%~vJ>0_u`8|pUudS{fmqq2Ht@IgWFv zb_Llq*mpg0Ovh+Hf|QEh_c;{}awQ$YJun%F`3k`*zkac<%r9hIY^{1tLAP%V@V{fnGqan5*XIeZl@W=*)t#&0=L zV0{p-Z|xc@ewUF7{a--TR(F{T?hP)cRn`3sIDxh$+y#qkx<9yK zdPX4Dxn(J=Bdv^;y&Ef*=B>8>YxCA5k#L&#DMo$Wyz`y~` zPPQMRx$BA1tTP4ictAq$&C?(8SQGhSScsIuDz3pa7?2&_ZWfE6SWy@_b;W+n~} zKeB8RN>Zp!Qxl0;u~kV#@trM7yx4(ZzHw(KXB-jZQ1m{`>zbn9uQbi%kpf0yXjYKB z5ftN`fLib;H{WjZLD}&RRc5N}#q2|^4hHf*3RoZb@4N&g#Ux}c#&J;OuN9IT;$8XA zW>vLpR$(&l84ImJUYjxh4Ps@r#@Fr=`!S|(@Rk06L;-NIj{yN!z${8hzf|M; zs$|>MPtB$y?VkoQQWH0)gJ2Cid`7)5xkXX6eX%C0prqxUL4YZsiwC8(Nt7;5sq!Uy z&Aywu+%fmtl=OwttBLL>3rb_iR+uM#}f&Y)6&_NtlLdR14!!VUT&`eD45G}OQQ647RF9pN#IJw#9gPO}kUtn2J zw(zgw1efUknPkf*TcEu$I3R-W{r$p3vZi7sRAn`36utQULE+bc;;~osI`1938&hgu zjxV?U{An7yV7zRmS~!GL@@yav7!DN-r;-)YZ2DM8qpDUUa43`eJ2I&;@2%Z4=D${_ zL!B{SB(dljLnbRk3(=ymX}9o+sC5?7i#GRrvkSyYAwYnqOK* zm3LF6+jYN9Nnc1hggIF-8$-5G-fq15{dX+?S-Npai`+K7ug-gXi$g)-CvOL8@_9zS zXVkx}j&+KS@F40|qyEcNG=4GwRp-UsJjZDKraM{d$x7!Pr>bsL;wAS^5;ddfK6ED- ztr4ckoE#VO1Gs;y+W!nlHrm{-JHXBIPqILqGo8wV@gs8s$me%h+NQ%@FZuhuHcv2OZo(rIkA zLzdr@Es(f9)BZA7uvH5JQ3u2+SLOsn$*f@dCk<&sSpE-YB-u}$CC%G{>L?4YKprRN zB2E4~w;*6d6)1={WD+w|_C8Yg4+4F0MOuk&g4H3MF|jn1_jAztDc~RS!K92(j0cp; zW{PP$0wQc;G{vT-2V-M96<8l8hC^xJp__yc6*K6Q9-09>vcofa`>C_C&gi`t*DHHM zUm?gkCL7#V#?0a-u7s~^N;c)VmFRvTB(l#XH#vjpEwnIXedE6i3m+Ov8G?1WJscXK zb1=QIKK@nyX6(AKCM;^g?M(Tc$)3sSGiWKg*3GoIvQBo5N^-FJkTQF*PPsyL3gT7y z4d# z4d)xR^B&l_Q|ZQv@tEZ2d-K zFy3=cwvSH2y*1Rt2`K-aBNNw;ucc<{p37_xbIJU> zl3ou&BT=K^q3~$Y<5Ez{)l~{EQ1XE#bmk=L3Z#Fas|#2k-TFYwXOL!ZbjW?_1EE9b zeJMJ!BG+q#6oFH>)1kxhRH*3i%ZWkT|x6FdTKSW5b4(xK^vg3_I23l4yucgP``R$3)vw2x;4wBvaa zu?M}2MMhtiA?C>K-#fke=o_Xte+yV;tZV%fgT;DZ4VI+krVCX&ou%4!OR4a!X>GDy zGhE0&)f>p`c$-Z5&}B^@)+rY5B)?-lYE;pr@y&aGjM(3hCq2WKNTZ$hCuw-8vg*N$ zO!f`sISFvQ1)^YNI*}Slp}dHiU1VkZd@h?<3@C8{w~xqCGgr=BcAX@SK{H?Iolbl~ z{4gvHx0o*ff@t-evfj@Y#|p`Pn4+#m&;>bbb25|Eql!#Kp z@g#x#$?=LQ*P?N-Wo^k?C>BU>EmYG*a=n%;l_#ZMq!h!R5^D9-kk1`VM;OeWfSBU8 zW06Pur%Gd6+qs4VwH~5Ww!;kCn%TJDXsbdUo9O8Ycr(1u1*?aqaC&R@)z)mb_0c9A78^i(3u^y60{U`6=~>YuNN0 zTXNlasy=@tkPnwCt-E9^5?iwTx$9Y#ADg~g_acX-?x1dCS@zVS+qbYB_ON$@lO|2c z;k6PY^t$U*iQJ$}zQwX7w$%Zc<2L3%)tGXjgup9q2@|3DLE#f^%;HR}vQI>B$6IB9 z^DbdJ?-OS5cyK^*b^*^5a%N61Zr6OwR)hGAbuP*5x~esE=jvlu4T*K@EJs_Tjot8Z z$&S3Lj(jdI)&WtgU2?lu~`e#?lqfnQk=6Nv~Ggd&Br#yIu&S27YL`J=Ooc`5&K-OwjDd>r0s&ZdQC3j{cY(wzf}s z8#cmySuW9A)~PikY^}21s{iqr`Y(E=^UYBB_HFjiclfY{HqEiGKE=bI5+nS%wQmRh z9JkO6w!azSWgYlt32Fwq&8X+-#|8g|4s8$r} z)V%-(M+E@%_)+`$av#}l-R`l}pxvAN6?ZcQ%$2q)LEUCwC28@i!DnMh-=fh|dItsL zvs8&-Z$Z;vaV=%SV!6jr`bYa@RpNvnEf%TX!MsYb#<|#hiQ~aS0#mha# zRWXW-SCyyug`VQS?@&D8DXxl9d}eC#Zl2;jI~4EaDXxl9d{%1l6@46r^jEwGFL~R( zm^7#Dsu;!P*rNyedpyM-?NGeJQ(P6Jcui{Yi#^4!>`*-9DXxl9ye_qP4^MGPz}%QJUn~8ByXY9L?Iqpq{RM2}&{A+fip(pQ4+%Z& z?UW2RDoJC~Vs6^II!z+vk8)M=QRU|9G>MQu(q_mByz zmV8v&Se+&j@<&>=d{o*6I!z+vkF*;3sI=2{nncJSX?5~ZX$R>viI6|in&hL>+Ip+D zON9K9)+`^D_P$P&2>ByzgM3t4txl5&`6F$!d`R=z|CBT=qM}e2w>&^d`=h!3RL-6| z!trNtLk3e`O&XQot0@5|K#`%>6pUs8A8N+9%rugskH{1?gUncBmBi*W&xmGQdPH5N z`#?Rnm46>de@F5S(?Ee3Y09Z%U6)?q58_?H?y2|>vTy9{*zNoNp8n=$D%@SUTE<`T zI3qiV?_?mlD`N^yT)7Q3RIQYB>wRXV0(_wFI37CS5ANVZb&#`uv$%pEx+{Hz#X$1~(fQkAr`QoCt5W`hI?`OWFnTZrfD3c!er=!RX8SL+~FnIkfh|d|%qF z^0@1nuk)I2yxY6y#V_ms^Lg>3`iI+>3li8La&v?Z*2nmh2ZjeOwa?I)b5gtUJ390B zI9FK|M0a=dS6)w@&5c>#T4E%pQ{~Dso$k-UA|J7f^&{7To550wlM5E47ZH$H?m8d5ySK91jz7j5v z3dg4`0sbgFBe4|8PU0SZOWeFEw}RgLGfq&fG^zJgAna21W?6maE+!E*2sWcle} z8)&#wp-Ys5Z=m5k5aw=LFechTnV%^*-@q{{S;)=Gw42DfqIm5vK!{psbe|RAZ`P6(axr~!I@xV6 zCQZ+QPpDGy+L5V+t2~9Lbtrsival)@uN{?Ic(|uT;cQnnakiacaK?i7;uUZrV#aO(INMxtn&M zPLl|e7IV{X(Pk%kB8;GvT9Be#5{0bQmw zOCpyM>1rJ2OjL@#%IX1CLXOH!+ z*jsl-f6R!4?Y_FWEXcc63B3MEc&AA?OxQmsd`sXQe`FIsZVjAsae8DOze@SlDT0Gk zLu&@*Q!fB_?KKYl#8=Ut*GenSbny}RHc{b3X?{E=b5A%?RU_SEHQ+eK#W9lOS;?Vh z-pER=nJGFMdn{w(P&%}@<=*Y-d%N#naW@CHO7@?dukt-Z_i6)6^8RLH&mF1HKbgzk z;}=d0TTOCFvfO=ag<>3SnyF*@=$NYb&?%T(QE?7n#B%8F5c&9ntJq7zgP-GwVSh+8 zvKe}1VaJaVJ23~s<1+V>=i`^9T<#`5ZS_2}#4$lRv^}D_t-ezUC!P-7_^PC2YB>0# z;WZM!U-Yd)YeY?9{O?ujXK`IY{TFD3t=Wa~r)CIf>%Btj6HyiYbEeHy5x~{wj!vyM zY9Yo81nW0vht*9Eq6mf48^iVO*>Z}##yF0PnR(`wa)RSJ+3Y_51AuLe0PnU|#Vqqk*vGt_n_>2(- z8+B@D5x4Bwzxxig5VpElgs5h#^@7P^R0w;GOe+2@UsHW*lsPD4Y`S7^^}jr*Y-tzH z%l_P&(O&d(wCv}!$WD(v&DfXp17Wy<)e0eURtMT2YQmyiE2@~zoPgl*D35&g((oITqgMBh1f_RyeNwrk zS|>}WqOIg$p=H;p3t-r;jJK9==~I1$ActfRH}=t-#X;+bHJfqcL7oJOzLpkGyNN$A+0_b4f@pOIr|?9E8BR(#QNL;O(7 zmRq~-VTDbutfhNW?K3&6Idk#AqS`E)(f+XN6McnlP}^&rbo?m)W4hdN{h!KnY;3RT zE`R9#y%9}vzRQXtF9%^Oy%*Qa)t?b2d8?O@C|Pb5=hnS3pY{yD?b%@(UfU8JKrd7=jBs0>e3 zAAy?49gzfQA4(K#bC@SrCmnUU7yj2imF;qG1@D_UZw(E^QNykml1+JyDCGj3vURKW zOH;-R#xIW5zU^G;q%K;3*X52ZtGKyxQ;Xg3pJ4ixzC8pF8ue%r62JSc|w>uaS5xz%Zc60a-u~Q zt!6y;&X^}s4YI4@oTNwla=C#CztP+E}^q_P^r_ zhF46eIusk2Df`U>#K8a*mHkdNs>6&(7jIf)y7(n&1#08-$)4$wAzdsz^XC9|;6!e3 z5{vL3JBD@4!JgjvsFPv4cOv5PmEnQ0m?Xu5gDL;%EN4B~v40;U8y<}X?JFXms*6Au zlGW5;-!9-2xvzMlZX`+#Bd;?|hxt#&lXE`GeU4)kSEs6#tH0t9mPcw_p~JSTH!B)L zpGs#IXnO{i41OxoWZNdGe#B<75i}R(%c-&*2cXoNyUOK6cZ*zso(j>K-$YH0{asw& zBHz{S5KYMpu^PpWR9ZXEdmdpYqS)Ou#1l zQ(|hzo8M5t3nZYfu^^?IfaKWqsKy7mpig?~cRP*)i_WhY-DAH8 zwC*7f2kgSay0=YW@wZa?pmQGV+pzUh+q6pR&f?je_?yN&;IEMFjKVHmK+|@2}~g%P&4Tz-n$XRvvmC zt#UB;QKP8I6O7Ao(lPD>OM0j)LiW(lyz;&eW)aS~a7J}Vv$$g&f=6fWBhMzsz-_>D zZcg%DUL!i28n5>wJr*9oZ+qST!i~Nmq;V#`PSSZiU?xwcb7iK4h*j2Sy#A`uCs*4K zQ=&CX*%#W2)RhO7g>ic zdV_iy`yQMdckgCtDKf1G`u)P}i@TDYT-tr2AxgfeApWp1C9Eo{Y<>(;r7TOfE2S`H_xd)ebc16rlpsM7ux9$!L2JuPQ zDkhag?zvC15IIgNku_+CN>rngsQv#xxJY+}{d=y~s1?qn@%9B0xYq;*5s=8G-?q08 zDksukDc5!D&i!{+mnC{cE@AG>*@!<2b_T9QdN7*~73~CPN`HlzKLYVN0w76WSsn(a z;4G}h%+`OJ#nJ^o?{04q$&dmH=&e&EYe94=E@`=!RXOsl#qLQ7Ic}a?axdfJ{JnN< z>bxvh7|Fo@1C=_H)#{(9xA!kfn4jh#vw%pgY3Vyvyt9^T--|B1TU3FP^P>x^)Q^$T zg)`KT@zI43s2_ioId7rd>;VPEV8sl6;M321`HOZ z+!y$%@^Ha3oHMz9iEQS6!Hw z@|@dwyvM@*lEKv$)VXlSJfz(@llrdc1KK}?dtm@AZ}=tV$uST)s~uH8m_wBj+G&q> zJ}i}+nBu+__voTHDHwO`c(^Aos+ah=W2v$g)@sb}NzZeFzOpC2s1|;hoo0ngdULN{ zHsuqh`~VjGm4Bgj2J0VT+LrezQvrw;zQn!p55vfZ>|)AF3|i16)Hs}!o5^kNg0y$; z+>MIX>xWx?Y3e<1Q3!744ll?Td{L9HC^1{wW)5R=uAZ~Lc!s-=;`K3z&dQIJ!8sQI zJ#1BugA@&w6ZsztxGzsfmP%x(e0n&c(pyWNqMcA(g?4e@O9@RL)x7)U`X0P_X6mLu z+ER}Jb^y2=ag&|DZ%D3l zgkXj=BPrmJ=7TmNO>tE%g9o6S>?`|9Htva$2ozdPiH=~*Y#?u-_q3C^!tLb$o)m?3BxNIx`;zR%+uwCE@`nb55z(b z>bAE(;exTF3NnP1nMVlQsgEJ7o{BsyX4DWJ;~`~}r=QMJ;2@=t!=7`JylPjK&VE-S z_c~_`^pHI9P;7cWM@*|UN;i5?+V-94Yk?ss-2@ob*An6MWzW6zwaj5ox(C6NJP6*e zfP)$}Nc>pqVz$}}DRO`7U(?mF>T%7AwIJWPh%m4dP9^uYk-wr1&Q zz#Q(c+yr#;JoI>y&_}9@d)+;h!7WOiH0+@hO~WL@L0k=Ibm%IF-s(hz!?#x^S-@`G zA%t>>T>vm4w!d;3wQI6I50YvEeT=Lv8#Pv8uwuPgr4phfv>pPkTU2b3j-5cP=u_V- z1ZBLO_;&;8QdMd0B~EyV3j10YJDR|gk0l#@f=cZ5DhK~uiT30PLL1+tSxUB~N;0`y zO}#O5oB_{DXUld_e*_BQW)%~pHZy5Ce!p@UlZF4t-kp_E#I?W7W$LDY9J$B^ls&3F zQzokms5qc8HRFg3+a$wn)S^*L^y&<{(mgwSD@>c7OJa%o>kuXt?rRej&mDdiGNpn>)}F@6>e<6+T^cfu>oWFe!s}+lP*AMDb(G6 zCchoYR|!>(;$A<=**ufL)R zYD9l(kK~CZYbQX?Q9yo_gC{e7fm#AbPKxM0`X^PYcr@N4Htt-re=!>RPWuURs(s15 zk@0}R-0QR#GIk!!BNITUdX8oyEem<=OKMNdmU*yN`b|u2X?UlJB&DJNqIB(#nbJz> z&TEhg4Qf(U?Vfn7OY(|s6oKEqVX!cb`v4nGJT72qhZNmUFs5B+3tZv856ob*|M_z! z=L?JUB$Kn+R1TYg-eY94hbsiO+Ru}5pN)ohdhV^!nS&!ibMg;7cH0vHA}gAwn5xPb z2!d%PhtNED*DhyJo94CpB@X|=t3Y5J@zRgw*=~C)PoN|!N%uP8Bzem~L|V%?^e(?Y zV^lgKaKJaa+Y1^iMdOse)=7bKHSzWEL^4xx;7O!O*^DF)rc+W)?EqE7u3YFXQ@ccX zq@onO-&1AN*Hr0IeO&R}Gs%2*|7IvdkJxX2!huIU5B$(inXW+3?-p$u zg~iLwUS_hVkzJ-Lc2at}iK9&7Ct}_%Um#LH%^wpPu}obuEvB90;7sx>|Se-<{DvUf`%cU*<$z?nWKzE1YeAEn1#b3xwTFu-+sxA^lxG=@|5_1NW)R(-jWq|pPiXr z|73MO1Ot%tN_u1*U~(}riZHQc+E5M-@N|2@eA=I;41mW36`R>HmQu!R=pyNd>>u<% zydcr7zliSgf%^|G>0X$=S>$#3z>L9>W$y9>X?w+!kf2fByi9dYO3SOq$XM|$pDzRw zJ?JviP&Y>!Z8P>wy|!wMN$j_P`rl#r9fX38H|T}AaGA1BMVKGr|Q}xq^bN% zdsBX)!oT$$t<%7SESDTBBLB3nC=!@2qekq}k}y);IVw)DC0EWhW_EFq`L4~->N}y; z`-J}IwE71-LXl%yCr0$Np)jmhy5YRHtR^I zf5F#JLrmWW9eh>ap8UVX_fznFL7*mlAHC_|dp)vF^~i4&zPU|=1(%;06`Bd>662!m z^0(yKMSqy_IDW1;0T_HA_}Ze{bG>7qIiMC9sfU$z_dyd&j`x%-Fp z@Do$@@DeE}*BW}5ak2f6?Fb@gKPF{-;={+jNv#@>@($YwdQ}#L!gVlO6}3ov?W2Vz zZ7kS^xioR$sq~&6dWh&$^!VJafM3*$qs}6 zmxBMl2>q|{|ElCTx+E)Uli*aY?=smnP|f*}X+U*vz>Vr=x;M30%f!!(Ja+bP<-Ch@ zp^>PO8)*9ers-!gY3R8`%_Q??S}aU5qM1%2h!=p^9jAv@%O=@6XOm3rK=m{XAlr2X0Cjetyi|AXv)=tt zXIHeO*im!-(~jszixfhe6@zfYL{hf0(wM^C6R|+*wNXq#C+w zh8&zN+?L7qMW@Jt=y;D6j9$TeFPx;B$-Nb#@?1@-m%~_OvT8ay5d9_N_Ps76IuDLi zlA7tS{0$YFJF!{nz03r77F!vu2Rr_7?2gM^7yLvFP%pFPrnL>(pZ7gHLy^xY!g9l< zR#xB5*;roo^5DqImJb*uwb;I$t*v%@e}uhR6#DOxQG_sg7@Iy9B+#ivcf-jW9S!%L zk6Ei{N*n< zzw2g}xPj@aYkD6zkg4a7L=;-HXHm#X%;$fIyJi?{8=oz82-6%0kFr#%{2f`H7h(Ms z)c_?_2i4R374r${H)&=I5L_#BHgc@)!NsX>q;23WE&n~Bg(32p8Zz=~kCk|g9|ehf zrJKT5qEyN!ijX{snfzq-oB4_uE?cZbHQ}7qafN50wID_?Y*m)?L0^4Qo}ICp{V&%C z<1Y&Apw-%UvGw2#ehzq0>hOo&OJqJS2!}^E=d`^kL^1?}q!YP?E(i$yjdl3P~IuJ0#BqYQs@DJ-8wP?--Ok_u4-ZRpCf8|lgOlq1*AdtxH ztf``IgVNoQ==I~v3^?n9hRS!yAHRvQ3TYXm&qz)gvj1RV z!2p{003$@6W=b!xRw!WsQo;^O!ppctYODJjj)afu?anb(7bT}sH>1&12n(M^g^Uk- z_D4=_RMVeoy!ZKOSwO!^*9T)S3OWGGNdYE(bdwj#cEvT_7vC?);_u{MU8BM2_DgeG zUh*O(a8B~V`4?~?&27N(+~lKyQ2K?G(lqH0cVUwG>_bm`#sOiEqMEkqT|)8Q1Jbn} zA@vYQe+Lp4FwLWgQpBS@{sZg~xio5^Nw9xUj2C?m?dADTC39Odcn%UFee)!# zI8BNFLlFPdmWW9A&Hy)kzOVH{c-oi!88Sg@xq5h$SAKQ_@mK>aSc&mWEJ6=Y~*YC$@=J+3F(G zBVt9|h{BDg2gZt)sUKWz`c^Eo+}coYa}(^_^6e1|t%#Maj1|8Fg}1Z0q$xbBB58y= z6?9l#H`L0y&3*}MJm%8dtAy3KHcj1Ft(J65IILp1my2DGE@XLHpe1HkgQTNA=*jvd zZAH53&SV`;ycCT*m%OSc?DMGxjCxXy+7I40m_t2arga1(kBF2ju&}JmA2>x=m5OfM z7$vT%^rwypS-dzW^TE)>Q3DGyic6{fk$YA34*JMi-GY-zTlz0Wtfb(&yOIIZ{+=1- zGGOjN_bzB}EX-RVHAbFQZ&LS;8x3PES+&xw5oi^&$AwPn98%$woi}L$$TIZ^#)bfb z0fnc$4EXgYnXZ3)%6e7XlZ5A9G>}BqKs9)FwmL+dQ^zSBf5j%uDr^NbAR%^6$0{tx z!9*(*gYxU3gpNAje&I7wP}3uQfU-OKE5|SfO=C0ht!^0rWKFQ{QsG0Y!jcPhR2PYg>L~6t(viCX3}Nf+ zOG$vR{>oc{!QGgQ>3gOrL=9CBY55R}nA&=@G$#Y)EsKR#{CVsxTkWjZ&3z1Nmta3# z@p(?gM_Q`l*X{RU8|l%3yi^|DmF15uAm*odys*-}ZX<;`}CeC=x!;_U~LEzQ` zI$#wuk!bF@6Xb_148M~f+5EVLI$LEkL7Jr2$5Y=`=8T)jp~8PAtVdbA`@e3K!K9zE zIE}TN*X9F^8Uurg)BYXBS{sR+C^gKs6Psm#l|v5YzpDIIl)SF(O_cpK$(~Eo4rt6j z{m#M)YYRol5 zhEVm;Vy}zT(2@3?A8^nv;cMS0Gey)q8}%e4b$pt*z+e4#{DtD;FGPtCbqV7|bQGNJVonN30czb@K5!Py`hVIyWhgsJWv&HHfet{X%~3XM3<0q zCz`agJ!#5@j{SYPszEFp;QQ4|70TD4YcP;IEj-iwc3Wt?wyqQ-x)qh-J#le-rA>Z zP}6v9I1&>Ec^Vy0vF>YYl!MV#Ps>y*Ony*Va>jg!M5OhM;hydIgF1^8Kkbv46bP~A zf7at*v{lVs%*`RCw{7LI4xlEduh~-&QTYmLakcB4vrtx!6fwRz21sfHR66+(e>y!o z>6>%w)FjHEtQM3p(@S1^jDq}-@y)rF+9eH}eGrceB@N{Tcq5FJ*>4JY6k#3(kdZ=c zLMrLqkbe}OGu4-BLbcqMtaXB_l_mj=Zr^0HTGvgI2nS_F7cJnNxMB5{OQ+YFhqmv=fU7H1r9PQ42}j?D~}@O4x&b86LHtB zvrEY%1^~QXka)gVu1{(adldeE(BTp(EM?ytW=ZlUFCP-$&i1^XR8N2EdT{*)d60I7pjPz0;um^m}H) zNtI`u*Wm4*(QQNGufHb!qS|F|LEzA!!<^Wh)ihQ1H(MG>(MK8fu+Q>-CeP~lzBk*< z9FbDu#CHf{%iq`c%U$a8x&FMPKQ;REB%em#PX3oa>`PVrEJ!>d-G<=%0+492>)|#J zzcz%{%P|7AgBlsGgq7RFyR|-F#CvAz1F_8B(Oun3-ihwouOuXn1E%CgZEH&pXne?Q*ikbV#UyW#LUx8?9$n35DV?6o}P|f7RSBuM`d{s}#6-)hC z9ld)ezt~B+^Zm@UA>~v0x9>;t{L5J6C4AO7eEdP_#2W;#V=cv0FAuQ(ojS?~Jph2T z0)J?ezPBjl>{?3uWxTrMZJ0W?wwsMke?^_5;h^=mNTnyN<|8lva+z*j$$+7lvQ9Uw ziDAP&i8?V*_3kpTOUXq8Ga|)Fw*58_4Jn+|U))l=?Qh@S-QE$>hs3oW?dhK+q`v{l zUO+m>|EMgwxl3VQtH1IFhJW;vF5GL?MQzo2cPJpym6UQ|q-+|sOafGg`_7WRCHNjHS7b6%BU+F+ z%#Bs&ew?F21+~cgWl2;ahYE`Z8;D=28$T9x!QmMx% z*bnBkpL&ayN+Ch-M9>S&cS8B=-QAIXYX5CY_qxGcb73~%ruYaQ7Kr|gIaK_~@B^xu zUM>=$^&qZ=tC>Dce)rxTQ{P$X5xLv2f;yFo&o!>RKqtdPrq*6yfgHVhlxCm3?jK*X z79r~F_oj}&fVy)#KNfknEviM5$d7>z^o7gJa;4<~p-$q2s~>fl@?f?A45Ql*lMhk% zu3^e{`!JrgKm=}OTU$h&@y$<8KS(;I<6xp$@5E~1=kVp*9&YFlc+|1=TF01+Ar3d? z{*m>(Sg%xG&ozCi^4-W65P#+o7x6VhNmOfPeR|R+FlBdj*=h}{Wj9q*@@yU}qaTH8KW{vx}sGH_#lAs!8!^;JAyMW3BR72<;9QWs)>#sOlO*6%_T4eW~DX?yM_r}ot z1 z-*}0jnrsS8p#bUsT3C+7*#0x2J#+f!EFWLLf<~T@wu>9pdCt9UYybMlA>cXf3J;!B z-pNecy}10R{UZqh0)q1#Dktgkvh1y?mDdfWh9kaQw7Y$JXx_kcIh`@9Bx_)izw!}Q z5U3DE7oI`O2c5|#I9mp?9iuz63%zsP)#hah6)9T^R5;rlF(4ZnmFm;MZiPQOTFz}$ zsPgA-D&7l_nmw`pfsHeb^=t>o*#Idot2ws>eI)WG;Px!F*e!LtQ!34^dhFh+eq&D{ zQ(YkEI6&srGxO9Iy&+Tp3X6L6{<8g)iXSnXv^k`mPMR8WaUEY1{qfw$K_q;G@~RRh zkmW+J}+RcFUjDTNagCt z^HhAvsfPTM$U{$ z3OD_$D`h}*KiVPjy}B;tJf_7*>j*IG;}+OG$+Tn)Ia|*pt(%)RQv=K8qZ&IzvPknE zb_(?)#<8{dZn#XwfZhi-rj!2OO}Oz*vPYoiTh6Jb*iSl!xow1*w1?PKxE%Rrk$;}| zkc&Y`^$tp!n$M)a_VOO`kb9g#>9+Fr1wuCS9`bQ+`kX%~vUPS^I+AQ?#L3$xJnM1M z7dqnGF|2k}y!Y*S+cTQo?UeSEQ~R%J&m?t5RXX5wrvqM|&pv&fYSD@G-7q)Dr&p*J zodjsrcXyIe@AEj#a^^>8{pH;65_XO>+e;cU)Al(0d?C7e8vlhyZ)0wH_%CX1N*;Co zpFDr9_s3NIUiu7GFg^WU@|RynpG)s{`uhM%sAk_g&(q&$xakce6?J+!*~XDgxqAG*WYgva`P&;azkVYt}(~5+8LB25VO$;QDPh+`r>q_lg8g< zI_ZlyrIR*x_g6#}nS7R;r`PXkYofbF)|O(0(FXyZWr&UWFc$g<91ib@!w2TjP!fmt z_QavD3;(k}8yv z>-^UJxy|YvFpuz>FL=j0XdIFZ zwkg?AWkQ5xLjIIROp%L5R|k#hZ-|iOmCbY2aPfyWC?{2oa+nv3X#~U-=JGaYbPP#q*bCtNaz>iXh{Y+h+Ck zzql%`jZIj`^URR0oo!(?HkJR8XKZqq&WufM=E5GDWg zOSRkg6?S!34rqN=M+OaWfW1)2*Gigs`#M-5*-ZwH8ZbkVH zGWD}HGD_*W&Q0GXbWe024L*v6A0?YIFH?8hpA;dWzzT1D&U@~j#vkIsYyOh~bP0fD zcICB3nO(Q5Ju8`i@6fLE@?(-6V1YVTR9j@OSv1ib+E<2Ruk@Eh< zno*{zl$<&ahjV+F?{>G!`wUXz3jgNo$?ABxYM#V(g$tRx0`FRpL@juWA8X#^o!T-}1&AYR`Sm;Yk@4 zQ0WRc&sR8j!wOfBwRH-wzz1Su)-W!>;Hz{$3m;sIf1i9r(1j%804E!|A-sgr5@K-{zx8)Aq{lc0~;wjZ>dP=_r5Y zecUA>i)+T$6j(eZs&}*Ho#n##3xk+rcAB3=*Pqxv;Q2})M4*;=gt9k%Z6g5Hd;iRzSVRrQ9g zGu`wVMXKryFi_df5kJ&WT|Bgehk5;XTA*4mZHcmACQhql13hIv4ffp@%-hA2&g%W% zW_iDN7eYa8G;957D-?SNN(IFwI+T3CH^dZyAC80Y&1zrFF;AWX(suRBtUuE~(wM-8 zx84`@zZ|LCbKkzh`c3S$vffF3-}N9}0Ua_oV48X{6)3^3-gkZeI`3+Sd?!Jfq`*Lg z?Bjjcn%kXmP;#At{QXO^D!&h@AJ+dk40zRx_qZOhDW*QRdvCboF;EbW-b>`km79!tIWzk%#G zxSta;dlTv0ZRhMed`3!&rQhsLBs_WkVt%`Ln7s+hlV?K5JZ5jg$NhQKZ1yH@)gj}@ z*LAx}GkX)Qa-FDkm)V;*ZI=p}y@`w2`g1VGB_b7Lvo{f!onm)yBEi^kN*rr`yZFoA zM7V}+p~=@wxPfjyAGbyCPLbZXNH6x@_%HGj{@@-urPKF^EwA7@QoDDB@^D?$gbYWa}(l<{opW0Ql^;KxO8%gSIoIDT7C zId18*hrJ=}>Aa{mL_)>~&}(l%jI`N{?~oe12L%-iUt*%FbyQbDLb;K=BYSU#!xO$Y zQ$kNAL#pu2y0BV@7+7?b!W~;Q&=5Qi}JuI|=1Fik&vc^!ehyxC)G?Sq)QPf<^ z8_qa6yeS`gponMD4xJ786TWk96M#%KzL`qF7f+if_!XoQY?*8_iC8Z{u^ja;QCNIW z=4%WFgtkSxG4)SdB8^A9*w4JaSNZXON}mja-T!;~eE*uF&yng3tk9=itpS8SQ~9Oo z^XxTA`s6>a=riryebJ{9h%#C_&NuR2&hCZT^qBo9Bs6EEdp8a}iYS`H=fR2UQ(W%v zJEqFtcfw46-$=E;uV{cAR20sv%;zI4sXh<(Q=i#=|L+W8QTBia`l#OHc9r8(&_rm zyuANH|Hh2F&N+Fp^H$$Q*!^nduZ|-=;tC;?w>8FAz2L zo%E~fQ_wGPpqBw13>be3gNwjmyZ^wU$O2uX(>}46yLFzOtaJ3Qs?)R)Ma)+Bdq`u? zhfp+@{;&)4ww3tG+15A#ZhT8N7ic(U7kd+T>L`34HIeoTxn;+(uUyScrSy3ZJszb6 zh8|b#gYO$NEGRBG+(kpcP0R)ArUZ4kM0&${wWm-)8w!uql^lk*iy)ORtid^mK|YX@ zcRvQ5;b8Y$jh*SMasWB~<&MuEt6ltl?f86L_6>v;n#E(pWd$*cc+Nuz8xK%-!OU~^ z8MZww@?>}x&t8?B6#cPNN&o1N>0I5$yGcmqe>&Ngk*zi8sCe<=JxP4dN&L4Yp0wTH z1D;6a-mapn)9nW(T4L^XGDf8`j!+#4va+Dl^ZNv1_mEc|_cMkMv%hu8B3qe*0s>W< z{Grl^oY&#a{*I$xPPe?6B)`@Px}fRwVpQ^ z)6WrdZn77?BfnWIPVdUAruRMNHIrx; zoGQhS^7Phz`E3p9k*+z*T6>SRnp>~u5ddC6_s>}!&Up*9B(wwJac1WKL*1KzM^$8v z-w8=W0)!iJ0ohehR8*oyi7e944IM}T#RV4>MH%;TNlR4JVA9e}(~9FV%#4n>ptztY zvM3M|z$7p(AhIYfAS$eQ)I zr%s)xZib%_Ssti7kXbe;a3Tx75-Srg)b5fYvSzxq;A3mSUF@gU1PU67Y?(cY;GgYP?a>P-A!}(M@^j$CwSm|L z?S!(c$(5Q9tOcKe>M$X2NkM}q@Cr~Pv8BTQUqazA;12$^;2+LDJABRAnP94J#B%Hj z`b5<*n&H6M{4cY7`UXjA;LW1K; zBWD*!uFUb)Pm$yGV$QImiDu;af&bpv(JX^;AM=!BCD-T;1ABv>{pL*e&#Ch>;3YcC z_;Is!OSQs|s%+-|VC9GQyYZgxzto;fI=DM{0-NTo0+sjY5Ch?AW*_nE<6e7?h~c1} z$V>H4Y4j{bh942j#nFGZM{^NLXO~7#D~(OapN{#YjM#g`>if~2`KnMnSW+CFm?LA5 zz*zU>+f#MwSqZP$x44UC0%U!xCi-YkU`5tqN}N#iv-MbQH2Cp^qMgAuISs*fsrm!a zj?@>N5x+y!l9*=* zpUc z&WJ86Egt_RC$psl!%J+bjkB{eIJVFwBQb)(ET=9#-`uR{q4(p`t{U1EW&)C-4%W;; z$d0zsEE$(?lUEPlzo+upyPi~wi8BqVef?X4hsk}FlUGVJP*J>Bvf?`9MTFt+=8I9v z$?zUJS{B{8`|lO2PmReGZojqAq=o5&8(}(&*zaST*W~ z4EwJA4t?$-W_MTnuI&yDZc3xUioZL~Hrl@F;4Iv6(0r`*FO6S67r$Xm@w)?f2jeFm zmA}XDli!-+_sO>oem&CgJMRA(e(bK|pXKmakH^`l6OVIiVcz+p87{HHUF_!>T5|8I zpOZbcf72L~=T!2|~_4&wH`m(O@qTm&-f*iuT?+z__-5rFSs* zn~lRnhvI0b?)IRHZneCX zTP&de*(p0k!&V|M^bsq?SmE8~n}|T9-?fs%m@0oao+^{p#QebcdWbjnOp)c;waV7M zYlBDbkT^vCmQMaT>G@Zv{N|$8wEJ2sletd*&(rg-Vt5@4-y2~wrMXuQJDuy7UD>D* zIp%qlypCac8T%6H#`6(k(mJtSDnp3Oi8DzQA?uXtlX-|zH>72_%se~x>JjaCKM0KYrIne$Gil*o5F$4)+OxN7W*sCQIkNKXnV@}=}SN4{$Ri^<>1 z6$DtR%EinXSy3GMP#qDPKbv>2y4hma$x@Td^(L&JT{KBzh^>?hbO-rSKSvYjjqnlT zVgqJ!COi-cg~gV}X)DeE^LCwnyIp@%cD9)3M&1%b;gyKPE0Iq*VHm$#&Mw3}n~qEe zG+b>sI)J(~0d$mp8$~6utO!*I^1G)f+Lg8TMt$9x&{Znv2D?atuQ)oXdpW7na3X4{ zJICyMW{QjYlI|7Ins6uj+m1kF{tR;2pZ}AoKUUbLV{<+(6$;s>J|h~pFEZzH-pWo> zwNK{}XB#PofwJ&*$MbFV|Fep5ZpYhp~2_&D~;;pRv72sLc6cw~&d>t8f6bK@% z1(1-Kl=}!w;*0j19A5}LR6$Y4PGTERt7G3I!pL;=xE2}lXL6*D!mZFjLNrla)>c=8 zS#jiD7BN;;k;<`jE}yE^u?+%YoF$ltYEozXtg3Ca`i)F(&MwQJtTNy4FBxK04dqZu zU5Nd}B-N;N`=zIKvun3@E6My>9n4#jC*WHK^8z#KsywgrjL%*J_Xge;7~fFv5%!ge zB}YmY;&As6e3HupMXM)$XDxhOQf0N2LpX~`9V_;o6FiDVd?1>)x@U`w-M+~KGRu0! z`xA$e1H6-tt=Km@*qQIKz?#avE$`r*U*5A$J}dMuvZ*#2R3+xe@TWLku}V58)D?Z4 z&1Cy{k_fvd#EOqi5N+Ppn@(wx=oloDQczKsx4Cz^n-q&GS zFP`A8>Ey7#0!udMtg0cxQ`|``$Mm8xDb0eYe2}%EQvr8Ow_g>AJ}&iDoRd-3ty@E| z6I`n6*Kn?*Nea#ZfR{w(%jheve^)I|VliByIS@AxZuubcrH{b$iGN7%uE2_b+hn)O zy}65eQ_gFRT$$N0C|q?4=L6&$5i>=ZoAlY_$3 zPLcO;NdCtJFJ%Ko%kS)Ep40R{)Zr1C*mk_(i!#GGID8ft)s@EXOiuikzEs5xS^fro zGzVsvhLrWIK#!vh#Zl)Sl|{zWS4jwK*qBqU;yuO-o0(vgUZW8UtjI-%qPf%%Q<$feiuZAh%w zF-gAl}OEDVZW zUX+QbjV=}b)5jOPLZ(5n*83X)#NFDd`HqNW>uii$*s?NLRMs{UBLN=GydQ&!>KGhs z?(mn6|E(lzskDan3(!<~`n#R1IQM|g-MDDj^Ep1`ZPwK*cYxMY`u5Kgt^JX25{0Jd z?se9Jbxw&=DN#v@lBgns8O`3z4-KKcCw}0Md~a#Siz=~7+)e0X#X53ugi0^O-Dxob zIwRhjgj9$9%mhM*Nu)!C_Z;a0EA$#i{nRuhRF`x1BAH8NvQw!d7~IdMe=C1IW|4H8 zRkFexW14+O>i3=aok3*Cn$Sl?!=zv!qUy4$HjtZRBW@pn=K1JEMA;*kOmWj^z_p4! z2&P$^AS|Uq&zG6VT!FOp1!llK!n>UKhkJzNEQC7%Lmk)`@~PV=0>B|9`&89^4Cj)* zbEMd$O^Fsxxri#hha)M9?At+R1Ff)IQvU_xg2uYAS0DX^n>xsi!54U2L2xrrn>Z;a&=9z_W{WF8dumDmtQq?d~R@)u9_J^v2Pcwz zhf2NbB2R$!7PR|hS`S~bn+_w6psqyh3bDM)n1@S5iHa58W~wxj*-Y4W5eUSOQ$-68 z6aR6eY-Z^eAu!=e8T2waUm=u{aeg5W%+e*XIWh~WSSVr>-a@A;Z*o|KDp#^vu%9Fi zBYF#!N#YCK)66)W|7g$U8~6x}ilPiFR1etVXi4{S2FIXqc9D1pR={(E>azP}A^}y9 zx*G-RHBvINLhcOft7PfDxq?{eHpT*lg{>lUb-%XY1gcDKk36cnY9GYYU9|-XP>@u{ zttN`hC|X;hHKC*u+unVO4CbIk%2P&iMdT^LC;F7U zR{T2J3bj{SwN^#Ds1_=LNRVx7S{v~;T~Hqmam=4U5+dIFonF?y-x+0X`t>Qx_bw5$ zL%*|w&Am&+rWH{RG4#5~R|48u)81!|RGY}35P3>`FY7|@@PCHhTaL|_BsF8rA4h)s z^T!li>Z9<^Hm+?v`EhVmyZ9z8}ny!!D};b#%Jh#UicLC0@xt1_C|(GUMH^2M znr$de=sS7v?*7=HmVnph?=Vc zoR;50HN9y7?ULRpswH$KlHM$S)L;?8WCrQb>0lR<*(|C?lNEY^z#{S0^br96K2-Y~ z6u!rU>2APR0Qbb@)&naDWDr%H&E91VoY9Pr<+{=-4erOP8q<`rlOrD$?6wv>sX8mx z@AP8q0_EXOeH;-d5-xz&UQ{>f6Vq-ilRj(cUehQ}dqq_1{-8PK4pRNzGc!HIYk!qD@xSa#kvUY++4X#FLgrukjQO&6CEM zk;xHEBVT?G{!^h5PFN~?nwU}G$7}Gp)-+Ca8t`ZtY)FO{Qs9t7|6u&@(iO-QpoKat zA_GoU&wR@J3IQj`99 zJd}>#?Pcv;Tv^x5Sw0bvtg<$XF@SI?={rj>v8LT6sxC2RQ)`zBCnQEDbBX0$fTyk z(~-~QQ(%1d1A)vnW;iFe{K3erjtakgDY7W4_?PD_;Ov#>=I-~TuD}2!PBqK6t4Q8hWPaY|K5j&H8V^(V6PG>v1cU|_`$e`sV zMavJCL4SaG_U|!20?ZS4TMI%`2SEuCkMmda=*_M3)_$8!Xn;TXl>Y~H%$({_r|GOf zn?)EKk`eaL3Wc@6I|}m^YPRTrRTn6|sPOZF$h1uTdCy2k(tR<2)Yo>IK-`QFVKS&X zoge!e>V-LgLP|L)@t8=9=+jktPTKN=go)a2_W=0rdhi%R_4R7nNhVu}LM{rY ziLE;1aEza1ZloQO+)treINiY5YLa{CWXt4UZIauVOr|>3|`OgN%77gQJlRU;G--ZAO^q7CMgkUr)+{fu}A&k}-Y^r_T zvm>!s+KR{oQ#_rjtZRzW!Y5 ze0|_t{WTgBLFlZDj=9%aU*>|1SSQ3t9`DFRwj$n}SJLA> z`IY|CT;|zW;!tL+IXc7jr-^QC>X$=+x81L!QdCvi#83A)6x*nn$McYzwR(u@0L;S; zWHZYr3)0DY_LT=^JuBinelmRrA3IEyRLir9fZkB4+I-iaY1vKqO-VDl=*Dt5t?-@i zG?iNEB)O!ozsc1Ijqy`Di=>$>rJ0GdO`P5Cy!$1Mp=zxzQdU5 zWzg%r(3M-W6ovk(7)@CM?KU8-3>yU>Me6OpG-M$G^xnd=tzk_pm1ZkwYLkZgYL)$MP+&D9>h?3xBg0kgT<;2YS%# zL+eZppKUXcq-TAR`7%8~D-mPSf%&*dRqkzOg@&tcSFDN0RC z3*ARn1gikB77pyyAJ)#Ws@gIF1o1gvQ=Qpu6Z}shop#M7w|qXevtm9jpYS|7On9jM zGCDYEH{U45#0K$|VJO*zuel3BS09qXAi-vVXU{(BKB|1D^s1y;b29$zkPut+se4H8NEcERm)SQ4HJUu=8Ui3-HkAkgcg+wK$s=kuIJqp0ovZ$?r;1vI`++lom$H%R1#sZm!9%J65 z_@!>@z=MiUPZd9hj0GBZO#|K9f3BC-%AC^xL{apcn(apbLHg;5by*qlM}O6wb{e>Q z)fLk5*MGo0-OMJFi42l4IU_DhB0O*YjlpzTz;TW_thJ-*@vmQs&J--fd z5Wleq#63)2*20*q()jp=`!U1d=hKS=V+^zNs7iOlFPd9lbxTY<2&=Dx4zrtK9DhJp zau-Dyr0F#N_9KVJQw)@*eES5j94P$+N>qs)oK8z(J$ljsWnH6(3uDJVmC?J>hohD+ zI-IC(%IY5-_;2rt_2$KwRsI`I-Q`zwPPZ^4eF(lE#C7- z+pEfyewUxk#Yh#28t6MX->S4oNR>Vg0&8oR zou^=k*+??8Q^LaIaiK&YI;=d*?$84j@L^p>ruJsnyB>*~N;3C)39}O&ogd3?Y1{;u zY)Zw~;W|n?@ls=jUkj!$-XYCbSO%iy3<-#vRf>mk-F7zPd!$d7}pEi~0tzDqkw&)E6xo z&|3T)Q(f>4!x6n&SYWgrraEy6Q!xbXmdve=^ZF7+5bX@3Wh;jWa`FRu^9#z@OOX7m zY2>l?bB97@19x*KsqBWzd$Kcw*T}%}<8pkNj3S6FGoOs0qWaqdgJZ2N2&t0VW-c#U zJFzhSXDtby9VElLo1Tb{{7}I*l8F%Msjse#}I;IjRu>ZlGt4Ne+b5JsR)51Z$0!6iEA#Ocz1w9o1 zS(&&zwmPDTW3##pb9kXUIf+P?qeq^)CONVi**#}&_38COQn{DdJ8wm&=x?8Q4;&iv zJeDefY#CSJ%m%#yi8vOyf=rcGn&R^)E}g2S>tFXs^F1RB6nx)+5bw=CA3h`RY)K|> z{3@CJ$Jfc^k>4bfAAi>LFF;zGL^3&$zheGI@plwO8^22?d-3}!>s{yXSq^4b@qP&h ztN+Y%nfZ0R+QffrLjBOo3o`15j+t=N^|yjmqi~sf==<+TB**7Wl*e>WwTCnG2F!z^ zRJsSlXQ!2zba07ox&(H5DPazDFVJu1K)21CQ{yz2l1*wf$F#2zg)lP39QuAxES&D4 z?><Q<`SdMUu%U+ZCcJBEKe5&Q*)nXlm#dxiGqf^3E7pj@y ztxjZ3@LB#H#nENcNwT{R#}NVb49}%Ln0xGzyyNfKQ=X5LZ|3~U#p*<=_;GDxj#jM3 zCif$^z+lZM_@g&NTn#Zwk!;Eo8T+@S-Du%s{^Bg&+$er@G_1w!Dj+K zWhI>PDC*WG&>X6R;GRr#aO#9RcQ)$e2C)3#m zUKbAAj?lS2c5~h4M9qTdERorSD*?bq@F7x^c6y(IMQHmzsd2o9S3&(x;a(f z?-m;609`^>z}?0dIp%VFar9}4;EDggJ^5pigjt;S>I$+~I3=c1Ld5r1bRLR}IJu?* zl&kY_Fl-Zk{jc6l6rlin$VcnrY)#9%{Emd=1dPivQGD@cqf<*j-{<>j2WT)|2hXBi zo5{=m^hUyyF7#wp<8>eLzenV{rJO{SaKlq{OZ({4Qu!y)>{zftpXPd=*5M!O=Hbg4 z`?L>*Umw=Ra($7Pr1IQN<--Vnx<&@iP;uVwXHCqbLq5utS)+BW92w1<#FPPQBh7HK z{UB9w@5e2J+z#NNVebIEj(@3L^3xBfq@T~${?K&6pI1o_sgSD@kN_v%qjiT!umLqB z)p=CoKdpkt2BLlBgvQ}^mfYl|1Ih;U*!x3&W#ez|kKnsQ@G?U85t3R%6P~%0hBbVm ztsj{anVPTxmW?Ly0*_3)+wJe~#7=>s0hv@L=QSJ8QECo3=JnO$1s&Bs{RZL0!hIX` z8lOzY>Fh#-ZLX_JgS+su$Ya{9K`M+ zMAt&k)J018u8evn@x(P!kmGsktoOf1l`iPhQn-qoiUn)5FmCrAf-%Ac?XCzDY5WY* z&zEbL$ENz%FmVzuNy*+@_2&HOY*`Lu*CzgCB5env12{9Cqs|H2^A8Deq=smP&!*)- z#X}9i7i+-Ql)K?v4SaW&1|GkKB+MjFoyA(L^gUX&*^%($uhkOX3VnyFpF-Vkxf;!X z18H^s<>ON6sn(wOuS2zVUW00_73Lh6;0EcaTY0Kvfo+pU=6aXPH{I0LfMeckQqvmy z8o;&kzh{L@G&pgvI085zbybtBrVAbe>)&@l7YC{4E>a@r1sKX%Q>0pIbow5$b?fU* z>z1-2p>^J+4xIae6Q3r_m6+!&mPXL{B{R10yo^7_XO4U{(Kpn5rzB-HTc8!pGk-3YdEZ_t!0Ht+V9U`c6*Dn? zzIEj>5{7t*^~4^T9a-m%{6fgYx$aEVtH z>hNQyy6SLoWR<=CDpv~D4b02*=k6~bV=X9cK!L^5a6S;mYX}v4t%>q_gvPQVQNm00 z>4?Y>RH# z5bB+(PO;=m!%#~-eUoyWr*(r;OTS@N4+p*BH0HH&(wMJRWA@nNpuf`?6TDo0#`OVS4&E+Suv2uIYlFU8DI0nTqw!oJ`Jx+3bINp*C`dPNXb!Dn|)Nebb#s6>&T%fa0?uW3Ijt3YskQ8*oY&1>e_wbvMX(*n}5@R&e^=+$lsf>SiL7diGOZ7*`{P5RBT zH_7V8T(Z=f<-?)uP2I&i$h9{$#|bE9Z)((U|9g9rUVs0Rn!+4YlUSN0;;Dbf1n)9! zbZTU>YakM&GCaM|$1yyWL~dTAjZYtu<`|#Uccx|{XLvsC<%seLCpaT8ZXaQ>GL&8eJ&rUvYGReLYeQ;~z1Z)>sSP!=FL?Z^1gt5vkW*B4)gFGBSZ6EA@e|;bgZ1P8${u&{cV}t*-?Y!k z?&gsvI)m5`I?mE@Bp6|ed+%k(6j#lYGR0M?ONI5KuR&>>_OaD6d5CkeG1D=ttg&BJ zLmTG@dbULL#Mr%S(%UDNIBQ`eN8rnjsH%zJO?xakN&PsHFXt)csb98LwGqZ(z}$=! zDT$sK*;~7n{;bJuu$DEz;IPkqJ&3I}d2beS_5NY~Io6G#tA9&4DM+N6yy=X$#2xH~ zObF5Sc~|mUb`1sk6ALDz?415B`3d^@GD0#AORZ1(X9KY8*#0doG9d2qPLK>I@(_@R zZaf?>5AAsH%0nA_)iMTqq*m*PqLI-1AD=1)i0|zE7fIKdL3q3a?w=>(QDREx{3YykWMeFL8teS^fY=ExQKq=LsLTN zb>jt!UJF;~Lcfi3>2)g(GKyXSoh854(5nyce?+g=443~*ua~DD<$Y1IehU|e@QNE2mlW$4I|`d*E} z?RGOsPh*ib$2ono>bO+X1Lv!zKW1wAgzhm-FFn~by@$^70~5JonIm~Wgvs>BKQfsf zY!A}LU1j?hQ+U}qm3L$QJci!6@mL4NFBBI$M$qTZqsGIy8xry}hYafc^LFO+C5WfIvvf*z_yS zo2F}InTQug>D-C=tYDd1=KrLu0D5!kW%`Cry!cpmrp5`$&n@;(kD{Ywv*kzodDLh+ zn`@o-=T8i1Ah!ZUnOM*DM}G6x$_;De{noab{6Z{PKQFr&3|hKv{?W9VJrUan=mghq zdQMT5d%jjDPerUg;pU3lUC5v;SOvqKH;9%BEB_?K|g zjF~!rQd-9o^JS(CwxJ5lRdewjEn6THs=T9w*hkG%Giit=jc6DRXa!bPE-(FZg8ffGJ zlUWODb9bavm19$?N`I}YlxkJwD!Td`=$W`q>nRI)F1y^-Q+jJXg*~~v7bMr9-)Sci zNj{nHFU!NRJjhK&;**m1oIKFw7uMJ(ER?zZ!Wy&`)3P)9XpbAAy*=9tbv6gP6pvpS z$n?+kXKttePW;vvy>^lHa9@;`9IAFkKIh~ZPM!IJdo6;3*!E4 zw|#Hu9u?O#(J57r{!H)CqbE)+{a89wR;#^Sl-ip~5C`)=mC}{s3q?jcFNZuO(Q~Bp z_SJr+I&aM(JMS#rc|&yPjfcoR0h+j)%F8Hjw96vhYd${jfDDPjy4OzDIwijNdFv#( z7Z3lIhvRstmIoGgd8_2%Fdn{^haCGRI9q#0PbNWnk7MKZ3+xIA6|R5^|IPiVru5$S zPlw*?dD8UG4BxvsJod8`$p^mKgyd^q|L>9f?M{vmJ=LHL$^SjP3CSNP&;O9*^ASk@ zf#mnf=iifjoFog$C(DD7e7HOa$uE)zA^C0ckYn$K(=^H3kl>K~3>qLLPe6s=lf21% z=IVRcUu7MP{gtCX%J#~}@6tZM0zc|GX{(5MCL-DI^;C6KMB}VlzRUsG*z?|qr_BK` zbXIe~YJSXW&6rC6F^oAN`ji4H;{AaAH~j7NQ~<1z8rHSIQd7YY4qtWy0R(Q^jIe<* zDl@{DWh|aNjUAj0{H&WMfXoP|Q<0hxIx18=AGx`z++2I@*5q<*dVwv{0A3*@d#0}NPcCu@I~hI zq&)<}nDBN+&ID^@EtaJ3WiVz^l~s8x#UfAjCJWQZ7p&YzcI7z6rU`p~_QrgjlbNe0 z)Q3j#RSaNH4dfxb^n8IAorhQ*c?3dBHkzEE10fiGOZY5&Y0X%L4YGifMj1+99%KeX~uw$tt5!6%Izq>MpUGECRv?**GUlJpKH-*(nGIMXw zBkx^#;LJ|m7J2B*i5o%RzG|+}R6R31)9w#uzPW~+_Vl4L6x8^#eGn0U6s9$=n$|+n z75>a`WoG*ZFHadS*253MTk-Sx53X<4-r@RpTz-z*{RAfQU)!mVj5#Ws;C|m4Z>0;r ztH1N{B}RwPo|$hI1JS;U!>f+7q_JNI7ELI-=K3q|xC^g~p=0WYjvIgV)o_qUHbb!r zi;Y>d*9uH#)6*6{IZ6v8rApo#TVUu{dROhHe1Q%QG{A zEtF$T;xK0uXsg~X5Qj;D?>TNQH~5{bmhQ&HpBT*qO)N5yeU7& z7oM|S>u+7%hS*))dBncNcOY4PHNcqOd9Np39g^d7@)7GCQLU2<-cf}UQa z-O*w00ePPB1kY{c=?R|Z{(5_}x%)BVRzIk5v&Vs$rnns4IR>#?7y6o(v5Puiew71* z%+Y5HPsHYbDQU9Wm9)d*47YIjYlt^BBpLc){mp9&-qGA(2M)sp&tnjeB&eBV6g>y* z6aDxysRJxB=@Vg*-YQy}J#l2VfdY)>hfCWJQ%3c|<}_az#r|!O$d9FQYO1~mRO}N< zvq9VDedg54v*5mP=u&uSYNdoF3WqLJ&u6OVOL%5dT0`DIbn#r$?EPJwjT#PfNXufU z{O|_GfLQ-2pNkO%UjEW<-!)VAIoU0gh&vrX5_RBs^?JZ=rCx)lV<8U|!-QhIjd**9 zm4AJrW7FjJ;n3wE5uPZu|5sJf#PuugXj19;6PDd4Yo>5f9DJAT-h)*Uva)lk4m z_rrB&z}jULa~K&zeEaIKL84Xr)S%?U(bW<2VJCtqtwitYspi8cX&*R#l4B3UXz1i5 zp_^T#5}s7F<*qFIaoz)w!NlHX*(v9QqxbZ-D|BKvH<9~*dO~K7JPuZy#F|UWHGOwF z;|ZRcJy3W`(-)>twDi#o(wfk>8#I^w>pkR2qi&DGgt}Jf6_SPFfKoZXggylz5};r+Ngmc&9LP1HphbRtTQ@TZ-PrAO+D0+b*h6-y;k#$ESo>~HHR zF2Bh{OZ{5Js~R0&oJ(h3rW3n6iK|FVBWI5N-7s!EaJzip`m`?pW%%#9{1-C;+mnIA zh+VGo>x=69`dGR;5!YRx&N|g1nLZ9!j{JJ;XoF&3pu}5?{_)phWB)Pt)$3r^f!KvV zR^Lsl?PnCZ%SVv%lN#$X7N_Y%ZU-s-5jsC_kds5ETL;LNUMUue!Z~Tlt4XG$9DjM5 z0fOP*_;$GVtb^yXrvAe)_b2J=(PaKh z^VfCklM*DJ8=Gh0)4isR>(Tf|8hhqS17bmaeY4PDw#4Cy1wU5Cf1lEQs(z}h?0C%)EHr=GeiiqqlfKvX&kYQHUd$60<{Pzbwu%P zz>xk|1T}X-ALK8CKbYy&sAsBz%D7eQv#;|U&KQx_)GmTn?4I&>#CCY@WU{v;V$_MPBz9zOy;4_<=&R)9pzFgoh9B)U}z`!yrGvAaX&;oPIJk zxWOWN?@T$}6xo@~7lS%cxL6dNfHc6VWv=8 z51Km@Jedbqnxs;@FE!Tr>qZ+8V;9kZbY`9X5z5*-SpTU}66) zVH+(N4*T83wDxR2CXy6?!2jxYgw3s#cM~XdNMnQ}0m^)M=MJR-YIW~bp^bKljpp=? zingaO@;162H^qGIDtkHJB_hfbry6aKcct!iG3p-gO5bav^}XQTIuaYsLdCUTXEXml z7lZ3?^iQKp#W@F(M60}@Uyf4mWaM>bwnw)+0!=OuTPz$I7(Y)iL#eA&?{v&RB)u$G z@MfyttnhYRx+VE2ll+cOUOrbRC+TARP$DWkpj9Q>7=^wtU$?5SR@F&5IaBm3V68UE zSLx)9YPV^RJhdl|$II-yN1X zMPv3Ri6t=a89zam1#3M4bo5!(Bbg3Dm>|y7;_A3;i(vklE@K zK!&OU9}X#mW(h)|o*xbgQj3xArYf{7;W}sk!Cu`4)W&0}o?k<<>^QLfFpD)VhbV5F zTGd&=srhYA3pKx8nn;IJ^Xb_S$59qk-m7g4SrvyYajFT#s z3SYj7^+9 zG4{iXBk!y0zGY6B)Z7&Z9bED-^OZ(ydv2jjMQfQ73LA+sCbZ~JlVrTVEM$unKCnh7 zAKx_jBSxL%woGzd=l;bcH+nUY%{saL9G!csNnWFqfBa4-uQti=>f|!C6oEa@Bpb4*z=!cn(vs3**rR>j}nK+W~?&-_=fod%_i5ll2G$Zdc;)xS|jM(0Pf85ymDIOA!}Zw--zoymRi8Pe$=T<5JAFf-WS zyZhbDAlq>bVgHBt=d&f|D1qBnrE&Tf=ZX@z5iaiqXt+E+ji%~iN()U`qD!cRHOf_+ z$vacB#)2OR6@C%>RXXw?(;5c!WeR0*?S{}1bY*#Z4CwOeV4MraiPIgthNt5-MB~MR zN9(5Hc4n2a{&dkz_wkU zs{pXUhi&CBJ9ed!_w7GZi%d#;lonux=KxGj7U03JWByqF4=3-HEw$S_0d7Y#2i&C& zo~HmIaTlkuVs~ZQ)&1ddOba8?ksELvojy3`>%naQO~k*F&XI9C>KU>`$A)DnJTgFr znYi*4e)^ss9ruw`u!_V>Q5q*x9h+N;8>u?zR^8UA`pp7oXW@6=!3YJW%m>w!X~t7@ zRC~2V6;@x%l<9m_qbfS8H}xH+>bSR|uEllKc*nO;u|7lg#(hOMue2WgE29Iga(dD7 z$OdcZjzE%gB1^}h2*n0vM%L9Px@N9hn+UDq?4ovoj|86&jAwN;|2olbX9NhM&4cCp zH0I5Td{Fs8{^S)h?_td@mkg283Owl}!B;W4c_Zs18`u35x%bJ)#z?I^%#8fJ?z_l^ zGnm~V?A$~v$DfE`^7K|&yXrM4Z3Q1mZx%BFiCj1mgk{;23YJlHlm|%>XS_Ub-_iR( zGCcO9sQ*be&!hgCVgJYYx`+MiR1uK`%5iM~MeL#EHRE^>qhO8wEtQ#ZED0OzcUe?Q zog9;84eQ^aCb;)FlOcwMO#o9v+2O!g;enxm-EkU*Mxg;=(1nm{xBhW)ytg0eD}3S) z2cox@2eN{5^(UdEeFL9pW*{2GU0J)aUo7Yd%91YVoMq7Yj0vgY-i^o<&$)sO3U^eH zX>2x$STCMs@21I!cLZ*%M=SE_#bW6OW!jAumK_PQgF%+vxU7=s&2z13A=(*#Mz?Dc z5mG#5>7f1$D4~K`bQ&g9Sy!}J@7tFv^Nz&F815ENqb6JlH~}e#=m02f#lh#&@TE7s!fNUy0VWBLBkuO74P;dhS^%b-}*eyAwObPZgZ%DI#~0_WhXU5u!nF^z!bvrj+-SpOPNlZr^&25)fU0 z@wW15+is6lNkOB(y}|XZxmuN*`$lHfszq}9`8#6bxBP1eup_J3zAhdofQNJi%jP>l zz?`m(dfr%}ThbR#)X=9uknLP#3QuYJiqUrbvFzr>^?oH6yhSzEgV#ubqFs?sz1GkT zh=N+XYs}XyGg7}cS-Ir^qk9Y;6d3=JjB}odtLlr5$YJ;sHr4m563ho zjmpwl$4McP84}*4L}^$MO=^yswHmi{&eY)v|BOL$w+<^Dl!TF#<>orr<4pC4%eUp z%KCx0B+@v$XRiavXh`r6E7e&?gENZrQ=&Ng!m~tc7C?|oOO_%4**~1@N)|X(DbjWX zkqdY5Dhf0ML5N|GN8=W}{0tjfD0HzFRC$*3tAx#!AR5gryIAJg!-W*s=c1~2 zinHY2CatE+7#7qQokf68wHhIKu3p2k_bTeUuV@8fAFtzyF_g*ncvN+3AgcQ_s`}G< z;3VDV>EtVp_%q@|d4RRod?`)TmnKDW;wS6WVZS;9@4CZ`HZcVN@z#8{x1EX7eeif^ ze2rr(gs{aec z;*+QmgJ>6S;xU@$!h!VgW;3SjnSf1MLBFa_8vvivGQgM#354DRA>n%aMhdBu6irUB zAKHI~cm+uRJzCBDs?nkJThchOM#(L2TkWHPSQ@*jdow0&`{gsFgH;HdGL$|QQ-FA7 zq)r%ApM6}nZuHrx&jnIO@#H#X5@ik-OXhdUQSH$LWy5u%Th(6-+R8@lhB1l1Z~_E1 zmg`jN^3&C+{&e?)N2z5fDurjxX9~r@yAhnK_c>L@KPyh}seWx7QRUg0JmfVU>w;^sLUVcQ&6QgLi6+2!~yk zRqV}~I9i=}IZ`1zzV*~V=Gx>|xatJ3PDm(`tFm~Iwa^{%fc{muqCF3|brepN6x=!r zLp&%Jw0l6YsV&&rCAHnTCiNpy)fM(VoP0H;fLLxiV%Z?3-LKNa+Dw>!2V-XvfB0^x zzYxC<@z=oLU-_HKpZL2p)pxKz;2_x`XJW;;d&+@dWQ<>kZdG`WFu9(*?6X0H)%I;1 zgZ-E}@@sN=D+gd5SA<(Sw^SqF{y;^qirTKT752Bn0tZM&uV&nWOE&`qVWM|yok-6H3l2#Het3@2- zwI^r|AAPkwxn(I<_zLLlv<~xcLgoI}y0~VibrOGI^a5rz|0cdKN`1%NY>y_3UVf{qft~f1!!PN3Y>e&7@-tam)PTORnwR~#&cFS6 z?C^_s2@AEOf)?QEaL_NuDvsE$cTu3gW5ij5MZR%aCcWqCnF-3-trf1PMl(=t05+n-`@q!G=?X3BCaz%>!={7ex)hYk{DJmOGeK zvs3#W#y;26aa$x_jc1~QO%JLqF|XQtCnzBcka~5QJpytG+gf@VuuqzAB--v{WP7B? z#gtIHSCdzWSS?_+%>Du!P~7meidG=#>ijEYiU?{jrol9SIneCa0VCxdDnh^&YSyqq z&rL$$L`B`mLtJT~h zU?jy$wXo1B%)BsH=UbJ^$C5pow{?Nkq>oNpuyDE~zWvonho0|7Gq)cwW)buY*tsmv z33jA70d{^4cK%-NXbC%aN)tlID@=l#oy7+6?w&MumW1aUF`7#&;OQ3~o_+;j@boDT zPupjwczRt|>04!{fv1@>QFP)r0Kj4FW~!NH0^NUdQ^u}#XgLiq@iQo9eC}lYYW;H@ zAnjI^OVd9mpjVC|UG&RQ<~Lw|2by2eTjl%zPEUPa9q5qd@$TlP+qZUcl#<#L#doJd zDiVBM{q$$jMcN*uzqhGaE-m_9yLOW^#=PvYT!Pt2I4*M zxs~HXdI$}7Xf~%aLk01v6J7C5s+EEhXn1axzSs8deW+9>K`Fa)>z- zQ8#U#)U8EbG%M$Pz}5ZTx}BDW(EnpfpTohdttdE74B$3*K+z9dZDrk9``o z3xY-v()~BILB@RBi9Kj>543$`kU1=1ofHyF7!#Ya8`k@4gdJqV%0HvtFVaiDEK*6+ zWuI#^_F--^E$dtPYb(gLSN5}GrS)tgp|^m%7L(C?vA%wwM3q(bG+^R0`0UJYmG{o2 zkY_1n%f@k;s#Ud=ERnIV7Hq~0AttF(iD6mKPChNaxxP5s!Z8G5`3Gv|isIyZL7Qc* zWR_d(BBe8+(Y)`|X*3pLn&<#np{ZD`Vz&uPgvEhjRJX{A(B|maSFO+i#{E=(edVt$ zCR%b{W&G;oat^SBeR&O)zqYid$ek0+WRXvc$6xSxMoH#($*+oQf6NKgZf#$j`$2L= zygvYnV?&sf{4*Adq>i7g)NlXv3D)zqIZ4*zrPJf>R2o=FP><}xBm^%P>tb$=Y+8&t z1bbmiE3}h`;@F)n?P3~+7E@JB<%?kgq1V<#b6gU*qUSxyB^^wsO9#aYy?J!7rz2uW zI;~)HzmC>pD;Duc1gaX#-#`eUxaiS*X%j3co_ye$2QxEnFAyM3rzgFOW|FAD-QQX^ zl7F`6b%13yC$2Pk5*HQ6?rUlHJzkCDGQeAbfFd$iti)?>n*)bhWy9y&HkZ1UpDb24ewsk z$dCEJfLLVjKTaCSdLbDf%zx3+wCrFjeJ`?o)yBx9J`qI z!k7ULdQ|qwwnDYgQ0Hn-au1TVD6Pm$sbyDEDHOS%B!6U&>MvY|&+u36E*Dj@;mC^e-!{mqD18aHF2clpD&!(kuUbn zc1(9#A4GCU#x0}-k}J3ZHy9?@%qjyBRp(tk(KwLE0tpcsSZjlAwX#~CW~Q|>!2>xs z1B!Jve|w>C`rn(Rx8kqB{Qal-6n%HM7`$ViooZW6X6z3#+^N*=1!BdqE60$WPgJIN zjFM5DL$ketdkBGAyy^1LmN`d{nzp(5fq-|LTJN3)z$o`0-IN#^2c2VD#b> zR^wfOTf-0RjowJ!wE4fzzn&=SX*&pEAlOe(+K6RP53aY@qmL<@Du*ABhHXTaz$hXvYtm@Q`|7JgUZYjL2rZeR8;ZxX9{$p<0iDFCrt*QhjX3dAv6z24P2`%2KU7L3lMzv|PH10<95Nm^2&&e@FQ)oICHbaFP; zX7TCcv`<<3lZOTC_EfU?2gZ+3;CH7|?F}S>NOOZ2pswMoy-X)_B5`<&)TdkI)ARaM zu1OZSkC5b$!dejM8;B0{1E=ytJ9qm2e4gd&+ ziDPIh>o{^N`kM@cSSp)ncE_fwLpu(Lmz10srPqQboYS%pd=m%Dm!5o~i=X{kI8B_5 z_W(#S{g;O$f1<&fgp8QcCYANNu+<8_#ls9Q08;uIN=w$@VZcrb>>LL+_k3ps`=nE+O%bTkm)!^?t+Yh^tLM7*&fzY^tO z;sEMuZiSwcw&q^D#0vdQwartfcHES9FF;QMC`>!k3W+y}a)pZj6`WarT46cB?h6Ok zV-Q)dZs-*?@Nsk%v6P4{2T)_TQ8C zX}`!wucMV-3P)9a4~bWs+%YswIjluJ@61jc@$61#T2o|TRM`}S9Qf;DoY7K+%v93~dD^%+is7Ca#Who8YdBDib~c&>uf6~*ceFP00{-ho((X;gN^KTc;^{-cY$Vnp{O~+1Iqvm z4|GRAv!+NuJE+qR4E1dImjiUyJ=kJs@XJ<6RzvDsP25&g)7!@37t<(K*;yzi-SX^j znvIDLXdekm@lPp}F8|2$+%ay~Nwy#JwfqxWAJIv;jPvgmRBBZ{D~0iY;#4TNMvKS` z4o2MVB3ar|wMs08llQk2@i#?0;K)2u9U&FAJ6zf^PXv9%f#-uA)Ip$lcgpfUGkBV2 z!58)WOT3G=8qZc$7G6bJH5^BQUA%+NG#enQ=Wo~Vvv`;3EdC+?39)#GSu*11>+jF< z&UBFxe_elfkvLs{e~$0;Pe%M<{r#n2JB>tJ{rwrdU@hP zK0eEfs%ew{_yX^ul_!K~&+($FS*$<4!aE$5!NHb_1J4A{Q+34usXx9L9I=QUX}MyQ z6H|GauS+*yo|6MT+x@C(f-n-d>$5Bqt4oZP2~& zF}VxX@I2B>qCFmbzB#-q;~Q)D5nW79)Hu5nnIoI@_Cw|-b{`_2oLE~NJ+r%PJG9l? z4*6;N%d&1%Vh`xRAWE(%Df;zxwg1pYO6Z-31+M@80TSM(b|%?#i4T z$ZX&a-&o;moV$&!WfnffgJR?8AsBr<>rp%cXRz@KqY4zW<5u z@u50#2!-NrYDl*`0EUpExH8$ydLWNni}@=1I!hNQ)Q;#PKxFf!E7?plw#P+Np^|?g zq~cfW=Vwuo;uq=X8|8VJelC;e0s6Ut{0ga$T03>hqyh<$fpjFm%E&k$1HmEvdeuv#8Y=3%Wo5I3XnYAHqBjKXp9 zATm|tqT;J7cu;kn1{`$e@@LZKgFD*EeBikzEe+i%ZF4Gq9yz9$AhE@H;wt`7VBEha z%=5EpY3bkpZ#{nt{GI$A;IAcfBT9SnGX9?8PwIGy-}(I2^7p<;D`g`6zg7SL+i*6} zCUGxG@|VLi^L27DYMRgj1uuy~E{R5%WasWb_(!SxEePI&MGTjKQ$FM{s3tHOVSpA;QTDx zz=kf8?S~dh0qQH$;o-EbpvF5nSs~P^l9Sk_(O`zRBKc~t1**?`B=a&ec)V6$mhf(B zKFW+pSt$G+knuX5cXqI))>@|P_m_EBT1tg}f1bHkXq&hLz%TJ4dQf5lFSB?Nl_PNp zFVFHKDn_D&m*;p9l_GI2FVFCz)RfbCnZt`xOM381B&PrXVxg4V#hvcmZnq4ZFGC{kyCGC0}+?2Mf^#`oo(>3 z{7PE-yQKeDe@^~C$|rUF(YOC?y1U(CypXA{4V@b z-3==X2)R(weD9w5W@a!8OA~xpghI#gJ6nDT%RaAF&lTaZpNB8}f_Xh>gS%_89r`-M z*y~|%ImZ?Sbj7!7Xt6Ppv{!C-hSmnQ;|>~H7ylz|Xq|tU8d_`2(7JJV`p`NhJ!emH zid_(NAD4bc%aAeib~X$yx;#T`jbmFO&rtkJ(}vbx$i{+R4Xs61lcDuJ>|2V41)J)j zC6;MkW->g0n-QO>-~T^4eEO#kpUa+04WH`0no4H)OwURUpOkkKgJ+L;ki_!l?fL!S zS%PsO@zx*j2XUX#Z%F!Y*sC(K=k%Q^7U@Eb-rZH*g&WbcK7g2Y{*5^%XP2~`|8Az3 z$vF){>^?4MgS%L_Z?`9MA)8*eN2uo@W@`DjG-mS9v1xL;%fHi^Y0HeXoSWOYa=P~C z6f@lf9`WNfGr5L3m}wubkZH{1C!51eH$oy;N+;lyCQ@1~9Odk(CP3xnx zp=?@jj@p^tn{Cr`=8@BI)vljXz4^}!dUNpad$Sk5kZHX+k!((HKGiC%H@DLnO?vbH zUxMMX^qw5_v`|*}WXRCS2!@GheJmz6y(Kx=)YI`^A(-pAAE=N99Pn${ppvfS*puci7iFb3jiL?2yNEt-zBJj^BzlM#MfHl zfiFAs<9EsAR{s->c#)(2MbdLtk<;Mu4tU5M1rkSrL|mLU1c;iVSjLId$a8I6MkL!$ z`}fOL(Jj1_8z;kg!K1vI_2-03OvTCm&foZztpP5p&aREZnByH)DIpheP$l63Ke zmnyoI4WoZc<_f4R9VtNBsG|?bIec#ZQLbu}_l{$oQ5Mj#0<5Yh0Y7Hx`LC^ z+Y%=OxB|fR?kB4pY&e{vahUc0zIV33bY_a`}Mjjwb&nNK4trU>%T_RW3YL-LJa5gGyA5MdjWf30^eaLHg)*AjNsh>(( ztCBwA|KjK}6^-i8bhUQ&x2m=`qbac-SN;k0qFRn*>G;;N&<~TXIPxyX1H@=LHCuMd zt*V`hd=mZUy}z(SbcadqNKrZc7c0yGlzq8L4!FtFr;+S8$&=k=AE&+SQ%$mL(7gk( z45TyWP~Diof_75m*DQ@rt(%-9$zPk~HE!}=IluJ2P7ZxTvN!4<6%N%Xs)*Sv zQd=9(5671CSZfnGYXuK+iRzI)|5GT?U&tc|dB_lmMuedv%e~gf4UzLGwwl!Ntba-2 z`*qUHv>^49aD;R(ZpXU*b&1MdYMRh}1lh<^r=H6jfv<0}5w1!t>wu`8N_FY~Ah zzQRNNIbCoRM+~+$hGTP8?l)4o-*j@%;~`P5VG2)&XNjHCz+B+ulKsBK`8wAkmFw+P zu6LYVizQbtolAxa$JA1}s-0ZRcyR0w!oRcEx@;cmg+2$HujlxuQG;GisbhAVUqouo z7jg2=8Nz!!jp%RBX!(kF6ytNLXq!qkZxkmkd=!l;dg-Zompj zmOxC#IIT6iQoea=!>F zH>EoUMe)c*sQv$bGqZQnmh*bP=X?I&_q;xjG<#;vZOxiBYt~w`M#ZN)s6P#dBKXDJ zK>Z~`y*-bm`j|*kwp+xhYqC}ltrNq9ykSMB zozNLf!|?(3^T9YzQS9cz&yAcVfyBH>4tN=^oSNt3Q zeID{vc&E#x=Gg~*A0SFl0(q7Q9d_csxs#|EPnSuv{XMe8M<^k5*CAQL{9YtW?1Q{{ znY5vIktOD#1UEgygTwshE{Qf6RP-{T<&GStr-!~DKel*oYZJ4#S6 ziY${Q-g9Tj8W>a%HJIO>P@-DMl%$u%R96dWw7gDEuzut)W_O#c#q<_fAZszd$v04| z=`HYr@vY4IOXaueE#LyM@ez4VW`5#6TdL)uGlFqmebBGqeSAPBwM3yaihT^h$H&Nl zEM|#9XM~R%i>;D*Mr&0$WJx49Ei4zSv{RRNH7U+DsYU&@O%;P%Qxs5+n|Nw@xE6C{?$ym ziYa^}WhKf8|9(ciQgs$ik}_q{YNX*!(JX}JDyqo|WI!{vDF;I14;a8j~fcARWTu}K6zED_&x z*$CrtCY=DUGvaa5IL>&SzW@e_G9IU3do_*YaTY!!@HhU<_(^g9Z8;`|0;PTzOai84 zzXgf#?m6n?ArXfnPDp$?&9?w4kh>{gG0Y}sK!w@lPlVaz*{fVtPFIF5IA5sx3nqG& zG26l;m1Pni`5%&@{9y{Kct(zM$;Ih*+IxTrwd=nZZ8fr1{i5G~G{F#y z(3>`x)5r;!Y*6SfS*YD<3Y{wo#jmEwG8EDik&fN=H0O8vy1#^}Wf53iYhbLmM#c_ET$vj?#t&B@< zC6nt|@IVmvxCD9{>o@)~e(0p%DGSJ3`o_h3#t$9VC_NSU z!iw1=8q169zm4)3?RBS(AFA%xz@7pN-l;MVO4}}(M&9OPG^*=yzZTDpQ;L*v-4N)* zzPW>Py}2?UzSPuz`@$gD3~VW&t~bWv4=z*yFaHK!429{82xV~E!|P}dUyFya4b8l^ zjuH{xR!HiC`X~`K#O&ekOeI|_VSBC^Ded7fs_)U4?83Rhw1*eOLrwss(#-!$%?{$u z>xt+^#Eym0#2)?+n5<0A{0aSAT?jJ5XqWJB3NpeP?(PQOp)D2Y5v<>blRlUX-f}%^ zYj`P*Ay6ZSko3P;d2fqXmHMW~_RfCYwRUla%il@QUfI~es9t!bck8-Gr0loLx!Ex z>OPM)%Ui)_;$AEFKuD~%S0~wmcjnlZb9LJZ9B_GAquqRt&^0`W!+M|+T7bNtd*FY8cDLP-L@`gcvM&8N?;_}w2JeSP- z7u*Ut-q|X7noKTM$&*yFUnXCI;39;6L?u5hlY0!2Be-2A`-CpgUh|nbEx1xus(C@p z=#C8=!toYb(c_|Qu6H@q@2Ip+p8`vB+^nrZzBraRF1MG?$V~D^Z!{urXNL-KaVQ5O zLk4aeIZJK9&Vlcaedp-%Rd(aX^CdAus^TX zKV`Ke@GIO)2@MSe1ycLk)6|02SSM>KwFd0-K+e|*V;?1+i}su3tdBk*HizoZ>9<3K z%*Tt^*d9vw`xm^Yj`!?w>$wFA+k&m|sJ%9eWQZF%e&Zzj^dznmwNJPYLz)Tos>W?m z8O1!ZPl{K3_u7KSWa{fkHCW7#`y`%(1=V;jca;r)22UN85{i(bOWQ8!=Cz#(QL3FZn)EAvpW{XHG7Qmns8N# z=x3VEeuz|K#K-qF8S#yA%{~*~toHnS#5V4l(o3x?cvai@=3Alp>|lOL*6`msU#ZY{ z;6)-NptJ4^U~&|`Ggli{1-j2f^rzW6Lfygen3x93<8#2N`|_Z3o_Dni(wDf0m=$uR zSp&PM{Xcmq!2+u0OYU8EW?O%WG7{p!1@y|l1}47w?n^-A5927G70OJr&HyQp@Y$VP zQ4)DiArFA2!SXu!UE;n`DgZ9wxAGaWy0dX7#67UuUb6saF+9lNm9OcBauC}$oEmwK z-b@}?Hy@O`06rWE;Du%dnlAxKJy#29067<{0J!$Do}0OBBQDg?q{Jp*0AS*55s@eA zQ1DB;tPgxDwQe%HrxJEHSrr7!vGeUL*}sDDRJYB%svS+##Pd4%ViNR8ICvd z8_q{S-Fxm!q{8B3WEk5WqIE_pCE%(E7486h$9=xkbUY_Bsw31!qpHPGFS1SJFm1@D zahNvbPuy2YeM5HXMGo5Uei5-fk`{>j1mr+tzLkU3fBp_?$lS(jp8UaMr_vm`gBZAx`_r(H{tKX=ysNzQQfk84k zRVC-kk!Ylqd#{&;<$a~&)Z-tT6G4F7(aeYIwsF* z`;AG*dfINWr&Xa{gf7$bD~yfwnEv51Zlu-F<$r;qHpGnKy}wx`5`$^p@FeS0GDOch zFip|G4>-oCg+eWNco#NtoUcXRtXQ7@0Wu)8AVjEmj)5Kc9-1M_F+8nymmNT>Y+Rf5 z3ovK2Trn=L<)sI)pF&3>8W}Js8#Lx6&NpuWrz@~$Hoo0>IaGtQy@Z! z@EhMkI}p8u3FxZ(Z^~=wC+KD4=Ak#5S8hulR1J3yi08TAi{0LZSTpvQXczNe-^16TqKNY(X9`$RY5+tL}til7B^e1TuXS73_?TXpR&yVRez~Qd!1(@ zCra*hel-fU*Dc;5{iXKokL`7l(FBj}b-f$!buH+ugO^p;Hreae>=S$4YW!&yU%Ti~ zfjzJeN9Hnaaocf@DS>kyB%0irY>Qi5F}`+)3!&WFE{)9sf^;Cj4sT^7qqFe+q2^Z{ zmK*eQ`@}I#&5wuHEw+%o;U;Qz%IFP{sSVT_=-C#Uf~Ymi3cz*shcQ;6!+#%8n3pnJ zsBPN-UaUp5?P?2dEcQBL=QeRnzwrRKE*w%2c;(7I=$z(#fn`Fyo_tb5oFgDKFP8?A zJHcI%1^+}7-18`7A-NZrIFsvCGOfIjt4g$`!VpSL6h3PO+X0;fbGK?4a z0Dzk>#PtT^=K7sV>N&m*y0Gg3mld2PESEL56mBa*35YGE;w;g(n8k%anXH$9}DU z50e}EWohayCt28Vmi|Xt83y{>5YY#R`Tni50^3Bua9D7~%~x)Q zGGO@7JqZ?P!ia**050f4?|o43j}&0GFRrRW>{RR^p}V&TMmQTYh+C_uM69rX zeMYo$Yw_#9E#}r$#koNZ)D3_CYy)@)@2? zwaeb3lc;47`higA&yzg3>0J()eCx=#{%rV;5=Ne1#r4o}{El{4{#i)o*4H>*$04Xp z*yEeg3s8Onj?Er)k1>zYhUN>h`;atpz7-Vd9=Z*xEP$nXE3+=qL|AN`&bLX+GMZ`>-8 zrMAQOH_GjB<8Ck;`k6saZBLdGYWG!Dll^YjF5sZT@MmhI4~JE0WM*KcjgK?!pwbT4 z8bLd=M-cnm>^5Th?)Opm(H-LK-ePLGgpTDWXiCi^-HB`j)zaIePln7-74b1W6&Bw( zNgRw3((u4>2>3)zF&4(Pw{X9~`zDwsXxJwpDg1Yt^r%QO_c0gTLl*-W%B4pC3I(%Olb!^t1NCGb4|rTARL{d_8@23C52>N3rbxb0$&?mp6R!N6;^sy zhyBhPa|;UNZZYbL-*v=RW3LgUs^W7Qm~dSj(Xq18Samc7|E}WUrKXaHmm1J;7;R!; zqe}!!4SXFs8)m+wx*|+Kjpb3~rLWPZjY0+42tpUgeFGX(e_%_GwFq97zEZn&C#NIE z_&qq+QvjL%6_-=4zi3L>;_4ws-iYP54{THs|6=UkUW1oAq|(*UxK>6x`t#NXHmhT$ z;`QnUi}BZEg#x8O14DZhUf%mdOUHDzB-&{(jO@m$z?x+fbo;HhaAc9RZUV*`% ztA>-N6@UKnYiu5YLqwip(M!=3&2~;cuOL~pcr-bb^Z?D>WYIvh$)fLM&$=}2+0eM2 z&HI<=87z$G+@iUXL621o`Z6rC>*70f6*>e4U98NF1DAtAcN6irnA)5_XG5XH?!LLs zDx)SB-t{EPYaz|Vp^oFk#2z!92YMTo7e;V=Nz=ojupOW@qE>|l#de}eO~VD1~~ zYk&@I`kUn3p`?+8#FZ0rPBO_ddYM}E2R9lV`-Gl`mH~QG3{*1eV7t2?VQC?jYd&#p zv8ZZf9P@Str;r2xZ@k^nh&^xqJNcqZgbTS;VFuws7^|< zT0-p@yW3Q~kxBO5M)s`t!5`9VQ~umt>Dp9Kvh~9BOx7HRTyiIFkE-2N-w?-;_XYCS zkq=B=1C|_bM)uAGeHhZS+{Oj}y)y1$JqBo@K_2Y&AL-&927cDO|ByM~J|uHysRD&ahP^*AI#u=lF7!UyMtzLO2bZNDM$DUX zP;mo9%f*obbxPOZAs#f^YNo4Ao;r;ezzh6-jakA z5OD!@tdiZ@5(cH^_;a@+K2u<$FgtA*I-woXn9?qWW&L9G4oqmXi1J1(4*Q6!$Bpo9 z4f=Z@qt`33XO`jiCeB*vVzTHAQ^!(F`DPf;Tdh?;U zUi@<_RVDdl;!;?hz7SJ^=V`*xZcIeK`5{y$LLw-~X-_dobT$d?8wM8-`szNPl+gvs zIN&=Oz0MAFhtc8^tPN)nZgz?t2yb#~Pp*~jmFrMcnXxb`;sbSmSR+`^3Sq@|hQXyG z+rhZvrMj0;4&SC!$E_XTrc{SZr?E?6xO5u36oyNuu}fiaAdKn#ap^Rs_lE=Fe}5@# zfN~xjt?uBodsPTnQnGt{y&RZ|G_s}D85F`8*8Icus*Joeh%L(7d`Ezk}4#496h>`+$HRL)SG@id% zNR6GK_EIZlAaEJ^2y-1UBVJ(eXr7;C_OS%4G(f z>oSA68#9A>TVtF3)9Zx0(SGQYguhjfRiHnN5YAn-N{aH^ZpPO-^XnFT84{M?mVvLW zW}Yp2zUuCeP)*@6J$+{tRyNQE#9_33-WHf4T6}+EeKda-4l~+#KFe+!WE<$bJxkpG zs~I@-;mmuv&aPR_8mH4)2w(emiZ68qFcBV2#x*(p>n7LaENw-JFfpmF(xoYQ^D14c zgy9NB8|n(+@~~)Qh|C-Jt@!fGuZ3_u0HjBLxe&I_sJj3Tc>HbFJygP6LvbW9y;y$j zpBF1}srqe}I1ZSm7yGR6a})k(7<|{4$k?crs#i{0`Xejr!B2SkuPHuFdsi%8)(C4y{zH5zq6)neE5GUOCgo2@R4pXIG+KYBp_j!} zJ_~v~V|6^e{Dc@ppcmKGar815^W4P0>?s=6L+!fpkDwPf+Fs( zK|cqoeDMB%M?aaQpAjG+v0W9ekVuu=)peW2mm;5BxcV3GCy#L?T7#@G zXNs*{urZ!4ZrT*Xau@a6oEM9n2{2$&jLB;XlPY1Lfcei|9A; zbg`^MtnRnrQ+PVM7$wd z`T%+HH#y#1#iM2HX3X>A+q@YQ#iw~QhPGN+yr140d!_p8*8OaOB$a^o^sU-gC=z&37q2^gpW-jB5a_wQFkJ z5&N+I=WDXQSGkNu@T9|fAJoSOB(&$dp#q#uYi*u>X{fIwK8sE!X}%8tZJUvq)&gpS z!A}J?;qmI;c>41VCil+98*RQ91;n7VL|dQ11)7hdk$A}vG#w2XEAQO}P*R+Qq@8Bc zg$uD5sj4`q93s3JZu9rDP~v^F#GRF@!~sM(i%mqbo`iu%E6~FMPw@&?auD*9spPUw&SmLIo5T9aNs3ktl zw0z2BIW6xA2y>5J6g>qe$d^t2Rkp%Yd~tiSU;S{OQT{Z0b^vA39Vj_C4s{C-_Zz#( z0Thf}o`Q5k!=>NQof?8Fr|)~$gXJDn0F+z{8)8%|A1lAo@P!H`jz$3^#4U8BPEf^= z#m4!&`B}SsiY)&G`)(3IKoMI3Fl@R` z(5;2cq{Wrh_N{n60lSBBgg*D>7((v{a`A}RGm;^B+~f6K=o1QVN#HER3hjF-R;a5i zG{7iylm4Dj2#zyxh33Z<`US0`rL&Ae$@(}Hf}^o~b|n7lk?9|Dn)O%@Mb=`hUg?hY z5@^ksslyBF8%|3?hxIhGABXjk=!amP{^`W0*dIOaXZ8Kd5ZM7i^kv24-icNG3Mv*9 z$<@M5cH4^vE)MJGqdFOC;&Sv##sQcj;sB7pLhD=N;N&X)`7VY`ZY><->hy|t;R*IO z;AEp$f5DYgeh;GJ*n6%PD@Z?IG@kVIV~RwUkwiprHJ|te;()p=9(#t;`|9|HFGIt! zk+a^G%ad-16${`o9cG7U1v7p8Z(m^!o=~p<3R~laY2>G0R3zYa9uNAgc^^gN&ftxn zlhWK&j6}~#(>ae$Ql68hFTiu+^CLucB^^ee@|-jk#((#mG=qpep5vg4?Dwi@&orZ@z(zdIW#XlD$Gkuij5uQ z2pp*Ol2YslGq4H4zHp&j)jQ__!tm$@5@`L|hvfv8^*`vhz+d3+wu&Yu#bie3a}x2i z23*(Rn#P5l8F0?G)2$tbP;icyr6Z2BRNS8x>-k*p5AnW?tDSAxL68PEv%dk@7Mw;& z3VH1;*n(^U@rl=Jk8Mn_&+obU*lz**x}KYv@EeRJfhpmv;a}GB_*YbOhCcKQa31im z?%24Gt`aZOxd&n~g!SH+nhjoNTXqZ$Mm|VFsZi3*)Q=0bOD{pF*Z`mT7m&3A**4Gf zKJ=yqOqv^^=WVF`JQ**T1f1*A*J^K60+mlb3ho?g1*tLM^hjaO5$b;mwl;qtufi7i z25vvt#7EDL*B6Qls&V?*<*f8`G>2t)OnxwUV~SokTtbs!%FXF z_m-ZknfY?qyBW{h07EEZ4;-{r9!$0eezz5_M>X$>y5Pg*r>6MlORyQHA!*ovpvJ9j&ywFK$>_cv6gZ zGtxCLEccf3axu_K3=~EjOZn&Gvl=6XG6-^?J@B*i?*j1#?ehaGGkg3-1CcH0;{p@D zBUmqI(tZeMIh2vUXP3hZ84Q)|qyKzZqJr;nx!Z!7X*rozxC!QNgjb&bkz^Sq;o6FPA2urlVO2uCxMt^D1^Rk`$<;Xa(M(JPd-^sP_n&ClCLX zKrPcli|J^lKZGZo!9HxuI$?Z#2F1@iu;}A#f2+gsI$Ch9;*5875e?u5G z*aF{aGZ`%-Gw806>-FEZ!gT;P*6Wlo##T&j-6vJf{nKa;j+>DAe!|;|!6}|5Q$M~F z<`JE4aHQ9|T4l9fRbq8_jZM9grFr|HqVhL@5bzZ5P51!8CzsDfg66vlpCILim0$n{ zX$!U$>iQ31VRja4GanXqm6~iu9#&-&v-?9I#m1eaDeF2)(< z^}0~I2AZ1#R=qX4fJyb3Rdf?o2nhpM`0Rnb`e&#`Y)23!;#~o4%Pv4Kq965KEruJq z>0{LC44e{+Ig)XTVo*{yRBT+|V`TZcm?#)1nSKUfS7}yP-2g^ zE+4H@;H4R`7e~94|BDE~&6fL7*+=fl@`_#t3ac_`dcL@|iF4i+JhLY$)WFz?dcg?4 zEg^CeQBUMMkdv*Pj5@2Zl8m~%49Tcsl&k{9+pFSExc0s)N}kD*3?YIZ%tJJ9usKU) zIcJLo?z^S4|EKsa{|6v@hNCHRD@YOzye=9zCs{Pm-XZl0rxwRe-#)#sXy-b%(@(Zz z3P1lh0;o2M3NUscX-eA3*DW$-Ao^d=`+#=x!}?bXK{}u)eHDI0a61L_-Ko_ulnb?6 z`FfmCM5^Af020xnM*Ce;`Mo>jA?Xj96_Ag@_qy*v%JMBS=V8poZee4iS|AOGQal7a z9%9l~{Y>;KtEMHHwGCG}y+HiYszhuGW$w$x?S1y*J}!ko4P3);4xdfwg^xTL@K}mv zN2^-kSokDba*GgG1Hl^160fiXqZO7}xc1w~W^4iZR~2`6V@q0mxw$OItM)d}%rqeh z5f)FjZM9nuji|A&zapdBz9Gq;en^|f;IWy3{H-Hq+j|@e7LmEz(yQQUzL%~h=5FEq zjC@n9&$FSSpl@HMRrlMs`13c*9m2Uu+{)hgc`Kj-UBV${z218|xjGS``F}IhOZ9Pn zkzT$CJr$X|nHfrQ!3-vueNQm^Kl+j=6tn*wGYbAz3dcFhTW8|%9lbhUo?#|gKCkw~ zImxuaN}>Z@9^x~@Po*UoK6xB5qWS1SkQq3fl`ypc55VH0-G2RtQnZ5x9>!n0^#_5q z^h2Prbugi21-{azZ^7cgq+M}8SxtV}8MxGBrXz_yG2TfT<*PBcXiE74`~i6VeI_^t zI#t-?NLwyJ?ScW)kAKNLvI%YuV8`Hq@h?!J+(48QkB0s4_o|zGYi!APSK3wO8nfVC zF8O2n?oYAOe+Ig-(mUmemHzdsO;-93pHQ2s^eK)qWv|Sky{UTOBhVfU9GaO0%(W{) zHKuLh%cbH=*_`%azcK7dtJLqNwuMgEmJJxI`fb7}+ro!}#0{I%>u-rRlx@LTA-y+;`=@^9+x2)24flb-{Z4eQj9h4~EZX-= z54Z{8LA2wV`z-k&nie~6eVK~d^{YUxS?S-p7eJKLTo;qnDeW$nMG){gC29F0qm^Fe z6b|GdDNhV~3xpg@dbyWGU0=KIZVgml^MLK4yp{SJs8*h*OnE`Z?`MRuV34M_p5dZN z*W(!aJMfD~Y0kkxvJ^KrmFx6qv}R}lBXG0EKDbAyw%O_K9xU6Cdn128QOG@zPk26y z(o$JxKH1c8J$t9NzCVBz>{onOhUcvgv$6FJ!B!`pY}ytNxe<`6AD4`i*uXCN#H=@0ZP-Px0$l{kzx2{e{a( z`H4UZ9ynzynl~3MqQ7IFPzSgA`R;Q-LSG@1;(LsL+C23pK}iCuHwmg3(8xClN)lMT zc~0`ke3Pa?VD%D&$P5o|1d?1o& z2vUns@|ydHL%u!g>qB&ACnuA#FugsnPRV|ky#~S0Q~#lRAhjR9KhWc9`*xVxlkRz3 zkb;6gA16P3Hh`CR00{Lhq1^5IEiYj1D}YK%^lUYMw7C_XvTC!43`JGRvZ|OqqytD? z?~mF9ixRcDcj$%B7%t?s`l`usRJ9d4Xi(Lxy*Pat3~10barAK~=_r&`OkK60-Xs5% zYlt+k>z`@?MN`yWT`&~(8Hi|XHb515W)*iWl~w4kp?q}tY5l3NE8;zOJb8KwqN1>W ziGT(l(sCkO;2GdPR3J@Mwxcyx_ry$u4mfazYXI~b%b||52qZuk2-Cu+aPa_lW;_Q! z&DUZh{2bihQcg&M1mi%$1WCa^3XgSq2uA@bR1sLp>p_OCA{i->V*JDrY*iZE3*4)e z^|emdo;I*ta4Ry(a6yYrI4}|Dg{|TQ+ba6Ag&Q|M?PZ?caC!)_QlXmn6j%}SV+~e1 z?)F5w;p||m_#Fi>tY{yoV(>G1xj3Vky*rFF**n)gwu&>*vuJBuMGO2DI-X8@Msflf z3Zt88qS>d^JRRo5_+b3;M0SRat^#_KTvEp*nk=_mBXM>f4nr6aWNbd#e6*lK{9+v2 z9fA+|t=Cw>jl23iWZd{7fyQ|5ijg!<>Ci02+AQU8>!zi?ZI-gOSxR}cln zs=(C-&G#n0u(fcFmGk6JsvVCX#@e9-7~fd_Mndqh4pe5VNCU+Q639wlBaMx6eCCPD<_&3zaj%M9A#Hti3p;TF)S<|(urgYR`tN0ri-c{mfSN^<2 z{JaQ15$F+viL`Ilkb9D-3(@ZFmeRWAd_P-^k*z`NU#s5%k`gQP3REMw#Cm8Tmv=M( zp&1Y(od#SGZAJA~_chB?%xoaxahU}U;p$?mxRyN&pblGw=;X8F=haM|z@JBJT4`Qf zvu=dVI{i{viLD|XkmmT?7~@CD#u$_r2b-X8A53`Yq)}Y+PQdQfxSad(CP+Z|1w9M2 zC6I8lfrQGF@kkJJgWGT>271OYAo9Rvn5R&X$-z!V4YrCt{OJ-uZTvY3KaCl&SxWac z?u;JB{2LVaByij~8#f$l^|^5%_YuULD$$egV1ZNfr1=wpHBXqFMi&`pKptwL;3R+{4}PtfAcB*38Z06X#`u_X$G?< z4rCKS8V{pQY#5rag8An16F7}xF^MT1jqb#zbRtQ(>6F5vV)kZo^WI<@Z;}wUit(sT zOylC?#xx=eM=!|`+_F`WJa}jU)Yq;ywhA{9G86Dv=83M`!2FuZBNw4j108cnp7`Gq zCy%Jwk0IFrn~vY`+c;X2T+Z!Q^Jb%gFZk0D3Y^mjdoX(#i@ssjm$k1b@23Pb!onqr}h0 z`E!`~IgURE<7fQ&$kbOD@wWrcjkdrx25||TgaW!PXjnSM+2+Ja#ryPIpO?N$X>B2S zZWAIYPid2Jhh6$cP?_|hm;*N=*X+?3!r}^>r#S7k@!UM!-7>TH7^|x@YKM|+Jv;&N zpna&&5G`RP@EEGMM@#U=f|gd+e|KE{DXhN@oF-wt z?>)fkN<$;~sV%8Bn%RM7kZ-i)MoY~-b5G}Qhk&!dj2t3#I1l!RIWc%eT2@VB8qGSm z8QsI5yT$L^;UA6oP%4t`Hkbg+5VTv-V|goBzhjJ4y3rNc7{?4^P+C8p7g3rF|7R}- zZYyel!}2?5NLw;6QCo6nf}?U@vIAPWB?DXFteE0x%^^;;W>wa8%xYbufAy+3THOUb zINo;*yV8vV*p`dq4q#u+5m23}Ef)u{PpL2$N{nA=OdLG3zQG9-Wn?T`&JILz(rSR! z%W$xr9$(jUvaT)2M_q6#sD*OKj^XwC;1%Okhxq5HF)MH(Lfvchf z)X&`v{O(X`jNr3TCU21)JE(`{_g3S(RDN$WzKiAecH?`t{N7=Fd+?2B9mf%=4P({E z$?wOFZVbgY4ttID3Fw!?%t8GY0Aw|+ax|=U*P)_@W2&NVNRQfpq+Jihkn~8GIE3fP zY55fS65;hP$8e+1kl0p47C?0WM(%N^UB5!#nCcL(g+ftzD3vv1q1bm;+rR4W&)wk9 z+v1_TwPT<=hFlv`ggD4pWD;171avWS_kk zC(W>@x5s@4hQAxeE~qGb9tGi<0fX-sJyV*Y+*btQy$?W%hqqtkx;)DHa3UTQw#Z!p zAoC{F76On#ap%NWk|HY^W>%7fN>~F=@2{gc@bOJ&iI2Yao$eIrubIlA6XFd7{hJq? z>2F0mc&_y2$tmy=3_Y77e0F%Mhr#wwy$Hf?`A1->M8=EzKbg>ag52lrL2fodD6e>#RtBmN4ZC<^-5nqjrS% z&I1JbLV;{=3c}9vxK+MPL3|buk)k?#9wEXC;vdZ+4(h!BUcN#>i~~gD&axtX6Je?p zOm@>+L}wY-u)JD<^k@pg&dwwR?cJOO`T`mwZoy57gzmk(!-ygiF@?6gxaT|rc0<(CRCd-kMJA|l{5M7+1<*7io=!-(#e#ngFQRLGJ^(yeEebkSO-E%#4`rJ`2 z^2L;1afZ5;a!jot;j7Aev9X_IW1pe1;}~XqV{SHfST^QzirD%IuPz1 zfw_$Q-e|rd5>)#*Vh>Jnt#|r;oABF*XCxLAbJ>CSJotm!{rKa$8$Dr-S?N{qgmh~C z|83LySNY%Dj54?igm)T6mx6QI!SSsWwBLtdlJG6vUVaMf68J=rO+^0*!lpMKVKIH| zc;gz2!ilm{S+v^65@%NX5Er$<#759VA_k54eGF&ge-BY)MJvZ;D+uM=pr4#Uqi=k- zAVXVV@6SSvAyPeis-9zr&>jNAN6h&RSYc7Kj;t`XyM4&h|i59$xJT3OqZk2+S=| zoz(;Ord27_fr-horSH*Z-V0GDdby<9J7%d{mCuQ~Y1{ljt zzR}$q=dQvkF6FqmVxan4%qkY63SrNR;%N}P;0muibc=jtc1FT2^Ji^QTj_Hi;!{X zBiL(8OrgM40R7S_Rs~<@YRVpdlJd11cQV>yXW=VnM3Bz}9V$M62}yWfM4-9`{Z^p>nV$(Sa&HP65CcWs za){?i-~<5-^Z1FTJ`6I>Uh<93B_3bO-s(UeB~ zhmqGR^+bDm4SG|m`EHVx4rl>?8&rNrLhDMbhs4bE$g^+=P6|0m)hTKv^#*m&?p_01 zM>JW`mo2c~7Rv5~=R2*y@Z=sSbDvShCOkj|Mp;syjbgA}0M6FqTO2YH`8eb7Z$Uxy zzV8kSvRS{$4&;|+_ML+3A%j7bS=R4t4eTnSdTm+Q+%Hy3Y^$V>#i}wB!__{|WSj675*yC%8 zPH66A>1fq*w)C(1YC6cM0auK4NBU0p$M{>Kv3D-KWuNq+EGA0m^8kr92PDY(8r-7w z3N<-h*z}cX+BRcAV!!sT8~a&Zc5m2ykIFxf`R$M&&Bclg>(@^ss~(L=Q#U<)4Lg=s z8W{y#DDabzA@%Q`2Kc2aZ3D1 zZd4y9;M1ayK~2%iR7x3Aq8-&oIX~K{j|#%}2P~)~s0pHy)G^Hm*VERJTYm6mee&-gg4Z@pf@Na9l_oapTyd`Cio)&H(YnVEkK6`qc*RZ?J{bsWL_WSjWqK% zs60qH(F>4shne%F%E8SxUf%Jctm=UNaS=O%UcG}KUqG&>i(*k#@3_5Fd58TulSoh> zgF|Xm>Fh_1N<9S-xv{oWDOVYAX8{hpCi*H#z3>1Rx(yeuw57E@Hy7e~0?}B@Tr(n& zT(lDLDyD$VZ*hbsCg`)!t;i^J3wP@qMuM%l@&9x9|8(&%M>+$L)z%~Wx#{k>uN@}> zBq_ob_Z4?aIW4PjK~CYB68rdx)b`0};YaoFf1?<OWI1It40K-cglno|Of&cs| z%$m3(+XssWJktZ$PY)V0T{HEk(QQZqerIsB#X0=XqP~gROs>q#z~adm3_9>DCt7ki z{ohXkIiX(LiLBjm{1QuVP$vV5&v&i`U^C_>{71po{*(Xc&(8_|mX*H8{V7a4T4qr6 z!F6V=yK4c0#&U7S`lG!zy+TsuGIY-|yzOj{J~2PqtyHLx+!(=SzR zLYb#HzMZnhk;XzBg7RwC;7yY-euRi&Amuv<0Ip6JyZ30pIba53+O)Lv4`!D3gPJhW z(xo=q4tH(n%63eDV5;zX)`)TOU5N9**|QZ#X^XZp;m`Gx3+oaaQToa8@5SckYQVx0 z2pSvhS5p_EwHX~gZeU~)N=CXN5nXJlP2VQwuh-`sPqGB{8=!uGW)-b!ffvR8gp@?_ zu~!CcLlIf#DFbgq0f*WWwdcM>4z>8Wh2QQWWW)V-Hbw?T&$ajmobBajK|M3<34uya z}ho?vAvf=z?yvtlZlXf1OE{`%)k;Ate#paqC*9L4a}$ z-vrETF^2Ka35p<|G*YG`#lR;i5EhdRNO6^g`}Sfug(p1t*ELw&0K3>zkdW!-8*eQ# z4XRG^DpI?JHFrYZL2)aAMAup6k)xy{n~V(AgN8J{l1QyE0emxUmWp=pQpS zRpduzih9O8)+2TFSkXLYYW#t$1kdX%hZ;`p&+9!u>$j;&YY<8P;{^+q1-aTf5d)&COOhBN zD^Cysvw`xNGf0rRVkznKpTsigj?F<&o{Xd1>};G^SK$BS|1bVui?Rpt|6crm2>-tT zDeZmyUxEMm`~R!|zeiiO_#ayT|LXsXfQF{9y;a)q)8sXU{hz))s(dN_?!^Di{3~IP zDm;`z_KMSTFzLaTlICHLg21~ZgF7YFX6F@RhX8XR6ZvJVahD)j^S(&R5B3E}Yk=r3 z%qHc2>bYgfa|5xGOHdNa@NrbjLovK0!Ygwm&l7020M)7W@oT6SoWIK!)h zjiDJiCXO;LsH@n&wYWAewv~I(gmCu|oL8t!Vg*4IkZgFuuIwA+;ZgJ5jE-tcLqcOx ziw9dgCtA1@A;PAjUIc2w0U7&Gub+(S|2?L@VTNxLDiZm8v|8f;!SRTiZOB$*uv)5p zR6yb78mM$)eGqCL*?G-(3rM6%{%QKiNcfGkI#zem2;WiH-((-qM@T)rvW!0Fs7|0J zYYIAnzffx=Ju{W-Z!t&e2!*I#5?6hAJbwt@2IdP71!qE&$!t9xGXiNp*ls`~se-ZK zce*cw%7*k}TIJ*f1Rv`A%H zp#cTpXJO#ny**C;qmRuRk7d&Q>usqXf!r}GYErJ*#n65Z8#XB~mq7C9IYKpehxgC|wo2_3E>uNAc1@Xk`_cG(CzF1{+ zGOKg10@wZ7LRwe0_62Yvi=2b?7q5>o^_zlUr<(kFz9@;V34YxY1Ch(I0NpZ}QU)5W z@vXzUZx76Y6O2J7H~~|@3Bveea)LoegttyxumGm(H=r|MXau#Mg`yeFi=r=Re~*5C zlcFbG2^OV7)w~|CS-DN@e;V6_6I8-&Vib~PhwF=C+r+F>FFa-~Wp(z}>S^%L$VGUyZ>i6+Xyzh|%(0XgS(J4m80??1w~9`rJ+=G)(>% zTonlJR3r4`uc!C;kF!`5;^X z#yI)#OE788DOsb$VVc>CtI-PshYz6>fxMaU(}EuqFxFl4&^Y@^jNw#ogC+09ak%*& z%5TX&uR?F|n2Zw<3`W`gH`=NPTCMn}1s;=qI3Z}CY4ZObN;+8L;PSX^u+AuK3R z3-OJ7wY39>J5M&nVSJ z&I+`&RS!r3eA1iZdMO9ci38Yenp%I=w>(OEXwd7?OLVHOIhMWdcE;W#otZR1nD@uX z-(|$ytXu5}7Qy@NL)jEVIK*zY=cAAKQa9UQ#eEy&X8AMfw|Q&bLeNmsC5ZT8z_e1o zO_)>(!|+O|RYg;N0XjZ>shjPKWS+X&-W4&zkmr%*ZtN1P`95~jnYqJ+BH zzO9@1DwcV5@+&OA(z}biU*uPGkG$y~#u#oG*tZJj>YkfL zFiM+vj#$46+ndyOVN>!Sg8Q8ah z49+)1)UA&QKKta=+`3?1c@1^Rt5!AxWC1{I+H!9iQU0dot_n%MaGKTC$mdZ zY{BXLa1U6NSd#3X0y=#Hg`;+rUXtPNgfu(Tda5*UxWIw5zD(;BSJ|SZ=uL}~k5;9+ zZ$Ne`vVqS%;?gI{*XTEcTb+-7MSg5eao6n2qL!#wWAPNUinX-01)o3Ln!xAJwkGlQ zovjdtfYkQraL>&>SKCyO&pQ2lAeHER6;(C?Q@96i1(!VxO*|n-1Ja+j)vQlk%89SC zS^;JPFt9UC>zC*{zhAN|v0qE~4Os}(B4Q_p+HJTJH{QCK33wFKlWr+!4aRuRRmf?D zAKw7P5pXz;*t8UH+8oUE2<_h0crB&U-Qt3A_5$~ zF3f7g;TaS@<@pamRP@b5$p8>NWvf4bn^_Tf3^;B>4vnCGU$O=93KQMWpq_hVJqBQK zNN>>87VJmj@izRf#p`Wgau9fXeG?Pv5Zfj*u<0KCQM3jlK#Eh1KC39)Tg-*Pox*dX z!t->jY_^|-_96Sv4qCkUs>3v3hBY6EgIEZU(0bU5!9tg!7(9CHrTm)}{IV2)`mNYa zAPCpk-w?UH+_xXU)VImcC=d<-C~gGMz#Hmy=7t1|KKKc7yz3>C-uMGaw~8dq7eFPp zpxu!boGGR;V7ta|Ux<`UKOQg5Ul4tqxwfElTzX|-g?7g#-)aL?%iI{a3l6fy{`|LX z!Q4!L?mK?>yNnN=;&;yD-;RFgdzE`z;NiW%rXH1in6%#I0aZ}VbNZ#EUHW>$q<3~w9KzD zt&_n3q_ofilP1Og6SU|odWhoAqH6nRe3o_g3`%wm@gQ;Z}ef;46 zJHofxedY*T&2)a>Vi{3>izTqev*Lh1x14|X`*T0%-@X3aFFcj|{LTu$eHoTdu_OUO zlvt6Sf!jzBUuYvkw6WHozYZV$#K(Gn{#VBIK8hEPqi2kmO$-#^w>4ZfLTOik>5ti?qr+E7AAkAlJ7Q?e}#;suae2Wc4C6(@(c84e@T4R{`{IqwSqJ#QxNeQNyN4O{MGn{CQAJIAF3uk5>0#@;f3<7 z;iUDjKfltX#}$$uSITmvZ&mIcQSRMHu51wHs{Hw@B-lKE{(B1SeF64CVqEzMq*MT5DsxeV=1Q^^8Y;O+Qsw9Z}{!+W#eVzNHltMaGrI4FEzQ0=ET#wc|jD-T`y<{C&>asCXT-C97wKLzIonhV!FCU{Xd ze1fD>j)Dr8iX?Xi9y4ythu)1|!3T~F7Bc{R=#Kx)hu+~r>1%e$U6eV)J#U8ny^I;| z_cLZp`2Z%a;%M8Rn}hZ@C{AM;K$Li!qQpD+$N4TSINR}KC;tCALtC;3-OHM&_87Vf zSnjdqiWjUNyI(N>)aDolgBLsN%P^1n!cw%+{Oz!aYwR=IL->U-@HXm%>^l>(Z?Rfj zb^4(FEHKFqF{k`8A?Bd8;xnFv?pK@z3o^_~)LM?sjUkn~K__ZPdpAd?*Ev?QVT6 zy1`A4cz*d&oMDWuAKt52$T-T19e>g=^u5Q=JjpfayKh0{R48yly}Y$DWi?Zv&p97^ zvg_>N?Kzh_a?F|njtp8dlRoQV@bQZcB>XyrY9S?T1PhY&_VHZ^7NqJ{k?@At$AZsv z)bsGIUSn`w%9j|jWkM=j?%wnj23)I%jzH7tX45C10xE7p(xqmSjwCT9!<+WTI~=F1 zOQp=Y#;u@k0+dYJXCz&QBx%qZ5@*mloqeF_P^vW2gU)s<>6ua)T)Dt+amJ=h@jX6j z>^typAxL8!x(C|YA_SS6zwrEqC#4$s zBl2w8QJ7Vvqcv&eAZ~d$WV{{IXPPAQRipG&pu|#CaJ|K4LpX`w+n-x)KgK0HOrrI7 zpj9_jc5i=2v=*EP#f7d!2x6j-kP%C!@wVH)7h?b~PI86l)MqJ>Yhe-Y^I!wxG|8q2f3+7{YRPV6ST==;|}T zVgu2q0PR@I*CMHKE$kU2d8P+My5?O-yE;r{Rb)NK^gBc{E4hUGO15=x^lt`L1T!)i zPkOII8-Tz+d-3jaU`2NNeiy@aeC&$h;_v8`RIggyaDWyhMv`&cF<-^)&#AV*!^!H1 z9%8bJF6eue!_TVSPKxQCXc)*g1 zfL`GRVRwrKrFQR61uX)#emj|Kx0P~)Phf(5;XvMe&0E2pAk@pMa_$y6n)f}K?9pX` zzAE{7nLJ)4r>W$LGI^BX=EwAQDtS1?(onB*Z1%+KQ49mj$jiG&Nd878?@`Gw$m9l< zT&t4bl*!wY5&X`WxQ!}ruFRXiI&M-wQ+e;oyg6ef4NPiWT|gy2qLM=ry6prBeY;Ao zmz2@IT8`j)ne5}hs_iTB!g?**4iFD0-J4TAUiIuY53XzNo;n0bS6jerMsNY>18d|~0v~Y(%JO-PLe5fijU- z5|+dHDUYMi4jgw~D2H-9+5wN6izWG#xT)CFy;y|mhLnY4jVKt(L<+wDHv z9vqQlEBd|_RW~bFQFXJjy60*-bm9_7?i@}G)TV5iD_YIMUe^;q>-uqW7G8N!5EW

      =@;pSv7}3ztOz*-c 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� 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�pUsZKI(q_D0qOh z!pHVe)g{9A92&>LO;0oY&rB`N;gsd;Imr$0hqgnSY`_yTV3p7gq;){{X)mA+uo@Mjxd)RsikX+siNZB~>co!#Bom*--E<6|*AZ^-HbYUzF@>W<}m z8Tpjb><0{>RUwLf-wwK8gSCNg^;mEB(toyrS1)f5-k4?EXY3Z)4!@H7G#bwb|NTTQ1zS!KxHB7HUZR8KLI! zPvc)PDh@80i#jnKOCw4dh=uOlDZ&Oq@K{rN#%o0pmwgLsjp6K(J_=|4+pF*j`D&{=i0sy1OYt{F zKMrpsdf3NWJt!szjv&R+Z|1E~cH1_z9fTdoJ*E-?8iB;iK>4~%O zSveO&@6aQPe!}kG!3Hl>GamW_o{o?bx1rDAPR#7?XjNQ$R7Ii{R8@dlT=t_!Rq6BeOtb>`wfCmEQkI50ByIRr-5qlSKjJl%MfT)3t6NM!>9iLFQ8Py;IQ zE|w)Lc+g!rljkyl4BQI70Jnn8nR1>)Cm}J zVhgHOu_pza>)zqe$_Vi}l;+`{`gD=!HJS4qCy8e-K<8&T_GlB8@B_=gZ0-~n2Ve+V zl4({v(;D-_Hy2Zrvt+OQnxmzPiYsQv&?!@7AV7$eyk6&fBdyL?1?5Vl=uIddBfhsP zi*qBz3xIm%b{AJrt%~bZ=}Zf+edfx1>5UPModO>N@GueZ<_EXD*pR)>kpl0a*H$%;yEo%iyZmU3Rb>IRbxxIv`l{n{^!|hCpsXop)%RoF`^>MRgu~ zHd}#SdJw+(`(du&WA9=Hx1o3sQJKpgQ?0U}i0sgZI>u+%Crwlf;V7UW@%-T^{6b9} z0DepG*y&tgJJayJYF1ps71T-zw z_(?)$E#O9@xmLf{hHnm;&|d&3mpT6q!SEniSmihQ_Q8IAI6jJsxE6-NlDBT509+#O%J8^kZ`*lsi)YMz{LA|G1* z0zac&p^J7pI5XZsK{7A7t`O2CN=Ucu=&(d%_*bOH&yRs$p^nwY)z5bU zJaG)h+XvPY9xxWi6Nhp;z8cG?^@QDl@oOa9B;oZEo=;~x`f-#c65b~9m-0YCd*aA} zKG$(^K3n3ICk|U&nJe%1o|BmWXDNF(o$ff^?N4L)SBW2qCD3tqK3>A=v4bWFtH%yD zf5EnthmOdX2)F2=LmoRQCGwo}S6XfgVsQRC5Bf?A=U2GutQMwh&Q?scOdy9}4?Z&S z_}gv(*IG*S^IZHls2I!SKoRQzX7u9^X~UGj-DY5(`CR98t_a@6bX8isN5pqWW(Yr? zBF%MQOm2HNN{BPXDS_~m63b|5^QY+XNbewsO8V&L=z z8S_1XF=p{RYs$NS1dr^3*!hKlp%T+^0%Eckv@Wk1-&Z0|MuhartQ45ZN!4K_6fM@2 z&METEL;%p>Lg&%mf>x-dgHb#OwR_c3 z2{V6g;5IWX&g_fkS;pudI728Bq%`mXqYAZ;h1{{w0f2+jPT4u71+MY!!67VTJL|w> z#|Zu%L1R#N_`L{6K;L7%H>|~LR<(h&KaW!dgX6oq{9}<9S&Va!xE)U&MO9z;s=g?i zPc>kf3=S7*m^O^ig95&j2?<8ln6DRbjcJTb+9Tkqnkh4aw3~-_Cw8v_w82SpGrXa{ z0(odJR%@&ag?aFBOn2}<8>{f}w0H4V7*V59csZM^+MeOG%`;N22jI5Sq65fH07Tu; z4%XxeF^Rq}I|FSd&aI?T`2pt=1n~uIO298m;Z#17kA4AJHQZ1vfi4NLV9TzZl>8{QY#9*@#4VL-4@_;U)XuhNwR?`wgN+njr>kePCO@&g|De;#(6Lvo`ujiagJ}Lmn)s zHCB3uegyA-PC0M?4aPN@5j>GSrrI3RKT`Bgj#`r*t*55@EYN*|j)}xk* zo!x6bf+w(*kuj^ZC$QC$?>%-S|04Dn{S9>kbK>#l-+KcYAat{MPGGp12H%!AcJ|JK zQgv;xHhq2}7HNox{Xb760moLXY@0K{kTLXr!#Dz+_mnrWFdo8vz2Z5MlK1O;>)n-U zH8!ryMSTA@D|({Jh;PGKbNYD*!7hJnXl{0>e>&Td0X4!=j{w6Z!TeHlek}odMI4cjKI4Pux6aw2Dk_YG{vJi`bQ3UIh zwGx1JN)PA^jUrg59Jz=ASk9a)F|d%iL;~ej>6HxlN?{*>fmy;vR>`^#Nowv}Brb3H zHgqO|<_sN8XFdsZH%><%1K@Fj?U3WmI{GY$mXm5qY5jHdMG`$#=jIB=S!Z9RlZgo& z>N=GjqoXgDXmtvW$_`+l2`F)B`bwSLJ5+S2FQfYnkN7^0jQK=U zzl@C8-XP~Wsnh8znNB+*V|GgYHIXs3y8e|?|Eh*MB8hWub7aitI&F)jZIvRNRXX|| ziC!v-Zz-}ZGUf}(v@9~_U7cyUWLgn@hzYf&JDVa!t0QCH)2VfmS|7bmigB9jgmsee ze)KX)SRWblZ=IlK?}u1&iJ%RUF(2uKjZ$J$Ts|XxjL&x_?g!XT9!34@svBPrdw0wDsUsI5hQ431|%mVZ6@A`6CwBI<>&^44{42pJfwRZ zD*0x67vF&UWy4zGCk-!R?~bTR0I8X58DQnHM_|x^36;C-L$87l0ei2%j&(*Xqv{L0 zid0<0^>@N!R#>JiH$||>Le5)hZNAD1%NjsdkGQK52Sd@*ux&ln95VduLBpxLl^~XSwdM+hKG?T6!xXIiAWQmjm>4NDNM`uZftD7+|y>Z z(Uh#^uAC!TgEc1+GjoBsGh|4oH!AAshF|r*D3Z#oiic=3D7&a#_<)k5ghOkPgp$W^ zhuqJnfFi;?1G`}6;=a5L#l0b3aJL4e8=nVje}k$)ZO@=jtHXHJ^*{AD?D_;g(3#ei zzoXiV>DZopnOj3Tr7PM48GbLeiTi55_O#tZi3e4RdK!9M{DfBQ)0EO9P+CsTCDr{@ zG8QjpDxmqEn8sPd7JKR`kQdJ~D^?!BUX%Ssos}tdx^$_9DCOLqOE|AdeeaR?1M*_S zp=DG>q2t)D2)z1&fF{(N65_#8AViGMg}Z$ybARb{e4XzA)O%;ehNV#r%P$GTBD%Dl z*qTAH2a&On0$J;XI&-DY)p@+mkbFLl{aJoZvOh(D-&Mfp1F>dR?k~X1@kVhIplR%s zhre(RQt#W#Dk0W+9cm%N1GNx3zVX3D(1R@YVD19IBtPr;Am&3Jq+^es_H5Z_ct_=OTd=@*f zrq}U-tA})XzcK?FubhZGe}BVmz`6kueG=XiUsmVa?dEGMxSEcCKe-}BcI3VWy^;A| z-@T3IZ^dyxXvP)o#gg>k|8b;bcVyBJ`tI(J{9-5dQ>56A1RC^f>EFw1>Cq~;;j1Cg zG~nB$=pHi2W?&HX%T*!6$d(Dt9fEz&=P{k9H}WQ8;NJiOhNJMzwuWTDKX&=XceoaL zeIFHUc(^AIO*kT|4X>Ibu_a*oJWOd&alaR^T;2|o+VUFzK>DC8T4T5^NHJRPX9kvV zirqrs$D1!0Ch#sK%%zOQ!~LBDlrpa1LIBHk2ib|0T!he zBtmJhuDejVR5xUJaAzCcOmg99ca`V8Xd4x%YcU&HWU;5ARJF7y-V(4D$cy(OxpI_h zC_)ivZtGlU$(S_ER(Mzl8ct87VaGJxmmR9XlH<=7M+P51I1J_GL|#?d_B@H8;UK^z zNm}9Uab6Ex;_l!-w2@xJC&**BL;i&IU+gi}`SNHY3-{+Lz6bB(MH5+1D*A$>;A|CJ zWQs3P9!WD5znY4}I4jv~Gz0$rRVNU_E?4D%iN=>Tc3RiGjJXltH&(?V9H+_L1IfP+ z5Xd4slOtDTI}8aaZ|aoGBxP-yW@1R0rBen-%7+OllXS{=lJZGH${jl83rR6xajzlZ z@-D1+jLz}CY zw)`hhlVYTb3_gS40v1Smpv+{Cf^H=yD|sW-NLvG%yKJt6nQ!s>NM;%=W)B?L-eo&{ zxf}1pn>%kZ@TME&y-}bZ{LU7IENw@@Bz4t90CG?XgDV3Kg$h&!y6B{$SH-%rlw2lS z0PHc!95p=nbsKEB<>!0oMid8FOsb2*%gZ+lqV4c^5%tdBEEH5ARpZSY`V3VWAESKeo*ruzQk-#ATq40F1t0Je+IcnX5$B@Gdt65Zd{ZW`KZqK zJyymj24Oe;{Q#xxw~GjU8jpjs38n|j!`nc{{6=zNribAU&qd6>WUnR7PlNOgf zgO5=sO0HsY{`%iVa>dPnwlq8OI_LY+`{;M}?&ng@gM>e*^URyzZXYiin1O6~=cj?g zl-s`t6v}G*RddQ|@{3|<>N6x$j#Y-BF|qeg&pHmPDSWCoWgX#j4>7wBn1cI~e^)r& z)B?Kl4x|(lg4~zjn4QR-46@MD`8xC=$=hdW{}LCHy}mlUO=T5!0B_?Ue2IKGQ=7D& zTHk+iZ~{42#sx4;8C%~5Y-}L-9$ouxIjH6+&COA)15ilr#eJ+5{8@7qo!E#vnaC$) ztl;^#t9h>zH%TI&HYi^!>FW>c*^k+?SeK-sE-1fr{6rY@ZpIT#r1yd8a~nL8K=g{_ z0qk5B$119G*~iV%+w2A?6j6!CjF4vQ`v|WA&4D0@qs|(P_cAMZJCWss`EqLsEHr(& zGmP3E8(^&C?T33#yKvhFxaAtBZP#I7%}Ip?PAKi|XSl6dgH>J-=|AI5pmIVkP-Q+r zG{0F>Fs|#PnQzv{^>vY9Sf@8fZtz4N#i`Ef$gp;1QB7o6`|=v2al%QlJ(4-7Yr!6o z$-D#C7>zyFL>eLk*Ik;Ef^!@aU2Kq^%C+f5*- zVk1Nmj>`Q=!O1ghq76Wj8$FJjk{c5uwVKB{U}l-ikSx*B?^4b?oc-**vSS}*7Uxp_ zpkdk{zmd^WB8V^BoR;=2B8nDbA6-;sPFu<3qV@PS0&4~-i*gBf*x^gdk)(!=i-GO> zYn;`LjiFq&x;KE2$F{on1*IG~YT{Ox_;DV66e=kAx8gUeWrooX&Ay3*Av{cPcKPxP zo<;V33`wXH))v|ETH(ij(X$;WTZ1y>6Jda8g`aYSBc!~pQ~o9?TS`=Kh~}qs$^uE* zn2_?APWgwV+_Oc}lX%ON{CxfrxrloI*H*y2|05N;6^4$$dBNMar#)(x` z^?@M=sUd;{hV*D75!-7n*$G0W80F_NB^7P4)sG;qej7$Xm_8=HRM~g3aSb*A*N%4|La)>f+HAbdI~xNIdHFqvUqGz;!-7exiDRIo;tSbNEHsO% zFnI&H*!@KN>QRdp=zzkStT3a^J1JFU_#5lSryNhB1gicK3m|B zMRNR^$P9R`iu!ma&^qKUWD>ci;cn0m`ShD2!cB&jYXqkLHxx9!g9tb2aj6|se+O!U zF!c@F(rQ4`3XBc8SwpHQ)vLsZO&_9E9W$}FA08SR{Im*%qTV0;#& zOBbF81b26jrNgqJ^t~-&+2Dg!Z%1F_7x+J}#zXB>d?XTRRtv9rZFf9~3h(MiG@Q*F zu~CS2Gb4+(gOs%9b;o3dTrB4pDwl0P8FQ4=T~x^Z9eW=~zdD)>5##(VEs^T#eLREZ zOIYO<7;OC$(xX+e`A$^r``DWPH3N{Xr=O38;f>LnzLc%P6~Xih3E)-Ab4hG?7o{HW zk8q&Zu=Z7=16CS9xrVqNC+?_G4gr+TIE`3mR&pvt`s7vO>bVYgsf6QC9X_oRHrhITI`kXSd|9*wwAG3I z8j4DFzmP4F{}Ny0;ebdi%0tVAoo#dUUFtm-As*VV;VG%n{ckwRgl*6kknW5cnABKL z%>Rbr)e`Rh9mC3m?NSLV6E<7In&K+J|HQB| zVH>oMVP(QLpBrW8F)8Y8W~c|Ga^7ZGnWwE`xJC0cH+>(KlNNd25Zs-k=Sw66Cpr$b z7uXVTt8-d9@5$0N=<|wx3H3~z7^_DH{4LZYw2F}!^&vov?J(uM;_&;a z=M}N>s4Kh`gK^7f+*M08D_pXf{Z?a=gA)&DOlHgYs4-DvrN(6Bx6Gr)GA0!;^WqZrXXtE1mAt9#qs?kM9&m_n~)N~>w?P3R_r`A zH|Bp=J*P!GB)+3{*$~uTwA(Db9!=t~2>Y@t&>DCHIYo@I{M$mKO{kat8Jg&y;UN7p zG^*RmC+V!@Q_-9x`ADbaA;o?flrj(xX#Gt;poP*21#J__u?Mu0>6vn;_JAq(XS0b3 zXx1`e`M@uSS&o6lG|$H56S`LOAM@dN%b(X$`T76*@_8+lzdO0S=u2{qPYvad^k&OP zr>$Ao2LbX}Pf$@(PuL@SxmIOR<%l!ned;B!y@@Y@1z*^Rp@H7a3i<+yQj%W+>ok>y z#4RLaZ-V zCwZ?KZiAML3i4Ys{FBsAertyJNq7gsR(KUk8x^}H{BQ=tjS^1BxtUQxYdo|p;qDUd z2cgfX=!viy{!Z#4e>THW36no-ruIMaPpn2bS9d?6W`jee?Ti@TB*z#J+OU5-IaaB@ zpO5iKT@U|He`CIv?Vif&@ee)~VGk63@nZnvdrI~*+_;Z9@ksLuifNn(H-nqO9&*xr ztKyBHkWW~ghZorZsCuHi1O&94OfP?}Rq;Nl3#Nt@8SJ8Ou2pfh1m;*39tq5bd4&X~ z;u@6%W;8sE(EvY$rUuLh_ZsGs2l0Y|)@5X3Y=i+3XtvAW_SX?04cOAcs68EUpagnw z3eX8HY2;6+H#q6ljKFc&MA{`B=lbY`n1A3{d$b2jYOi-nd;D!b%=UyaDvO>!anNX! z8lm#T^vysmw7cR6qA8bsgc(+Gf=p%6?R+ZgRY2m6v?BRkjjk5W!6z$r3nsIrhK+i= z2{Jr7hT&rGWvTsvRUX9CXt*a)TxBeq!Qmk=FQMrHee#=wN7_$3r9puc$bydfZrfxkITU3q{cvv@FU=xr^Z|L_s?vRrbxzhBFfIUO26W0 zqw2BJKf3^6f{YOH5+g)`$05avjm*!aFrMSW+>L|oxEt?aG?lF;VXCV%$D*c~e2}T6 zGQ7EowQ@P3J-wAc(BRs}|GKi7Q zkDF7MeicnqiiObH@pmaT0r*w&gyL`e5nuohPhDY_OBt(3JYfPiF&Hb6g8-gf`(tM= zFTtks{JGx6HNmF*K%3xxx6v4FC7X9=K|#dNvH1r6m4LsSX>A1AY3dS%Kl6ORsqyEH z(0U*6dMxv-ae_0`bK=oBo1@`@E(gYc#90hu=emzzx}{VPllhwQeN?@y4`U(qr;bJc z->>&GSK>${$&*h1ZjtdAZT@}mhY*!v2inNFZdJSjrwqbr0t>M<1X5d^?soff5Tc~3 zd6yo-Z`{@ze~DGGTUFth2#RKK7SrXj)fp^##7yUeIw@{iVO9K_#X#fBks-R>UWCO{ z$)7SFJss)K49@-l8D$fX*I$D-t77CiLZTB`KOwmpJU814{_=qC(4=n^-)ossUxwz$ z1%y#!C-yC?!S@lw%dVdA<~Y`VR?x4Z%_6j4;;;w2fd4u22qY1_HHGWm14-xyqbFe* z%_9LXMNT@e_fNvp%m5ksVP9r_A4Tnbu-ymIvm?}1Txw+$S{We^evLKywDzuO4AwQh z^UBLFzic!f_^S5%bmJON@JO#mPYE^S338lxohFq>Pa9j`r?o2$r&MRLx;{Cquf9*N z`iQ$>`lA;MI8sOQeoE0lP3ealSCt_l&LR2>e-QbN%}HgaCc~rZ8=O*Kdj)*M`BI(qBhGKG zACAhvC9gqus}-;FU(D^#AWv{|rpteisw}Sre=CX4DUCl(ufLtzkbK!|->TF>H7Jz+V|_JpQwBLsPIm2Tqs* zpTPB=m5G-OBcv~QoQ&`Ty_J=HtuZAz_`H``? zHR7Bp5x3vY)GN=(O!Vk1AVSl(*-srs_D1I&N}Gnxj=#h_IkYvfL&14HRbaKah{^@Z z|Bx|3QGS2(`Yhv`3^iazJ7Z`T?o`NJIU}h+Aqtq+XBsCKZ1JCAUYCI~28{Obw;g;B zqSr&Sk_J86L6bOgA-TDAQh&I@6=qV!rsli+&Px96!W>IVmm8xA`NchX{C8r0&9AUh z2RvYXDf}aKt^?m~FoXefSZ4lKAg2%B_qibxqR(;lePxb{`hmid%^NXYB^gW= zSaq2kESSbtZ#e~H3P>Fb zws@z^;g1R6!QPp*!NYF<8DObL{9Q14jU$dcXnFvR}PZ#4gSdS9h5~T=ubEMVBiw*N&X4<&RoS;(>tTo$#9Ss>t9<*Lhe?Bag(jFe5+J?a{|3!{4pP;z3UIp;|5P@8cl_t-=Kb1=(G z`d_fNDG*g1b?8&mn=fmHT3o#4t2t0uz>cx_LY8+5y?~*U=*lQ_6ecjo4?aOp$0&6U z)*MO12WKtEug2eM5aw?q#%=-#YNi-)`0tN1nw)~q{XK9r9IJ2r70{5$I%CKn}l>&8rDa}xZJQ@k@*7Bu?d*&?tf zhLSR%!2Yla(_+6|?(xG$hb*(babCe5Fi;RAIx;|aV;ROJ=K03t40vL=*pNC-*7F0CXk3QzP!_87 z)5` zd2>s_@d~2OW*XaUZKfFyX5iLJn$bFWR`<;?`XtY4C4iWHJ--VRr&ba?g05>gp*Q-6 z6kL-Dr@&6VT{O2i5l#0YM``PD6sPO|sUJL;xUGKjD8+jAF=aE9DiJz>je;C zZQ?PJN$r0rXH5PkiWQ6=g6fKnc(~hYT9{|0CjZ?-#F97%A zM;y3!9Ss#l5Bn|TFdxqW+O8IMin9-E_QPYS^Z>LJj;_Y}CtIW02u)Psf(QenaG-W2 zP;PO`*n?Qtl>@N3cn>+iTgu-?w7?hGZH51eT2oN>B8#2NV$dysg0=#V5-Z$?_QgO{ zz=Pq9(?>r6$h?7OvbjlciFqthpf|30sF#X71y@yoZ~?64pggd8wB;&Tod?e$|+2&Y~udXCUm2bcR1j)$D%Pg z!7az7alJA3Fom?moc1lq;rwt~7|z4G)~T_VF*Z!EWOZ2h>jsQ))rI?Wds-jvFSuZ6 zB9i%Eeb_JcQx`oCq53ctCHxPgWIu44G(G!eoicY zmyVw$@pE;&(b%dh(7^^KBf+ZpIt{Dl@r&g40}18Fq?G^uf!`^gx}GM$b4EgaJ8n~K*XhqQ zsPBL3&o{8nckB~BNhyER|DycA63Wj^DSy)Ml~27N8b5!N`OFE-kQKUg7^$M&5 zOkpPygGusN#AyA^IN+S{ast{2Z z|iZwdLg0VsEAt`wAy|=v$%gn_e<@bxT3Xs+3}{ zNHLhd3rd`o>9y2ipQIG?OR@c{-MVwSxj<^U?^4S3*5#a$)8#HtEq5@bT!t=};Xk)* zl`MOh2yIeJwND}T5B^BrsEGEc`3`C%LF>fhGpKt(w3l zo{rUc7dKHfMy11%1A7p7JN3`TIcd>uZ~qUeA=dp$(hv01@cjx_6Fn|IfAoc#R;sE$ z0Y=t*JlmEBz42o$xf9vSCOjHpVWSL1>w&U*%3#o60Dc=8%xM(HV6F@~R$298!$Fm- z-mw&CGUs!;s=%6P*g3ms0sjg1qorq%zY;m%-EZvW08oRIh<~N8r*Q7?2Yv%=^j3Jz zVr%HYAb#txPeJ(CsEWIgaSG=g-#l{53qecKGz!V;F20s;)&9*!4%bMl>Za;6mr{tA zc(|V!kQuBaSCPBhYd}}jKhy@ByFc1$VENj>c6k`M{|6iwbr5+}e-rCp-UF>zOO8P! z;A5obQ2zHur{mB*d+oF%2weL)v08z*(y;CIcRZDJ7au$U`JzF=;+= z-$Jl|ZJjq$@=!7aoNbw(@}c#FPr_n#@{}V3<;0ux5m147(Xk$4`*+fNJ~dd$g1kKd-@flyfVm<9u(UH`sKGa=iy|hJ%v6ozjf4ZQV@`v}^f_`NYNZ5# zfpOWncOeZcw09b>usUwdHjA@lad5^z^Xu?9ma5h&ddb8^AgLLB@u-XLnNFQ$taIg9 z*2(u8rs9T`%UEx+wDf{V|WaVGr=pv!?Yk?l-gQ!)`|EBM$= zvGrOYesT=f>(Gs;1fHFPE6_K97#hhYrqevQ@|uju%)9ZkE`%rL`S~OM?yn2|37>;? z@j;#ybkI&({&;$4&@T%^>Ouh(`3OEJ{wO}b z)X6JEC_VwdE~yJWhR@G+p+DpEVx2sB^io}D5`Mi_@0$Vy!7cG*{F0EbQhmbe^Q8Jv zjevVIvuW@DG$^>Ec@<}0mW-mf7KmY7aB@9x!c%f{`ex9ANXbyP-b!sAIRmKTqv*Bv zAmqYtQ8`$_)xc}CyL~}IWb|0OtNv+*IB04F=EO&UaM@XRYDwI*gd)WjAFgUivm%Gt z9@G*$zett$Q-3@BLfol{6T4V{tzXQ;vLy zx7^FH^sTj3+C1vRnSCm=Q-%d@xz`mtc0 z|I8&g&})u%<~+5+xtn6yWfTV^yWUSZ(sO_3{KeUCU;~pGTz)rc%>NLNN#dqd&9lfi z9T_~#JP8;JtZ5lz=777o3O_mj7!z|93M zaXpsxtfw%~8~Ms1ho6iAO2NvqDeKc*UEKjZt!CGi@`u~*07Tf0sMX%XKYQ_qCSv}_ zkjIQ{d<|oW!{pKvuSWnP)Za6)`b670=Z`qA@DDCqnuEyA85g($KT^(E&pNp82|!db z&$B<^Z$0x;ETLE3ibcOVc3vwwwZGvg+AL$s&TeUYv8FRHba?M0|IXZuCP7)mnLP=$ z$Y3@!;wKRY;H}cWgc%&b*;rkVY>8$n=jpyqIMY7c0g-YO%ibC7*lBT0|oN&my-ofOsi^k?rdaW)Gxq_Hiau1NLe`~ zeIyU)*z3KqY}`M2QKzKr&;Pwc2F)UV>LoEO(pvQUINMI!j-0QYJa^OE0)_v{Sn7=ScA@b-q_$Qyw>C z%t~fy3v8+yoewrqj#loR+S2%HwVxiHb|C2}c}xhFlS}if*nU7sw~iP_5 bnrBcr z5k8o(|DCAl-^9h%CmwqlJ!}Ue29uliD<&#jW%6QQAk!*((-4POvH24`e8~#9A9Z=J zJ{&xJ@x&~ncz)Hzc(KyaAK`aoGo6J4AFp$bdSiaXR|Wf;-mkq@-{;cT@LzqO3)Sa5 z_35cT-PNb7`sArkuKMJtPqzAGsZXZ*c+@9DK5qWa-)J-$zPV?ReBcBuY5p4@Rc0R( z8PVa*Avk;VEr3)#!ihCNPYzdRp%toiWS8kpy&CEpvs0clRT^X3Kx zHeusOxn1d#=7zQ!hcLL_={>OofC#jS9~`fm?dX*OM@19WQeA?|kK&(+@~82vEb@UY zbLl1X!A{;4QHzHzR&XGWjL2VT88#9vLn7^C1#hc~$M#jRXQOX8QQ<{uh;*Hj z){y4llGy}1&>^@a!hpB@F#a0PQt14s!LaVdw_fB$rq+v8$&fjFF8*S@ILnea?6c{Y z4eP~#+TWVh>zPE56FV2N*1LYxCNaSAsYmBS?0ClF3?@uQfa)){Iqa$W2yPT!lrn_($(j&8)^EBLaQ3mXdQ88J~flB@T}x42yef~QBb8g8L-UoteL z0aE4~R7iU-O1eZUoOv982D`@wa}iP7<4Z%3A3W0G9r$r~dHd}xX!Q1NG#1^0)D#9> zkBhGOuO9B)n6(GIbN28>AnuPx-g@85D)9w=aL%>g6xs~j+;9g6Ui1&DvH!l>`VhfF zb$CmNgsu+2c9=rBu`7{o(ExkfcX}w#;l|j3x1!8 zbMf={uX1~Rdw9jWv-|Up4l2@#UYIZ+@yPJAq^CeP)t}%yGf*CmB#$F;zEzH}%0T)g zmaK`PC3+-{XYVA$o9yqFA4Ogun?5TL+i$#SF&FM>aZeYs_k0S8m9mY(;~c#N3EnB4 zk=M zDgG5@|GfO5?imsF+WUo&EVIl?vSZAxv&?sGt+N zXl$yDc6M+2=y3FuBzeJnr&Mwp`|yN05Nr7{ee{bMRZG!*9E0<>DcB@Z+5st*(kfoq zJW|_B6bjxc)DkEb4hv;e`8%^h=vIkrAe+cOWW)<7#$H?tQ9XH=Duu~+8g;ctI@kVq zsvF-lV-crl{{98-84gL5FCq)XMCYuPwf{5wRu0!8OKPYT)r9*~Qs`CVBN=!#Ofa{2 z-;q_lq`HXTrrqPAR$=MdR%Woy*jYzF{wdN9hFl_7-Py%KiBl;MR`! z=XViAa>7$FA*|qt!GH{Vnc!#%Y&Mtf{X3kg2k(`i8?e&|z6H-Qy!XF`Kc2*`b^fTa zg8z^#aO(4!1a?@#9TNE13PvRWH$SHiVf72G;Pn#NrrS@VFR(9r5TSz~99xD;ozS%d zp!QY8!Xn^hVMjs|S6%xLlH@HX%Ah%>?-{P%zHJRB0WEQPCU*5+?(I{SSPn!%#Pxw(`<7B!=B&i~4B;PxO*RTx^JTj3Z`=Uhfr{0L^9JjS4U(m?xAP z?SFhsA^~-T?h>JRmvgN@5nk*M0;e(HM)@EJxYzKGFJ=>s# zt}D!Fr&af6_%AR#(VO@1MOP(HkPXA*N1c}fl_~8f?q9iHlpsq`oL4~8&hs81yb=~+ zMVaq#hHUz(wxLzq>WV~RSM@7TeR`@-clEhYea=&#-s*EHKhVHA`>ELZl+4$WRG>`qSkrkjYR#I6zxGY| zvz%i@en^{QYdQ}=ty#2(vH4^n6T0I|zoJxcB<@#?b+zBOGMda~GkE;DToCeYNYpF4dY1r&0$X`Z% zAG}SD)QK|_nvc)Fc>DAIhxP~Q_Gz|*rdPA+d;uihKGULIlG~4VO#Cec9FV5OL2~dN zhiBLS0M8OkW#WV8LVzcubqnw??f(`$UD3dQ8lUbO9-1jRXJT|XBTj!j3~vG7e^BiOdb2H>jG?XmEw#n8#J2MH z>xnogdMYg{OUt)T`c>c+aVO^YxU^0&%n#j55n>xqnhs0??Jj5Z7u z+12Ej;P1v3@IP+;v!C`pzvbbFg9n?j{~zuy*yJBmQ0qS%0AxW2ZI!xMj?1~a?9Afa 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¥L}QXt1t58>LgmOHw4xjqM9&Tz+NPrD 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 ICEn(L0dj8F1poj5 diff --git a/bin/avrdude-darwin-x86/libavrdude.la b/bin/avrdude-darwin-x86/libavrdude.la deleted file mode 100755 index f35dd12..0000000 --- a/bin/avrdude-darwin-x86/libavrdude.la +++ /dev/null @@ -1,41 +0,0 @@ -# libavrdude.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libavrdude.1.dylib' - -# Names of this library. -library_names='libavrdude.1.dylib libavrdude.dylib' - -# The name of the static archive. -old_library='libavrdude.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' ' - -# Libraries that this one depends upon. -dependency_libs=' -L/Users/jenkins/jenkins/workspace/avrdude/label/mac-mini/objdir/lib -lreadline -lncurses -ltermcap' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libavrdude. -current=1 -age=0 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/jenkins/jenkins/workspace/avrdude/label/mac-mini/objdir/lib' diff --git a/bin/avrdude-darwin-x86/libelf.a b/bin/avrdude-darwin-x86/libelf.a deleted file mode 100644 index 6317d0aa49aa798b332ee0c4a766503a6621393e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117448 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 G=l=(7xB)Ey diff --git a/bin/avrdude-darwin-x86/libusb-1.0.a b/bin/avrdude-darwin-x86/libusb-1.0.a deleted file mode 100644 index 8576a9b813ed26dcbb3ba742ac3abea0bff74919..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123392 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 diff --git a/bin/avrdude-darwin-x86/libusb-1.0.la b/bin/avrdude-darwin-x86/libusb-1.0.la deleted file mode 100755 index a1e3e27..0000000 --- a/bin/avrdude-darwin-x86/libusb-1.0.la +++ /dev/null @@ -1,41 +0,0 @@ -# libusb-1.0.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.2 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libusb-1.0.a' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags=' ' - -# Libraries that this one depends upon. -dependency_libs=' -lobjc' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libusb-1.0. -current=1 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/jenkins/jenkins/workspace/avrdude/label/mac-mini/objdir/lib' diff --git a/bin/avrdude-darwin-x86/libusb-config b/bin/avrdude-darwin-x86/libusb-config deleted file mode 100755 index 64c9acb..0000000 --- a/bin/avrdude-darwin-x86/libusb-config +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh - -prefix=/Users/jenkins/jenkins/workspace/avrdude/label/mac-mini/objdir -exec_prefix=${prefix} -includedir=${prefix}/include -libdir=${exec_prefix}/lib -exec_prefix_set=no - -usage() -{ - cat <&2 -fi - -while test $# -gt 0; do - case "$1" in - -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - case $1 in - --prefix=*) - prefix=$optarg - if test $exec_prefix_set = no ; then - exec_prefix=$optarg - fi - ;; - --prefix) - echo_prefix=yes - ;; - --exec-prefix=*) - exec_prefix=$optarg - exec_prefix_set=yes - ;; - --exec-prefix) - echo_exec_prefix=yes - ;; - --version) - echo 0.1.12 - exit 0 - ;; - --cflags) - if test "$includedir" != /usr/include ; then - includes="-I$includedir" - fi - echo_cflags=yes - ;; - --libs) - echo_libs=yes - ;; - *) - usage 1 1>&2 - ;; - esac - shift -done - -if test "$echo_prefix" = "yes"; then - echo $prefix -fi -if test "$echo_exec_prefix" = "yes"; then - echo $exec_prefix -fi -if test "$echo_cflags" = "yes"; then - echo $includes -fi -if test "$echo_libs" = "yes"; then - echo -L$libdir -lusb -fi diff --git a/bin/avrdude-darwin-x86/libusb.a b/bin/avrdude-darwin-x86/libusb.a deleted file mode 100644 index 93bcc0719c41daeeb494ea16c566ad5c4b487406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14376 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%0DLZZTQrE6#0XIL@yKh ze39=h^5=SM^jg3?@Oc2K+`|Gt2yhDW%~+$7zP}albpd?>UdJa4(f9RAZO1l&-vUVO znI`gI_0;&=0Oz9I$ACm12zVdmF-bfKcmQx7;J*V-2K4lhcJ>qgLH)T5`4NWvV&t!h zctP~J$n!H)@E6KYMg9u|{jMHKe@m}UXNOLY;N<3W>pFJoa zZ=ent{zmcqJ(T5m%tt=LgQppDpGn|%W4>^RvY|Vm6Uq@!Bi3CT1Wz+~T1D9%p!LSf z<$!)p;A>&9Ap+k9V?HeKA*{m|3Yj*@{Gq6e4x7qCel2y9;0KWI5bdHx?R$d15$WSX z&Ti@)!LtMHsuN{%V2AaBrxI=av5+qzO=p}*=Qgxuv~DZpUllrs0Qca7@q#83ubog#`Z_hV&8x&yNjqB-bkUs*=jJlB*=JM#2XhKSrPS375c^`P}-a8vnL4 zTvJF~ZAiVwAOzle3nO_eqZlXZ>9&GkP08?W1%3}iOF`MxO9+W#29=9TOY!O6#XSt; zm#Vm6@^#lZ3?HAml2n^^yCLOLhiC#fQ`cmJsz%Y8jS|-=QUuc%d*ZHy%jMEO&2?=$ zySI`sO!C`5;4Aj}%iOqpqW6lp0CNk0?^oP{CB5MuE^lzva+2bLN~IOS0PcbCB$N_Y zLU;>PFRpZ^W8!X2;y#H`?C)G2NxM@b3M4PDXesDZiAyqpGFQpUC%JlFV_uXZHMJWM z24lO5{Ushx!ba&AR#NY;7_PEFv6S0H9#?qdJ*8r79zB(~{*$`7le|eKF8l}yCFRM>P|2jhEaFa4xyz63 zo064d1I5efiV-<@LJi(|`UZ|m^J1}`qiY)U`rKs+7E!qoMgFaq;l2(tr`{<_8y$(- zOFF;wm39*>QDql5n>s}&M^4)PGc8+I84Q#leioOPSCmMpCK_wclM(|qyKw%zC&uUG NOh{)MpCk3b^S?r`W-0&x diff --git a/bin/avrdude-darwin-x86/libusb.la b/bin/avrdude-darwin-x86/libusb.la deleted file mode 100755 index eac579f..0000000 --- a/bin/avrdude-darwin-x86/libusb.la +++ /dev/null @@ -1,41 +0,0 @@ -# libusb.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.2 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libusb.a' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags=' ' - -# Libraries that this one depends upon. -dependency_libs=' -L/Users/jenkins/jenkins/workspace/avrdude/label/mac-mini/objdir/lib /Users/jenkins/jenkins/workspace/avrdude/label/mac-mini/objdir/lib/libusb-1.0.la -lobjc' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libusb. -current=8 -age=4 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/jenkins/jenkins/workspace/avrdude/label/mac-mini/objdir/lib' diff --git a/bin/avrdude-darwin-x86/package.json b/bin/avrdude-darwin-x86/package.json deleted file mode 100755 index 15a01ac..0000000 --- a/bin/avrdude-darwin-x86/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "description": "AVRDUDE", - "name": "tool-avrdude", - "system": "darwin_x86_64", - "url": "http://www.nongnu.org/avrdude/", - "version": "1.60300.2" -} \ No newline at end of file diff --git a/bin/avrdude-darwin-x86_64/avrdude b/bin/avrdude-darwin-x86_64/avrdude index 2e8972de388825ba7568c3b8224d260f43262fab..fa620a5d0d8491a5755cf1a28f97e0c99a2407d9 100755 GIT binary patch literal 2262416 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%0DoyR<3w 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ЭB2arBww!&&%H6I> z_AkiYRk=6C-j%@)PT%Bsb1BQQuWpk45!y@Q{m8SdNnj#;QWU<4@GN1ftfPH21ds9c z#3aNQiD34^JIGPlrZ%|6p{akuQT#1Pm@udl3?U3kG$eb_8fzalh3raovnHV(vB#i5 z(2ZTMZI$E{48i1)@SsEe^DpHNkn?L~a`T^Xzzk=}5wxC%59cI6mVW^z!;^tNl($i1 z6|UAD!f)~6#O~BetO81r;#wAf$$(gPfMAlt7x9R(vrn9Y0~At+WBj0w5!;*5yZi~Db`QMCkv@l3J@ z+rYAo=<5jjLbykufmR;i67B>Y-Pu7;2n=Tv$C+tN?8W_*6El<($0)UJ zg<9o=>BUa2iG3ibr72BO`v3&kl-p-AL=r>E2!0CX@;r*|QFiss2+*AWIgD$2s~LV} zY3yY5kD9&58NzO6k44fSy-V1*o?T>j&IY%0?tL628LuYTRF~ZYDb9mj*eJGjS4lHf zjC1NFRA#VX_H_W}Q0_(zmATK0zYVlpoQi;EIG7bdS;eI&qY~75?$COoLzU{9;X-vg zFV=Bojr+(=G7Z4b*R5W#V*h-)-_8-JE$sF z&%^_B<2Z*Kf=Zy0aWuIWNl-RG1&e=Vp{ILvq_$*;Rz43)oXk)~W~dSiom#GUu(U?MU4;r`@7b^` z`jQLXqxUK7sS10)7j}jV+lH{?Y}k;2eL!J^>T5tDYLscTf595ZX+UR#hJ5kOz9&Jgm)|YX!{FI`?U@Cd#kR(55v1QtP|(84)%|gqyJ%Fk-&38sm~5p z9Dre5!5E;^7eN|%|9mC{!#AF*wNNqy1`Btm=|^U&Uhir`4?4;-P~*_sM? zrWeyC1{1Q#8*%DMgus^+JDn2%IyuEZHV40rj2$S~67{rejA)I~=}PTSve}rL>8;~e z{4iYlDh%Y4iL5ca$n)Uf?PBnjD&D6RZw$*DhYK&ec*hZMSDU8aa5*oKaT&q4bC!nUsb%butSKkzXwYe zr@>#K62r(RiPvdxih+GyVee4bC0^KBF6{M$l?FRpQ= zx;qUzr0X?u(+pTe1|L*h(YKYDuZBrO&hSD%`Kpuk^1~1{3B&S{>#{di>BacBoIVYh ze9nH66Q6iAksD7g`{%@`Gb&zkbf@!lr|G$h!WFdDy80UI9 zt2Zkg7`t1tLd!yd<<`m=XH4-1!=|aQzD2YEoUjs`Jn>zi(&@S6GP12(^fImXm!ZnwT9%r0sz+Svz0}$

    2QvQ~FC&BpQ`xuw+3&y3}!;_Dqaml?)>+2bl z#vg9Q&%hUzY-$fr<7Ya1E*bW2bO*{5XsSC;i{S7|JdooD$!pI~ zWBLGPI{|U8M8Sw8m z@(0L^f2&nKEa2bGDkq|~Sk7Nf zgHzOorNLzKhoiyK$hqiRMSsTv$I#LHR$(AHKN?tW%*+JVKx4*?6=%bk-#Qzn*j9}d z=B_^SfeF7jr~V9S#H-<=M4pz(8p!J9cebX9Dt84DpBbfj_a`v1ek z!2R!sGh@r)ta+Sp=A3-r_{Q!EXW86GfhYV9Bm&&G^52c&$4pxR&Kko}ybssr(b{_H zZP|Kf-(|<0-IpJ5I9o4WE?Y0%E?d7IJj1sB9*g%MYwKmtW$TBLI$Q7TzWe~$df9W? zdS~C&2WR)?2gufcNcdS>|JUT5t-n^~*4F;YID1L9^+qnRm?V;OD<&V zjSNu7+4q3%fvuN+xEmW^2Y$}hj}h+H){j!Twe=%ZZf$*)%0sq3$^Spr*8h@w%)>N$ zng8NJlx9QGTR#TIKzgg6t#|q>qzka|Mi;Pn(@z)l+Isom=z_!9dD-|c)3(zO51YR9 z=?DCbSLwB08{dKq)9#$sz{Z=i#o7Kg-r0BA_Pf=Nwe5G3ceec#Dz~=%HkF5LyR+-E z={M<_wdpI!%cfUao38beIo`hPN`-UEiDEaEuDa_a3DxDIU6LCix zXLJG|N8|q6tnGGAUu=9}*@+bPQUAw~K00l&Sw9$S^R=X>Vqfb>xAJTp=@dJceuK>) zL%MrnbMaPax{Fl)^eXc51?5j`zS7SBk-$me13a2pO#Ibc^1*t+D4QQix{YVTsmA6< zkZ!eQ)iytz^buPoze9QXAzN&j{1fHnuWYtu@;#K7FS5y&$wyIM_D6mTYu^3l{9(FI z8-T8&sc37~Lg?cMMc1j%n>p84nTK>vpG!RX^JYHy=rruFonuWwA5VrJub@9Pr=CDw zxo2rl|MpWeO7)8dG%HK&E#Dl^?wup zcMa0dqmiF;BJv}-k^D%Gocu^`l$RVyek3E3A15>7v6CgqmgMIpuTOq{NF89 zk&H-woXiN0lO@TPlOM^A@{%JbKav~eB}YzvBsa=Sj-32RZj_fCIr)*?C@(p3@*|mX zw3RFkCO_<(ylPxV<)_HLv6CMsJ5FvSGwYy%lbJinJDItid{}0jyf|5La^hsf$wyc= zBo{vn%SG2~i{tAU!`d%*S^c@i@y+>d5XW~Osn-?UH>Z8oD(;pdwoPYO8|HTrOUOJh z&Y0%RxcNp~oK*LG^xta>_MO7}t-;=0U%B@EwC~COEoWLc?oph=3AFA0cmL=A4j#lt zln?$_A0FQZkMCEu{3GBg@UH&A><0(>}#dxN%T1ojZ$||TM*zVm*`)-2rqroz~EFO6`+U`ZR z-HU9y7Y(6Zy{mThuG-bR(RLM+SIZhgGkeI2i_xC^bBym;p1Pg+VyE{Ey7-61RF~r6 za^+3wXIQ&i>u*jygP!5e&H_L7@7E)9UKe|v_QapK zj{|b-W!>HB`T62iOS`*syz}?Dm-o)#z3YM7L@HUn0X!1v zoqi+nAybG+@w}aWlK+Yq8Ijp(Vy%Ype=`5a@P7t%D*3Ow$!2>S{jro)@qax3n@mj0 zPJcN6>-it=*y&fKcKX%)uW8%qk8IuPk80WJkIwD%Q`w!Ib0X!PsuXvDanGB+L&sgo z#WRU7OLWzi6oYduF(HYL?{>%9cKGqu9gOK6ezIkUUydD zU}*l~0aN!w==`hT>kJ8Nz-tm-ZTao+Cy`oHP@Gu8Ti=~bac&#F=T4oEhaWTee7BpmYJV8`RDe$se9*T&?k>@b zX#d4DFVjVoiY<65g*O&L%}nO$|J}#>TuT-enqoi}uYYDP|6uJD$co_`rYhv6?Y^)kKn)KsboSt6i*W!$VV#R@#r@A*$Q7<;BO9oX2s8){_4Ye@#vF6AvcBOnJ}sHlcQe-ddl+}zv%}gQuvm-jAe?C#e1UNpJ8yM|OY zLA08*jd8|U)RBl%)_(XSiE91y~R}`JQQEgO4xOQ8Cu!SubmDf-DQ@(Kw{G{VTekbd_%FVX$ZhvW7PkA9{8v2KsIKk)=(Or? zXOC;6p?@ORR!C)TGV<~sjf<9XrF-aik}(GUrjo3JpMW9!usy+kxJ{jyGN0J2;DN8 zR5Xoq|9T8RRygULoM;`#&(=9P$%|rPo6I;HS7z)sRHSb%)Mvmgbx(IyA-E@ebJw%Q z1rK(2Z}FZjPJre$+-<&KU3a%fy(#VR;0Ep&?h3}6;wp8|y!6`{HLO3Azp4tpDNUl& z7?&yXA7X4uM-m@S=m~P#N&lfitb=~1x)|f&01cARU>JQ7O)6VSp}`3LizcFhXd#-2 z7V5KTAsUDlqKRlB8Y%8l^l!{a))wiG;p*p!Thurg9VR0?`UaxLIp>gOiJuzhr$Cd* zv>_a0>Gr}`GV6*lzUy1%1+>|edDh5!l9+kXr7^wMe{*Pz&#>bOUDhKx6KxY6+v)3e zbVDF_m7UxD5p98-N$#p!xBJ6e0y#ALHn-g$RglaDayPOInM)&k{BH@3-RYsRJHw9M z@!;+98e0j;Kl)dxe2~+L6^wiR?|B<5IE;VkCiw=@_Z0Vb;%j(M?dhKB*V10$DBhDV zun;{Y9pz=26XtYJAhCu8_|?IEovnBKH7$4hTe@B-ZqC0@+|>3$u`~BV5rR~I?P}(3 zpWwXLmzmpr|FOM)lRLC`S=*t#AI%@ydt=w3y)!@k*xs}M`mw#|eEc!&{$*v(tRc5o zmWi9^^~)tE)ydAA3!S;Ai&eQ>OPkuBW7uOTcK=|@(?x6~I^j6>+`MW4 z^whAY#U4m?+Syw+sc-K|sQQRe+ z&aT>5)p2WyHBP|2owF)@gMfI~x~_KaVp+)fM%wf0%E*7O?;O_g((mF&_`3nlF8vzW za=enxUutQq7)bd`ihcA7vek>qqqyg4RJN^9gCC!4+2B`kU+kvN7xB5*`kh@b3Xf{h z^`9RL=tv(7UH`80&|dnqSM{XVFE(_&!kpt(+~Z8%QyZOKPZUQLZYpf*d;)*&cH$qn zW19XYyRebmU0T!C?oU)-J5DgPW#7JM1T+oe|1K{QYYA;nD4zs;;VPVC9ji;id2`E) zMXzlGHgSW$<;#!lt!gC&=L(B+(#>rSue zzGKIu=s4AQn;ClU=1xa5zE67%@2R~TUc-CRC;#Ut-h18Ompr}h@4xQvzwYn9?(e_u z@4xQv2kQs&)t!(3y1)OrzyG?w|GK}gdHetC{=UvCnX_S>L1JA-XO)68a=HFz)F`iB z>M=iNeS=tJ&XVbSLF_TBK4*&bU*Gj2&y^86*LV1DGaT-0lj!;TmxFV5y4zN3@xghe zV1LP+%VKSB8Rd#q{^tT`5ILs>56pLBF5q4P)>A4pKiB!@db>Y2oO)CA{U6FSr)52g z^#kUR>2}sApWr?{zFEioTy5!$n3qE5XY-1GHD|dL`>C^B*JSwilIG~7tRt|VVD9iY zXS!0Hn~w3`w%Q%Vx)G26ht78CTvsf$ysUFw+z-n+ua(e@7zEl`;;mzSHec?X)KzTe zp8xRKw_5Pjy3jX&qO-aAvf5RfoaOA%c{J^1EKPGiK6H+C${h=FQ&uaz%zZY~$ZiKxCC$2#w-{Y}9U5A;muY$AShyKkvSGk_XgZ{`taI@bhcKy zjWs26o~NTOh-df)^2^>*N$dWS{Y0AQtlgi39#srbHT=4WyuKfl$}-kSg^T;%dF!d8 z%^f9bPv=lw`KrmlPX~A~{sKLbLmygu;ekurkGY2;EjzPNy1y!!dV%}`v*wCUF4wi> z%lAy4WcFKX&{LvQocBIt-&1||jCIapYaHBL!SDS)KFIe@?(h{`C%Sko>Vx+~!Hc!h zH*oOy#+mLhNFq0iqvL)=bnhpT>&uG20hXR0xB$HkETi8dcrR4@8R5Msz`IL$U)hUy z`-Ho?+cl0;Z6)m$nSCSh=9?_$y(IN(!24IUm9Ti9M_b~l&TrQg)|Ry2qdhy1bzJSe zH8*nB82iVbcZFA}AVUSTD=aJ|0m=FVknuUz!w`x{SP z$~zU%Lv=f+2YM$tRdV$Jws|k5i8Vj|b+BD39kJCY=Woy;E)9tWSFF zrGFX~eEWtmwN>Yb>@$vMU<*>j9v}`=~oC*3tcrVd@8G|2x=Y*ZUb_OSGTKodN38 zJj!BkTv^lLwwZqq%d8`3> zd?WG*y;9tFC74?CuR!;-(58F@4_fH1)vKr<2N&U>_8AxKx#EMcccQYY)|)E4)|GsB zsAF7ZI*(hRz3CO>ZvA)Naq)J}v*n9gvse4t8?4ee?-D-5Gh`WuDbB+Smf@ZJoaN&f z3&7!9M#w2+hZLBp_I=6h3i8ZDyYStRS$$h*81SpIH~G>>x|>rpsP|&!I<=qA>CTDj z*sL`r>@fa?_D$E6QXMP(@yMK)UE?S7d}|my0vvR2=iAYH@(nlo_d?SzAR}Hb@J}um z%e76u^A~vf%gb#bj;PVQy zCBKimAN1|;o&@+x29o$hz=i(MhI<&|S!iSAR5V#JZYnrEK>f;h-P4_9&&z9R^Vyqu z%E`dTMSJ)k#p&<(K9j3cnaz*+8|tBldOF{O9%#vyD``8Mx|x03e7Q?whjW4I=hgHN z9kss(-lEUfPXy-)(8A-p=vzgrmj6?Fg!CZeO8W|K+%7faL*p}7&U$MruHeq9C5({= z^qnZ?BROo%Ph;Lz`EW~&jzZ=s`wjJ+Zko^krn3S)wV1rDbn6d3K&VtKjqSHul+Dxnl(RlTJ=@*A_lxbuzcbuYk@U=Derw zG{RmM*{9=s;<57m;ydG4&tna@lpe6{=>5jra`w=PLE`R<>v&iD>C&fDJob{wS9!OT zmW#LCb?bH9;wM{Ik5ikK9q_j879SsyZ^08Y)B%jF#`@y&S>V&u3LN;BZByUgUXE>L zydsB+)r-x#r8Fh|BVS`{O6EEGvdGNI-W2nC-2aQg(ap(Xv)W417fyG2xs~H)r#4np zXuR^xu$tWR3O8;wSMvBx$oz980|Ao_U`jzdB&3LC3}1`kp=g<57KJW8>zt8);&pEdv%Va|=GCV)I_!MooLGwh0{sULlOFUWF z#7QAj6ssaR$6Tb?5%1-k^rh69D=3C5Jp%q<+#CmQw4~O$qms|N^Ahv&t;t?DI~E#} z?@aX%eAUdIv{S%46l1(ZbES>uJ@@i*-Y(~5ja){XJ)Cb<6Me;v!(&TTH|35oe8*js z3C`Y%t#y0)*1F4s!F)4v(Q$4gj)atc(G3pF$t#vE=*-z0Noi~@b{9-Qro>-#tAS%Q zI4Z8_7zBBZ*$OxsL=*=Fi3^qU{KDh$NR%&)mFXeK^ZF zAIkBLJfYk|cUd?@97wM47tt2j=LhEPT|<37&exeXF4B7MZjA%(?=)ouE$yH&W2AE z$J9!@0b*Hn_L|~ZzC=0ki{y~_>6G{*#FR1DX76VkaOy5h*`UG)8;tXDZW*cfMu+J> z%ou0rQLp+O*-rl1W-PavI%kgzMdyx8@Lg?6&Z!-AD|hu!hIwiSPt~P!?O0dl+^V&% zk$_mZDK;XJEAG*>!^Y)bHbs`L`E3DwYbn(fmleM;XMK8?Z$n_qf!|9#RaO*E?*DU0&uw3C^cps&{HlCtU8#HPGo>9mn<;C_H!FU~soo!{uTW#$RQf?IY z6Z^Kd$~HU8+;7r$?LfZNlGpluuGAG<>+V6fM&jRf10TWu0XNyfEd#&7j_7rN_U6I; z_yx)u6RqH*F(lrI;`6vn@WvQdjNf_GD>&h=1Q(1FN%>A>&O<}BKht&L&h=|EtX4rK2EG8h;V*xx=aI9IJDy>?_Z_MRt4 zR~p`{mKaj zG14P#&RT3JWK5#Z{Q%|R=OQr6p{bQW{>?tX$UBS}D|FQM&bs{9+Ca-}8nrE7MToT<4Pl!LI6PVke3z@$~k-g;m zpls+=lKWS)cX4<6oi*|7T^N#^#Tz=q>}X&PI$uW~VQ;3rd!1yzEo5FGUfW3@tA9@h zK9$+MTYWs)%%@>JVqO_li#V0ZKd-o+DQK6HjaqLuigcZQ!Cm?{o^){h{pr(g2%{; zHfGrIET4}0^sDiMuQm;=brn0^oLFmOdi#s76r|TSJ^V^RcA?IamVQf~s4n@FaxD7(9`T^s^?7+y;T85+9DG%M`qy7^CUN_0=9ON1@Ixtse$d{H(<|DQjQYQ{ z>$mwW+1VC{AO16SG2VUnMYq5HAy*Q81bd)$4*LM05%AUkuV8ng@F~B86|gV;XWGLy zl1%j5oZXZ+@^=eu-p>CGdE&ZT=N5$5Ur+Pebq1gp^i%tawN#&#PB@J3wf~3q)AU&t z<5f5Z8MAwl$?~CVjYsnIbJQst75mY|xK{R!bg(bujC?jS4x1FbboQw1zAna|^jw#z z$6Igv81k>($UiTyXrT80Z1qY)cv!sx%{AXNcF#$s%xqV5L*JNs(KCDHLk#JRQs%{) zvsUAixQyTAtHEKUwt|!$p>kFHmTf7!&3`9ZtZ&EIXREW0y)uGnN&Y7zI3OGRY$Ild#i=O`f8^ayJ&|U$YumFVuNR zyXTL+Z7*_?e$GTpY!?UYGUW*Yf7*)ktFLYZl{%yP;!QKpsr{kF_; zCphm&gITuB0?O=rzSg;${2NGZ;L|qX(Kj*xZS5RMc5;AmB%YRSr8^hu$s3?AgYh+c zo#--m(r$e6zpHb4Vs#E@xEQ~d)mV+m6#lW=DWxIMV2HCI9ysocr}OSa>Nt@+qiSNgLZTJ> zqc1mVyYd77M~vToem+n;sq|rB``d{QV{1~O19{O#`@`ay{LrW;x72Qb?CHY&u?2-i zW^J|$zoxgYtU0Ip(zpL)kA8^09Q&Kzq95!1T5O$L6=QuvJ`m*Rt&GW+^)9Y=nlpEm zZsA=Czm{-Wf}JyvTL+F)O6nWVkqxU4`YGc;kFceM@E4sNOM?d~*GD;(0nYM5`~L#| z57d6KScR+&I*I&a{7y5Dhp0SbAjF(Lz__0TZaw~cet(AF_;Je#o(In!NBMC@eBb4E zTd(F&ZysOgw0@M5i#`DMguN1jNgBuOtbuB30I zS3)UlYUJO=2fqEM)?~)jQ}c`_Z0OtzUVkaRKz_vfShiU2aOW-Kqu$AqNB?JC`7s*6 zV~ouYzp?kpvonRK*5-B`(*DaDZ93sd{xj@ZT^Th@1(t-ks{7cGj}@5K5M{HbIdyX zTWgd0t@hWQ-ACWdEiOGigM65vbu*^?lMIc>^RVRP(&l%TMa!)$nhIa^K>vDZtt6bA zQs@!zmD~_M<1LP?)pGVa^kv-~ek|yIl_vZY@{`bwjp)*{epfR_P?%wzDemW$kC!@) zum9K2d;P`uXw+Cpqf4LAn4wMWKMC@bzyCVu@i|hn#ko1wXZk%3Uaj~)B~wHP`LO6q z_O^NBMQ2$XKM(IDGbKAkv-oj!&NKiudTPMRTgF$%;>f?u=!;VrGZiT%{~x**8)o*k}R3^?NO2=N&Lg?d$%x$@DWtiIA-12 zhgb4c^^UfA>dE7uAFcP%in0M)w$H*agZ5`wnANB1OCw8C^ego)WNfry7hI#hKwlX6 z;C0b6NS|n}$FaZVcW+8&@jqr=onIo^7yuu?@ARzaz5hF6VF<-fan0R8=$?jwUhba2 z_cVb2hSWvBY965d`5~SLAK*M@j8p38&JX!8HJ-;LcCt>9r6)713sQT7q|IZ-XY&FEAnN2RqM=pw$|z9 z8RHq}ShQT3}=yOM5vjy_doP9@CjQ69k)5MeF(?E2B!-+#d3uU=_}D#?^}dB|Bn`|;3oWsCh{fWJ^&5YRp1}seVOr; zd8*dg_)M)s{}%*PkUD?O`#3P0xi~yx*MRERp{!x9~ znA|yBFocr%;BUzFh($>S{nv^W>eddh9 zdzMW;DJr<{tAP0cFo&F#E_cinH5a*GZ6~p##BZvLdj5zn6I&VItMUI9HYT4b{7w0Q zP4sSq&m4IFS+T-cJ`dc#v$9Y1z)!7 zt_)A!O=247Y=%$5KE3Pc7mbBg(0vs&m+d2-i11!K@yXNXAhTr?Eq5D$qlV{iczSYb z#op;w2C7ccM)nDOQu-w{RbPt^dT-iGJh*T3b8nXQ`wYG#+wm)}bJwG5Mn~7Vqa9E7 z$zC}3Y|rk00v(b%78@1Z-}p5)HWeQDCHC*mT4y@HC8I>|w29Z8Ab%XB(0YsJP0Z1t zKYnERf1`OPpRxE&`g0|)_`WwszPAiKY4y;1ksAXVE6`>OFnV%=H702C8EEnx@XKZp zF2_Xi;iu;o1H(DP_BrGt{G~X*PQsA!{vqsTAP?u`kJBpupjLENqWy%!B z9YZ}Msts-rxGEnueaE^XIIHgj=K;0P)7bfQAKcdm4+;k-DH~;S=`QNe40@NtmQQEa zvA)Wj$*ymGhkPmWT}*#Um#J>?@JaMfAdWtaFLal}BWmk*e2Hfb z?`Ax~7;K9;HT9m2>N0FEE0ju`haXazp`f8#=1$1@>1SOEv)7|l1AM_)r2lPK%Yg385Rz{jCJC=s|%Z=s`q!o zNiub-;hS9HM*2hWTxi>dUrZd()%>okGuW3eX-tQC5?fw=9-r*bNVk*nq#eV(etGk8 ztV?uc14%M2Mn4479{-Dvt1_%NBzoPyXbc;hGIuY2B05Q8Z*NGljPJ5ZrSn9ykJfs6pLd%#j(Mdp6k8rW-S`0i>pr(X@W1jAS5hP{$BtXt zis$ZU?fJ*z&6|Kl=ZC~ZKjfX-)BAb$z4V3Iub)g7JMKhgfs^K=3xJ~;nXmC1KXIKK z{}B9@;=ZETlDz1A8S+}Rod&J95&!s6*{<l-Y^A+&RbN^DEF*I!|O9?=<$VShCRAlDh9~Bkv6V@;_s~ z9EvSqt$n4dJ^Vux&@Mf$2ydD@Yb3iR$Kw52?CMG)pfyBh2|$`gXJZ z_6@$(^z&^%V}&O)h%g?^nsNRnH`ISK<+A9ZEOGW549{zgUKQ=h7x6k{QQxus%y;24l01qHf7yQX%j#Pl->{F%y0dYrh4V7tY)?Q->VHJ< zpg%sO#+Z$TZ;GL_?cBGCb+j01vMq~FX_Q>4rfe|2dT+Cp-|F+9(U#udX!CxOy!xHv zcN2I?<|=-;Sv*CI!0-z^7;d-uk?oBwV{YYcxm!(M>D`tw^J#xhaP*k@blJobd|%1`bY73ekkH3c*aRHv9~&~8}=dZn|aFa+VV)Pvx{$`$7-Eb z{J)X^w~>q=8kyU`cy!|2orL@!lFS9(6MxbTWWXtY>qw2ojh70kNIc}okd>Bb;d_YzQhb|uWEAkhmom*aTmH&Fb)G&>0#Al>}m3;9l>=D z^;W{tZu9A0IzJDtwNe}Tq>me*{rcKE=k?PfreAUo*E(IlppSUIvE54>cpBT7ewhwU z6w9lA2mq7%0=NU$K##5@cst8RCWUtrT1Al!z$UnwXfGfeCt~gvTNEb`-;8f37+0ZA3pk9;u9)=%_pBX)W%)?sTL2bt54``>IYrY4 zz@k17{VQSl3%c!i>>g~%MUqXP9kA?>9l-c8`bA`Y#_K#Da8@*aCRbasx_ zJ@dvE`WkCpqIWR9a&NnpB`QPS>LIDQfreDJTHnu5UG$y&O|s)nJg)5ZOkO^-a*(HV z(o26ixc_021I~+w)j1&_XFE^Z1kSR#f%`2ue+&BO(jNWSyaUc#EY9GvNbttIUcyg&r9M@EiigBk^T2TjFojagA<#MEs{wGHXK_DEEprhEl&Yp#AiWm|t<>x@SRt{>{zT4tQV+cPV8TQo5AfJQe%gH+P% z=N{S`JkHL67VpH~LhV`pJjO_jjqEe7FS9 zGT>4l37#(6QQsW@F0hDBf@>+Yy zxXdtF8!dnobVH#GgIr_ z2MwOgIi0Q%LsHD=m~&Fc+i=mikbg25zjbey?H6NPfQP@vG?!_F`~2p8kN|$n3Ynj@~A=-Ge=4VV4Y> zfqa%cs^s$kboO=2V7NOsW0wT$oFsbj5Z}KG-1qzgxIh0-z&-W<0q*5LWqbhlD)jdM z2JUbYO_Fn9PC_4Ev1;p$!Y zsKaxI?lJS+9@2TXy|0pQkFh6j-D_f!u_xuL6n~kyKd_w5?``DS7VvmcHgY}dgW8i4 zVm-mJ`?1H^I@v#D^yP)jc~#G{2Ax^&`K?$JFW^fE&$?utJL?*6ObGr{ubyA58+g_o zii{Z&^X5`2E8kj#_p(t3z*l;W_DZ1`Yk$l;RUi9n@I$P?58<5^DZS8)jjj1u47gQ~ zXeZery8V!P+MRjD4h!!X;BDe}!u~$R!f)&uWZUGOZT6Xq!=MVvUl#gAGW9{5F_6XX3J zY?n6^}!#|u&Pk?I4N#&+@rpj{hnR`%h= zjPs8{3-lQNx%n>lca;Ul0q4Np$ibryt$$B@9Nag8AM#J@6glb<9-glB)?xdi>qg>F zXNxxbtjGf%HAY7Qlg-j$p9zq@5CwU@WxsWk5I^J7sPBM?DPb5neCnq|i z55rYFKZ$OUjs9tV_t5PC8qyJ#P5Gi9PKtYX7WX{nCnPVj#l@D_SDddKNpgPIm4cqnMtKbh$EJtMRuq7 zXvRDA!S~ZW3!IzC}6Mt741Kvc38C1 z`09IE&K%<}`_ zg9I@B*3_3Zac$r+VwiY(IG9hwq*DXX#ykviJwyJ&W&9aUc!IU-2>j z(|>b|t-Nc~yA1OZp4yui=+6b;gf=&gTD4bxBCR*oT7K)aKF(d#8R);MSVew(H>(Bb zr^uJ4ogMG1Dow{<*$6&rOFl$kWxb%+?dH4W9(P>3KVvL8^smmxW&Og8Gs#?)`4Igp z{!ZbG(i|4uv^jSFI=8kTok_d$6}~Du!N;3`C4@hF%Guds_cd8p-+D%Y3%=|SzU=F5 zz8U0`?@aMlqPuubZ5Vw?8?#jpzpoo6pYN1XHQ)Qu;Z9<{8yr}H&RAp0E#du|D&9Mu zKE1@&-$QvPBYdpC3%}e<>n9zL&J`^eL)T8?7Sxy8+tMQ&0i3(<^W;p|Bk(+R2+v@C z#onJibW^c|Jc@%8U20?acJl10$t(u0o88}`FGlmdaey*>b26T-Et=Q!e#cQ&CDpI9 zhZTD({8W$Tt-C3!-$N~pzsGv6Yzp;>IX9bp4lz5dKe*zjFIqh1-xS|nYJanyW#}e4 z-;J%|)8#n(9Y3Y9I!fBq-zg5l5&ehZ}+ATxlQXASWjSK53hlkX++HB`X&Ur&1c6VBv=?8$x$ zjN+jSR5otnP#b$5X3rh(x`zWhdkI4Wv)%47S!}YbTd?)uH#T$_3jc_%<3v~Z=tsPl z43nIYOkjEy(65R#9}ixh4)v%`Ev3(nVh+oeJQYCMOsT5_#aPRO+_xv zfQdJ4t#g`Bj5vGxYZ)c1i9S+iY=tz>@g&K!fgj=Dv;I-+%;DMhaGldl+V(?a z95%(SfjVasY3C1!Ipeq1x$2R58zw;8RIYIM!@vqWnpfv;S?A{HFT-2NvSEE5fByWm z8(A~zg*S7B#RDth+g>*TF4E0sF>adDl6e=FSjP;@pRYdC`qnbhFqtfVlK0}juTh5F4Zs7M3s=5FPleM-Pme^cJ@x?k?D0sHzFdq=*uH_dUu;5Ow~hWed~t8Ba~bo2D`g81?|K*O zIEzVllI|egPRfzik-ke>OIkzv4hex@zKyhsw32iyX$5IHX&H(0Ps+EDm=~3im*tyD zy(HCt6A5Fad?RTgX#r_IX&xy{noF8PLLQehq;HeHMfxUb7Kyc?@(rZxNi#{;k-ko1 zt=`1wewF97q-#iN(pN}VlhC8(>7*}_t|DDYnnt>U#JsJ1IcX~CGSa1_OGqiw7f9%z zGIFnsj4xkIx`>3_D|eGFBuybrCUub}ktUKRkdma&kl^?7>7-LhA0(Yjf_KXACpD6g zk>z7Zb)+z921pR71+!_se;X=J!rS^FyrLzQLHS z%rAf0u(-xPaW#?w=nSos#Hc4m9fC<^%amiEY5Cr!6t*_>d^Aa8?I==&R7=vh!%t`44drUEo9TLY=r80X$@ym)jyC9fnuYGKBQ85u_9Wt%;H7_<2 zxj_sb_rGNHZc+&uvfD{wv-NrBFI5Bku{&hDtTHiF4sm>1gNF|H+*aL;&vm(5$9L_Q zk^RgWa^Vm$9jeRB2XpA(c&>13kaL_kLqg{`Rgpgwd)B=n&Rr6eQ#>kb`isPW|MN?= zCHsDXt2IaQ9PqIJ*Mk=tQ~z_OerT+HQSfxGFgK9ND^5sfEQ_{s)3?#6Fqn=$W8=?xn)}2DL1xqejoKl4!0Nd-dDra}9k@)_Y zH(!=*col60;=5h;E|ku$!e;N^O&r0+r5RPu>RR@Ie6fmnk@RjihMm&FHnht!i-AUS`k!U+ew`yTH-j_1q`(!Sn*+YA;e8Hf_E@ z`(B&OQ@OJFqQYp-*$D7{aGUsd7KM`M=bO^VB>WVNq1{n@4Lbvm6K63m{~OULl`QIf zmwNb4Fwj1HIzPXJZ}rT1qp1a~6>(-pa)G&@rv^B5uEv~O=H^#IgQkAs+cK1amTl0D zI2!D?d`V|)=zNa`_(x}b+|n^B|A^YdZsa@_c7bKKde}~fZ@ya$>|6 zGOq|lZ)BV=U{1Y&_3{Pu@e9@UvEJ$cYc{$wDHxlR*L^+Hz$X}gX|L#efPHvs2dCB( z0b+57^eZ;yoMI?;&Y?bKjILIjszY@Jx!)ofr!H`Z;pnTEOkcgCd`@@a_voGg=gWks zCs0uj^O;3M5}(S;?nb^np>d9l(O5&B*cQ73)Wdn8@R`$C#s9)pdwG}xhTC#$-6Aq1 za! zAxgFKh4B9n{{Nw+y_3t8u)UtxaqK#`qp#Pk>Jx32MQn9C7IiUt51K8sb`@Z?G}DZTkpi*|HAj=$*j{S zJl}I1JT#UxhT`z3?p)HjY_(=A5lfspFR$}iy!Phhz44?oHNEk)$@J5d!dCT@#x`R( zR56A*e{a#yM2G388ekR8zbu+FhCT;RYpp93%M}KoYa|8FC2oY~lS`lFTPyHLK8shX z;gcJ3tS^aQIm@Ej@}K0#y}%G2vnbzAKEqSD%*jV9`eQac;P*$P?GNUtyF2f3{Rek29jgGzv1!!LVo8ScfW`}Xd-_AdPQ?UwMCI^QNGK`n^kYHvB6ClnXPCwx}F!dN!5k z1M%xnn}X%L)FD4xDE@@oM>*wRe1!IvkymGXIQ{rlXwS*bb^SJbC_5}I`Q+I)Nn3~7 z=&ZnR4s~!ok6GUl9U|ZGkF(rlVGv#GE8tKaK3z2y)6^3K7M)k6{Y|=Ya%gl<;2T_^Q7jTqL@fK0voIt~cZB3^NZc>z&{a1CtM*OT5_&eDnK! zA^y8+^s0~JEbF&ZOtSi2eIojP0@yN?OOaoF-a|g&s(w&^E3e<*YPTcJ9ek9*_gijN zos?0XiI~R|nqw>fhse`Go~A^v%h)bE$cGm#d{6TGO|7w2z;^&&m*4lIpAVnt7o#qn z2_*Yw19qC|B0dm2;sxg1Wy#_nQ||`qt?b*Jtyg&~`&Rn{7n0Y&PycCesn55A`_G|$ z_7;>=wr=_SL@S?0gX>O{SMSt6*YbZ{<>KBvK;;zEZpuO{@wSiatN)1%qzvZ^l|z(K zUWdGg`XlYp)-SW0{4w(8@x4`5(DGUQIzBD^yy}yuZ2coBBiNdF3eK8TuAqL+sh$cr zm)m;OrEd_7NmQ}lc*&kAFB4x(gyd6HA{fF^VTcU^RxP$!r z=+l_Z-{iwnk>Ag|lDw~wS9ra|Q+NrkGic8r6OY;V;t%1hF|2(0&ADmiR^}`6vuz}G zlj8ht$H%e(zg!<_4}P`-_poo9=N6s`d^3GKU*mTd&k(<3Jn!cB%m2=NmEWs)MtHt) zH;HdMc<#fOvxn5p|J}TEc)rea*S}Gh%JY1g=X9R!lyB#`UiI*d@Z9!2=FNOx$g`8@ zRG#apqm^e5&rarUioFmI$d=E*V}T^{E@6Gg*!9wfpM++yfo$<;XUjgvnaB8oN28qY zh`%j@pQ=Cpa-o0Bqh>#2&0WM>4vm<7P4X!Qpcy)x{Jlj7TArX7#DvaDbv8ec;M@p@ zvxk1+*>=p?!qS1&Q4>p3c#q8+Vm^b6D!jDa+XrTRZ_L4zSL@N5o2twoP5xX#XJv<( zbLzPr{InjY{#Sgb{F*srtJbX)>mgi)v%YH|o$###-!bTL?dN39wOV76SjnQ=5WEHl z^fvRI%|B1QV&VyJ5DxeovFpOJ#g$jKsPZ2xxX3R&G{5+F@Q^>##BR>!3<&boP)6%@ zvI8D6`8_;BDG!e@PsPqQucu$d2f_=#ZB^QfVH5n?tKcNDXYgNeY{IZ$H}ijN zxBxKt@%`AimVTTy6J6`xPP_iMHSk6tlPhRFSu`NIrng4RAmD*ZwM>TjMN`ql|6>-W9TWnPIhLs!c^*7NPQLUk zPtnlN$2!V>`9hmGRY>c2d+zYYfPDA9uOOJfcMl$-dz8841=~3%fb&!x`Y;ZU>)y3U z;ucryv+@-K>u&jZ0?c_eCyRUQV2$z>1fu@C39R+V#x=3LtAhib))wq3{fYBP1*_Im zH-jj?i*i*m`-%LN3{)_$=Zlbrwk77MnMU7rFw(kJ=`)jkRBO}^FbLr%n&|kFQ zXXXDD&|LdAi_k%9+{!1rqTA+E9EP8_$L5v34^u{Kt*sSxw+yN~Y4fw^v%CWtG3|EF zXyBRPndBMa`6lE0FOU0YFMIpe{5d~9l|yrW&h}^S?(Hr5{p0c}cyoTu_t{&tNd2z4 z{;Skw_C#cuZ__7#{SkUEzKWPWd>k5|X=3(~9~t4u^ct z3jMi&lkRn|9PSwTawD`?yu+jPZ+(}?!<#R8r63!xNwL;R_UL_KUhz$AlWO`!<0ldA z-FGxJ5WfZJw`stwy)gserS?o)DSNI=AGQE6sZGK3Dcdf-YTBJr_@r!Y=0w6Jlp#(W zSe^%#0OwL34UhcP*y1l@+e{LS%<;MkcdKmlMQnG*8*@+X$2(sz_9 zP@h%ynkwioR_ zA%5iPuTu`=yl!?LAJ+tjIXWn>=po@>{I7E)hjIqe-0%z{X`c>8_ZB>HxE)0BIfa($E$Zi~r#2#)08{9h!W==VNoC*SHXY+ET?PH`lnf#8=P zTJZU_5nZNGeiLPMmWSYOt!#(9D&ym<`aenj`^c~U>gQQw+tK(Fd~f=)r=lH|Yo{FR zw&grBNBBsd9c^hL*c78BxKxMoi+-n3W`%8Q8P5$BWtA^y+fq5d%n6iPNZy6yt+w^6 zy;<)7m+Cl{{3`nm%GBprE4zzz1yT&%I{v%JJ)Q^FVwc^?Is$1G|F2rdd!8Hk9p~A{ z)8Uy!2W?w}oyT)I&&8DQ=Gn^c7M}Z%nX;|4u22>KHDhLy_H!~1|FtXMrhFsV5%`Pf zuM~T{G~V%ZG2X)2sHY>uV;b*gnwVN>m1JKo`bM!&^4AX?@N|W6^YwuC_=W~NeZAY< zwc*(h^4C{YV!xN4SA!3(t-4 zL}CzblGByAjj*`YTipKo*pd5f`w?)fuYlFZ?eYrTrVqj`RFU7utulY=9dO$KE}7ey z8}Ll>+yx&G12+@%nwd}>&N)ffz-!WFRq$gFTgdDWVjO9IknzdJ@bRR3i#n4|>*PUn zu5_~O`QD?^x6x#=)9AekrHkP0D7K$?f%VeW!(;k?VyTPwx_{=^XS>6#b1IS2!D;BRf-VwVV2T3Xym&5Qr}x zp|%)TxKgK-UW4cTJzQ6dzNuv+Uxx1$izGQIn@Md+{u~VrRX=Bll|CSyhmONnxEq^~ zbs*x_V%g#``QGA&0puBFxwofyc9N%br)S@W?{j{G9++JeJ-KhF_-%AwRq~v9Rn9pp z1UF~AF#a`Ww@KF*hI1a0*&h$Af~Prl>qy`Ugq)=#+kjniv(=7M!7n)7|2ViGA4l1V z=1cg1dFDzwqana=J!7ljVfs3?l7vih;!o4oh{EyEqz2j`0}48$WT^U!-{c5y%)eaN z%o!wA&gTofhj!>K?iac*|8!xKeb1cg(EAwWFvG(`VlPAAo$6sF~J;Wbr|ISSNq})Ei z{6S!-JR453xfy#`@lY4geh2M0(e`wbWWU3hqMu7=+V+v#HD0~mo&x!+^sbxOkS@+x zs&}+scM5hc=LjXn6=he~$5>;F&Bf-OuvTl%^U!(D!c}u8@-{YrM?LR+IO@3@p@F1( z%S4C$@R!*$#k#v+?p5&=-*vAU>$_odzEzC*t$)^3YA$umb&1O=r-&1OV4K&cqG^Ku z(ph%x(RFUSRY-9C%t z^`nQQ;MY76F6Sv2+vo=tX6V*9ddzZn z;%V99c*USmX9Pb>O?)ovP4kMQi9@Tw_o8#j#}oUAPl55AD}2P3M~>9AVi!i>?N_;n zg}GK)u>|4~@ooTkr0*p|+ z8^qsmHpMD<^~Pc~Yg5cK*td6^Ta!GuSf8`Jn^?>`OgkOZ-saI!E$Lu9?g4LTM0MBR5z{5L$L%7r@eLTE<5wgefnRRYH=fy#5 z-~LSQRS^Hb1vkdJ#-jW{4t@`dTR1YX!kkT415TQQXfL7sDzee8{XOdyz*P@Sg3X8P zc;Eszd?72`F~|=2KGYWvZH14JS;s&l6VJ{1i2QhxjpO0r@fAGmpFcSo9+nP~yp5A5 zUXe%RAjbFaLF3yo*gaIh zhCV#Bf3fEpZ~ooQJVW?tKZ)ifeVipAK0F=#wbm7fW+~*Kbn)*jj^|O2k&9979nm?S zZ@O1G~>=~o;6Wj;r#J0Lu z+3$>(#^D#}{wdC4vF}czjnQM^7sg_UaX6a&IoN_><>|3`(7A{3odKOq{CiS9xXGHI zakt)E-)#equ9T&h-Ba-p`8vqA5xQucidLde8QMxO>C7FiVMLH|f8hKjtu>qiF3X=f z%89D4=r=#^Z^o^}xZmiFW%*$jp2Jz2vf=tB6cxjs8Mbm?A2?LyXd@*%0 z*&FyRnqV7-o4`@u>O{jtvWQ#>Ur$_!+D6`uxG%MBc)+>N*hw4H+lGrb@X?K|>Cc+J zgSSUuLyZhLGfP7<+eYeJ%)Zk-3_7>%Lfb!=0ACN|OT3`9wH{=u;E@EGrE`3A3- z<-dM}XD{$(NC$Qt<+QE9M!WSe&%U;d^IVr>>&>?^CZRpuR>r`KukJs%KVBhY#=v#nZ~1$Ey&i_tZX^X^g)+710$94;)S19U&4zYreC`0OWA$0T_sy2gCbGxyhImB zwwx^4!tZM2$%%aPWQ&(qvc*Yw^OTEho#erGI=mNsu|MvuKc2l%jk5;5+a;MaNESRp zz8>=VvOsl87VL!vzAVt5mMHZ~4giN)YcTo%J5|4_w|o+`jw?NJl(TUeJ`8B?%ZO=9 zq4zxIhGY6n{NM#&$Uuk5$k1`bK=KazsRmtEQ(=4F0G{080FO>$u4U~?^2qii|2x{p zvcY9@Nzcre?xv65n9cgr9M7izRP5bt`s*pP6WF&?riS^9<^e}KpV+szw#-Dzv{I&pGHoQ4IqnGOAS)J3G?2aF zP$ozI^|s8B<~1{HnKsJoSc3^-ijpqL#_L$}XT?5{DmXAsDE(LCq1O9m=3y}rm z;K%xCwirbxnKh8agZsW0amt#vN*2iGP+4DosLYv^sm#BH{QjIU4vzis=o_~%hvRAd z6!3COQuBk!rBHIk$gH&y@()8tWTeKN@Tp;*FCO)tO4flwubMH_37bSY-2Y zcO7=Lr$@e|daOMq`$}_hooTD{2bs^lr5@(m%-!c0+*FSfr#^HAW5T^n{@66O3*+u9 z{Ets^zxd&^N8q9Lwr?LsM;+*6Zt*SFvlts@&WNs&KT~wmI#PyuBET+v8H_L8+sC*k z9;p~iY-8VCws^~#qw?*-BktY75+d#{l$yIYPQM7}@#wH0Sv))A^Qut7jX`kLnAQBJ z?j+}J^Pf!?zT1GW23$HG_14`wfwdJlmBf3}-8++q&vHBoTF0Dv)9+irLA2dO8^Q%& zz(~n4>CBz*!u@6Dj;y=stR`$`_W5=c&$DncZ)j9KD(_Hd8orTj72=)tSM;Y_T}Jc)`POmSfCiJE>E)wBb>3mj7%#IJZRCxh>A&dEq{bv+TM( zvaPlq<-EQGzbE5WYmVLgpOB0oX>M!Qt{6MHuX^}P|GXq#gJ)w-)W9yAXe_WxzcxF| z+$Vp>|BS6Pu{0VRx-&?$X^yWMd7knAEgPx*bJ^75V$2DFqhfG8JL3xICA(pirO`v8 zS*C+C?3v%$cdQjPj*i!3(~Kwrr8#@(z5$QNXYoyWe`tSKbM6W@TBF9QKbMFl>$&@m zI&&HW*yZsMv8y501y&Gdtr*Ub+nNhiw~^q@u+B9SU)I?6*Hhm!r*LL@Y;375T5s-% zSo)DU`PPAYH*tEXbToJ19vl`at*#wcI^jghM(5<)q9OOYcU+oZ_Q;9oiAl(fkc&O| zgvRhJczArS1KByD0IcCQ>M=B-dKR{$`d;UPsqcN6I)ZhL|A0RvA4S(m zI+qTg0fY~C0E^_!_*lKMV}1X}cxcr@I?MJcY-;-W4EviHrtszP@+|D%4){s=^}pbr zm78bk`k>7#-{d~VMrW$S%)@lXP&#h+KmZ5xdE;+*zs*lPsF`2sEX^-7zQlLpuYl%B zv{SEql*2}O3y+=Ik}F-_+*vYy(%4+n|ElP=$Sl(Xw*^eB4f<;D2?(K8y?3+2~gY~M{%9KO~x zV(F;clt~odO#0*W!qV%sW6r-xz-Q@|BPXzitoS#L(Q0_FGnXhzhwSX*`~><@v^WzQ zXy2UV7`)LqI)(g74M8tWDZvwscT=Z)7s2>#duRBx?n@S-eU*o;1PV?z@z>NIoE3*8>H{b($D%XUR0jX zkOy0?9P0C83?9UGe4f+-ePYmN)i&hsN>Qs4pwvkR9*GAvMI7oA?>x^$Ti8?P<;I8_;bRbMR@<$>?Tk6nnIkxK&cW0B{5i!uSFx7~+Dboo_?(8=e0&M`eInO0Ht-FqZ`dZ&PbCXMn44jM#7c`0e0#^Yw<4 zTIFhuXz7U$=eM4gD~vtyQsVR3M|=8Z`M#4+&Tpfygq!4{*;kR8f6R;GvrMvh3hk&L zN5g-@_1Z8p6nhGOLoaIWXhdlY|I6mMho|DJRTpC>yltCDpLmRO6^Mz746NKcE4haF zK-Mj&qo4eyZFuBC%hxz5j0|kw>BTB%iTBlb$`I>YN$Vk}%qd<6t@Tc^R(c+1VUx}@ zw855md#)TfB*V#`n`NL-C7nmZIU2npCcEC49nuq;gZ%Yp=n!r*j$_a=pd( z-t3*@DWBtKX;<`a%JsT@bBBxW@V(ae5MYP;iZ80k1DJZnx#W%6GxI2HmFTOvMgnytukE zY#zxx#Ugc3UVL)_Jo5(jhx|LQTfd31K~k)P!lT0X$-Q1&wqQKb)^jf9CsBV*YOVV* z>ew>dqf=Tcw?;M*i&i61fO7DNbn!kKw8o%G+zCiR$xf&nX z>%)gqs9qgnf*bl^jAal~d z@Oj=1K0oy;d*=Kp_EM|6Jmdc`oF+ z5m}$)*&~@xT2I*yo@?-ucP8r&wLGkNzT@bdsn$l&JWO*ZodXiW-^$#@tT~x^59b2N2dlND ziNt;Opwl%ssEM6ZCEs9y_x?GAl|E7MEQtryrbAnTQLsKoU#hJ$!CUr~--aK5srjdH z@cCKg54?JC|4%5VI~}hl$#+!`t($pf7Okw1?-vPyV?&zKdk}YOuKQ>lXoq^Cc65t>1@+q0Gol= z=9itG1jaK+9l*5@zGy)%OMYn$)U$UO3&~~f@T{yFTU0wa%#i?=LpGHQhA<7C5>idM`fUq zWSa8LfR>fEn(Rfhx4Obsliye8*P8i+wbkVJ?Vzk=b3*+9oPIyZR=YxN#F3l$bGC!? zbHs%G2dQS`QBLgJ>=$5s`~KY-v+A5J_>@v#Ic$G={%D<_>x6~p(H2jwJF8ysG-qlJ zwl#_Sc$=+>{rNUq6Z`XBZOso?z%Re`UBG^T3rT#KH-4kedGnjKPVVZ%Fu!K|QfvRR z_XM}#{HEOX?Hxi+G3iXk@U*BdyqSA?&2Htxs2W z(rKJO7>W@)LA*xZ>gJ(3?;afrPX{%|){Exq2YcqE_{GR!$z1FOjY;uK7G4$)>)s*p zr1)iq?FZSw;!9t4NH^vV;Wyt!kCuHHnk#Gu$(*ss;kGF85RNxCWLw{1J^=^tC;_ZKKVlKXm5Sx&>5Tdj!VTl z^@s))I)?oh;m+h+`A)J&@!A?28YhGKZt5X?=efw>a+H42`IM`^e;Dp*GwPiFue0y) z3dRmLy4GrRR-M_KhYcy1&lSwJPn}fm&MNv))ofFqBlOle6ySJo-6#v8FSC!T!eGJbk^K+9AZ1d z?RqlDOyx>zMm&{YIDDPEmHSh(%=6UW-#d-Ffx%re^Mb9@^PvH3Oy-D3L(@v!br(dX zKG;Z~XkTh&-;D>(woBg1tM`y^H2Ktb&4cEa;?+Nu{INLST}R((jw72)^f_O&=t~xv z3xu!Zd_86&o*HZN%S$Fz!MjJLyuE?r<-=ue!#YoR zXY5JlG)tLB=7Pic?L_5ooLJEK;@$n=bEkNzn%_a^)_uY+=*-&}1P6alMbKIPj_)Pw z#P6y@bum86I-kdkE9p#Ns=<$>d9dUXF;SbLC%%GPDrBTt!(s@rrU@R{XW^szJUm3l zVX<6+co}>+$>J68`xf|W%Qc7nFtvOm6sx`K|Ab)T=cJe=e(7 zC#^;MzULkAL&KnVkHf^Z29knasE*Is`IxppeBL0{%L3tYxP`C0KPaQkz7 z@#nu{D>jo)Yh;3Lg6IML^?$RaO?4)BFZ-$3H!!)hlQ#9O348KM>O77-mAK5bZOj-1 zkJ<_Q?XZtlb$pCEoJ_9pQ|i%g{x1#TU1fcNOui(a?c#qs%Gq=+JdOS0^LpP`>YQEI z@cUByE<6XY561Hh@pRBl_;t&Q%{Q?e;?J0OFQj73+6`TL-4r~ceo%bApO3@wke-E^HsnL!* z#!{o!nM4cSBl#z67=JA3-9!9F{~tR4UNo-c8|i;9KJqXxN&gRykCguJuzd4QbK_jm z=NnJ|OOGoiTu=F^UR!@yFLr+!ea^hNBW3+5=*1xTX?`qvRHZ%LD1E*rnRRpNth+wN z+>F?e|Fu5Pc(KC%8RY*+pQjJOztHIOHBs6_pKrhOFx;!Ab8bCz^{Y#2k_M>9^H>ckK?b^x`pOmDu3%H4+i9J;~HyQh?eV-p+n&n z=_dK%WW$*?Oz5gP#aTgTKYoRBIGHbLZn2j0FdrbL!8wN=Bi-xkfdsN<_|+LBYqgjE zG{&lMl70}bk_X3um)d$x@PJPOcv?rTa7Vm<9<~cUY3CdhBT*AS#?>BNU~I%MSgwhW zK(~7P4HOIK?d@T0B9=3;mfNALVBc0jSH-mWF#N6HwcBOeJ&}6-F=6&P?co*BQNA(uL=0qzW13WG!XUBw>mB1-ESmc8OmZmbDZ+|&@@F_gHIukE^go{ovih}to*jn&&Z#I*H<~U z6HOLnpWU6dzDE1*E4-hrCeQt%%#A{ktXouh0NFzU_;ZZY;jabs ztLlr|`rfDdfSr9+_n5mr;kjQ?m*3t*zQehN>AVvk9xYtqL-B*`xmx?1@+M|usQoRU zM40b}R^$f{v)+I3Cti7cVP+ljLw1~^xQ&0q=w{-HHP;pF#y4fhy_59L-Vq*?!9)D( z=kMce#=A+a@bd)l8@xwgtDPSmi|uy{`R*aL zbc=lGvU4=2I2u|+>F)&<^a=A$B*5W9vDKGFpRDYyke`u)etucwjr zt!wt%(id896m6zK2eom6g;{=Y`9Z|jiXEB>-$|z`&jYqT-|j{BmPTTS{fNGl?WDNo z!F%HTnCAC^%j@_HrZJXx@a$M~l#@$yhA#g%Pp);6B*jeid=Z~q7k&^@jQxY+ucnx{ z2ISkMq4=_qI$K^mRgb=Ff)6Ec8-PLl;K#j<0XN^CeFI%T1KZ4u#}wl#*~fnOPZygK zs@uCet1si-Nu_y3J!e*E?OFFRisu21d70-k^41KzaR3a)-q5}&bB{W5n|QZ-!p>LC z-itF7`@!WtHMo{-$#Wu}Njawc-zv z{T9Xk)EID*S?-+3vTudGB7NIfkIuTWG_lONZLE=I-EPLI=I7!IaNWE?Itu>+G1Aay z;Yi6GojZVSwpw?PR)K4Zez`Q2XKv`-J1bq>MSQO0h1&eZZ@u|q6?KaiQQ=J7nbr)A zEEz)#XKI#02-tQ(cLfvfD;zP}$ln8MCzflhIrMqVHb&ACO;sej`ug?i|; zsq2*j_Cq+B5uLbe78(VhnNO#0SUP5!p8osg$I&b;R9!LjWf4MUlux|^bh!6!kE#x>vR}<(4+vyq+^^zRN4F7c=g~hD+vfha;DQH~4?1uDl<9+uO6cj$KK+B7 zY1|C2GPg2k7K?8+w;xJEf0glHl!ssktB&>5Ctft?Ga)l-c#j+_2YKR8EDz-gFPH0+ z%Uxto+2ObByjXNOF`sK)#mwoRgwf#0JgQ9GZwVP>>}=*=W*#e>dlBs*gUZdE=_U1B3Eb9S7YL-rPrHtR|W$JwV@c2oU2oOP|Z%3{Tkl z{{-I6z}yTz8ry>1lRuIv)CD|IaJiJZA~FBvslcBG4_}VyOy*zO`cG%RQnzz(p>g| zXr2PbBhh@-5onVfM4S6)PjnZ*I<(g_2>vg>1KnpIq3)@J>i$jzF6&v_Xtub(J0&N7 zi>ou?LYxmK`;Bvak=M-ipmP)+)t&9)*9htF7Ei_^;ePA`vwZc1Bfv4!!lAJ%-nza5 z$0pzy08jCjWFN6*#iTRvpH3W@Xg?A|pGR|rjb{#?(5NKnG>kqbHG37Zj6pIcZVk^EB@9xk?L4r z>yXVBhDY>Xdc)9d5@P}x&~XiYmP5BEIm7FcK6ec=Tjzwz=D;6iORA0h$ny8B#tRL1Do1o<8BY_Bl+wf2Qf=4=!1KDnEato{ycR|Ds}U}_PGa`D`+0iMQ`j)_3D8(_e1~9f46z3(1v%OS669S?BTsm>;8JR{Io;kl!3-7Ei# z*3zL#QF=DWd1LBl`G0OS{AkX6C=E;GgRFl*L+`9}t*5BXfbFY0X#2a89h`$UA~s-X z7LAF%6HC<E7JTBkl`_$YbMct{2 zy0_W7&!TSGVY1l=@9*De^Tf%M!#>v7fWQv0uD> zSd7`3z<(O>&j3f=2_k+I{S?y}0QMu%K;QoYFC-~HhVq@1?;KSAk9=?Edz|ls*L79? zcYI$3o?A#eNHa-mNG;Hzo98Uj9#R`gbDHI(1HNvC7J(H0_k<_+gl|!M z(UtCB&z7uN>-zhe9PUI~HtGcC;Ib{}^3=GUSP;$N_ec2s=$TEqt(Vt#Ze{<|0CMU% z&LetMa!J1Q_lf_lY`&W35bl0PM~*Q58t5rI;5hb~4nBv*Kks1!<;Tciv9 zUjxr5G#kS`8md$41sx_HaG6`p++KUC@X?s@7aZU&@WdZp&5mV{qOoS5AKigEdWnA;ACWa zY_2Jb$J49_tYMtQp;7&0?)~%oJ4OG{zgLQfliZI%d2@CxG|;?9bFX30#5Vj<5I~r~Pri#TH=vA49B+Kwc9izA>@ zbu?G_^?kI@-19@c7o2|=Jj9xP37WhFyb)sA=NkO5J#x9i{qd!Rs@f4H&G%y1UxD~} zz%vK?d6FAOeougY(yyGU;)bY8{h^ovCy{ZTlsBKhi#CU`uMfH}a_|L-|3r7i5$N12 z>C2B$|EWBYTj6QwJNaCuqDMpz(ZZaQnCT^E-(N$>mm<(aIK;5IG}qlDdgF`GyY0X- z0$)TB-Nals++^$2`sb1Abddl5{nA_O3<$n~)rKbb$JZEIFrPvv&M|v40`Sos=z4Ed z--eqQ0i!P^PdLM*@|$$0blzh;6UZIMVV`pa{KkI>zO(3m;cs{VoYnurdnd5P;=RQo z$Sduu(^>6967+dIZ|ocGd-iFexD?gVrZHw|=v2_}LFy8|KcpV#GUO0^w1M@`6f(Dl zXFbm?m$2TCd~ycx%R3tTN$!$yR##E)HPMG&?TD>0V|w<(bMmu?FWnpB9wW(xU?Mjr z6yt0-`d#=*9!N%*ICRF5_^tgb`Iop56MON5blWHMOaA z5%EeAxg1V-{Gvbyvo$rk9u{5%|BEb2aI2YMV! zdx}9-d*X3)v}sQ?5$tMjIy4gO?=f__s9@Sn=YwjSSUBUG^?fUXAF6~V&-L4apB_K)vP;|;s27>6Uc9PUQg*g)ztwnFTEFAh;@%Xo^3p}&e41C zo8?*bspPn5Fq(d^N=qNGPLbkC|3{JG!aEY%>DF!Xe(1+iym&Hi8io@ z%PN;Sb69B=`^4p!bD)9tsf|*d(2aX!i&Mc*a0nia5ev(3<`e8ATM5T+Cxn~huCEuU%r&6vn$2W~_`t{e7cNW?>8?A@@ zHQb-wCmK@UOxY!A_`4svq`))HzCh@tHpKU@b2fpoKcySl2b%^b(J{}t1peI%9pI-i z&_e#T{px?#&dBqcX=4h0QFuJQ(5*==bR+47Zio~m-NJdAcb!&iS$JE+&rfDUh9$_VE7?1dXzyCp^k<{T*^tYh_H@|Kf@%!LN0dCIS-G}phZ_JN{sLO zv!CY~j&reY_x1Yzv0wZ7vG>|*uf6u#Yp=cb-czu3aTn4#RZe@N%Ndem9L{owR&t>` zB+LH{YonCInI_J1;xO?tV)fC&*Jh#K_1&Xg28I8|t#OHyj&J^cvXeb#iJ3_m) z%Do7lRQ``s#!EcgS?M42iBz6*3#U4={nrsMCKjE=H@*0a4W_f^3c6=R{CVIdjY}VK zK1m+QkfG^`tbwg`zeM>F=KJm70DSaYY!T2o3cb}Q+SR|X6I*@8FU0g8)wLSB>F$_r z@uTQqUsTi`DI?Chu5{l?qWcKW2}DNQ;o@fGtoBj2k^Ye{gbrx`Vm!Xk-6Wolk0?)~ z>}YO8Sw5fQscR*d``{(;N3NJN>Sdo6{;aD*_mu{J;VqgEg?7Rh`g*v7_l&=?*Bsh( zGuDU?MH|U3Z+!FkQ2X3Po3)}%$~z}5sBb8D3wo2*3oWGL^_qn zyQ{fTzz>#RCg;}l@BNsktIho=b7ge2S*-7_M1LsEWS-2p7K}IT@=-y~glM-;)+}2X zqoeUIXP)W}ZSZH^tTojr<+QU7Az5YY@yM{}|A-xgK4Si(PpO|A4^5DSu}RQYFx3y# zMejf)#9Zp+D(R1-f*<8=uO?=B)LfmJNZ;(&M*f=^Hy0zx^6O2BFZp@rT zeAmV|-RXIK{CBU+YgkZ>Xs&NRH1HqWNlboK(q}{)%`N9z_V1vomrJ|RrfArf&K+$F;{l9C!&kB z?IdG!z#DBz#$?eD+(bv|Bc1TF>dac5nNLKKSJG`YpD=SQ_;0NIYT=tI%_rcK5Npgg zBz||Crx&RXPXgED1#cYBmu~lULDoSyFHpV+HyHg#`OtY=g0)($1s&D-J%5U=&>=0J z0SEPoR{Cxi>+%KquF(rpQyIT=?l{#2zOIWG+~IbCF|Wt{DD}{oapePEzwKoG?4S77 z;m?)ko6@iL(C6@15WS~!#y9KV>1wD)Z*Fw(RWca0-w zjXlTsF>+_T^BjDrvc}O~8dFua@YWp7;-Ai7P`bCJ@nnPy z3ny^N55hS}C%>`=^xRK!|KGSwuiL=gpTa|Wn|!Y7Z05JnTK3B*^GR?*-?_`>{wL0^ z!pAe-&AhDJ?Hl#0Qs3yUC3FFFW$8`KTewR!9cSJI4!>p`SA8^w38%T>qqdP=z96J= zA6=F*+x@nf0POFA|A@Ycu&n z-WSe40Ot_%SmFF@=&3V+g);_(RSza!Ea`rgD(G@7y!Vr)6JC|RBpz2CG#6&9StT89 z2z-hE*|YziKJrR+YDuxW@3Nx!U$#}o+8B09Hyqa*vBw`ee?n^#AB9h<61z+r{hapN zhHkHPPov9=9!ewrQvI(W?Gv;SqkgF_oiAOaagK88DDO4CpU4=mabyYog|ow*iTv*d zj`CZf1;vBXcWuTwc%3pzX<)zG@1N=Hn)`?1Z!>~6p9T)o$Tu)|f@hD#8{(AA5cuc%TTV4Z>+tAA^?fy2qDJvkzMc?XI1wLrf_@Am!Fc!SHWL* z@Gk*;)hDR0)(wL;6|O34Ipr)SZQY=>)-lp9A?;k!?q~cJ+`Z@^m3$(Z9KihwX|E@3 zdx|k7)9bF|d1x9sz#qc50a~u};jFEIV`O`}XQ0hL51dbu_YgYy9`us*6m)RL_NK}B z4-j_pypj-2v8KmZzvYTrD@)jqp1c2YbitYYCoZBF&L&<)+(CRJ|D(j$5Enj-o-h58 zcnR-K#0SxX_D=#Pae;V0@lC`{#L_KgJG4^h5$Fh#qa%JuiI90p{{ZE8mtdlvi%L#szXZDgH3yQK4_Dj#x7}RwcIx}^NQx~J(C6Cr6?$U3{1)kV~Oj|1s+8Vpy04?*-GCzoxpZD>d?Bg52)j8tgd-%urMURc|;60e< zF<-Zj&hx}ie`}rxA6LxtnBy7S8uQJHJ}R54`0HunI5dhwBg?+sU$dTK=3cT9Fwfj= z`RgU5h^fCoL+MEUQO-p7=UlPv{{he818nXfWM7Z=N5WT|rMo<1{%KtB?CL?^nS$NB zE9v>1$TyQYXFv0se!-@!e(KpTpUl9oUh^8x5N7_FFYQpDO$esv4;-g$EX@m{A?rG^ z4FhE!{V$%BywH43>HI!8@_Mxiva^o1l5FeWdE@}+s`TG9k$bn0`GK8R_-cNyH38v! zLdfdB2mGoC$cui9aD;rC;~u=?k^TSrmm~d|6#5zZ{d3SUgAOd)8{@O)Y9;BwHN~8J zV?p~DSo2|>hZDk?E6yvTV=a}xme%8E6*M=URoVhyel@YMESuOE^laHN9)F+KNqSgk z_xLBc?^-tGuTU@POsbRC3MT=lE8XkPVSH@ndsDi{eSo?Oj^+$CqFEgOVEXMUXf68U z>r|={YGlEbXm1cUJ3nEz;9t z|5D{NL#y^o7iU{vRJPLSN%q5LkDS)Pz9$;M8?(T7g5&{xK=u&qsu9Vh<9HVR7xDa2 zo^LbtN;!F7FO7ADVpO8eX4LvEpo9-ITr0! zLpw#Yix_+IjtjY9-px8k7qnc++JSf9@aLcjez96J+{~EiXe=~5 z&fHw}2vcsK^f~ITx~%hcxd9$5`aB5FHBu+}n^o4U$lO)F(DIAcdV*}Gx@&1AZC2)+ z;7XTJxj#_dsKd*qe;;id#_$0fzx>G64#Fkqq~I(SBXHAbL9k+zE!FrT@!jzv|)nbJ=qJ7dxCGoI#W?{PV&Cn(8t(2Tk>&i zEtY3P|M7Q3x0Iv(SE8fl3DUbXPxv=KPoP_0;`=bge41)bp!IUmRPoz&8gDMp2~FjL z;`5y0Go2$PdbUDO%>@Fu(hs%1ths>bx)y#LcL6*`ET4yP0e>rKAYPpa9i*Fupn>e= z@i;QWTE1UC;aeJ>E1f_+sH0oc&}HQB1ivn7``vnmC*qt%syi?>HlKo=tRb9Cz%Fi{ zPa+=WKTD1x&&+q}K@*{c^m@%#f@k3!Jj-S%ddg;8mClvnZ&WqrDd~JfG98)LQV)*O zEj5pkT&zp=xGg@O%#-hh7V8D$ci5^W*8-h;U_V2}{OS&$N1uAZqiKN0tIS{apU=I} z^ik7deOZG79% zLAi&9a~(V2Ppi>61U(oBN|GH)b1ChqbkM0q-;NV~vAJBxI6s7UjW12K%UynZoKAbZ zk>QMyWWIDT>z&o1{d5m}b#b|}T+Q88?v2<_gR;>FV=CiJ_)z?3ph%?!vnny?n2ad-pnU2d>tdWZNQG z1pRYBzM+`H-(FqX&tm?2!Q18AW}mHx*uEk=xO% z_J-Z*c7dN{xY}zyctvg9()F!B;gLFQ?t$K_Jk7u}yh7eU2T^{(5$u(~Y4Z1l zB9C_md0TDfAX#s&7RFy-*BKsOX1s)dww;gfIr#-^F)-?Yp);!4TRBkvoPw8sEqUwE z+3E^ivP})>-O9fVIKlkqUx1@IPLq8nbBR0M_dqK>>-<>G-YaS!r|v2gy=2#(MqNeY z!nffY`U8v7bjQ5&RrolO;I7D=x1J)syp8!pP2b&av*=I1KLh&fZi_n2o$b3Bv+pqY zqvtd*hiz%5ouk%+&~9ewEy{@?OF{|G$6^l$vc=2|q`z!$_vpKA+}r8<6ZmR8^^pyD zrH>zDZDc00;nA?wAMlF!Ms@gaKg|%IFT@XOzngscHx7dTtk3UbC_{YE1icKMJYF!g z%7xJ{(s#OZ5{t@n{4sY9JbO8F;%kXNN0?3cEJ6JIX~H#xPZ6#rFbC>S6Y#U?{{#Ua zo_^+B{U0NIl<*P4Ov06f83cS@`lk_21wKv|{gVkP!WD$e2_Gg*B3wpby{i9G;x57^ zgjU`)SD(Q1MFiw>|9C=@Z~>u-f6BvJPe1Dv{pS%rKqd9NY8(xxlYnm!Wu`iNxfZt|Q{ zQAVeqr(;)h8e z(6QR5Bj*$h&|!n0f8F5xMQ<#>pZwS?9r;EFaG0}3;)#V-yX+@QTH{^G_`@Dj)Ay5a z964|%^bY7e&4-^F1YhlaYXxqUVPMMs8sxS8ysds-(LiIp@_v=PRp134=00lqdJC8F zjH_{@H(*cw>yh;VtUV`tbP8xB81l1y`W(Kaw+QyNrmh~(MZkwTSFuLVe0r+$IOFqA zeB7j4_xkX1@uK{4wNX z_8$7-CHOjBU|FZlCT2{DU53xYG@j2h&o?-yRM;rDVQUs|J&jLCP)Ffs>X`-}IIX&P zwAQRSk7T7gH@?7Kb@9o?1ZNb;mRE-lhVG%hi8h*!F5Z+vC$jQRhyKU8`!#+G=|>eO zQvO_Pp36Bqt85<^a9cHkXU4u*m>3%&dixE|Xx`PPYJ+Cmvwe#v)RwZv$-a2#=N?|d zN&1xV+C>{&z=so8h@;~P1SK0ud`@~z&wJssrVrP$2XQQ{@ z;$G;}%J$*5R=_oF2ww<4!TS$j3x;%2ben-Xz3SVk_YbmDE8o}2qxoe`{Fd@R|5#D*7rg1oyENTFl%Kt@mAt2bM&>$>)VNY ziT8Hm3qib=cmnaZ_u~tI9eNJ&cGAx}hdpZ8p%0$TJ9g%4h-H87Bp%0ml(>y}+t^ym z!hV=1-XNPS@e*Q-IQ1dQPJjpYrn$r$NH>Of5AS==!fyk6Po8)+VFKSK5U=A~@q^fa z&ZI2jooDb&JePP9agun9zPIyE+G)hgsFO|HPF=U0j!m8Sxx`C|Q^d+ITP|%;l6}rf z%66^uJ=vQHud4k*@LRCPuYGR#WRHv{mycY>f7t@nZh=38+V>amkZczkJ2XZ;_MAt1 z`G@T~wbm+7c02zm*O5&*uwz*%#^NONd-6qWc$&P|Q-=2LfP*bAP););sNgTX1^Czg z1$mJ4bPw6ARIk9MF1sxIy?whZbVQD9^!p!vF6*nP%hEsn&-_~VwflO?vNJtB9{h5& zW#S&AFY3HE`TxEDa?a$=LKk34ey*jzL~Y*l;F7w>^qCpZE5~=!SMiY+eTIOuV99pe zc)@ig^uNY$o=rQY^EAy2=XAA?`Hw%AHT|2+_mBtEol(SH4UF})r|=f7ekZ=lq{@=7 z3I5?P#@Q;qeUkro^I!8cd;4XcKke=hmnS4IE7zyB&H!GdReOHxDi7YBq}ThR$@$We zvn=C#JIkjRa`y2>V+&8c%v$W#nWCBh1#nd#)m?Omk$*z!GPABOe=F6!2|BEXPpp*Z zyDfgHiQl7rU8P44LVxP86Q6+zg%gZ#_l>00Kc!bX!(WA`-5>aApHbTQ38qZ>^($?4 zhV=1g-0KVMAuZygNV&pCb|C3wuWvhY;K%UoIQZ!rkF!9fTtCXe(h8AxF4| za1egnTk5k`ntildA7HJN_S-BUH`!2YXnWyc@K5%* z4*f}ZZ3h?qxA?b#XW5QA)Xt=V&d$5+m)+yyFT2;GOKUwB9x&&`|6FN#AIAH~4u16y zz%HqMLrHY13RPw z?~+^7$Tx0;>3?RePks5Y-_JhGKlQYBZ+_}kmO zI}9~XkiOyoOJ#o&+0u-z*3@@VxfWf%mi#KC(~=C+9zN`)(BK|Fy>!lIKy<7B#nX0)7#?G-93Lh_DDOOd>>YL(eRJf@nxqDbP)MH{ucgHyTsuwjcsZhweMTB zdmDPy_kb^+R@)BcTV>nsWt>s_KtuW~cY+%Fd3`5u@S5rT2>#YNdViK`t4b_n10RJ@4V#WvlO_y;d}Ah>3n02+}*;v{DqZIJ}Hvbs#AzI z_?hxS6aB-scVLbB4){zbJ_FrxB4JM(Yk=rX+Xx#8a|yFYqXX#MNqp--cOh(fpEp(- z-_Zo{lOAu%-fY=LNA#0ClN^%_lfK}cbFZ`PWk>PGkU$PKBHIE#PxagDShG!}y?nxV zmEX3nvoE1N-cxR4>{LDHCpjzhc%9kSQ?6BANh|ul4ljn_oi{_)?lAFQY(n!b(n1UQ zAGarZs&@MJA^CBikDjXbR@=-IouHlO7(>zH#}wAM*q2zdlK-mptnL!+vBX0C8k+2>SQh8EcFT5^l&bI5^sPUlw9|L=uP8Sb0Mu6C2)B)_pw zvJ068e|TqVQKwjXh)35Y(3N#&Y(!qaet>^n)TfKQs*CU#Pdkoh{T4egI^lwHD?BLw z2F;6R1hS5NmF-Y>*EihSOt!3XLGw%DzJj(2+n1Fi@yp8Um#_Sudc#MrYVHKTpTzh% zit$tYa*g)K(B4{u--}(do-Y{mCJ|B{!Hj9ytKDT|7G(!3!GHeO@3MO1JL^)cn@)J`SHA~U;du= zT@jCe;_%;>^IltijW)30ec2R)b_>q(P#Nz6{?DLi9@~@3UX6aI@5kzMb);2U(}fFo z|Mjn4*)Q-uyQ1um`DM>h*~lW%XA*ElyFjk7-=k$WXW(-NdVdFHR}Ye>>#=pHp2uBx zU1_r^?@H%eSJRfpuV;pHh3HvP=7;<;`QBn|VZK~YJv7htY;E)1Ku&B6Qzq@8{4E&_;C;KR)%$kps*4u6}R$h%>d8g8N+H z3wAraBzb!u-^34#smnF8Vey7_3|M?8*nQTu3LQ@ZbvhVh4S zc(MBh(#)frX5cm-1E$7h>HI2FHilK?)xN2Np`-lr+i!SndINoTK6C9|=ypoKletlV zqxdHn<8J|maQ+5xuBPlh&7r_iX$>9x@{-)Sax-bgHz48kzbvhX%kOLo`ER7W z8!O5Zj5ncgCEjy@qcQJsKYthbcaZ-=@{c3`xQhJ2SP}L2h^j8C`^SLMTv6{n9~SFD zu>!E3`6K(R(95>l*tUq{*sgYAr%LcX3!SYgKHS9#%Y_e8kx+hgn^xQ5NsAi`_&R$MZGV z!0Lt$w_a^#PR;WMzGr#f$#ar;7jaV!=fCO9?zGNuqWv@MsX>npXW_vlGBDS>PwlYP zryXkmEz|fPN%e9j)e5(Y{RK0wn7|n2jg^6~llt4W_+rf(uQTGjG=D@62-f93EPP07 za3nwQS;E%yhgn%BE;kYkKG)1EZ3Q3M>k5=-aLM=Xi;@3cKmRGdy@)gQ8Ke5EpZ4b2tKkjd7UW^w-pm`-Z_gu*=92hx85_Cgnt>fh za`OrPSLW58b>Y?Qse6=KnWJjogw8cOmG2h&sj;P( zWaqE3T8(W@{yA;-JtLWyg`(CSBPZydTx6`|NYq~Jp6t{0Lh_K#*i<^~J4`Gc`b@rS zjVaEV=0E(pC)@N*`?=$s8xrPObG{YW^wsb6JefApxW>G~{QI!~uDa9itS5PP3Uht| zZLaa@653tshAkQN7|}3uWtnx`nBbl7=Vwg={V(Hui&*g2qWj2Kww1c%eB2;LOEd4r z)+66F>NGt50_Wtv;9kJIPGj^;___@mOpCKu*z(#`x=rAN_d4TPk~B7H2H#~6_+$2y zX2Bn@^AW~D-L=?<+p30J&4ihawbr2qZ1S(itPY-c^1PDgjO^sVv{LXO^=`9r?wQhS z(AR0#^-<3El|4uOL_WIo2czF?`YmbT)krdbFEk__x>hn@dITJTw7Sn-7*}GAFYe1FLv1fa}VD{#=t#KX->KVy6%9kJKW!( z+oE^%Pa^M12cCmfNL0>Lz(VkIL+7%&q+3nU|m+Uu&kZnl5!5td!(ky z#f_-I$ z9yiH*8~?g8>@(uIneQp$k>Ki|6;=Wu^YE1ObLQdG=sPyPv_AuXn`iN=_TJ+|0;{GR zd`MbSe6Qu(e;_9&@vJsl2aFo#u{wY1e$vFVn#ay`9^-i?bzkP`nb^&s4RXlJW?k9M zs-PS88l!h>-Z;AvIn6im_ixvD{dX4Mr&WC4ukY}nU?-(R`g|w2w+a?`&L__p@(9iz zAI?`u-#jQia|)CGUrBHI>9;F=K2^S+^aqilmGJ-7$Mtg3$LJf{H}PljV^*?kreoz7 zk3{co%;bLe%4y`^I4J*T{PI5P=a*l`Z53EO`B2 zBnO$R;7bZyPIE?*M|VU9_pmVk@og*{?C-UG#|>_(}L{9Jc5a z%Ciu^^I*JU?2+v1kCI=!Y6&jzm0xh*K<^rWoAm9mdCJJKj_{wves)&Ox;Np=57rv8%bz zlhmb4`YLspK>4bZ>Y{(D#|z;62x*L+m^9iauYcwqEX%iPl1FKuBCUJ_tgHuH_sJYa z21^eDzlrk?N=I4^9CdEF7nK#?c&@e zpfOB$8;DlJv8Aegw#1(+)epJw4ee(!XO1$~=$-Qvv5&C^$-b6%BLl`Xpi@ouWJn!t zqI2~nTVxAwf`3HoxOl{;wazS7Il6n{0@2!ruSlbQ^*P{4-fF$@uZfo#L#CSh*8e!x zdq&TQJq>Ll=@t9bz6Vyr=aePA_Dl31eOusvldlc-@B?9=Ph@*xJ{4O=`>TH972%Wx zo_Ij`2(K1!(mBe)drk$91UQcn&g9db4jRuVkyiM3`EaBM36|0*Pc`XfGrt8~ikA+v zZltXXXAiS_nKLcpIfIgLnE6oOP;?98L-4>x;ta7_Us__ZwvptFf)AJD8O}Je8Ry{f zA=K4MqgSP9tITty2d{drG(3$hGKKwx@bA=n`yHNL%#2~yE%c>)!zgI0^;gk59PcS^ z^J)GmzDNDXQ<(eG#?kab<_E01zM}q;Dqln!%$Dp+V6O}t z`gvm*yedACuEQAB5+RT5@UlnVW4^Nvp2wC!`=9{E+JRBoKDIBHyZ!cg@CoMDtW{x~ z>#upxYbVKG;iB_p)t9^NubH;|HfcpC(TsHi=UiwKjOP~gxR&xH5AX76a2f9*J3GLS zxBK5Ujw!!rw#@(be!hiI&*H1(eP85%*Vtnv?{@D8zYP4Zy3DEIfANIsk_ES!Sp0zypjAk^3S<~yF>9DuXz7->F48ndS4m!&>8xU6$X^N`?h?kc)Pe_a>%NV1pimVzwL3>n88tHOJCdK%k)Qpy=THO ztMyOAtkuMGPoTckCq+D)_(p=}J=#yIym9InPA)fR^51ihhd=YtmQ#Iu>tST1cx9~r zFP?p*=CjDwj}Y3<7-r;^#tiA+DP&S8j~vOd<{Z~qh}1F3d+l?tMQJmwy)Z9%Hm-HH zg#28eGyU{wV5cMl*b}R=^nWPzt>MhT*`tR`zB$L+Nl!*2PsDe38yUpiASu$*CZQz0 zh6{!}$0Hjhb5e{`RTg)eB<2_4ANGx+A2VO?N=$W^l2>;KXnvx!7H2roFE$V5S?50~ zpOx=%Z=`IMdo$_L|I1aW1^5K1-4+&wLo#u(dv^uyqUB2Rhv{$C*cSE%kiAyIV?KyzK3#5{ox0V!OEv`SaTQTdPy|FPp5n$d(aFX@KY}^!|@m0 z7qG{K;640cV|o{_rDccV+j!RKo1mrS!wA-p8nLT4#k<`@qqdg9oM{DrGRNy?95;KJ zk=e>Wwd9Qr?3pQoUm;(*b@XubUaNn@CmWfATCt6Z7g+1nU2@!U2CwR@a_OSc0_WyZ ze#D%gKg$U-H;*JD$l#00@(;Sc@W3nb4?<=m;#1D=jD3T>n%qMZN<{86_g^9ZIUi%B zU^4GC>$jp&8}!6|;^BehOzD#^SVeHeIF2EHKeX)i%@&QH}{@R35EbAr2h&bmt)LrxWEAkIFe&WUq2 zgYdC4S+|vQ8>$PO(?FVLJL`6nUv2z*_@SHqS<+!7ALQ@Z#67CQZAc<38_#;p8DsDX z{spVTiS3To!o)w_(03X1{48fCFY#g207E!0Nq3hG-f`i(!i@nlNF!Uym{d3Y0Nt1J z#dntx>-~K3C-u|(S-kmyRfqe?r7UTJg8#nz(_VoU4KWfr+f z-V?|I_@IApwdJ&0NpnBJ+z9f>f1WTDe&yM;8Do=Z0qhv-}^#0wfK}i>rJV!4n zeN%i5js5^WOPWJY3wN-6oo~_!G{?aXYj|M7rNB-m9mx=-7u*TzNARM~s1e@?z9*wn z(tBx!Ue{)iUdYg_*F8f0;(U9HxQX~pV)4(PiLK=HGG&@`=%v#dpALg}4`-D3xKBZg zD85?JzWn#Ui0tD0vjY=808X6g&R+Vm?o^AWk&P+v=@Z{CcNZZWW$%=|F_O*glU+eJ z5ZPxxPyL(7C%WsLm{-`7qk3WE+}uQ-C_WOR->Ib6ecg+$=WZF#&g#I>yFic%K^1a>buig~TdFtWeAdVfEx|X<_{M%l)inx_$*%BI z+D>Wi6`jFd^%9Pp#rZIP*_&(9UOk1c&Li2%8nbvsdZLBj(`Olzw#bO{dAV6 zV3FRy7n~(N9)dMAN&kR;I^Tx*{ATHip?Kc;)#Ji{hIq%=hpTBP{I?INeu2I(xP$TH zF0N;H`7oXYMrC@*YuWUW@5X;Dq_Sy~55g~;Ct0da<-ebRcC8isqWQmN6H=n@a(4>; zBuaZO=_GSH9`nZ3t9+g~hwoAF675Gr`)F3YG1Htup>e`0(!aQKxCXoat&iTdFI2p> zESo>Jq}{hR+__JEMEt>7?WJb+#NaOztFnJ#WPx~tK9204rZk(we3#tRI*DXh$ZvC# zhj(LBLOx?{EiqSpc89@HvPoykS+T#sH_AudoZHB&=O9l|2aO?5kWYPE^*!{c#xw3| zfi4sI{y5)9FeXcmX-r05M${M1rri?K4MjKbR3EJ=NX~GcR#9_~dErp%;xKIxi7<~8 z4Up5jLpJuw1ZTFg&!1Jd(qEp3UIpf%g`TqJCXJ5A*Q|S(z9(8>;~f$BVp&#k;QYP5 zN4J;4T&c4q(-! z#DmkduV*)Vov^v!YXO`c?~XcG$HzNQaL<8g(pp^O-d^=+G5J{3sV^j*;103z@B37- z8JTm()T?y{mGQ$^T|SAqb#Co^lSb!dS*nNc?+!1vB$M;; zpJG3%4IaQ0E>WKzC-GnP$oW24@PK*m_TL%PV;Wn`oQ`zKBx`EG>h|GFRt7LH70imV z8K{LH!>|8;M*==&6M=?jc^l-HQ&zpb`OEHA^;jaK4Q zW$kxwIPtpDy(2WnXQ6N2jH?<$(OsAi|H3urIojg$sZL*Ldr9&+l;G|~`mzO&gjIKF zbVK6EE26)6M?4uBXYM30y!b0$uY-2T66Pn{v7InpDqmzAcQ^v)MtE7U#LI#s9u^$& z^HY9)^y2mE5AZ<0&fzg<{(+)bK3fX%{G&L9-T|kt{T-Y_ z&`fnX7EW^q;Z&)U(C+B#+y{ZqvXb+6)vtB-%a`DjW$4j1Z24A7Auc<$(=Lu)YtPtrZAcM~acb#j8yoeKFUYlw7wT zcg^@jUOh|x;FllEV#{Dq=$AiOG$p!BH+w!LUx!i0$<#+xTgG1R+ew&odFn>g|B@JbD92w)vaa^!_}SIs^ogFb?jKOS zr4PwwnWX)-x1pME>Ze&~seU2(p>}wUyV)b)9kL3KhZ74Qv#f;$#--g4+B=G2Yy-o= zjsGR-@1nJVpVV5#b0zur2vz`Jumy9M5A(s~i;sF~7Mt&X`6_zB9LAMoPx(;#xsq^- z0z>(JMxKzy^mM-TUdr!o9PZ?#>!Y7b-~R*jHFiqsD*IC%@`!y6W!dkHJznyO_0KTv z6Gks-25u|$#*U(K*LCh3uyaOG)MN5#v!IO`AJ3&8&>sJ}h1}7$uvz>CeTGn%=gB8N zy_)r{C~bNW8OA>|zo`5s9bUYteYqMxe&yd^up0Rn=JiDJ&l88?vnVoMdab_OmY&h+)6(f@IIKs;{D?fhN?tilHVdML_|6TQ>F8EP5 zsJ*c-wETeY@(m0pr<(P*P*P`I!RzQP;!X4_(bzam96?=k78_FI#RrWA4HX%$eMXYmHnb?Yk#AmD|aSa zoSW~{7F}fXIP5&Sb4PmJ>Bz0~c-M0)&mZ)kZJxvAn~e^vyGdjpQyr@F`O>D*FPAnZ zI1>|`HP6ubcKnoqo!y_HMp zyDF!ieyXwqyyDg(m%bg-zZ(AOdlTPY^3zBBZ#8_AZ8-#u9xdRLX0350AGBsL#^@wo zf4+nE%aKlW6E9V!)7&APfoEusP#T#9Y%9wgEGZj=)xun--%d)lO*4DQHzszLbT=n* zr{xDcYtAJ3h96G33O=YY@-_QXRG@On!6KQ>ay%PN~bIQe38?}T{0$;fzb&qmewMf**XN}NMbi1w#ZyDfCsHNqu~hVwEk|W+jdvF% z8_wrHyVsAzV&^m!9K1M{NsTY5{s8X|1f_ zVi#lW99>iTqU;^?cgWvl;(;8&}Fy%xB0ID^zL zf1TG3-gn7lD+@2cU(y>}^D8MU<*-h*JD%jex-9toba8tRRWQM!o6@6krqF}A^b`=3WgVa_QzqVcKT z+Ol7F{q}yD{F$UPOf*U5oqTq<##{CdeQ&?kXX>rh`|GV+_vb?O@Y7wKf11Rek3Isg z{X6(tj6t+rzs92);DnbD~)p-% z!Se9dymQLCk`BJ$2Q+?buUi!QhdUR*XH%RTn9udapEP`bg=8jtKN_5mBp!DpYr5d$ zzQkjUr`Y#=eheiq!Zs^Doz@si=9fdG1=w9yi4N!1<()5tlFt6yhC8305;`Ed6~0yH z9QtX!b4EVtg!+6IkOK0p5dYIEa4O5m$*`qdW7Z z!88j~miqq?J5ttpdyjKoV8Z4um-i#r!M|B$+fisbwRD4h+?$Sxe9jJs;mOx$Q3Z02XVlkCbY2`Fo$S78E4|qqKqcfl0^QL|*lK;Fj0PqvCdw2Jb~?ozHP<}AMZ~3m(tJ{v9m}Mj3u4S zNyk1CoA)CJXv&vSx=Ev4MjJM7t zGuE&lra~sDPRCJq-H#TE)3@ov>c2gd5ke0!a1yEV`M`sh(_ZoHNYQEk1;}FB ztTT=+uK*3TE`ZJurwvs{)6Rt~^w0iA>7^e?9!mactv+fo_sYV@=nIh?y6R6ny#o2S z*}GQ;80p2Xg$|>!nzfS{cPf>t^Yo2A&3$$L@RU*;-<7^LncElb`x0N2uJ$Yo=1}0!KU;Lxh-9F6;k%D`cAP*a z3wM40Hs7UtRHchf+u8MI4)67e`EHO_>6Cu8pLP=I!lVzCENSk+m{olS!xz7r7bwX>caD+Kf;_V;LRioT+;LgQwzhM~0o#T@c&-=K-! z4~}}S^y^2C9N12*wlK6w9c{n=f;MKY51%BBeZp097|ji|#u&_FglC=2Se1geQ{Y2e z%f^+2*EJ8Qvat<3&OVm{cg^k*E~%28>b}2?kf%MMv*8(Vx>tN7-8&(k1xNFY?7D`1 zaDTJ>L`C_OH&A{8{epfFl>ZjzLsyo+@qbzVgrIzAtoln|iLy2(y0LzN&dzg^`X^~0 zl}~KyPx*}bl>efs|I3sw`^e6Ua;YcvUN}&1wM|g(_fl@$r@P9Ds-BGfjES+$YIDl3 zg7-zMU;6L#fp0RdKIDzh-uSBV*^D`6jP}OvV9e3jEV-odIT)M2b;scYN-r20l~27@ zW>9D98WOK{;P;UGDK`EqygddJe0zmtP5}RnaJ|z+8Nv9ku|J$FIz5zO`X1{P@|R-_ zD#f*C;?aydewUS7=|A#!(|Uu!1OAhYGP2311$B#nYlMCofq$yn!K<15!s<`vTnBhi zG}E2Ip~>7Mn?S#edp<5v;ERTJ@2lSd9~zqhFkWOo+wLs7Ec;WRl}Qr?I1zuJGln0MVlGsJ&q+@q^ZcNE8|YZMzLk5VKu-nGYh5xKf&RqhY!bkRStz*dUEM7Uxo*1P?UTxMpV}#+O zvwR-f&i8YupLZwNRI{GcAv)q8qd6LL`}K8p&Rx(jzZk{-<Xl~`Ud@|Qbq;+=+n1rKU&ebhy0?`FzB%s8dUKufYZxA z&u*3~>n@WCx3fMEy+Ub?;VWIObxCguXV{zjW3S%mb`No0hR@$i9==e0q;E-C1)&}Z? z7jt{9$$L81N_VBNyTRj|L)LD}IZS|C!w3 z1MlDa*jfDX(iig7R;nU!z zwjIoe=yB$LE6M9B`F9&W)cJyp%fR{mCU5-GnufkT#QPA&DDhuF^Q$XpZv0p%OKAfi zqX^Hc^DMrr?e(v+?Spj3>X((Yx*1w&u4L{mNpoi#b!F`^CVvc#apKqGRd@W5&O;us zR?~6~-;lkr8;C#0elPiHgp>2iG5Wb|GxGOiJTiSpbHkS@!^+AYj-H)N7MrfX=Lx^H zwHLBq9T?aW8-sb6+OKPXFSuundPxUA$lW2DTS_L$))-1=Iq%n-*FFJ!`J%9|sAT0> zTSiU>X&Jj)EY|BjM?S_-aGoN&8Q*r8`mh$jFqn_9HYeu4*C3?!T)oNY%m*5nJH;_e<_fnp0T!VQ*y6>5^ zy=+_3QB*J0_bk4tKKh35nBfU@oYKqaSZX`rBANd3kB%Jpf%u%h8-i}0EM4S&pKk$w z>?Do&<0x+|a=*iW>Wm(lFFne$U<%$dq#aEEubZ?Q3sS}>`aI$l;1t4_C}?Zpe2v<` zrVSDo7A^Y)SH9+IE8nk;_MPf1CSR~`6dRps7q!Pc+UpyX^S5|a=OXR6?XbD$EaB_X znmre9^wOjAk_hF=4iP$Go&(?Yhj`aKH>m%ybkSbwPTd@1Kk@Z^tKgNX`AZjrhUC<4fW7%I-g&BMgNL5Ta1C!CzNGRFzGeFwoRQGr{!CKY&)5E z)dv~jj4QtAhQ;><-4AeODVks5CQloN-%dAn{QUQ$*>1D1peEBzdiGfm;@E(!{35ri z_#|spi(EUqh&>03*lV!Jt&TtG&ZeB9^x39#_x;dwv-*W>CmwyhXZ7O~NvD4+ZpG(4 znJ;M`qW5Z^b9|G(sHrD)NPu%NSCu|(>Y1jV)b%peleRvE?`<~s$Z*$UHFK$GW+A@4 z3)!QD4>4^{KZkD@R_R=8_@G67e~0Wn&;%Am>wPw9wx7h>t=f#b>3&5kPMn@!Y)gO} zI=bqq@|u97azyK`)KlNiBma<8z9f63-m7^&hi~Z4#vWq!nI-8Pz>xg+^a1J0o}ZQY z48pZ&9-_6l-*QJClP>hkR3kE8e#GnLYyYxoTkZ$()9odl(GjE*@U0Ra@;;_K_kg3? zzX5!zh}D-9%vtoWE~WCkbqV>$3lA$*Y`oRa6CIStLZ4S1BqQ-H0@jDszZrY=-K&?z zYmF_kgJ_*ijoxIcUh++`yZ4gv1M4P85St&fkvJ^9G~U-w`mPk44T@mo7< z0kVAuGA<5&m9`A&a?;;EN_~)>#$FQCyWP}V?K1Cw1>@2R7|{ZDSLk8p7Oa_dK#xRU z4!Op@Y4FzhEgOj2R0edik?)!tF~@ShX8O-m){1(nZh~f^EI8z~cC?0dX045*ZzQl0 zv3E*-Z=u9xW=%_SRJK_5Q$5E29irD&lu<+bx1$@h<>6PtL44W9@J;vGB-yK=`QJC> zD+x_M4ZpNACQFAHk1Ups5Y8scS})ffR_(~&z*m4Zp7jQ&G~-l?JE-FHSMpZNM})o; zVJ&*L))sB{SM_MUe|qUO@R6Tddv=ZcEPX(89p*Fc_b>B(4YKeIG+^)e?r`q1a%~2g zlh&LEp9A z=h!!qz0|;!u6r~4Y6rs#70~neC;yxXxXXW8G?eVQ6d00E%JUVav3j`YqaJ^*HEu9} z9l(inVdx_`L4NsscM1k|k!-87FT_^>eK4`0C|?EbO$_qy!G;`8UBum3*n6Qx6}X&A zUgc}ccAGp(ueta-aIkDo?^79CGn77P#@RFcarP{Yv+RxI{{#HX__`A^AQl>m?K}xT zGtSetV?&?IkG3_2zzc1}Qz=({xHYkGDq+X$=+)wbn5Wby^HL0zPE6|64joVES zCJ|DEnuNFaF`ns$caZ&QZ@w`XJG|`D@YZI@D#_I!9a5i~;Y`SEb%#-Jeb?9!W}g06 zaOg?{&rd7Ag@>V&b?)2kywYEq`6eAKXmfp&9Ghn4o!P1<<293s82fch9}XciRDPVg zD;BL+E<1bx|CjziwvCb8A^+c#ZJpJgd>rA^Q!q_iQl@l0>35PJg8OzoxVwruTP&QG zeTe_iy(YytK&bARXZ(w#yUMO#OZ!QOt;PpiG)$d)bWK6)3DRjMq_;xrJIflU;F-o| z-lgAF^1-q6*S*wRw3D4W;q##McgEBK9rf*aFRT)e20FM|4@l6SN#7<6KMUVrJ>aDm zJ-xd*`NaK!?%fOiv=wV;M|JOD{5ckmKd!)0?W*<^ZROYSPP9e##%iFe#u)i#Y3waP zPt6l_wnMO9@_q0#K3rCjxllf`{oMLSaBGCFBZEB(e+#$X3f!#3wY$dy z;wO&>j@t4URte95mYW)1#2(}Aoj^`I@?R1Uh_;J;I?`5V{t|!x|D>Vd)4yVS=@07L zUVr%ey8Nf8gY2_f3k>SI7rs7CI3P0ud*Me&C%Bp;nR?O=vP;Mg{7&tF&Bctb(q*(( zAvvV;-ebVl8lP#C1mg??_v5J~F8S=Wxe@P+#JS(EkSSBVRjqpTtl3 z9s4BAJHSU~PF(c*WR$)so);f=GN%etkKu)7rMZP8uSll+9^XH$*MYa;tJ%lktG`9# zo$r7v>r3y5tMuEqttX=EipN9XCVfq~N`8dKS`PNyi12)B5T4n85YP4hAMp&IZ8>2d z&ozVa%>9FSX5Rr%=4|gsPuZ)qMj(1=EED|<-I!xawuIR$B%Z+Mu2FOrKZw?WjLrmM6Mn+&diIbR{KhS46n@M%O?|`z69?hB01MGHmKaD{hz}DRJBI=qQzK1Ta6 z{>z8KSr7&f>70FhGqj`LlDn$^siy3y&Sk`wU3A`{o}ym_`{n1EcfC5a-fE52TYHF? z5$bq8Ossik$i{bz{t3P4kNHN~g5&hfA@qTZ@Qn?8)xu*J6epyYyIMc`C^Ve|zM^Lq z+$Fo;;9d1NcnUTb-m7>%#B(+4UY3=24v%I2ivIgizH7a!L+SZGly~7Pc!Cq+J;VEr zylZR=otJlR;yuV;H3%L!zYTu)gKvKyGU$J3(Er(q?s6{PZEVv~`eR$H^q&E}M)hnzM!I0UI!^V9gC{!7;US)$KE||l(d-Q|^a^?O zvI?oP`r5^`Z5MZZtDmu+9gCzGN4fV~ZP=l9mz>RbeXovp@xFLiyt?=n?;fTe$_TON z`BI;+D*3y`e4Am`8Y}tyCi04}Z}#(^=jW~D>ss?|I&0$C1}n<_9C@YpU+3pN-Onq2 zt|G1GRfkEVHdmd;(B`6@p8qEemmP!F-nYL+*B5{<-O#}GY1x`u!)0zCeBC~?UXnjcDTh&Hluj3aH9bUNc+Z4yZ@^3zTv z?R4#Rh$TrQddL>^FQk=?LTQ;N?T%pkQ2&YWKg3x@m2`MJfBpSBuc)Z=y9)Elt@!rL zVcu9n+t0?{H;ghV>znLdac)RF@Jjfk1*I=09{6P_@hbd3%bal#_?^mLybN7>d*rB` zPkexRedg%A{>#+u2TnK!pRqgLaMQe^HEO3Dxr)#>zbKvz^S$cPozy$! z3@zViupReBIkJ7lE6Bl0zJ7=_^%ZH5-7C01W9hd}TvU7%o({#wv*tJ1Nrkb)Su5Q2OJj_4 z+7Fg2$Lp^v<=MM5LhuXu#!$fu&olf#%gGk<&iq0?6td@sLy2YK@pisZKGl)pOZ(~) zFYOx+t!fgZi`vir&BdITm{?M}A$#N%);XT7PTx`t*)!0k2&7Y*8f$8426wNUdvhs& z0(8)t6!w$lhrk)8UnT#T4{{%e#$WDGk7<8}>VAZO8gF-U-@3+_IPI@76MF?`U~`t9 zZ&ORX#$8T@o^tQC>?28QzsOJaTg9)t_11>{c8lyyy{@+(g)@MP%iNpcP3@EF&_C8i z_3ulDU+;9g_;z@dm;Oe+)iK}Exisn{+bLH(lRXo8X(yc}$k#cf*IZIC!t5ImybfT0 zn!KIFdY3L2q20TcmUN%+%Nl3?d;eDY|E~1^B`f}I@c*U!f3k@d{BM`>Ef|XrL%TzM znHN*$YuvBX4E_dp?y!+PP|v^Od6)kz+mG^Vtp0Y`TI#IlViNG)nYnPhuz>&o@{h`Wg1@ zO`@9}H+D$P<5{~3t)!fwEspccP}^h2XxR&{`PV}yOZ*f>3mN)d;ITeGnEmt^P!D?z22lBsr~`ay-1xxKL0)K^WTr4tN8EFK962O zY-PN?l>ralm&MNko?H$*m8r351ZyRA$Pe}PP+=nH?nH_(FlUqEb8mN*BZY1wZx_V( z?2E(;`*f~`?DLWZ+D96}1}=GQB?|5ld_mXwWqjE$Lu2Q`zaELj{tsnH4h}BkWy%QZ zag|?&#!1fdjt&1mlp%RFxD4*R={J4oLtfiuXs21?W!gq<7oly`Mk^@)O!PdRyL#B# z>Ar<*uVJqewkP6nIYoSqCUPd82$g5?Y!j!6lf+r} zXI{he>^N|cpOPm-sasQNr+X6Td_>seQ&R|)H&X8?&!hRasetX8_Xyu>_;#qsKj3WV z+fLv_tT6lQ!{u$Hi&FjuzV+FBj|-njc^&DZ;8x)K8|_<5&qL2&KnK-}alU-=f8$R< zJ>J4^RrnmHu7`vlFyp|R#PdqvX%ABuv0%o5m*RPKqT8JS{LR4J0!-2AFmRHb!>=)@ zmoyQ(SPJ{JSxfp!eA@^QkDyGI7l#fF&|pZ&E4QAy&85tG%FhE^w4KAdbmDqoj)vZE zpjWS8JDNGbYRQV4kkeH_R#={_NEP2MD=c4D z)IBO$@d;m6v<}D$`a|f|3RzJLpQ!%^eHMS0RRIq5!hyao9`fYIo$f(jE+GRNHh{+) zE9;#;@H##xd}cZ8kTsHLEt#YY`6oCpwaD3QnI6u(+QR{sk7*I4t%y}S-o@9YQ~XdcUgNKP5Y&o>lb?WGG{AUoV%yFYMp3_ zT&ADl8#3LIKSI^myY_trd~_#A72oi!ZPC3#OR#Bb?_S-b?5hRF%tWhu1L@@JApPk{ z&R&84N)6~S&9#g#@w_AZ@9st3TAS*svFQ~0h0@uiYp+PRopefbB4z2n=3qBg{D0d2 zZ}b1KKfX_;eC4U*+Z%PB-8m?C3+ZPWSa+g_dh@wmG58Ri9_HU#+HpgtCuhaGd3gU- zU)BnyWUboqJima zYj@=xk~O+1x-BrW*zJHXI01|yDxim~k9kHE8R| z*!jpA@|*T%X^5! z#6{vLah5S@FVDMdy@$#XJ5>IE%$|*dArW0mUQbCQ-@Pt)Y@)F7>FG zWLsVom2|6QSX4*F(z4ue4lgRyQBYCAwy9ksp4%z)W@L2)EHk^Ipb>ey`^D|SgZI&j zd$Xc^zQ4KVTxW3vv+h67AM3N$nrps{ImVb{j5+3*b3M#+6Zaw1u}10Ov#GLAt($z4 zE1~XulxOKy=}x0l(J6lR50sl?Lal*!L1`j-tIu zr2j&FZe`vBKWSdToEZMPt*EjBcL%k7P9@lGQhI(7LHgI)wt>jwFHJ7W%HJNJy*I2GB z*UsEfZyVQUt{$#6Tr0Rbx!SpAa!ukI&z0k9=6dtMq29|}8@Zm~dYEfDSBYy5*9@*U zt~}Rht|qP>?;Yw@xSr*Doa;fZF0LE7W^+yB3b>Bo8pW03dgDF#D7iLpO(GrweycyI zeFpHN^oV>CE`8^)FrEFDeJ*Xb&8szImp03$5o;Kw6>Zw9v9y^s?d4e744cM&yr}Fn zo2Ixh*T%~>?S)uc#ip^RBFguYP5XH)ZHrC&Ni6M6o2FP>*TxQ;rZ^6lw%MlX%m|mZ z(WZSjmiDYo`#-U?r)}E9v9t{~?SWWYk4;ltuWRE8n|60B?Qxr?eHkv_qc-iUv9xZR z#(tG3-x`~?AeQ#9O)JIH$~Ntbv9y&o?Q^lT6*leaSlV)%HYb+WWz#+pOIu>oE{~-x zwrRxrM=*EVv>CCql1-Z$OS{pgof}KL-lm-$OPg!c+G1(#Htm#H+8mp9Vl1s-(~gU! zO}1&w1tORy*|fuBX>B&`kXYJyn>HqvmbYo6V`)d&wEbdf<7^u9@2K6eHf`@%TF$05 z#nMLGG|rNW%8s&W{F5_E8)4J_6idt6v>mauW}EhUEG=cz`eJFGO>2-Q8yA0UCPzG! zN1T!74U;(={I`5_vRknpvM-%}%k7Pf_k#Kfo#;Z!NLDG{M){;OKWJt5AF+uh9WvCL z$d%_B%QcFtnaktaaWJx(>m{y@TpPF^=UT&6=336RnCnKacCJ}mGq@&m1zh8~#&M12 z%5tT+-W-dL;Hq$K=6agz39fFg2f0>oE#WG0&E=ZSHIu8rHJ)o6*J!RRSBmS+gQ$!?&#mX#q#L=- z^DLef)2#F&&x&E!^Gu%EpJAS7@XQ`f^E{1bBe%)(GS5|;Ug24B@+$ih&)Scn=Pf)d zc2Cc5@+`S6x-Wq4ZP4AU2sOJqlYfq7$ zdw4c-o98EZ{=Q9roM*+~DbJ%kKVqM|dG5B)Yj`$tn>-KmyxOLhdHxssyprb!?ehwr z@3+s(c{XyJvRypiYtxtTyuv;&=J^i$+{yFp_PNBfk=vBLk>@2g{d%5nw$F2UUTB}& zdG4^!b9gp#o3aI-6$7b0PUiUw_IVP|pSRC#JkPby<9Rl6oBVm6KV#F6;Q3Sbc^uEP z?ekckKW?9MJR7-9+0i^-YSTyYJkvgp;Q2!PoaOm^``pa4k=v9_@m#R!9?u`)*^T}8 zFz$Wko*MgYcHDokLu(5CG02i1vm`&XCK%%*SI2>|I%e5A#!-jzYn&*CQnEvFWInQF zQg#{R=)AgOvc#uaciPdznMkbFq!km}Jf*&qH6GSgA6PwK^^{FL<=w#0xtlZx*Qgj= zoffV{3@#(jDutS2dM0`I8JPS4S;yWT?#T!6O(g^QOw3uOtp+aEoCH@VaHXtV>^#}x zCXZ~*f5pg#cY>j6`V`{E!5~}=quoh8_che6{71;$Vc;t%95MfFeJ#gYS$2u3{~v90 zL#)lbjqOuR*}I9+N)*af?IB8lPt8HK@64QYiapzuTgq5ueoJ}}eDpoeINx22R?o@( zab>LMyz3aPJAqrgC|PP^*o$E-+)T56Cm+eQ`c$6ZWG=n4z&f3GZT)QCcQ9x2y=$cV zTF++>R5rhoNK0^a{Z8||gnU%~%i{N=(obABJ3XLjgYJO69xy161B zbjYtu(-0-|U;37(T%NNw`JTm3baPhzp{d$qcgwb;ITwfVk{mO?GHDF|w$4qdC?@ZK zr1xRvIT6@O2B+b^jRWA#Nz6TqHtiEbOSOGTdx|QXn4nLXq?XZUq1JMdy>2MJ-{Q@RpAV@E@Gp}cTc%ozq^~5;U2|fh@OjU znJ4L=*;{aWtwcT7f`6TjnCxk;B)j**|3ciA_f&7vBgUP zi+{%S=xhY9qJ0E@<+r_@FIKxI_xdYWcfJ0~5cU`}SDxzix}WO(z5e~l8n|TH62FkTpUVlY(_}z@4;Gv|Jc7}U@eERCUWNh z+szfh<7aQKC2}{{uC{RL%%FX;$;#f}3ETC{rJCXQivB~AtlUDIH?OQzzsa@FZ5tZu zt4F$DQnDw`+=(Z1i3fjRXYx0~}R}l>oI(MV}SG_)RQaCZ=%DcF_Py187&0QA0 z?1yXkw<^L@Hp?0sx`2xB;T(9@tU`Q=CJEt%c126yd#ZOtmi2bly^`6ddWV8H$GZoy zcB8fRapGI}wF!Q0%CAp4o|QkJePQ(ke7gvnHT41P%<|OQOZV{oZoaSJ`(1p$lka!%eL3H!^Id+Thxq;=-yh)n z*ZF=w-^+ZL-YxU}Yka?t@2mK}lJEEO{T{xb!S^=!eAqsnwXyW|%wHnUkX=b|DL&WO zL#8Z4rYz$;&aTO3oR&N09JA>T&cCW};hq0RCtuGe3H?Ne<~KA3;ct@Prvy%J$|n(N z=ha`L?o@7m%U^Pd#Go-6Pv_Mul*I?%@;CCNL|@9kOq$02Uro6wb>pMt{V%-#mAZ9y zv;1G=d2S7PllhMI!11%XJKrzD1m8x+wobuY9vU`;9-}{`xEE)rw;K6f2P|A66+JU8<};p; zBj%^9vu96JEJXDS`5(V>ZTYQN&ZZ65U*;jL!;w!Xu$C9(&oXEK>P$xFA-9YN5Bt;4 z4e;lF+%+c{$-RgB816sfJ{cTnt+7Bqh||C>n4c8i{V|squCpGeDIL215#H4M4BkuR zxygRtiEh&VAow&1pAHv)X-o^3Gf9VM4BzQpfmMY2Rn_ z9`OF-82`F)Al@4+9;1#~idV{a)WySwZ~4}(XUnJjC&jEAh;LOcacs!1{Qq$ru`bwUN#*Vhat!OKn+{3yGa>3|#&F!=Cp{6vo|_Bv}fWh=}nkah5D(=hCy?6Q{`vsFJ^Yy3s)8q_U* z5RT-VX@hr{)28}7XxL`6pI`I{kQ;vm2eQ#6Uqu`4=?5u)1o1$#e$0la)W@exAD0sw(9a85 z+W&j}u!8m-KV&U`K!@b(xqpm5Rsy5rk1Q~bHZb?=F7b!#Q1OS;OQOB_D6W&l7mk1Q zT{Lhq!SIr$f$*<>FQVT;JMlKiN$ryvVQPMm&Gm zgVKwfBMlEE@itnB1CFvvSC6&8?e9|GW(I@GStEtcFu;a)-c|iViV);2grEhf^n>Sys zK1Vw#Vr0A=^LOT`nuAPcAN%v9Z(;759+3Vl>BL0V{Q>Fn>AUuKx8CFTRO<#&UZ9&o~%lRJAwd%4=sp(*A-qQ|cL;TEO|n9EG+ z;#)u+?ZjZ0Zmu;InDd|yOUwhc2TEm|a(9}4+-Q%Vm!};&H`RWJt{iQ)6AKY^)|xrf zDZ#qE=BuoyV1ica%u@}Hgdd%qr*l`tH%Cw@K+>u|9#@9y-V!3+hfxt@MyS^-cM#0nr{WBl6>5?m5_FKUDU(8iu zN6l3iG+v6~eRun>enC0SkwwpNk7;rdWG?zG>r$vfw^yvzjudcpK{lL>+J*Ze4cO%{*3J3v<=S=YG@TE~@K+ekn5Y;CDPp89YGkHe= zuXvL)!RjM;{w2>z_;vg#ZmhjK{I^&>m!JHNm=Ej21Mwfla(AW~)R{>|=^DwDsr5%s z;f%-FcVtIqYoGWl+`Bv&oEjO9-*R94T*C3seiwdc%(s4?J}B*DHVxlEt8Anl$Zf^3 zB1g9F_@*@9ol8j-UcQrI&&JfCd z@p)W^$9deRtkFB<{r;DTBN>3>PYK7=9m(aG{E**Be4OIEdCAB@@Xw?idFfvgJiM8o zZ^oa)YqP!;&;+=(w7jwUxU|`~-P2AV`MwJ;wuij9 zLjBGbYCGY>1ZRXeUIY(jAG*fOkN->__5d6Uj2Z{4Kb{8Oshkf2%=F<*+J6%tx!Oej z*69PWxT-&dE#iNZw!HC0i)-+@`eor78R2A#*1OeaNEduuY8$%9&QRNGmp0Sq=gLXi zOta3DQGVG5;<4p6Klp9c8PdYRB;dkMu3m|bK+m+i$(bOVXov9+uKU~mI%#hF@0QNw zJq0?;wiZm2y{?hOQznU}Oe!uxe(3{9AENQ&{>ch{m{WigVp~4xu{Nmp_2%8IhsE+0 zY`(u;73M3%^1aFV-xEIKh5vc&5}t|cc`R8U)*aOMqVLc89%s!2^)bhJ+h=}*^fKq# zk-pKUA3*w?gFvZik-o*I4<)_$3DS!}eGus{+4Lc#&%J>3 zLQvP<9VX|d-6ZLP<7NB))_8Bb+TUj1|H8Z4ea*iAk$1KChJF77?`mgtfuF?dpmF#SJCFCEa#e^`QgvrXGdn%Wp)-(TciZH%_>&-1Qx zo8H70HERq(xjM=I$2Nr?5X}|CHU37~BjJCC#B&qi3Hk0;Ec5u6D`))iy}w+CY_DqW zBlY!?7i|4|ac0cl9@GU5MD2 zZ8kk?-;0M3lSDq*#$N7rY~f@j<+T|9xhp$D-;h1(lm5v#;bizLAJkJe{TT7Fg=dsa z<7}x`mp0m_Np?-N?LBeK5Y9rSUE0)`J0wYt92qcnRq;Kt32s~$+b1s z=5w&Farm_9?ff4hN`qGOF7a5O_~EwdXT0t5yPGTo9QBvsC-Ij@{W@nWFa9gat_=G${^Q>E+f^Stqwg<$ z+1q~27eiiG`LX2JoGnRt*S8}qEID8q*uHSwJj>hu4RGh$7-`@&{}*g^vQ2g0U}5|9 z?ICPKco*KIK0}N5LJQGAJg#p8VZdLOc@=nNvuoT9NZ0+n@~&Uw zfkSO(;mLSCE{*>5UAvFBePfLOR7UNn%%t}tE9h(S1fTuS{3F8lm2ab7vg5q%6#8e! znZ`;of4kZnb1EBrL|?3@n08c##~gsX832d`!-qMz=77jCLyN}0H2Bclf5rx?`V{~4fRKS zaKTtaR`wkLZbmW|w~3GOvroDTIu?U^TXtb%GIQ+x=+k6xp@~_!^V6oBV2fmsgH2%tc9TG#t> zJ7cjur~@l-E`mqzkk6Xu1r67?W@wZ})=2+$CA`Y<=nf+zOV@$dVcw4ZqhfUxgaFP6iFNBwekx@|^?YuhE+pZYNG06V80qcG2sqM^{ ztB)`a{pJ?%%RUFbd5R@Dby=_M4B_)o%P$W(9#3Kt#Oi*eS<`hL{ua4KF&?A2n<)cNBT;w8?|q|Slg1;^`r_xZk9bOeS!!J~TbwD14TyULq* zoyh*6{zKLoxj3A&srLI=m`CwCj^}<#-46fychHU2en>KBbG#*<)$;+^OJQ0Pkfzq9 z10Adb`QsDsF#Zz3lf4rykBNSg+pjtPv$VQ$Af5)d)RmSRCwxw+UqIW5cTo00afx8I2s+G8Eh+dSzwEiE3IBV`m9=IXxQ*8M;DCwC{`{3TS4STElCLx> zMyA0J9zNU?WAdROTrpN9vu9r4Z^H^M#Sl)`cm99v>{89KStnuqb~X;b65N<~=>Yc8 zaQ^DSz~pm3EXMPi-z4#!6iIV^o5nbH_>}Hc%*^+Yg^?bxa9zF|ST*KcJq9;9bAF|C zOcJ{-3GB%k_%BW~|3JZ(!f!4chxKR!r?VSO5pI-_0njh*M5eN4)c*ymClqVbL8eo|+j5F0*BUqq;Wbm%}+ReJYtH;R3 zv7u}n*e|VzM}44;7VKB~W|Hu&D?cslZ#4~UQM(og%NUEyANoX3tuILS#Or(OB5(U$ zq-DUPVpC;9`bF%=Kx-iFiVFZ`g*x`m!>MuXCqed1pnu{w(wZC$PTvxvmO0>Z=Bduk zDKb77|FV~&v;zD%?uABb6nl;$TM2v1o08PrL~RgX)!KPAHr{P7^rlL8H9E&U)tkyL z>en;W>uiPq9_hS|@1;czW0xTt_GEKx)3~!X#~^ESWZ+qqGqM;RG046T?3?iW@@2dB zO|s3j2|czWkHE39A-3_1?h4Na1(#~mhkr&Fx<>9rJxTAny3P)WXkqCk-+q(^z3+lP zAiJ-bvxbk7UmjWvM#iUdtgSGY^))^Us$Xla;nMGZHTg&t@012s zY#UQ9YRk4SzoyP&A=qcN4~&vef>kkOT7P#q3E*kb3BAIZx7vGjojJcn^7NRm;>&XF z(&sm*^JnNMS2nZ-)|qi3SlZ)r9t#J)*5v3y$4L2H|66>?`97}vOq=Js;LoM0PS)j3 zo%~+~*rwKR1UC0QYtz0=+Pn1;O|)gu>rp+kY}yy%Y0&AG+1_?H#+~1Xa;+a8?rmRj zo%9cDxA*`ZJhN>*8ecPGJ{`fWvx(j~#?G%zzfP-3hHSBE+lKKi8_-w!$-WF?aPZ%E zG~RQ(w|(W_38P=u;^*x=gSkwAzX}}x8}D0)KhS&$`z~|im+%)bXBf=4Z}TnkotBn2 zR-Q~9dFn?WJbL-w^(=F={1p6#h0xb2n*H)<`qa+(GmIg<|6K2-&W1P9`tfZ4PNS`t z4-e<-+fK6IWW(@Xb8^Yq$CrW^>*vjaC+#PE_47Ni^QjMhmtD*m6C)k&LRzn@&&)z| z=8-ee!Nm3%+B4VfbNRXsvpzoBQ|$T|;Uo8LdF-2F+;7k~3xn*$B5lw43S*u7O?(@h z2>qrT7xmL{mKVnDJGyHv?BRXA?eoZ=$}uLh?60=vh8^W?zn^r6pDhRX!zS8c$M*dk zzseTIxYGfQYkdFA6D?e39FGt6^v2J5+yCthc&-4Pg$CaN0*dRzHJH zApX;NN%Irl_BUxuc8bG=><7g-A559W@WMgJhKG-{en#;a<2=bXm%p8U9?SgkwhQPJ z`6GC#NBoPdXx(i6fNLe6kUvWQ3;M^^F&EtZjj~=)u0H76vgMubJzxg59`H-=n>k!i zuKyX>rSo4CF5!)-!1Ypme#4w2t^+j(*%p5y%p?kV!+$tQbuJa_p?CUDnWJm4-H zw2iy)KM}a*#QdC-cn@N7LFY}k#oi0NkBW`8X}lj1d!NDk8aLjkeEd07-zNK>7Q6d?heQLZ@m2S zqezz@f3z*@aGbN>9gfG^_i^0$CoK5w0?+gL?XODG2g~r<9j0a z0(XbwNxTbohvUii-Ql=k-yM#p*>{KI8TQ@bc&2@KI4;_EhvQl9eE^Qz8Hdu}=U=KZ zI$gRw;|FKdHd?=jhtK1D*1PKo-mLL2A02vot4s3= z__f@;Ix9WdRvW|_>}kft; zARk*@nzI+=!!~jfTTth0U=vsGWKB|WJt<=M6?fy-{Mi@H8B2FG&ct^wIYjzM;w^?Z zq+28GF8uNWBdd=7XnU=5w{ND+jrI> zqPcEdH#ykv8~}R}{K$@UaA8~S0@vIzE%3`VW=<5BGopoHa%qvz9{2^9`@UBU{-)UT zyXng>Vtw&~LTxW>>qwt7mO96D;Ah^{EBz&&$y$G?WV?K#vWrXk4fQfsOY~c(L79RBW_H% zaWC6O>($8KXM{)9=koaQyvFMP#lNe1+?;bOYkw|J6SU#~+?A$)eB^QC%;`zP2k?^k z1zC5$aN+m&D>JZPY2a}@FI+0#Shy5iFIl_FD=^;!)@R^%#X6unjLjFdY1%6YH(Oj? z(HfT>Kc=6SSDW+mYjf33wnF^R1Nec$GhX8~^({>$uiGtOUIl&(PjZ(YZ{l)z@ks09 zJ)YmJ@1wt!PwC=E?q+=pd$~H%+RNj?5C3jQ=apNs^m|~wX*SN3b@qe7NmlCw%Nk!@DBfGp&^qlv z7}4F>jq2}|`g)#|^yS}x!)q^B4`3|$g*I%AX~t*pQW3pfL~lDinAI7Giz?b%qWFRT z_=NJG0WVx9A6Dxq%11C;oT#t=N?#BEC;R%fzth)gwy$^Wrmwfg=)oFN=In6ZRsSnv z)5xPe&}KgHzIE+CN1JQ^4!q+myjSf8-b-Wf&gA)deAj~W;yu7Q12|v!C*hR8{GE8{ zZwo>mI)!|vTD(1K@pi%<;294*-}xuuIr#6uv(>_L0QqD;JjwcmQ$`sA-eJ>b3 z)+;CfDu0_7+ABuap??PEmv2-0=XK`!b7FJ3q*o&LD5yxrAt$y<$Gmziu~+h;g*d6c zk22^x^L`-DYD@B4aGgu6C$>rEGu)Xww_ZN1AC_||{~_KrZ&qIE#iPlGjLMwC9mUr= zmbOkIpLpQVSlRcIesnBdeuHk-c;st0a<*8mwq4441~#|TOQ#D)>{fh{HTjQZm+JqN ziTtMCoRPy*TVylIMwUK29zWxUEG_X9zD*Yr7v1XNlaj6*iW~@a-3-O&+d2x>2K=D< z)E;Y7eVsR8r?hJgf6uV6#$5*mTtDt*=}Y%9!7oaUaGkW2dwVr?09X%-fpyKcnhW9Qsz9Kg4mE->d@|y6)O0 zbBwUf-1E>^bG|7pvh^KI)c1^g#y|L&{K9JY=LUa@7wmk9Jgen9)H#NZZ~XSNz}p38 z{oa+|%e9qNTj$Z%c`ZMtPs!YTbj1|n7N$VcDa34?o}e#j)`|NxP7GdI*8q3bw$H+^ z;4zX(mRFkY2EScFop>p1M(9MjYYmJG&|%XoziGclp~|>~-@pqo6U>kM#6Kb2 zB`Je{f3V( zPZHkIo#FvMe=2iv^ACE;gyYY_;F~yK#kL$o9uw!X$^2IjIEekrT(k@QL-;t41z7w0 zxk2s6-ZRJ*uk8AMk>*9F@0r-R7Z06o>ke(0ux@OasPFr}+r9@28d@7O^ku$od<5nG zapUOhWPzjaRnge7@(DXy_(|uOoOE`%8%N?D zXJ*`(Q|ya_?`YtA_3CiUzY>EFA58?`6MKMc3Z?lRu+<1vg+eTF5vr# zjdx&eU1)I<%HJ>^&BEa`n5p+p5oVM*pSIJ3;J~pPz5|QF4U6 zK9)Wq9D}>ShlPc>Gw28`hOh73BW^wb-&|th3wb$&&+u|rh=XDb2k_HsV8sW}**N$e z+GnrOZrk4zFH1H!Ufzf25AMRhAxwsUElelHU}BF$1QYfT=YRC;M2A<$Pv}nkb|JmA zSIX-KM_s=`pInGOxv=FBz7NjdTJiH!6$ghtnc8Axtn^Vk^+M-E$@3}T^NKn*^*6|k zu8>w;w^e_ATSzOv>*i#W?L#>J!#>P5<56SE@(!|EV=RgO6wP-hf0EvX(6uu?3%>Y> zZC5_|n~kix-O8#9i3Nl|x;pgVbt4xQr!QO7FTfY<=fb{O8_k>S{0~8rxtjRA6nY>n zo>KkP-D&GqtR8x|RW_;O9*@Rf<^`dxDErg%u4E4)vMwNQj&{enHE^5%8EkmvXHS#y z!T99UUK#Ym+PJSm_;7v``Aej`_*cr-tBbF{qJLxywtXyY3uCZlNLNgweA!>pKjo1z zAzUA?VH+4fc@mghx?8V2S8&<9Mjmt(YCixM5lqa5S#w^U=sLUBc{6qy zvck<>+it?Hz~*fFCNiWP)NdCb20Dj?y}87Qdc?K%+YxseI|7@1s~6nWxXFwo$v5dF z@=;E5P3^IU3~#SsKa*^T>G0$97LEO@+e7&t%GrCU+u0Cdn{9h&GnBJ;QU5|CXTMK9 zUN<_j!dLtQhyo-Dvm1?fK%573IsPc#OcoREw_ z_O8_!y}I!FD``9K^5T&ge@G_C$E9&6nQ)Y3f*nia@V$!XH3pr`I50NWGzWG22p(ge zpCzC3h27|U;V~cLa(sow0lqxu!DgLC{zKLG>660ot-9PC*ZKJ3{>Cq9JsFqbjVcAe_C(0_=nza zo73v-sCawMzl$vEJA?VQ;JXL-oIH%+k>A$BgdSdd7_?@7mpPfc;F!rBy_-=VMUSW6 z6XHd*aPu9n7|t;!8kx8NxpDq({l=0L4#t6gW9gT}sK0Hr{99h%DLkLbv(^BI@cbd3 zCpn)f`1Gw0fjG16vMEI)qX)=4ddlweF0nl2XsZ0+rFtm7(%scv+I{}|803hfIr9v| zr>awQH)9sv%^axSCcJTfj=Ro|65UoL!kCZG0V6t8Ygm0+m!4zOZ-vJ4*~ngTYf}zq ziV2X9^ykx{0cCgbquaP~=`2GV8=o-3_)0>aLoPn!>f9aukw2^7_)Iv)cgJIC!Q|o| zL<75quo?Vsv}*{RL(pL!K7~9ym&2yZ$}Z|^+*%UfbT)oQUiJ5S+ux7c{vJ!+xx(_s zbw)Q&uTJOv0(1oZYynS3U&z0t{zUk&e9L>d{+sJ~D)M(1JXM3)ux(bW~lKmO}?#6RZ~ zt?v3K@ZT-`+jZ)<;~!fP{2y-czo4N#5YN$uWUsS%63E^M=)?Dwp6_Z5I&WET9QR+N z%<1$^^PN+*>|(Po z1v;T)c1tJPc}F@SlU5%>+jb4{ZL&D6e(z?Syg++@k4{hCq;ayK@eFy5Oam_iWz$90 zCLJKh>i>hDbaDw_2=(-@zdJs5>y!AA`u8AO-VS2)TF%(wY`Xeo@c60dpAVA%-ao#z zeReFKNc;~BTV}Ump9Vqwr{LH5)riY_M)0j8&9&`W9#Gv=C@Vbex({+$V?J%DTs&QN z`%v;K-ctMaHUD*WDz-!ZCS*gTTO=cWeBX-q@Y%z8wyo2Zd8fD$we9i=&eLh{NqDb| zeqj3>nz*s;*2I{1Jmc&Qx7SN+ZODlzHdA^1bhvkDpzX02{nRJ{#S| zc+i#|(9d{bO^$z5SjT>=#&gv9D=XBh%M$wGjPII2N=n}^lW2K4` zTP++61Lp(llfIPy1HP^G74^Ndq1XWVAV+cLa8y@MN2AlOubUWv3UalwuGedi%`Ksi zVuip>s2AHio{HpADVDFWtdS-L>0tT{?PTv)+q>9Thi^dshzqd&fXnPxOmlXpmt#Ia ze3i=Z{6NBMsU8N8jb{FK1^gzzPt*>$i_=Cn?~mY@h|hsh`;frN+xDu+{{I&Cy<*^_ z{Gx@maa`>Gf#M(ZSZ6-m11LSl8B&?SmakIBNROeTZ6Aos>5JRkY34r8zWxeuIC!-# z>=nYZ#$B4?-PCXC@D%uwU)T{jobEF%H@fR%RR?jJ6ubU{A%i% zSMht6)ckCv`jW?5H8xYSFt6ejh~JQ_F_~vrb(5(R73Yy1Fuir^MpPv))|J!tzd|6SS4gb$K{LdP6-+Iao#5em9GT%}< zc7yg@#&LpwzfbtssPPZ~d>(jbyhGd42fJ(gD(Z1-SI!qc#*PvCwA;A`YtWHCh|2?w z<>|YrZ|}cT-=ue_?^Nn@V}L&HaSXhabusqy8qS7N4AciHZ{#nsHy3cuy_GFpL2Rsh zxA)5ccuHs4ddPxY4|aA>Pp^vy^0LUw?7Cj3kDP6FCI8!t#*!U-vZoX1BqtvwlO?BR zi&d~O;_oln_c)x!FF+l#Ib7__#o`5QGTDCd_WZ*+UnvKV=bo<;2bLsuE$N@MK1u)6 zY1+f~HSLYYzbyZR<^%bB8}V;b>obUd+g)9WY_cNVul+%T2J37hWWSs57m1Tb|9Am0 za8_RW;70MmE)LB!I z461lV_6^a8@_&crkf&>N*l4)`(72fM%# zo9kW19vIO{G^^3Ro(J|%-+p7iArtC3))-w3-Dr(l@cklu>&huU&p&>B9r_sjNN1^D z=``txE2%4I)~QVl-CEUuy|Fj@W2;mqOBwNtYzo(x6+vk0Pmk&lEG9<5)N`f9R|sck z1m_#n)65=7zsNai)ZIECngNUK15a`0+!cqf*!*U_6LXf$mil!Nv>HKNe56O)iNkL% zHAWW|TVIOC+zPKh_FS^!bH-iX5in3@HB$H7Ch430aa7{x7Nilt?-sNUY|$5sec8wg7~XhXa9lcnV$+}@B+#` zW^F0XMahh{u!u(dXT{XJ4SAEJywWtz)t3A$5nNV2$d+#JTqK%P zR`dT;h@aBlFzq88NULuPW@wcFmj7R9C3{7*y5b#Z^>t$6Bb>lL&i;tgYTi50s&fyt z`rRl0KCQm68(LlWzo6CV7_BxFf3zoBwOLxF{y(CXU4e+|7AI-m+;GGy`JCud;Q|SBKWOc#<`=!G%HShS>xZo z0DjP4%yrjA>vmtIF6wk~BKTVRwEkjZc!;C&*t0*DG|BIEvqO7H^B}#yE`H<8K7E%h zCmfy*KA4y8vL3}binWh}<4@v8J{cQ8b8XpU*Q#Hv`FfnwA=~J)TBq_9FT|Otxzq58 zlq!4E&SG$*z1Umcdh0O3k4{MfSK2GAY6y<~4IG6!J}U#)Uksc}(W|TI_j%d_oYA_P za3NUc*?#2mOTW(gNSXQ`7?BSiIu7_;KhBj5Vy>vOO8y;tI)rg*_2>B0rdV1%MSBBd z*L#>hxHY_kq-X5ad=B8tHaoe3*kS%J-i`gD%Zn5o<^O5p-_m z_xMCydwUsNtN_>eC-NQN_411!bKh2BBkUmWPmx!|&h&}5bJFw7hm8y;={u%)W!Ie}yJ{k_D0#|NRc%we}Oq3Ups8IIZFZ9sTx{l{w^jguPdfcsb%& zavhJkG8)SoALVmJFE^HF)qa6&ldSjvXAU^|pnl61DS-1==&zGQZf@)6WVcHO;nzS` z$Tz|oXdgZ(WYT#pM*^$HeWDC44Q@EU82r7|&e&%Cyv>eB7q6wUBp<^!|M1p!{E86| zoC4k*&4(MBYs`wjrdL^yS?%bvQu0~xUC@s8pS2HIJo0>xi`#k?p3Tt4jr5b}s12Rz z^Ce&tPDD@H;gVaT>nO=B;Me{d&hf0B34F4zoc)&t53;>hviIh6!(Zk48qOaVeE7iE z{=NM-8ml2)?reM;{?pmFq1>)$AFcUsk!);7L-{OqzKCSM_T7n>pxGmSdr)&e_RhPJ zm&nbg@8bjR4z$O=?+N0TFV|Qyv3!b2SzzjDLVqOlTcWr{VtzBqZ*WfRo#fZY^j|IF zVtnuOob{>kt@R7@|KhD)iSd`)((BSlvGKzOhmEou2mfpK0lNjp@ z!Rf!{mce7g>t|3dQ>I+*qR6-MTguJP5f_Estn)aCNyz*fe8l16J>!=?N0}M*oHwK8 zkG$Vx>t9?dS0A@!iN|V1w(Z(?#p3`o^FCzM-NY?xZMQ!bXr18B-P7o>GDI-oS83hb z@)he5;Nf0_2jqx}vCYaZklgkbJj9q;tvP}43|;#o`k~Wx*87h?67rjwD-gdE$I%dE zQ_efTsp34818M{3J{8p?bb0y9qSR$Xce5e^e_lJmfqJzd# z7MbGUU_E$OpLS5L9)YYl30Yyz@3wlp+sZJlFUpSDX#E6>wI&X|&L@pB;Pr~(?%NXl z1#ZvU;{0t5w`WcA4_Lz*a${m&SMQE@Ah%hj;ni#krSmxQ&4I+8MNidbbV+psA~=#^#Ptp*tLzv zs1v-`;k!P~MZUv*(%RA9#qzR0uIeZFMxALGv1D6l}eMKW_7?`gijpF46i zN>9KK`YxW-J!$U=D{G}Iq$eU?EywmU)0d35sTchMEeqH-F+CWBI`%`zTFTd*K5=%Q z(=&<(e(xtj-TQw27d6nHfhSs>ZgMeSei!4HxGfWtL;FwI_H*Qw-XR8}`XstUdPn}6 zKR{bxi}cD`eG6ox==-MLHMTtQZmp6ziiK0`7cq1FHbc3iao&ZY9+ob0ws6!RYZJ>~ zAlm|%o?%_F&-C5KwYt0>@CzQNKZzY)>tMMVSkhiQy7|lmwmRc=I?oF+x6T*uW;R_J z;)=SFbMyguk1lN;l0%NuciFE)ZctoEp-TM;kAEF%E$n?U*tMTJ#NAZIi6du2JbdyU z+7@p;YTIT_jkd#>Yve6B3*#4D`xooHivS-A?WSVwMm!XB0C%XHM>GUOT+GJDqBi&GSq69o_k{ zb9mPI8SZ?>!0xTY25NONX)`_)p6S_!zR~&^btb7Z*_JP*1+zDyhx74DjURyTNQMeW z=mFVd{q!O){d6=Nbwt1HmHZQ}Qg4K~|3~V1c{la!YwM8=_1Z&wd+~|bfZ)QcH3&Y7 zC)S5o?sa*f&jo$Vl{^DMpJ0&|W!Frv1rRI6qvffm2 z9y)(MJj)q!oHZam(SBgbssP&bx7*R!;d~dvBrldX?xt?d6Qt8L9$nt1LMX%0&!c)y zBNhvoMhy;QvQo@3u+fOiT2O299)+I@^*=#tSJty5pLZU_Isxzg0i~Mzo*KLB z_%}F#Kj;I~p->hkE(QnCLi0=ggM$8|v)Gpho|~Xw8vP5uGh?_tH8V^T@3uc|L+?Y|X9v@r?hYRsYlTq1m)^ICmtr&s66bDxH398%*9q zDA&ZDeE}Kljr#kz|7O;n{SfFrvwo;LE}iLZCq}eyZ^~&NB_2_|H}S5$Y>}?j_yTX( zh*8-C@&C$B)&Krf*GAx!|5SRB_&8)i#nd&DI54GsE0#9RTTr{5bjCh*PS~c#bPivb z*L7a)IN37bJyGI3cVylO?I$aSHrYtCx6Ih!nMk(6`-vmwhq(6kt0M=oEjBkU0cPx! z1ac(l<;pGkH-qSV>|E-j{$0z5w36NB1q(*%oF0umjo~-hr=oJke_-pC9B}nrZtKJT z?^BxZb=EGkX|i8l);<^7GqM7G?(XtaXxv5fHjQEMso0xg#5oJE{{@~V#^Q`b2gZ2j z@n~Kk+Q=UFGXKhaC`!*!4?HT~n=;wkuDu(1+LFIP`NeNuk7UfuIyQ4=`7`K?9&}32 zN|T1oyw>PM{1J&feadlVmsFNRM;|{Xc5-I9)iIL$-%=k7p)Od%^Ha9Z17Sx#w+ff| z7-MtS5LP#y;y!Qn;WEaRaN#q~H763!Xl|XSZ{MWP7xF#g)quJJ{<%&*wWIMZ{#yh* z6`q~!aBYplm#8+P@|M>bm#xdKo^|nSnhRb=y}vzn_v760yeoHvt=s)~K{UGLik;it zUNyx^UT(%}skTmj?d%-YQ=-jeZbR=EpqFG!0()ZlMU=r-8I@ho z7!58KgM-nm=V~6&! zl*|0@XL;kldEQ67T@25b`W^2hNY|J${xGu^z_{XEe%YA#lUx7wa&W+R{3NaNqsmT^ zjFN2OpOO*16mO~XMdkl?{J8uu`iZ`5mX8FQIldh@Ml>d}j0wr8mx*`#9`lQTv<@S0 zfUlWzd}T`@m#nXOS>$IH4DykO{8p&RZ|y^)lJ)V(CS87L#>`=EJf1r?k@yVX@vyyO zW6H(F%C43l(&t~5#1L%SFm!BX!_c7eWy{xs=`5a!M~=?z`IY4%@t1h%onXn03t?$G z;h%@)Vhf9KJazyqkNyL&{4;m~C+opYgqI01y!ZoP`N%&2%Rhscfv}8>;pMmRahyhn z4S*$!?(qZk1N!ZIhxE%R$)X%Q71zbSwVPO1!6pvR4l*=m%!$`jM*>>hKt0l{8c*2B zk6}YULOjZ219cAeVRZKT!1Kiwe>bVvY5pPGhO9W2vE$A+4E5jqUE@FV>-uFXbKqzk z@~m}%6Y*_I-#l{+u!XQzR}S^@Lj?7{d}s?@gl}b+{*K0WK{h+NnhTK4gNN6T0dDd5 zjp}E%P{Y<+tF=Jc9!kH;?8z!ff3KB1Q`(tYD!-cj*p4PM>PcXdtbT`~BxKVNW@FOBQp+N)mqnzJF{9cu4*m)>tAQ`{cCH z&M@uSJl`P?^9Ez5{cqdnY?r8g#Y^2Yp#2XIXkU45i?uIa|I@)CFQl0(2*2CxKLgY+ z;Zd+-C#`kQ%JZz&tL-SWK9&UdlP?dy;`Ys_gmdGhP1E?$TX5z`sEzGf7_96d>ENg4jvzh$u0epk*GcdtFI=f%E+B;XSwv0&EZ@Vni zzu+a~&Y;(~5qwjhZ{|C5*(fGda!RnP{$bc-(%s;D^(g6a#tQ!6y4KR1z1N&)FF60( zq5fzNRq(oNeeb${}ZRCCw?kMiuz9joKW9$74TBvU7d4Ref@Q7K*UU&#uXWy4S zl*+9$X`eYgoMT6IQ9u4?GcK>UxO)%%e!{h7+sB5=L}jvCJ1EzW2Y&d#;N$1)J<@v2 z6Rd5_a%DBI@?`Ipb#|Ze&qZ~BkKfRa z#@DiK;>jH4rE5i7Y%wDrBYgs%eEgN7y`$&p))$(F|2xK%DjmmY98aw;Imu7*@2zAi zKR@mAp79Ul{m4I%x6S4iTzi5+v~h5_y*{Mz+r}ebZMS3k|DO8JygXa@Mjq`%4<4cC zBKAQH|H5C&;{P$^WNH1^8sm41_YnVsz5DR9EZH_~z#Lq5>pozxqeRW7iJ#(VeUqDpSZpylV8u?n~s(szm)TT%k^oj)eP)+L|f*=H=Yc= z89!5U|ABl7|D!P9o-;co|BJN7yZEg`HW~0855EnRr|jWr?QwF-$~gLyq;I>(*^@5a z8R1U;jX2#>_T2pak@M}ylXm2Zm%FpEFEH(I&eFpF#r~A|SxCr6!=vDWIeo{-3}v;} zIN{UKsuX&^1ai__lM|HGAP$K zkWcbjJ3=|z=69+?;w z*4>{aU-J(}d#-%J>SM`8$@6#}$5F>9>iC1~wNS5yIval`ZKh?jsjg0UMm(@+{H__v zx&QcL{2tzW=AoOzvs$$uIOk!PdGi{c{r`miC+G1le~{#_Xds!H0OlV+p9Jd+2YfD^ zXSsIdC(_xae!k~rt%aUJKGBNrhNt+>_}Rqu)JW+&(M^4mPIPrR`922P>U_cv&{y?Q z{sg!7A>Wj5)uwu z6>HdO)kB)jGF2XIy;eWykp0`|(pYyfb1LCfusVGsIiQ#<2e)d<)HgKa0l)mv zW>{YJV!@n98PgQ8aSD!hT=bLy|oWWptNixqT&bEBYGR-$&rwdG6sMb4J ze`z6Zv^4=OWIIb{iT`yEZR%a`W?U4?)fs2wj|&3o=Kou{P@Z*Jd3N|RyQ6Ww{r;O-Ryopo;duKwM|`_Bv?^WU&o|FkZc^zPm^4mguu$2P%hVpaoa$vQc6xG09` zAwwnA4f_ljd^I!3*q%RXVX&nKc9daYH)3#mr6@hmc*?$Uz7FS0^VrfMZw2{j*{$a4XNt;8yS}mY%u) zcarVp`$u%C4;R*1AKp5)K;Pi)RPiy+|0`E>*;Nhs1)de}fIFib;dAYc#y_=MK6@hz zfI)HF`;m{>%f3XQu~Du*ZD?7ljf>$*`s#ersjDv@zc7Nf#sVX{ztTZH>}xY?0@C#% zo|iS=qMYP~#`S*^2cfe|CD)p0>!F!DLwbk?xpG}}^mFTboqUnLn7nam?G0jM)kl0p zrhW(iHtHrm%*02JF!O80KVS=bp+5A>@NRoQZewc+t&Y~?3?ASe@1mB=!MRsh1h3#X zvhA8RDfmPBHJztEbRg?Jd1zDYbpK*!97uIk7w&|IlLlyRt7lhiQ_ z_d`|=PvyT$J0|A4l{Cix9gU%Rjc<69a;hr@t+m%f`YTDA?D2<5A5q_!yu*nK?LikJ6(T^M2ZDFqq{`3$xlCj24V6VvgfY&dEcC_P3{a;crNGG~9 zCzE8`I{tEL()Z%QwC-8Sz4MF={H>+E_`=n5gynbfX$rVkz=OgY?crY!*AZlgyEZiU zR-du|GHLp(v8{5lQ@wzG(-(I>IQ^^&k6!!K+S!7o^eZEiSW7_v6l&N@O~U=R1y|3n z81u}@bI9!cN+ZXU-tcN0Ff@5HtH^_-pGzQSr?9k5TyBndHP$z^KJDkuW6sZ96}Udi zH`lkkg>@!vN3jwW#oAv|Eg&ns>Nb{~&qO;6Y;nny&Wp&=4B*ke59PeHz!I?;QHCxw`U-*IgN&*FMI(cwh6TWC31* zzFI$z`fO>Kq&>;p&Y#ooo}k`j<4xcTGoCwNCA|VZD)(^)`d7@p4aKN7Q*KV~7b6W{ zS()07jMCnYRQ7c6IUm_Jzh=^M9hGpro)*~yZcHJIBc6+RNo(uCCmR&I)r=qKM{zvp zbPVx4t!@mtxRCbj(&35hylg6eD)7x8t~LItvVDsE^IbP@L}z3g$P~>P&wx)f?ylo~ zHu}P~rM$eGIiqCIx#XK&lx;BG=pk=_eInVR`I+iUqT?R5@*z!MWox^+rR0g`k4JHL z<8F62IGpclH&44ipfB;dpQLWZj5!>PuyjRUyp7ffuS}d@lbrc38HS8vFA==Uo*b=7 zYJHa2iCuVG=iloaxXi4y^Q$y_+qRHTu+6aRUfArdKPPPt`1&jRZZ_KIKl8kVXU(U^ z8yn)h8gmwwVf$$^-pXU($=pW29RA_O`gr^y?tOyICtdiNi~93TjHS(>c>c4190{)ft-fBpPV8Ut-x#i6))k*-ir{>H4R574^wOX1RJ**VVu|u>gFw z|4REKZRvle*bVf%v*C4@>+ZYTbE3J>ng#gZO31ci8C-dNg-;_3V)Y9j7YYy5PdtOx z~mt)Z2rk5<)2YMfi^}F@1?THh*k$1bMpu{ZXA!HUGa+GJb-71yBQXDY3g@rfzt4G ziZ4yxPca^fK|R3leXU@Cu7bP8yS4UNy`x*1H`V^V9hwKwzj&uPi)818JGZBc3z2!} z8=2>~FBpC_^V)QN!+!D$491T519^tn{>gW+kvb#;#%~PgN)v?}`A^s<--KT#!!?-m zp8kb>LOF}KUjq9y`;4A#-9nw%KlRo4Q$jnH{?M0i@D2Y}wW+kU(cF$-h(35FbWA|J zCvblmzWtdkd-{N~r%-kX{dQ%WD4V6+h~mU^e<$Gu%UHWb` z>EBU$e!2dKok`?7jjx1t2;(b3e;hW-Th%yJc}k`pVhvX{4&t4%jZ|SlB?Vnl?Ppak zg^!M8uW7=-Sm3$PB3~2yRsA)0;H8hN8t1_KFR8wE{s*2vyXNIIzdfzymGQZCgTFH8 z#DI@1_(&FIJ9&Lc@8aqW)H^6Y2_Deiup9Jmk&GYwPopz0ztmmEFO}*p`?R0=w&@eG z2H#oM>lgmqSP;vT&WCxvVe_Qf$8jn1vLo?nz6|eQikvu-Gsf${4FC6eW&F zwuld2X*@r{JzUe6TIVdFR*mz^XkRk<$7vch3|sV3Q&KrVt8d}rlq_q^Qi(VczpM=g~*i}~Qv+C$(-epKSQ z4-@?k1xAm#pw>lB;T=VL&#Bz;d!KkIci$^7gO~2PjP<7Xz~6dj?B1fXJU`+|ew5_* zM3&@Vz{Z`befgQ2xF3kj!#{RQLb44X2fms=Yg%C& ztXbUCbHUE-jA>)@D#j^s>knVk+){S!X!X5}e6hPKs_oT%OGS7{fd_}@ zndmX?=k&btdSKop7q)kWrKwttHM zl5+_c2LJ8ob#Om0FZS8iRDNr(^zWs`a`LERxn;(M=+#2NJopad-**8drtQji9ig?h%_G%GBGdI;({F zt&zLalt*gDc29#O1>00#EZ{KhnaD34s&L76l0-AT^c_c56qA;R$EAW>Dl_he z$GSKt$gP*7Gvrg5b^`K*{RS>>5SzT3Xz!mVI`|~Z`pbrV&%B~F1#P4!Q^1Zs-DTeI z+3}&iY2K>%L&fO3dS>UAHB>+I;p&=$nK$Hu`Uw0H3C_3BoLYO>7SgWYH4UAlIb0jM zdph)z4J*IbRO3fmnJ3;*b4U6lo%R9#c`YBbYsbwie9B1%n)PV%t+Vu(91;9K5^v%6 zmks+K`7lb7YxwI)m;D&mD}MQmL}iz}y+*R?y__MiD%s9_UX}5zN&60Jw`{PqNDz zjPL4)Bp;E(E1|i33tnOANcq`(i^p=_PlCfF@TC6_<&{VHBA=NbC2YPwQznk@uT!7k zc!P7VHI^7N5pO%c4?YUhpDV$Qbp2156Uv7ApYs_%F*+&#-qa=fsLo$%?pRu7_9V+* zcYO9`#g!DH7j3C;-{Tz3IK5|E9E(2(`fBjYy-nT^Ax-#ug!ZOU=MQaP2IBl7`jN`5 zYB)G%S~$K&nLnru@&o@+G)^3?(4VIMd#N8<*6$*}?ppJR_KwhZ__?|lICt%~hiN)< zK7x6!O$)qo3-(h|>-H}H9Q%#+qgKgeeH&x%(Y!ea&tZc^J^-GTPdZiWO~PYSc4;H> zUA7ZPZe_;xwto7PF>}&9XI8+!>YvMVBYBkO-ie1XaeM=R5v5a}I{&_$Y5#<4MD(1^sg+<1@$d z^0zb&rJPSWbegYu())N%@ZQvYYm4-pVxoL-EnVYzcQ;$$T*ZEwM50r_3V`mQGubbcO1;*48nI zGc?k`5!Hd*m(N;!$T!yM%v`AMb$5(3u?vzT&HXcJ_XY+$tH(m`NVaO9dmZ(PK+(>f%EQZylLspcj&!Jdlk)n5qIH6 z?HulK3_Y+@GWYOJ<8UnFQ1Kn`q=`jy_;vQ?ks3qnlbx-zgNyyT+Oxc%J#_Mmu2TK& zg&H^`HchlTkw_hO=I2YHSu1wCdhdy>?IPeNNd5TH}c%r_!bOFz9spWpw_>W zLECpzg)_Rz`v7?#I-T(J|T3Tcl|QvCu>*KhSp zzD2>ryv6kGO7#t&?*x2UYUBHAuU+fccbauH@~1^>KmVdB2YgAT$-kShX}(R9%uU*~ zgiRCAueER^-}>&i^^0HL>&x!Z*@gVK%HnM>b_sU*{eHV}cY*$O=v(|X+&FVFJbxvI z@{QO!hT`~;b6X#@zWxhnSK~3XbJ$Nwzu$xg@iM|a-&aRzf%dO1FzZi7Cc|SX@N(jC zAAh6p5}tL`l}<9(W9_RuNJM2BkKZ~)`FH&fm*1^;Hu+vJM%I;+t{-kah;bh2*Cxw* z*w3vWJqw%F#f6YQ!qQIudC@optit2t?!CzQ5AD)R>}_2Y+No=gTwN>C)aTtm@g7zj(%-O|j zP7Y=6Xubu~IoZ1#IgdCvXpv!#JBaxO@UIp8gHC0B1pMMJ;dmkEON$>gt`8?(RX(M? z@U@_~S1Zm1`c=_6=)KdKvrMm#2v$9Xu3_yqY~xq7A$=u#_fNO!fm)r_RR~ z{X<^39Us!v`lrCL;wJrEM{QINpSz9CasF@dv%{Olj(l#}tnkA)=bsAbrAAge7e4)-!dcG@$CSse2o7M4)h;p;TF4Q^=aTx zeV5KYhWT;a9u;2iQJ=w6D)=|U3ygn*%MZkGxkY2Hfc~_yJH)}=1_y@$bISU>iJ{5( z@aSOb(AeWyeuu51zhs@SF~HgzeQ13cy!yo5iH;6m_*Ix23fCd7GQj*R{K^^1{#gBj zcbMa?hMs+COGD(-`WZL#|Lan){#irI6^37C4WQ*y;OAD_9Bb!wZj4_tEga+f(6(E< z*^B3l(IMsf6;t^h6l#MMUql_^vy#pfZWlhnIj)mw`1Fu-VVaX^FOrt9X-=j+XZ=i_ zv@Lne`Iupx19gtF{IB?_d&kJ0=6o<@Myj}IxX=89{wlTtpu-+xvif##P9GVo*<0W=)nk<^N;u z?BnF9s=Qy-FEf+Q2o)yLIHFb{Xn>#{j2axh*3yb@E#~8`_huxfI($jkOST6~d)?H52sJKhXl0Y&gHWmFpjk3}WWm5^`mC%KFx9cOt=P9P;P&9vykKQf**G6;+E<$-l zAMM;>^)KLnPYPy@Z_9~K`WZKk@0Hj|TFWHYrTtMGN)z3Sw|Wj!Ms#)AVbT>FCOTDH zaXaw!bjHx=qkP*#|C8TN;hQZJ+gF3isB>c66IU8uzMZpT<26c2bNK~k?}23PN8k~c zHU1A-lgD|yf#zQp!8@f9oo;<`plRt*v0CY3#f{eo1?r6EXX!Fy*^4B*Pl0~LdHTsy zAod9S$d7Qn;IC9_WAnc>x}uqPDchEZ7W^>&cqO<4W z@H`9s<4pcvM17Vntekt6@1nI$$SC{G#+T&yCi)rATpxdfmiphqIk?8|h3==hoqUpy zU$eR;Wh8sI#P2=L2jF4P3(wJZk=J9L9~%44Fne{wxiefVJhO1bj)gpFTn?_|{R}?y zoD+cVyDEzPel6gzcIGkTk8J- z^&hT2;jjV@w^J|kR^v<5t?@+v!rv6$H)_UBG)Byr^q;Y`o5_og7dKAkzvRS!iXPB? z{srA-Y#!eOeUN`j-~PzhsvUbanPi~gK8~k!kfi;S$Y zZASHXA=}ex<5w;9Yu(wp7jHgkp9d%Ns9WVJ8^iZw%FF)HPTK+B#RFs6rzagy>&C^b zuTB$8!L7}wPIC^3XB2x)|IOX6_FNnJAjDhea;A*a-^U!ko_qzf22)I~Tdp*gUCKPk zoQbV%R1DJ?e`VDrK2JVG?gCDs?+y!hd$}_=6PHpmO5v-6PbN4 zF=09fXcjn*^8=HG<9=d_zUEOU<$lFjZ{+=6ba&}#$$9K+KCxrudz3zKF1zWgY=If* z?G~?p|8I4MJN$`#Xw>;|R#w|_6KoY=GkC$@r@2FR5z?{!;9nfnvj?BXH)&&`i5s_N zD}y~vmvhsYJNMc&OG76nXy}&WK=Wi|!g_GkI?v07mk#hxdp(?uxUPONcOu{G>@;^N z%;RhXTW@mQ&P$A^;J*d0xYItK=M-*Xrqew6XuN4{SH`_71mUjPQ_p@WR|do|YZF#2GO zAC1#~jW6&OGGA`~k^A+O=l7Hw-N)@lPTBEOxrZsYvnsm1&G5<}RKKEa|Q*ZV5)?P(2p8{hE}!pD2^D?}4Uf7!>`ci%t`?SzJPF0JPB55k-K^zQUj zAEnRgr_qD3xk^8PZo8JN?#QR%I(}VquYG^G6!Oyzhmkpp6L_jdbTp7i+X)Qf?e{0@ zf5gzxjn(T~`1ms~a}PX{;A7=G5+AQr8xig8iTGIKDn9-g{eOgU77i>QtIr4C74q>O z`1lF(ijNO!EoJ*1@$tqZ$W8es)8PAwNN$e%(+daoAU7`}{m<+nw)G@=#7*#y=wT=H z@CZNgyy6@cNB9tM*_f_dsViB}r={aW_C?uRH0DP3p9~$KTRbd(J@W_qdgA%Oj>F`` zj00ukan`s>#%@G^*mVT>9|JZEkA+{bp9k#UIYOD8hbbc&`2gjZgNMICIpR3unBSd@ z&3?wpj*E2UHH?eqLdg-$7ym*T=Gqs@$VZ%><|n`zK~o1TZ|roghxZLnG{g_8Zy25> zMl;5(;ITYCCXuc_Dt*-v`nK*ceUq%T^I%`g_d)6sz78iRlJmv92aa{5t2x|(ab2W? zmGoYeer)#f#q#JW!#|;H{t)ds&QD`q=4tr*pOH=CY1gTw4;mS_s`>%wPJlyXRz+`5lctzw=q{bb zkHc7{(bKaThjRp&TmO?fvDsmBTGZfN_%wXL_ZzZm7hHA89-#R!_#x+s3^F&BI9FC} zSJ@8=4ef(xt{&{HuU)vZx^~jzL)w!EuuD{zumRvSFT3gJe2NPYjVQmN4gY$4OpgvtBJbN-E4o$iQmu47KbWr1WUe@Burkga z{6bpu##H){QlH5S{5kn%T<6gybLVUcIMz z=Nz%FUz+->4Uhi1gTPB)1%DUttN*}Rb3EdZs*FW|eU-613i&CzcJqh8rMaUX^V>pm z&c<@y0V1b44%p3k;j(KG+cd1Ygx`IUY}MTEaL0@4z|M|6;(F%Bg1MhSx=m&f`zJbi z&!p>ti9Isp>6vtk{>zrh_$f}JN_tqY{u>&lEIuW3rmScX-*w~3OU-%`nH~DDbmlb` z5HGi+u?Txd*%^-?yV7+jbg`WB;+Hu*IrF4>3eObJpxE2^bn!P&20<@)SXv8xVM}Z2 ze5GqP<&Fm)TlTW3toos{v=M)6t@ljwq{(CY%=2vW29gD3?pDexR(xYEbyZhA(@*>x zyx9)iuhVzdF>Tjt|NaH)LvE5yBR-saeQRfs_6DW-ww^Hd5qQ(GJ58|p@$Hc&njQ9R z8s{4IL~XmoOUmEWrf&glmWaWM^0i;Gd#LRa-h=g~j&MvWjj}(NGbtCzzO^RnS8B^W z`sme%PUY!(+nZ_T^KyPk{j4b+K3Q)M()IRys_q2uTcmVk z67<&?a(v38mqO1q#nm0h_$`;+((6er_bchN|4@6{tBe!92`{^#6N^Lj;|BWi#JMB= zu-_CDN`ITwoTT%KuqjY#Fu1Do%gI67y@gsEvi8?wbyezKcw2}0i8pPla`CIff$-kv*}TC?Y3JjLAaHB{^V|AI-G++=39t z(y`=E?j5%Qeu&^o)ameFvcbr7##6j&$J1pTz=IjT;7sn8l-(#X-+zQQ1luQpUvh6Z zXWdGsrFkF8-xJe-tt)JccorY|{o11%uVf8zZG;2OcUjVBB*tiE^o=ve%oyErN-COX zd$QOazA3-O z@majLeR{z;Am1MO8_)1O+TmPu#zV2n#FUt`S5}`!oQPbD&P)wP&R8u^4c9%Z zbJXEb2k{vl=yMAq+Lf;VUD}nO&9-gtC(*n zV*Fa9asQn3!#^Xt$7)WZ|I4HPZNr~s@prGa^>Ri`*O?!y-Ek^%f%BRz9osf->`sol zZC^Z{KR}E~Cua_({l|vxwe}n47F%BJmZNrwA&%S4lg^pA_0$hm)H?^))}`Yfg-mh- zol~v7C$jM^u4$gm_=~A;k-6u_@uhFG_Aj7US1azb;Oi*lN*-FUer>m(K45#X^gdsE z7mLUmpY$?*_yB!|wr;U*(B-pfTe+Jhue$yBS?0oB#fhWcBxXKbN^s{GUcf zW=cODI+ORSOO>>6a)M+iI>I%K#nybNBfPfMj*iH_0DVKx(B3Q3>e*6Q=RMSE&WB)=ysOTR{Hki2cj<$SVc2f|r$aq6tF=4$S=hczJ@TW!Dvvym;N3);$`k+E zoI`o|wY#Ids+wgV8+!^BL)_h#><9Xc+I&WQ)Y^}H*pI#XrhcFsy*8h&x5Dvx+RXcB z*XJ=-so#G2CIseizQc1~>NkFj=luWlI~I6b;aT72IajrZ>HR$K|{jGG_QL>k)E9GofRTV|{c%`#rt$aBlVE93hL=3lvkFcAybx z(de(}U82!B&IMiY8vFHDRa2Zt&Aw4%E6LK1_9d(qJt8aTtB!JCOgEy3Pcp`$?HAEN zM9UXi8i;5)1#fgf&w^EQ^2gL^_5l`pj10&+-ygDZ6vX0>>gP^)_v)6k|03;GEosOr z&N>=h_CC@ix086=LK^2Tj7s}A(#Eu;eTB5KEonNB2imT=i^JF`^5i)j7p8c!We0(K5$~d%q=i3c@>(AtSZ*YS-G0!WGw_7-@vJckjt#eN_ zV}y>u{3G9}bbs{lYN|Asb>zWj&tRqYz~F5)H+QV&pq%#1y3QxeyyzaoKFGm2^{WPd z^JJFw>;?HbH^AqcW+l?zN?JZYXQlk8Dd^xzkF#Wgv$3A1i!aVJ<&(PtnaD1@(ej_#_ z8}G-yD-%Dcz2fN-=VZyR35=Oa<*|=5-+5(x}34L+FW$4^(;2`c;D- z`YxE3)@Bm>(n>ip9Gz>n-R z#%47O9VOI5O)T9#I?GeBa%J|IYMjuc*92C-rL1J$H2RRNZx3gtO7|i*uDk3HHujNk z<%2y{$Eh?{x;ut4-r6Q>r{VIXN-bF~HP}-vV>1w5r1Oc_octrrQF%D0C*!SbTKw4i zCFP^HYiP+^og=y&++a&dXE;|Gx=vGHmpMx{zmiz)IpoKl;Lm9i(^>yE{g#X{Fj@O! z^_FI8@C(&)?SFvjJthuTYn2lC)B4ecMkI^02GUwi{C#^P)bUE_V=3OhM!o3drp%0U z(XG&*odV9BoPzP`t3)Fm;e*+ zSPWrKl>|3uMVvDttKJCxsZYAARJ4%c`#AqW&mLKqk)O&A{a{C*BB5 z;+2P}%L&-aW!ISroE)cb-V@9@3meDb7dQdBagha@hZL{Py->)i#a)s+(g9uPQuL2< zRr}eabsygsb!kt4TY`29DogBaVds#>`6n4Bs<d`QO+0z6sh)9leEzFu|yMld*4<3CVal9|He7m%4+uS>4SbDB?_S|s1i*@=O4 zqHwNd{#;}257N!YV^=tr=LDXo@O(MXaxlo*kesiH-{Aw`CAMYfSER607~3Dd8VB2X zdc3z?^WeC0C$#PajdZ?T9Uts4^PuV+&-fms53d4Ova7t7=UK+D;V}CDw=?D+(pW%atLdv~On#wHk#6%a?{#Yr$i)%uq`|%R^YupgQ!~55 zv&`|uX+D?}<;zUs%uVL8=$xa*d-yifeuKt!ww2;W&L(|c1VdaWFc6=S%iH{y3=EwB z3{&lUMCV!?S(x$t<|gTTvA?PFr_6tBT&5lPtYbx`Hk&%Gh9J<}476spOV?ZWhnw;!flid%+`mK=Bv3l@j$wd>Y6CHuXeemCAR((hjQ zK(XfcvPKh6X$|_HrmgU-;yqDb;iIFtVTkpnu@A)O=>Xqq<_>e7M*pJv80bWMFP(r` z@6RG{OWd!1Ki{#f-a9?aCwdqQTWrSr8N=S$7s z0|&ln&fpH?y_fKmz095FU_)I}J3qpI@3fzob(DOxTCdAqra5T7&c-N1)9fFUyylfxg)`FXJjuH9J_&obvW=|*qBTkig$lNIHGQ1Q=8&R8KU+OR?~LoK$s;&B%343OUv%8SP>%YLqXq{P z_%3@{+Nm^N;9hFg2ky*$26V#69M)b2hE8D6clI-ozg&MN%CGj1qdm2)IVn7MyfJhc z|3$B&vlLJD)zX>K#ftc5tBL#M3+PP&>j(NhmVRr_R~$|4EO5e@ik>ooe3eT=e1kjH;JpGe9$5Z?KD6b-H5%h;^o_}!t)aSA z=Oq5CT=IP88=`YkSZi-?6JGTWtjmzY6Q_kVD!bzidB0kj)(`B98y7@lYWDHdzQ$KN z!^BDCM>pyO{{tr+U(FPyM{;ikdXrhpmlUJJ9#h_hpQImpV}v7p6P~7-d{1QY$GG@o z-~;S8oFm@aMn{0{g8PPvKgo^ymd#ePg&T$*j_6hT`qgTKHHl(Us)_W^M(Ox9x~;F+ z?k~a5ZSJN?$!IR|8`6^(Rc!5g~R1nHqcMfWuf>#4JtN6r^2)c;`4pM0XJwS~{xryY2W{hKk+ zxE$oW>+jyLb%oE`hqXn#?mnLUPxE~;`QAkTW1m;?amIx6zWXa(DEHmR@tw6&*OlZE z&a#8O_)DG`N|(Ym%A}tbweK37u_+5dTVImJgNP}i_qMgFn=vbZ5;g>yvlAvo1q+ACMn z1=>&G=1<_pbvP&5|DPf08N0v@IAdM5sEbC}|GT1&O}m;IRQa`4E6gvm+R5!Q~dp$NaPA3+gXM^?!u=UFyGpa*{JQiGF$B$W!@xqkQj+ z@|{aQ#RazMipdQ(kCO{aupi?^lG|LK&YxNbg$5 zhii0j!My>r<7wPkV;MTo8s3fCfR^z0X#5|ldG|(ne+@p8c{BM7@VUrVevxz#o{Jk)Waghk(fDG_ zG<5J2_%2%v@uhrw$Y*JJw(y+)14S1%9#5o;?-WOB^L?Lh>buP=*>AsDymJ2ZekUOI zl(_^x;`W@PA!|f7Tj? z@AgIMeNp(?Dd;1)P! ztCdc?QFdH#r92NYpDOmn%D+D3-|9sJ%{*y;oQ1gR|~T;fF@w%(Blqh8JJQ`V&$n#y{if&Xh{yX=Ebu#K8Em1dMk9 zqxvCSBR3jO^pq}b&-_z5F)W6LPD?z?I*&4e*PnoQ!S@T`OTzX4f@AqXo{3;mOz)@i z@~bYcp|j*HJ`S+QQuEwmo|2dUrT08*31qqBKhj*y`xRZ?&Mo|w@%tb@`B5*&hvbx@ zBl>G?An5wd$?W@?uoN2IQmK7wlG9-P8t)a3i-r0Uco%=Rv7e>E( z%kWJ!CKxl$64&Y^u5(4ii_j8lbFJ6qYyQK9v{ON6RXONHJn;V6)ER{T&AbDh&Y}Kz zA8F*{nx*kBh3#eXyN1S6_V?7+nh*OEddo$|FRHZ>Yr5DzGzI;z1K9%Ypk{all@O0!81Nee(j|-)g1E-Yrajn0_(^k@If!-wX8SGfnXR` zAKwG7eHz>;KE}zHn}Yp&hk+g3bZPF4`vkndpX?mi1uf(#^KHtYmyOzE`)j`6PuhFT z*z|MWKW+MgV>`U@6Eg=$C$zE_KInFR=3vgfO#yQ%n8lp)xY380%j0~Sw$7$UD(PQPm!Z)BeTVXC;A?|s zun~|hnf5sOP3&B^Z0?k+QLgdBsNbKX-xmK4bf`GT%OgLn@Y@D{|CPL2XK7qt2D~=* zO8SXtdS+Xw=bs*}>sX6*Opem@{mrCneP-Jct*9=^)9F#ZZ!Cg-Nn;J0BQAe9jyEHI zK)8}@jcv%0U!|jj|G3DR5v)&hw6jn2P95+KYpTHsRv(%``?l?l67*GsH;G}<+D?78 zF`XxBexm%o6Vi9Ef8!3$S-Pt{t*4T42JRx?R`o%6csctUO};miPxpG~2kt7n17Edy zw6<~JC%4QG9OlU1PQ8m6N6lC5q#dQU0{t)OZl6tB58zYVta_pC&33(J;%t%IW)5b& zGevC11@tP7Lp0{R*LpAEH?1E%D!jMqVE)U@<%OF3bSba5zJha7o?Ye~7^yeh$G!@j zi8r52e(Ohj4iWy))sMpv73t+`94ZyIUD24?7s;>`D*6~<3$e|{f! zmnQY8pC66t{}J!pO>EA|e16uU1AT7qP?rA7=M28hoFYGWc^dxfa!*tH+Ed82vdei( zf^7nMSUYq$EB3ef)Jq-m9Xa@9%^nS&@WSx^H{)3Vhs;^gozp!N?D+OY^a;pE;;H?c#dYsJJ^fW7Ja5~ z*p;z;(PrF+uQtLnAZDIPEOb6-97>0LCB1|>!ZmGV!ZiIai6^Pg#*lv=oT%?(>7R|i zk76ntKY$K8qq3Rl)It4<8KT~CCE!>d=>dZ4!%;nogSkABep!@$I_awu=@&=ovd?}k zk$z#6&YY9mnMhw8rJqgu6N&V56Z!Wi($9|4v2S;``c#3vLo%il{Ymp`K%M2~%n^m4 zF*WF`zt%?&gpSp(mm6Bvxwp__p7W9O4;lJZ|3~7~2bx!6Z#1?}a4Ed&yN#88ZWeL- zjMdt4FEjD#s#o)@p2}B^;>905Ouprbd^V>0?!)9;l*spKXhrpQ=)4WTQ1?zfDx_JJ?GZ=T$wx<~l2}$@DbiIoR3V zOgRq@DV9(33;b;C?SIr5GxvzbY@C3;ODFPqq8D{NYixJeu;5Y6g{eX2#7HMHc0FLS zd5P;sE|*z1tut#6#YcV3#+?_XGjOjib!Xw}1qoU^6w%u2qHjwQ-+mu`LoRe@(T|e* zNv1{LfGe$f?H&}3j-ouGEAVRc7{M)jnBdAp-vn>6yuLku zrpkpdTX-EO+zaN?9_y&#c5t^mfuFCdKIG=l!H+FNpXeX{C;SFSI!AA0Z5!IJe6zOQ z*)Cepof_>CO|&O$m+gh#W27T@ppPhCI0eiueU|+cKYrcn(Xtnc24?zm>Ywm`^W-FG ziMgt43Vu?pJJr{VIdergI+<9~%;2rfPS$Ikk&O@gT&!!m{@PT^?{!$$cf0IGNP$O7 zf3p+$q?2a`*ENZ!t$&iWpemuPFmCPTa5$a&v#$DQu41?DfBOk6{3^bND?OmjOj5O_8P}?`poLbG61mjjR6!a4kYT!KL*Su)F!+8QvA$*gOW$Rd@|J zwH5)F-8sf>;PR>Xzk_;KG>9+yY~ahh#dCaqGx#mxSK_ypUp6m0=x*>f+u%)djQV8@ zS>xt8%M(9e8XKqmuC`f+m~Yq~tGN<#p>QevoL#@^b+4XIj|uI;n=-(; z9XR?UTsq)w67Tm%?}yk+|7zYX4Ht-+b_TT{82i=Wj^@jg-v*c0N$*m+mqeQ^fbT`iM;pF1ezceeornjYBERzd zPekvm!MEAEEuW6^4>{>-x_HBoWX%_;_oaCFB*xqFtC6{d-YWaeu^onf7DGdv?UELa zQJ>*eA6{jiv3V@7PNEF9@GkfvH$wmT6rle-(HIRdM)yYjc_8Y~^27C~#Xq<4lK!UF z>7gxcw7k(8z{-S+IK#!PyNEH8zW#b6FNkHPU-%`=+UT7L`sW^8BO3~m4a`GYvs>8^ zB=Q;A;3+}QJWcMO(S!@4gX1`B}voNpbIbcS% zVrM3=#m_sz&*j1oJfm@u-$mnCmu&z)Q9ErYf6p0*4p9)PI4ZN>YYX)yJ|9mJMdRGwFqWuG;)rdziXGZ#>(*pDntj5;5q_&5c|Bi*%5|0wDt!4Mg zlq2AP7-GW0gAd02YSq99n zIh{+UcnF5<`nAH9Q9GY=ab*_14H5di^V#dI(K^XEv}bX7x~YRZz&_Ve+F(}Jt{ri&p(xR zZTygIQRAXKDr5f}*tmN_cvl~>!w%`Y<|p<^0IPJ>UifV{zn$pQ*uaZCOFNr7KT-Jj z`rD(Y=(>S>*pgJ&IGBOdevA%>NsBivR2# zjp$j0#p{@L4t#F!9{JwS;Foe3dy_mfJcs;|taC~m!P5ne4~c%FeMBFOXjk{( zEjtH$KoCgoNdK)(nHa8j6~nTJerSBMz%+xtXG-^*x|ULxP40#>JS!O| zTGSdxV@_9c zig+#eszkkCQlIg^8F`$)f%pRMbWp5>$2ss``fVCwo|KO?5LK|B;pjpOUG!oN7p0kdkcGgDiJWe~Z=Z~T<^5{&Jv++}^ z{NK|icsMZdceZ(7)TXijf*X5Q#Q4ed-DjS=HuPO|eu}k!iM9WQ%zuSI_B!Su_RY`_ z^&7ewmu1XuiN|bX^9_tyXEZ00pP^W)c){G^%JnD8`II{d9+q+5#MHUK0UzA5ktZ}_ zWB2-3^In!c5SbsvabeT#keq7Du7)pDdY;;3JfTHs%ESM_x$hm+uee2>N%8mK6Pa+} z%)b+#msotFN4Noe#5$EZF0FaXoY@4f^bXv)HelUNe%@<=b4~qJXiIbKlt_=taDL4L zr^B21peyZco#;A!6S7|41lFNl=s;WSqY0*|gst^j7ypM2Db{z3{^y&WLP-f!o9*%@~K#v*hyLcj98*=tqb8SI&j z%5mpRS33H(Qs3U*X}-Mz{}T0%%S7Kk$G1Ii4!^xJ`j(BpUBS0|PkmWjXIqqxeWCj! zMpkLxWe;;qnRS1Eb1qMN#*LNd1+TwZW~~1R{>}KpXXrOZUUfKKiv8{`6g2kdH@=Mx zM?6wy><>iw?80R{=8n2{oje+R5Ezh3Ih@K@&Ih%rhg|vKbL_6@<0B0V(h<-@#dJx#o$Ht{` zWIfn@X<=vcGU^%$;(-KoZ%ptv{%{<$B!|if8hQf=)dkd zpGmon{0`G!I~M3Ydl!&T_he$r+Epe$wj5;t;>L~WnHWROTxIL0Zful>7Mt?h%5H(5 zjhOm5^)lndnstr%Nn^Hv@!g{MEa0SH!`yFX;)Q$0J;pjJJiBP^tHM3su7_>a!$zYu zm0uZ0y@*=%hx2pusqOmzad5-<4zERCj*}cEuV_3AylV6NQJVu%n@ed^>0jhseT09S zPn;IY2jf8E8tgt67y{QT&-fI1dXZ^p-_H~3A)hqGTeJEap}<`Twd z8RN4YJQw}mCTqgs`=j=bOSV@KEu4=Sp^ZrXEkJ%OiQ0Zu%E?(8J3i%fYwwci`fBVP zW$##{5AX$FObp4YaHJ!Qn{# zjN$AEhuNqN;&!?%d}>4V?LkwW;3%EPh8OuFE^?jCpNsnZKKI2qeh)EyOQQI#^RdTT zxEJwXI9Z(U-JUJ<3{ubD4%P2N+r~cuy*tma)_ibC=fPv6>0U@&rpBn9wuymgq_JIU zuDtYJo^#8&^m2jcJn&A>napqBe9xKAPw~ug z*oi#x4ddi5R9t?qS<}sj+QgpqFIVMz z??SF_R@#;HO>1XxcMRzhWPiJMs{H8A@I00A-&dap9SJt^GWmA6`5oMq#yneQPRTzE zf9U?U-ezaN`gLK0n8}=5?x<(V*bBgq?QfR4KSAC0UHbkZ71Z#(l|Bi41 zALKfKQ{}?*fz*FuUD;Qxcs_WQeFkCQXD$e3c1M2wU7b$vUGVT7_!Yhi|7-Ef#DTzg&_?~02-Y27uQeiHXJY|s0b{w7`R{C7GB&OSDTnS9+Rkx#MeKX}`bbqL0W z7}izwxnJa5G<4|RXg`d-hmbKG?j3{PkM8FpH`2(7u)Y4~`)N=7r*(>AD;(l}E^Qg+57uC()BVw7)sv6z|Zz-SiN6;aO zHBdX7+u$8!-`?I6fzg)?mHdjvm$=E!LFP#3QF!b@6SJxOzo$J*19t4+Lpv$)yw^ip zA%866tS<3KlW*c%J3dZ<`;NRfERdAA{#X z;Ph@o7mna`be>diGwVGzBsvUnd5gj2v)tKb^I2Hm1Uy?$b`DHC49q7-Fem9o@&(;u zn|MQK)BmThakFP0hH+pi=tXnO<{8AIDIazM;oRjuwoXU%yAq$uBH{WZ$p!I`#wzWU zt8ZgW^=|g1p&v+wsIHr+tK%>*rXm;xkLG;tHZjlJc$O3L={e3)6aJMRk7j21tx{RR$gn#I|Z)S^J3bUI%UO1U4}5)|ea`CZWzP$aN(1@WoVR7Y zxlcf{)5NDES6uF#lze19$f?{_h4sxV_@0F>9pd$~vfEMjkNGZ{nlAKJwO-L&gPyrf z_IlZFOr3eo;^GcO-beM_%I{N|Dva-qZ`j!MRkY{Uk?4{+ntemkpIG?gN*$)IJ5PO4^)@rm*P@I zdmYeT9=wNiS}=Dys$R#LQ{6JdIbi7nUfWa5&eq>$dRMN8fn{!3rH+*P0Y*x%YYKIsO ze=GQ0WNd=R0V)-6n{ zyMM;W-Bv35R<)nVue|i9ek|i79M0u=Y8&ybz~s^9*J<16Yk9@)!+ZGGBsW~ijC^(L zJkqRAAY6;z&H&%yGdqsbD$(w5L!tN8s%lwFMlDDGaXEY9; zv8(OUJ2v+NHXc>FiSV(Vr`0Dkr@snVgvZa(kBPwKcsDgSL#q>^8H=;;sI11B*jCx& z9Aa0lq;A9eCSVeLf(hMcuj)`4!FFs^#`0r6VYjmDZ0sF5n;z{ktg(38 z++%2BaV`J4Fs7E6(YwgE6}uOA1^3*SUy2Q^fZe)?Uj+Ty+^tCebe4^iNINS^i`!t_ zwWk7|Xs=D{sKUd8;^WZf>~J4N#@R9Cy%zEA7vuW%%9^(q+@5zTSryHtvb|YYI{J0L`h}9+_<1hWoO=gyV5_$;! zp}kOXSu1z973Wqn#NS^iS#>iqs6S|Y82!iACI3vPr~MDy`va`PDP_kY&*Q#(Mcn}? zm{(P0&#`4yPW~43q@46A)v+v52R^%zIw(J$dfJNRs${L&m48WPI15ocQ+>ej|5CO8 z7&Nz+XU)RwRKoZq;tT3o%4WRP)f{E-qP>(;(teJUzymV8(7>*hOJmDU7tX43CPfXo zve~XTTD_f`5RkMH-n+Zn&ac_WA8DOs5bO|<*R|A*c;pa6DYruBkM~92yXT6!r zH-Gz^J{@#X&p3Wsr@7L-*fWMeao?5`UWXbv?di<1V zowKOipt9qi;L!|pGW8jq$55_+8r;Wm>w)4$muMVv_Pn~Q>=}B<9O>GMF^*$x3&O+s zjdQR|#OG^K$K+CYX3=|rEyJ2fussNDPEqzLY#Kg$-=OspIM=>}477fL|KEZ>;yB-^ z?vtrIK4*!#(TzvWJB#w1K%V$)GxA6`2Jgn7eLMdhaL2gTEzwuu5Z=ImDOKlqYs|#532F#7X zB0otl_%QQ6eCEjJ&Y73!Zst4{#k?@_52xU>6mWaMDjb$5BfM3>mGCHk@_CHc2j0@Q z`MpXv+a!cZX>&ARch7P?p3KxbZ%^3YTECM<`uQiIB;f- z#>?nH{vC{Wp>_yf@(T1d+9P!v<8SUQ_t!O%=Z%gMGOM4mWzGQE!hgniD*rqAP2qR& zcFwb_1dZy{&?ccfPCHIS?lL#&Zu436Q}GGX^`sm2P`}omY9odHKz1p`mt+HES+UZ{ zlV9WK1ZP$Kz{GJGJ50udrp{&_9V}E?Uzj?KO)F3g;!pOwexs@T*X7q%{hh4MWnYuu zuXD?F9`c6$rgQ6Wqkgr8USZb#%BT1o@PiIfsVN3V?ax*WLFt;R{6~rtNqe)ZX@^)H zV8DJb9QT2BgwAW3m>+2R>XX|ulr78Gx4yneZAP}-^Yq_;o#cqx>2m!P)hue9j@(cT zQkd3e($Fcf*+^cPGeY+&hQ*vK$vZw-^l0I8`+n0mQ?YMh57}f%XkxiV#Y&bPnj?# zN8?dKk0}8sG&hxJC%+^wt3T$9l(0_^s!!n*6WAdhl}epLn4O=!r2eQ-^tv z`MA_GAt@7F#!O@GPv@*f=ho)TXs=yiDQhnD;0Lg?(2vHv=>7iaeM$6g;wPhXOC_Te zpXcyn4y&QF*8Tw+QyjX^2t9~SXU;1uz{`YhYCv%V~SuW9UTrf(Hk)5-l9 z9NT_tKkiieXkzryWB(Q$!ma8b6Tu-m(7ICcP5o2-|It#v_BF}}CS5w7_er}2-K=2e zc;Jv8ZPyg?<=H!a#IM-LCs>$;`#d<7?meB~4E^U0AmNy_3H&#-7Uy?#4^p`2OnQ0} zhPA+|`CuKk6Pv#?nhVL7)_ykZvf2DQSdVGWVNIlYL+jvil$B52zQ2t3xNhpOis0{~DqEx;Xi#+J@-36}eIet-Q(8Y-xU@c4Zr7OpzzB~9%8NfR=uK6x zVs0n}(0{nUIs04eInFhF$F3pWB}%`Bbm`ZxQ~l9=qOqLLT8K5NnNvEd=qcn+`|!yl z)H}#s0sh*i_9SGuBhk&5hp>BAGuT!mTf}DFb(p%OXUM_~O&HuSuy%ChT)=o~9S(0c z+Nj&`D>%_TqqZDt;N}i!#)aO>M;+aGr4uxMhR&fig6Jrw6X7YsRXcrgh`ARo=xa{( zy55fcHcj)@`=L48#$0fyzRU$4Tc7Ma=A0wo7Ck16kom4#* z8u9{SN3L%wu3T$xmpRY)UXYjR%2}u+@0QIxruoU>So0?`a$9>vd*2t!R=myDb#M|o z5&Dluotn3GXDTta+bmA=_?$z$F0A1%>9*^$(%@RHZ)&4sf(tc46CZ7g@9b`q7$RW6`?an4cJf479;}yvDWbW8w7n2;X-= zqqc6XjcxtXwe2{_Po^@@VwXzhZDajw^KT@-)^|SeN*BvWcVq3@Uh1pbcss{qKfUv8 zGleWtUiq$B*T;5{q}@aE?f~}}DV}sJv=-NO4r3Yw%>CFHo!>Wq1CMA=zUp$ROL$>Y z*k<9B3=y+1l1*DZ&A7adk#Qg%B?#GgyWQFD+W1BkP*rtwz ztA9-53fk8kY;l+83<24i4vmJTK|C*V`EkZ(kT;U8qu+Eef&hXzvXCtFSVSCUS_4r8F?6kT>Lv)`cwyN|-g zn7>1EoUtfPQ|x#c({{L+*{_WaV-vIRW;xi|NEg8uG)=w4L@sF{hjx|olk2P7uwjRZ`kB>nqT3A z+9|YmMev&^)n+g6Iw#Y8TN*va*pa$Y=zE$YTk(#5lXjg-mu#2q&WeWgE0^_%-mgZ_ zK^J5l7TPxLQ*B;NOh~Lh`2)@PY)$AU?N?k&XVM=e=QM9S)FT+|H|^71M*6Wlm-C#; zv&gf9=cPO+^ZX#sDLi%8tIxB<)8lys&xt&*ya4+%PvOe8U1r?M)O*xC{DM4LYoqIx>+yGwcv;|kS@hlFRX7vwTyIwW zBJid)?bQjLPIS>rA0HxJG-csSuJ5i%;3SEw6^ZnTj_@Ah_H&7JjfZf!oTupHQl47> zUCC24QsgN*`5;fx$>lsnGbNs)mn(RRb~F~EPtmIAQZ#xwKhdV>P&6qz6m6I2hdB$q zfbJRDzJlWV<}CV+{5azHNq3f>a2v7eM;gNg8pEhg`2b%J4+h2F<~OKY=TVhtKZ!@J zX#!`U`55JdAB-qD@i*~g#+UXA$_wUXnO5DuH{yvba_F!$L-{Wz##Fe{m@;>SzFhE- z;(IJB0*%!Yvz8Hj8T$OM5q$DvxJCKwE46V-E6EOs{SVucgG`e?BfT(#tZgS;KyB#^ zSair?dxwSe57p_ae33Fy9T&%SER{}_i{bGGnromL>_O(dPtlv!zmj!}Y?%^pwzO$! zRWzb?iReV_YOQ2_*tZ=g9c*dicsrM0$Xt$n#HT*ZO{PzgziBP-vM&>P9qJliq^!la z@d?sbt4F5>g$rjGIm;9OAnR$_{J5{KnI0TO2VPlEp{JR>IguP%9l^O8I0d6{{At=C zkKw)NTJ$5vJD1eG(&S&teMF)c(Gt&&shmZocg2jSt~=$|OLT_V7Wt86Cu2`vkvYH2 zojKrCc3Z8Rv9Z5MKVv?Nb$zP~hQ2=H-_RRxZP(t2Wwnj~{XeMOo}u5JCG2*d&c>_M zzVpVAzJIB+6^Tj71lLr@5-+BGQ;L^+2YTns_7Pn^11{`(5PFGq_?Z!{Lt{CMYYUHA zv+!MaTiCH@z4y@g{J>Alx-eQV&C_~`HYuNG{gfV`zdq}G*Jl|Y2f5sJa2$FQ>#B5q zHuh%Sg}kVCJ?+W9CL8Dn+T}~cHrtN=m;Xgm^LLv5E3Qg<{bEoeb2m zH>~65aUD7IsEl)=`?>504jxvVY$9gU>&>r<79O1i&-vF? zxkm_mF^3vDIR_YtrRG~ZeC&AF@LlIZETZj&EADP{Ho5SmS1$j~?_bB>5^Q-D=vDnM z;0rE>`%%l~bxrTOb-zA_-`M_lRI}yz)p_U;#-_)&EOiImO(K7$V7Vv|{}&pMfe-EV z(Ol>QbE;Hv1)I%xhhQ#V2R)!mQ`XD_N~`o$jg1|dkZ~?rfgg2^_Qp=EU~}vT_rNx} za%*!+5&fimYjcp;*w*#c2N~xrExPvm(CK8Gm&~wh?0jU;Sk5;~i@!_qY9zOR4b54( zr1hF~IGueiKe)!%Bh4i?N&P+%JypKWqwrd)!-x-;cX(}$<}PS#tKy|*(LcsA%nvN1^7FpOYt2!u=x3T!mmtUM)2cQ27bZ%x1D;(W9%S4aySj1C(@>0VDC2R@}*4VKXbmp z#|badKh|y|{loWU`=>Zw`gITU$L3^zvfg#3FO_6pO4pda;I}e;`7ZLt_65IbIMz<( zczoca`a+F>;O#b!Th@rJ}f$R|ZXpYSrUEqS+maNn5=jCrv ztl8qOgS43qn4gdhKL<9~C&mnZ@B{5zzOMQ`+A(t*^^Yable}jObF10ns;c%bYhLf= zn|SS)S?pid_B$wB8a6ubmS%d=^+Q>IWi>r%1$qGTnz=~p@W-->n-?s*`EiE4l?fiY zE^ENc;V0V{>E#*vknE40iJL1!0;B$|k=IW`?nC7tyz?Ut{ zyp?6%a*I(Nq6yxmqcz&0xp|d!b;;Ot8NVtr&gl>DSCCA#bA9&AP^P|K_2;GkQ5GBu zUpw@zM14`Z$#8j3~kS)Zawjz8eAo1 zVwO6^d(Sf78XM%nUeRWHW>Eha@In8ZlJlWpo&^rw{QSD>pJVL#=zG)tka13Oy^Ele z3!#z4wclm%q5AXdsr)&0&2K(>0Qk`zd-O>>jvbeB$Qa5k+OPS*8GMwo%Z+|85&3#D z{HZt+_J3@W+#;^!h;j&=t`YpmQ8OoNzqiJPLlcaw*Ziijf)0$XOn?gXtug7Xeh-;o zWHmg<-s(|2Nc{h%XQm!Hpcshc{C8}DJ>!*;`A<4=s4HC1nApE=LPurYgby>8n(KtK zYru!4@$vBLWbk11z=er#9Y)VX-^^F;k?fM5q}T+b@8suJb-gZOhJ9JiVPohrQ+cnO# zb7=|hO25k69?zsrqBoiK`yl@!ep@(rlr>eE!Ui1WgXY$|nrxfcV5BcN4 z|NL|Y1AVV`l)~7W>=_~dUn?5R{|x+ucTv9-+}O~-F3hfG z%X6x&Z4p;9PJ9#2n~NJSuy4@zN9!}4m7+TR;;q@=2-Ya3#>RnAwp)4R14@@ySJUVV znZh|$;B825JN`LU(Plqq*Gle62c`dwUqg2*kuj`|MEft2x9Ed09ER_p2dg`4ttyx* z#OJ*_F_!8-`;3NN=y`u+OTPX!&H-O}uEG|8??G^hA4Kz=#7F-laE;I3)J*4t>RSIM z`k}qO*C5j?jRia>Q&#%VSo&w>3Gi+fjheU*(&d+YJ-l={UYnE({mLH$j+dhQY@)v! z^GpDrqvMRHeS^pT5T|3{P04|oz-`A#`LWxe=a64=VvuzL_@U02Hs^txaNS`1bY^`& z)}Oy+j5B-72G`m4N7gbgwFYPJ*xptd%)AlPX{SFMJOl;?@#_L)l=g607;V}z(j?7S}ZwLrWRH zzZ@Lf_6$zgr<38#W=q@OWnE~$7r=*P*|!sE!ku{S-b9*c&&t++2T!(qiWpbbZTt0A z@RvCiTSGoT_f$Qh{m-6z&0O8>*zZx>51Do9ZUYBv?VQWK;&M3RmAj?V z$T8;9gXEWajC-1t&viay?#l$$;pF`DeSI&SUH2=L11I@c>HRG7e@f@(cMn>-(_vs_ zEojcodW5qHZfmJ`EA_HJ%8Z%LI}-m0=bIQ4ixVTO{BV9!c`NfiMBiHFMmzMbeMR7J zhvr+2MJiu$nTNad{{&!B{kH>4vi?*wrqUbdtKNj{l+La>doDH#TgHy_ndG%;cAQU3 zq$S6B`b&)SDH>#H`7P$Eh-> zRP9{1_%M3y8w~Fk8tAFH0_}>QzRG@O+kR4Zi_gy>-{JUNx=(AntS#eySRA7h#CW%~ z$69RMZj=={&3Wyy9*zH`J86g1*voFAw$M4pVNcpd;KG3= z_^eXbedp#?kE|y_OIZxg;(Fi zdb&NrS1!R{;>U^bm*`Y#+01{RutB(#O^W&5VaHMd$yXNHg>j$>_Ti^ddN1_|7vx}ULd~lpfW00}4yr8&^nb4n=!P2!_$McLsFT{2l_9ewShV{vb z-z*nkK!X4K1>t>yu$9T!kfn5*XA?%Or)waHTLB3rLzsIcIj=aW}|0e@4PGy}f+gP?Ri#70UXntwqmxsh}iyLoboJH@N*I5hK z(nZ!+;QB0J!=}~5rq!HJKV(Cb?et}T8u{;ndz)^3dxp0nA6>Rmd60W7cj>GJ*>Wz=JnKVacE_( za7bTVm?f87o2!57tNOo%{;SXMR73q8Lw_x7J6{5}pDAAfTM_+XO}MMYuHE?7iGQD6 zTY8WBX?a+7ZD{UA{c3dAGg-BfH@5PG}H0(^$*5hb^3e^t~muOM%nsZXMKP$_O6)6dQ=`Ut>y} z(LElOF5(K}nE#+KFlx`B^kc)n5sZpC65g&%z5_*`X?r+XF8 zPCRlw|8nAh@u_Fiig07(=pxQpz7xG`6?A@?&hL{wIH;sIAh(LsJHz!o?FuI+ zF?Z7+_TX*jr}HZ=t9$ zUR7P7^3ZqI|6V+{is{mrW&`d57Y@p2SFOMO-{`;Mhp{=Z?p%sra&coHIKCA8YhB@< z-gjiYY=HjyMSs^eJIXiH?~Tp*1~03d4(}N+Ogk&a%j)Li)G1wxeQCrGY-o-h*Tepd zZ$by3Gx`r$-*vs_$Tn4$)7k5Ut(*#2XKv?C8E9~ zi?j!NL9_>&wzK$bb93Lw8B2c9=zS%9MmEeP{=mpFWW)k|ZLfTN7(YNPT-=uMBE3fQ z&u4+*1b7X+o)pIo{zA!A#h_k7S*<^w;_N`(yJ2OO10Cy*b?FX*U-X_XRPO1*r;^2n z?vys6OUO<m2R;?g@k|CB=Fxqyb+6!@`wTYm&w#HC`=TCZtn{rj`sVSi#5a#`@*g_+ zPqAkrTW{C7O{MoOYA?;JW(<$_;b#e9k_`vi+^l^JZlQAfcJy2AxiIrUuo6GP+4XdO zCAM|>miIHyEirq6$y;kjZhVV&vV}QSjb{gZZSjuswpVGLi8Oqre-rQ7!aV#zON{T} z?}0-w+!*1ZBY$m#qnkNfSvb13$+-X#j>2yqH28XhqidVQWemsbud?QhWk%mTWY@yt zC;0m$@owbbe?9-*QZM@(N9IZ=P~SNVE225@xmRgAGtZ_GS2wEfV?REc-Z~M_txK&fKU4m?09Rw&1Rgv zpDBOi$)LQtab=nN2TIq#*UM@sc-f_9M2q(JmW{_0wKSR{@5S%WT$RfmzD3r z=<$OqxMz8x_EDYW`p`f8p}k#g;K6k+sb}!tcvb29<*Lr9OLH!r>($|DodsuNN>0;R z1EQB_Sp$qIp-&*^r}qBEeE{NM#*)acVj=#?>QqPIo;8X5O9qj864;(kdk zkMVnkrWeoyO4ro250E&gocdtTSbR?K7X<%}G5qkwUZolMuSb4zj!p>sNFMxP5$q#0 z`vhOlFXz+7WR=a&Vx1T6 zKct<9_&=ETXAfrlRS!w8SKBiwC;X!C@7-wr7i!poHtS3nqkp%=7%(>7Nf>oz9%;i# zzn1*=O4oV~-6VGce#xD}A8Xuc#4U)AC3A(FH-UppX+v{CWfd`*A-?X!M%N)+S4D^5 zd)jS7X=JkYfo2A;kMPfW7yP^Zef2RlzUSXn&1@lVx!PAh>cLxvQvQOf<0Ds*wG(Jx z{ejMne-j;I6n&-hH`e;Wp&h%nG~)y;+DE$%_{V#pTwOys;kBJHxrYC~@CAOkCkQy- z-5@Qe7#_EDUA(rFT~)d%W4%}Pp%-n-zaKg+1`T^Y%fS`+z@S^tJMB^@}UFLB`i7Z%C}C##8@P#>K|T$gUL9UfR&!Eb=C8DYE4nJO9EPhOB+EKVTnqFt=*$ zu*ki%_-N#Ze`LOVAcf8_X`d;+(V zfmeEr9WNWd^J944!e(t$#B1klT%C=hU@%ARjp^q;99z!D*D+UP$L)*znuSKSuZ`0# zlH)Xr2ZclQo|py{W2abN%$x5(YYdv zpJuJ^OGhWR2wfcrLINZ>kO2i@?SQw9xCR1> zS^PO9f)Km}0tgYcFSG+Q?urUtAZvc_Po1hWXPThw_xJtp_j=8|`kXp-dFr{kiFS=ovM?qSpZ@Kh(an^1Wsu#L;;{$7{nQHc-2v@Y zUtK@8D&G+?o}A0iyxUI&VLhqSm%KmQTKxV~TG#g6Ti^E4Q<7wnIvgSGT z(IIrsyUp1VIujQeXN}0N+1NPy$q8Bt4%rtI=@;{*5p*Uo&0$@(>I`BBgy$SM*a-hS z*iF3y)H_hyTpH*@#+J0c#rG4zvF58?_$|E(=W-NR*E`1^(FlIpM!tKP&kns6z3&He z?s0WHTP2%-aW3>x946(`=PG@AXHmFmyXAG2d{h|XYgI|G{kep{x9*5 z&Y55y6R!_R?`k~9p4#PPTU{{`B0vg3Hz$?X8LIuTrT!DsjX z_ny&X+2a|nYXHkP4`zMA+Qh~`4~)42`~iQB;j7ltUccC$1vcR%N$+EA8uaavt>(%q zPQg8E-ERCk#a6RU@$rl|`T%QBUFbERdsdhH${W4b>q1|=yY)`=MVHQ_^pws#qQL|JgZfi^gQW6V|rFN*hjfN}6y z)%!Pm0$PvIT%5I3=Hlb$Pnq3``O^wJf4WL@zp;5oN_p)3Q}c)%^R$ELH}m>!)Vs~+ zdkSBg?7NB8ZNr`Zh}XRE;(6N(FC^N%(6(#loMY|&MR^kKPM}@+61rIrOxi4u5;x&+ zdLq2x_!U~DH=NW{2ag^&OcS>l>vf0w8a9*gd{1qwu;)Bm? zUx1l6v^YOIe+Kr9_9l>S_9k5S{GMoUg7wqFGh_R(Y}&x{doFi=3+Ze5dvo+dzFGYL zjVqtuvoYyI(f(2JFwTck#Yd=fEU5oQ=UA+JeouZPyzp~=^ZXw2g6=nbcZ)NXx!>^J zt)<}H^_Th8SbqnkW6o@?CjU#}RdWUKdiNKehkrVJa6RHl(#*VnzW8UbJ!ysbcFZT& z-NCn6_=oxw1Kp}VKQ@+&F4C*UKAyimo+CT^?MnDdbGfz9KsNuCre5YHw%iw(3*5UK z-2fkb2R_lBcxOYoxHZ3^IJfof+1!ie^d3CPK5OpiLjP?-?-j8@WcN)la>_T4y9r3o z^7|mRul%LH_X)FJBKyC>US#cMf7Xpn)GwPAI*qf}X4t#9&hBBJOBuoEc>Va2$}BeH zx=T~Pq`$yZ593U1|K}J}bXShY`d#+m0p?o|4r?5D{6d^->iAM$7N1r+&3;|iPxbF2 z`f)roQoW1`X>2BcYWeCcveo0}7rKKd!yaMZ z1%NF>{GMV)TwgSnACC-6Cy;l$OIIH?K45$8+8?|m$D8h8Yz=)4V}pEX8e4>Kuf!ha zgq`cwpHqzUvU$1hvp(&=6nj={X)SH3jf;uL#R58@$azQD2f`!vQ2TzyH?5C}mX2@C z7zwU4S5D&bF!1Q|bn@0l?zV9}74L7iJfS@y$^2g;ufs*r(i^NZHQ-n|O-B zKksuk!Ak5+vj;xGb02v6rD0k{JNPFU18c26ftO$N{N4Scw9VMcs;e_@fU`J!;ljap zyzRrJ1bo=et>Z(^sBmlfXMQAauQTc@Z;dzPlt zC;u4c{Mae|)Rm#`26c1RdGlBNuBEM8szFUmEc=@#f_d68UnK}OZ z`K~)tPyN-pW`#Cg-nG~r!u1~*um1==12N`4!5_whq*^7Yz>AwORCnmihiV!K|TKj*!H#05Af{U=lgh0+vj_Do?@T3 z@;uc(f1l_5?ekqcA7G!q%QN;sYXCo}gV*Vt`@!*%v++-bp=tjkqGcdjv#tO<550Q# z=sn=-$oWwmxA^4!W$@_z4(3`%UdUU_RcZ&2Yp~na9`@X#6 zXB$2A_0f0Q&^^hc-?HD+yszZ_A^Sds_p^ByJ+-&njd>2oKY9Z)k?JuqgbpSL!*jNd zsnqdL)N!h9^8nsI$oo5apNzg2U+hoX`DzC|O`X->)>v|6H+^QkT74LxZ++lFeDu&k z{oHqg+=5s9swS;i_)=SG2ii0TOD5=VPVWIH)H9v$_!UeW7rn7x_vMZ}J2c(g%PRiv zq)n2S#B-8a&AVN`m*P3)3oOrx|D_WgJf{M?`tuxT0(_8X(c||#ANp#}cIElEJb#OH z(cw2dyS_fn^K+yNm)tcpdMf#a#}?1;nzH$0yHSO2r%mH5~16EE{$dH0ro8R`1hw}1H|ciF(- zNAKf}?gRhqp?}i(dOp$MfM<9Kd2f{A1&uGnq>s+ve=0CaPcR3)UiqIP|31N(-e08r zl-0Mp`1UUT^?us;dRwQH@0HXy9)FQ7(r;}E@ulF9et9eTn^x8xKk2)0XKV{_`~~V0 zzaBTm8yz@q@;F^UdQNyx^0U(u;$87&TrV<=J!+zy<_{PCN-Ghhqwa>HVE5PT4wMM1%+h1pyzhLL)=ek%&;FWHw&`06= zH+Em`6ye+(kbX9IWjzfJ6~D2nRBPP9S%|tbmi?jF>|^spwed<*&g@_5?QBDM{A?l9 zbZtDRI&B-mt?JUR`m$qR?u*BMKXw}e*Ed5$O7usPXaA*eb zM)ScJkk4fK)L~Kis?*!xOS~Z6F>hbu+`O>$mFd{)z(I@;Fpk;F8-Yvjg45v@J3({) z4a`e#1qZkKI#Y|-KkgH6?td)#%iPE9+A3%b0-F$jX%94|Z;^ ze00*oaedGzL;RZRV-HvFpDmv~baaFt*?$^?Zb07(7rWk|J4n2dd)|9bBTL`odg{Pc zzmmHd$RBFVVr`UPAA8U*KGOz9?2v`gU3rYResCx}Z1#ZcbnD&3sq`w1Ir2{V3n=e< z#b34so9uVd_ZiM~%M$0G@>Vy$3@l!iHdsTA;ed`40@?p7>Z>drClv1+&Uv-QjkZsE z{yJq{-_)=3ZU1f}UGr9Vex}AXVmXPaSl3>2I<^QrEdI^Io8rqb6P?Gp0lv&IS1AetBO4IM2;*Oa9dRN&B&}7o);D%!>cgt*rSktA z29+;iGx)^HNtQ0QtN8h&fc71*4{_rG%p$>6))t{G9|5(EjDu=pE>osPcZIO zn9qi*u^owv>qZX<4q|E5Cs)qc4ajtcSgB-M=6z%D=KetBS^PcEj%S)9%9jh@x2mRI z^nJ*<6;_QstM$Qk9sQVD=tEDVcY{7c%;uXrYb0-q(-AIe!h^-hl{^zSVEi8L9!dF) z;;{p~s1E!oy)kX6+r6dP*P{=*=krAB z5WM2o7H76PyQ2bc$2I|df9y4r&E0oLVh_rnr1ffW&<#)a#%+TG@v(T)rD^Rx{l2Ts zn7$dj#xRBCEiJ0g^t{t0TUuj{#}mqAhx+Q-VCS&THk2=l_?})b&={jw2XvU>@siFm z@0H96UlsZi*I#07aRz({o^wTfzpRPtEQUc?!?VqM@?w$OFQ%a;r|>r%l|Lp=3RTi&1?TZ;HJWuE53NoHzWH`_*k02 z$Ku4ZJD=9CMt;Is*sNY9(m(i9SVyY0&LYi>W31)L9$lh5A>$o1e66056Y+x=aA!NT zm0p^!^KQ927B^jOJl;+Ug_Y-R>_d&o{0?|;|b*8+pq9OJ9Vi1qN?L! zTi0i1aTYb@Bp0%Mw2w#io%s#?*w*&=2zlk}W;F|$1KLLD?@=Z9FeIeUkz7F9K z8?+%jK5g$8aq@kUp%3RyS{*6Acn!MsZ|UHd`ldDwz0f_Z*KBzrjC`Z}}R6g-^PC%yH3)td(|@XHJz@EEsjvljVuS?=0W@IJAlT2R_6{ z2ZE1I{&RCe@tVVxvuC8^KI%RzvT&Udwy(CCB@X6Ufg?|SB=DY-Oax(Lw`QU#3*qoWO8IC5+Bc{dO z=^-DdUw{_?bE?m zFo!)Cx=TxNENr1KP1@fpt8)X8c_ZU7e!-vQJq5qa0e8|5l5N>GUj=7zz5xD*PMtV( zdQG~F^J1+2;NC9Achw^qh-vQhWsx?~nTj7tjE&W6+Ohtv;HLs!<^K-)-uSIpH*;wRN=ML!?icW?q*wae8lye$15NxN z=8o|HO&eL&SES8E8`r5_+W4!+pN=+uf=sAAqg%n_R*M^RKiH;PBc$Bf*5@Hx#|wwX z#khsRN`w2b!oBv@S|dMDYwi99{)}2E|NV&M?rrED`FkcZ2Cl9|egNU)3|p`A`GwVH z{o*v6_IlEie!Vc*YTC(Ahh#}-G-n3xeFd@V?DObv9+9PwrBV|<+M<0Ie!i!Ly!P&c zUSr)Cd+6N_-t(E#y~93hXq;y*8CdTZYki*~56`G@bH8z(bAJ3mJ~Mi=p$rEZM}e9K7|3gV|o2lRqV zqXWx!?i$GowvGA%j=Z419j!OjTb$An`zdAr6soM1RM;n29%u{pduR)uA|3eYLykTO z_Q}95_$RYJkhP-*V@-bPw8$rMCuJ00_|z+Qo4Y>*bFxobS63SJiTqNu>xF{f*a+qu zb7W{pY^1kpf8-j~&0XsBE5h5VShh3en(X-zBMb1g_U%oqvi7lvc^Gm&?}My=mBZE( zHRK+CKUsWPkzMggWACT<1;_c^fYL5D<7q_Vv~Pw7aw8Y#_}m%v>AUp%A!S&^XSP zW6o)8j`IW;dpQ4r?}AlrkcY9z!pa^Pf2MTCrR-x8UKZ%i*6W!|v{JwO(&z7|-%mYU z@Sb|4;AI{yc)R)49>@vM^cM9WTnv%NudZowCe(=9@~iXq`%mO?3+IGGD*C%n z{&(z}=gInBQI;H zW=wYQyLC6so1A_*NV016kLK3NFW z_O73BQS*7~haW~}lGoucUWWp=vT?NM#HA@-BJDjiEIxuh-7Y=a-(g^5{W_wxp*!cv zi;k*$Z@;d*xnGjDuocJJf=|?r?}hu3&zw`j`7A8&JoJiWUFskHq}E4{@8^6jUKf8E-Zlcdo zzfLy&a(sn7VdlB?Kbv~p*0k)x7r{gyL}&V&R{TNSW`fp|Yu1;V%cn996heHrE6}_6 zzYkVmi3}zMzLu}&{?C{BxVfEc+tGo$R2gMc6Bb1 z{2FSHxw`Iq+~U5uyS&7c2NI*P+>T2H)()RLQg_F%YR7q154iM$YEym_FT8tLa+xaL zJzPOgq><+X;TxSD^DA4{+01brmR=f7a!=3u;jbikncw{7X74W-}@3YPTF~H z{nybY{w5q?(_v@#{>bqgX-?0&wv#w{J9^z`&EOjeSf_!9$AM!mct;0}ob~51AF-=L z{So|e+wg>cM8wxlFE}0P%INNP!Gb{M<8ld@{qPj*`NhVM?dUWO`{ob}<4WNiyXH1v zdlj&0T|x2M*d?*vJsMb%!4Z!bqqtrAqdh2^>lwOQn#z8VF4zk!F;5RzepPw#EOpdX zhv`c}ah2PK5DEBHyo=l4%w>}A}zVc$qM zY@SMt=m|DHi!yifK13ebYm7O@UVD(V?=<#|USQ*me5)TEE$$+})9pWDY!UCQITqP0 zB8$MCF|aIv2TvXX_N^%|-0|6c%MYc!>O<0<lcXKw)Lb6eZS7>oDb~M z)a3cb2j#xGamPn~lDgQv%XT;Mre$mx8>@-FXdQVWc4H;f`T};$HSKr&X%AEAeGq)I6w~YaSG&nqKwX z1^q!!TYS{LW@V$lnl?82Hz}W~tZRGh-_KxoWCG?(;7c+;N9|BAzQc_l(lfR%`>I>F zM|NBbJF!>r%Kr&3=k>fV&*)_H3=hcnW}efDJkxmwrzRcWm3$NCxtHfVZJomJ9V!b= zALIPQ+a$9*Kf?33^lWi?i_P;>(*K=whgZX|(1N*79Ue0GjsC4~k~@t*vo)5`XZSzo z@@wq#iwm1;tZy5;b}`@P$hW=cU~dj%;3;ulWJP=NbKy4d64{R>=ey^d>gN4s%HGUe z@+&FmDSnrYdkV4LuAa%3FN7QM#VN#N%Z^>-^fvPNR%o&o9+`8{x~2!8XM&qW3v+%D zXFN66LdVW@$199m8@9nKUQlTsRPZ7mDV)1N^0ME-%$;8?9$Hba7J68(UD2o((rvGs z=U_#{JD6wk>0Xz(Z{SGhN{MGZemQHaIY9g3qi1^}J^~-x&^J5fqmu52)@JVhef@&_ zEVxiCX@*~or_aoZ=K1;tyx0hwZ8Dj5Ux$1SkcJ;c-~4L1dHj1kGoM`hVZYVQd{Q>3 z?>)(!cnxvw>za?sh6eYt2Q%#B68}^W?yFa4v7Q+5Am!|+9F@`4uMBOc)F zRla=%+?ct>7aV;#S5fv^tXITWX3p2w&WDi?{TXn0n)U+#=hRv2+C8&=+)nbxx6ygR z&;OoB`q3wgz<15^$S2^D%!_#BRQOIjvc~er8h9jUc_asq#Jm9x`d+_J>y?MjZCyQU zYyIw%YK@cMbROq;tZRpdWXwA0)jj8Ne)f3&@!+wDhx(i6SsudAu=D-QJ5E*K$`M~^ zJUQj)bg~+C)yRc(rgXOA!s7hsAi*ZvTDpQbW^@VrWsz58^QlMh z-J%P~Lp-PV+XH|p9)}B7-(oxD*I2)tVq6|BVqahbiGGsDuZy=B2k~u#$661zYKBicz>IzBG{ENS== zx5sg=w(r1`S1hl}UT4cfw_c|gN_Ndw>$QSM@%X|?XFZ#!Cr%^ZpE%D2J79!9w>I)C z-8>!K>)fR@=O+66d)4_(_;Z)!(yxR~__H<7#$!$%(73>z(!_*&#s2o^)EDzEpIg77 z2{yqN#YOtwaC>4g@_}fre=2>sA9;~HXQ5AuUu-V;)9e{Yd&PUR@LF2DH{I%H=+AoV z`lr&~WvqWLmEYRzTM|sf$Qk%`hpha_5xmIk0Q#gLKCd<2W%P~wn`hq49CnxP6v4;( zd)FVo3Y_J8+8%dvDvnxZPCL|NPFj)v$1WP{tC2r&lI$<{VQ_9BcgB`Trys=bZNUG# zUG|;E7jsU%9b;x+&w6%8%r!pRUY8d0<{RxCfU!dJ?=(2N(~T#V)~<~6ser`Z+pgI& z8q?bHk;bw(jk2GF{*s|#OYB@mI#{wyCNBu9L}?G9o3@z1|e`OZX#Vz9rEIo%Y_CsAk2 zzqTFGeQ)htY}+}*(&0whi|GFOcGq>#nEs}`i&Wxte+%Z#&rz!Ozp5kMh5TXYtzA@UfnWd2Ad-8MXgX`?O96cF|tC zHYtNDD_X_AesJKlD3K!aoq-VwOzEfja zwx{)B#u)KLZeXA-KI!C{ck$h<%Yes)l$otQTKk0gW^d;>dKYO9Z*FYWTKwPB8_9a) zx7bb@%_Tocds-ieviNpY`}ld$SaQbx=@voqz&_X>yl>CwvIC;` z4DSQHFF(LD-*ddL<$cZm(Yw}z*YI9`Mf9$-WczvlgnggNdzJT#4rIPc{nL2Ag!j8% z5!FAP_ltP<%BxI#o^0KxtSzdwxEmPLL?gj28yNeip}k@~%z-{oh{nv@!e98C%G^>P z)_XFXg(KhT)zIsByCxY}o_inod&-U1cHSB9jb~i_vKRRo*V}!XS@LV&g>ZevzKQeZ zz47M{iJup+?(u1(uNJrD*NxjL_krgn(uvz0JTojjj4SyI_KDgYV!j=h>8M|RrdM5#xk%Y8!iXyLdd#Z|mE} z9t@YaWaYIp4|B2YE^V641A)fc2>aUZyJv8T+5 zv&rw8&k`&1B6?%jBBJza}{d4@jvi(Hj`PsyCvOmI= z`~s5EH%_Mvm5(+ygZD5w@5Xnkv2dxm{}*wNa?tp+xIcSpM8Ay+5wY3fSDQ)%6s zBVBrt)oI_geZYnv)4}LA$Iq^gy~zc0rC2V~$VKOUVm>i<@>w~1rG$N7we5b{Vra?wG0U7U ze@v_(Pq(-+0^VH>y?z0lYLjn|$p+QSZ|F72t&9Y2q8Z;jgvq`nE(2zJJ{u(s`~@|10q+s1uf z+lVFGr8D^DfBPBZkt_EX%CU}P@EyZk(4NFv>&N6%or1Y@OxGSp^|PEfgF`kIu;X_$ zu?ew$ITDXyIUTe4+D4#gCeI zxwO!>sWicvZ1-~7b@`x8YiSV8om|@9>Wj`AjrOs+d`lDUcD8Y0q7BU*T^q_LTxeau z)#J_$1JAi6oMq||?p?lPZJ#>xE$PTNZ%Fu97SBUn`MGtapCfuQ6`U{sfA7)+{lKC4 zmv5z35)Ssr`^0&5pJ>~us1N0m{MPCD^h5g$g@3)jgLnC6S4+l1_!K@@eW#HgpBG^I z(O>_%(*fWy&Ds)re`B17w0LjC5ci@18^W=r|7m=Bb;&vP2D<;^p<$gNkS=T;Hv0jF z2B>S9IlCbC)zDrhaQh#t^=|;%`7UO|(op^cox?8QV`q$@{BSOQRJteL3s3-`*mIeH zv)C;Bx zJZ--Zy?4m$4;2h&(S9~OwH}u-ebK$`i`hTwZOnqpe(Tpw*P(;%G~(Wp%+M3VsiC`v z&0b#aCdm|LQ)YexU*q=k?S4BK<0^auW21|@vPPfPT4nI(?uSyo4CmL&{_D5CV6#UC zJt|sffK$5eT-Flg7fj+khMT@>-yq|_t{9KhCw`P(aC?J|ZyB5*lN;kS@@CJ;a>swup4JVB1vPvApxfRN@2>rd{ zBazGy`-i`__h|B|PolqHxYVqDVl$Y&i6#g0EP0Y2HIhHtpq+0@Ka!r5CCRbI5XWO$ z8`8LT9C>5h2nNP|=>T{{ch*Mn^USw29t6;WF~y7vZa-H4{m9-B;}ASgpP{?rY;WgO9@9qsKFo?@H}F6NH=X>3LJ>9_w(`h(5jm)SF;{@^Pp#+d$*yP#w5|s{T8gAhYn^9QtidCMEz5o>6Vx;J$T&{ zZ${&x$395rdPe`p<HYgd!vgq2#`N9CR%Xu}{ou}y;*^`A@6C$c5e_=r zh-upaulh~gQq=Fj`YMsdUt(KpKccan;CE=&xMY&nI!mp?(aG`o#3k|0;?^P3FVN^P z)9*!kAM3Yx0UjXcVOReL;Q`rJmB_Y|UG)|C`Q`Ee{oF}E;gP;a#>u#))h6JEPs}+9 zlJAQo$H=W@TKX%J>8yW&TFGWX{Mp&+6kG+sA{GeGCQvBH8Zr(VQItk1f`Ftmk5U zLnqCfBx92Gq)f_QQ>=qv$ym5L_)6#MkBxWC3tV4R<{woiq%6R^e-1oZ{}myGDUIU{7C#JyMEmU0qKbbxd` zYYe$Gc+6eQ{1rPorggQ}ItiM1-UpkDz`NEWa)I=jeA?HxUjzNsFV=NNyl|Dlwe%VG z3Gc-5p&vBwR^Ior=YBqC@Tooa&)_16^1l&UJe-gClkw?#?((Ldg}AebS4^~(w{4Ap zo6frDQTGY9Ze%j=>J~42?`72e2YWVv>h=fDY|5`J9p`X!i>)KYIcg3*><-!)-^atK zCps&*)Y_u&c5R6{8~n$d1N>=SH2G`fv|4K7tKD)*k~YX*%$tTU=QsX^?@kxHy^M1| z%33#a>1emm(CdQc3iw5G^Xa|7u60lCfyO3kdWC-YKDwib@qf!a%4^(88{BK2cTM|M z!Vh#rpO18wLpB<3hK9=bYwlEkj5EZ9x8tDkIWK|x&ib>qeyu5We*3HLX{YVit6v>3 zt8MUR+WsN=zH8ft&+{j}%(exy>Njmymo{a$svUwtGa3+^oXBCaKW~yJqBYXMPz04;nuB3#n+f<9?-R!f+&if~5 z?HAwP)O-^7FL(ODt3*0}0yZu_np>s&CU9O_y2AXMIGZkFY|`{ydg<4!=gQyp2(}$# zxQUH)dLVZldSM`xondSd#nl}JJ?5~E>BHAQO7M)6_W|J*cty92J@ftt@WkU2BU!Hs zuSMM}OWbpm0oCA=3u;E^&uJHdIW_qQ;H%&%t@wJA!FD_4p<3 z69qSiTDo6GeQDazx3AeU_+a9G{1Q2zR6~!3>xkXI7Jn=;w!vxj3}==dOU%(Nlu>(% z>0$nNgyaNVr@5mq>w9Ol&Y=EdYd6ZL&^SST<2!Ks_;)yqpR@ibe=NAveB^`VoffP^ zerpZx9c|u}BYzG1E2wQdzPN5{zSuW3jr&r>$GL#}2NWv`UUS}Al2?0IID3g~+KI#% z=o{@_bvt@E7o1+7ir>`tRyN;A|8?I%CYV#t1>BP!5(8K0ujjq~`u()a+Fc{ScPc)5 zn)j({FI-hmRaVz0>)f;==LQs4GDlg#xWwIR@T}%0*IRiPy;t&V@B^LQU6xwgzmmRR zCA>lB9CW^%eCm_Vw$t5)n|OCPs|W`cXMGlDH-N`m$)mAEFfxy843SU#Kuqq4gFWZn z*xo|A?s3x{_okopnK>icb*7(p^J7e>RviNXGE09j9{1`dl99W&_8_a9|^$i|#zXgpS(>H(8($<66 zhG*`r4%^?ms3WE`HcyIJ40Lj@?vIyTZ{k@v@O5r5ZRy-v?xHdNfEkh{;v4sNpR?}S z1-7hoEwE)3!!zjiQQNk8kLD-UzDIIl?ZLtO81tCJo3pHoYvBvUey)6Ka+Py9N^6>v zOKZ`qYwLx|)^;|44-0FXg69qNPx>9@o>zP+;~(}zsU@8&I=_uRxV8(yPWF1zmjImc ztNot%Dq5*vZj3wfgS$m7^xUrOD#m|rP4fxn-X8SOKI@g>)T@FM@?^^Ru|8b8`I@eD zJzf3b@C4xb1$6D=3K9MI{HqouA=|!>)`A??%HggHUZsgyIyd0QZP(u9D*j`W zXWM@z``A^gt>FCm%YCob`ikuvcHPL}8rrUgtq8y1oN;bG?Feq}WNl^{)20S@>bWEL&t3S(s~a4 zz+7abkL@HJPA>kU-BtYIu-q&?EUau_auoiA0DppgS3YDN`--?x#vFJ@K3B6&1fCi`du=`TWvG7E@Lm+p7}?|G z-}j@9TB_E#>F7dTbI8BfZX4JQo@is7?xD|<)MsFr%U-ae(-&S}`&j#&JB(N>`rzi; z>i5UMLuWmV3C#Z%sefBk-xq*ic||kfb5Q+7H;^{X4+ooCYf?UkN6uPkT?ft!7OyV8 z(6@YYyMqm#DLkTZ#(WW^CH(>>wy#)EUtr@Y3?AY^`w~HggOo zV@!-6;f8q#ytU;L>QujUPQ^2Sj^P83T&dKL zK8fs}XkPn)=AH7}g*Bb2F>;6c%6Iv@TwRl(gZeoCZ?vsBU)(QnBmYJG4*y&Ro|un~ z#D4gR=ok+jQ*{0e`QZoJPjfyabCAYw$*X-QQ?0Ed+UB9j0hTUPtxbWPHeUC4;M&c4 zfcos_%1>0_H+*T%Kf^qBq!2`BqSJ$V|C#G+#aV6I+<;N5b@0PxS7UwTve+OgxyoJ}r32!(MmR*CH4!`!&Ao(CN;edRAtW(Knwy^akzRORxQt{2q z_c+I~aV+1DVXTmR&f@uM`z-sYrdV=pO%%f}=Qr0JUb>{Odu6?ER&-7S<5Tb2H=}cl zvdfrLVp~d|boLSdO0R?Y?eyb8`k=nZ&i(62`(l$WHU3(6_Uzi%jp^~5xEFH3=`83a z-9G5vB?G}W=FrUN1T%F?Pa7WRnR!a&cc+i|gvQCBd@s_W*47`>Ay)3_TfSTJl!(a{ zpUfXM?U*@4Bukw8Xz3?e!U&0FX=OH++ZWmA@`c88NBZ$ZIf|8#Z`SAR0MEO$?Qxf( zc<4LullBCT*IA1j@?&nJ4b6d87b9PcKe5N0PxqwTpJMey8ovd2&#OM!JD=LgUJ&%^ zkAT_f3K!-+99?rR`DXYO$x(>1gsUh}E*%eG9vty^%#G_$lkC5h_-@=;{n zySR`&G0|E1_*r{X+|7|z`q1pAUwB{h2@iUptJ2{L*1dJk7H8d2kKb_yW84?V3HLcZ)-_`$L!)KlQM05wAcyFC_E5EYuE}BieWQaba?T=ALV}hPP$}{%s zND@x*HToaFB=;%Va?%lxSe(h0);z-5i7DPcns~>)X?@tfn>8WM=7V0nszYlMei`3# z2u}cyHxP~Ik20ou)#!|5!Tw>rSE6^7`$xT(#=dXYJF%2qob87Ve=}q6<}A%*A@)KSGAs@^;7Y!vM$%M_~h zH-W$Ygw2!<$V<$MY^EEy$6ROYYwY_c^2z?Y7hFDoy{G5xz~|O6-a@)~MdQ^k(l6cj zarWF^`Yt}d1scWnoE?Xw@j|v7y7d4X*HVBU1?>C1F3q>vQK4tRZ+k845;?Lm+&7YW;?lL}g^dL6U zF5UaA@A%0`M`tBq?6ok8hp=Z1PLtpF<2yd%kz~KVNE&l`+U1uN0jR15TLlaFz`=X#%cil_yc3@FBc>nO}_w1=;wt15Y(l zW%=u{#ra<5PFJreJy_cb&2|Y#+V_NxV!iDA+tBA5!2O1gYrJPZAf2u8$@u`(PuYlW zpP=DQ-px5^1^GV)+N=x3Iys(eBmeTNpcH$3_DD%r(|?n1CbnhL-;ja^8Tmenb?zCc z#{P#V4@-^nKRCU=w>DD1=@;rcOUJaaZ$}%dTWzSVzt@InA$dsZM(C%zDz?Pu{u%y^ z=Ir3s%-!9u@Ygx6!PjZUyCc(C&hs`f#&rb=TL-+!7MldE#=h4L4OH)|k*~4zh&F0h zxRG7Qd}hopFKA5fYsdKulBoz*)%AppD}Q=Fc&kuieO2?C2aRm7f4uie`@ON3@0zPT zW4}MXm+#o8z05&n4>VSzBUS&J9C#b?fkkDYTYQFq=%N^w(D{IZ zh+aQ%^DVwbbaV6@|J&*J(j4jnw?+le_}<6H`@*1gl4r$7jN{uF$I;O%@5usZ^1B=3 zv zoIwNGIZv-9U&wv))O{54hyU(HXEka*>R{Sizk%PtIM30;?&&qL*Y0ct`mS>bpiSP@ zCBBu-jFFK)4tNK}2WR4IDuvLS*eL@$d!t>wz%1O}Wnoqx;qxZ!f~3F6*fC+PhyAO) zopY?u(@#f3w-1VUGq(6aEe)=-*gg1z>aDf>ir;c4M{^zr+pDdv6JAcyGrAcaw?%ul zm)LL6|1r}C)+nV@#Sgc%$jjafJxiwaE18-}nHVR?kfV7g-yq+pl}N`uMwtTT9nOK> z@X%O2Ng0p6jq%*r9hK0tk)y88wwSBNJQ~?q>)Qt@-^-Ba_xx1-jNlZ#ZeTuyoo?VY z@(aKIiFvukt;4`u3>W;6fk!mwo8N_0~>Dj#)YRCL~DRF+t?INgJ;I?K(Kna;WVYD4j+ZhwVrNf(`jA4X68l&-D61N6VdF##j zGq=xU9oG0L2IKSV4NSoOZQ;t;r~R=nD7oGw-R5xl9c<1QzWi!2@G;n z7&{IZ&8xMRJLB7}lW8qrwaxde^d`Q7vuwLtOuL_NkHA+twSH_+#mIZgyRx%b;i8-L(l9j)r$8?66 z)(Ca~2ufgACj1V#7VIU>C+Hvhi0I!s{8u@AOV0pn+z#?Bo|x+J&+`~e?2QCY@zfsL z`6X*)y^<$*P4t#5NcVsr#vbB3q&I=7!Z+ro%@fG4=Sji?u%K(l>|c0Z`&MO(973JL z(#IwI4mPi`7eG1 z+2VceXy0lif8sazpqsV2-d_UOt!6D~Y`pYCYykSEF+y^Voe}HQz2QT+5_!-TdaVqWJil65$7oUJW^nz-8syp+5IZ%f8 zX^Hpf>>$p5C0%1;#rYR{BU`%B6<$C_me(E zwlwzc8|lXSgi5uZ3BPUfqBBe^mRZlEjK)Nj)q0+TL1VAljrB-G&)BD4J83<#A^JqL zjbXENmmNM<7d&P2y(qtJC(a9vl5J{^nx(F|e)5YaQvSfWI}YOVw*9+if?v*H@(Ne) z&wkVWpilJ9c}!{lD%>ZvwECAUm&Cj1J-&{jop!B z9-AriPhRO}wIf?jb+b-RyNir{bzdwK4^wVuTX=T#RJog6z364HP;C>Z+|oM0od2Oc z#@0g^H-*Efjfe+CTfMt+gXdh5mcj*Tk2yR{m^BA^W&S+>YU1ak@m99&S+pVe%eJpW z^i{g}8IvBJALZJ>K7a?Ku~22-Zt{%1pT>Kx#Mv6uceik6@sa`0;`<_anJeEc?~cdZ zT^;99UkpEdS#V>h=nTFzwz$R${$eE+B$8Ul@KMC5)M?Did=yx~YH6AXboX!Yc ztNi@NyaXS4#i6!v{PraL>Kpu%;SS`?EY5H6(ql3nVz1)YF2Xm*5Kj}sSO6~WR2FSd zvv4N+q;sgXH;}kZ_H4{+SdFdj!`t?IR3amx6oh z;9hCLW$aJwF;^Q&9-|Gfa*fVzXsl7aVH8WXN_DUXmx2cVWOFap^}5r5dGYnB6KkzL z_(FS!b`vLyZ`j0CJi1$Ov43xc=BBIK`64tf4h;*}vY)linql8+in=w{q^7eb2MrXT zjPAWP#?z2!xePii>n8odXOPJl=CZymX+2}lJIHE(5P5ljEEAsE^eT05N1U%@YSy*G z(lN@bJ7S1+X)v~CdB-18VQ<8h*>nXOnDxkIS}(|F>bFz>Ip%K4TT5a>+&9|M*lgIRZD1C44#m*xK4bShdr)Cch zr-C_kC(Ew@moYv9$??g?mXY2n0Ka%F#z{#yS=>4X_~SC6`nyQuGwW-$of}T-Lw3yG z=yWZ5R=;-&C;V_dTYuO5>m0{c4rc1j~#K9v}iTI;Sg$PRNQ&5bhL^L;UPu8Wz} zoFdkXW$rI=x*ObP1KNbPfoSAp1AUS@n6nWIv(378#=H8-jJLt`OY<)JwM8-5*?{vJ zg4*V|95N0*TB+{7;juQ*wYFaJ!gtJ{UHc{OS4un^8;m@%c7yX~O5Ydc4R! zi|gfGaYnLfTp7uL-i6N?Ho*&@qWg9k94-Zi_(L<`b=tX%F=gSCJKw;k?j1JI7xoPs znby81aDjYmkLv?2WB}DWIoNCmPxL#z5QZ}rJRL2?>axFUS;j}m!>b2+fRONZ)inZcS`8j^xLklORswc z?pmn9uk6{9Z*)R+ReeJ75u-!Ol8XW9yt5j!^&H~I{4TiK z6w2q$y7Oag!Idf3x)r(S;lZ)u_;E~~F*dh~xTDSbj69U=@9-}F!qErTPdH2QF@sxA`85t{Ek9&_rdV3y z9Sn@rqgXH#dsBt~D*T5hW0&9yV(%3`nUPyg?e>=OznuR|_+QKaew4f6BiKgB2j5Q;#;C+UDhmlA2<^4qau5mIA4zgOSElIyZo5Gs< z2z--;PA3G6twC!z;MXSxG=(j$@s)A6euVPCLy|Mal<53L*%^Kb87WKVmMAt%{xx%U z%%&;Py4Y2e(^v+c_CwBkm+QSU(7v=>Yka%-`G)pC0e3Ha*2t6|8x~&9Bag-;bKV~K z6l}hCK{H*h*1JNUgFhHr$S<`L_--wzo^G>u<$sX#6QR?U)Y(OS8pC9#X&!UCg~`AG zOqT&~S8)yezOya;EBFtCKJuL$M!C0o3)33^-pcbOJj2iVnS57V-2araw6oZ(HF1tl z(;vXLt<+kd1^yGs1LNkE{v&vxtGuS3;#?%HO@W6Le33VKc%}~{t}c}kKPi4kWiv&= zAKeYq7t|WJ1?uO1X1zBRFx~~gUcI213e|_-8=l-m-F*q1;HT(y?J7P<^?r?C#$a== z=(~Z};Q*O8@ErjhhckAGW{1;PVzHZy_dVcZ#2>hg#;S-pcYS+@>FHQcu#%R$?_fYt@%)inPrA?xq z-OoonMZRveC7e0_5xqYO4wmuD9vWf^BG_m0jx6{1K{_QlhAxmfx-&vBZ&zOW46pR= z06&g*$lQB2@2-9a+g+BI9=EV;q`cq|UR_?nat7&@#N1tD!(IOmvVo2t`VW3dvebEVw8&-w)>^Ioz0V%S^VX8ahLCjGTZWA@ptEIOC@1$|k?xfYMZfAd>fch1x< zs|)ux+WtzXs=t2WdCJXiiO;a(NAgAP0R`qX^D5Ercbp}!eZu4)$&`?3=}~mQ=C;RC zhiEF__S3QhfH#Zn$heZ%UTo7(@=WDf@=1K(hUvu{@4=S4CskZSOq=$JFVLO4yL2yW zZUb!+Q^q~Y==xR72Xv18Ch82VP7>@z_LmeN7|u{OziH)gZq~}-O!+d#Q}uPB<|6rt ztgnA8`0cL)-tqJHWWvh^e#)FAQ(9ejyyjw5vU|yo?Qp%~Fx7vvXA>Rf=<8vlIDTM% zH@3-+;WYQN()XTI;I&j89EqM~^xVMO=0xs6*IZNM|55O5YG7^38>*-Mp<2&G=28=} zcN7mGcoh?XY+iqo;2yXv(W(^9x@V2G+Hw4AdIHH4@um*mgQwZMoZ9g`X*fO(lB>KW}}J_8Kww#b>a; z_VExFWdC>VB;4@N^(H2--bX#lT3O~jvlDe?yjsKI(!mnL zAbS%ZkM{q2-kiGTf9~uDoga{a$GRwgBlq}D!xoyr^J{r_wvZS04>8v6()d{zxUv0u z!Cm~BY@pU$@Gg8l%&(z+<`d_V|z^m-+{MS z@sw%VmnZPfJSMGthePj7i9Phdr@i_2QkTX`>P0t2_XLxXJ&8BAzi+?62k7IUnK?gt zL$+Uwb@X1rjXh%EpEw}?zpOb){9n@eeWv_zltbqi?}6WzHvXM=gKz8>c%(J+;}crl zm5`X|dTXln0}(H5>eIYI^(%Hmzb0Oa-zRyW7;x82LGoE^JO+%~Yv}x)Nq>oKbmjTW zzTW5+e<#l~m zFelt%=Be{9MM&i<&^Vb&(&T*rT+tSIn{M7{m?HlsNH^X zO?r>l)A}NCyY)+CtoLux`Lon78Wz-sS8H9McVLs=nOcEY2WqXe_$GdG{Q6#-NBjz} zA}>SP512N8);2l~J0a%T@+0(lNh?=oj!-5Bjpu0}pOA)!)9(N$4zHO|v|iLYlQi}3 zOxn0F;iIgB7ayBABwhZuitq%ST~+3)RwmvgIOUTGYWS(^tsZ#9_)DxEto(jiXP%fd z`HUZ9F*JAQD9z+~LJ|G~A4Z1+n}KP8)0aI-h6be@s*=jGA=G|;FH~EY=&B`hj{`#u}C^} z*92h8%wEmB}{Jukn=9DA3#~b zR29A{uUO}a%o(X~YkJf6A430ax#IR8`o+td8mm*@ncAb?i%mB&fx2a*iLV}VZ53$) zzp(Z@$R1hW#ks)HNB33TfL%4cz?fQLy~5gJ8ha(rhk+}f`w@pa>Jfg<6l|e%Gd7d6 z;ewyFvy_$H5l~j+%t6fY9lz=BYO`*!30rd$JRH8C`M<f<;fnZRQA%z5ec9QFQ|zN+4nfLri5*c~n2M*4@zBby+@SRS8KBHMzxSu4p8mKf&*a~a;T zJ^<X+9oE_;o>SqkuZ?Lp(fBX@>1?|{IZ95(tlw86O;x);`gn^p> z2HJLf6w5+DTR|m^X%I4U_UNi6|9r?gM$REFp43AWsx9c6;Jo(4*^7yf=Hv%3S-=mzvLt&HT z>Ffr5P0J3XuUXMXZE5bKb7>+OS=hRfKKmhaYuXlWCY7Q+{F91|F`KSv`oXj9H2$bb zrJ-S!;cj8AG3@e-^N1&2s54==hnfok+tt7*TUfd{ZRa=O+O+>=+IM9pseIuIBd5wY zsknVubn=7krVS@6=(9!u4X>e2*T%)Pq58Ft&%w+bdL*o@Ha<_;ITht81AlNub5eNk zu;`sC-aDM4zH~LBxobmy$DS+OEj4<)lMjP8@gRTJQPEO4{5q{+yG9#zj z7o@#4;z^B{uV$_j@pSb5FyAFp8lT@nza=~G=UFoPCdrL$>okMYE1Ju|!=wP1`AzdH z9`&oWmST-d=>GoVy5_$5InSm`=+vUtQL4Z9i}yTv5O*9(C-!^mno}l3cN|Kmjn_So z52LT}l`d|uC$d+0@1k$Uo