diff --git a/embedian/debian-emmc.sh b/embedian/debian-emmc.sh index 497cb52..2d81515 100755 --- a/embedian/debian-emmc.sh +++ b/embedian/debian-emmc.sh @@ -22,7 +22,6 @@ ROOTFS_IMAGE=rootfs.tar.gz BOOTLOADER_RESERVED_SIZE=2 PART1_SIZE=48 BOOTLOADER_OFFSET=33 -DISPLAY=-lvds PART=p BOOTPART=1 ROOTFSPART=2 @@ -31,18 +30,9 @@ BOOTDIR=/boot check_board() { if grep -q "i.MX8M" /sys/devices/soc0/soc_id; then - BOARD=smarc-imx8m - DTB_PREFIX=fsl-smarcimx8mq + BOARD=smarc-imx8mm + DTB_PREFIX=fsl-smarcimx8mm BLOCK=mmcblk0 - - if [[ $DISPLAY != "-lvds" && $DISPLAY != "-hdmi" && \ - $DISPLAY != "-dual-display" && $DISPLAY != "" ]]; then - red_bold_echo "ERROR: invalid display, should be lvds, hdmi, dual-display or empty" - exit 1 - fi - else - red_bold_echo "ERROR: Unsupported board" - exit 1 fi @@ -65,8 +55,8 @@ check_images() exit 1 fi - if [[ ! -f $IMGS_PATH/${DTB_PREFIX}${DISPLAY}.dtb ]] ; then - red_bold_echo "ERROR: \"$IMGS_PATH/${DTB_PREFIX}${DISPLAY}.dtb\" does not exist" + if [[ ! -f $IMGS_PATH/${DTB_PREFIX}.dtb ]] ; then + red_bold_echo "ERROR: \"$IMGS_PATH/${DTB_PREFIX}.dtb\" does not exist" exit 1 fi @@ -149,7 +139,7 @@ install_kernel_to_emmc() mount /dev/${BLOCK}${PART}${BOOTPART} ${MOUNTDIR} mkdir -p ${MOUNTDIR}/dtbs/ cp -v ${IMGS_PATH}/${KERNEL_IMAGE} ${MOUNTDIR} - cp -v ${IMGS_PATH}/${DTB_PREFIX}${DISPLAY}.dtb ${MOUNTDIR}/dtbs/fsl-smarcimx8mq.dtb + cp -v ${IMGS_PATH}/${DTB_PREFIX}.dtb ${MOUNTDIR}/dtbs/fsl-smarcimx8mm.dtb cp -v ${IMGS_PATH}/uEnv.txt ${MOUNTDIR} echo @@ -170,9 +160,9 @@ install_rootfs_to_emmc() printf "Extracting files" tar --warning=no-timestamp -xpf ${IMGS_PATH}/${ROOTFS_IMAGE} -C ${MOUNTDIR} --checkpoint=.1200 - if [[ ${BOARD} = "smarc-imx8m" ]]; then + if [[ ${BOARD} = "smarc-imx8mm" ]]; then # Create DTB symlink - (cd ${MOUNTDIR}/${BOOTDIR}; ln -fs ${DTB_PREFIX}${DISPLAY}.dtb ${DTB_PREFIX}.dtb) + (cd ${MOUNTDIR}/${BOOTDIR}; ln -fs ${DTB_PREFIX}.dtb ${DTB_PREFIX}.dtb) fi echo diff --git a/embedian/patches/kernel/0001-smarc-imx8mm-compile-imx-sdma-driver-as-module.patch b/embedian/patches/kernel/0001-smarc-imx8mm-compile-imx-sdma-driver-as-module.patch new file mode 100644 index 0000000..626e622 --- /dev/null +++ b/embedian/patches/kernel/0001-smarc-imx8mm-compile-imx-sdma-driver-as-module.patch @@ -0,0 +1,28 @@ +From: Eric Lee +Date: Tue, 07 May 2019 17:56:12 +0100 +Subject: [PATCH 1/2] smarc-imx8mm: compile imx-sdma driver as module + +Starting from udev 217, kernel setting CONFIG_FW_LOADER_USER_HELPER +should be set to =n, because the userspace firmware loader has been +removed. +Yocto is avoiding the problem by reverting related patches in udev. +The easy way to avoid problems is compiling as modules all drivers +requiring firmware loaded from the filesystem. +This will help with Debian filesystems where udev is not patched. +--- + arch/arm64/configs/smarcimx8mm_defconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/configs/smarcimx8mm_defconfig b/arch/arm64/configs/smarcimx8mm_defconfig +index 8b5c19e..f147a21 100644 +--- a/arch/arm64/configs/smarcimx8mm_defconfig ++++ b/arch/arm64/configs/smarcimx8mm_defconfig +@@ -4966,7 +4966,7 @@ CONFIG_DMA_BCM2835=m + # CONFIG_DMA_SUN6I is not set + # CONFIG_FSL_EDMA is not set + CONFIG_FSL_EDMA_V3=y +-CONFIG_IMX_SDMA=y ++CONFIG_IMX_SDMA=m + # CONFIG_INTEL_IDMA64 is not set + CONFIG_K3_DMA=y + # CONFIG_MV_XOR is not set diff --git a/embedian/smarc-imx8m/imx-mkimage/iMX8M/fsl-smarcimx8mq.dtb b/embedian/smarc-imx8m/imx-mkimage/iMX8M/fsl-smarcimx8mq.dtb deleted file mode 100644 index 0f8c1113114be8be1983c8b75911b932fa52d8d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29231 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 A6aWAK diff --git a/embedian/smarc-imx8m/imx-mkimage/iMX8M/u-boot-nodtb.bin b/embedian/smarc-imx8m/imx-mkimage/iMX8M/u-boot-nodtb.bin deleted file mode 100755 index 16d61a0e36c74d8d13812414fa11575a1f591e50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 652736 zcmeFa4|G-4weP?7IfoGbh#?6{2!Wgv&}!6*82&_%>;$w_ZLfy3QuUP+(AF!qPe82* zS5A;B6dx$uEtD_Zky*4gcET8lt2>-Bmo?d%r!~ z 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%0AlNM#3ad;XP)f)*{JI z(1RX$1HIJ6*$bWMCR+#be2tr{5iaq=;(23WX8}LptH@v;8$f3R4Uk^8Rfq3AkFAFu z^@`QdqA`l<{ZjIKk~MtVOH}|D_Hpr}gr(4L8Y?QKauf|Hx)BvQK?% znG&DiTVx~dOV4)c{zv*t=k`SY#ThaE;@8u6;_t?GP@QFMomMXXEA?z9Ms=q!tx^0i zVJzy|u@zmvlDF2{+xA;Bjt`{Y;yL$HA6a2gzrD5nRX~dYpARqYg(n(csNFbuusEfc zskb3rGc<>9eMOEh=*0hfy*|X3zrzdFtIBng_%itjd`Z0xU$9^QpZOBk^TXtA<%4r2 z{?E#DIA5ouPwxhY=j;gO_fq%a;|HgYUZHH7SAA_KXY$e>^UU$fUPtfD*e4$o?ZoQVF_qzm zprMm>DOvf3@t4%S35{BdKBjeVA@+xep3*fTikBW^j;$tcYJjoZ7|w!*zJPNMEiV4c zMhx(;m~nIV%Ae9ZEZ=vLZ$O^g@V~6YzHVb3yz+4A9S@G>?jyx{ia5$w|CRS>@c$mX z1#CS1_ZjQAvEM=CN40bL#GHQHy2^wt57q8U!`~hBccpDrJhwK+QWO3s|FGZM(aH9# zmDHe(F;wRo7pom^gSVCNR(_2i14|Z+fzPZN>{Y*mAK3D(WDKi$GRnLoM;Qu~<>$-? z_Q?lDA11#$;r*#)*FcNyeB5!|yNR1;oUFJy!&~t?l`iQ|(%4^RmM`br+9+;7iNC?F^3t{FR;P50K9G#?#}`%b0a zCBJGT-Y_{`Nq$?{+buZ@Z2Wu;`~ADs@8*$7Gj22 zWJdL|jHh;vc`?s?d~FYVJ(y>z4a|!z?D@EpHp;%-N0x47T{z`@tD?UJ9EFnhoe{ri_g(la(tRVt&XLBhbLp%wk$lqToGrWbUK7g39m<<^ z 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%0DApI9 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

gcG%rZO9TFm@I;J_mNs^gSnwO93Ilv`c zznE+C3@T24g3A*pju=8x+G6WAeE4G1<6z7q<$h{V(R;tgWpi%lnO6^E~wl-kY82qQO~+$wN9x+f|G< zl}v@eb~WWz2}yw3l29UKLw5H2fzGEqzyDehdv6J0yZZFSA=A=U?3jl&uN4Y8dKlx$ zdZ1J0cy{q-dj9$QM?{^uCh99&M7ALkSVK-#B+Ra>iZY_^~;8ySKqGbYk%WNU)6Vf-mQh8sRQDJ zG%h>Mx&Gzn*44+>*bJ+!nCr7bL^m(b!@G^w_f~b)Qi(u49(uRDS}F16;PQ;n9R%i` z`1bm0NTiNX@Ann@Rn=)1gd;raXT}m|%3DUj@wAnB7KfFo@KiWl-OUuH_$zyLKvdLT zGt-_SYPf1=M|XhO(}Rz`*R{1*T!t=4o~OqmdgbZtT5GTxhmjIdL?+U!8DT;z9>8hQ`wrJ@-{(^R;Dtb{p!(HMsYpz1;ikLLZ{U`zrGM~ zePJLC#PhCxrAQeo**TG&KG$#CgaT-_6!hv8{9rJ+b&cM3_3$7&Yzc)}(C(~t)39vB z0b(l|W~!eP(0nSq0k+qBw;4OrP%GhqGX-YRzF`)Yo0;O_W{di?UqAf$2h2^&+`%q zsg%m;rGgxl~}~<|3NJ(N1Pny#dg3v zU{UChwTifG&~G)`XYEE^(X%yr{{P_zN1Eh%^R9#pzmhj$$Gi@$h$pJiz00vS*#l}x zYnM7zAl`3lOGm~wV5!@*Q&i*lTU)f0V_OmbAs>otEK3|TrN>^1b{PU+Vurhg4FP;V zJ^y$a%4xQB!;D^M-}`a;o&!0xy|I~wKFwALQyYn9;m0r%Q$A6m3_UuRVrV%U7MTMg z*s#DunQV_VvGdtGXh6aYiS|o{vM%w7z|$5vs_$R++3eWY;KslF*U-LxY%1-?VaM`6 z|Fx^1&wst~pWUtkH7#;iK<%>eP|r)H=jGBfk;^^L&i2N`P~F+wJa`z^->e?K-rjp1 zpEeI`2Zz@C)|J?q|*KfONK z-d_y*T(Zw)`+RJlPwexleLl0#AMNwGeg0&hOR?}$;HH43TKnqPP)UEA-P2aHUGHVp z-PObON_+SH^WF4L-yrpD?NZd`_C^VU3UxrIl>bxCH)IsH1g3pz=kPn_QjV&TLD}Ar zcCQ|$8dHw(?gG;usd!v29v|nAnQxdDJ8pk#EB%{e5YR3bWpKSt zz<+j6B)vx|V&Ku#7wg)a%XSnsXWQsYtB}39Xyw=@+VR>h4!?iSqX?3u?Mvt@PxJU! zVJUVmn?pF4mYAI_u~A?1OyZjMk|D-#oJl5=hOC(FnApvG7i8GWSu}%s5sre)vTS#CJzI66 zFC8D9#>M5EmHR%XMx(d|MR6;IsGDw%#i(QQ6}3pE)G`=8^y_d>hO{ak3Jx@8X&{)X zV8}=8ReC3!eO4z*zi1WZ*k}*9PvBM3sG^vRqDjWgej})oMcQh@<=fplB%T}HD5&vry3=tE&z_9&XIF?cp!*w+j*htN z#sR|)qJ_q7JlXYY=JdJfX#y5yeh&v?2cn}6hF!QGzdb|m?j#OpwYr!j(lHWcOzt;S)oE6A)rh*4Yy&JW8uN_HMzVUA*w=|wXiM47 z)I1Ic`cyzL^&qeOp-;rUy|6vqWwqN9j`X?70!q;*A@=S47n&gpoJ-#)+DM!4US>s@k5-=ikltwum8;UWV`}>ni3PO97Z{B!|Gr&6%gka)_9CMU zfeGz0L~ra_dvxBwmuuuKu{SN~XV`K{qwm_3DnfQ>3tT?o0XQas84?1K&J+7|Y`eb< z77+LVwJ4@-+>d=@r*dS{0Ls}lh&-2fU*|~I+(fyYk+v53*Pb|;3auLo%pf{f%NB$D z0y&R~GMs?vNOVndJ>ajD^=>u8;jo~sVGj4S*E)9I5j23`PJ#2W7tSsD=BQkrogoxN zIKuTzqQ8U>BqK;K^xFwDXd&P2tB1SKp2TC%8EZG7$ZgwaOyNf)6gqe{JK$&S7Gj)? zcqc;w2%l$5&vqq#d%t}U;=F2#oqJ&mX8LuEpvfVpO7PBJcmpP@le`oOaZh`hIg8Mt z`uA#0#N%#lXLC>D0HRvwHA&9PG@29@NltdSS=~HhPDJmrn7VidD9lX7lb>(K2qiKK zM^u0$^Ku9uTY|gJQI$3x7%u{(*})^ho=Me+G4xB2R(S$QwHvld5+Qs0Y(`DJOE5d{ z9q4Ew!7GRoVD;OVP9Gj*LXTj;3s z)dbS;2w#0}am;ntO#6|lFqw{E?HD*_r7AlFC7l zVN?=h%c_3IcIk{4@is$m^tT`hl5Ej)@#-)7a)e3xVKX_Ltb_cvgC|AzM@irQr2IMC03pv zV27_-f59Xdbm>6f6dz$5eGWQ<_HU}dw}z6mHP?22VJQux`K&@&_@sHh@~=$WV{-#& ztklv#5x}m%TnXN@NqeTYJjKk-!4`DV^%1h_ka)N(|e3Tl-9< zedh~Mkr0Waw^HoKlr)x6pk*v$ObWHSF4I;07xh79&_N!m8cRRyWjr^Y!BUj9VscmS zmi-wwOXdu*TzDoX)+*gbIN>I>Yo21JRq-z)DuNM8|>&6xvj{6jx=7%%;g@ zYF)($J>Qg?6mmYv!cz@*^tV%CMqOym2=Nb1|G*(r+;g?CURL}1p>Y}bAnM=&ZtwUeqcYhYf5pd<84Ii>?3CFYH&SgCs3IYH4Kp^(2B1bU=zKy zCke^1A<`MtU5a$4n~5^|F6^5+MydyGV=*J2nHcq#)5}v{GgWReso4QG6!E+yVaQY% z3>xR~C!M=*bl7@B-gw8R!mRCyN7-ArE7?)dxr3|A=Da;2tkpM`1e_JA)CL(N?b-wK zTBNjkSt=R}SQY*wRnrj1;2;I<;L~3$TTckoQ=C|k0K7#+n-h*{>l8@D7)K1RuY`~8FcYVPc zdJYI0FMDrBEu4>Ogk++i-^IjZ*_ zQ{R5#i{Blv^2)oCZSTEZMUf-Jq@zuguFRl8UNm(-6w(h42+W%iz!K+hxOCL(H?-e; z#3N<_JtQ8&8i&Hu2W$eXp*R56HSJ;+6nKNke)Di)b^RAr!G5vM(v0pKX4d=~<0c2l z&V%-mT??Ht`GAt^TTUo6h}kV+17atc>w`U2#sn%xy$jto_cJ#K?Y}%;T=g4N@}$}+ z*C3y_N^i(l>tEb@%42R@L4+-BxTZNA?rdgjZLC)M?CAuPWP_C1_1~tFGg>y12`kwV z1~uJb;{pkfkTN_OunrIfM4WS$jVa4+xk5tp0~K=|*P-_Zekg%grxeOI%plFvgcPTO z-$Tp9`TB!~8}u;yi;I!y^`P}DZ|AaE?$_nvQCI+LA(99~qp{|i-3qL8<*G$$DGiBr z>DM*CgceM^6rjSmOZv*bJ>@Oeb`Jqbl8j`&&w=bxgWozAJ7E7$$~4M=k*RtKdmc|p z0xm4MuIwIri5UzwPPAt<7>X;%0O>-t4Bs2^^t~i`fZQwg#vmCzjb+?w|N1T2wy(Y^ zTlKb=8w9TECf|GNK16ztZ4l>Y{ovST7&_avo~Z`ywCjTFdUs&98rf;R_c2snxnj*8 zByC7nTWLQ4*5Ri6Z2zO3H9P0Qmek}__5|y67SMlkc{%K!SCxe=RLi0SvaqRZh?2eF z(C9c2!%ene1}>5?noOLA*qo4@tHYair(HMm4ORl6kXC%?8FC3qeKe=byb*Yoq&MC3 zE7h47+1%Qeg-|D1DVPk>CrVA1-k=Ldj3$6Hmt8q_v+jMdDoItMqhvdN$Bb?bmO`PH1~a{X>E7B5^PF7b&U;9Hh+?@&U)hbwzr` zq_nWBN!pyiym!govYp-Hz!)J;hmdey@jjRgF4;#i75?k$a!&dFdsfT$$N*pIBeb~S z{P}6?N%QR4Qst+|je2EiskvOK*B6_W#l_a*PtO-0FP}bd)b_IhIQI4$I z*or}O78CuYWoxi*Mxe5LuWofL7*y*9Mg*XU4kvOSGB0Ih+=nf>qy|+FR?K9`D&_)Q zv1eK(+xxV86faKacKdTJpRPDp3kMM8*-zPQlqniwREHns8|}W5hew;c)h`uXqjN=v zzMx{un@S~CW8m{`6Ex*#C2d#Jq4>KkV?=CY0rBG`<=X(oB6hWs<3yE*ZD#hVTfORq zZ*S3|6OzS&h*khePk6guosftT#hVGq#&1W;gV*t#BqJE_g!lu-n))(XnheYw_UAzb zHs+h>&&q>=@c|U|xi;iFrwr7Y(W>HHlrobiKWnnDMhO}_Gp=^>o|aUT`B-|b&#BOz zOrnko@w!;2yCU|eI~qty72*$=l{8h_>Do+}11F53xlDp?Vt{lIVTp#P>7ncTlukKR0OgG(quDF^0VD908`H zMXhsb4oxFiq&qO$NjCe5>x;PuEAT^==Wq|2I+-hFcX<8+>S(90yWu293@%}~%4v+2 zly2%Ni^n8I04xts*Xs0kxL8vnv~hWY*DVp?Xx$q!A(%Cx?KR#Q!}E(ru)bI(h$az3 zP(Zwc-R*Tv5Ir&qk>@5XjCdfuO4C9)+g+{e@6Zv0c`Y9_^+;vvMLvL7Yu@L{Rf!Kp zf}EFpobw6FTI|@60a7V>bJO6MPf(3g*If1(0jO0O z*M?N7VCC@=O;2*j3~SmKcO;pW6)`JiNdG=Gf@$DPngy}?+t7)N-!Q|_L2+N2QwG0& zxIV|Rls8D^G}slTD;!5&nE;oiqecfwTFT2F6f<%HQ6=A3PQRbyv+=zYqu*B`{iAHl z+RaD4U34*>0`{Qm!A7{}sd8UT-cQpDW-dJH$+O}PJle5Q!-cd7Rk{#K9GKQumU*>i zuTx8wqu~$A)iAEw3%j^?eri1uTqq#r+7Oum?iaKRZ(ndoTUTcgwXd?17o3ih6)817 zy!yZvGAU}#s6!^R_e}m~I6GA#G3)~N!I(HX%0@=pGIjJ13!&05CxV0xm|LAR858I{ zM|+$-P;S}w+;pYdPI)40tIK^!V+ftLZqidFHG~Ge8bi38jc^)?ErfY8=t#|qfNYU&7WG`a!tM3z4Ha}(DAbsJ?bT31x_nf)+*v^mlU&&w# z@sK`(!R??VN~490ln!;J4TRQMG^RYZ?F)=k)ydk{HRRqddnj5OEK}JaO zl4eIz7D;&?nX*(g<(cH?J>7IGPZQ88W2#~~bUT-AGvH(hz-(bZfLXLTq#gI1XMr3j z`L9hkQ2CbH2e_-f)OLKM?vy!wqd(pU+c2_d;L7NpTYZ}}VoFRwzg#WEZn;|2FN5sA z&^2?RH~o<;tBL++WV)vZ|NXPXf765b#mVQVHtqgF_QOJ|fC2uyIXp&s?OkPX;5&uzD)9vglv_Fj7$4e!Sq= zdX2w^h%X(-D3Nr^zI-4#C;5S_+=5Nrq)zf21U3*+QzlTHidKz?kQs& zpXSZ}j^qU?xd$Rr94bvj>5yk0PoVfGJ1ujUObm!&#`c-An>2kOZUadE`2uP)B{pH! z0EigofGOeKKq^ubSw$vd(SYMv|D3(JUD$gC%_G@M>4n2c@d@J05aYJOzCV;EZ)Aq# zsal>RsDhkUo+!bHaw_uOD|kv03}AqK6;_;46IPAVN!gi6_Z#%F0s#JX2=q}G`|J^9 zcdkg8itjBE4WFxv+mE7QA4?Gu`Wa_=QY1E`}->*BB=XlSG)7$1}l90dO*7QyW+G#uCLd3nYCy!nG&Bn#t=KN(YSo?SG%ZNM)J6R8mxJ;dpBFflHtczQE0 zN~%T)u9BE*B}w+DjShx03sSU7%%RO*gyH3SU~yYb^Rq5jWvO0a_U5;H>hw&)%5?2; z9jgOQPRVik=SRm|!Xnw}&ybs{f2rI+^eW(B5VgMoZjKf}}U|N`K zQ0?;j#4hczAqs`ZDeibsLN2bC5}F-F4H~r+5*$YxUS%Ntw4p5#DI>fYhid(@Z!$kE zGv!=Z7DX{GP61~4h#aPsWMER4`q)bnuwBVpT!3&}IFd@dXS0;&bhB!0H3_<)1gtez z5Nw z6&#oi-?BsXT)!!vmCpSMd3t=Vcko6fa6`{uiOjJdKY;j5b)?;{x=f4I#4svuXk#cp zx0~P%-&VL#8PF;^C=jM!CN26sW32N(3`*aLrAHkXO35jky=E=E77l8Zi`cAAEMS%? zfLR-b)+aH4=Cz3PM>4K7MqfCF6!b~iY%q;QO&4xE|1K?^PDZtIh|w?PNV09qh0}N6 z7-yp0ldz}x<*-BfGhsduNCYu^%r=g)fq2n?=2|NQn$lUxYaW!Y1G>3)w0Y>ws_5-# z2VG{C&E9H-y5dM;Kz1j3)THUs0YQDY(o!WilPkIT=1S*sP7BK+CGgRuP`z}m3=fkx0{Z9F>NpZLeSYYK=lqRf$4C`_zVp2qD zkX!?6#Lk)h0^?9K8O2dPT>JqKrAHYKFO$+y1&Iw3c_NtyHWZkRo6c7#XJE?je{Wq8 zr@}qZ|NQ4aOJoS$C``_VXre;u_Aw6-KBu-wZsmx?Q3`|GMw(#`AYj2~O#+Z(vLL~e zWq1$0!kK=gd$FLRIRcBqKmB!Liq4+dvkL$d%n0l|G0SkDci2@tnO8oo*e}y0DvW{dO0K8 zD*DpQ<8#wfumR$;Fq62NEmj^c`9iC!%XD@Bcsm~3C-ilf41_%|V#cPu=H!kCs>bk#a0$-$d z?yWL3hbCy+-QLEQ9bqY`uPabwRHayvI#FzFw_TGgGc09gC@x7Q9!upZ3q(u?1ADWK z;DQZ3{#P+ybh#5_SlhAF5Hb#ca-)WLLJ_J!<~p3?9}}Hrr_)1N0{)!P8?-vCsVD_I zE4x59Wmg6gp4vkb!`2owA8Vp_6|XA3^a=p+W3N?1Y{;4@<={=KClswv`L@a7oHN*z zn}BPkSvvhNbR_!2%s#U!G6N@v5tx}F7!!7HMh?R+t}yog@Bm}Av5Mk*^M_tLuGZdd zZydex^e!5^s9oG9Y6*%|Bn8x3b$c_qd&N;dKEOfHgz zc_CwT!EpBp7xIBH-$+2)x(cn{1(xfWdcZ=K7^)<+bO<*U9>A+#Wt*}_ltHR-zA$X# z$*h}FAuy=dv#J%Bt=Bp2siu71q8&dSXxC4%47oOkSF*i6m~KP#dtjhgsioybQzkdO zzf;3O+D-xqg^fB^!it4cY1|S}OAx;+-@g`42%MEqu#Udrm^%bRncO6drfvzBk$A9r zc(i@Ay}ws;Z>h=qC^E80$s`UoVXM(fh#2N08r*z;R9mlZoGktL(}%fiyxNs1+pcEb z2DH8LpGB_Cy;X$;^16!T)%EqwYBeT#wYdS(Pfc{@LpNs~uFKJX*=$TLUBqA=}tE4BFXY z!|ZT;tMAr(LzE8ETVGi~28l}dHwk2;hdnnD&!aMAuyL@VRq@#5fKU}ui`vnKV7Wq7 z**6m2i4i7hXs8Vc7Dct~L={GyHfWl>oOwNjF{vg_1 zf2y+}oR-V_jNRcph#bz^ak3_t)sjyvi~D0uX4*n0&jI2RT*w51xMh9|#xa^H*P zXU`^=SiY~s(zAQoSbF?;a#c(BRrUOynx0HdU#?NnJ#U`g_u}#7PA%7#pWai|Jp-rp z$y3FP<)@PdZvCD7VshIyeH6&o^%%Ihq#FFMNUvhoTfE5A|E5R}#b2Io=BLsWB7pGF zfR}C(tRsWsW%M6_63fE@D} zWHec>K&yl9r1!PWFsI+12mum6)Hs|CMcWP%S0UNEoaKeYZU5yOQSv& zfSpln2-atq1)ClLp)_leQ$I&mgs#M8YM0nlPQlt|t5OLX+r4Q9a)uKdSM5G5TNIOV zmd(f87!-4S1HzWH6;ceFZ(S?X+PKr73J+JNamfRq6v<9GmXx3h4D!zbGGmz}qrG$0 zM>16s=LFNGPO&Pe=$UYHTNH~brtb!crQ>DC*qA7wVlsaQR4kXWh+(h%;aDc#)B+v$ z+i-f?retkl5Q>iZzOd<%aCf>Oq9hUXJS3_=?YkY*5 z)5&PEg2_OJ>7?rGp{#JSAE3&V0eRIAQ8i$KFobB44mJ7L4}~a8*e`Tf!|*LO4qo?k zWqA?7TxCh0#fN?~m!+41w}e=;JiOq2n35Yct=m>5Bt1O#oc)@gUVIGq>e2A1=UzDl zM?!3{O_#O{wg`44iW8DjB%X)bPzXt~M^U}KjCKy18Intz6b%E;$un3yXwt5(XE^q_ zFLB~z@(_W7jGvgyNZCmMmY@a5UOo>TgqV`+IXHosE^N4i4`kM;{W|r>SGMrk#qd+okXGGXtnIB%dUIeNXcLNTiEgX;y8G+np8WgI zdz?xX;52W^wu4ubPREki{C}Oxp#7>R-mXa86Kja4t&>vCn16`>l28s|f2-a_r={>4 zHeAk*Ew6G6`*+{lONYA6p&9BDji9!*xq5VbxXDy$imXE=1^}HQ&~zR%ywSCW6>tLw zff!6c6!jq|cc_cqautp-;57{tgdEQ++0OAEoix)p`@Z-rEMbrFGy@It@O=*f<|g46 z{5MM*?JV|^jEiwOm=9-zbIeR~6P(=qW{42>+zfFNvWU9B5S{XXn=&C$S6IaPWn_Z$;SVY&)2X5=^-z^V#D1|-@sy_p^wGw+ zLqWd1>|pyK+u_PtKzGE6OBPLxEP4mh9*bQs?D}jYa0Z5Nzh>cA)L)l##Iq+AtVD-5 zmGj=Pa^7fUvxMHLBLIB8zMegse*(Z-`f+|~>5+cSFX_&UAD0%FmeI)W9cMuJn7@WF zc8I2PP!s?+|2V%mPl;zs%ga9{6FFmOCgSy8Vq2zvBgjw}IUgpcpiaek8eEu)C44%s z2h^y8?C4OAcKt_yBI#E-9-KK;XK&sqtg-Yh(sbf}g>iqqH;@m#5DCB`Bj{U6Z1>Dj z*&M!U+LxjxOpA<1M)tYx+FBBZI?^a4sROTT+mNBsCU|bBoDMtqk+2vcqEGS}seu1P z*0{dHgU74PV>y&F5dE4ip5FUTZf5X@9tQw9FcGsW@v79KxqQ;q?R-QWW?mvZ8Z!z=2Of0j@&uO`myKd$(7p!i{L;ezOAGL&yaExI zNO11UsNtqOB0EsM#fBNaX!dR^QjQ4Wp&)lL;%GG$arF|E^xLxsdk6Xz<{0+sbsZ%;PyGKVR2zdf@!RHz-zGXDZ{g-qATS*j zElZky=bu_%A`eB(rEivgmHwA^Dz!dB$gj3`*A7(xTcz>N`+F=K<}`rGZ&h-clH+gJ zi4neQ9j3X;{12T$_&+Dhf92!P%TK2p0n>~)#Uw2~zvgp#__O`r<$3Yv$3Oo3WKoaP z&7Y^6XY?7*)`0TI5PTBQakMhuPrxtEgW>>3EbIEX4cUBNJqDqkyLN54QpIy<4{mJ}ia-H_?wO4-ir=QtWA$(%=KFk>~l98k=aodOT_%x|7 zX9y+RO@xDFx&K__K7l6h;}_3r$`j9O3^Hw#UTRbPW?vA!%y@$*Q3=X2^E%)*ZO&^j zoMi_#ZWJkXFYXxbGC)_@$u~f}e83DGl2wNmPzR?5jSfk2X*MU>@%qkcwOXThaVu>n z=2%;|{1$`21=ZnO$sXM{!ES`m31(yGTQNx+6mm^y>`RlHBDQ~VR`X18TBmG6-^F0> znNpca(8H!CweZij7$Cx5X9QY!6y}K>&^d*EAB5ON>~duRPXMAehBdMR8MSqvSELn- zNRk_lr7ct{0~Z=^p@`;ZF+RYInfRgt|F*&=q0h@irHFOFcc)o-8Hmx!>ttKVlNT@j zdsgK+E)Dh&ZN~Bp6e1m!rpPQeM;?Ev3377J-xFycxr>p#6g-R1cPq8nfvHmIzPdH0 z*?bebH4JYh_K3gikr}H&5@di;KeZohsRk0**l=hGIvS+r{rE0ADx}4VJ_)6XA6=~P zMw}K>KsnSs`QoN%D==Jm|C&mUQzt{R?@Wy405N zP8c;F+z&ovCkKbyyPF?8iQ6S4{n3x~I2E@BNr}go<&N(nq9ghP5hkpjLWj!bSSY`c zB*$N-_O53e^g*&cQ7)-kbSiGHfL_H9&ABOinrO--nFUOle?nRG=~f>cbs!JaPOKCZ zG8JBIY#(B|`J(#wU43PLCT@?UZ$o>VCCR;Efa|>bbYtQ5sm)bMoC1KI%ha((>Hua*5G}$UYkfwBmd^$%=Ye|3+ET1YPjUux z6`Tsa1gko&Gc;6CkoYa1BjMmh+q_4{U)b)_DIM8Mpng;eb^(#_cD^dMQImLjPwH{?K#!On6H4Uuc{#~uDVt_%g-CrzNo;P) z0?2oRs@d$>;N|oMH)l{Sv8)xUh<#p!gK@Mam;f9TR5|{C!ovtXD~(nMUPpdk?kp>m zUh??H2m{HGAe(@r`pz(9t;$J=WM)9{^%W0pG7Eh9KgK!e%(Vv1i$<_eD;3s|8R#`` z!vadGI(u43#ayNxL8-HtNDa?cts}@8)U7!Uh(M_vnVSokWu0E!sA;4wL0#NQ9KQ{x`f>aW2xYR7?-5DDg@ zD^n^C%-AepbtpV((&aM9Xc9!XXptOeN)l!<2d`t?TXvE-s#8Duj0yyK_9X;G4BoqwZ4{iUI~GAS)7$1+AbX z25a6FklEFZ=ykzkx|i*~$AA3Dc`d*fKtpVzTqYa@+$oOL6Hx(qYvE$-b;(rrz{AHF z0q#7Tps1mnq{#DC5;YQ?ZgFf&JUklVL^Fx-4O98r3Yeb7Yiyigauly~5?PB)qh16& zZ3rElCL~%*K(Qy5+B$f> zT4d7>Q`sF^!lTS#kMRc-cG3_<%!rJZtO-O2w!nU94T6Uv8iac1{4#lfiNjT`nj4Dc z&M1?nMSw|DMn0Qx%^}zo>{}cSTMma5ae6?E3c*HyJ<^3O%t($q<#Yd*yy%fre^!>} zQwFQ{t$Ax{09rJJV%M#64)CqpM3!aO<*+4e=#8T|4uEI!SZOr{+i1f7w`sW3zfup( zmXR5#CYKy@^Poa)=eibKTsO=ebdBmvJvYahv`Pj2LXIRwfY!6&jjxW$b#cssLXD5U zHxNh}pTK5dcLZvRQBJj0^p`f#dh}KDj45?P0Whkf0JXQQxF@lJe7C8_@(dPRdcSHp ztd*i2b-b|bw;D&2M!LVLEt(xD^p3i(b4t`oK176@%ri*(Y1PmZ?P2d$M0*RRAbL}T z-M=-jm&%3oR3e?k_2IXY9wl2eix$ndx|Vgpq%SB?biW03lQ^;z zsL(K=g^yFuz1FdxBCAJ^spZr_*sT}c(mpAwkTBBX6OO-CvEro>%oU~wjZ3IRD;0dY z3{`xmNV)=dc6zLCV`m`5EyV}uN9|8qd7beRXaV3+ft>`|c{@xcWg}itvmS#Sm>Afd zR&7U)q!%Tf4X9v*iSZTdbIuZL+YS3%jKkF=mEj;jJXMeaq;sTJoyX?iSs z1tW264aCyfA&y5wI}WdZ?BF_Z41QFmAiPAw;JAUQk+Iu6PDTC%mOfcn6g;+zG1a9J z9>!&l%BJ4vbs`C)`zZ7x1_~e#sRFjhSE(Xaz^b%P+{){)BPv}dK>>O&(Rns79oDX5 zq$neL`fMvY{v_%lGhI=L!4~b3;~0JT4AJFaK%@aHhz*hP`)RAv>~!K@a0U^UyhpIf7~M8BnicH>I5c>s&;6vY#(*O5E51TVDUcbN z&`-Z&%3X1hjX3oDf7X3Sk-++j+csUyhw>W0flK_ZfW$RdgTZx#9q zOEwW-S$@9EOWD%=^S7D1Bml-Ni2{X>g1t8_u2Z~NqsWpu0!D}^*~4dM z56`#~nfe)BtWd1xV`KFQ9X@k(nd$g~y|nIsdHh^ftc#0w%XQG3idn{CNO;rk4!iMJ zF~^$81mBqC`{S?5;Us}%=Puaa4zP$YQE9_eif_aODI987X#Z0i{rc1&(l0`<@@Kzl z=S$-W%Sy1WdyWgsfw8QLbQ;a}839}$PyD?gt;b&$Ed*?ZXs;D`N{b!`%8^>X_?<_I z&BMcb*`| zv&lkYM+MjifV=Hpi&74}_R!85I*S*Lwvc_aqY+S>a+^Ni34i8{TjVp*=We;0hq;N2 zt-I&N#vD#s*!%;o#a*u+hwXy{%uY5BxkGyYb@=Pi>g(*y_Ukv5fA{C=JA3iiK9>W* zFb}Gmd)3Xvnb2JTM98J06;WR+=!+CFI!`t6<-Ba9G0`YxHXU97O3T%vB3DBMV9@pp zt3@IrA8owWl_}T!u@Z}f#rY?w@8!dJTZu3|EOy`KX_!J)E^Skej zbP;r|C_>SBDwz@-B~fl?LjKqQ48&_*ZOrOy^Du*e2{u+5AC6owb$c}W|oRJolm`$G13e#N4n z|7J$&#+l{^`+V3VIoU}#liG`R9U_NUtVd>w?VPIxE=7cgAXBL^kNOcso8I|*GRN+G zsZ|&|tof~WxLHj?t^BUr7nwOh% z>xh*QH%A*=iVqP;2U^naXaJxYrmo{HlEKNnl)WEh4lT=^_6GN^MuJn81 zJLo(ywNd?;%hrv1?6qKCSt__mcww{Ef(zA8ua{;}QnR7Qig7l^@)XKeyxA!b4}E(X zKx>!jRm4D_bM+`eq-wbK@CK!#|CIC;tC~-e-fS=9LW~bxay#)AcGALdJA!FKrku;W7rv#RYbdotVtFAti*Ccp$cG21MJk%}oFtP=Y~I;@G7$micWi2{U=8?pZZMh*-qr zIYj!=_4Ss2HHL{EZ?uR;6FZV5e<@=W`zhIW1}mADVdWCVHkN&Qux-Ltce8~1CAx{$ z##4{X>c&M+fIR+Bl7>5Ss8KPJ%p6tCs01mcB84!`FLo7FnI$;}kllZ0`?j|r4eh9D zx!$aiO>9up~G)?)BxAU4LQPQNda*YkFVHxib7Gy#TDOch{PXkYSz{eV;>Pb?T_;}c{_<8|QYD8FaRt>+>mhco8} z6Me5b@6TnZ&e#PlDfx_+fc5hi>Mr0-@=th_Gd;T#f=3OB#-gTj%!&DgwuM>UsxKru z>od#_cwR_5&mQY=qdlG3I)8yXb}E0>>T~ID{)T7;Q1hLr@)i0i-lcX@YKpL8 zgqY8iyf}OUWA{>WRJ5j^Y7}R}Unm9hwp0Bq2s+3#h|wPTyA(Mo*U=4SWRO`nO|x}T zjDtu=fu!tGJX!oo=P9#KhGljL$XF7nlh3HVB1OEYbE4v>pwV-iL8<+t3`{()Bx)vh z$4uA0r!mlgy{KP_hL9-&$i-|PCx{G+11WaD;^5t%2WYr$%7AB9Kh%}ZX0WqhawE;9AM67mGM^H&q zOxTOIZhvc_uLYDi@1hqYmhT%bUXbUbi)pm}24O@HCLn=^-;|1_qT=&%oHwD{MlHoD zImNL2vv6@T7E_d*lM;Y~JVX1Vv| zw1_x)K9j=>STRNGJ6ti7v_?7fB2K4k<3;5$WI7o4KuJjzr`Lg@i&^B{4N<93KOuWj z;jSKWpO7uNKGA*Lli|;pQG>$5;~3d%b3oG(HiJ}O7l}C6R;!zp_ZC-ab&r5WFnBi> ztgH0Mi+b}@dTD4N5-g>g2NaGgW?`==1b2iPYEbMeb`fTCCj%qNW}(OJ7&%Q-s;PI$ zeVD0d@Y)KbWIK$L6O6^k17~`AQZX_8#BoWcw@&@2S*r~*Fl*F0;$mpMV{9WoG*C~t zr*}&}Wk>A6sda9a27i5*{asgV#ZG1(n8R%~StqvajfwG1vg4ru2xAt5W?4{AQ!v=p z{=fE#_+CKQ3nZG46sW3?4kjIsMJ_%@O>W3nQ z7TGJx2uc@nmBe?Y7tVXBhm1J1WVG?>W%gwL2{YzuRfiq-Mfh2lb|IH>M2KBTQvmi7 zdzSM=^B)gy;uGr}{jub)hBEVbLWr@6EekU_o*Vg$$yo&@2_2M6Z@!Xwv?r;zMRV6c zX!vKu3l1ytH|k+|QKazz2n;d1#j9g{h^b-^8Iv?aU|&hAfIIG+UutLdbB1c)QNpkfXzE+a42u=Vw4bmd|g z^||y+l4QN%BJAs?rWdNs<@m`R43rev#xcoLv?VrNlV0TuWN!S9JYznGA>fECe7=zT zq8owvku&Uv-=WL7bjHP;Djf54vlb9pMAarTjQE7y!2}=FC(I*RPXY&tlA_oG1?&o8 z;^?9I5SBRkz}JcLYMrLvxuCv-Jh`xY|hcwepSxomq6}>!hAO} zpCxkYpS%=_IJvOixBaxw0n#kR!{u0Nl zf~8zuJTXh97m3}4ZdUfK`*zW960Mg_?`(6m1j}MM8G8Uew$U!>1GmyQZTa~vrHbZswXf^QfU|U+)z%9<<&3^SL?7iJ3Je7wE zKx6C(fbEnK(=*EsalMD#-aJa12rS2VnsY;;!C!p&Pyz2&bLl@zsCLrn%&9fj8(Mo9M7bV#$N5L ztv=WUp6L65DdK0j{i77;Lb=cagYAIAsU1AfbhV{poA zs#YF|g?eDRJbS#kVeAk%&5)at4R}P@z$S*(H49i@Bz99D5aQ7Y`0?=OyD<2CI=Bv8 zyL=`Yh7)OC5G-h>Gg9eRz(-Xb1T)W>kw z20QH#l-lMi<_eu`NQ4b+T8UyE$Al!xMYeMCkqRbs4wO2TeJ!viWU zFKngiNj5Qa?)4+obxZ&hWOoE#=Rg`a4W}E~;b?SYET0>?sBuU*1&0=LlYnUpc?B^i zLCKONGg3UsOcq3#U$N;HZ%}i_19qZOmu0V%Bof{$@>>ou7D3rlLQxsFj9^KKT&;-} zykOs?x0@+~Hij!ip=jKbO$gOC0|+gnPz><~F1{p`e! z$<2r0--r`VfLlbBz*b!<=QqFE(=aH4857m8gug}yJncwGyIUd!cvu-$C%scZhH|?2 zK?5f2KInsiB0~`1Iv2693=ElfYoIcSr?NzC9JH}5(7!{r0)jktf@E$nZc=UrtP#cl z84eN@Osq3}kiHUl=9V4}*d!<#vyp}jo6)w{_*U!jGAkWS({W!bT6itCXo=E%+xh0A zHs(bB@7ZMoV+u~`Uls2;(&}WEDD4ynnRMn%`~f*2)rcs(thxSrY< zyULaxjW|WRtL0bAto%<3xr8BaVdD$ETE4emUn})5HL`rq;J@6+@}sdvj{Zj@`C6%e zsge6e^5sTGM}qAYcd?)d_J4o)XNO0MCBSh(lEw1DX3pW>ycE#?n zYlQ!p9{e$~>{7`PVj0*9j%yKMQb$FiN;d^dB$T_es|lCO01U_!&jg?!PAb|Nqyw@7 z=O7zQ9LsuUWGV62n6%&|$^x-3RSMiOdjm>dLhE|FML9{RPHE@w96*1w(d$GjgPW_q- zt+$L#V(5snw{^YQxlLj-gH$y!$dbQ^5{&v4lTOR~P8G2u>ave1sd=DYp<8Na?N+B* zLv=Oe5jS2M@b08ZWu_XRN6IDs~yNn-&qB-L~bc&nRzC2?RCI( z*M3I34hir&n78ri$6ukR!NE|p{P^pxXaRUt??4NKw;dgzsIx_GTwSJRzt`t?c7%NFLC*~1{qf4i#;^2|;8r$n zMtK{QDCbi_xr}+m_UY}K`O6y&uqZ!Dy}QF#(UN+YwxL&3+K1l{AnzKj{5ny)3sNiw zhv`P!9Ol6<3b3nmp!2kEpwLY(0YoXJl3&a&p2&RH6y(-fBY=%ItWM2eH#hKr6*s5X z!*T>sf2FIx1hKTd1R*PZdXYV06m|P=n`?FrjU6)O^&r8XYlF})#$`e0n=5-?$HHXv zLB{2BOisUy=*vhZ)DAJ|YK73RSU%#F)~(GZFdLoywcfs+Yun zi7HPsA^2P;>VznHj+*Y2Yc}jsX$D}jeCs?EwaKgOWE$yBFAzeY##Q*A`OqW21$-H- zg&3JkiboevIJ1T~Tv9>O)qO-WF_W9zMwV_g7f3$k@->=N)!|qeC_4cO%Re%!>H6?S zQho#uJV8y!0bFtaLVkZO*ZV4gi+$-;#buFWne!~!Y{DpukLLVlNT8_Tn(lSVtDFi? zm%`J>;aPPjJlo)3^?i8uxA5$kN1!sl_jmU7R<93u#lH=``uFf-HT<{{up{E1eeYnk z!Lub`U8F~)?@}$FRr}Zp3o=Oh%i_)B<(7=Va1618;-_x?`^)3yMtrNEwMMI+=@P#;MzDg#`|2uUS#vlHbQ72Go{QqE|)Tdb6>+9S-7Emu>|L zP8XtpM|J!rzxxiBu{K{S7_aLzaV*Dqh8kvwl*0X- zF@#Lu;&lw0AXPCOO)yj`LWr{dkv&1VZw9DRf7Gi|hyJxnd~XTL)URVd)7J4($3sQj zou8R3&MuOZ&JaHd3EX9S=RNePj5RnMMet%)gxPEvPt2w9;aY%(@mBIuR5*UmIIOV9 zMXs;nGf_(1Cq3VqM=*`M){I`DoSm^8UC(!CW?UfU79Bwi0E4*BR0K_+F!XyXoHp^3 zz#0jn?_(<<24_Ju%}#y>5utHCB1K7ea%W+Dw}6c(7o_RansG;K3*CN^L-ZotMxtB? zQ>rli(sC7Lo2_d%N3lv(a3(f66MN9T1RY*pp+zwE0|cwdlPZKqmO=g+#5oYE3Yw*e z<4i0UXWGQ%u`q+PC*_LnD@J)@9B7a^xkXUofA#z zp6CyND?4uKgtOIBu{`^{Z-ma7S8EGjuC9Ow;iS_4y)yVv)UQ2l4dk_nFesYWZS7D@ zx>`6w0SuNa_;7J0HA}14k|PP?IU%Xnzyv8B>?7`Mp0A&%Av@f83>B#ky}y#5J%MH< z>Vriq3opzAjj-sgS0GN-=VV1Z#s_{mR99ZJ`#CX6Dm#I0`Jg`oX>nL7Sc@8(NhJtz zuiZXFrEsl)sJy9}2o9lS(u_x#Y9%y?avyC_12;Ugu4}66YXil{TyBQt`7plFNv+5$$fFc`E-fb@@A|@fexep_ zJFv&~J~DA>V()Zdp;#>SbNOpqbh*6z<@x;o(H1TD(Pn=cmGl`%zd$D?5T{GQaT&Ai z`<0WIX3-Jom+H8G+o~gU=iaGf-SWMV+B3sWKVSDA+`Gp?4SfmVKw^B;sDVDd^G=Fm zlHCJyc0?Ne@4}qXZl;UmX8?9H=85Bi8{6xoxoaTc%cMUB+C?d9+EUSNs1+*>Wq9ct zEv{!2kB9UQFMNNQJIc@4ahge`f;w7dA zz+d!WqM7tn#{pa;B^k z63Fpd_(*Yyfh2s9HbfcYvWE$j)z;2x^-a7MFy<14$mGP8WR4Vh6$y;*2f% zjF!TGQ)Ff;<)$Xz5`O|~etS)EX@ujm&kN;t{xm~HGnJ)s3)$XEb?c;3-AN}mweGqm z;%jX2Qb*N0uV{T-@whiqhb8V!?Bc}y(ClNGMa35l42s%`-R+Z5%%)w0_)Sx3t0OXa zLVcx4{aS@zpHUieAH+0!h@|e!tTi(_t-`TJrhj36scB?>OTA5#J9(VNEL)MWDbC9T z6FT{4T!YBYj8D8vr@m?Cr=ldw1Tdwk{%RFEs9&G&SpE3kjg1;5cmK}yTqAQ@?pB)A z*hVpno@s0v!x>CM&hz=)`1EmR3>=BlRwz5knC_xs0jHwMSW;aWOnJ>5wJ((&X)$#j zn=;9N!wx2Xa{F|e(y4TJM=B$8(Uq@OUWinGHI@2U5EoWp%4^K-E0+;mk{G!nN0Fo< z1f8fg0M3oqdp}uGrYaI}+9{}PPE1a9z!xO?9qxeJ+Zc+Y)fqjCW3Wlga#+volz9l& zip?&>VI0PM7@#M#59_c2=u+25Iz393JKa$tJ4&2RTu4HL;};!6QjT#s%+Q3+$8N_l zXlcLDc_-u??(1_#z}q+0e5@hiWf{*pF_I_(ja&J>*TSlh1X3Q>#T@13Cy_ELLX4hq zdPX2l^vv~TDqW^#MyL(L(nc21sLFw#eKdj!294%}(IMs8b98#&>WmTj|BH0tSJ%md zVU;-5v0awXz9h)wV!$+4_pg-ALt3en{R^br$mB}tfsO-W$C3fKsfLME>OD)FR44b5 zs`oFhwQmboT3JQn30u-fBX+JtnS$kfA;1P7$>khPi542Y>sOMq*vlmmtTQAbBT!*w z8n}$!wv3Bivl*q&OqIg@+*hjy1Nt9S3-UkDPAaz_veBwvVBwASS3QqUk|Y~Ca50VA zvZFar_%1~nF9zcKeq<2Y?7`;Y?&{v=-q9l;kW?R63K#c{4d?m)#g+pOT*ycS7bJM* zGB~r>mnW_Y)YlELffe&ttm~cc-X?C;yZM z&|?ARpLJ5H!(_&>{qFUl!UfY@VD)qY{-n0L3=%(J0lK})mqx#}a8~cInV`WXX;Rz;iG^Wg!pZ#UTsBV( z;(3C<&r34*!w1vtFJ&(-`z&(&xg07Of4m5l^XpJ){Tg1r43%CheD^ZEctv6>ydr_1 zR4-oMg=tzJ(5Tt!NeG$E-by2m4KSaN!ii)gD6vnV42R7uVaGe5@lG|Sag6HH8NShw zu$0NX8-9)IX1=96H|6fA-P3O=g(MyBH4Z|h5X6bCtX5>%hqT;)|9G#{a3lKsh7zt> zEsqn287=UD&>u*c4p(;#b}X2T%N_eq3|M3*B0f)&)z69FV*mwba>@WnCwF6Wp1{Hm zP89?z`0ZBzqg&(G5BY1?-ec5PyFC3*$kRbk;3syW)Ea; z;PXDqa&uMLy|ZSgDm$^JKBTsyx_VZUeMq)^-tMnwyrg`KxFrz5Viy}CgRH)ak5bO4 z)V#lECl5tt#brF~p*tb`WlkOO zx?V_EpI2EiI$y}rJ!_;DW@!R%t?DR887`)F#FO(<}@06btWp}KEnO_&ipPTSR6clY? zCGkf#x9g)PqrczVy(Q6!di2%N`}EsOPRbeISQFeCCm7Sbywio?9dYer$h$JJ?O0>> zh1N3f*Zwi;R00Ty=Z0+=qKuN>^~$)actiE*3ykgO(~H!L_Y+%6KI#~e<}T)GHnLs$ zVDYCLU&dxGe>b6ATma<%cgyAP?v!H#fTj>#I(-y&w~#DwC9xE~^2!rR(hRIF>=`uI z)nN9+)&zor7<2A~{-5>JQ)WjxAl*8Z>XoJAsU)EUeE>yY_D>bl!~D^~RUPuC>f`!Z zY*vdP7`Tg70nONpj#24E;MPJw9c2vHA{?-e2<{{@GC>b_i+8ebB#kQ%mvk-+##k;= zmWvc!5?l_Ii32^Jf$f0-`TMhpiz84M>llYyWYxV4!R}hP1KS0+A3Q)2YXS+&L)5Mo zkef2p08R6Pix(tVfo|oi-h4Ix!GTr;p9~%)UmB29xG7(RpQ_0L=)F}%Sek(7H&uCc z^Nn50H^bNZ_=O55cJLc2&PVJ(a79GT3uZWCLI(vILK>? zNRG365}njA^~GAFQ*)jP9sg;|iUTRGWW{>P#Zu56U9J*GikM?%T-7b1K-7lRAv(k` zC!8;jb_UtTBE_BCad~oupymG7!c#Qwn^v=l#o)(>8T_;*`wqOD9)+motQ>f3Gp&?P z75G@kq-5P^K-lGSK!P*~HSUA3qC6t`Ykh*dQ7vMVjmwKv^4(IN&#L`kHK^4Ije8p$ zQQGs{&%G~`|6Dp zT6ws{gK`e`dfmYlZU_on6)%mmAMkvJj)`};?=wc~2- z-S)=O8#q!~{>O7yNGNK}36O^PZoj?6>JPIXx7?iy)_2fJ&dX=-_$psmpc z7~Lw`9+ec#%Cp-#*t>~6Q0o94nZ|K;Y*e6YpMremiaD(L9i~VP7_|f_9IX`og$Xcn zHxBq<_3&u>XnTLJ=2sql!*pB?t}ACT7Qc1KxVX|dHOYt7qgt=Fb-cH(%D+-8us`2( zM`j#3w%2@(G-Hd|0#w2Rbb-#VT8h31y7+mR>iInVTPTTvc1*Wc{d4mbaHyjeZck-#+`>Ey>u zPEnRuyZ|&@Af|#f6m9QiyOr{~pNnELNav_~p~HzpBe5vJ;Y8JK9|(4@d{DO~T@eQT z5D2W+|8m9L7;vy~v~_e)RDXST-B&eVE;w37`M=VV4%~QC;K7f@hGkJiQA*}$9!djq zhPhW4Wq>Z}v5NgKC-W)&%*+wy8#Gy>=Y40~r_GvFyP=;uwU2ZPdo#n@5P(GuQGu)u zPObv;DEYG>UCwoFU+)cX!)paG87%vO?emZ z*9DFcO<`~rst4Peax800qG^*vb69~XD<2vXCtv)=htSdo7z`o7SjhK`q>dK!CR25k znt~C*v{T^E!v8vdHZ?fo*wASUK2QGsPM;<;bZ2Ttn$na$$o?sNh#8D1aj1}X z-s`1{?sqM6L7j@1&wgqBykA=Rug{vcNLq>ikJBZDg9sp#%g2Jp{s(``d^Yp>iWzv9 zvYO@5*d|NsL$@?YQ-gXn#A*a_5-a>l-;-?#@FWmyqnP|WIm0m7I4e>n3O`C>nq-j=Kqb=%}S{({GStVJi0}9_4^;vj{N;O1G4bu=sfctNA+3$1N zf6Qfnn#(G4*$;Es0$ydY9wQnP$05qt2$^oHE+aUEMOhoOayhXgkawA({W8KQR*}x1 z&n^7Q><^Eo;=JBJIdL*f%TkZ-uxKf;P|LkPQzbsD=K!+|iaa~HPKu~4c0vme0l~TG zlxqIff-F9T=fe(>VvE&+KYt~DinnP3+?n;o^(*3xshak+F0WScSmld>X7s4o1nq>^ z6q3oVGNIcqOlCkvbmLT}sWi7!1%kuj*RShTt=u;no3@$Mmh!Tr!@WD&zYgRGB^5yf8PmMW~B+ACXIN{Op2^DH8L=Yxsnl}UP z3_-d|B7kX3+$eXhxw1PcB~QG?*byb>$ZN&qYO5zC@%h?zfKz0j6F-jg2p>i22 z^-%c@?In85aQ>UY8l1#+Z9@Tj;%>{qm}9Fu*b&M=hy9fx#W{@G$!FZeUoP!tCj!4O z7x~uBXE;AE$}ix7UTe*4-8Cg52rQP`tm39=l^piDw>dCHT|#0I<68D<4a$*jIk2>I zC8MiqbpzC?MpO0CDKR06Gr@z=*2wRjOGT`rwx_tGHfRugd(bx*&Qy zdV!AIyWmqJ#Qr3E-Ch&Q<+PxKmTNw=sqDApu|wCw;H`%g3Q zaVeW`BqviN(ezK{cUK_hcog#`@>5&PVTB!!QVWrK`sOA|6lqSnIE~9mY1sg`i2JM~ zQ?So37ce4I_WhE7EZP<$hZz$_-)5jJbH^QNL?a+lr7MK=P48@#Sw}zy^j5oK zE{H+l&&q+~Os#`gwXx}d`rJ#4XBy)(-x`COxJ+iDVo}u!<}~gZPQQjJ3AtezkaD|e zrulMXoyrdFy=^KKJ@Q~z>^Gh0uaUun2Ji6JGpFw1Z@>83_hmGJW@Vw?0iuCrp zkJUV;hb^C`?2ko<{bg*-CUNwwZQeUWwuz3cmiLfJreC_%)_o<>Pr7Xev|S&%NJFMA zMeDe)Ha})2C9w!}_vHSUxbRYKlP1Ob6Ss~gsrW6rP(&8d;dZx2%&tt1AnwurqPat# z2srtnPd~B~6HF;z0ent?J|8k&Gb>N1^USLElQHE5UH9(QQ?RMuNnM2#fm+Hziuj8J zO-y9ZZccf{8VM+n$4eD(LdBAT&5E&nlZpj39){SVQ6Tmi6BQF6#t!;doQC6d{70&) zN=puC^nnegMpCkq{HF!gOX`q?@wv&f#d=EB7?vC90zZ;`jDx{0B(kJz95_6sa-i$n z_%1J=$`z}UvWcPryniUw;Dq!EUtr4$=vsfVhB$&04>@KXzWtER8Ww+4swZI}uPOFr zw4RhD)w5dehwyQB(#ATl^fy|*7>{LcH%raCy1GJelRnTuDoA3KO@J;%YBxzN890sENhwr;5R6*MSqx{hCKl$FiEM@n zX71&?2RJ0NkUFiAIh32dPsoWDj*B)ifEC>^sdrhyOVbYQtGx7)48iSlJ6K-z-3n2* zlIKfx1_O#z;|~+Fs`vH8r8*Fm_2>s5icv?RP$u6^_FW z1ou%5_B}CUFhCmj7nvt!%4;j`Fu^9Jr;rP#s*}C`AVj3jx0!#aX%M@NV|;=F4&N{c z=H;M1nd$$e&Kp?(5FU^nBdA0>hQURBNgvBkpYe71nSB$d9>EYiw<&A_8rE!$0HZLUJOt5 zU5Vc#7ew0&EX=ss(&?_CTd`P2kLZw?DRE#05J_tIJQh>n1`IWuvbPAo0V}ucpE{hz zl98-i678d$C=Slqw^Gi|ZL9m5-SBW%<^VfEO~R=2A$Xu*~k zP%{|t+s6Vj)ax2CJGS`FHasBk5q^;YYiz57aDl(HC?Rsbdax6VVb|LuT-Pu5HIi2A zc^LQdt8BLCuBY0rT7pO6fl|v^QVduxU=(WD zH9A#8jP(#Ey%@#*?&^V!;2pOFLON#aZ$kf+==YkbqM?JeopL)E4sS>`!c8*M2ITGdh;T9050ux%NSu8`3on%T@vdNxb2)AOXu zr)%v`9DsNewOf*N@7|{;+4kF`&=-5eA#lTm-FlDhA}eC<{4VRX zH}|Umj&22kow`y<&4ty&-7NJlFT~J^U$tYOXnaqZ?7i0YT6H5})4@%en2GFHHv=NZ z-cR9x&+MmgMa2X9NRVspKhdH9)!0Zz9jtGy9s~Wdr#Oduoi5F+^|Ev zLoDX7YM*pe{UXCP7Ax$U(5^pw61G?Q=stVSe^FkV=D~XC^E`O`(_+|O+s&$as189q zZ?HTB=Au8Nqy9{__AAv(FB%`Q%@6d!AL^g3aQRq$d&no~kk7r1Dxa5EOCQ62ztub3 zuCCjaJYc?F^YoH%Vey;MQ~&BJU|!$58=8R{k1~%O)WduKve@&SYsH+`7cMw7&spJ! z;U^<27>i&QxY?4s7CrbTxlx|@eQwy{WiPm#cyQVT$2FR=FJlL7umy=XWcNpKB`MB-SNW}_ z?inHDnCK)?DLr=2nvw|+p|FA_gCcy}tpzd3Zv!k+x|NtRXbjo`J{Mp>FPP@*dgy(^ zf=STBo?U*X;MU4ePJOy)sj6Wlc{xws*f@N;oXtM< zl;bzmth#YXxZ2s}r0Oy%h5lN$&mKL8-)8cc>^`^Say_@{> zLT{>1?)==W7Vo*~q0-W&b`?PpyFIac^K96u*iCnN!r*2+VLZpLqZxi|j{P2X`lBh& zf9=MEM(2u)ye|X$%YFY&g=m!|lNn67gbwXAg^OmNf8F*%v!A;Qn0ONs#7RsA&~s7G z2aC3a5z6J&Df~xad02-OiHXsvW-9!jlU4q$@o$}f8=-g8uWp5m+`ixQySM!GSAu`C&v_8!u`mA_Uq5@|KbI(`*L-_| z=x8PI?FkqcS_0p($l|g$vBX0ipC)n-7njfdspC(NpWX~9aURZEjnep^{aPU*&G9p~ z;>gdNk)Q0z(p&bIe!cb^jpZ&92In}MRFHDV4LTQkDvP2(t`bZY`>P5LjP>|TZ@yKNuXmRNGZh+&S3H5u>v8c zJh}zcMJ!=wW52e$zp+`{-`Xnu*bCKnYgnY^uS!1;wsy;JSC5bOM}C9msLU!nc(?1{ zTmHRzP|eeM7xbRAp!D>u>XokV!RMvAK2G^q=HKJ+Y0&#L2%kF5%O(3<4xbtV1M$s(q3SPq+eF@Yv5Q zL4t9p9cRZ7g{AwmgT)AMer`MtgI<3yXHQD28TPR?hfp@$WbcUY0;nkNCQ^VsH>`*l zZ)@YIMzCX|WFKwqAMb61l(6}JyLwd3f9~x=VXSZFzt>hbSn2BKQ90#c_2|vW?>DP^ z8#^O~sz<9wMZ(b`Mvo*E%~J2~>g(>uF;_hzS^9q`NXZgB&rhl^0@_UqLCr zCDi9|zP+k1FIHNh%)3byvsfE{(Swj1Nn2WeQn?X>k2;u(MMmB&gA2;<2HinpPIUG1 z(o<-b?qG;oy>)ZjyF>zj<&y{*PaHgMEI)bTm?Wj8j56*CpD#OS1EMZ|?mqwNrzaJ~ z-7QMToYt!gW_F~dr+`*4_UYpaZX{#x3>%JSC#rnEU1>sYjiom~i_{oPR1&u{w!3qD z{`liF$a@&JiWyK9FMfKy_|wygeSTWG7zmf9Y7rrHxxnhvxPtaKsgxl!e6E;7%^Rv;wC(wd(u-N6Oz#DkxzIIZ7GWDSlQ^kc2% zq)HdU#rx5AX7jvdSrP4Vr8C|>bFAr;cBRhB+g7ojG&*$a91)gNxD~~bhXx<%>FTPf}WpYd`YcB^}=+#~P%KN3SyvHA5Lf$pZZ(rcRpsB^p1 zDm1%c!x#foI(HxpKSQa1f(dlq0(+BID;H&NNZ%5JN=s}GMXA@bGe695yP4cuKFKud z(NwdWMa@VoYbBFiY6`yMv0=?{$aAY4xB%H!YI3BUYfQjR?rB^q?r#u%s%&_ni1@F@ zFNcslk(7%OAj#`om#AQRcH6tI-#CPt(p?w&2Q7!fSmqRA%1oRM!f_ESEIS&1$1u^h z$bT#;6gOj+xCd7XWLCH5qkTYI~@8fv;h zdw@#299bqI{?qQmLrIRT0|LqHv@IO7daGYD9ukvk?ZzM0yR3`A-)~wbpn-(;aHA|8 z#1?vDF2X34HaBbl#%L{;O2aqQM+c}5Cp-Z9C;UlNAKJ3Tk!u=s7qFQXXNEu|@BTS+ zV|Gmi_d@_$y9M!QbSqcc_CZqA$p%NaBL=P!{D0Yd8~D1aGT(pGmNYGa z9%yM#UuX}7LV&g$pq2;~4sC%H0V5O%wq8!@3+Wi(&=)vJ#V`XJl{-eoF*xAF5jBp? zpWHi)MnB9L1bX94M~*WL#F4>_qD1Iu98toxl>0pE`90^H{Y!R&GmLZZ=g)?8o%LPM zde*aE_S$Q&z4uyjJ<5$r1gYvXO|S0>xTD|q?{Sy|KJJM zNZks@&-(C!N;#h=iExm#^z;M>fk-vSqz?Z}MDB&Jo@2F4|f+Lnh(27EaghW^3Uz@kkHRx~06kgtW}6cdXXReqpwa zk#-bvqabhi>xMi*uUtvWS&*&G^lMygKeB6uEr-qxJ!%RM=yt?fun1ifty#M!vsP!H zENA{^?q<1B(8p4mww_78vbZh+9=dngd#hP@rqfnd6&iX>c{C-))|cPlce-zqHbA_-qz}~fogeEG zWCMjJO;OsjUaFS)1Mjfsm+mJk0ot`oP0L$z)+uNQtPlLesAFXt7*VDTOZI69npCD- z7t(LYyV~*@h*d|q0HlI1)hA4$Da&h1dXbf(ZBS-~bXG{XlBTyUYk`f3;bF=W*)@N|O35BV*S>9sF#+{>I(gcgSw+Yi)d_TJ?3UTeL_n(`P6$ zvc6m%x#%l0Fe?~Y{zrD36f3S?BhPX}BM+Swx)+?UQYJD-)v`&J=gx+9WCQ`yu~#;G^U;6*O*(iB=-n={9TEi~nqZupgvXInayt%wvMAQs8% zj#XTrclriqvZ_(snK$PJuUGo zvCLO(mA+1{`_koF>Zh*=pHrV&keO83EY1|fCcVP*mT@#lgOF%31=f%&M#%kxJ?EVs z-b^`F9$%g+b15zIj&AYPFg1E=Fil=QzD_ndS-x57O*)F5^(UQW``_sWTt^<-+vo$y zt>tTqZs#MDePNJfU8!{5+WDQgL#)Evxw7fHwALMOlg+v|hkvyr-6~!aMHf7_K)Dl@ zcap95^S#Klr?RK1=oR&mpNU;rSAXte z2I+R^H*Cg0NAe?E2+HMO9-oF+MZ?e;NlM}ChOcD-dn;5%i}7&T3^o)Ba_R=^Ov6im8v)Zzv`5Xfw;?a&7P?pvtCTP?vd?U?JY+6pz`^jlBnn!YZ35WKilItbA@s*P_Hk%xX z)ml8aYs#DN;Y8k=DK@TIS3RVNziuw~2=Cf17bj`PcByN?kY0N#gF7TU9#?#uSm;zw&@bTZ%?e`7woMD4@3wIyj2Up06)e>K)M<3)Wle zaKpc~d}A)RTKXQtPT4H#np4Z0%1R%HL9bk*wA+&h0+lg@_W1Hnq)z^Yt?=YVw%V?$ zbw|PkNiZt(qgtW~k`}HHrt~8%zpE@4+1fR$&(mg)CGw=Jy!4tKdKV^*ONRkIMQAVT z`puTzWi@ME>b<{gB`C8y+S}?F0Xvf0dMMIf!kjx+ACmlxSuV@u)>6tw9=OKJB%A z?~=W;wIS`4W-Y}lg|XHKm|ARdsV~R^P1?gro7OvIXb`dTjgqzyJe9IWuIk24sS<6s zEX;>b0No01X>tW9N`%TeCFP6;9nM(4N17fgp)yeCYPh13RA?PCLofZ#`pZ^VZdau@ zk&BP)IW9M>)&I!#Cq(gSU^xjacId{Xv?QM1lZT=Tdp>#&Wg}F~OlY7tZE3yUorRl| zXw7@&`_-s;3*J=(tDHo%iqy>(y8jMZw~I7^DaFJcTeHwMNd+__)U*qo9Kwf zJW_$CCV8OwqX=%Bb9M9bw?}`-;cl&Y!@qg?w*!86Gr?cc--B>>o6ZFgC$B$q`i~sB z@NX2gsauH;n&9;AuFs7MIwUotX6oGZAqWWW%%f^+=FU%hwu5VOQzk<$xQEuHXUv^H zZwgp&!BWCpXLMxEQ6g7&Bv|0JHAl^qG>!rbY1G!tJS=_G+?ik@jhZR*(lch(%>oN) z99@&1I`5dw(O`#)8yQ~iI&CIED=Pz6|2W+acRL$&}3p4Z5V4;R;4h{L33pP#V zz~+HX4=g<+CHb8Xc9^oM=_6-KVP)i}mrZn7&D5jQbLSr`%*#f8hGVh(t8$?XQZ+MX ziQMsEp$ujpQ8OdGXl_ne@QWMO)TNG^I=A*bun>3V5z}kZN6lLe7G$T?%&3!u*MJ3k zz}A8VdxTA&ot}3-SSUZR3&2A89W}GICUs=`La3PM z2Nue2{=B)8k<3M4q5Qz!4i?I9?!5Vj9ed2ei^1x|jRIS^=n}BQ%WP5RQm`Y+?3jh` z0Gm-}3l}wkX*)E1i!$#7({|`-Tn47?(B&=%({>mgJ!kfGsowQq+76@HbF~cSUje4= zFq(7pOl=$Q0@HRFrRGkZmp*F#m0;Qqqp3Bid9~@fW-x7s&aMK}cIfQgVA>9&>2svD z%sXrYn6^V_8^IP-vG;%-Q^o!p*g|E8&zzl>bKz>RMP;^VULGt{W|?`Lz>Y1mMf0u! zTdb_^2syVF&D#uiTou~_rfof%dBp4*Np~yQ5@Vq~Zv#7_id_qKqO#f3k4PVL`1}^I z`YN^^?4&C8dtfJ5vG;!jxxmk09d%#A#NL3PTUCn(CuL7DMLT>`(Ue; zp&$AKur+~MKY0h(T4hM%PO$TpO`9n_U^=7q75YAeX^_^}q54A(&7&VWrif%{5y^l0 z!$uhay!Pm~9(nB$7mQM&m^JQX`K#7Z7WsGlz&@DrO5Nu;d_#A3=4RbGO;zdGc2g#NJdm+ZbCyn@rh+Hx$WGV#(%TFl z&dTJyK)vbNA!&uX{b^SwtCD24%gQb~7?(YF!iVenv5*au)^_Lh|CG< ze$Q1(M8Dr0$eoCc(&f3Q-1y1t+*x9$-1MBaN|xBze%-ZK%k8G@yChG4Z4;y_9X1Vw zb%^Ytsl`1`UfjNZo5$3L*zvR|$`xU{D3pue*@(?LL#HL|uknQM3AOE&OJe%8V1X2{ z+Ub?m#ncTn_!8#dedUlU~=oCOA3`0$*Qf>!Xp9Srxxdwu0Nx1vC6KK zQbPJmKDzN!MCM7u7xVgQKc3s#IV87WQZVu%CC({*|8>W%Q!Vgnxx<@2ZQGVz;h95K zT$#o4lgQR5nI_Lw4Y#4WI+8T% zun+}=r5};iiBvAGJJ4&kO1squE;c1B4NqF)wKq(kCSM3ZwUw28OcH(Y11ILZ8`Qqj z`_HSRZ&w|OTEPY(6WG!_)bKuj@xR=?RWYwFfUh}vVqjXS8>|o8 zaF)*E%ktHl9~#4q+Nyr^7-qecb$MVQyQAs2L-weXZd#sq>vHJfYT=a=8z$&_UDX$T z9~j9fK|6krFIN${BFg(znG=JlvdfV?@wr(py{1*)uMAZl9*w9<*%9bUbl1zLPrF-KYbdFe58xk_t=r3H%VOLc(fze%gR8hGW6M0J?;@>Ihw9F zCo84Nms?{EiZY|eL{{kKT964o99GTCHp@a8Sf*{mDtjqI78KIcO{QK$$;qZXVS@NQ z8Ew<$ONCr!u{OWrFnb;@OyR;Y>YrtqwK}+ycMzAAuWx$olna?gw=dI^-bG-mwk zbBgSZBT*d&}EZkzjR4jnp2@VRZUZ#9`BTAAds!@%`I9`gr#`KQ54>u3+r^*TU!Z=bkt{a z`MSh!SkXyMGs~nbWH~312wvHLZ0Q$u!#FMdfs5A5s1KObwM8Q(UPGDAvXy`izIX z%i={lbZ?npzKw#%uv?qF9H<%;HF3DVi=GezO&&JvFLoA95YmW1RM})>dHAOJzt;vR1Jv7=mF!RnqaFa>8!k zDW9z0l7VDca7dfEUI8~3c1sP*{*GfDRs`WXDPpoXk4D172;c1^oRHOVWfZez%c)ls zR9+KDe9_${$_^C>ZnKFkd}>kC2_=;cH}+fs+a*G zaVhbth}H3IQI>Lxt{5O?WaS)-YH4nk=bLhizhPBq!*b5a%|yI2&O91_ zMqbF4dv*-E!aaH=#qob3ty4op$>En70u3&?BvY8hoGD4&-he<b4!S@{X?xm(gucRW@|2VbfDv6JF)za<^f5R<uim#tSoQxogw==Vx5ZV@`0ZYG{;>L6v+iy-6bqJvG|6GlB$YpKM>xz zlB=eTX@e$t88xgnGnUb#^iXeCyre$>X0Cz(BR8EDb9j>jlO z8wp{HO39YJm_vHyL#I|#b^UK|lnk_`vz3}c@}@`zH8O)3Zp)-zwf@7(401nh<1M{* zSz+kw@p31rmxJo+3gwoVExd>=7cZnL34|DuGl8-dcqkdmZI#qS3O6hZwwB|mqRREh zitX%R>oUI|l-V@hZ%(cx`ofCElna?Go+-^ozunM}jdYYQi)Lz@m5H=#^+h$QFyAjj zR+N+>mQG`d6GDPe5ZB#*A#LmbUu}60rxe990lcLiV(XB=RxFkcMdfb6OL>jm9qGcx zYLndE$o>3=;FQl*u}34LQcTACk(~aJh4-gZL{|Hl{r@z+y!WRn zug7EG8(;p_S(WRh%0E0XzWibL$NRhXC&rh*=xvq!s{PFq==bZfUN7~idwP8R^RjXM z!%vMbzXjDm$*6H zj?2A`>Nsb5P#PX?=tXD@t$6U^(~G8GCnPc9H;!`T&)bjYSKHf^-YZ3?H^b+ zzWj9<54rrqr;acG!anOyCL_O{OUIY*xS-NsY5ClJ%J}kI{@nDtJ&&C{zWiAy#_M?=^}1F!V~*|m z&7^(W76zm{p)o9(JDx&JLsV%DF?Fq2o1BwXj+0iQHOa7stjp>c6ss^O4-)}0ws-X* zhAlxWB_yw#Z&)Tt9COt-eH?e+)j;_Y(^ z9(WFb`*{~$HWB%M2A`~v$;cefdScU$0h zw+O$x?eM$X3BSAD@Vna!zq|eLyE_2CyF>81I|9GEwf7_caMR@0!|!eb{O&fw?`|{v z?zX`1ZV`TW+u?V&6MlEQ;di$ees}xfcXt4OcZcA2cLaWSYrlZ}!%dT055Kz&@Vnax zzq`%wyW0Z4yG8ijZHM38PWavJhTq*@_}%S?-`xTD-5rA8-4XcRt^FeM4>wJ2J^b!A z!0&D&{O&fx?`{kH?iS&9w;g_WJK=Y?8-90t;di$mes>4pcXtSWcSqoNxAsfOKio9A z_3*pf0KdD9@Vna#zq>8)yIX|c-FEoh?S$XmZus5ph2PzN_}v|V-`yej-5r77-P&&C zA8wl5didRKfZyFl_}y)W-`y7Y-7UiJZae($cEay&H~jAQ!tZWB{O%6G@9q%%?vB9k zZta(mf4FIK>*05|0e*KI;di$ges^2ocee>5 zyE_8EyS0CY{KHL?TMxgx4e-0$2*10{@Vnarzq>{F-ED{8-A?%3_4$|bz$|La>FD4s zO=kDma96{v-+A&Qi$?zb$Zxzo>iYIM-#)u#vfN|IM;I;gVaEY^nOla@;~n#Hj3@J7 z8J5EFUuna5X}@XTc%?IO*qh}yaT$##@n-prS2`1iy;*(}m(h3og z8I33LX8Da*IunPzS$-3j(RdPXmfv`#GjZ6PqugV__>H-AP5`SS7Y zOM9@oM^&quTOE=TMe#%I(_>kj#(ecAQq2~`l*T;OV*WcO5Il1cbkyh|k7O?F6BFXR z>@(wH;qyl;t&noW@{dYb^)D@{+0~%(yBt$~RO}nm!m@Q$p|QHEXvME;<>B`z34qzl z=OhJH>8Q4EbP-mWR}M^43SOmKf5w~F1aZs36(uqI7M)TFkYCHH&2#(8Iud@wG$hqv zLfi^2Yl+*psJSL|A^R3B_JHM!~D7v&xb&Gb%K0UWN1NUkRyJ zR7ICBueJpNW1#8;kB-GJD~??qye!0xOIP=L@sO(1DHd=_#hl|qK*jGThTw|cs=_lp zW{cNKU<)hunM~#1dF7xAvtN~-pF%1Ig#hxJa9QhYiY#6UJ2Fno(!^EDZI8!LUpbat z)++)ri((#^DMy{>q}ruAtV*d`s{A`BEBmT`lvAl<;b++<@m2pW%O%DvOH}`uNLs?H z#mm1F@DwjVbVWvEf^_gbR%8#(JRY*yZ0Iy$s4fUY~u(l;!D%D<0RK z*gn4q#5${xl-pOn=*0~1WMi<}-YcG^7{|kS6z*Xzu$=R8~^-Btl&hO zssr8#`^NA8CbZ8QlpFQ>t~S+;5HUyPWOV-=yDd(>@R;)Q=qqktVs@%civ3Qq&zs+( za`{z_{X~P8$k-_!L&4>nY2p8(e_oD=PhmwWI3-&RBtlpmb;Y@P;EzLC~R?LKr+8FWi|Hb zS*@(LZ`ldu)7C6ffpAnCD3h2c8m+Q!te-Ox8BWETF@zHhthTRwDT6tc9=UQp#|$4M zp(+$NulkO;O2~hXI>`_l;o-wF0r z*R97X-xJ5|TRujujlNrO9m^}%9XBpMg^xF@ zn$T&2JBEFg({^+mefS~A=z!&OW~GjtHRfc@7{b!|&6zWAoMIj`&M7C1Rjs2%Pd;HZ zdz1YCxCBzEIrC$UZFbej=D)sN=A^iTs~&m%*V{MRn$hHqwo)zxvu1HE$q+>#C0^Zw znH3<_CLNUu^)I8?Ku4*VIZG}Bbj_Tf($QD7mgRCECjFc;3J6lOZ6rLKyXeufNhBrD z6jasd@G+pwZB>nnHQG^?+@;2tkxk)22y18mSm{e)1RP{XN6^%nihYW!4pfYBy-daJ zw>nxbkJGE-$j?!F#vlP{o>kZtxf;Etnd5cuaQS=|8>N;KcCWjxiTz_)EKfHVhU!VD zxofCcrwdqlr8f_m87~|BSwEkc8&Y@cScjn=Z(K1HjqpNKUp$XB<)axH( zPN?j^QoyEJ%J;zTi$KEDyp_RTzeudMqsxu1F z%nD0wVfp3;rp1g=4cD3+=i8P zgdgQTY9UT?q$PoDP6d>+jTw=$zpT4*QdHY#;$^-5L)|$%m_T6JK2N>UNqY3MrDah5 z;r7rQ1J&Wx_L+D&bdJ4I7W~KfSO6;BoQi!y^e8t_myih1SXNyA;r4k&kKrH3J~T(m zTy@H-25D66<3wGeB3qHD{0bJ$OT`PYI(QuW!VoAZ2>)35_&Eq275l^ z;5={ZM^f`0Tenp1k$Nvu=^DnCd*i5f@_L&h=B=5$e#+KEw;p;^&4;FT*4{Ji&!&H4 z`rjV5ukN1@|Jf0*&G?HM56yUN#^W>g&Ukvpz>M$B_@@~!%y@Ce{u!^%I5^`q`LD9> zO=X1=|8?8#U%37Dzq;r4+jToBIc|IH`>(zB=<~0=27eT_9+YEGgD-h1J2363_NG^@ zdj9$6)9J8Xl_*HBx=kWi`~j`PIyd%R^z)Bu0(xkQ(W-5$S8ucE0X}-qU;WiRk0N~G z5%W$j?vtY!WJOqxRcT4U{O6u=ZdQ)M@SyoWu=xX<<+%3wpY$0>r@z1I`BmSCd|Th( z@W{cD;laMP5Im{oh=u1IJZIq%HIpE|N>rzBbAuyIP7ZM``~%WlUnP-FHw-UTECh$U!y8~|{u zP}b^2enb9L1?)rkQ_t?HJ3=*taLpsqlkj{)T}?UuZMVHUX0NIa2lT_&>L;A~pL*)4 zgFn-45#^AUCuidxDRlE|S%xw|{txc`pjO_uy#1}R(ThjmsII3VFP%W0pHlm@KgIcUgk-g#1r%DR_P~Bv;u@wh=|b?| z^o-%Ef5RE>>g4+A=d;Dw7e&?fOWTXpr$mlo?L*|N{nFdS{0-8tR)?z{Xg?u6)fa0o zQf<|K)mQD0w#j0>nmyEaTCNP$ewDBG@0H;RIy6mM%u#>2f0OH~bx`I0LxlFPTzT8T z!1XF0Md!5c+jme)iiO4xx)?VMXOp{&#Ar~>3E>LiMNPkv+{qw&+``| z={2;^qMKh&fAi-Dui4frMm!_E;yHrg-}ar)oNFTC(iR3WWd$o+2U^3XtsvrS9kAa= zu8se9#h=Ch`{$eE|4G4(b&SN|NV@D_X~(bOx)ldwewP1rO>6k$W6CX>vlAFDNqj6mbQgU49{v+mVk2>n8E`YSiT5oJANGB=(+Y!1${H{3Y zyvv{xdqx=E?Qd;eW%+3hEvqajm-D*x>2A8=+w7>wRQ<~1x34F=wJM9 zv+g`Dr@!kyZ0_B^Z?1}iF&6z(_QW#x5<*x$WL))N<3JDp?UiW572 zN%G4jROL^F8xt1K$4FlHIahhTK&i{e<0QXI1XNDKV~s ze=2Hw$5Bz{shLs!N3)~c&GVzaz01N@@4s#P|G%w0zu7+j-)f(CqCFoX4cGhIMe_St z`BRsVkC43fw<>okT$ZnHpV~iYe;ez6qLXsfaXwk4U*)yG)$>dHTXp$(qubjM+4I}> zhxbwcFj0T_`6_wM??nCKm#gH5*G&rj;AAP3r2g3PShWM zo#ZF#54FGR`Qn@?`n`12v}|tFH9R*O{)>5`59~N=LFfa03|8%W|LFEUk8z2%Tm5?p zeh+^e?DFvQ;n%$D-zD%*k>C1v1^jxQ)W7$@Un9TuZ!7#dUev$q;IEV4`nMbY!{xXB zy&r!0X$Smn&kXo==%;@R;dlF%!+%|I^VPDc=k`t7kmT6%<>PYU2maaLZT>pAcfef% zxAdjByr!>5(9+#-xyzez+C4?9b!8& zEIITG_p5xUER8oge%^;L`KK3lmEh)Pn*KiMb-5&Wc;$(?SlHX*{`9_++D`yAr+ z!2JifkHN(gO*bnloG`Y%%{6g*uUvQO6_>9rM;rCSORnkAc)WV}Z(Y%_a^)GPz4g3h z7pz#ja@mSA&RntVt!J!$>$0_LPG5We>N8fJw)(uczCViAZoO&y=B?|lmp$0GZQ8u` z!YkIT4QVyPo)Yv8!gW6E>5|<;RPLh;2k1h4ZC5!kb+ldN#PuVzyHV}NLtnqEeQ33G zXiu-L_R~7@_R$ObTaYhz>rS3j>wB%pxjcEA{;$U&hfInNnKo&W{D^Wv%^?~v_0ZcV z*XlG>O*V9FkL|JZ_sOEUvu-gr=osUl=WdOMcf8O1ci$Z69(8}Oacvj=r(u74W&A!U zbE@sXvgJ{eUwWGPAAsBQ7Wn_#!kf=De=qza2)}=&@hrlT7V) zZ?&PT*3L(F(Va%U;O-7yZ}}a((Ol1$=fnN#Dtip_3koLR4S#N@`8%NJp&QJ97u+1& z1D+o2Xoi0k+zedrVCTXBx5xSE;1fCB)2tlaZJQ{<1mS9j{(0HUi96}xLv356>B8G* znu2Gr@0|KVx&7vZoc{Lx0o_%m$Gm&c&&zL>e_#Unr{81eliQP;Kwi@r@7R$seR}?= z&feZkPUUX~|0G;xdR$l=PyepXCVwe7=kFgbjmu{?nEbD6jI;a`la1#jEwyLC@h1N? z_wxc>Ciihh+(zuV*&g16ijm%r*X^Q-+T|J;vE{%Y{O*q2j+!m$AMO@e=9 zhshrYzMAY`eQ4aC=v3;d-h*v^8MgHhO4&d zF%11){=+E$Ux9P^Ps91@@@YR`!B2*3+GX2V^anWsYES+Kvu7Xj`!8@^zNOL1NA1_c z_hl@Ae+2H*lNaYSJX&Y+>QVgK4SJvKHB7F!*%&7hgIxR z{Vg|{{4{W`uU^`xy&v+Afd3S(>;J`Sd}49{4$w-+{9%KRL*6e8tN1S#ZIz2rI|o^5_FpNr9+SA%bY z>+&V|-TwWMe;WK3B!B08)1QNawI4NmJ_7z3xUT=h-!}VIUhAvlDwDq!{q0BLy8NS; z$IGYiF_S;(7~|)|b@{~`;`-BztUWZGXY!Z8b@@}yHtx^k+Fv#OXMn#OuFD?{dvXHQ z{?f=|{Ta;#KNGGpJ#MD!UHf}X{~qvr;hMC}Cn3I{FZ(`W^4~>1yFOv|x_lP><0JuU z&wBLdXM%5l>+(OQ>)qWOP5*xI`50fg{0x+rw}<@ER-S3_+&yu74q0e^Z_gKh$@EVJ zUkcatKU~#6DBFnk_LaG&=R0s+{+va|_59Uiy6h4Q2BlRCO;263)kf@ z!u+Vq4}8<)&xPLgr2oZDX3r$(Fa5R2KYOgD`#423@zuQv z*eG7eEaz18I;d#?EjsG>-HSLxVLN%#=}$AnSQqChKDQV zsXBaL@T0t*+{JkN6K9$pFVE;@%kO8vpM>l7Y)1L|`8DN5livn@E0zCwurntLG!MNO zp!~tN!*%^1`+(W+?Pop8Cuw{&4d?$P=x_Zyvu6hQGU^{rsI3D=`vK)<(#;c2G-9q7mY z8(i0)f#1ug8}jwwZzFks4xzT|-(wh$9ZcvSUi%Bn?-8Eh8|0=)Pv>Gw$MN^k&&+c0 zpX4?l8&CHi*IRo%8tG+EjE8S*J1(a|g`&9-i}v3f_d9ntFFz_T)ycS@^d5MZrRy*3 z_EWg)VK?=;@zYiLOjV>I(!1?4OZRxl6!3hj;qMpc6g~5lx%&IJIod_I@sO$*C&kOL z2jl$N5E(hs!XLiW^0NYNm4?^#)9+(kxQ)_XfOh5OoIN>im&aqb^rsV-bA45$Cer(k zXDpq0RWiSepHHHkz3rtN;`zOM~&uIo0`?`nYbTg{IB zZ?k&cch1=Ln^`qBcfIOnsyvO*>*f3;#=U+XRf&e5t3Erievae*>T|euRlMDt^DFb8 z>cYPx_p`|FX-KdCY_sD5yg&O!nNb?C^Tzf4tSRny{vUO#%XlnZ{~PHZhQNC2N5_iu zMzDY0YWcn3jZpSm=s19J^M#00e@VRE{T8ZTmuLo3br)HF7sKC3>CXDPjsISkQWElK zsDy*}_fXDB{nc1;{ynUP^7F^I{+VN2HpCI;ixc~i+ z-oNa7>yn%%^#I%nk}U`SZ_HcxeM~pn&%=AI-dynBZ<&81T<1xymid&VK;efV%%5BM z_&zDh{cG&JXoQ<2SIvDaTh08pr|-`ZT()rQ;+)G=yLIof^qswQW!&$)+O5vNzJpqQ zc>4Vqm;J8C`)*MoTe?;y2Q{*2{*%)CBW3Xzpf1CC9)$DiqdlKs3$FCdz`{LXinLeNQtov+S z7yZ7B!~e7WK96`l5=!d-*p54{v+Hr^P4Vlu%W2=|=YN~Lc*^a-+y6%~j<~=h{*GN9 z&nM--?+as(uaokx*=R;y#>&5ElgIVWe^>6%l9O_pRv+e}@+X*oWTl;#uipC2FCUy7 z{n@LNqmTDZ&Asx-VYyenH6!=Rqcd}_JT@oy%H#8Muk2lvdu6gbqV1a+Nq8jTk%ULD zyn5>+-F=gj&i*P7_#KYi`BPfOCXG&~w3{9h2RGJ`YD z`=6?7@G!XW=OWP?4gXs#%w^ze{?@Htm%03^%hz8Zp9lE0UU}mR%dh^fKKk)Ks{efp-%3a_%DT<=#!)>!F9Z*Gn&PuctoZ zZht>il{bXkX?@Hj^ z3A~56zsJ@~+|%t#;Qa}_l)wiP_+SDbO5no@d?bNKug2@q^HrO`Q^bFGvDH_axa-Lf z|DW5fzUqm)d^UkMB=B4UZ%p7##7mc${RQF|p*@ehKx5qCS= z6L?1g?@Zub3A{Uj_ayM%1m2gx`xAI6fe$3`!2~{(z=sp~2=Nc2{G-?6?f<`n*Ao9Y zc#8Nv;A!HY1&1TPT39lS{Vqu_1C zKMmea{Bz(P#2*3gBt8}I?{pFW%ND!7bQ4cOzK6KW_Y$8A`99+R0DJn0_r2S$vnAp# zKS2B`=ouvbeefaTgW$sne1y2C+godP`M9)ofsJdUX>s0pv)%8fi0|KJJWad^o*|wF zZzNvaZF-uBZ{KBhG!tKcj?J^=iC>2KlNRE8E;9K7@v9(TB<}KU#J51co%pP4On(RQ z--CQ7@hPyUi}(}x4xyX)s_mw~hj;<{dx@v6H2FT_MacIP?_6#2CF1^F;sEh1%72jf z??e9(@jA#46F+o=osT2L7i>0rqUrH==-*k@5^ruoeiy~%yRn`^iFo5VCO63ZT;s#U zo57<@Tz@-wig;tr(sag%Q(o`1%86Y&hVzYps6 zJaDeHlP;3afe#Yj*l6-Y#OuL_iSNJA2&zC*mwZwDaDdMxh)5M>9yQP~U zzWyD?>xtiWiSaD)x{HiA5bwOec#e4KV&jd(*Kao7M0^kQG!yUMWb%39cU*0}Kzt+g z6p7#QE|YH~zV-^^?ZjJJjCT<4`90&E#Cy*--bMUjw1;lut;kmo@y2zgr{<2=d{AGqE0Hxh3IZzi7kw8`g*w}ZD3 z-_>FA1>(ic>VhPa-R4`%-6RN z_xbSxai0$_GRM4g8}U5!w-fj04V}dOc|$jGf8NkbJVLtt#C^WLMBL}w2Z;MT{vdIe zA0qDa`@_UtzUzc|`R~U#vzz#<;623anr)ofOMC%%AMxej{lw1!FA;wy_yF;1zz2!% z0v{rNC-^Y&PVf=pe-0ku`vkx4e-pfxcnLg3{DhPhr~3@P1Idy6 z3*b$}Ujfe(uf==A1>$qSJBTlMpN)$;i9dwzO}dCTzu)A$iLcsayodM}e5cY&JbRPL z_Yofi_wP}>eCquEh~>LX&j|4z@LGId;(FS_Q^a5T6Vv10qqzJoe6P|*@^^xF5dS0a zF5+JT?;-v*@Lu90e`e=hAMyVM`4aK(fe#RmzG8X?i7$QB`i1DEc>mCg?{I2~KUrEF zo|C1C=fVAbZ7;XO@jgrg$)~}aiU0Cxvm;OZRqz(#_v3xH0&#!-QY8Kr$afGQzQpRi zlX&(W#=D3=4Eb*2_d~vqcpK#XyB{x~Q_!CMyB+8GKecq5@g9Zq{?8eY@coJN?oU{` z)e?Uf$~i@R19+OazrT|qz6tX6#QlB0EODQ&YaqTAdUC`+l(qKRNc{I8-$dNsbM^0g zyc|x4e4gYBkDeUbZ42?WkS`E-`61$WeahN@YFYezIj{-yc*Jw9Hm{u_-i-I6>xu7& zo-FbEx0wD0;?G=TJV(4IYx9te#7ofAMEqXxX5!C5f1Y?zcb!J{NBGc-buWv-?)FD>iWNq>z98|>HHb+dVCM*`~`6TPSSblYP*g! zk$l57xb6^N^={*B#BV_V*-rd@;2p&80PiIJ$KYMW{|9(C@qX|g;{OEROME|gAMu0W z{lt&-@fGpoe0)XxOz=VC7l02DzXE)O_;So|NBHj1>ucdZ;QCJdWbhR6mEitertA5j zw-b{8l(!S&O=qJ$5O2jgI|btJ1#c(*ZtyPRH-PsN&x4nUUkg4&{9WMDS#;ikr-^R_ z&l0~8ypj0lt}?xO;tQ~DM3ML+@DAdO!Mlks0q-MT4_+ef`5h$g^Bdv&QEv}k z{wd;K{u$z1yxfR;z2t~{duSqlJ@n*>d-)fL?}mIE@gjH!@jc-Fy{zZ=0o?x%ko?!d zhluY5_wRvSPwl;SUZn7yu=9t&>xsAHzA{U^fj1KO^`4rDuY>)~ z#NP&}u3-MLp1>)C(7m2R{ZzJ9a-cI~d@DAcvf_D-b>Q8^cYya0zXiOP zcoDph_-)|*#C`pq67jFRX8pzhasQ5ekocdJOn!*C%QxY9thcwDPPF@`Jn@f$7l{7} zcpLHm0p3CUQSdI}FM#(D_jQ;0h#v#_67dtj2Z^r)A0~btc!cNAUJe(7r--iy&k*l; z-pV;kJP-LC@qawt%DIX7ufg-gr=DQ)1>(nnw-G-Vyo2}#@GjyvgZB{sBzPb32f<6k zJzs;wzX|za;!lG|cy90I-;Z)g5q}Qy8RGv6o+bVYc#il~)JqfbZ!banPv8aO{|Nau z;y(lLApYmbR~KO3zC?U8(j6qe3w)Tkx3>uIM|k<)4*3-EW5F}T?*q>g z|2lY%_*LLd#Jzm-#2-ev6^MKJv=R66=^#Gn ziJu4FM0_21f%s+M9mKB!?;*YkyhOYOe3*CvJhe7%e-S)O{C4mr;vWVt5dQ>t2l3B< z_YnU)c!~G};KRhf3Z6PYZhs$mmiXU*cM?CW#o~7nfB91D|9gl}d57^{;?u$ViKoCz z#AksI5?=^DL_7^XLVPiJbV0lvP6SU8UkaWkej0c^@s;3N;^%?qh+hoeNc^4P&BWgY zo+thu@B;De;6>s$fVUIB8N7q|2f(|Ce+ayrxXbqv|0v}9hmJVSgpcs=o3!5fI*1)d}RaquSMp960u{zdQ>;$HYe;j;>_@}`~h~Ebut&7+D{opC$ zUja`Oe-ON$crSRC_+NwPh(8YANc?ZXn~8rHJWqT8yg>X1;6>ukgSQj^Id}*0UxIfL z_x8}8zWi_%67XcnUmC{8;b| z@sq%_#QnSD2I3b$zLEIl;7!Cgf#-?0fwvI;4Q@O1uqc)0(cwozXoq7{%!D1;?IJ25g!8YA^vOd zUgDGSeRMzZ+2AGO3&978pAJ4m{7mo>;+KL)7su;;J$QY)&|HMxM?-T(cU)R&;i>BZ@;_GfYKL*^_uXNu3puGoDApL9qhjCxe z(&fK^bbY-^=idPDyvh0-=e@hl-|z=<{=pAeewv7Tc{V5T7UJhkHN9=bT~B)g?q#f@dg9H{lOyhW8WVUk@r}?^AntmK z3A~;7Cg|xR?s~ctcrS6^cdA6(^$aBN{*T4Wa~9sy7$Dx*Y42+d5_kPW34Db3;4zk7 zZAU!a+&!j0McnnL6L>xGC0pz~Y9M~#k4%4#xa)6B;LXH+f1?)STRw043&dT2F@d)e z_x*}Gi7&X%^mh?={oM(?m$>gg)K7dC^p}Xc{(%HOMBMiW8X>;E%j}On9uTA5S~+ra!Ur=^*a;} z@mYsketU`E`#IC!N8I)IC-4E{zCQ5~@hzV+{lmmv|40I_{Y1Py96CX^% z{q+gFfw(_6ZzR3~`kRQm{^kVULj2Al>wk*G@A#zI-$vZ^wmN$sBgDOZ)_yvkugAV;`cuSRe>#EJ6Zh}#8;CzV zVES{!U4LT&Zzg`&{Z_v%#M_@R{RQH#znH+=iTi$Loy41Ae;0Ar-<`mFiTm}jpLpHV zW`Bt}`p+ek9-Ne^Ge=qUwADI3=;;z3xfe#SB82X2Z z_n`d`6LcTmx#OmfdoE8-0OFQ_yefl=#S&|?)qyJc$&D^Z$0si$C>?E;;z3Tfj1KO z>w7ctfn}yYPu%slB=92f>o7iPC;srMroV%@>+ek9-NawmXV=GG;+;!Pe;;wz-=Dw- zh<99I^*2QP?o&+vFmcyElE7>4jkkv_e{S}ti9dF->CX^%{q+gFf%sV`T6&GdH$s0C zao69Rz*~rSqI`q;oU8kG= zLE^4|D1na<{}J@p-WRX;wsTB>in!}fC-8dWL(tzqeBWD4e~!58Z%p9L#D5O`EyR7F z*#dFbUrgZb#C?C(PT~ia*mqK0#9e=P0`Dd6`?>ZL@4!B-CE~7sAb}4NpYkI+e@BS> zzOK<{9P zYw4AUKM(mK;xB?npNrf13-C1Yt2UclmUtfTb2bux8G7=>kH>eQEyM@$onV1@9psC| zOV`?Y*G7CPmi2v$Q z>)(pRr`&>ePJCn0csuc3knbSw{>}v6OS~KYz69P++~b!L_yBQ_KbXLWhG_#65m0fv1Uk{7eF`C+_jH3A};0$Im73M&cg7DSKa;@giF^EP0&gJh@pB2hk+{ciO5n}JJ$^ocw-EREg#=zC z?(y3acsp^A-;uyOiF^F61l~>D5_mIlkDpKAEyO*3A%Pc( zd;GQp-cH=(cO>vm;vT;%fp-)4_&o`{m$=98OW^&)J$@;H4-ohGg9&_yxW^w(;3LF6 ze)J`3|B$OC?(tIzJWbr=XA*clagU!(;0?q*elCGG68HE`3A~xO$ImD57UCYikid(? zJ$_pPZzt~YI}&&&agX1Xz`Kci{GJ5fOWfo4CGdXY9>0{p2Z($8!2~`;+~W@?@Dbu3 zKkBCT54l?69zT`9)5JY~CV|%z_xRZa-ay>r=Ms1$agX1Wz?+GC{Com$A@1=D3A{+$ zajkDp55Y2qF~lfdhVd;DwyZy@gRa|yhWxW{iw;LXH6em;S>5cl|n1YRWW z@!Jx3J8_TSk-$5Nd;G2h-c8)&_ayLM;vT;*f%g;l_@x9sK-}XGCh#HR9)CE2j}Z6x z(VtQKhg>ajkDp55Y2qF~lfdhVd;DwyZy@gRa|yhWxW{iw;LXH6em;S>5cl|n1YRWW z@!Jx3J8_TSk-$5Nd;G2h-c8)&_ayKV@wYTtyBQ#UHuxa%)!_M;@A+w2@5-U>cQd@1-4@o&D%$|e0uynKEM z-bnmo;6>t(gLf1E8}I?*BjC0FJD%>NFWK|8dg8smF}VifpN5`h;{A|sA^vUX?N z^z;+|NAMBi-v_TpI{yCTzqmcbp9gOz{;%Le#LM+^AYMLR{*A=F{ENiB{JV*JIrkIy zavmV=%%enT|xSd|k4aB{iTZnr(cM|t9xvx+;&*zz5dR2x zFL5vb0pk6U?dv^6{FBg=el2c~mwy9sFaJj3Uj8k_hmdZOxR-x7@%v!U0P)X**FvAS z=P!dd5PuN7h4^29cM|_Pc?Ga;-bMT$ zz`Kb*2Hr=!aDwG)fOvC_)l=%wczrd&pCMike+%(O=qV5{!Cxdk2!9)K*V9gX82%38 z5z_4n3;7n}?k^)EB{lsV8Vtk1BbGI5FA>Q#m zT8FFnoVn~6UFo+sY(7L#uw z{=i?G{sQslGflooychCq#7CgNo%sDLO-~2$EcAB~KMd>Y_Yj}*cV=fV@ytHseZ+gf z`-zvpOT=@~KS2E6nP&eW@dLlKbccvP3_Zid`%rGF+IahU0_`C~d=KR7iLdykrJE&w zFXS7D-w&Q6z7%>IiF?IP~}?gZXT-2HtCyr1~s^;Tac<~JH2 zA^sTTqiOMaSx_+fTH@W1PZ7`UH2E~~4y2nQ{?H93Ur+ol@GS8hcmweRuqQ`+5czB* z-VFIB;;X=$iD$sOiMziifoG=2%kvq0ZyZZpudy2>+ee7CE`0WrhkxlZ?C=AJw*Iw$PW|$BzSaKy!C(cop)L}3=`im-FQ?N zulMYYroWc>`yihp{>R`M;-7#$S>gllHT@05J0YJVp7{{!op^ex@jUZ)oBkH!3n5=1 z-g2AiX(N8sX~sKeWr-NaGB}P5P$9k`%b5x_`g9uOZ>c_TR)s5KIvG~-$cCb zYi55l@fyhIi60GKApY5DroWB&9oL)wcH&=zd?6Jw zyhQvFKi`S(zs~dz5$}imF!3LQM@Pi#eHiwqn4|rtiT?`n8RFjlv&5(2`j{i0#`Uq0 zcpc=Mh@T9eC;s=iz88q+Z?N(y65r?Tf%w08y%TR~wD!|Q+`qT&CSHJi5AlzH_Yz-v zvYkhL#G`eVZi)B<_)c?x_*bESka*)~P0uiKUuPzo5pNF-AF*<)B|iCR(~}}T8$3gN z3f3vj5^uT5^fwTn2KgLuKku4|_hOx>Jn??$Zz28&l3kUjQE_-V6OB#NGZV6>kr2e~Ne!`N|OQ zhW>iuw?jTl{2uTe@f7N%iFhCMHxr-d?Sc3?Uhl*Q&a!%GBfjw!YoG1JpM`uE@rxg^ z>sk--&Xj$(*h~DPoTb}Gd<%Gq_@~eg2Z;}(9EOPB2l-**ec;iN@%sJH46`Rid=UE6 z#6Jf44DqjmXNfNa&k-Mj{zl^74x5M{4?TI}FCJ<37l;o)f04Mi!#3jH4m*hZ`k!6I zyWVH*q?`CJVNVb7+7F}NiJv{&c!~JM=!XZ0uZH{}@lD{v#7p4OQSo};@BKXSry-vr z{tNI7@jK_6{aNB`KZ<^y_(ve0BmNoiCgQ#>Xr6e-Ri?j%__Y|{7Kncoyp8yy*q^9_ zc;REFzmxb$$5?*5h@TJMLwxZD>mT}vrx#iO&`-SKJhTVmmw*ovKjmzbA12=Zs@Xq6 z{0zuPGvn>y-QX$WN27c)#7iR>{}Z1J`7H4>!E?lK#{F6o@%Hza{msPp`28U9d;PwT z_)AE)jrhJ#nErO+-$gxk5bwhJhF!$77&rD1Uyt#5FYz-W-$#4{c!~Ir(QXHc-@Vc7 zA0oaV^25aEV;&=#6|eUhXjduX`J=6UrirH^pCO*R2mJu?Llzp(5x@9LW`85`sgQ3X zz7#x9{9(Vo6W@sbtw{VUbIqPM;@<)9Ab!pwlkXxv@_^ajO?)lndx$>>`}>IRf_#bi zEa)E~{yxYL68|jtF!8T_#`>S==y<)m{k6o8fSwd_w?9LC2lQu&yZ#2^AMo}--1RpR z_w|bN#Gib~%D;tpJ?1$J#4iMIBmTr+TKRMke-7=Zlemvhx`^L8$J$8`@gJ-*-bcLa zpxNI~{CUWih(8WKNZi+39wwgts_7pgUc1=riDt*!!yNDw@uTZaK0|z8zv-_hJ`eI) z;#u$<@$!De#0S1<`kRTL3p?|~*Mk>``+CuB#7lo|`rC;=d#vTRgZSg%UBnMVf7nBO z{dY`%FY#}kjP^kMyWl0_ZQz5%eZAZv;_Z+hCVmfiG$&r~KlJmR_&&^ErHKzgK0|ym z&aW(SUr#$ne9G6Yd>V;wM>#hUe?NGhcqitg3d9d!{;Ej)UdXo*_xY<1;=W#Y7x4kK zpKjv!!_FS!-hTRs`+B)0;^`qPp8?_>n13E5-UB{NJdgZF>3F^8pELcn#J55|Mf@)C z4Dm1ddxpd#tQXoq{K7TX{&U2y1aBh#_=P5)C+_RTwGjUf%b#-$nfG;623ezYq5X#C_b`PkbB3w6**Fha7zVxS7?<2(Lt+4z? zbK~t~6?lsHB!54Fc(&fgjrGLWtu_5w;v2wo#C@IfCgL3#v%i`6r5N|-iF^4Ji2FK$ zZNz<@z;@#IUx4;Nd>?oxac@^$#C`q19^%iSUG);5owjuQh-bk|#1Hs9FmYd>aESPn zb*6uqxR+ZrFWw$*c-Y!)iny;&m?nM{&btiprQr3>n-f06h$$hQ%{6}*G^c_`;D;=LEx`O-~%9prn6ZwK!q{xR&o zQzE_|?P`Fy&w~vT_j#~k;?sQmFhAZNTK~?PR0`ZxcCut+T1lQjV;`7Yu<4(TCY zk8d<)8Fg!nfhpIQ)a4;MXX{X>R$bQG=*zX zohAM?@Eq|k<36Z~_`U;H4$Z_LgnXX3-%k~Y{{r^^pRVpF#EmkH<9N^>QrN>DdYD7i zv|DYut{O$`lkcP)PkFI#*czGR-m-SgN(_&0VxZ3O?<))f=@&Ex-V{`mfPUgO(rbd( zP56W6eRyK+=J4%qKENyUYPVSO`;~vJc0+j8;v@Ls%gWP-Z(4tIcn~Un2!Cfq?Ur}= z^+XmQ!snjUI7aZ=g7VkkTRzZu)#2m!D{zG}EU+2P~YBz!h-z$F`p4hl| z;IG?u>%oJ4%Adl=OWJOI_{IVG0A5;@7w7!?Bg-GaH|=^egfE^}o&;W8RGn@3fot;O zF2CK=mOp@J`xRe;ui1OSG2FdxoWTFCYMxBt*UgJ}`t_7;KZ@bMzN9=O_zhbhPT}sm zlJ&d%{4L7RtDc;Mb! z+~d!ypRArDe9h{ag>SKX0(jwfZO;;X^B;|G1>XEZ;}ybd>+%Tx^(p14!t;j}UxPnl z>+L#xW=`=9_+NIMY{JuLbzV#0%TLQ&@Y%=hJP5yH`8)8{LyGUhcO8`X;C1s9Ua|9X zIPZ_|al4*P;2Zn&K1d6`W}d>Y+x?jg-nIQShp&I9`7nfk^p$)BUoj8w_Um`gQPkmQ zAJy@#0gud6xcj|6gU7FGI}hPAN0fg8zxtd!T=476Y(100-8w3~$B%dGgb051E!C64 z=WQLB!8hJke0Z;)-`zh?;qLxw2H*Cc`Za(T-nIVT=jR_E)&7{mZ*g_PSKhQbD}J8+ zc6>#ZC{MF>gN=Hvz~txl^Uo%*wVCpQVU6go2v zu@;4z8=$Qb(^F8NY zNU1aP&U)YVo3-B6taaBpXP>>F{p{!8ex7IVvy*L1VJI9pXiV5K{AGR7(#4q9{(fA4 z{m1-kdC(Ll-f!}%qZJ3Mt}w?E#?)1X&9Sh>HP0N2aW(z34w|X&KWK8D2hG%32kZG| z0pIk`JUHC?r9o%v%!5Jix%i;TObj}C#Rmh%bWG(pJzzRc2WBOWsW@m(EgmwLIh#Vc z3yvAVome(=!Lc}fp9x%?><`o*Ix{|AbXq^!rpr|BRQ@Th9?syZt8n#knR(Do;iPs? z1IzsR@6QzYGX?%kfj?8=&lLFoIR#Fy>FYVd{QCvVbXb<}3&(KZE|O z|A+by(El-h5&D0-rLSjfWna(9roNsxKHk@JVrgH`u^ak&{!r7`^ZTp&dX8Sz*Ylfq z_x1dGc3;mcGtk|FzMheszMdQK%UiGXecRTEIo6Ml+d9=88|G@&zW-pU^ZtXGz_)6z z;r<%=-P~7jUvcnops!~*U|jjXhXVuM=fg^*VCh=w_u!G@y*LI9U)`fj?FzbIjzmZB<>zGPgAF3vDo?A!8lgKR#YJ9LP^rzt0)FKg$%p)>>@* zKmXcqrJv)q{uqAPBmAo~ov{;3t)3I~{Ra4<@8wN*J7d)!cE)11GZy7)8S6lt$g9!V z2h7|&_sDe9(MTPYHGIh#y^pK;Zk}6c;>c4RxWw&D z)&Jgv`oH^+>O1dp?@QJ1oKS!GKdQg;QuiyV`u9z!FZ#VBK3SK#Ur5#e%7psQ{73bd zUE(&U>VIKE{l_Rv%eY75*gRKq^1E#0a>X|XXXTrYzoq_3ev;D*h>y9}rsY~~J^40& z{`-GLfzk0iE32(Lkk{6oQQX!&Dcsh5!Q8g)oGaS8FRWz?u1w(g5pw{>Hm+*#O$-nYk#5^o6B0I&vtH2|yuU=09k09XUS8UWS+ zum*rN0IUIE4FGEZSOeY0IAgLozFa)!>t@UvFs-bC=h&IGLx~lUy|0^l7Pb7< zjYALd?nI!VOm#c1H~F_yUv}b+k4Jk>VpmVEdBU@wFA4sQHx7k5tY+u*c-=43&)>D0 z`%jJ6{WSgj54`8O{M7iu!^+33@$H^$-h#DX7?RC<0~=F-EVtT)M?0BIy#BCBvPT+o zVnxenOQ~@Oe7P@bu+47G0n&@opfj(J`JsPGVvu}IukNj&=}iDH$S=Up=4bIU&fepV z!fS%QBCDgkx;7GxmR}E_2k!xk@&KOIlXaa&jB(j{s*G zFb^Yh5Pze_-?pyYHD7(7yAV2E&REnBw5~0uFY|@?;LCaE%C4l$$&3%alq!R+wZchd zKc{R@rfKdxGhQdW1>=&`yP*j%!l|;KOn@;XRrVv5(N=J$r^=p~&~|F7tS?nhedMOf z9!-_KIorqgb*{+Q;0DT1!ZX2rk+L)`|CReUp+^FGhM*_50l%RrxtjXK9ml@HI7FKx zf$3$UmuU6670)*nSG%tinvO0{hkno#$~`A{Z(sw&*Jm6=)aG`VGx>4ovyG2n_14U{+1&s#hn&WYCoxA!>rX*;t6KiteT`5_12 z>DsnI^B#Wqf)=(p97OK2_yx_)RTZZB9&Erm_!iw*;8rhbr~r?=>U$#XVG}wujJ&7q zh$%Kxm7_Lu&D6Jbg`UDE!Ik;FD2)Eg7MPs)V0h94$Bl8kF`J4Them)C$}`RV)CG@{ zqtxrC>^EHVOXb7)_VGFRL8krY&=scn8OGQKPa=sc-SCoF#aTS)M|d>k#PhAWrn2Dz zu9ulg;ghzFvT;8YtYTmlo8~3h0buQlJXh$!f_{17d&2F8F~(?@hK>9_XNIS`kKs=j zPB9%}-f4`d*Zh-bzY|}!dJ;9p?fSaivomDIE;v2DC4n!0dd>5mJXrU{2Rkz#I3CIK z#~#YEn=Se-4Vrw}USzSZ%B(!zmIob7TZzZ#Lff0~R40-(*{dhns7E%!w5`Hc4os-8 zXW33O)1IpKXP@Wz&oSz%yzRmV2E$<=58{S0Gd$y97@jo7&`)D$H-?3Sjb51EdSVsP zuYRi^v&4~EYp&B9F=jqA?)C5UynD@ACZaj&@mf>=z;P=jugKP&rSLRz4dVbV<#(p} z(GNWF#QKbnPxuoz4b4VABiAe$stQ`34kW;P7d(qyVan3{XhnV-@cpeUpRT1TnX2A% zZ>=@lx2oP)D~F+xW!jkgkZE8Fzbe`#nCIIjomU=5AA<4PCS>px_&S^WBOZVIdSoZV zlaK}QoW=YpT)v9E@Wz|*z##H_r|!cO?w!;<>n&S6|036J9zdT|&&q2Xl>Ahq3!<^t z)-k=B|Gc_$?B?nWzplv=p7C0Tx}vA*4nRwu2dz`4m$jwB@2A_%w3`iMOQxU0c5@t` z<$?4wa1GDcUcaBYynlPV?oyurF?-+X=yf&nt^X%pkp7A4!JbF0z2U(`~w<&sy&M%z77g&ru7i}*| z_occ9y0&@#gt^l&_UNPsB&#{%ubsj%x;m6E*{?xH8}rtcsGXgX#a|)s8_@T7e+F@4 zU(dT}_evnsi^0w6Pwv&Yu|ZqLX&(zGdOx0b^J6xdPY0RyJba zoRobFuf21~G8+di#%7Gwu73S8cTjfRzwa0v)&1(#)ZH{FJ04ygT1uNi6J-4Hpc|fP zytXE9^PmBi;25)c(3=y$SnXX2%{~WY#*H+ZbnrF|K2LCTMT7 zvYcKMbb9|cb+C22({n~Ybbco~Y0Sb|{b=5zA8ds`cl?uJ{1^S~5&h{$vO*r|zwF}~ z`bfjyLfig#fNwF5Fk`Uu%+0d#%;FBxmT? zpq*uHbHLpK_Yk@eE{@(s09W_Yd9@6^BKWH=BgyG}R|PqpGpK-;=ja2~;CABGlD=F>E8QDd_Af!iOz zrIB~?lP2OQ8zeftdY-J#0)9NjF24+#1ql{d(gY{A>)#(Dsw4|nbC6bHiF&j+~JphSLNg5i#j*^&&p{HpW*pk zPH$BV{f8D+*nxfc)RGy|G0xZo=K|nVeOA5~bvF3(smc0!ZQ}C8Dw}sE@%7rycQe;Z z&$9+fIxjzWe}Y_PIM!!yi)4X5!e}ZvdtcXItYD&6y1|@OWLb&Yb=?1y`)ZS@?c)9gm79&V z`?yEmxZhA~gTqg}`?gx;3=ZhtiPvJ!YoFo1ih1)MWYNZs$!^vo-@_bvEw(047Wz3j`S0U#YLPPS_&6;aFTa5cD+9yH|^M=V!gs_A7FY~C^NtrJ< z1NahtenS1oM)ngUg~3laS(L@HeLrs}u=E_~nV8(WPjLS&@4lJoI)>`tJrIzo(S(Sus#Yb%XHO>wlh`A3 zqm-N2X#QcIOJ1bVm%qn*JfDPlQ1YqugU!@w>B@EsZnU;FtaIj>th}X>tgNNR1n0A^ zQD(B@wfMAK$R`mSbz$eSma05V`7bEJS5Y0T+GPMU>N)XbP)8pH3TENW(Y_pdUxb>JEu&i_+?Z+XhD%$$^O z@A`+@br;J9+hy_{!plwX5dFj&(Vx}D`LRaR>)o58`DgD}mw4sz-1y*(T=GO--5F== z3Qqs{czJrP(ywr;&uHF1)*AX%Om(&l98~tp31$1@9bQ@2ti&qWcPGOvl-^fiFGk>L z7}|L}A@3@D6)QKCiRSt98_J9qqr~3pUrpZDS`$pHicub;j_}jfte%>$vKLt+E5vV3 zzZ*8Ai+)NO^Wy>L)Q8jMF>AD3JW!4&JXh@t^22knFUVioo}_&U^x-whQ^Z-|nx9?m zmXQxT#yEWY0=VMt;FRKKO;Vv0Fj2Q1bi)_R5nH?*D>1n!^IleYG_oWlm-; zi<&^0eFbqhb5ewR>l*HnDM$KG{hy@d-$55zc#Z(a!47`b@2@tFuKl&{X#*c?7o_T_ z{8QZfWAgQ0ZS}kzoODl{Rhknt7Cn1;^gZg<0nA>gB9Lui0D}o)u2JKo;+<(MM5I?`)E$#on zSaf;QUh#M5`1abDPxY;enqc-E<{_@0e9xgy25nxU&AR2Y_pV!hn^!+-X3bYSyRcfn*u#uEtZ#K zS58&=&QZoVwle6=J*Oh3qq82q=9>J@deb|Q^4Ai~3A^#1q4zFxS*Cj*`KO6F>XS`1 ztf?=izo$GJAB1M*=*i(gaajYrS6=pez!pst_^{-eZ)TmM_AP#`_Oz8rV(~j~Et#SE zsyh<6sH`(xAKBNl*Y|Lydk1}wAOrW&b~^sGVtDV}hD`Twc_;a3VZF9xmdRHRFCm;w zzWb3dbji~iurrpJ{=gvmd=!7wn^WQ$zD_Kj<*ifyQOqBvA75_Ht+#X#r-*hPtfkzC zu91gM?m3+2dTTG_(20-g4Dx&&d2T=k;@PGb95?&sUkBclzO3J&~>d5&VFb3()iYiM}`Z z>@qvE+?l-By2|&t;{Pw~B5u&Qw9frW$~y7gy}Hk2xf$?D@7v&?-v1TvyLj&u5@X^! z4>K=DmzCt}eKdISeAVf?-1MrCHpZpr8?XueZ;vk$9K~5GyDde6_uh zchYNFXP6ruIJ+H370O?&cle`1%# z6O+px3R88+VLdEv%$|hgD^Bjn_VKM|Z7pJdc9G!V_YYcu#Brz4*Wc=g4f?%du=-Im zR{yveQ=Z+SzA<+^=w$l1rRRb3%Y}2=zfbSiu%Lg;HoX)5iPLNL^fWNXhWoGZ=AB6K z_1?ad&a3D%(xzmB}J8e$~2YufCz|(21A2ZK*bDP%fw4V1y zz-BEkP!<9=t*M#dXt@Vx88o}lbbJGtvVB^2Lnt@qOfnsZ&g8pV^E>(80{0E_9@v+6 zTxZ*HmBpIebmpvSUi*ct&y3K&_;Uc*>GA+D1y6AU>ygwqWooNF=hB9E$zk$Gnit3I zf|WNybLpYK)>oMP0_}yn@-p)ETDsyTzW|mceWSezntu+{rt2f|Udv27P-X0+eC$!D zx$t+?)7l@o%%UL^&;K#k(`$M?dPzn-`XHxo27;_RTk;8#lGziifl6*p1~QUe>n(SL z_nJ>0$-wtUPKV)X0=e&kuchw05f}9=jzia8aHZSo$ z!TZjf56zp+n$_;BoH2)-Yy!FIIAh$7U){B7ebDRGXq}#)&-qACdp^>RCd=*GagGL`ga*!;@dch-E-7&L(O;PMuK`E$ZS}M6Il6st zIM96@dwRgUeAgyl?jJrY_nLoWyVS^4-rIQ^NBu*0JDXpo?JMw`HGlYCi0=3}DmRN9m*Fog3^NbL zN=@Zic-NeR_Xp^Yc0|304o3S8xG1v3qAB7PTZ9P}H5?&Jslxf8uj)cE%f_c7$|)=6fn za>FHz^+~R(i_Sk!ZsebpmyW%cdD(>KEB4%}_u#H}$}j&tJRpWb=Y1d6-~;>nY^>z# z$c4XmD3H{?yPzW;PfO9SfOkIMlxvN%CY^?nmNCJ36Bv@45$wh9@O2D(7!rTy^tM6A z0(6r(DW@g7zeF@#mg-|Y_@Q5(ex~(O`Z64dm!x$jo!>Pve+?%c$Ea`l-0J%cY*iQ^ zMtPNR4s^gSDPQ!JTvO-i(v5}gr^yv8#s1xj-Xc?F+6Uyxd5+mrO}SU^*&?@|dj6V$ z(>raHd>A>J1o>RS^RD#KFv&3g6(-U7EuPKh{_@nA3ee9|=F}7DD0Uw?Eb#OrZks(` zAOA4jeHI_>p)>xC4YO#Okim)dUKv{?-Qp|Hlc93`$O8! zqg{gyuODrz?eF{HD&m-x7C6SCxB5%mV0tyb7-Z30QQ~$UG1xLQwtGC#qj|dz-9Ldm zYA)%w%>uylQqd_I1qua&F$KY2#`j@WzR0=oA*z3rI@@dghVsLWs zrNDLYdlM$BoOoy>k>!{@lX+izd+^&Ti%p^UQ$v0A7odKW`dt(2hyD5$sk+iv^s8m}W5A-^lgp{V(7o!sBb+(^&){TCfTMUqV@u0b z0kSa!edObLI^wNi`Rf4=csb+ayRq?G%=q|%LtJHd2Jo!~<0{%2| z*GgUmEo8^1nS%C&8GRVv(Tgd?>n8Z*(HL6v;r}$@Cwk9}NzboBGsVyMl_Klpjb!uB z+Fs;W>%hdT8-wVLGuMpie(@at>V&ysgXM>QFjM=b{5eLr>_Kn$9G>Ron>w-g3y6<8 z-n@I$X7ZaYcUQSBKe>HVOQ!RD>zS%!;+yFI4*d@*C#m*qTWi-h0v=5Q1qU7%jhHV- z7!Pd+ALY4=dKUZptJa!hUn8%CpSUq%oCm9e#G+4JPb?TXa0L8gS*BO{`2_Vv%MQEX zK!@!-NIrHfoW;Cl3T_C4&sEfue^-s{wOzQRJch568LuA=I_CKYE1nodp{0DSeIRIs(WI@$AK*R1HUM6 z;`E&W=3>gsGuMwPM|I?a6t6CG#(KbG2X#J)&I;DA9pk3q#pyR>CLJ~8C%=^IjAa75 zUvL=11N8qCIMHsAaM?j!L%#QV`g|G~t+Z>yCw?N&?$Man=UP3p!D&5xwJnc~_LBpz zIyLE-)})1JPA?@3xxNVIKYpvF9Z4}9oj{ojkG(#`q6ln)uZtQg%7%= zHZL-c`@!)x%69PX6`sSVJ~+fareoSW5k7VOkQoLpu+?7^aBH5O-F_SJT202$2J(@H z{v+x?-0$^`P51i!BDgOD=FU`qp_|OH<&v$>SY8|yy2(0r56|IKHx8M-)>P#WLpNol z%04n=UbLplhY#H}Emc-KWL~qT{u^ce?17Xl+zS+28%1NE;<)&C3X^GRiUT5lVIHs2aL56%Ja*&9ty#`4n9gWy+{ zl7R>^ApTXQWT5TLjYAP+09#9$F9U67J~9+R29zhPLI$1z&$ctQLlI)xyFCt zI)E%_T{*~jo;0J6SjdF>ZG%=8I<}j4!+~H@zWOrsN_A}Fhib-AYmg7@K z(WyDe^L5B|RB{i$zR2FLWz=tcwzPeN$w)4P_BH500G)E^NA{yMrH6KSUr9o=roMRj z%oO%%8uQx$@Q>U+D?d8gIuyzC`25=ha(X{?XVZ`NDM`O}pkGb!=hyh~!yb<&9gSdn zn8T;a&b-7vfNI)R>56ad$-ODPHvvw%7ku@b#k<2fX7@-SvrPSukfT<=dVh-X)}ZID zDLt=2&zq1F#x?Z;@Yw(!Pdq!P{fmrodrHrn7+)!LiDF~+(@&GJll$p2BhTuILxTh~ z=mTzRipNbUJ#S6%xCT9MO6hrPipMplJ~Gsl((~4op4XhJ9coJH`ThxdEJ>MP7wF7pcHy7p-8_Bj1qrUdO!1VTl%ZLx3zJ6@8UC^#Mv;n*aToc1mE7WOAZ)Q;?YXExG+2#YBbNcV6!89TR`lvsg-^i zM>5R!mf=7_yY*Ews=j~2_YL71FN8WIkp5Djv=3V z#uo-oLGq8kF?hm@Dbzl+*6ImErx>#HI(R9Lw9wb5$Z;#Cv+$Jy*p+q2Vyl^cRCJ4) z>bIg-v~7)s&GYqPaKOi{{|9sIgY>ID>t8g-F2HW+o#4L;oY+46l)LR7*>B;aSfT*F z=-Pn4Yq*zxk)}&}t`&WVC&1r~ZI2qyo}ZmlQ{Q1tlTI<0ouuA&{Ncza$T^nAw^lu7 zj+GN99_os3jU!LSOmEMImdeW-@?(mDGI^es^}^OY>k79Wgtm9UpZn}-2Zrrw?c?05 z?lAF&MV&~za9f*g9q6;Iqc&q*$$Q~_K0X?UL;a=D&D>MCEly7JzD)Bxxq=%$YNoYo zZ^$0o+=~r)K7rr5+r}?u{&b-AeVgvv`VeLENu&>!uH+5*PcDsz zMo+-EVe&ZFgHr?Y;mh}QPrm;`@?cMImuze9x2W&cp?$fTp1cFt6||GgD7RewxOB#} zJC8b^51U1M=V8ib8n;I8Ui-qPYSw4)727q|bG$pZ#;V-2a#K54-;0sACr;h1HAK!t zYW@wnA0uYvd)%bCz0y5KoDPiq3$Ps#<_jB|M%LcFIlz^D_(wGd^1imo_T!s$Y!hVv zax@Pgns|MEJdk_?+>g*_qxPZRa;+=dla6P6d9wL-Ea1HtUeQ-8-AZsnHpcor|302i ze%Xtm(tRW@kN1MV=ZC-L!F#+%c%@^)6Y2g=Rl1j^#tC1%90KjIt;9qV;>0lH)I6%# z@*Uw^_CB}p{|h+F-sjr?4LHbIZ`Z$VukErPT@`_ztUs)5fbSOTh2As!Brm|$m|}ly zp(W(&*vBw@Rowg5BwETGf98JjS@uecc4m&&p0r1bIt6|m)%WBjbqx@wX`OM73FK6n z;7Y|OUo>_ObM{KvHRk4C@wSh5S$YN+J#Tlwg+5BDtN!M4AEZCMtEX-^@)AMEBF=1d z-a1c4`+9y0&yJ$kui`t2kB7lAYMI`3@Cy611=-y5F4k$o$m1mF;()Ki`^>5MQuHyx zoGm$i)n7Mz&cyz7&!_w+`Cg^K91i5jkK7VFJ-!>+sMNdg`1rzoChLZgKvtRFYppYO zYJB%oFSe0S ziZQlyE{iz7tRDYQYk*zkztkslYx4->(7s3IPX9aYzo+)(IL>eX@6h)5&{(wX1CLH} z?8F=Ftu(#ABOhkSrGJ&)Bbb$M)bON_{X8W%6*aVV*OxBQuEwn zzzefB;MqR(;m61(zK}<=iTf}N`1p3=oDE%o414Pg>?84W{3baEot7V<@@jA21i3}Z zuv^E1sc-+dKN{N<-+F#7Ms@hEVykb*&h?|1R(qwqy%^;Al+!L3Kj7^!_=+D7VY{W* zz+ito>z5D4$r<{2;a8#h&%-dE%SNzh^D9?vrsa>0fbsMVK75$}RR% zDnI%p?~t!OdPg3sS+S95FgDxq^KPj)KONuy@!TUC`)f6tr&;$XV~w~&-{xqIGri6{ zalK}bC!go|B)*GI< z`afxR-dM>&dh1)z>gT{9FItWxusfc@QT{?K+nwxn3 zvP+`l=Th>w7rByuAX!i@=VTzry1AV!Zgn;jn|iYI5Pg3P*e8Hl2z{o}H|w78P5Lt3 zI}60i4Y3EH4V+Zw&6~8>TH{;5{xxebAv5i$@}2&A%|*y(NpiO2itmJ_cWIua^F`_W z|7LV<7<#4q`*sR1>?(Zn_d{v_iFE~jKi>j}^R{nIuce$XhZ?(N@lAXo$)V)22i#r; z=Rc80WLh{$Mtb&f}`<8R9@HL!<8vKcwGh&>l}*++ooAcOjj+Se;nCb^c(1fg9T z-XQQKYZGPu{1^bcZ2MXZU(lko-RKB05aV z`vzy$u>Z_1xIsEE`<`Gg0y2y~`u1Tq_zIq25f?0IwWlB52dp<}XTxXqJGu$psgDG6 zXXsVajIF(k`KE5bo(9}$N$H{bEAaX&ENh}XZGZOjPVfzL6Fg=d=j=uLe1MLW%{;3+ zsa&JRulT1L9EnAkTfDOlJUP)E=-Y_Co|yJoh2QV3P3>TBSt1b6|LZpupPb9-OU6AL z0?)*E(ZH~$l{HFl-@tulb-B0Sg1PK^`jb4K&l}_e|Cuuk*vDwYyE)4nE0!%Ut%$M@ zdM7@O_}9d}=HFMSD<5~~@}`PXe(Q{VgEP||xo>Z}(;tlYttD#L3{Wz(9G(OqHV3u=y0NJ=?rn6}_J|g32?nDl*Bmbwd zKJeNXhFVSL(Q3*T6DLJ;GY%*xq<6|aMJN~EJHx@`F~M6td$cKxACVe^e6Y6Vvnxa& z#pBE~M;y7 zbQC}OD0(d#@tuFz z?2_v5eEGiN_nv)Cet_#R@@;YEMa$iM6PMk;m2MCCw!-)I&bDPg>$RzNm0YbQ_YA7- z2z#^BZQpS|O3D9wX@fo{+03=2bM`N-OVgg) zG&rpwah$!-M{g&7m)@`kcMGt*{dQ_EJxb5B>AhQiOiFG89|+oQlphohU+G5XTtC*y zdV=EpPS*Y{)|zCqH8*tzGJE!6qaMa5`W$iYo|2HaZ@B`VUG!1b(C`)eSF}`U|H9!F zu?pdGid;@SoBYeAe*VOoJ+!sTT=ZMXd3>^Qw`QBl7VSwUzashc@SU(`aeB?uUcTtz z8urq_L(xv_26JaF9xA%ZDtGYBiFDJ>Vjc&N9rRVRHZY@U?WCo*Wo5j(@t({XQR?!(QZi|?e~SH5MV-Kl z0Pm8H%o+FdJ|owAztAR!pm9airjYzdo~cxB_;*7a2eV$-ICz;!9G}bY0OR^LzS>rK)ZjjA#2+R`0senlA-Tkym+YV3%N_5v;sNz6RUpjLX&_0 zf}9yU*G`)8HSk!RYv$vMli0?^|^ei=Dmq~871+Yt=p>`c?FKUA@7 zZ8mh7v~(TxJWH47LKQXCZ=$}&FIsst7!FkgUJF$m1V``H|-hug?Sw%x94V+SLcjA zJQA=D{2{~K{0Q>*_t@^2qQw5>tW_47%z7vL(i1zZ$}lw4KGg{OxH1x3foH9F*~++~ z0l7O2Zkpc$d~<-kZNBb8Q-`f?ZcA)0!S3ALvM<6qigm*yz?ZH?q5bD=Uv~c$UtML) z4RscMHBjDwObd@r@KDa~D|*NN`eNpZ)tR(ICtk3^i!A!vZac>Vv=a_ZoZ%omghNL5 zJL8}}?gyt3w(x7Lvsm0~?o{4k2Yb%iE*LGxA7~al1O6IQY+txtbC}@XMjMSy>wz11 zFP$^}bJ{1a6`o#mz|%YS;MI1)zYddEE_!|*8sq=*TrnBYIXwzNLMRnRM?4=CjD0{aeA!eF8fl1n-^5 z4e|G$4q(1i1|Nv+e&Ds6k*vhN88hRCuko%5pH{q>jXrBWb}5tJqV?|c-+hO&H1EVC z*&S~k4H)8`=A-L?BRqihyxyG;V;5!VJhAMe_Hp_CyPqe19l2%CYgr>X-WF_R%bORw zZSY0@r}DkTLHx{>D&+vJFM>ulqdwNrN1 zKBn@|vQ_e@WfS}G9Yu>S#wNc}x$h8p^L3Op;zMe@HsdplPyV#tseWKW+37Xs_Jm3w zwa-WTshH&LmW-a6#zIc)o{*V&RD0E1$jROQ38zQ$Jsb!pXR_xbLHS+q{taS}TLV|S zKiJQHnt)RoC(cN)ztxbB?XzckefNQD0=%}fHY8lOp9obX?BW|bSp*Ap=({;nHyzoE zOmZq&*Kn)8i?5ANJwtg_oOl}@srssaE$ufqNAU;h=a}ZX)WPqmU5u@?j8i%B-H)U* zlvV8|j?eSfhAS_ECe^f;KT$>dXIP8G7xBIa7Vg%Bcb^8fS9XQv*9Xq>$;t`dGiaNx zQ(ilQ*Vyf9kR`QWTNnpJ#)VHYd?To9I|K4SFY)heerzxw}l;KH0=hwnMtu&40#@$w^qzzu?pe_qsB>a8Jr zd8qZNy2x(X?bMgQIkNAnc0J2Cg?IT|xNb1^j7n&@fj+fHS)c0jBIe(v^w|a+bgS$H z{Vo8`GWIv(8pP(;YHD>sn|5fhA?|Zo#p2-RF⪻n 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Π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 WoxVxBtH-jHo%&@Nj diff --git a/embedian/smarc-imx8mm/imx-mkimage/COPYING b/embedian/smarc-imx8mm/imx-mkimage/COPYING new file mode 100644 index 0000000..623b625 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/embedian/smarc-imx8mm/imx-mkimage/Makefile b/embedian/smarc-imx8mm/imx-mkimage/Makefile new file mode 100644 index 0000000..ccf42e8 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/Makefile @@ -0,0 +1,67 @@ + +MKIMG = $(PWD)/mkimage_imx8 +CC = gcc +CFLAGS ?= -g -O2 -Wall -std=c99 -static +INCLUDE += $(CURR_DIR)/src + +SRCS = src/imx8qm.c src/imx8qx.c src/imx8qxb0.c src/mkimage_imx8.c + +ifneq ($(findstring iMX8M,$(SOC)),) +SOC_DIR = iMX8M +endif +SOC_DIR ?= $(SOC) + +vpath $(INCLUDE) + +.PHONY: clean all bin + +.DEFAULT: + @$(MAKE) -s --no-print-directory bin + @$(MAKE) --no-print-directory -C $(SOC_DIR) -f soc.mak $@ + +#print out usage as the default target +all: $(MKIMG) help + +clean: + @rm -f $(MKIMG) + @rm -f src/build_info.h + @$(MAKE) --no-print-directory -C iMX8QM -f soc.mak clean + @$(MAKE) --no-print-directory -C iMX8QX -f soc.mak clean + @$(MAKE) --no-print-directory -C iMX8M -f soc.mak clean + @$(MAKE) --no-print-directory -C iMX8dv -f soc.mak clean + +$(MKIMG): src/build_info.h $(SRCS) + @echo "Compiling mkimage_imx8" + $(CC) $(CFLAGS) $(SRCS) -o $(MKIMG) -I src + +bin: $(MKIMG) + +src/build_info.h: + @echo -n '#define MKIMAGE_COMMIT 0x' > src/build_info.h + @git rev-parse --short=8 HEAD >> src/build_info.h + @echo '' >> src/build_info.h + +help: + @echo $(CURR_DIR) + @echo "usage ${MAKE} SOC= [TARGET]" + @echo "i.e. ${MAKE} SOC=iMX8QX flash_dcd" + @echo "Common Targets:" + @echo + @echo "Parts with SCU" + @echo " flash_scfw - Only boot SCU" + @echo " flash_dcd - SCU + AP cluster with DCDs" + @echo " flash - SCU + AP (no DCD)" + @echo " flash_flexspi - SCU + AP (FlexSPI device) " + @echo " flash_cm4_0 - SCU + M4_0 w/ DCDs " + @echo " flash_all - SCU + AP + M4 + SCD + CSF(AP & SCU) w/ DCDs" + @echo "" + @echo "Parts w/o SCU" + @echo " flash_ddr3l_val - DisaplayPort FW + u-boot spl" + @echo " flash_ddr3l_val_no_hdmi - u-boot spl" + @echo " flash_hdmi_spl_uboot - HDMI FW + u-boot spl" + @echo " flash_dp_spl_uboot - DisaplayPort FW + u-boot spl" + @echo " flash_spl_uboot - u-boot spl" + @echo + @echo "Typical flash cmd: dd if=iMX8QM/flash.bin of=/dev/ bs=1k seek=33" + @echo + diff --git a/embedian/smarc-imx8mm/imx-mkimage/README b/embedian/smarc-imx8mm/imx-mkimage/README new file mode 100644 index 0000000..aba2e44 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/README @@ -0,0 +1,68 @@ +OPTIONS: + + -soc [soc] + Specifies the SOC to build the image for. + This option is mandatory. + + -rev [revision] + Specifies the SOC's revision to build the image for. + Valid values for revision are A0 and B0. + For now, only socs QX and QM have B0 revisions. + When not specified, default revision is A0. + + -commit + Prints the commit used to build the mkimage. + + -dev [device] [page_size] + Specifies the boot device. + The valid device values are: flexspi, sd and nand. + The page size argument is available only for B0 revisions when device is 'nand'. + The valid page size values are: 4K, 8K or 16K. + + -append [filename] + Specifies the container blob file to be appended as is. + + -out [filename] + Specifies the output file for the generated and appened containers. + + -c, --container + Create new container to be appended. + + -flags [value] + Specifies flags for the new container. + The value needs to be a 32bit value in hex. + + -dcd [filename] + Specifies the DCD image to be appended to the new container. + Not applicable for socs QX and QM revision B0. + + -scfw [filename] + Specifies the SCFW image to be appended to the new container. + + -scd [filename] + Specifies the SCD image to be appended to the new container. + Applicable only for non B0 revisions. + + -csf [filename] + Specifies the CSF image to be appended to the new container. + Applicable only for non B0 revisions. + + -ap [filename] [core] [address] + Specifies the AP image to be appended to the new container. + Valid core values for this image are 'a35', 'a53' and 'a72'. + The address represents the start address and needs to be a 32bit value in hex. + + -m4 [filename] [core] [address] + Specifies the M4 image to be appended to the new container. + Valid core values for this image are 0 and 1. + The address represents the start address and needs to be a 32bit value in hex. + + -data [filename] [address] + Specifies a data image to be appended to the new container, usually a rootfs image or a kernel image. + The address represents the load address and needs to be a 32bit value in hex. + + -fileoff [offset] + Specifies a position to set the file offset of the following image to. + The offset must be greater than file offset at the time and aligned to + sector size. + This is only aplicable for QX/QM revision B0 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/README b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/README new file mode 100644 index 0000000..f44408c --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/README @@ -0,0 +1,30 @@ +Build Guide + +imx-mkimage is used to combine input images and generate final boot image with appropriate IVT set. +Before building the boot image, need to prepare the input images first: + +1. DDR PHY firmware images (Mandatory, used for all targets) + Files: lpddr4_pmu_train_imem.bin and lpddr4_pmu_train_dmem.bin + Git: ssh://git@sw-stash.freescale.net/imx/linux-firmware-imx.git + Directory: firmware/ddr/synopsys + +2. u-boot and SPL images (Mandatory, used for all targets) + Files: u-boot.bin and u-boot-spl.bin + Git: ssh://git@sw-stash.freescale.net/imx/uboot-imx.git + Directory: ./u-boot.bin and spl/u-boot-spl.bin + Build command: make imx8mq_evk_defconfig; make + +3. ATF image (Mandatory, used for all targets) + File: bl31.bin + Git: ssh://git@sw-stash.freescale.net/imx/arm-trusted-firmware.git + Directory: build/imx8mq/release + Build command: make PLAT=imx8mq + +4. HDMI firmware image (flash_hdmi_spl_uboot and flash_hdmi_spl_uboot_tee) + File: hdmi_imx8m.bin + Git: ssh://git@sw-stash.freescale.net/imx/linux-firmware-imx.git + Directory: firmware/hdmi/cadence + +5. Optee image (flash_hdmi_spl_uboot_tee and flash_spl_uboot_tee) + File: tee.bin + Git: ssh://git@sw-stash.freescale.net/imx/imx-optee-os.git diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/bl31.bin b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/bl31.bin new file mode 100755 index 0000000000000000000000000000000000000000..66db64c7dc945b8f0b8d027e8e1c7058c15c93a0 GIT binary patch literal 37232 zcmeIbdw3kxl`p!gs`apBu+)+*AsctKWWaO?G4ewaIH+2Z!GHs%r6fMUiCUHge#H;T z5E(nDTXujT<_v8s!+gMZ)v|e5O3oPv?8M4sVj0MTkW5S~^5o3qgqF-Jm?VBca1)H~ z@3*T;Y8yy6=X`T>|44r>SJi&3wf5R;t-bczdzU0Lnur%ac~bIb4!>M&48K+)-ImBc z5#JHB+LI@PcKYCS=?-e03CX*9SVZf0%kM?HTpLM9{!FAllrSZJ(kz%cJXUAmJ(94H z{yo49i_9O!y<>)SAHjXlkYyvd{30**BF%k2j^~4x4F3b*7NY)CT+?tB;Yu2X{UgTI z{!wFE|52l;KPJ-s2V5(>sK42hH?rL`hwzBQdNm`@|IMsCzHh<%H8Z48_T-Y3EIxKG^3me`ct6exoOf}23pQ+`9WXC;8P)y zjNCJZ#7^Z(%4f>PQ$}Y08y;!6NaXkvdp{kEFAi6>h~&lZH@ny;5s8GvI?y_MGWfpL z+8Nd*l{5FZM0Om-{mhnweI{s>Uw%49`o}H+Jt%u-%OOR>h%Wot zMpb6;GF9f_6iM}FL_#xXN;mqx-_&GZsmH1kkHi`u(>7|FG>n2z{%ncGnk?t{&V5IhO(5 z`{YT}BLi>yBB5$a2CD0DEylG3*HRf6$$e6lW0{Z4FZc`jw@&0sHst@-Cr>s3zYn;5 zfa%M|H5pf)3`DkWO9<%Ekk@2ILcD8wB%vW~E}rM2>|B(KTH93GJmyQp8^k>bSR>n{ zyg;SNfW>|dSHv{Wo`mL+l;)`%uAba}va~%C8p-N;#Efl*nA-`z6@NES27UkcW*Ck%mDLbS>l=vTZs2IQ}dPVoGnU&X6@F-pXfQ5iOE1(O=Y~q+tfYORq}z z+UXkgtN(#ewaDsZR!@n7vEjn{&hsOo(yS+2bSVEk{w;Xg3A92-)KW91HfHcTcxz6XA zkpyY3MOv8{0k)CP)ncrseNbiFeO{J@4ORSPnqTz5xitR=Xs(_itx@nI2$%+FXa)_X zC?7GTf&3wj59-q3QEhm>glVOK#q`UNE_sqK$ZH18&7j#tTU>bHdB6l6VZcLQmWT07 z-h05a?Wm*d{A|gm{daNwEDaa=1zb69-jXzY>3D2e(Q_0ohj)|}KltFb*~R%L?KW`! z0e8=|NMc)2B#~uC6Lo0+wd5S}q5&{T17(0TY;T|HZEi30 z)}+zkNBb6Itcjzabq(@^ex?13qhCd~mG~#i&CsU+(`(xEy}Ab3^H0d0K=v%ar_7UP z3p7f5iT4fYzNXXe?`?&DrplOr`2_hcGs-z`(%#a>(6;ozRtxZJfIWJqCnRfUc-a=H zez^eW=-5BCnuLvXw#}6-l?K@mnO@Fxcf9Y!SVQ=v$r$TVID)9Zd+e!J_NiZtoU%N< zyeThQ5=6bDAB;WBbQAo2&3PU~8&rE_N;%u;!v2+$ABCQ2)M4PT>ChAne?;4&z^_YR zXd=(n0rms)#?!-^Y7f&%FL^QOz(15J4P~&I&GMO;2L3*u`DDmk*?hpCC$Z|doDlIS zTSmRE0Z-Y_8fbbp^T~vmogpLsKuEQ@KaTcFfb9$xQkL*si09eP^K3jXwJ0+I3x0yc zBcb35CvOGvHaX9m@Vwo5-i|(iJwAkSfOet=a!?BRon|Bf{3nSQJhpM>Ij}K4dqfKV zo6GCeScA(`x9!pYleV`{S9UI~?cSq}-%xF@{ro|;JtwX0IcaUr2~M;<$7#FQX?sp^ zqU|}siMHniKiu}5k7&D%({6i?<+S~#k7)brh6LR92i^8V4k056C0Cn@l#H0gkbjS_ z+$^RomBX_4nt>$dG1RNyp&of#;llsG<}KQNJZWSF{DYOThq7%ypE5@O{uJP7brPa_%>bWO~+^IGGEgCT;N|opZ1;er90i9eIM`C?H@aIeNE6Nkw)6PaE3J0ie66JUkZ5N!Z_;LAo(@s^ChE3X#jGUqjY5O@)&G) zViA0=C*XH=LKc_*DtrJmBx;~1b-=S7c>ErjXNadOb7jkc=E3m5b5a&~&CmlFzhX5Q z!+e&Ucn)8aiLwu6f7lL>-q->c+nzpXF%x z4EVX6vn+@21)H;xx&j;5!1I4HT8`UR=s3#Sw(9IM(X=uXyg9p!mOD{5 zI?lhd%S6-4jLTp91zy)@7(Lw+q8yI;_Oyy4i;)W>i4oXzj%^xfk4n_0F)w1b#R859 zu0dR)4M?dy4mNc?81j4Kt*jHlc**)B7>gB*beoLvM8~`kem=%7+iq(p?|1Dy`aRDH*#cNyhdUiCz?y-=8kOm(z^C2_!E-Jz$sd;M*9lfqhxJIf3 z_&G;>=hm9OGh3chafFVG?Y7DH?oTu!UjUzd5W#%Px()I)wk^bWfV1B*@8Elr#6ue9 zyh-YxWmPr3KQ=E~9Z49FA-16uw7X-do{e^3PDY+oi@tggV>)?y=soZhX@2;A3McBb ze@79!VEV||>kI7sB9(6;Ejjk`f}a4VC1ws~ESw`Z(?(s2v6pRr6>SeX?S2I^8TW|d ziktf{IpAb|{^$DC)ZK*k6>{ zPS60KJJh=sGAmkF9c0v&btBgRoMzxP((u}8o&eK==g9MeXs>|B^4^$gLlU-?@V5a^ z#NpYlY~#^Pzzu@`hcLe)KZD?Vx?X_qMQ(XTKm2Ewv)lQ4g`GA{rLiw3+Vpb8E2vxl zyRmsM;7&OXg4fjjnynf2h9>jML}JbD%MXOnFMd3m?WG*6LbUa69)0T++k)|e>Ai@9 z!Vfq+c(f9&Ii~(F02UhsRM$xCe!B90-MP>Jktr=E&m$iuDV!GEQari z`^IeC>6?rgMt>6Wan$grxCr$4a83L(v6{uVSFS)ju=D=XE(`HMeO5H#flXKhxTAnI z0@<|CuDDdgzqMm=;*Y{NXMBP3$!Xy`HJ;4V`nCKDG&9in1OCB9WoY*S5_<=LfmSjk`wq-q!&D_ zGCfk&@iU|s^_2LahjG~1h?~bd@&$MD&vg2z2Qh2OXH5E@rx}B047%YCDh+Uge9o3CrfV5bCUzmNWQw&}W`I6>4BBjguf2$SNQSaGoAFH9+bpoTg7MWq z88IgGDbm1K+t*|4$@TXN0E;$!|DVPl=KTonq~G<$h}-o;1+gCX(c3Ei^8+<6q0jh? zR1PDpJ3LdoZoPl{6X$YH8H{mnqt96m{ZrM3a)LP|ZO%{NW4?;Iq>1=<0>2;l`JBXa zG!u3a@glz8@;+jBIVu*b>S7#dxEp0SM+;)Cx*PO?=b?L1?rB`Cb24)1Oqn-3q+o@}Q*9=knzY&{IMIQTW-y$Lk@9Pc+du%n=L z8E92>Auob9LXPHjpbX11-G}Fhj*gk05YSoeTTj-kGLAMZakFVOnC3dvtNEQ6nkg%Q&~S58!(Rj%T9 zBR$sBqrP}z#1}s~>KlaoX%9eO-emmTT)21${=D*w&1}gn{l~hyp?|k1`W&690Y4*X zEABDGdAiC9t;!COHQ_mt5{!Sxr~^$H16jwafm}_l8R9c_R?AK%#FI=w79L@m+m7#H zeE>8k9vNd=l}+M_A9? zV2rP4!~vInG-yuHK8JCC7k3NycW@u+f$xW|->D9!6s z@Ql2@3IB%LRFkFkBPQ1$G-nRG^l5nRxyn$sL*x1u))MIVn`nb*^hq_$SDbY)v^kFS z_ked4*O@KfQ@TnY^Bn`@#~M#x3U+(>WFz<8W~1-m`Lgj{Pb4&|>o=5zG4P9_c^5+g#h1T2t5er?y4V%O5FUssMPek{MmM zXUR*Al6h<;e2vd%$-Gx!KQbU2+p?|HbHI0>$4b2{S;v68p;@xVaZ^ve277%!<_A8l za7_~Ut5L2DG`$SkxNg;rJirQV2aSv~0;gIp%J9hi0dtrt2>*2S3{M;{KXVwW%7p>**RP=-*jr^w;CwnIo+uz{N7#EX*(4S;pu`y?z9u z3JuI1dURuT1ZA30rWyHdy3yYVKU+f^+A`ap?#PsH`$7M6x;3zT>!u;_GrvYky3pQ% zdXM$=?o7%5JNV*r4M~j{)BCH+B=!{O*MpJ7Yj!)7>`~@NGiBeIE#L3MIK0=LXY5Q) zk5LBL=Pj95s#-FRy#Ri+)%R_H`|oH6?=F2!e;QNtHGV)WbdCr>}y z_D4mt4*I1(g&4zW#5CT+ox0?kA{)(i!=?><=X^xlWTdcG8{nEP*KSF-fEVT9HJ>S~ z0{SVh5!gMIkM`0A+P2lE-v>Cq2YsC5xjf&5`i!YW9;t)9v{LUB&~8>A0d0XO(#-7O zr5bEqTc$p}EoZQ#4SnpEWx2R6H+1N-W+mFLcvir*Mtk1D_L%?ZNs%9B@~Yt^d^tX| z&pVT|Vg~%n=7$!>wms%aSsv|D`f7|ZySD$S)Y!xD#R9VU{?JkALlSnR26H0F-A2HM zk9TMf$G}K-=br--=-?=3jZwkhwB^fVk7sN>`dH?Wmyz zsJ|}Wli(|SN5r=d?V$~>!TJa09f73b>1VwE-13m^50%%YG>7HsQ^T*1`8VCO11@LG zr6WDfrNhXx=bmL){|}mnN<4_0M(O9TEK_tE@o0kdq~~*u=g;M**JoYA)lK4otzTKH z;BJpZ;fML^XCbYb?e&Pa8Rarot~kK*yQK{Nz5zV5RCx{YSbeF)M&xt_pBeMf5Sz8& z=O)LBD#&L$9dmugY>_@PHdeuL#;xl|tS7C`0@iWmlDhIo^at%Y#slcM-oF#};2T)$ zZu(7lDEvYDkQtHwxL$qam$#UwyF0B|!Pq4WT%C30FZ`v&LtMXi;SydU#*qTdpD5?l zzc%mmdgyb0k6y5*8Mcl2e10zNxeR)Eu56DOg@{W;yh-R|H|n3(v5x|{m_GWPR<6>$ zlAnqBJ8igA9=;RG*GRqx>Gc0;16^ID4{F;9*tF@ATCljZtEkwDVgE*`L!Wkx_8avB z?@qVI?UQSpnsjTkf0lTwx5~!f!tdlhk9R;*82%{pe4d%DOk){8^7rdA%WELF%aPA? zmZ>SM8)E*SP;WVG{CIlZ^(y^1(&O-vSypbdcCc*etgjAPD=SX3?5oIc^GXa(T2TdH z@7JZA`yaG9Tvv#A{g5wxrT>7Y>nQOYXH`v8YBlY{z*MfYXUF#204t0#fRiF_|Aq^_8s>#I9b*@Hq z77qK7*ZabZVLyD+-k%jKA6(iy#^>!xA7ba%6b~OlUXrk+_wj6)A4jK z@(%s1a@Y?TtTV!N=;8>{85}FnF#?QTF?JgKc1F7Ka@rO&t+K?&qvdqcVq3qEz^uSotO_M;1}FX9*+7R+)=P(ZkJCAj`boh zy{~CMM$rG%eJED z^K0J#ZNCfWg^wz;%p7<=t;`SIGLQl4Z!hH5{G~bYgS0Y(ZW;I_{;i&R|K3@Oo&#xR z7^C`7yY^f(@N`<4XU>76Xr6WPz_(CFlfoAb^e18lU1B1(vD$z7za#z6^*`siVf3|N z44~}rnewI5Fb1TjZGxPz@4Dg3(HDDJFI=;GToww~G>^+d;hM5>Stwj{H0^meWPyDi zMgIYI*HQGjw#46s{aVLH#^nU{$K?d|)1G%jF5;tKQgZIndaj%d0yg_kARCmCc#d@G zuY5`A#Y*rm0iKMPL4O@Vzr{g|{>!i`(}prXOD}`|I)Z)^^x3Yv!^&2yLzy3)RVEGB zo)!h?AY*E0m9gO{dS>0O%D`TAe-CAJ%%>42=-Rb<`DuN-oc{h<^=#Mz8Fuksg?iul zh%yTHuNxKY3Y6LVab=d-ZJmoU{U~G4*YuB=!+Aa;E&C(VCZC-KzNXK^DDxt7V*a)1 zb3~?L-TkaI&LwR+-1(YKn@z{rX*L~ar`dFjr#WC`z5qXbfc%029d9nZC{|i1UiO0@Ygo&#pES_qfgiO1z7N{Y zvi{2!4>chkWGuA?I#%YWH5jA8em;6%Pe~hK%txFbwt3_3kf$n)_#XGvHe#MQqSn2% z)v)0W^H9c;NTMfCx_5`_s_1`U=bYltcQIFu;5q56FGfl<(0H~_Zh&8$lQmisaFd7+ z6XpYeNqDY|khhFG{0QqEs*e|6H{b(3LGWgD@c62Te{*Qa{v6Qa(!V;12sUim8a8%0_@RfGZEe&}NCTk(hI#!x3Q z3uQ8&?`?&Dw8o;WVPEq$#LPM*WAz}~U)CNza39{EE3D0J-f+**9gq>hx(W8&pJ)O< zU3xzc+Iu@Mijn4enTtKK=ySvt4}mrdcs>oDvwfy{QOpniGA`gpKhFhEK+|EwM+0R` z>#Ca2uhr<^a9aO{(Z4;Q|KM_)4?So*=Q7Wsf2+|qe&FEP`~|G_QO`83JCRJrLmJkh zbt@h+L30#CG~Y|{Y;K1ip4Xk=UJ5_*HKavkr+U{+`g0`1@$CZB(UXU3=WCfJz4Cqp`PEeQTXhZKKh2mJO9 z+x}1wX@kgr$Z#w9FWgf#6>~S_b)qj=U(s<#BxIo+)^~Dz4`y$q98s5Lg{{vluP3*K zj90dC@B0AZl7D5+y|coGMOsG2vKIIuON1M__o;+lh&>kDZCYxOuhOyhGrord>q|`2 zRNbfS_yG2cF-@d1fw)76`v|n;w_8+5#qY2NNjy4m5SPw8;CFEoXOQW@$vi%5`L;ZbqA$slDCCLqwH$q^ z-mzzl_(!pCjPE+;@e_Mgrk4}OA@a*2lx88?TV(uO@2GXHbug=eE41d#h*$*KUKd7`yB8I=ZnD0{)^rK+|dbH z0!{Oo&id?k!gT8?IPl?JxpL)!@K|1zMO%o2&rwId?6zhtkTm%;K#PHLrA|G~DO-(t z%W;vHok(+afO4nh+c?l}H4Z60Ws6z^Rx<5D+zRWj)6^`tAv260@oV}vlH%L36=yJ{s3{tkC?}SO6CtT)J@1xLDllkaN zg$HutKBvpKFWWkK2=aC-d|%oKyNrdgdBQ$u^Xb(2jE) zil%eqG>UhZZpv{wA0%DRp?fZ`1bR(+NXJLY`6ZzL65zyvkGS(ZsL6cbe@NQr#l8U_ zi#8)&*4?!!%8kHxjzfmlr^y)CKRrey;Q`)lXd`vdz#c%HA*rWL3z{0^sfYnOyux!B z<)CZjOt;4;dp`yJM$AtFc6?0_aP66UE4W8u`7D_qnU1zX*4ReI|7Hv}9+-}+M8UHL z9_z@f-%>5!TX2_!;w4|O2Vi3%d_RGHRH2+6kA^C7ufSYj0WPdphr0D>iQ6ZIQW)rj z|5*hX?DJy4J94#n-@OMgopUjf%1EM@`T_Xlbr`aA5OdH`V@80shVPt{jvCVgLFfIu zcyGeWdl z_?{*s6(47ZIgXtxKjQ4Kx}W}!2eRzgV%qwnSifZ3#nBg2!p^e^o!#I(&l%7d|3!IK z7X1l1LO#l>XQ!-so--hjd8I3W>jzv{Km3qoKWM?8%Z-W_=6j|qJqeQrPqEi09_6Re zPUskuh?8{MctzpW?0$ov;P9SjqfF=>&zPBmz5{Gma_o|dgV436TWIWl@yeb`ynKZH1_OAF_Tq*LuZ zX@@?i?UiC#>cF`$sZZ(cclT5^LRJr9-WZvVc3!ys6WgO-BPJ7>elP0W`-$uP0(BH$ zF(+bMw!_|PbM8%a;(jm({8s7rCLUMmk;JZZ(!n#eo(=m{lmUB@0U3K7e0T-&<-z$@ z+U@Olf8NMmz%vS5OV02Fhdkn|zj&)wza8fpL}q#~!Wq&Z%Z1(u_LV#?GrT{M={O&m z6?jTYyg!l)yst}k;0Y;KX-`OI;Nq>is(TS)EKf)Q%1re#o$y{A> zpkr*HK8NQ>z(QZ7j}@+svp^&53iEAw8=KFuBLMll0dwiMum-xO_o7&%CTp$(Pwa8U zUW=Xt+t##s72?g40!NJ;?t=*Z3*`IK4D6}9P)_(ESJ!7qexo*dO&{j>Zv2nF6a7%f z-i)s$S5sb~=eE4q<2?48sQHcSTXPL{7skq67&mJ&vlpm4_MOlVcYTtA+luR#>(lXl z0msLO9UvdLeg@bNr5U9pf13!t%iv52KD93$*t~sWxCA%r78I+y??aY_y84 zyVZPBt(Qu`iB|^V=X0N+Y^=++?mmTBSKHmbdfH3sud*j-Cv7=xCfn@WfOAo*k8$=6 zX|CSdY3|svRLOuTc^^6UxV*RPIO785EtV}iIq_=vKh^MmF+Mc0&mlM0LuM|8JRI}& zgsQQ>@lwn`&PxAr5BAqgTC)e~^d+z^a5f)5YK$NsU0mQJaj|Z6GU_76Xw#Rk+DRMF z_2drdvW0wm{kAZ`wfeJo0Gma=m;xTC=W}@A_526bk7&Bt}rhu=E~b3jL~ zZCh^Ja3xC)-IS$?_~P?w-^X0k{d@F%FavYH?Bdoz=-E-|6!pn3xrl#7La$>k4ZX_e zdRcHP%awenTpZ>8ms73}<;d?Y#G!wS*f#s)t?K^=eUZC{HkP_gy{4X5YdLGox5pZq zfZx?);`CSgye|MAb(s6;f|H21=p4M0b1alS=-}m^5%OFEyzxG1&+|T-Mvp5Sq@@?M zxVDCL44woXtF9ZTLr4eCt3Q=ahoaNwkD?RfQjde5vFh=;neuzFZxDR~KOjK;U~G%_ zh5F&@#<*@e^J(hRhy5W(e+J`@Ka@40(~jInU=N8ys25l_8HYO=GKxNh92}SL&x^(I zy_vIY#>dIJV}EEfDC=BT_%_JZbe%QX^z;?uIdvHeZ3AFL4t$Fo#z)yJsbAp!b zazF!(HK^kUj2hIj)OkP9g?ygFbz^3QE_^AuFibsMFE5R+R>KdrB*KXS!yZvhc<8V5Y8yjC(cLT ze%3zB7HO0jK4(zwwj(unT_rpVc)}8&Asvq%9m-P0q zErM^m$c(xn#9B`ra{D`bK`b|0y7%EKz&A$FKYI(7a=oD-@Y?Uk9%kEh77H1on zZuiNvd+tR1pK&4$^!c6d{_q@20p8nwGavE$g8sL&?DYp##=0za9PiHo?r*Vf%Jo$X zeJan_rEuRTf_;+U4>rcB`6zie^n1mt!=={6SQCVwkgavq;=(s+x?~~FuAvY8vp60a z@K-dohmLXORjPgVw^1l7^d|)8--5vB2Q2JwJx%@u4_`gZy=iCh%08zNNP!Mn)^<95 zAC`Lt!j=s^K>z&@C|9^_?rE1VHmrXh-!Dmi%)?x}t@G+ww=Uy*$Gi1{7gJ@D>bXZw zyZ{+0M!APSSTt0;yCQZ0?8+DLexx%ureklBCfvh0tv`Z3ddIjRa8NHgb`)(?w%R=d zP{uvYKU6k*|C?Ke_UQ%R#5|v}S=GC`t&+0381KIKarTVq*i*^4`yRl-a|&|2KXSg6 zLY@6wb5wF56Cp(5sxk<^~CAN zcu3!Z-$mixHsap{KkI*9@2{ks^IRJFIhv)Fb8S)i6N>kl*fT2)KLK6%#zlzZb{zDI zM0T8q^{0_)meb)ybR5PvxJc)Pfc*yK)lA|$9g)4QKKQj3+n$Z{^LR#? z21(27#k&PR`UL104BVd>{L=SN4o;TT;Qp^Ar2XK@!EEeNo7|I-GkZ=BdhndPBN5Nv zb&~6aXhY&Bya(_fetmT?W;vUF_hI4tH*gutw zM=^iaz`|*PM%j9@6LwF-nOfi~(eO=`M!DytnHMQ3XrDoO4yb*Rx&&CaHm`1Iw;}U` zID=H}tPKgqR>&G+1HmExKi)B9Am5N^!YJW4g^d2*U09#Zs~qlqQc`!}ybArG-jkAw zcS>rMYk`o{=yH6M0rS9Jo%v|%RM<0|C34Ok@0cWoLD=2u*|PB!wAsjtCUzIcPugq4 z6KC_de(p!xAuHZLsxfYYXNd7AIiBcK>^VhQ=#Te}bINj`(b+ac0xzSC40>X9kg+zL zDVq!7Q}$w1U@x%NuNNL$4jE{=*E)^9flOE9c;Q&lc)4d$4rN(x8)PZn4yD(z_n6yr zqi2EhU{Ho3pRt4ZZe6;3s&+WO$pMt34|@pvl(Y!;MrqapiDP{sGaBkGezH|0i~Wr= zQ!|DOp$D*Gg&b#m_=XsK$p&-w^+OVA8j}1O!^w_&6Bh1av_VE@46`la&2SP z81BWr7kBX^?Xjzd{R?jx^0PcHb9BZq&+pU6C{$_JT%;zYVNV0o*(a_KzZ_-SAg30_mMGgAme{rETfX}NM}x1yGid4gw=$o& z33G;(3gQfb3s=J#t=>P4?IXX42YZ?W=AXvqQC|1i<15V^kHJ$H7iGeHZ)`r+)#2wA1au`&h5gki z&w1KMontu1E(Qpfc9FcUclxnAF~3VMBp$8bLYo!>-nSq-VSR$vGZl`){#h<XSKF5G`d>XE9==u>{Jve8v8@%T^hc>|5f6vyPBRDI{bE4442g0l8pEkim*FRu9 zAGWqAnr1`(p!DR!F?hxy7=wQod#LO)j?(`E#xnX}h*K)xz6&}bhbo7yEZbL5eSx$J zd;^9uggEH&Rd~mStm8a4wjVU#@*Hf9UZTzrQuc9XdSF}!Hc0HAb9n&WvSp$;K$#ft zJBK&K!}O$aL4O=}3jRo7x}(Et|2B0A`?uY4_MX&&z}=t=eLny5=%?>Oj^mxS&iSEp zZrR>6K5_rpeDLx(?!ST!>A;>07uI!v)!VGm*A1+MKdWG2Pg5LeHf;p~^e1@7y|)E{ zTT$Na6E_y=#uqs*u#L38v;*!qs{x)%*EfMb_bs*+^Ty=#Vai(g-WvLD`-E*(I#k%7 z13XPgXE{I875~U{^ao|B4gEn`YN9*`9;&$Mn^` zC|d*EHK4O*wgvwk-;jk~4;t{Pk?u#je-82b)IJ1vOsRkzVNMaCJ>~f&4KmDqZQRd> zxlw~Fv+lf!JS#$*m5#$#ML#zP>XH`V-x~~H5{uy73SXkWDPU&f+X9nu<>4yCRg7zf zJ&$s2qV3Dz?2?jk!F)#RqZ~@as`>(GH}TzoBYHt>9^mGJUTy2vA@&P~^B8ois{nJu z9=&J{z;dRyJzdrX^bUp`m`<${u@OuJ90QhL5<_gL>x)R^c`p6GH>4sI+Y-nAbE2}CWpOV?vw5IpK za^>S)&{b7{JrBs6a~!@|kyLW;+2d2L>C@l`fnSI}6bAf|J;HnevGZQ+Pa_{RhaVEb z`55574sE1;-VA!#H*IQ+#olW44`mH!&$=jU?E5i&>anJCy;)8Ow^L1*W~C$aDN4h8cLVNNJc8Oynw z&fS$i${Wr=tFe;0q#gEmu`k)*w8b_*rp731uKrQaUU2M^I_vJp6=|VdQGcjY;VYp- znbI{A<15?7b73xC;@D?sYTliWhd6rvo9{IJAhvlF;|XIlWf=dT!Cb=C<8d9%#5s#w z+71kQrAsPpeAfdX&x^WygK@YL=c;5Q{b{t{D|_wlp`6(=5f1=9_yck{UCx!?cbS!9 zJb>R6z*xJ#h~GNF+~&02zT>+dt3sDMc0i`ER~Gvbb*XB~l&ZoN|7A$ajfCz(KjMA! z;Iy7c?##pfiLG3%;RAh0nm+2fpviy{H1Yfz1qry@L4) z_UkG?&i26s-%%1R;&u6;#;dd#gXAq7=DeTqEUc^U*QeJH>X8ze1t0y&NNAs4NOvz_ z>-NO{=I?-K90Ly4%jSdMwC#s$-yugZQLwf1s$wlDcRuvy%do-Jt%4br+LOZgVh6sp z(B_SlaC}&a{_5Q=Y7D*)egMl79@FTfQfGp&TRX9)%JSbw88=4x71U+>-2Dzd`Z50EeILg%@JNkul)nKF<6qw$kMpo!xemg)G0*&O0c^xA=8wXsWjuxc z{5?p6eV%X6EeiUlfhNUYb;j-mrQ?(v&hO4_`A#})wLe0g$%h{GLY@z9lg;k}&%s=+ zsswbCrvkqwj=Z*-r9)GJi@q)Qx{vd9!}z|9i%)e8KfU>VD4cA zt7^bU3--(u_+EJS;hDTV+aLa^qWKisbQHYZ1>96yQIrc7~{nPs6NV^&| z4Sp~-kF@>{c^G58c1-+0dRzO+!;`3Q=`xRd)~TCu^ylTMPkj~eHNH(^ucAyDH1LV>0DnT z9jLRT*ZJPM`Ow+lccHyRJNvmO=ck|}3_7@GGMi&R#y;9e%8I_w_DgL(KfA~E0o`}< z7PRjz&0B;RkR8WEe>Ozq_<~^3gP{=}-$_8MNZYh*s5%d8m4L6^wsZ(Qn6GX1)%!We zM63*b)nMYA$Mids1>@hhQR9)I?Zor?Bw6qZWM%~VK)>)+^cmV1ssU~>f2isr7KSz6 zgMEyjkK(-kD@I0ue(Cni;}u5apF)p|k=wHr?L;{PFq#LeV$F+JsBds>yT7a}4E^5# z{xR<7#!DDu;#n2yn)*(R^G<(?-^}3Hz~>dn=a|H2+8oMCH}2E{ruE{Pz8_)neIedo z!~6S~J4}KvkNtfQkK&zp7b5QNmgDEG;0;lCzlf_Cs zyU~fe4qd3hH|$g%=7fkT?kmOER*F0GYO%&|pk5i~ZQD@3R_+h+yNRm2nGU1ahA}HW zt;kM;O_;z{V5ikNbSzHKJI~Iu($glZH2)IBY=K_`O@2AQob97cp}Z&`Fl`UdnJxC1 zIfSz&{|0+8h`Y_tf|x#I>(Jc8bGw3=vwdX&#<5DNiU7uz9QZ}>g*g{l16dCvcJf5e z2{y}UUWe_Vv-KJ3QqZ{#^m?wIcT)KO`HSqWr3wZGDC0o}*N3n;n8qcmD z`3Cx({mWP+PrLKerz8-Fp9=UJrd|*PHOm3So2U zzi_;J2e$ObfQ5MHJcSE%2z*j(Qd78XpT-^s4D=WMf-vZyZDe0D9_jj2L$K#Ay&7a7 zdPc=ELng|bXT}zwUw3dnscMVLt3E>8XCj^U(T%lnT%wL(Yzl-Kvw>X2pRr@FaXD?n zN%Q4Y8Q>#r#3eYF8^@j+`seU{AE9kNB(mRf>>uy6ZG#5B`($V@!p}a2xquooYJitx zg^G7TW-Y*re1LQ0uv?_v9b=tuKlh)3-RAeje)yd+oc9szkloW1Zy~H@W3K8^-`u(ee#0gAkETJ9muo56XM5SE`>jc@8uo*tTCMKLzUf? zJ^Uj0!aL9OjPu9wEegOJ2s8XA2^<2C{NNAQXQP-8AH3Qa?pbZNpOU-iE_MNK>So2eUS9K}iRT#tIEo>+L_K4HRc;CS_Na!@aabk~i z@T2JO%p0M9n7?p%Wb9#l5BZ>qsfuUQ(Yy`GS^UfR|MSCr@cl70+ z#Hebo{s7l%H1CY@Hrl+Mn3ME&W%lWaCGOst)%V1s*?mvlB&nK)AZ(^pRgLxBJ&a|* zUUF_-jJ}56_D6KYNig4tZ_{IO!_ybvhIvdQ_Gf)cQpwDSH-0Ogv+DZdSvsyoxQxEu zZ4$#=Hugu@Ut0$3IR|1tjGw7EneQh!KZfs_%0oCgiMc4(gz+$va?6PC)L| z_Ys+fwVNF>qkV^2Y;_S&_wwgrpmi9Z1LDU|sw%A8bv=H)le9#-(=?x$UNVU$0KawE(G-S2`I9~j<# z`ld`rJV2$NK>B?27t5S<%KT51c?WuSs{UZ#+fy*-0^g^it^1$0Qd99QLblr(AC4g>9}R+ zDw|1@zy^0}bV7&XT-I;PVGttQ6*N53~N;$QL)iO!A;lg}gv# z;j8yqsYRd*=WM%m>+0b$T%&)V-{*lH$pE}pit_qK4IjQ6j5&;0L$7vODX!%n6v5f= znf=!S2iJH^u2M3r|-?r zWc0mNk=ghA>a4!w*Jk&fylE16nbY^j#@xQscTDbkZ~b|F?|0^1A$4%MVIFwg1rT>4FdGda-YD488w91Oy2PE&!RnzO&U$^@7&+fNr%tKqQz~x0- z4nLpYmxxH}THSi4M}uFlRUa8f`@xqT7#~u_TKBELmGVmXY*#Z08Ld=cI;A3{87<}k}LPR4P^4|*Bfrw&mMyeNl> zQMc}~QXgRatU*6mnEx>!zFz`!(PK4{$Rle1P&U@XJ%}?;*1Pb1snaIPU32*A;X$Ow z;a?E12e1YwYo|Xja{3A5@okcq@ihTX#9v_(j1PJeM)Dx$14d4dWE>lWEJZ!Fr?JN& zhqkl{V{T+nUSeIYmz$U;o0F|)Tza@B0GoHrGPfyPq+(#ek2Qc4ZIlIg0=kILsS`Sg zF_mMy_I~62ux<18t=j#)xHI4Pe$V~9bNrybJ_mk0j*Ipj<7Eurp?wj36T^ZCVn~<0 zG}3Io*pFxGpgShAF30kJK)v)j;7PZ@cB$_;JGRTMLwnT$nl6FNPnvD@O|puI1GuJG z!M-VZ#lv%O<G~8jmnN1G@4=p1c&9^}|PGGRD5ya-x=U^%&Ng2C=@2@)=`e`&s@ql*hLy=zr~7 zu~L>Iw(;;QMrQwZ)Q3<1@PCI4e1Lb{3laC(S0+~tH!oQ_)Cu{-cPt-)e09}g{XwMc z0TaF|_K)GaM%uC6&;xf&`-}D9JN_TlgKzm!^`1jq^j{6h``4-5Co!piHvIIOjO)9! zSICC6h;s)jKq-%*1-sOqxp_pKM8wyBeKCS`4+$--JFyzr7iTFX$1iAM=LT3XkmTf&H9~wKU&k z>m+2PAp_rr!eKp63_x3z~Nk# z^W{_6!@+f??;!Th^|vq15U-Ja=#g+ld(<~ePP~DBf$ruHuAWu-4b171h>MaB_?un( z3nAa!@BDY5C9D_T;FGCq`1kvs!8%ymJ=RX_3%de3*bvdD=AOMK@FO*cmfN&^@-1l; zsqf9?!KO1_J%~M`h?Bj9Sf%6tC|y005|X1tKGK+-)IarLVjEcLBr%po2sZoE3i zcw-Ur{|o&52<8*;6Xz!pKT&Z9cQ5St_pt4CQ(w1iy+h|d4_iE}}9DeYOa2coY{ZiW) z_e#S`!ulEVAwzSsPgjJiF?WIgdJ5l~o__qRJMM;Y?FdJwd~guH6R@jne*1;*)$Cg7ltOdMA^IOt!$ zXPo{{9N*0THtcQED0vYvubYnoKF^bKp0t#H7U&$(0OK>~!icCfjc_UUo+4)QW$=Y~ zUI*@Ho}Jsp`&oIYPhXsQwohKt&wZwMq5jK|Bi1J`e&Ceh9YWvD`zhV#(|c)rS^+-I z!q||`tFT_Ic*Qv+d36MTbH#0srp`Wjux?Qj_$mD-(6Pon zg1LV04S24_clLH>_U)Qdi%Y{*hgd>Z-&5C0YS$FKk83DyjCVYSWUs9S__qtzB2G@( z4DWK+)a>t9`H`nPafmqNZaLx`u&puLN!nT3)tWn3t=(i^XJ0XYjB!94_Z=W-@BbVN~qrf=RM-w?=N=BUtr%Wopg_LU+chI z=G@Fl-Mgk?R>YsKVM@kdq|(0MukMGp+H~khWXU}z?e{sKvG18k%Ry|8?Ykt6@EO`%2Cn6t|R6_;1u*>)-Vw`R%QE3PyzYRi$FMN6(Q+wR=3VSVeSHZvG(ZC<%x z-lx~ETf6ykbE%Ruv#n*5xg3JI!n}QL(;a4Q!?MQfZmeDM`MO1o!CRznbe95uNrogRgTD$6QlGb|Xx=pLT+yd~ecdcq}v8lOk-Cf9E@uAEW zEp5%Mt2S&xb1vGDBTcPeZfpXnN^sjYtx)%z&#!A~-_X*$sbz)Pbo=c@wi%qceZASX zscBOS399f&_IY^)b7x#Q^U5oy7GHVgl^2_(NFU1j)qngZOS1So`a1r5JL^P_OUtIF z);qw04eP(s(rT`4xvOQZVr$!-Z5vwFtuWVbXlZTQv}*l2D9CAkA`w3wpAhD6vU8v2 z+)d}cC=|LWbfsyUa^p=6*VQhu$W}CT5!Qg+-y7o9dA*Xxz%C zbt~4QZHwABwY08lT5ATEqtndRmgbgKcOiZKI&)6@MQhv5rcLIeC3F4gT(hOUxn%>1 zL$Ri|_3J)+(Vb@7=5;Gt*MGU?vn;)~Jx7)XZ@jLSwU*Yx_RMJ){Ih?$PUVF@Z?W4` zsoVEt14)^Uwg`x5&v4f6h+d?%d}bo)Tofxz+S-?OkQxH#qn7I)8iq8wdWzfxmI!Zyfj=2mZ!^|9^9!KE=7uU+*{fuZ+LouZ;hX z?_uxYU-5@OGW1vN|7ZTn_;>!5@!$1V?*FkmWB9B!>zm|+nK#z(a-*CO+__G4!+#== zT>KT-2Patj_2Ww3m)|#vb!+SmQRk2wu~z#H>@~%nb(|@XhQGsk3QT+UaX)FY!+KiB zdT|hI-Q1gT6zddm{B5o4KcQZ`_>2Am{yWp~fB6&O#~%{@M0!R1#(yGz|B`8O+dsZ% zf&DK||Kra7fAQT<)|S77>!b2r{NFwO=lg$Z8voDx1pNQ$C*-M%|KY!Y|DD$-JHs4w;IY2C2GYYu7rZ<4ZMNSMGa)DUcnpm7%sYykd1l(&*84i zEV|IDJinO;)WquFR2 zjDypc#ltk4W-@;*hEga_Iz5AWSjy*xV`3_*ej$@b?Vl8%6l{=Y)DwMWyzMQ;;Ir}*W;Y% zac*6M|D#Qm_{h1@YWJdkJZN}+h>|o~ez-5y3!;NTGTb%1wd1uz>vyATIAi)Ei+^iE T;(3nV(I?Q_Gi(iYbx!mRi>r@e literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/lpddr4_pmu_train_1d_imem.bin b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/lpddr4_pmu_train_1d_imem.bin new file mode 100644 index 0000000000000000000000000000000000000000..e1a27bfaf4e9304963a6d079197aed1928658f46 GIT binary patch literal 32244 zcmb@v33wCNxj%enG?GTrXz_vpZ;UK2Bz0nAD4|J!(PFd2fi&Btqzy7llBP~PV+_b_ z9-GY=FA52ym!yeJLu*I@v(_XjIg)JC>x7Wzw!JcB5o-x8K_-OKG+5tzW+Y77{QviR zzUM=a=ggdaeb4*;-uE0>3ZaM4|9^i!HlwDsO_BqeljMcpmFxbrIh;nZG~qO=jbPNZmJ?(+@;^k<}4jOAYr47bPzHi9vC9 z*XR^i7p0F;eOUNReP8IP;F0wy>i2o^4s&L8$Po_$Y_^PcZ zVmZ8QMW}c@X;Z{EG?6?>^StqatiZuX)WK5(qs|I&*^__ru_)dX6K(g4b>pNi0Q%?$jS#Y=J0W4Xd40k>e){~hY_+=j^?Slf}18@jhj zEEhFVk2Km?qA3*3(YZMqozFYTi$(=?xzd-0lJ$?}q8~&D)AQspJj`#>LzEw#o{rI| z9v$(uf$xUyeoH$l!$!#UF8lzd!7ak&Fn&)<%NAeM+<}fu@0B8Xp?;d_Kyj^uD$dN( z*wo&eiA+HcKN}U)ofaCn2r3kvI3Rcm`bQ=iZ8lfVOk2!2&Y$7)U;|F#@tW-D$Gg>( zt5B_@zL>j}x{Rcj)YKo0)P7NMG-gp#YVq-ElJ>}#@9UC(FRQ9vO5zgG7c?=-sdaQ0VXKkr1S(Un&Z?}pv3JRv*bLxGPGd{8Fw(d=;L zQR(nCihMETD-FI<)f}`tI)or^r*%7mRxgx-vfVI$*6Q{vUks)KR^L)6--S8RjZrqO zgkClCh{mmIoPZXaYCZX~Z5sB$fH-k4Uja{p;w#vEyczZ8RoFb3iE1z-xv>VD*=lrL ztbrBu?uC14b-W14%{rLY|K5c_6 z-YvFwC3?05YQ5ap4mIbNgq+QYLRSr5blRnf?vM^GnXmmk)^e=#X+pzpe97Qnu*HbP zYk_$E5U;~^T+E2>diwF)`pGjY=E1-{mP`HMM-?A0|1tdTozFKds(s$nPV>8vE97j2 zR9hhxw}ibAa8-&eVsn1*^^@1LZ_T$E6`s7%NZns6-lk0B(BxWtgm- %JcR~(5M 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 literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/lpddr4_pmu_train_2d_dmem.bin b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/lpddr4_pmu_train_2d_dmem.bin new file mode 100644 index 0000000000000000000000000000000000000000..dd87ee52e553621d8d0e244993f05b57d90892c3 GIT binary patch literal 1380 zcmZQz7zLvtFd71*A%F-0FUCej2_Vb|!bl)n0SG~|G6gFV*O;y`jS-3wvN--_!-Uic zsW4p+x9EVGaz+ebwG50*%xvsj+VEn+afT4mRfgymwnZbs^ zl)->Ohe3lul|hL?fkBQz24)3?go>L zU{V-N{`|ngz`*niL^Avakt_)x*cmt&Qh_7`LlV$5pfpgW0@DwH7Yb}#d?FGu3MyBX000QcIwk-B literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/lpddr4_pmu_train_2d_imem.bin b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/lpddr4_pmu_train_2d_imem.bin new file mode 100644 index 0000000000000000000000000000000000000000..927c1b9c5fc2307dd790e3473ab116100347764c GIT binary patch literal 23232 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 AqW}N^ literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_fit_atf.sh b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_fit_atf.sh new file mode 100755 index 0000000..e1ba1e3 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_fit_atf.sh @@ -0,0 +1,142 @@ +#!/bin/sh +# +# script to generate FIT image source for i.MX8MQ boards with +# ARM Trusted Firmware and multiple device trees (given on the command line) +# +# usage: $0 [ [&2 + exit 0 +fi + +if [ ! -f $BL31 ]; then + echo "ERROR: BL31 file $BL31 NOT found" >&2 + exit 0 +else + echo "bl31.bin size: " >&2 + ls -lct bl31.bin | awk '{print $5}' >&2 +fi + +BL32="tee.bin" + +if [ ! -f $BL32 ]; then + BL32=/dev/null +else + echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 + echo "tee.bin size: " >&2 + ls -lct tee.bin | awk '{print $5}' >&2 +fi + +BL33="u-boot-nodtb.bin" + +if [ ! -f $BL33 ]; then + echo "ERROR: $BL33 file NOT found" >&2 + exit 0 +else + + echo "u-boot-nodtb.bin size: " >&2 + ls -lct u-boot-nodtb.bin | awk '{print $5}' >&2 +fi + +for dtname in $* +do + echo "$dtname size: " >&2 + ls -lct $dtname | awk '{print $5}' >&2 +done + + +cat << __HEADER_EOF +/dts-v1/; + +/ { + description = "Configuration to load ATF before U-Boot"; + + images { + uboot@1 { + description = "U-Boot (64-bit)"; + data = /incbin/("$BL33"); + type = "standalone"; + arch = "arm64"; + compression = "none"; + load = <0x40200000>; + }; + atf@1 { + description = "ARM Trusted Firmware"; + data = /incbin/("$BL31"); + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <$ATF_LOAD_ADDR>; + entry = <$ATF_LOAD_ADDR>; + }; +__HEADER_EOF + +if [ -f $BL32 ]; then +cat << __HEADER_EOF + tee@1 { + description = "TEE firmware"; + data = /incbin/("$BL32"); + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <$TEE_LOAD_ADDR>; + entry = <$TEE_LOAD_ADDR>; + }; +__HEADER_EOF +fi + +cnt=1 +for dtname in $* +do + cat << __FDT_IMAGE_EOF + fdt@$cnt { + description = "$(basename $dtname .dtb)"; + data = /incbin/("$dtname"); + type = "flat_dt"; + compression = "none"; + }; +__FDT_IMAGE_EOF +cnt=$((cnt+1)) +done + +cat << __CONF_HEADER_EOF + }; + configurations { + default = "config@1"; + +__CONF_HEADER_EOF + +cnt=1 +for dtname in $* +do +if [ -f $BL32 ]; then +cat << __CONF_SECTION_EOF + config@$cnt { + description = "$(basename $dtname .dtb)"; + firmware = "uboot@1"; + loadables = "atf@1", "tee@1"; + fdt = "fdt@$cnt"; + }; +__CONF_SECTION_EOF +else +cat << __CONF_SECTION1_EOF + config@$cnt { + description = "$(basename $dtname .dtb)"; + firmware = "uboot@1"; + loadables = "atf@1"; + fdt = "fdt@$cnt"; + }; +__CONF_SECTION1_EOF +fi +cnt=$((cnt+1)) +done + +cat << __ITS_EOF + }; +}; +__ITS_EOF diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_imx8 b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_imx8 new file mode 100755 index 0000000000000000000000000000000000000000..3c587055af4052ce7c9a5da7022b03d6bd6b6e33 GIT binary patch literal 900832 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�p=W**te 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 B^debL?V7Mb0^VglJytJ(Pp7MeF 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

P_m+>ZjFP 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 O)1M^#!2)1$IsF^8x{|&C literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_imx8.c b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_imx8.c new file mode 100644 index 0000000..3418655 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_imx8.c @@ -0,0 +1,1581 @@ +/* + * Copyright (C) 2016 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + * derived from u-boot's mkimage utility + * + */ + +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +#undef offsetof +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +typedef struct { + uint32_t addr; + uint32_t value; +} dcd_addr_data_t; + +typedef struct { + uint8_t tag; + uint16_t length; + uint8_t version; +} __attribute__((packed)) ivt_header_t; + +typedef struct { + uint8_t tag; + uint16_t length; + uint8_t param; +} __attribute__((packed)) write_dcd_command_t; + +#define MAX_HW_CFG_SIZE_V2 1017 +struct dcd_v2_cmd { + write_dcd_command_t write_dcd_command; /*4*/ + dcd_addr_data_t addr_data[MAX_HW_CFG_SIZE_V2]; /*8136*/ +} __attribute__((packed)); + +typedef struct { + ivt_header_t header; + struct dcd_v2_cmd dcd_cmd; + uint32_t padding[1]; /* end up on an 8-byte boundary */ +} dcd_v2_t; + +typedef struct { + uint32_t start; + uint32_t size; + uint32_t plugin; + uint32_t padding[1]; +} boot_data_t; + +typedef struct { + ivt_header_t header; + uint32_t entry; + uint32_t reserved1; + uint32_t dcd_ptr; + uint32_t boot_data_ptr; + uint32_t self; + uint32_t csf; + uint32_t reserved2; +} flash_header_v2_t; + +typedef struct { + flash_header_v2_t fhdr; + boot_data_t boot_data; + uint32_t alignment[4]; +} imx_header_v2_t; + + +#define IH_MAGIC 0x27051956 /* Image Magic Number */ +#define IH_NMLEN 32 /* Image Name Length */ + +typedef struct uimage_header { + uint32_t ih_magic; /* Image Header Magic Number */ + uint32_t ih_hcrc; /* Image Header CRC Checksum */ + uint32_t ih_time; /* Image Creation Timestamp */ + uint32_t ih_size; /* Image Data Size */ + uint32_t ih_load; /* Data Load Address */ + uint32_t ih_ep; /* Entry Point Address */ + uint32_t ih_dcrc; /* Image Data CRC Checksum */ + uint8_t ih_os; /* Operating System */ + uint8_t ih_arch; /* CPU architecture */ + uint8_t ih_type; /* Image Type */ + uint8_t ih_comp; /* Compression Type */ + uint8_t ih_name[IH_NMLEN]; /* Image Name */ +} uimage_header_t; + +struct fdt_header { + uint32_t magic; /* magic word FDT_MAGIC */ + uint32_t totalsize; /* total size of DT block */ + uint32_t off_dt_struct; /* offset to structure */ + uint32_t off_dt_strings; /* offset to strings */ + uint32_t off_mem_rsvmap; /* offset to memory reserve map */ + uint32_t version; /* format version */ + uint32_t last_comp_version; /* last compatible version */ + + /* version 2 fields below */ + uint32_t boot_cpuid_phys; /* Which physical CPU id we're + booting on */ + /* version 3 fields below */ + uint32_t size_dt_strings; /* size of the strings block */ + + /* version 17 fields below */ + uint32_t size_dt_struct; /* size of the structure block */ +}; + +/* Command tags and parameters */ +#define HAB_DATA_WIDTH_BYTE 1 /* 8-bit value */ +#define HAB_DATA_WIDTH_HALF 2 /* 16-bit value */ +#define HAB_DATA_WIDTH_WORD 4 /* 32-bit value */ +#define HAB_CMD_WRT_DAT_MSK 1 /* mask/value flag */ +#define HAB_CMD_WRT_DAT_SET 2 /* set/clear flag */ +#define HAB_CMD_CHK_DAT_SET 2 /* set/clear flag */ +#define HAB_CMD_CHK_DAT_ANY 4 /* any/all flag */ +#define HAB_CMD_WRT_DAT_FLAGS_WIDTH 5 /* flags field width */ +#define HAB_CMD_WRT_DAT_FLAGS_SHIFT 3 /* flags field offset */ +#define HAB_CMD_WRT_DAT_BYTES_WIDTH 3 /* bytes field width */ +#define HAB_CMD_WRT_DAT_BYTES_SHIFT 0 /* bytes field offset */ + +#define IVT_HEADER_TAG 0xD1 +#define IVT_VERSION 0x41 +#define DCD_HEADER_TAG 0xD2 +#define DCD_VERSION 0x41 +#define DCD_WRITE_DATA_COMMAND_TAG 0xCC +#define DCD_WRITE_DATA_PARAM (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT) /* 0x4 */ +#define DCD_WRITE_CLR_BIT_PARAM ((HAB_CMD_WRT_DAT_MSK << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0xC */ +#define DCD_WRITE_SET_BIT_PARAM ((HAB_CMD_WRT_DAT_MSK << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_CMD_WRT_DAT_SET << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x1C */ +#define DCD_CHECK_DATA_COMMAND_TAG 0xCF +#define DCD_CHECK_BITS_CLR_PARAM (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT) /* 0x04 */ +#define DCD_CHECK_BITS_SET_PARAM ((HAB_CMD_CHK_DAT_SET << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x14 */ +#define DCD_CHECK_ANY_BIT_CLR_PARAM ((HAB_CMD_CHK_DAT_ANY << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x24 */ +#define DCD_CHECK_ANY_BIT_SET_PARAM ((HAB_CMD_CHK_DAT_ANY << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_CMD_CHK_DAT_SET << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x34 */ + +#define IVT_OFFSET_NAND (0x400) +#define IVT_OFFSET_I2C (0x400) +#define IVT_OFFSET_FLEXSPI (0x1000) +#define IVT_OFFSET_SD (0x400) +#define IVT_OFFSET_SATA (0x400) +#define IMAGE_OFFSET_SD (0x8000) +#define ROM_INITIAL_LOAD_SIZE (0x2000) + +#define CSF_DATA_SIZE (0x4000) +#define INITIAL_LOAD_ADDR_SCU_ROM 0x3100e000 +#define INITIAL_LOAD_ADDR_AP_ROM 0x00110000 +#define INITIAL_LOAD_ADDR_FLEXSPI 0x08000000 +#define IMG_AUTO_ALIGN 0x10 + +#define PLUGIN_IMAGE_FLAG_MASK (0x0001) /* bit 0 is plugin image indicator */ +#define HDMI_IMAGE_FLAG_MASK (0x0002) /* bit 1 is HDMI image indicator */ + +#define HDMI_IVT_ID 0 +#define PLUGIN_IVT_ID 1 +#define IMAGE_IVT_ID 2 + +#define HDMI_FW_SIZE 0x17000 /* Use Last 0x1000 for IVT and CSF */ +#define HDMI_FW_ADDR 0x32c10000 + +#define IH_OS_U_BOOT 17 +#define IH_ARCH_ARM 2 +#define IH_TYPE_FIRMWARE 5 +#define IH_COMP_NONE 0 + +#define FDT_MAGIC 0xd00dfeed +#define CSF_SIZE 0x2000 + +#define ALIGN(x,a) __ALIGN_MASK((x),(__typeof__(x))(a)-1, a) +#define __ALIGN_MASK(x,mask,mask2) (((x)+(mask))/(mask2)*(mask2)) + +#define uswap_16(x) \ + ((((x) & 0xff00) >> 8) | \ + (((x) & 0x00ff) << 8)) +#define uswap_32(x) \ + ((((x) & 0xff000000) >> 24) | \ + (((x) & 0x00ff0000) >> 8) | \ + (((x) & 0x0000ff00) << 8) | \ + (((x) & 0x000000ff) << 24)) +#define _uswap_64(x, sfx) \ + ((((x) & 0xff00000000000000##sfx) >> 56) | \ + (((x) & 0x00ff000000000000##sfx) >> 40) | \ + (((x) & 0x0000ff0000000000##sfx) >> 24) | \ + (((x) & 0x000000ff00000000##sfx) >> 8) | \ + (((x) & 0x00000000ff000000##sfx) << 8) | \ + (((x) & 0x0000000000ff0000##sfx) << 24) | \ + (((x) & 0x000000000000ff00##sfx) << 40) | \ + (((x) & 0x00000000000000ff##sfx) << 56)) + +#if defined(__GNUC__) +# define uswap_64(x) _uswap_64(x, ull) +#else +#error +# define uswap_64(x) _uswap_64(x, ) +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +# define cpu_to_le16(x) (x) +# define cpu_to_le32(x) (x) +# define cpu_to_le64(x) (x) +# define le16_to_cpu(x) (x) +# define le32_to_cpu(x) (x) +# define le64_to_cpu(x) (x) +# define cpu_to_be16(x) uswap_16(x) +# define cpu_to_be32(x) uswap_32(x) +# define cpu_to_be64(x) uswap_64(x) +# define be16_to_cpu(x) uswap_16(x) +# define be32_to_cpu(x) uswap_32(x) +# define be64_to_cpu(x) uswap_64(x) +#else +#error +# define cpu_to_le16(x) uswap_16(x) +# define cpu_to_le32(x) uswap_32(x) +# define cpu_to_le64(x) uswap_64(x) +# define le16_to_cpu(x) uswap_16(x) +# define le32_to_cpu(x) uswap_32(x) +# define le64_to_cpu(x) uswap_64(x) +# define cpu_to_be16(x) (x) +# define cpu_to_be32(x) (x) +# define cpu_to_be64(x) (x) +# define be16_to_cpu(x) (x) +# define be32_to_cpu(x) (x) +# define be64_to_cpu(x) (x) +#endif + +#define fdt32_to_cpu(x) be32_to_cpu(x) + +#define fdt_get_header(fdt, field) \ + (fdt32_to_cpu(((const struct fdt_header *)(fdt))->field)) +#define fdt_magic(fdt) (fdt_get_header(fdt, magic)) +#define fdt_totalsize(fdt) (fdt_get_header(fdt, totalsize)) +#define fdt_off_dt_struct(fdt) (fdt_get_header(fdt, off_dt_struct)) +#define fdt_off_dt_strings(fdt) (fdt_get_header(fdt, off_dt_strings)) +#define fdt_off_mem_rsvmap(fdt) (fdt_get_header(fdt, off_mem_rsvmap)) +#define fdt_version(fdt) (fdt_get_header(fdt, version)) +#define fdt_last_comp_version(fdt) (fdt_get_header(fdt, last_comp_version)) +#define fdt_boot_cpuid_phys(fdt) (fdt_get_header(fdt, boot_cpuid_phys)) +#define fdt_size_dt_strings(fdt) (fdt_get_header(fdt, size_dt_strings)) +#define fdt_size_dt_struct(fdt) (fdt_get_header(fdt, size_dt_struct)) + +#define UNDEFINED 0xFFFFFFFF + +static void fill_zero(int ifd, int size, int offset) +{ + int fill_size; + int ret; + uint8_t zeros[4096]; + memset(zeros, 0, sizeof(zeros)); + + ret = lseek(ifd, offset, SEEK_SET); + if (ret < 0) { + fprintf(stderr, "%s: lseek error %s\n", + __func__, strerror(errno)); + exit(EXIT_FAILURE); + } + + while (size) { + + if (size > 4096) + fill_size = 4096; + else + fill_size = size; + + if (write(ifd, (char *)&zeros, fill_size) != fill_size) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + } + + size -= fill_size; + + }; +} + +static void +copy_file (int ifd, const char *datafile, int pad, int offset, int datafile_offset) +{ + int dfd; + struct stat sbuf; + unsigned char *ptr; + int tail; + int zero = 0; + uint8_t zeros[4096]; + int size, ret; + + memset(zeros, 0, sizeof(zeros)); + + if ((dfd = open(datafile, O_RDONLY|O_BINARY)) < 0) { + fprintf (stderr, "Can't open %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + if (fstat(dfd, &sbuf) < 0) { + fprintf (stderr, "Can't stat %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, dfd, 0); + if (ptr == MAP_FAILED) { + fprintf (stderr, "Can't read %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + size = sbuf.st_size - datafile_offset; + ret = lseek(ifd, offset, SEEK_SET); + if (ret < 0) { + fprintf(stderr, "%s: lseek error %s\n", + __func__, strerror(errno)); + exit(EXIT_FAILURE); + } + if (write(ifd, ptr + datafile_offset, size) != size) { + fprintf (stderr, "Write error %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + + tail = size % 4; + pad = pad - size; + if ((pad == 1) && (tail != 0)) { + + if (write(ifd, (char *)&zero, 4-tail) != 4-tail) { + fprintf (stderr, "Write error on %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + } else if (pad > 1) { + while (pad > 0) { + int todo = sizeof(zeros); + + if (todo > pad) + todo = pad; + if (write(ifd, (char *)&zeros, todo) != todo) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + } + pad -= todo; + } + } + + (void) munmap((void *)ptr, sbuf.st_size); + (void) close (dfd); +} + +enum imximage_fld_types { + CFG_INVALID = -1, + CFG_COMMAND, + CFG_REG_SIZE, + CFG_REG_ADDRESS, + CFG_REG_VALUE +}; + +enum imximage_cmd { + CMD_INVALID, + CMD_IMAGE_VERSION, + CMD_BOOT_FROM, + CMD_BOOT_OFFSET, + CMD_WRITE_DATA, + CMD_WRITE_CLR_BIT, + CMD_WRITE_SET_BIT, + CMD_CHECK_BITS_SET, + CMD_CHECK_BITS_CLR, + CMD_CHECK_ANY_BIT_SET, + CMD_CHECK_ANY_BIT_CLR, + CMD_CSF, + CMD_PLUGIN, +}; + +typedef struct table_entry { + int id; + char *sname; /* short (input) name to find table entry */ + char *lname; /* long (output) name to print for messages */ +} table_entry_t; + +/* + * Supported commands for configuration file + */ +static table_entry_t imximage_cmds[] = { + {CMD_BOOT_FROM, "BOOT_FROM", "boot command", }, + {CMD_BOOT_OFFSET, "BOOT_OFFSET", "Boot offset", }, + {CMD_WRITE_DATA, "DATA", "Reg Write Data", }, + {CMD_WRITE_CLR_BIT, "CLR_BIT", "Reg clear bit", }, + {CMD_WRITE_SET_BIT, "SET_BIT", "Reg set bit", }, + {CMD_CHECK_BITS_SET, "CHECK_BITS_SET", "Reg Check all bits set", }, + {CMD_CHECK_BITS_CLR, "CHECK_BITS_CLR", "Reg Check all bits clr", }, + {CMD_CHECK_ANY_BIT_SET, "CHECK_ANY_BIT_SET", "Reg Check any bit set", }, + {CMD_CHECK_ANY_BIT_CLR, "CHECK_ANY_BIT_CLR", "Reg Check any bit clr", }, + {CMD_CSF, "CSF", "Command Sequence File", }, + {CMD_IMAGE_VERSION, "IMAGE_VERSION", "image version", }, + {-1, "", "", }, +}; + +static uint32_t imximage_version; +static struct dcd_v2_cmd *gd_last_cmd; +static uint32_t imximage_ivt_offset = UNDEFINED; +static uint32_t imximage_csf_size = UNDEFINED; + +int get_table_entry_id(const table_entry_t *table, + const char *table_name, const char *name) +{ + const table_entry_t *t; + + for (t = table; t->id >= 0; ++t) { + if (t->sname && strcasecmp(t->sname, name) == 0) + return (t->id); + } + + return -1; +} + +static uint32_t get_cfg_value(char *token, char *name, int linenr) +{ + char *endptr; + uint32_t value; + + errno = 0; + value = strtoul(token, &endptr, 16); + if (errno || (token == endptr)) { + fprintf(stderr, "Error: %s[%d] - Invalid hex data(%s)\n", + name, linenr, token); + exit(EXIT_FAILURE); + } + return value; +} + +static void set_dcd_param_v2(dcd_v2_t *dcd_v2, uint32_t dcd_len, + int32_t cmd) +{ + struct dcd_v2_cmd *d = gd_last_cmd; + struct dcd_v2_cmd *d2; + int len; + + if (!d) + d = &dcd_v2->dcd_cmd; + d2 = d; + len = be16_to_cpu(d->write_dcd_command.length); + if (len > 4) + d2 = (struct dcd_v2_cmd *)(((char *)d) + len); + + switch (cmd) { + /* Write value: *address = val_msk */ + case CMD_WRITE_DATA: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_DATA_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_DATA_PARAM; + break; + /* Clear bitmask: *address &= ~val_msk */ + case CMD_WRITE_CLR_BIT: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_CLR_BIT_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_CLR_BIT_PARAM; + break; + /* Set bitmask: *address |= val_msk */ + case CMD_WRITE_SET_BIT: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_SET_BIT_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_SET_BIT_PARAM; + break; + /* + * Check data command only supports one entry, + */ + /* All bits set: (*address & mask) == mask */ + case CMD_CHECK_BITS_SET: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_BITS_SET_PARAM; + break; + /* All bits clear: (*address & mask) == 0 */ + case CMD_CHECK_BITS_CLR: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_BITS_CLR_PARAM; + break; + default: + break; + } + gd_last_cmd = d; +} + +static void set_dcd_val_v2(dcd_v2_t *dcd_v2, char *name, int lineno, + int fld, uint32_t value, uint32_t off) +{ + struct dcd_v2_cmd *d = gd_last_cmd; + int len; + + len = be16_to_cpu(d->write_dcd_command.length); + off = (len - 4) >> 3; + + switch (fld) { + case CFG_REG_ADDRESS: + d->addr_data[off].addr = cpu_to_be32(value); + break; + case CFG_REG_VALUE: + d->addr_data[off].value = cpu_to_be32(value); + off++; + d->write_dcd_command.length = cpu_to_be16((off << 3) + 4); + break; + default: + break; + + } +} + +static uint32_t set_dcd_rst_v2(dcd_v2_t *dcd_v2, uint32_t dcd_len, + char *name, int lineno) +{ + struct dcd_v2_cmd *d = gd_last_cmd; + int len; + + if (!d) + d = &dcd_v2->dcd_cmd; + len = be16_to_cpu(d->write_dcd_command.length); + if (len > 4) + d = (struct dcd_v2_cmd *)(((char *)d) + len); + + len = (char *)d - (char *)&dcd_v2->header; + + dcd_v2->header.tag = DCD_HEADER_TAG; + dcd_v2->header.length = cpu_to_be16(len); + dcd_v2->header.version = DCD_VERSION; + + return len; +} + +static void parse_cfg_cmd(dcd_v2_t *dcd_v2, int32_t cmd, char *token, + char *name, int lineno, int fld, int dcd_len) +{ + int value; + static int cmd_ver_first = ~0; + + switch (cmd) { + case CMD_IMAGE_VERSION: + imximage_version = get_cfg_value(token, name, lineno); + if (cmd_ver_first == 0) { + fprintf(stderr, "Error: %s[%d] - IMAGE_VERSION " + "command need be the first before other " + "valid command in the file\n", name, lineno); + exit(EXIT_FAILURE); + } + cmd_ver_first = 1; + break; + case CMD_BOOT_OFFSET: + imximage_ivt_offset = get_cfg_value(token, name, lineno); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + case CMD_WRITE_DATA: + case CMD_WRITE_CLR_BIT: + case CMD_WRITE_SET_BIT: + case CMD_CHECK_BITS_SET: + case CMD_CHECK_BITS_CLR: + value = get_cfg_value(token, name, lineno); + set_dcd_param_v2(dcd_v2, dcd_len, cmd); + set_dcd_val_v2(dcd_v2, name, lineno, fld, value, dcd_len); /*nothing to do for v2, because we are in CFG_REG_SIZE fld */ + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + case CMD_CSF: + if (imximage_version != 2) { + fprintf(stderr, + "Error: %s[%d] - CSF only supported for VERSION 2(%s)\n", + name, lineno, token); + exit(EXIT_FAILURE); + } + imximage_csf_size = get_cfg_value(token, name, lineno); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + } +} + +static void parse_cfg_fld(dcd_v2_t *dcd_v2, int32_t *cmd, + char *token, char *name, int lineno, int fld, int *dcd_len) +{ + int value; + + switch (fld) { + case CFG_COMMAND: + *cmd = get_table_entry_id(imximage_cmds, + "imximage commands", token); + if (*cmd < 0) { + fprintf(stderr, "Error: %s[%d] - Invalid command" + "(%s)\n", name, lineno, token); + exit(EXIT_FAILURE); + } + break; + case CFG_REG_SIZE: + parse_cfg_cmd(dcd_v2, *cmd, token, name, lineno, fld, *dcd_len); + break; + case CFG_REG_ADDRESS: + case CFG_REG_VALUE: + switch(*cmd) { + case CMD_WRITE_DATA: + case CMD_WRITE_CLR_BIT: + case CMD_WRITE_SET_BIT: + case CMD_CHECK_BITS_SET: + case CMD_CHECK_BITS_CLR: + value = get_cfg_value(token, name, lineno); + set_dcd_param_v2(dcd_v2, *dcd_len, *cmd); + set_dcd_val_v2(dcd_v2, name, lineno, fld, value, + *dcd_len); + + if (fld == CFG_REG_VALUE) { + (*dcd_len)++; + if (*dcd_len > MAX_HW_CFG_SIZE_V2) { + fprintf(stderr, "Error: %s[%d] -" + "DCD table exceeds maximum size(%d)\n", + name, lineno, MAX_HW_CFG_SIZE_V2); + exit(EXIT_FAILURE); + } + } + break; + default: + break; + } + break; + default: + break; + } + +} + +static uint32_t parse_cfg_file(dcd_v2_t *dcd_v2, char *name) +{ + FILE *fd = NULL; + char *line = NULL; + char *token, *saveptr1, *saveptr2; + int lineno = 0; + int fld; + size_t len; + int dcd_len = 0, dcd_size = 0; + int32_t cmd; + + fd = fopen(name, "r"); + if (fd == 0) { + fprintf(stderr, "Error: %s - Can't open DCD file\n", name); + exit(EXIT_FAILURE); + } + + /* + * Very simple parsing, line starting with # are comments + * and are dropped + */ + while ((getline(&line, &len, fd)) > 0) { + lineno++; + + token = strtok_r(line, "\r\n", &saveptr1); + if (token == NULL) + continue; + + /* Check inside the single line */ + for (fld = CFG_COMMAND, cmd = CMD_INVALID, + line = token; ; line = NULL, fld++) { + token = strtok_r(line, " \t", &saveptr2); + if (token == NULL) + break; + + /* Drop all text starting with '#' as comments */ + if (token[0] == '#') + break; + + parse_cfg_fld(dcd_v2, &cmd, token, name, + lineno, fld, &dcd_len); + } + + } + + dcd_size = set_dcd_rst_v2(dcd_v2, dcd_len, name, lineno); + fclose(fd); + + return dcd_size; +} + +void dump_header_v2(imx_header_v2_t *imx_header, int index) +{ + const char *ivt_name[3] = {"HDMI FW", "PLUGIN", "LOADER IMAGE"}; + + fprintf(stderr, "========= IVT HEADER [%s] =========\n", ivt_name[index]); + fprintf(stderr, "header.tag: \t\t0x%x\n", imx_header[index].fhdr.header.tag); + fprintf(stderr, "header.length: \t\t0x%x\n", imx_header[index].fhdr.header.length); + fprintf(stderr, "header.version: \t0x%x\n", imx_header[index].fhdr.header.version); + fprintf(stderr, "entry: \t\t\t0x%x\n", imx_header[index].fhdr.entry); + fprintf(stderr, "reserved1: \t\t0x%x\n", imx_header[index].fhdr.reserved1); + fprintf(stderr, "dcd_ptr: \t\t0x%x\n", imx_header[index].fhdr.dcd_ptr); + fprintf(stderr, "boot_data_ptr: \t\t0x%x\n", imx_header[index].fhdr.boot_data_ptr); + fprintf(stderr, "self: \t\t\t0x%x\n", imx_header[index].fhdr.self); + fprintf(stderr, "csf: \t\t\t0x%x\n", imx_header[index].fhdr.csf); + fprintf(stderr, "reserved2: \t\t0x%x\n", imx_header[index].fhdr.reserved2); + + fprintf(stderr, "boot_data.start: \t0x%x\n", imx_header[index].boot_data.start); + fprintf(stderr, "boot_data.size: \t0x%x\n", imx_header[index].boot_data.size); + fprintf(stderr, "boot_data.plugin: \t0x%x\n", imx_header[index].boot_data.plugin); +} + +void dump_uimage_header(uimage_header_t * uimage_hd_ptr) +{ + fprintf(stderr, "========= UIMAGE HEADER =========\n"); + fprintf(stderr, "ih_magic: \t\t0x%x\n", be32_to_cpu(uimage_hd_ptr->ih_magic)); + fprintf(stderr, "ih_hcrc: \t\t0x%x\n", be32_to_cpu(uimage_hd_ptr->ih_hcrc)); + fprintf(stderr, "ih_time: \t\t0x%x\n", be32_to_cpu(uimage_hd_ptr->ih_time)); + fprintf(stderr, "ih_size: \t\t0x%x\n", be32_to_cpu(uimage_hd_ptr->ih_size)); + fprintf(stderr, "ih_load: \t\t0x%x\n", be32_to_cpu(uimage_hd_ptr->ih_load)); + fprintf(stderr, "ih_ep: \t\t\t0x%x\n", be32_to_cpu(uimage_hd_ptr->ih_ep)); + fprintf(stderr, "ih_dcrc: \t\t0x%x\n", be32_to_cpu(uimage_hd_ptr->ih_dcrc)); + fprintf(stderr, "ih_os: \t\t\t0x%x\n", uimage_hd_ptr->ih_os); + fprintf(stderr, "ih_arch: \t\t0x%x\n", uimage_hd_ptr->ih_arch); + fprintf(stderr, "ih_type: \t\t0x%x\n", uimage_hd_ptr->ih_type); + fprintf(stderr, "ih_comp: \t\t0x%x\n", uimage_hd_ptr->ih_comp); + fprintf(stderr, "ih_name: \t\t%s\n", uimage_hd_ptr->ih_name); +} + +void set_uimage_header(uimage_header_t * uimage_hd_ptr, int fd, uint32_t ep) +{ + uint32_t checksum; + time_t time; + struct stat sbuf; + void *file_ptr; + + if (fstat(fd, &sbuf) < 0) { + fprintf(stderr, "set_uimage_header error: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + } + + time = sbuf.st_mtime; + + file_ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, fd, 0); + if (file_ptr == MAP_FAILED) { + fprintf (stderr, "set_uimage_header, File can't read %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + + checksum = crc32(0, + (const unsigned char *)(file_ptr), sbuf.st_size); /* crc for image and ivt, not include CSF and uimage header */ + + uimage_hd_ptr->ih_magic = cpu_to_be32(IH_MAGIC); + uimage_hd_ptr->ih_time = cpu_to_be32(time); + uimage_hd_ptr->ih_size = cpu_to_be32((sbuf.st_size + 0x2000 - sizeof(flash_header_v2_t))); /* The st_size already contain the flash_header */ + uimage_hd_ptr->ih_load = cpu_to_be32(ep); + uimage_hd_ptr->ih_ep = cpu_to_be32(ep); + uimage_hd_ptr->ih_dcrc = cpu_to_be32(checksum); + uimage_hd_ptr->ih_os = IH_OS_U_BOOT; + uimage_hd_ptr->ih_arch = IH_ARCH_ARM; + uimage_hd_ptr->ih_type = IH_TYPE_FIRMWARE; + uimage_hd_ptr->ih_comp = IH_COMP_NONE; + + strncpy((char *)uimage_hd_ptr->ih_name, "Second uimage loader", IH_NMLEN); + + checksum = crc32(0, (const unsigned char *)uimage_hd_ptr, + sizeof(uimage_header_t)); + uimage_hd_ptr->ih_hcrc = cpu_to_be32(checksum); +} + +void generate_sld_with_ivt(char * input_file, uint32_t ep, char *out_file) +{ +#define IVT_ALIGN 0x1000 + + struct stat sbuf; + void *file_ptr; + int ivt_fd, input_fd; + int aligned_size; + + int i; + char pad = 0; + + input_fd = open(input_file, O_RDONLY | O_BINARY); + if (input_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + input_file, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(input_fd, &sbuf) < 0) { + fprintf(stderr, "generate_sld_with_ivt error: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + } + + file_ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, input_fd, 0); + if (file_ptr == MAP_FAILED) { + fprintf (stderr, "generate_sld_with_ivt, File can't read %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + + ivt_fd = open (out_file, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666); + if (ivt_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + "sld-ivt.bin", strerror(errno)); + exit(EXIT_FAILURE); + } + + if (write(ivt_fd, file_ptr, sbuf.st_size) != sbuf.st_size) { + fprintf(stderr, "error writing sld-ivt image\n"); + exit(EXIT_FAILURE); + } + + aligned_size = (sbuf.st_size + sizeof(uimage_header_t) + IVT_ALIGN - 1) & ~(IVT_ALIGN - 1); + i = sbuf.st_size + sizeof(uimage_header_t); + + for (; i < aligned_size; i++) { + if (write(ivt_fd, (char *) &pad, 1) != 1) { + fprintf(stderr, + "Pad error on sld-ivt image\n"); + exit(EXIT_FAILURE); + } + } + + flash_header_v2_t ivt_header = { { 0xd1, 0x2000, 0x40 }, + ep, 0, 0, 0, + (ep + aligned_size - sizeof(uimage_header_t)), + (ep + aligned_size - sizeof(uimage_header_t) + 0x20), + 0 }; + + if (write(ivt_fd, &ivt_header, sizeof(flash_header_v2_t)) != sizeof(flash_header_v2_t)) { + fprintf(stderr, "IVT writing error on sld-ivt image\n"); + exit(EXIT_FAILURE); + } + + munmap((void *)file_ptr, sbuf.st_size); + close(ivt_fd); + close(input_fd); +} + +/* Return this IVT offset in the final output file */ +int generate_ivt_for_fit(int fd, int fit_offset, uint32_t ep, uint32_t *fit_load_addr) +{ + uimage_header_t image_header; + + uint32_t fit_size, load_addr; + int align_len = 64 - 1; /* 64 is cacheline size */ + int ret; + + ret = lseek(fd, fit_offset, SEEK_SET); + if (ret < 0) { + fprintf(stderr, "%s: lseek error %s\n", + __func__, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (read(fd, (char *)&image_header, sizeof(uimage_header_t)) != sizeof(uimage_header_t)) { + fprintf (stderr, "generate_ivt_for_fit read failed: %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + + if (be32_to_cpu(image_header.ih_magic) != FDT_MAGIC){ + fprintf (stderr, "generate_ivt_for_fit error: not a FIT file\n"); + exit (EXIT_FAILURE); + } + + fit_size = fdt_totalsize(&image_header); + fit_size = (fit_size + 3) & ~3; + +#define ALIGN_SIZE 0x1000 + + fit_size = ALIGN(fit_size, ALIGN_SIZE); + + ret = lseek(fd, fit_offset + fit_size, SEEK_SET); + if (ret < 0) { + fprintf(stderr, "%s: lseek error %s\n", + __func__, strerror(errno)); + exit(EXIT_FAILURE); + } + + /* ep is the u-boot entry. SPL loads the FIT before the u-boot address. 0x2000 is for CSF_SIZE */ + load_addr = (ep - (fit_size + CSF_SIZE) - 512 - + align_len) & ~align_len; + + flash_header_v2_t ivt_header = { { 0xd1, 0x2000, 0x40 }, + load_addr, 0, 0, 0, + (load_addr + fit_size), + (load_addr + fit_size + 0x20), + 0 }; + + if (write(fd, &ivt_header, sizeof(flash_header_v2_t)) != sizeof(flash_header_v2_t)) { + fprintf(stderr, "IVT writing error on fit image\n"); + exit(EXIT_FAILURE); + } + + *fit_load_addr = load_addr; + + return fit_offset + fit_size; + +} + +int main(int argc, char **argv) +{ + int c, file_off, plugin_fd = -1, hdmi_fd = -1, ap_fd = -1, csf_hdmi_fd = -1, csf_fd = -1, ofd = -1, csf_plugin_fd = -1, sld_fd = -1; + unsigned int dcd_size = 0, plugin_start_addr = 0, ap_start_addr = 0, sld_start_addr = 0, sld_src_off = 0, sld_csf_off = 0, sld_load_addr = 0; + char *ofname = NULL, *hdmi_img = NULL, *dcd_img = NULL, *plugin_img = NULL, *ap_img = NULL, *csf_img = NULL, *csf_plugin_img = NULL, *csf_hdmi_img = NULL, *sld_img = NULL; + char *signed_hdmi = NULL; + static imx_header_v2_t imx_header[3]; /* At most there are 3 IVT headers */ + uint32_t ivt_offset = IVT_OFFSET_SD; + uint32_t rom_image_offset = IMAGE_OFFSET_SD; + uint32_t sector_size = 0x200; + struct stat sbuf; + uint32_t plugin_off = 0, hdmi_off = 0, image_off = 0, csf_plugin_off = 0, csf_hdmi_off = 0, csf_off = 0; + uint32_t header_hdmi_off = 0, header_hdmi_2_off = 0, header_plugin_off = 0, header_image_off = 0, dcd_off = 0; + uint32_t sld_header_off = 0; + int using_fit = 0; + dcd_v2_t dcd_table; + uimage_header_t uimage_hdr; + + static struct option long_options[] = + { + {"loader", required_argument, NULL, 'i'}, + {"dcd", required_argument, NULL, 'd'}, + {"fit", no_argument, NULL, 'f'}, + {"out", required_argument, NULL, 'o'}, + {"plugin", required_argument, NULL, 'p'}, + {"hdmi", required_argument, NULL, 'h'}, + {"signed_hdmi", required_argument, NULL, 's'}, + {"csf_plugin", required_argument, NULL, 'q'}, + {"csf_hdmi", required_argument, NULL, 'm'}, + {"dev", required_argument, NULL, 'e'}, + {"csf", required_argument, NULL, 'c'}, + {"second_loader", required_argument, NULL, 'u'}, + {NULL, 0, NULL, 0} + }; + + memset((char*)&imx_header, 0, sizeof(imx_header_v2_t) * 3); + + fprintf(stderr, "Platform:\ti.MX8M (mScale)\n"); + + while(1) + { + /* getopt_long stores the option index here. */ + int option_index = 0; + + c = getopt_long_only (argc, argv, ":i:f:d:o:p:h:q:m:e:b:", + long_options, &option_index); + + /* Detect the end of the options. */ + if (c == -1) + break; + + switch (c) + { + case 0: + fprintf(stderr, "option %s", long_options[option_index].name); + if (optarg) + fprintf(stderr, " with arg %s", optarg); + fprintf(stderr, "\n"); + break; + case 'd': + fprintf(stderr, "DCD:\t%s\n", optarg); + dcd_img = optarg; + break; + case 'f': + fprintf(stderr, "Using FIT image\n"); + using_fit = 1; + break; + case 'p': + fprintf(stderr, "PLUGIN:\t%s", optarg); + plugin_img = optarg; + if (optind < argc && *argv[optind] != '-') { + plugin_start_addr = (uint32_t) strtoll(argv[optind++], NULL, 0); + fprintf(stderr, " start addr: 0x%08x\n", plugin_start_addr); + } else { + fprintf(stderr, "\n-plugin option require TWO arguments: filename, start address in hex\n\n"); + exit(1); + } + break; + case 'i': + fprintf(stderr, "LOADER IMAGE:\t%s", optarg); + ap_img = optarg; + if (optind < argc && *argv[optind] != '-') { + ap_start_addr = (uint32_t) strtoll(argv[optind++], NULL, 0); + + fprintf(stderr, " start addr: 0x%08x\n", ap_start_addr); + } else { + fprintf(stderr, "\n-loader option require TWO arguments: filename, start address in hex\n\n"); + exit(1); + } + break; + case 'h': + fprintf(stderr, "HDMI FW:\t%s\n", optarg); /* Fixed address for HDMI Firmware */ + hdmi_img = optarg; + break; + case 's': + fprintf(stderr, "SIGNED HDMI FW:\t%s\n", optarg); /* Fixed address for HDMI Firmware */ + signed_hdmi = optarg; + break; + case 'o': + fprintf(stderr, "Output:\t\t%s\n", optarg); + ofname = optarg; + break; + case 'c': + fprintf(stderr, "CSF:\t%s\n", optarg); + csf_img = optarg; + break; + case 'q': + fprintf(stderr, "CSF_PLUGIN:\t%s\n", optarg); + csf_plugin_img = optarg; + break; + case 'm': + fprintf(stderr, "CSF_HDMI:\t%s\n", optarg); + csf_hdmi_img = optarg; + break; + case 'e': + fprintf(stderr, "BOOT DEVICE:\t%s\n", optarg); + if (!strcmp(optarg, "flexspi")) { + ivt_offset = IVT_OFFSET_FLEXSPI; + rom_image_offset = 0; + } else if (!strcmp(optarg, "sd")) { + ivt_offset = IVT_OFFSET_SD; + rom_image_offset = IMAGE_OFFSET_SD; + } else if (!strcmp(optarg, "emmc_fastboot")) { + ivt_offset = IVT_OFFSET_SD; + rom_image_offset = 0; + } else { + fprintf(stderr, "\n-dev option, Valid boot devices are sd, emmc_fastboot or nand\n\n"); + exit(1); + } + break; + case 'u': + fprintf(stderr, "SECOND LOADER IMAGE:\t%s", optarg); + sld_img = optarg; + if ((optind < argc && *argv[optind] != '-') && (optind+1 < argc &&*argv[optind+1] != '-' )) { + sld_start_addr = (uint32_t) strtoll(argv[optind++], NULL, 0); + sld_src_off = (uint32_t) strtoll(argv[optind++], NULL, 0); + + fprintf(stderr, " start addr: 0x%08x", sld_start_addr); + fprintf(stderr, " offset: 0x%08x\n", sld_src_off); + } else { + fprintf(stderr, "\n-second_loader option require TWO arguments: filename, start address in hex\n\n"); + exit(1); + } + break; + case ':': + fprintf(stderr, "option %c missing arguments\n", optopt); + break; + case '?': + default: + /* invalid option */ + fprintf(stderr, "option '%c' is invalid: ignored\n", + optopt); + exit(1); + } + } + + if((ap_img == NULL) || (ofname == NULL)) + { + fprintf(stderr, "mandatory args image and output file name missing! abort\n"); + exit(1); + } + + if((dcd_img != NULL) && (plugin_img != NULL)) + { + fprintf(stderr, "Can't enable DCD and PLUGIN at same time! abort\n"); + exit(1); + } + + file_off = 0; + + if (signed_hdmi) { + header_hdmi_off = file_off + ivt_offset; + + hdmi_fd = open(signed_hdmi, O_RDONLY | O_BINARY); + if (hdmi_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + signed_hdmi, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(hdmi_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + signed_hdmi, strerror(errno)); + exit(EXIT_FAILURE); + } + close(hdmi_fd); + + /* Aligned to 104KB = 92KB FW image + 0x8000 (IVT and alignment) + 0x4000 (second IVT + CSF)*/ + file_off += ALIGN(sbuf.st_size, HDMI_FW_SIZE + 0x2000 + 0x1000); + } + + /* Check the HDMI image and set its IVT first */ + if(!signed_hdmi && hdmi_img) { + + header_hdmi_off = file_off + ivt_offset; + + file_off += ALIGN(sizeof(imx_header_v2_t) + ivt_offset, 0x2000); /* Aligned to 8KB */ + + + hdmi_fd = open(hdmi_img, O_RDONLY | O_BINARY); + if (hdmi_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + hdmi_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(hdmi_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + hdmi_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(hdmi_fd); + + if (sbuf.st_size > HDMI_FW_SIZE) { + fprintf(stderr, "%s: size is too large:%ld\n", + hdmi_img, sbuf.st_size); + exit(EXIT_FAILURE); + } + + hdmi_off = file_off; + + file_off += ALIGN(sbuf.st_size, HDMI_FW_SIZE); /* Aligned to 96KB */ + + imx_header[HDMI_IVT_ID].fhdr.header.tag = IVT_HEADER_TAG; /* 0xD1 */ + imx_header[HDMI_IVT_ID].fhdr.header.length = cpu_to_be16(sizeof(flash_header_v2_t)); + imx_header[HDMI_IVT_ID].fhdr.header.version = IVT_VERSION; /* 0x40 */ + + /* There are some tricks for HDMI FW. + * 1. ROM only copies the FW image after IVT head (8K offset), to the address pointed by boot data + * This means, we need set boot_data-> start to the HDMI imem. Set the boot_data->size + * to the HDMI FW (imem + dmem) + HDMI IVT. + * 2. The imem address can't be put IVT head. and IVT head won't be copied by ROM. But the CSF needs to + * check the IVT. So we have to set IVT load address to the address after HDMI FW. And attach another + * IVT head after HDMI FW. + * Finally, there will be two IVT attached to HDMI FW. First one is for ROM initial loading. ROM won't copy it. + * Second one is as a part of FW image, and be loaded to the specified dmem address in IVT. + */ + + imx_header[HDMI_IVT_ID].fhdr.entry = HDMI_FW_ADDR; /* 0?*/ + imx_header[HDMI_IVT_ID].fhdr.dcd_ptr = 0; + imx_header[HDMI_IVT_ID].fhdr.self = HDMI_FW_ADDR + HDMI_FW_SIZE; + imx_header[HDMI_IVT_ID].fhdr.boot_data_ptr = imx_header[0].fhdr.self + offsetof(imx_header_v2_t, boot_data); + + imx_header[HDMI_IVT_ID].boot_data.start = HDMI_FW_ADDR; + imx_header[HDMI_IVT_ID].boot_data.size = HDMI_FW_SIZE + 0x1000; /* 96KB = HDMI FW + HDMI IVT & CSF (4KB)*/ + imx_header[HDMI_IVT_ID].boot_data.plugin = HDMI_IMAGE_FLAG_MASK; + + header_hdmi_2_off = file_off; + + if (csf_hdmi_img) { + + csf_hdmi_fd = open(csf_hdmi_img, O_RDONLY | O_BINARY); + if (csf_hdmi_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + csf_hdmi_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(csf_hdmi_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + csf_hdmi_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(csf_hdmi_fd); + } + imx_header[HDMI_IVT_ID].fhdr.csf = imx_header[HDMI_IVT_ID].fhdr.self + ALIGN(sizeof(imx_header_v2_t), 64); /* The fhdr + boot_data is 48 bytes, we align to 64 */ + csf_hdmi_off = header_hdmi_2_off + (imx_header[HDMI_IVT_ID].fhdr.csf - imx_header[HDMI_IVT_ID].fhdr.self); + + /* no matter if the hdmi csf exists, we still add 4KB for IVT and CSF*/ + file_off += ALIGN(sizeof(imx_header_v2_t), 0x1000); /* Aligned to 4KB */ + } + + if(plugin_img) { + header_plugin_off = file_off + ivt_offset; + + plugin_fd = open(plugin_img, O_RDONLY | O_BINARY); + if (plugin_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + plugin_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(plugin_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + plugin_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(plugin_fd); + + imx_header[PLUGIN_IVT_ID].fhdr.header.tag = IVT_HEADER_TAG; /* 0xD1 */ + imx_header[PLUGIN_IVT_ID].fhdr.header.length = cpu_to_be16(sizeof(flash_header_v2_t)); + imx_header[PLUGIN_IVT_ID].fhdr.header.version = IVT_VERSION; /* 0x40 */ + imx_header[PLUGIN_IVT_ID].fhdr.entry = plugin_start_addr; + imx_header[PLUGIN_IVT_ID].fhdr.dcd_ptr = 0; + imx_header[PLUGIN_IVT_ID].fhdr.self = plugin_start_addr - sizeof(imx_header_v2_t); + imx_header[PLUGIN_IVT_ID].fhdr.boot_data_ptr = imx_header[PLUGIN_IVT_ID].fhdr.self + offsetof(imx_header_v2_t, boot_data); + + imx_header[PLUGIN_IVT_ID].boot_data.start = imx_header[PLUGIN_IVT_ID].fhdr.self - ivt_offset; + + imx_header[PLUGIN_IVT_ID].boot_data.plugin = PLUGIN_IMAGE_FLAG_MASK; + imx_header[PLUGIN_IVT_ID].boot_data.size = ALIGN(sbuf.st_size + sizeof(imx_header_v2_t) + ivt_offset, sector_size); + + plugin_off = file_off + sizeof(imx_header_v2_t) + ivt_offset; + file_off += imx_header[PLUGIN_IVT_ID].boot_data.size; + + if(csf_plugin_img) { + csf_plugin_fd = open(csf_plugin_img, O_RDONLY | O_BINARY); + if (csf_plugin_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + csf_plugin_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(csf_plugin_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + csf_plugin_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(csf_plugin_fd); + + imx_header[PLUGIN_IVT_ID].fhdr.csf = imx_header[PLUGIN_IVT_ID].boot_data.start + imx_header[PLUGIN_IVT_ID].boot_data.size; + imx_header[PLUGIN_IVT_ID].boot_data.size += ALIGN(sbuf.st_size, 64); + + csf_plugin_off = file_off; + file_off += ALIGN(sbuf.st_size, 64); /* Align for the next IVT */ + } + + /* We attach the secondary IVT to the plugin image (CSF contained), and set it to load with plugin image. + * Thus plugin can use (plugin_IVT.boot_data.start + plugin_IVT.boot_data.size - sizeof(imx_header_v2_t)) to get the secondary IVT pointer + */ + imx_header[PLUGIN_IVT_ID].boot_data.size += sizeof(imx_header_v2_t); /* Add the secondary IVT size, need to load it with plugin image */ + + header_image_off = file_off; + } else { + header_image_off = file_off + ivt_offset; + } + + /* First boot loader image */ + if (dcd_img) { + dcd_size = parse_cfg_file(&dcd_table, dcd_img); + fprintf(stderr, "dcd size = %d\n", dcd_size); + + if (ALIGN(dcd_size, 64) > (ROM_INITIAL_LOAD_SIZE - ivt_offset - sizeof(imx_header_v2_t))) { + fprintf(stderr, "DCD table with size %u exceeds maximum size %lu\n", ALIGN(dcd_size, 64), (ROM_INITIAL_LOAD_SIZE - ivt_offset - sizeof(imx_header_v2_t))); + exit(EXIT_FAILURE); + } + } + + ap_fd = open(ap_img, O_RDONLY | O_BINARY); + if (ap_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + ap_img, strerror(errno)); + exit(EXIT_FAILURE); + } + if (fstat(ap_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + ap_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(ap_fd); + + imx_header[IMAGE_IVT_ID].fhdr.header.tag = IVT_HEADER_TAG; /* 0xD1 */ + imx_header[IMAGE_IVT_ID].fhdr.header.length = cpu_to_be16(sizeof(flash_header_v2_t)); + imx_header[IMAGE_IVT_ID].fhdr.header.version = IVT_VERSION; /* 0x41 */ + imx_header[IMAGE_IVT_ID].fhdr.entry = ap_start_addr; + + imx_header[IMAGE_IVT_ID].fhdr.self = ap_start_addr - sizeof(imx_header_v2_t) - ALIGN(dcd_size, 64); + if (dcd_size) { + imx_header[IMAGE_IVT_ID].fhdr.dcd_ptr = imx_header[IMAGE_IVT_ID].fhdr.self + sizeof(imx_header_v2_t); + dcd_off = header_image_off + sizeof(imx_header_v2_t); + } else { + imx_header[IMAGE_IVT_ID].fhdr.dcd_ptr = 0; + } + + imx_header[IMAGE_IVT_ID].fhdr.boot_data_ptr = imx_header[IMAGE_IVT_ID].fhdr.self + offsetof(imx_header_v2_t, boot_data); + + /* When using plugin, the ROM read data from image offset again in pu_irom_hwcnfg_setup, so the boot_data.start and size must align to the rom_image_offset position in boot device + * This means we have to contain the PLUGIN image things (IVT, plugin, plugin csf) + */ + if (plugin_img) { + imx_header[IMAGE_IVT_ID].boot_data.start = imx_header[IMAGE_IVT_ID].fhdr.self - (imx_header[PLUGIN_IVT_ID].boot_data.size - sizeof(imx_header_v2_t)); + imx_header[IMAGE_IVT_ID].boot_data.size = ALIGN(sbuf.st_size + sizeof(imx_header_v2_t),sector_size) + + (imx_header[PLUGIN_IVT_ID].boot_data.size - sizeof(imx_header_v2_t)); + + image_off = header_image_off + sizeof(imx_header_v2_t); + file_off += ALIGN(sbuf.st_size + sizeof(imx_header_v2_t), sector_size); + } else { + imx_header[IMAGE_IVT_ID].boot_data.start = imx_header[IMAGE_IVT_ID].fhdr.self - ivt_offset; + imx_header[IMAGE_IVT_ID].boot_data.size = ALIGN(sbuf.st_size + sizeof(imx_header_v2_t) + ivt_offset + ALIGN(dcd_size, 64), sector_size); + + image_off = header_image_off + sizeof(imx_header_v2_t) + ALIGN(dcd_size, 64); + file_off += imx_header[IMAGE_IVT_ID].boot_data.size; + } + + imx_header[IMAGE_IVT_ID].boot_data.plugin = 0; + + if (csf_img) { + csf_fd = open(csf_img, O_RDONLY | O_BINARY); + if (csf_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + csf_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(csf_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + csf_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(csf_fd); + + if (sbuf.st_size > CSF_DATA_SIZE) { + fprintf(stderr, "%s: file size %ld is larger than CSF_DATA_SIZE %d\n", + csf_img, sbuf.st_size, CSF_DATA_SIZE); + exit(EXIT_FAILURE); + } + + imx_header[IMAGE_IVT_ID].fhdr.csf = imx_header[IMAGE_IVT_ID].boot_data.start + imx_header[IMAGE_IVT_ID].boot_data.size; + + imx_header[IMAGE_IVT_ID].boot_data.size += sbuf.st_size; + + csf_off = file_off; + file_off += sbuf.st_size; + } else { + imx_header[IMAGE_IVT_ID].fhdr.csf = imx_header[IMAGE_IVT_ID].boot_data.start + imx_header[IMAGE_IVT_ID].boot_data.size; + + imx_header[IMAGE_IVT_ID].boot_data.size += CSF_SIZE; /* 8K region dummy CSF */ + + csf_off = file_off; + file_off += CSF_SIZE; + } + + /* Second boot loader image */ + if (sld_img) { + if (!using_fit) { + char sld_ivt_img[32]; + memset(&sld_ivt_img, 0, 32); + + strncpy((char *)&sld_ivt_img, sld_img, (32 - 5)); + strcat((char *)&sld_ivt_img, ".ivt"); + + fprintf(stderr, "SECOND LOADER IVT File:\t%s\n", (char *)&sld_ivt_img); + + /* We add 8K region for IVT and CSF to this second boot loader image*/ + /* According to u-boot authentication, the image size before IVT should align to 0x1000, this image size includes the uimage header because + * we also need to sign and authenticate the uimage header. + * Because the 8K region is added, we has to modify the size field in uimage to add the alignment padding and 8K region. This size does NOT include + * the size of uimage header. + */ + generate_sld_with_ivt(sld_img, sld_start_addr, (char *)&sld_ivt_img); + sld_img = (char *)&sld_ivt_img; /* Change to the sld_ivt image */ + + sld_header_off = sld_src_off - rom_image_offset; + imx_header[IMAGE_IVT_ID].fhdr.reserved1 = sld_header_off - header_image_off; /* Record the second bootloader relative offset in image's IVT reserved1*/ + + sld_fd = open(sld_img, O_RDONLY | O_BINARY); + if (sld_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + sld_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(sld_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + sld_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + set_uimage_header(&uimage_hdr, sld_fd, sld_start_addr); + + close(sld_fd); + + file_off = sld_header_off; + file_off += sbuf.st_size + sizeof(uimage_header_t); + + sld_csf_off = file_off; + file_off += CSF_SIZE - sizeof(flash_header_v2_t); + }else { + sld_header_off = sld_src_off - rom_image_offset; + imx_header[IMAGE_IVT_ID].fhdr.reserved1 = sld_header_off - header_image_off; /* Record the second bootloader relative offset in image's IVT reserved1*/ + sld_fd = open(sld_img, O_RDONLY | O_BINARY); + if (sld_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + sld_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(sld_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + sld_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + close(sld_fd); + + file_off = sld_header_off; + file_off += sbuf.st_size + sizeof(uimage_header_t); + } + } + + + /* Open output file */ + ofd = open (ofname, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666); + if (ofd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + ofname, strerror(errno)); + exit(EXIT_FAILURE); + } + + if(signed_hdmi) { + header_hdmi_off -= ivt_offset; + lseek(ofd, header_hdmi_off, SEEK_SET); + + /* The signed HDMI FW has 0x400 IVT offset, need remove it */ + copy_file(ofd, signed_hdmi, 0, header_hdmi_off, 0x400); + } + + if(!signed_hdmi && hdmi_img) { + header_hdmi_off -= ivt_offset; + hdmi_off -= ivt_offset; + header_hdmi_2_off -= ivt_offset; + + lseek(ofd, header_hdmi_off, SEEK_SET); + + /* Write image header */ + if (write(ofd, &imx_header[HDMI_IVT_ID], sizeof(imx_header_v2_t)) != sizeof(imx_header_v2_t)) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + }; + + copy_file(ofd, hdmi_img, 0, hdmi_off, 0); + + lseek(ofd, header_hdmi_2_off, SEEK_SET); + + if (write(ofd, &imx_header[HDMI_IVT_ID], sizeof(imx_header_v2_t)) != sizeof(imx_header_v2_t)) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + } + + if (csf_hdmi_img) { + csf_hdmi_off -= ivt_offset; + copy_file(ofd, csf_hdmi_img, 0, csf_hdmi_off, 0); + } + } + + if(plugin_img) { + header_plugin_off -= ivt_offset; + plugin_off -= ivt_offset; + + lseek(ofd, header_plugin_off, SEEK_SET); + + /* Write image header */ + if (write(ofd, &imx_header[PLUGIN_IVT_ID], sizeof(imx_header_v2_t)) != sizeof(imx_header_v2_t)) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + } + + copy_file(ofd, plugin_img, 0, plugin_off, 0); + + if (csf_plugin_img) { + csf_plugin_off -= ivt_offset; + copy_file(ofd, csf_plugin_img, 0, csf_plugin_off, 0); + } + } + + /* Main Image */ + header_image_off -= ivt_offset; + image_off -= ivt_offset; + lseek(ofd, header_image_off, SEEK_SET); + + /* Write image header */ + if (write(ofd, &imx_header[IMAGE_IVT_ID], sizeof(imx_header_v2_t)) != sizeof(imx_header_v2_t)) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + } + + if (dcd_size) { + dcd_off -= ivt_offset; + lseek(ofd, dcd_off, SEEK_SET); + + if (write(ofd, &dcd_table, dcd_size) != dcd_size) { + fprintf(stderr, "error writing dcd\n"); + exit(1); + } + } + + copy_file(ofd, ap_img, 0, image_off, 0); + + if (csf_img) { + csf_off -= ivt_offset; + copy_file(ofd, csf_img, 0, csf_off, 0); + } else { + csf_off -= ivt_offset; + fill_zero(ofd, CSF_SIZE, csf_off); + } + + if (sld_img) { + sld_header_off -= ivt_offset; + lseek(ofd, sld_header_off, SEEK_SET); + + /* Write image header */ + if (!using_fit) { + /* Write image header */ + if (write(ofd, &uimage_hdr, sizeof(uimage_header_t)) != sizeof(uimage_header_t)) { + fprintf(stderr, "error writing uimage hdr\n"); + exit(1); + } + + copy_file(ofd, sld_img, 0, sld_header_off + sizeof(uimage_header_t), 0); + fill_zero(ofd, CSF_SIZE - sizeof(flash_header_v2_t), sld_csf_off); + sld_csf_off -= ivt_offset; + sld_load_addr = sld_start_addr - (uint32_t)sizeof(uimage_header_t); + } else { + copy_file(ofd, sld_img, 0, sld_header_off, 0); + sld_csf_off = generate_ivt_for_fit(ofd, sld_header_off, sld_start_addr, &sld_load_addr) + 0x20; + } + } + + /* Close output file */ + close(ofd); + + if (!signed_hdmi) + dump_header_v2(imx_header, 0); + dump_header_v2(imx_header, 1); + dump_header_v2(imx_header, 2); + + if (!using_fit) + dump_uimage_header(&uimage_hdr); + + fprintf(stderr, "========= OFFSET dump ========="); + if (signed_hdmi) { + fprintf(stderr, "\nSIGNED HDMI FW:\n"); + fprintf(stderr, " header_hdmi_off \t0x%x\n", + header_hdmi_off); + } else { + fprintf(stderr, "\nHDMI FW:\n"); + fprintf(stderr, " header_hdmi_off \t0x%x\n hdmi_off \t\t0x%x\n header_hdmi_2_off \t0x%x\n csf_hdmi_off \t\t0x%x\n", + header_hdmi_off, hdmi_off, header_hdmi_2_off, csf_hdmi_off); + } + + fprintf(stderr, "\nPLUGIN:\n"); + fprintf(stderr, " header_plugin_off \t0x%x\n plugin_off \t\t0x%x\n csf_plugin_off \t0x%x\n", + header_plugin_off, plugin_off, csf_plugin_off); + + fprintf(stderr, "\nLoader IMAGE:\n"); + fprintf(stderr, " header_image_off \t0x%x\n dcd_off \t\t0x%x\n image_off \t\t0x%x\n csf_off \t\t0x%x\n", + header_image_off, dcd_off, image_off, csf_off); + fprintf(stderr, " spl hab block: \t0x%x 0x%x 0x%x\n", + imx_header[IMAGE_IVT_ID].fhdr.self, header_image_off, csf_off - header_image_off); + + fprintf(stderr, "\nSecond Loader IMAGE:\n"); + fprintf(stderr, " sld_header_off \t0x%x\n", + sld_header_off); + fprintf(stderr, " sld_csf_off \t\t0x%x\n", + sld_csf_off); + fprintf(stderr, " sld hab block: \t0x%x 0x%x 0x%x\n", + sld_load_addr, sld_header_off, sld_csf_off - sld_header_off); + + return 0; +} + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_uboot b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/mkimage_uboot new file mode 100755 index 0000000000000000000000000000000000000000..7377d7ec988cbe7710700483629af44aa9d62ea3 GIT binary patch literal 197272 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

P>`CWoAZkC&JWAQ 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 z%0D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 literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/print_fit_hab.sh b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/print_fit_hab.sh new file mode 100755 index 0000000..b5a41cf --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/print_fit_hab.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +BL32="tee.bin" + +let fit_off=$1 + +# keep backward compatibility +[ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000" + +if [ -z "$ATF_LOAD_ADDR" ]; then + echo "ERROR: BL31 load address is not set" >&2 + exit 0 +fi + +# We dd flash.bin to 33KB "0x8400" offset, so need minus 0x8400 +let uboot_sign_off=$((fit_off - 0x8400 + 0x3000)) +let uboot_size=$(ls -lct u-boot-nodtb.bin | awk '{print $5}') +let uboot_load_addr=0x40200000 + +let atf_sign_off=$(((uboot_sign_off + uboot_size + 3) & ~3)) +let atf_load_addr=$ATF_LOAD_ADDR +let atf_size=$(ls -lct bl31.bin | awk '{print $5}') + +if [ ! -f $BL32 ]; then + let tee_size=0x0 + let tee_sign_off=$((atf_sign_off + atf_size)) +else + let tee_size=$(ls -lct tee.bin | awk '{print $5}') + + let tee_sign_off=$(((atf_sign_off + atf_size + 3) & ~3)) + let tee_load_addr=$TEE_LOAD_ADDR +fi + +let last_sign_off=$(((tee_sign_off + tee_size + 3) & ~3)) +let last_size=$((tee_size)) +let last_load_addr=$((uboot_load_addr + uboot_size)) + +uboot_size=`printf "0x%X" ${uboot_size}` +uboot_sign_off=`printf "0x%X" ${uboot_sign_off}` +uboot_load_addr=`printf "0x%X" ${uboot_load_addr}` + +tee_size=`printf "0x%X" ${tee_size}` +tee_sign_off=`printf "0x%X" ${tee_sign_off}` +tee_load_addr=`printf "0x%X" ${tee_load_addr}` + +atf_size=`printf "0x%X" ${atf_size}` +atf_sign_off=`printf "0x%X" ${atf_sign_off}` +atf_load_addr=`printf "0x%X" ${atf_load_addr}` + +echo ${uboot_load_addr} ${uboot_sign_off} ${uboot_size} +echo ${atf_load_addr} ${atf_sign_off} ${atf_size} + +if [ ${tee_size} != 0x0 ] +then + echo ${tee_load_addr} ${tee_sign_off} ${tee_size} +fi + +cnt=0 +for dtname in $* +do + if [ ${cnt} != 0 ] + then + let fdt${cnt}_size=$(ls -lct $dtname | awk '{print $5}') + + let fdt${cnt}_sign_off=$((last_sign_off)) + let fdt${cnt}_load_addr=$((last_load_addr)) + let last_size=$((fdt${cnt}_size)) + + fdt_size=`printf "0x%X" ${last_size}` + fdt_sign_off=`printf "0x%X" ${last_sign_off}` + fdt_load_addr=`printf "0x%X" ${last_load_addr}` + + let last_sign_off=$(((last_sign_off + fdt${cnt}_size + 3) & ~3)) + let last_load_addr=$((last_load_addr + fdt${cnt}_size)) + + echo ${fdt_load_addr} ${fdt_sign_off} ${fdt_size} + fi + + cnt=$((cnt+1)) +done diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/soc.mak b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/soc.mak new file mode 100644 index 0000000..cc56bc9 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/soc.mak @@ -0,0 +1,185 @@ +MKIMG = mkimage_imx8 +OUTIMG = flash.bin + +CC ?= gcc +CFLAGS ?= -O2 -Wall -std=c99 -static +INCLUDE = ./lib + +WGET = /usr/bin/wget +N ?= latest +SERVER=http://yb2.am.freescale.net +#DIR = internal-only/Linux_IMX_Rocko_MX8/$(N)/common_bsp +#DIR = internal-only/Linux_IMX_Rocko_MX8/$(N)/common_bsp +#DIR = internal-only/Linux_IMX_Core/$(N)/common_bsp +DIR = internal-only/Linux_IMX_Regression/$(N)/common_bsp + +BITBUCKET_SERVER=https://bitbucket.sw.nxp.com +DDR_FW_DIR=projects/IMX/repos/linux-firmware-imx/raw/firmware/ddr/synopsys +PAD_IMAGE = ../scripts/pad_image.sh + +ifeq ($(SOC),iMX8MM) +PLAT = imx8mm +HDMI = no +TEE_LOAD_ADDR = 0xbe000000 +ATF_LOAD_ADDR = 0x00920000 +VAL_BOARD = val +#define the F(Q)SPI header file +QSPI_HEADER = ../scripts/fspi_header +QSPI_PACKER = ../scripts/fspi_packer.sh +else +PLAT = imx8mq +HDMI = yes +TEE_LOAD_ADDR = 0xfe000000 +ATF_LOAD_ADDR = 0x00910000 +VAL_BOARD = arm2 +#define the F(Q)SPI header file +QSPI_HEADER = ../scripts/qspi_header +QSPI_PACKER = ../scripts/fspi_packer.sh +endif + +FW_DIR = imx-boot/imx-boot-tools/$(PLAT) + +$(MKIMG): mkimage_imx8.c + @echo "PLAT="$(PLAT) "HDMI="$(HDMI) + @echo "Compiling mkimage_imx8" + $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz + +u-boot-spl-ddr.bin: u-boot-spl.bin lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_dmem.bin + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_imem_pad.bin + @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_dmem_pad.bin + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_imem_pad.bin + @cat lpddr4_pmu_train_1d_imem_pad.bin lpddr4_pmu_train_1d_dmem_pad.bin > lpddr4_pmu_train_1d_fw.bin + @cat lpddr4_pmu_train_2d_imem_pad.bin lpddr4_pmu_train_2d_dmem.bin > lpddr4_pmu_train_2d_fw.bin + @cat u-boot-spl.bin lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin > u-boot-spl-ddr.bin + @rm -f lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin lpddr4_pmu_train_1d_imem_pad.bin lpddr4_pmu_train_1d_dmem_pad.bin lpddr4_pmu_train_2d_imem_pad.bin + +u-boot-spl-ddr4.bin: u-boot-spl.bin ddr4_imem_1d.bin ddr4_dmem_1d.bin ddr4_imem_2d.bin ddr4_dmem_2d.bin + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 ddr4_imem_1d.bin ddr4_imem_1d_pad.bin + @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 ddr4_dmem_1d.bin ddr4_dmem_1d_pad.bin + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 ddr4_imem_2d.bin ddr4_imem_2d_pad.bin + @cat ddr4_imem_1d_pad.bin ddr4_dmem_1d_pad.bin > ddr4_1d_fw.bin + @cat ddr4_imem_2d_pad.bin ddr4_dmem_2d.bin > ddr4_2d_fw.bin + @cat u-boot-spl.bin ddr4_1d_fw.bin ddr4_2d_fw.bin > u-boot-spl-ddr4.bin + @rm -f ddr4_1d_fw.bin ddr4_2d_fw.bin ddr4_imem_1d_pad.bin ddr4_dmem_1d_pad.bin ddr4_imem_2d_pad.bin + +u-boot-spl-ddr3l.bin: u-boot-spl.bin ddr3_imem_1d.bin ddr3_dmem_1d.bin + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 ddr3_imem_1d.bin ddr3_imem_1d.bin_pad.bin + @cat ddr3_imem_1d.bin_pad.bin ddr3_dmem_1d.bin > ddr3_pmu_train_fw.bin + @cat u-boot-spl.bin ddr3_pmu_train_fw.bin > u-boot-spl-ddr3l.bin + @rm -f ddr3_pmu_train_fw.bin ddr3_imem_1d.bin_pad.bin + +u-boot-atf.bin: u-boot.bin bl31.bin + @cp bl31.bin u-boot-atf.bin + @dd if=u-boot.bin of=u-boot-atf.bin bs=1K seek=128 + +u-boot-atf-tee.bin: u-boot.bin bl31.bin tee.bin + @cp bl31.bin u-boot-atf-tee.bin + @dd if=tee.bin of=u-boot-atf-tee.bin bs=1K seek=128 + @dd if=u-boot.bin of=u-boot-atf-tee.bin bs=1M seek=1 + +.PHONY: clean +clean: + @rm -f $(MKIMG) u-boot-atf.bin u-boot-atf-tee.bin u-boot-spl-ddr.bin u-boot.itb u-boot.its u-boot-ddr3l.itb u-boot-ddr3l.its u-boot-spl-ddr3l.bin u-boot-ddr4.itb u-boot-ddr4.its u-boot-spl-ddr4.bin u-boot-ddr4-evk.itb u-boot-ddr4-evk.its $(OUTIMG) + +#dtbs = fsl-$(PLAT)-evk.dtb +dtbs = fsl-smarcimx8mm.dtb +u-boot.itb: $(dtbs) + ./$(PAD_IMAGE) bl31.bin + TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs) > u-boot.its + ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb + @rm -f u-boot.its + +dtbs_ddr3l = fsl-$(PLAT)-ddr3l-$(VAL_BOARD).dtb +u-boot-ddr3l.itb: $(dtbs_ddr3l) + ./$(PAD_IMAGE) bl31.bin + TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr3l) > u-boot-ddr3l.its + ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb + +dtbs_ddr4 = fsl-$(PLAT)-ddr4-$(VAL_BOARD).dtb +u-boot-ddr4.itb: $(dtbs_ddr4) + ./$(PAD_IMAGE) bl31.bin + TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr4) > u-boot-ddr4.its + ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb + +dtbs_ddr4_evk = fsl-$(PLAT)-ddr4-evk.dtb +u-boot-ddr4-evk.itb: $(dtbs_ddr4_evk) + ./$(PAD_IMAGE) bl31.bin + TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr4_evk) > u-boot-ddr4-evk.its + ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb + +ifeq ($(HDMI),yes) +flash_evk: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -fit -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_evk_emmc_fastboot: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -dev emmc_fastboot -fit -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_dp_evk: $(MKIMG) signed_dp_imx8m.bin u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -fit -signed_hdmi signed_dp_imx8m.bin -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_ddr3l_val: $(MKIMG) signed_dp_imx8m.bin u-boot-spl-ddr3l.bin u-boot-ddr3l.itb + ./mkimage_imx8 -fit -signed_hdmi signed_dp_imx8m.bin -loader u-boot-spl-ddr3l.bin 0x7E1000 -second_loader u-boot-ddr3l.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_ddr4_val: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr4.bin u-boot-ddr4.itb + ./mkimage_imx8 -fit -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr4.bin 0x7E1000 -second_loader u-boot-ddr4.itb 0x40200000 0x60000 -out $(OUTIMG) + +else +flash_evk: flash_evk_no_hdmi + +flash_evk_emmc_fastboot: flash_evk_no_hdmi_emmc_fastboot + +flash_ddr4_evk: flash_ddr4_evk_no_hdmi + +flash_ddr3l_val: flash_ddr3l_val_no_hdmi + +flash_ddr4_val: flash_ddr4_val_no_hdmi + +endif + +flash_evk_no_hdmi: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -fit -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_evk_no_hdmi_emmc_fastboot: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -dev emmc_fastboot -fit -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_ddr3l_val_no_hdmi: $(MKIMG) u-boot-spl-ddr3l.bin u-boot-ddr3l.itb + ./mkimage_imx8 -fit -loader u-boot-spl-ddr3l.bin 0x7E1000 -second_loader u-boot-ddr3l.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_ddr4_val_no_hdmi: $(MKIMG) u-boot-spl-ddr4.bin u-boot-ddr4.itb + ./mkimage_imx8 -fit -loader u-boot-spl-ddr4.bin 0x7E1000 -second_loader u-boot-ddr4.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_ddr4_evk_no_hdmi: $(MKIMG) u-boot-spl-ddr4.bin u-boot-ddr4-evk.itb + ./mkimage_imx8 -fit -loader u-boot-spl-ddr4.bin 0x7E1000 -second_loader u-boot-ddr4-evk.itb 0x40200000 0x60000 -out $(OUTIMG) + +flash_evk_flexspi: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -dev flexspi -fit -loader u-boot-spl-ddr.bin 0x7E2000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_hdmi_spl_uboot: flash_evk + +flash_dp_spl_uboot: flash_dp_evk + +flash_spl_uboot: flash_evk_no_hdmi + +print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtbs) + ./$(PAD_IMAGE) bl31.bin + TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./print_fit_hab.sh 0x60000 $(dtbs) + +nightly : + @$(WGET) -q $(BITBUCKET_SERVER)/$(DDR_FW_DIR)/lpddr4_pmu_train_1d_dmem.bin -O lpddr4_pmu_train_1d_dmem.bin + @$(WGET) -q $(BITBUCKET_SERVER)/$(DDR_FW_DIR)/lpddr4_pmu_train_1d_imem.bin -O lpddr4_pmu_train_1d_imem.bin + @$(WGET) -q $(BITBUCKET_SERVER)/$(DDR_FW_DIR)/lpddr4_pmu_train_2d_dmem.bin -O lpddr4_pmu_train_2d_dmem.bin + @$(WGET) -q $(BITBUCKET_SERVER)/$(DDR_FW_DIR)/lpddr4_pmu_train_2d_imem.bin -O lpddr4_pmu_train_2d_imem.bin + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/bl31-$(PLAT).bin -O bl31.bin + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/u-boot-spl.bin-$(PLAT)evk-sd -O u-boot-spl.bin + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/u-boot-nodtb.bin-$(PLAT)evk-sd -O u-boot-nodtb.bin + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/fsl-$(PLAT)-evk.dtb -O fsl-$(PLAT)-evk.dtb + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_hdmi_imx8m.bin -O signed_hdmi_imx8m.bin + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_dp_imx8m.bin -O signed_dp_imx8m.bin + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/mkimage_uboot -O mkimage_uboot + +#flash_dcd_uboot: $(MKIMG) $(DCD_CFG) u-boot-atf.bin +# ./mkimage_imx8 -dcd $(DCD_CFG) -loader u-boot-atf.bin 0x40001000 -out $(OUTIMG) + +#flash_plugin: $(MKIMG) plugin.bin u-boot-spl-for-plugin.bin +# ./mkimage_imx8 -plugin plugin.bin 0x912800 -loader u-boot-spl-for-plugin.bin 0x7F0000 -out $(OUTIMG) diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/u-boot-spl-ddr.bin b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/u-boot-spl-ddr.bin new file mode 100644 index 0000000000000000000000000000000000000000..217ea871128543ca5aee3250176eed4bc05f6539 GIT binary patch literal 173900 zcmeFa4Rlr2ng74fxt9=0gpdRX0loJIY$e)O5kgX(=G+@pTAg1tq*KRsnwtb$3Z1D* zs70aXUci=`zHlIx7WykU0d11LjH94LJ52&=ZLu?$2<>nBVuJRSzQ~K3D3IUhd(OQO z(f;N?>;GTBS?j-=weC9m?6dc?pZ&b;=Xv%%CzFgR421)Sj0ro2zu(qbx)}3PzIW+6 z>0ir&rZDv$lNXJZAF8~<97`EfQyDhL!WP#&b1cr)^j&<&OnuKGlj}TWre1ugmR~mT zP2cQ8LoJ^jaHh^a6!h+k4wQwJkyct&yXK>Y3xca!vK4hnHQokPn z%l!54uN3$z1^!Bbzf$0@6!`x+1x~N&?RtUr_cNAhvn<~ikU#K$>!m-n z{NEZ|<7oVyjQ;_~@BeQae?8+z8NdC%Y5WGpe+T0y|C`3IV*HtmU-#cM{v5`i!1&Ss zrtt%ee~e#*@n3K5?HXO#+x2QgZ`aEo>g_tQw72Wn4ZU4|uIlaj%+%wnQD#=akZ-7bEw35&!H^fTh-T4 zzD9mG<#Nj9hmHh#yM_YBmH&Gr(BFAJtW+A7t|gA|HxIboC*P{d{HMP?)mw6{|=0(#{>4bDYtAQ=HNL1Mx*a@M&q_K8slmi>p;SoP4&h; zV4QjGW7ADrJ#AE1_gQD;KCb48d2XReRPQM*bsysSGT^SyGE?ibq9enB!qTC@wC=V^ zX6mIYUou=;`3 z53GJ*^>-TMjLPQta`8Q1H#0WlLv~l;sTG5-&N8FZFE{zqzHrOnj9tqHf6BUL*5)oX zxwG>_eO6=AHZ}3A2L^t!BD{BxF$-P}Oe?M9K7MBHU}{BV?@6<9QS(P`9DJB(Cjtef zYTI_5$zMf#*@>4w6zh5wyLx)f6Q2F-6Z{)*91OKtjn3(@n(t-qzil=4of@mzo4Nlw z&$%x;FQ(LB;zV%&aT z?q}55X1CS==|xG9Ztos zsfRD6YV!i+cH2y*%|!@wPlU^5Ld~DaLLF@Mow;1f8Z`}u0G0G<}->Hx9<3bls!lU>r=>J)}DN3hse)-FL?IeJWkonQo^s`qOng({7yvWoWsH@+;6I1wBL16Wf5_Fr)jEv?uO3_Ic(Z+Pn~$UMhNtRwu1Q zzS&jiey`B9b$B}TcvmR*oZP*P4G>?S&N4M81A*>W19qus{z||q)wmHWF;EYjRKRj$ zLzlXr1Wp3H+PS|Ie2}ZsM8GV3f$`qZHgBH0Ol_H$+Wu3zZJ4&hv<*WChxJGOxh{nN z-3`cs?y(OG@xL~`sJgriz^j_J%2@O}rZQ zWapnfyP5i&)s?C;ZpWAHu3aHBdfDl*ttouy(`%mf_+V{J476uGa6FRd(;$>>H(HEc z5;Xa;dB{LbrCE7AnFl?LPmfTc?X5Fv6Um#lNUZP5Dxoz3?W-)Xx5=Hys3|)7sj4c9~KTa@@RT$i4jD{+Rc8fkYF9N zE_He$#>|J-J$^ZFTsh>GwQiV*)`{;|o7xACTfoxT$l9GH@Huh~b7BnY?^L~b(+6zX ze#tdipBmdF2ciZU2d40=q+g1)_6>CjeEDFax&fK|HT<1J`9+V&$o+tI%JfVn&iv<0zu9)9VP4$7)Kr|3;<``HX_6HzqXL$$V4deVVpOd&wfnMTQ5PGW`VWwJ~pg zN$^8|XUKog%sl~K_hjz#?8ag4S;uF1^l(_8vrW(M)At72CA~G<+-aB}Hs~eU;aIo= z8A%LmuoDB9tPO4-!Y<#xynb)539L*ZBaxtSD{r@sMUaV%KO$Yv#>en%+JhCYgZ+?A zbJDsVUVG=DWi}01o}IESp{4X0FhMibB!X^u zw(2)Wx{dK_V&e)_MLKDXxS!C8aTk4o+ggLHbekN#d zx3Zlc6Lfn1oi^zG?u;GnLk`CCATw88g|o)l=#PW0`1VvX68=xd*(3fij(9>Y<3Ana zX~xLF-%8)Uw}5Xkk1%tv^UTe%cjO^!SZ{i^(cT$1Cv*FU2QxC2nUChE`RHCYSNa?J zs@2#D4B4*;K48*p^mrG}Gp)kAjy}>8^%c!6Yoo`z3`~zU*xd0vkgpaF_&kuTNzRbJ z0Xy5;?tr@m?jdY!xF~iPK|~EU;0?5iGM|s8X_w)VS#r~$_@s3=Gq$cLGWg=82E`aj~k#kM%ik3ESahWcj>om?y%Oj51Xk8%@2IvBq#VTp%3FHT$o+ovh4poy zU+Zw%j@eTa1N*qIO5axoo#T-la(OvR$|5=8MZ@qyc*L2f8M?sB9URW`t zzsaV>pph{fs>8;th_jBoh-_GWpRMkHN2;kI+vF!|ZX7gg+qWm@E*_i{-d|j|)}Cdu z`?pD7BoDZo)yEiT9c9O)s{cf}L-kgwTJzhdaxhi>Tgo=J-sGjKH9y5_#z|ExKE;Ls zr@dP9D^Yusto}LWj9wb>=>s2)nb8lGMf1=y-zRsFzieb8gxx@{YT(5|v+Dx)nW;V> zN?991%Y7dz^a(!~XC^34#dDm5&4s@z%fGPGd^UN;4W!FK^h!3P7TzaWkLpjqzwC$| zUUbBaEb_*J?|%=^HMa!z;1675r)tZFq34EcOuo$=M9(nv+{auJj>(BY)5tY>OU>Gj z?Gb1zx@P1hGv`ylQT#6cUEB8#VieoU!7BDuto>QWQarzoHDSkGbF3em6gG|ViO_5=F(xvSyeKi?`xy>4Yvz1pq9>fI z@~rvcT;HEam~{iz(7)j0JaD`Ky2*YHLc3MAPoIQ6d%oy&-(A!5<2E^g^u5Y)@RzN0 zjJ4g`=*)|KV)oML6;`Ru81nPfkJYxPF3TS)KFRbX(3`>w;bDwCt8KhCpAxL}czt7I zWjxDoBerX^XLw_;;<;q!{G3Js{66H-v$qT1pgNV~`)Qv#Gq%;r+ltH*<9=dS(=KdB zB-~LAAFIoGR_An7L&xfcYDazFF1co#{-jh{jHX8ZmGYxRR# zs}+w>J{vn&BcH8KzNft@%($NeFYDm8>gen3P2#!r)h*SLkzGw%%dEtv>fzTqnzTMx zeH*LmR_|)k+F-r3t~&XZ`A-IG-GO zsmV@M|Cu<3+yp%As5U%PeVF>+QGbGc0_9mmH`uq2upG-T^E}7`4R==Oo zCR9k=g^d+XlKt4h3eT=e?$7tj3eA1hiX&=1(B33H-hz#kOjfeCEx#ab`(Ao;jB2ov zh0x9GQ<4}EO<6h4)v*r9o*8WQ*>=d|?^K7KK3j(km;dkKft@~!2R8hd)JK_jB#>&V zM`i=aOu+1FikU!ZJ#wnL*y`!|Dog&QPm=i$=91gsnK3iwd%8ne&n53({pwkseyNP? zW8Mf|^{|y{l8uc7H&rJo%f?#NYaNdU+p6WO%0^^tt7J(uPk_7VBL2vq z*S>_tx1n_mI%o7%_$Je9QkZt04yScF%rnb@&){|yzuVw*LAawSN?CQtyr)kpe}rci z*A%~`>gneM64ke)>l5f|tIBcoGB;68FuyfITh-r_ZWF#BQN1o*b||-`%W=wU)8z!^ zJH0Y`OkeV-jN4H?MEP&hWdr!C#Rs3;xH_Wx-#TE(?AgWz8i#>D;^= z${$MCYg}($VdjWDgs2}T|7)n9oi2wd&&-skB&w%V_HY2sd(&mXye?f9%qq$nS2XnI z1$^n}MAcK4ZUxir)kgDDd+Fr@%5{|cfC-J8UOVNFr)Td-w~OJnN%; zFkOxl^Zz(KuHX>cdgBVt>2$r|WagE?*L{`x&tSJ@qYQmA`QT98&-p0#6vMCZY$w;S zjUC0m=);bxy>upYJH99ObdGH62GbZNo-{XYtxjC&`zt2(Wv^X5HtjinnRVUwU($Jb zf6uS<5%3A&%YFxV?GGE5eZSJ@sf(MDGL5JBy?v)&uX)7B#ul}2@$V%=LubYorQYuJ z97KQGFT)-y-puYVZhzOgvTu+59KZBjK7e%mX<`g-ox1(aIWCROy1Dg2jo)nCFtPqE zjGqc&pU697}=IRb+}iIFFBSEHH3`3 z!1e4pb?{>M@5!kN7xf$B$~?8kHpStMzosDj=%408F2j@gA@u9|bXl^tI9-lYj#8Fv zdVN@bnonsRP2U4sF!emn`eWjYy!Gchqr?^D96tE^*w$#~S!#j%P1SRs@!t|!TTPk! zQb>8qbNer=h!K=KZtIxtehRqcrMvgkm$}|v3^{dT)tWePz6LFo8%f{;dE*Z)aKFSD z;!#}d$%EIpzqyEWLbP=zAlH-=?@0{&oIOk7th$$}OBNTj4h5!nKU>UmV-_}N8MkGU zIo3{Y=Ug7xmxl!X)-bN6ao=Z%6Q^}Ijvw>IYuq2D#}p2~NRQden6h806VFVZ_RpQs z)bs}iDvdchjBbdQo_uY*#&u{X9z9Bbl^;uAAK)taADXeFI77!UIQhDQZ$er9v=&7o z-h387n}g=Yh&wQu^-|@wh`TrJ<;S}x(#EEb1ue9Pet>$#7sKiMA8>z!xwiAu^Zne{ zV@L3Ry!&3Yr<`g3IQPOKel!E=ZG#BWjl2JIDlThDE(ZWx;8Mhw0H`lj)o0k3ZX^Y6rO;t1*n-bY{Iq2CLoy=%nq1lA%EJ!(TnS_L@H=P{i(JPx zqrxr9o>|1ceUY#88wMizspC$eFB{Q^46?UjAo_?It$oal$|gCqH|CCqoGc%gjBK4> zFW9n)85z^w-*2E(Tz*yBkM-N^@nkuin&I(0ax&(fCuzTmv4f074AZ{IjHa4RkGD_M z5a1k9uuHgDR%*a3?i{!RIq~LUKK)P>yo5`_+_cEc@xi~Vbq)spJ-XgqGul-_c^&JH1tNC#_ zr~7dI)o%0M_I4ZJswi-^I}N@+cIfe@=B$$KLn}VDH)M*vJoth+S?&bveR7i1!&#e^ zDRj84-ncvLf}_f#%clHK_M!IV8@IRG9E)f#kTJ~9uXeXmFWa1ie?x(y?xVzSz3(DM zo#c$RS6OZXn5m`2hRnl(&qJrj7B(;s-M4V{`09MMTJkDhMDtD0hp}G~aE)GUMj7Wp zvpd4snf}hTwx>S>K3^X9c}I+JlDUfZ+K3{x$6XXzy73`8KdK z^(DX*JgtB1Gt%Cas;~N7PamFj50R5&EvO!|3s&9;&5uy$@8K18f1Uo?=aY?;&NO!< zihl+yi}wBWH$n3+Vfu8uKha~EX$LBeeY6{20-HZo`3UXlksqEhXcGB9=6ZTfk4G=j z$)gW)`br?kezMgyLf%<2dxE`9$<3>Q3Eds*Eq9pbS{Dva@a*k^A$XcX?mOUXdatp2 zlxN_vV0_&X>Jr&z;m)N_PlGAQ*$MwUmY(Z#hUY1sx97ZX-W>MCc3e$WvpZa9@{6g*=H=|fHiQeXJ(OeQ^V{+XmAfSaL$ZrO~c=~+I>Gdx`j@C;vn(YtAX_-<#*i}d{!{AMp7z89i9K91MY4mmFEdwpzSm^D3KVk*wU zt2qbn&%^^m*2tpzQm03->X7gI;gR5JuEf2qg4F8m2XDZfa98X zDNk3-S%O)N@8kKufUA7CU}oTr$L}J|gK^`~op|G4+R@uom0xx!$C0~RCz`3s=@c{9 zC%LLEI{z%^68=TG{`fnUF9^+#zti-P!D-G~xDM_7 zeHf?b^sB^U#Cs{lfWY&vj8R9E3aZGXXF%gpHRu|SvB?Ot^M zgyLT512OG?AQ$TAuStc-`Sfn(W|SKe&RRFj>MLAilH;tVP-l@0bNm2!3P$2(A3raL z@zOioKXaZ}Yvnl}KIQ570{R^XWeqVj3t7lsKS?4_;RcrszOHA9}zRg=} z9yFV-bX8{T>d#!tl{H4T!lP^7mF}~Q>ws&yk~{;-5>ExYo@n1n1+A&5>q(5 zV8do?X{+H}vTsYj-<9#f$NPcJ`?A~uY}!)%%QyOhzQ4GWxcKk1=fgUp7+ASS>99dA zWrH(uFt~5lKJV!@kNfe^OH(}`($^(lo@KAU3#>T%O7ah6r(##+yP~z`D;>I;=NX^H zv)%YAsy`L90L!eHQsV)4Jadyb<&X{P)x$H=YgeWhvL8(Fi!37MJE{S{!yH)+e?f}R(3|A_dy4_(Z(J(9*v z@^%vW(7sjdVq!)1@k)T}-~*>jb{X-_CbNLEc(d^Vbe2dy+zeAF{#4Ok;{|9RqkYHt z_F=#ME9th<-DluI9q=Lv%MJfDK4M+UIVNDjhkU_{06Id!D|Gi!mJVa>mAXWAC?`v9Se*xylCh%g+YJRrJBG z_V_yUuU(p>2N!#I5_@EZ(9Yrvf8|(wUKm+*4 zvrUh3_$k_pmTh*yfi~NDsE~HyY}PPSa6=e;uA-fMy(qGmyl_cb9KRvOFx z@&OO6XRPG%$VlG=v#|2i#ADj?7oL$*RfBWZ+68JGA?FxiFVg{jgmW*@x7(p#?3qZb z6RaIcWLsUDPf+-vTk4~|-uuDvHtKfrO!>d?srL?&e?6wNDdAJs4Vod~0$bxX0JrLy zIjy$=ufALq1nx9)!<CQ8)3Jnn>eFld^|f$p?9sN57#BU;wBs@49Uiv*Y3=46znpk%x#FEORf8SqUs!oz zXc&7Y+**a)idP{M@Xmod;2X&{Q)|IL4qdG;I9;~tm{UD8WN)vv3VN2%Cx%Rvz*~dN z$fg$t69b}O^2~b&qZ7?;*1%((z(}6CZZHD>G_JNg||mTPR`K>KUc?f;hcyf)dI(c8M9&HIGTLvz7< z&L-0}VR^}j_J1qWG7v!q#J|e43?$FoI2b_&u(j0rGLSs;{=o<`!237UO*{59cqY$O z4@Qsy@;Nhx*+=*h*M4My^LsOb%;!ln@~DMOXxt>Uve2>JJR1rGyXChpL$B1vCYFdY zhm1Yqtl*4V^lCZ&WelB~i#%V8T*oB$@avxNlf}zuU;j)=>jpESdl|H^LI(oql*2f( zA0=r$w8Q&~Q=&EP#mlFsa3<84-?P@$L{?p#9~)^IjO2NI{(TBLy`Q#o7>9F4rP8mR z=vM>$`3?U3kjJBmMbds0tI+e7w4PU?=MBgS^P2hq_-p`=C!U$xdJl8lk=FAD=2rq;V%V7d zjMHH3?){88A!f! z9&AYK`TlWwEMda{gf6|` zFvmU){X=U_SMM*)u_f{kkx$*@3j?R1`;B?fC%l+K{X=W5t}t|pBRk6NE2gy2*C)t# z%U8AVl>+jWki`}={ix^`Gtt*#S0uN^!sgl9FgW1P)qdR^doSZ^%-WxuV;5jI^i1$| zmMp#xKjm(_OZHp%D3&OIFS^#@?;6VTFEVt=thJ&K@dWsr(H$}4+4Hk&YWiKPY0@dy zvR7%h1AjR3Ve*e9iEWkNGsnt^6AyPJwk41!W2U!Gf|knB8ggZdfwH)tmi^qeJ?jd$ zAA+`bz@Pi!{6KSMpqVpO25`;n035bTb`*3ev9^A8~T@- z>D_k#yPSTK8ReOyk4a}ttMiEC`LNmacOIf{wsEWU?4{3ajQv`al_p!1L zd9m1=^zN@QjTd0sOp!mg&=S2LL$2|vM6u)|R)SA)=6-T%_DYL>X0G?rd4TYNR~@d!MLS*B+lyuu!CMK<@mojvU^ z@;DK?INJZmbx8)FRPBS?;ai=A~O{|@UI?{C$OJDVtfO}<_UFoyy;@>{pYPmk?J zHY)TiJT|s)pUJ*qIFMbc=l`nbr^a?a#a_Zw_?Oo)-cVrT+4paRoBFBkL$o!okL}I^ zw?6R6x{^NZ;b@O4qu=eEDM^yQiZi!N?u@)bsm|YO|FMI7o5o}O+UL?&z#d^WrEGS<}-AC1{&;$m@Dgm z(`%VyUzob%R_zDnLKmG)%*?lAy>V-w3GHRym7LqiA}|IRhmQDR0@WSj%c(xCH_%X7H@8!|Vx3B)$5p&iqoIC5X z02%i7ICK_;{Eu?wS?ILJQ+<@!Nj`~19d_$ju*i9B2>6tb#y2OnouB(r8{U)ICi|V4 zLuOrPAEUGbo0!?dEfYWBt>B3t4`aKf*TCR?2lh@MN|2-UbJQ7I86sypM2-kQ!pjpA z_j>0VqU^h6^l*IazKZ!NW|yBOze4+K+HW46V@7|T&aWGCC41IezevN(D-hT`2 zP1QO*!o%ux?z&g_LD%Mv9k*VDzDj0;rWXZ)lL|2`l+;~BCzpgey@H!|PU z_#I-BY z;*uQI({lGe|wQD>49WHxuaJDLH6wJ?xGfF z3$d^#I}bDV2Z4P8n1#@18e_BP3g49f=X@CLl#A-){6P|&ROhXm)N7yfHJ<&@^RK3P z=ehj7qM68NakswLig(3c>Ue~ z-hp5dhb(BZryt!1te5F$!)M;rcT+sm7%A4y&~Hs6w)QU8o0@)m8gQp|OAj?(fj3@Z zX#@2c`?H^C!q>1i!DHre&R%4`Inb82nP+t;o!iv>6>kYgVjtEP@B0a!oM;X7ZA5RE zBR}K`|2);_ICGT>B=Y~^6~#lQ@K?-LKI^XK4do^L)*1T-XSOMbbDpt*_gWU?i-_)e z=g-DJ!RKBX#fGX5UwVO|jn)kDN_C=L3GH~cFigI{>r0#0X~X_JGK621mPvf_tqEe6 z24Lf3R#ck6$`r7H`Rop3j(!|^3T|f4QTb8Dc=G$fucnGV4UFTY$B8kHY*R4XIo=PC zE}89Yo`bK(JQ~~K$F=1BG}i}S`pjU9$vPUPZZYvuEO){I<%0A~Ij0Eq!h2UZ*nLd! zmd_b!2(zB2=OAAwxqME!=%Y9sdw*2&6(BF(!q`#DnXz_xV+B2!nXw{_HGVv;of_|L z%Ns_r&Kpa<$|dmSo^j*-8X8Df@Mn+WSBgf}S@3fI@@3_h@Y?`haWi2h_TGc5T&Vb` z+)ui_$1C)?ds(4Vz5|{nXv@2c-5T$FIji}jXXm-${e`%3SxrH^c1lxy?dX1iIkabUe`3SKZ1|J`uEbF>lS%uiOZq=%nz^!hVRw4qPbjW5ss{gmwPsv zTufpT`IEQ#`44N(;I>LL^Y@b1#AM@cn`A1QbxxT4h~&(}H|-mYKfm-y73X5$g=nX| z|E04R50+fMWbhKcffKasoJg+8Cr_QTAKqVwjBf}AX0^{`KWVKs>tkzkmR4okISpoF z&WoF}W^L#*Q~3sP#je~5IU7ti^})-M;A0~vvhR|;W%S!XzjZ-7XZ;tlW;M_!5HuA# zdEZ1j#(7d#G4xKxs#+VE)v$Kr(%Z5pTvop^YgUZ5Jg<;!aR$}Z8S-}EMSyonTh^@m zc|IZ6d%n;nCfB?o>QhL5BhOSQxBG{|O#|7_Z5p`Tq>f+8?*Q}qCiBtUy7^U_+@ni? z&pzaglI*9qv4iaX?S|~_!{ER39ZLqkd(q;-j?d&SebNf#+)wQHoeNF={R?tt?OHo= z))&EJaju&+8fQ8x&#hS7*@=op{a)FR~bKhwU5>&`&rt@SO+YAsi-5dTSgs z#{J+F!lr$ZeG+nNH_IL@Hj`H-dVU%j<4sCr^&; z*4(eduDrnc`X6wfuR*bT>JqmETd@lq(X&$W7p-&6#CtceE=A_<-v(~(6WHq@c<(}P zh-de-0rUA%_&}`mxYuu1cLny1_e5{_BF`#~&x<+ebA9E z-SPIpfFa&#UAY!G!UI^(>e=})9;7bgbNRlOe~yM&tXn?UN#vIEtEKhiXqRFmn;%-} zCgF?xxk7v!#RESv;YBudYlAKc{OL+#R$j&$Dc{I8({50n=0@(@Y?CA2t+S0+*Gk=4 z`Q1jYcfM2l zsB=2fPx<(-H&5uAZ7k%(?h2XNM|JMJnH<-u4?A6w@1a1rdp2h_Qq*(y?cmG!^0%&^ z?LNMr^DqIYB7xtY;;gD6zu9Zg_Qvi7*A#f|U~fmb>^KoBPuWE`w6lp7Y9sbXR;MFd zk%>+P`x0*DxA9%ksi�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

!H2kKAduXD$W3lx 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

=I3&&M{ac>%U# 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 CRiyp^ literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/u-boot.bin b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/u-boot.bin new file mode 100644 index 0000000000000000000000000000000000000000..08e2a51369c187ed9d469e05ea965901e464bcc0 GIT binary patch literal 598222 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�{nZ(jp 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¨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

&F0uC%=l5>JcAAqtAi(U0&8%fI>$n&jvH5-c;- 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

h9UVNG5gbb@sS!CBC1qOp;|B&G(N6 zxJT_9l`7=H*kMxZr|V{zNtWnXX92z?(6>#FBS9j}fEurSf%Am=w1PV6?Q6tegC;gavq!4T(a3S0X z{@`=8-?eK9OxORL)wZV(7jpC`#{mfw7?xh#Z8QcC z?x?xxmg{e|G%4eztu;69cu#bjrENhNZj-c~w_Dm)rft0i#oo2^U6yto)3$HD{g%6; z9W|CFJ+yU;e8(M@Rz)~V+hJ+dl2&umc6{%hmi7*&U03tYThLe$9=&bCJGNeTTg@GJ z?y@xb-tAj&x)o{nTAFrK^n*6irEG-)eK>#;OxtDA4xwsreEYaX#QX{+0} zzvr%<(RIC+CT(@gyJ~K~p}MNi(xk2K+;Im!Bzn}+q^&INF-w!Sx?{(k@3{LtcOA8~ z>k$S?yK85^rQHyx?TiL2?Z!CmJ$D_mw436zyLJv*8poXC+Znyj(m3Y4j3G*A& z-8;AM*j97>2}|Rc3)gMkUbAh-_3yVdjyX^JfTeNFh3a=K5c3DCDNuWt(IxGSKnCko*V9*wzRrL+Ki>` z@wB^cxbs7n_TEI=8B4og(yqJl&KvG{&#a}@m(uQ1Pw(}`VYi8Ozs;|AR<~=)?EUhI@yW!TNrR`XD#gj)3)7=DY)a#bC&i1({8(c>rHpU(g3$+X%8~Z z#^lqM*2*-)_hCzWh-vRsd|cf~gAOsxXxKlnw8KoZyx(VON0?@L|DmPH!e)6dSXvvx zV07sFEv=ntMu+~9rFAgP=+F;XTBoEbo&1QUbusOBlBS(Ie$djonFcz!1GJO~H}WT!=ZG<<-0|g_+2d6HTz~Hsw~E*@V@s>dO?8!DI_74=^oy$(nAJWM zo#V{_L`4R6ED~k9NL5wqtE&iz%RSYUo%-><)1!$GH_h16pe$i{tDdNg3dPL8&e!~q zh#3==XLVBmZNEaHx@rt3A~V3|)#O&rGQfCL@*^cv2}G-_5@>j~HQo>n+o{d+G)mF0 z5hX>OD`o4AujIMLSX7&Xt6Q+>EJ583#Z{5p9M%?ApolA5Vzwx9NPSuH@ySuKAAyDe zWzBL;0pb|*v%8zTUcNocY1#J1T`{sdCE9!{@qt-((xSW}r8ihz1Zp9&XS0CRA z9J&*7*|VA%N#1*4u{D3%bMo{cT~;Q`aoI6RyWlG!dK2?nZc^F8eyS?^^&ER~OH@}$ z4bZ^IktzXRMyhchgwuXOCo1>o5$w7|^hdND$#Xol64gSp`=*U)oW~lnTK0D`Pnb`{ zhG<`&B-hO>!-WKVyrYS^GtiwNh094qa7t7qvK!1yTD8&;+U92!b%$^V4qAv$P(t-7 zf|GNxpQ53cN#%47>G>lJ3v5nN>u71YQD2TiWLaH>n^{FTl*o&XoKGUPR;_{n3|g^p zJHbM|L)f;`{_+a)9Y~_6H$aEMD~r`txChTLCo^GCLuwxbgO0#fop5Q~k~&_%xTR!F zK8gp`7>QF0)m2k;nJIa+t)N^P#((*~HX&^IbCvyL{4ah_(>-Jwe?Qe!+a?eALwMl> z5jvcQ4)Ze^c;U-7fd7X-m99@@h#aqnj{j2`{B4`S|8fTY!Y1&)mVx(;jMu|MLlb@@ z3vUaD!+GfNKX*C(z2RDY<8U52yo_(y*kj<8E*6yTlr=-ee|+6e3n2)1m4fK?ZJ={X zxM;ZnIwv%c_thGqGqNXBNI;#a37w)KB_?59(>Pa|lcN4I^h~OJNXzGIjB~gO3m8DS|RbqSjmR4PkSNCsVA8iM2$bL?<*BFgP7d6nTV#IdwUK zQ#fd*1EMH5E2fB>+OsxPlY-$6Mx|s^pev3_t1bkElu?%dq?l!lG8Qji7jZ2X@1N*H>j$gE2^fx=(~glt zdV&V?a!xlWB}mQTb6SpXPevTm@lt_h)?80AS@b$&Vd6kt|I0;PWbWWiFc+_HJX6C$ z#_VdTRXM+8SD>=_=WwWvLOFq9h7LxJUxz3AAbd^d!s42I4vUNHF5^#b1Ome)I%Nf^ z4@eND$s>orxGjzGSsEq&t{e`R1j4Y%^ZnpyCbj<;qJ3wCC`I?Hv&?wFCNR>=4|QO1 zibFJNI7lOUTw{o$F`O2YrLs&M+ZUntWUxtUuGs{UFllIv%7{dlLA*BT5qkwh|k#!ga<%DfN`D+<@1E32w>W(sksGYl~Y2k>dSd^-%*m*_fK zs;^vdnR;``<7ZuC4LO3cX0@kv)+MSr!l5d!r6uR!-kPnWT?=LAN$ds^Ka6u6?m(_i z-+1S=Db-12Vtim7=5K@X(WMs2q+3!RKCM(Isfe)&iK5ewn6P$#w?T>lK8HCMkBP+< z^f0b3Df81NkR=9SFji+KllZ$cTbYo_yx?LcCmWA1LO(oKfMLxg^HLFpIdeY0lG*eb zCDQYwtHcl%1BP0GxOWPLTYiiqr<8|M6_CQw;)#sOd}^c|kLXhQXd`XsR8}n$cL{^< z!T^&oj5&wRM4A}zgT*boIuU^tmgE?RCLH$c#&pRZy;S1HPgYi=l!Yl|ONZ2;5#xN``V*qOX9s_e7{+ZDTDIg6OinMCRb2n1;2>O(G`a zk|eS*gm5Lj;m?+@@a?m@zwo`tCw?eu<2&brJ#_fLdPL!`K?3u9{GV(L|K%T7e%tY% zxVSO=UuW>Y{IQMU_y2_A_xh~<$j0!0@m{U})mHz-P2k_m)aQjC-5CFO4BqiiZ-W2o z-t_+NqyNjs__rDS7OVfyKeI9X+yTY!vbM|rbYu8`cS+mR>;LjU-WdJ{tB=EP+XQ~$ z+VuB6^Mf1X-+r6I`}leNBb&gZUHGFW+sNF?Do>kR5pwxrNUyZ8M0YPK5pVS&tPobY z(+9`YblRrN-AF?dZscjkzm}7bBv7T8lAk%;N>rfA#a>)nVs@L=u(u$ixuJh3D^6hP z1ix}&>H9!XD#1w;MC|~prt-9c30gxHE4>a+No|3ZNn)9+jK%#wVI3{yit5(gd$LFC zgJqynBPu6kH?ZKd^lUnV7luo-ifaC?R|5Ft^5|( zE^Q3zGGZsmWjonj(ry($%e3aOcv-3VG|7Q4Ln3avla|r1O+amiaD*4kdn*~D()y## z_K?&y=lelO0C}APRubxHYl&FM;7SR@2S!|A#bKi?_F_^e2-2pgtASDP?qK2E3@jGK zSP0~e00}rRw=!sY285BIe!F{lOXgAlQz?|(WC_%N9qbOVTkuxy)ZG!?+;JXZcT>Qn zNfN|!6_}aXIz?eP*GU`N_<-Nf4wvW!3wx$c&Dd?=P&x*jp1*6 zSnI>}iNBiP*%rc{iZG-SD!hkVz+&tbRyN8wMZvCuE{{dKOzq%Jut@nD^Xe{fLbl`B+YrZ* zYC$T88(f6SV6}q}7cVM)3M5V7w*hkdJ|92)UXHgHuD`pDubfZxkZJs7$IrG+;C=o& z{^grD#(()%9iI+=;?|AfuX|JH7yFm>-}laq;TLBWzr#0e-x$93-z$Ev X>hJWmR z>G^f}#*N`utv*g4p4kNcGxH_m zi-L#g9UH@cIZ+>e^Tj(hhQDC#(*{_=FK*ez$BN@~S4X;i>T5Q}f6aD<7o@;@?aqzi z|0vTwuWr(wt{pFq&T?Z|`V&6Wbn$eMgeR_Q9-eu+WQC+jeY};!fS2NJi<}Nv2&};~ zH29D^zEo6IG>qa>Z6k!XEl*&Sob)B8!YX*dtK_9jA;rg-!_qaZ8HqAoHpbv}9lhjG z7iAE-!du@+4i0B?ODCiAa5m3B5X1@<9HDH1oP$AU8%xE6@b!jFA~J(ICBZd43(d2i zWQ#H$AF7hKD(`7esw-a8z)eRd%|KCiU{z!xpu=bh-6 z0RI25^lKzH#;1j!w{(w3mj2t#ihqm6z1-h6c;7b$QJ@OpcP(9X)R@O4;lFR`em?2x zU)`bjMc<6@R^g|PX}ajJG2JTmZw-$N*u6e4AJutw{!tB|xA?4uuUOb-;WIr7cdy02 zV&Sso-)`}jJEArg-}KVG5=LQ{gqI)F{2w>?k6HK?OFw1d*9^}=%hzk^7hcf(lY13^ zxXa41_uDLdy<5}2Y4~5Y@G};E!sA9q{_k(yC-n>Vd+wx`bNNXPw|`K>XMR)L*F*9h zo+lYTZ*U&IXmJl;vABn?S=_@*7WeS7#Xa2iS*?eMH5T`<&f*>(w77@87WeRk#XX$1 zxQDA2_wb^{J$%;U9zJhz4_~ynhp$-N!`CeC;U$ZEc-i6}ZhP6j-@=+qSZ8q$4_e&A zUWsx44HdTHM1|EbifJ7WeRy#XY=i zaSykB-oD?$noL+{aSsn#+{0drdw9a)9!^`_!&QrWc+uh>K5KCgpSQS&FIwEgS1j(~ zYZmwLlEpo|Y;g~_eZjup!kSE2XK@b?THM24i+gy&;vP<0+{0Cidw9{}9zJVv51+TV zhc8;(!&fZs;cFK6@RG$nylim~w|&vR-@=+qSZ8q$4_e&AUWj*ti?Ti-r^pFff40E?uUnvM z%Z0M_+hVD&KBV*IxmF7w*6{fw8eadPh99-i({H{?cjCLZ{Ol(L)m4h{)W0b|pI&%X z(_gXB%YSl6@o%&8%T_j#_)Iaqe~s4C@mIcYPg?>!eyqAyA0w+@f4*lJzOTY{TP`H1 zKFn#hxP(FBFB|--g%>m5C-4aj8n?y(3eW$d<$EQQpY^(W+t$IjqW19oWcs`O{lVW$ zx37QKHcS7H=k@(>U#sD-Sh%`HDll(tLIi4 zDBnq;tI|2cj4+bk09iDYD4Hh8L#Wco4>vCko;8=TE^jbI((_qd2wwC zLdJC>?&I!7YnN?%P$?6-kv3F?tJ);@RaadduBy8Fj&Rjgp)D}mRg~FXx8?h<*%nGw z_~I9p4qX1MhTr&thJR?`>;FpQ&;M^4mTH!M`r>EGzpweare6hc|Hqv5A5M?6ug$9* z@0q_)_)Ci#pMFZi*%b|I&S`k7gc^7S7uHSB@yYx}6$cvh;6QxsERzHre-GWiOsL_*4H`%X`J*U$O9nrN3tJ*Ddt# zt5lxz>l=lv!=*pa_VzFyQeU-xuyFe?>344b6%GBn{5w3(kZIrkMTI;1f`+eIeDPN` z{_-zt_;thkl7)*F)>~L-&mHZBVzxIpcfA=Qv4`<*nJhU-> zFQ-!Y1CMI?oIk9?t)GtC2z$}eKVc!$_K< zv+%!=)ATl!#WLP~ufqSDrT>nFcqP9+!{hbY4FBh?o=%9LeZS)W9ZSFXziRo8|9AJ6 z>ch0zF@^uCrGMK(hyO2zrws|xo=+|Q-qL?MQ~&20G=CdliT~1Jg@4x4v;B3;V+v0? zL-^_E75-h8exHSSCBMIJN!S174=Vh3EIo_=8vCvo|G!lDKEr!FgMWwNxf-RhK6Qrw zZc9I6q1Fa4nf5$t?YXr=dw%Fby8ah!{>@qX4_oN?f8lp^ezqZj_4)Xy)_=FPduyis zd*>BD>(8H`*AH6yhb(-qYF8WIzix3xh`-m)$A8??dw)am;g$Td`c5DFu-50+hZU~Y zLWe)OuT&r6|HNs9AGh>uf4%boh2LrjuANf&9hTl*t%_u=<>{^nYQY!*^PK$Nz1EuY~{i6Y#|Gb%XyCOaE4;J~O7j%lfc=-Zc24rT>J5 z#KqrljOll^;hFF+{h7AU%a)F$)bG$Yb^Kh7RKj0=L*eVE6i<(Zp6TZfYP!>hdTY;L zwDjM%(BYqbP~p8j-)->ES^95V=na1A@8G8QANyYz+rGF+v&yO@}{x%@s_r88q z;kzw;*+R$vS2lmVf4}&*3jhCFdeg6`>vOZ|(|h|r|E$8-So&cL9sg}MZhd~eXyfgr zPR08lEOhu|eVXq4$?!i{{KqZ*JY@0jtbo72 z0{k;pk8FLi_90C_r}cTz_{b9(e)3=ZnbybKzs=^0)8~(7=GW&Yw0#^tTvGgBvh+_{ z=-->QKUw~y!ryUJ@zh!9@b?XAI@d3bpSs^r`1>ur-9m@|l8tAF-}lQ3KWKOh8T?uM zmiiYI{x6M>`Qr>f^Z(d5r0*iu=Y`KI{8xvyo_}Vc*XKtqPFVh2zxpRF{nHuv|7!id z1+enHKd<=Tu=HCq{pI#H-u|a-zworx`$sbM|CI5gz8;-0{^}PjJg|Ecx=8ROqRXCYq8?2rQ$R`LJ5h2B1{ z&*}8=pw0K%4ux;G(ChOx<72%(uK)RUOV8Hl*ncUtCvmv`=eMjL*Jt``+1kt7^VIA5 zz2`0c*E8*T_d>cohwr!cwDdj;z5Zv+pNNl#7i>IK;(vD7{Ja_n_|32Urq(C2^dp)1 z`;Tm2NqGK_+J5|pEd8~g(faD!5N@*h+=c|=f7STUe`oyXf3wix57_+i`8#RzEe#Fn;j~d<|%HaRF#oGYO`h3yq^D`MZyprDy|3Ukg?Me7k|6TDvZFKS{ zEmY_bemJvU)EhtZqZQVRx({o6Z87|V|5fofPg=iQ==iU;xVO(XgRi#qof&vPKVaSY zZ~K7af5Q4JJD$J%x_H8%i1Jn^ z()IfJzueWvYP|gC8uFRHLz%dymj0f?qp8SB;%gba?=d_^nL9{e3?+Sv&if-?ox& zkFI~etL?j~!>LTBgBiTnoYU{Mbo zWW3ySlt`>On{MZCMf$ys37GH2*70ea-mhM-1WfKd9sG?ZThM6IsGHtlV7|ePsznC3g><>F2Anu zFB-m=w(I*Jv-n3XezVE3Uj4k{`zd?>4SPR%LF?DHQ}chp=HEWkpZb)+zx$o~zF_c+ z27hUn=J$Q%CoXBdKJw=pdOKcvN%OyXLDRR`e&*=7#(&4?%@$<1fPeM-ceNo1pJ~zX zBlQ~omcd<(ccfw0Tl%wg`u-0s{NFcOpOE$M^t-r8?%%R~&EIt&@#fmSZ7k|*7H(2( z{Q6H!9^m_lnyuRY_19_WfY)E6@mH@-r~CVC$Tq(=o0y1SWzR0JcYZekl6pM<#a(So zh%DsuWlHau&((&ZGD|tS+ z3DA%KvFE3i`gXX~@=)7l@e|7yBl9FA@8^ydN; zKC|<{+kcDkncr)E-s_p=>nnZ#oByOdpIzzuiT{KZQttb`{49U(>EEmHxxcJ!V_B!B zln&K=Q{&H?p8el^__Lq-+iSw7|K^(Tqc30A_QvPl(e}pYZ)$tv3%9hr@x^zwz45Q_ zY!25vr;f=rf@aLX?`I^x`{+kc~(x;-UF8o2b@WQu<=Q+H8 zt~31TfBMdMegZ|`%J-qn`#-h!gn9j@_Fo~c*WY2G#oGe#hHri=_0C}|M zo6EnYzwhsPy>9M(-p_f?bDs13x&Lo2e$7P}9y_s`ugcr85+~gEaXIcxXn8SMAMpuE zPb!c8i^PxpS6QcYZTSzVzOz(*i>@!ybzavib#gWTEdn?Hm4TZdmjZYdxcRpR-2B}D zZhlW{yO^Ekrxb9jcN)0)aVUUifSaF3fScd5z^xr}z^z^Kz^$DMz|H<5aBIg!;MT4s z;MUG%;MVS`XGK%o-^`!YPsQAL8hGJb8(d!1=Y&oEd6&z0r~$YC8>j=nxg+DL5x|=P zycNLP!0oxLW#CqBCxAOI7rU%pCLa#q0|7h|z@q^?7Qhn$JQ=`K0Xz--_Bm;dZu z4DfIMwfJQOxXEV&crJkF19%~T7lAL$i~WnhWBQyx3HVj|oI@G-@hV>dZt_b3yc)o3 z0lXf-8v(o-z*_;l9l)0Zcqf26r}_K8`5_Ga1ohhh@ImDf;3q4O0)MIU81R=XPXIq% zc@p?5m8XDjQJw~Vf$|~X7c0*If4%Y%;Fl`T0yn?q0(d@v7Xo-OfG+|cReMUn$Ca0X zo1K*az7)W#0lXH#>jAtGz?%WQ6~Nm8d^v!30=V;vfc_uA2LgBm_;&Sw6!;G1G2pYx z6To*XPXgbgJO%tJuu z-O3k%|Aq1r@Q)}j1OJ&mhf@LGxmNZsOTd4v@>Sp_UjzPom9GQ;jM~!x{;9u|{?`O< z@-5(>Q$20qUsS#fyr#Spz@3!8|694av;91Gv>Y#1fp6CDjMae`UoYp^4d82)H-YcV z==u07{pGH`MEC&k59)QE2=GQ-k8^;3NaZuYO@0yh%_?64Zt@M_pH=xLaFZW6$6v26 zoBhB|J`Mb;k4gR^;ORHZ^_mRuyHx)O@D1-2`7H47s(cQ($>)LpP~{82@A!!5F9JWH z@{7Rty+h3-!22c>u<%L4sd&~%1QhCRd`Y47vJdTb^WeF8F=ij*0^WYR=t%>=RrwI`obn9tvy_hjU%OZIXMtb+Zs9rL`~OmS9{8#66kY&c zzeacwxTAU&fnWW1B3}Z2tLiBOZ+=ANE5P@CSa=oqUe!|rzVCXGuLEEBE8z{`rHb$- z@YXHDTfp0I6W#`Xzqb1_@Ef#V9pL$Qh#qIe-=FuX{xI;p$_IdtD31WYL;V&7zWhNc zHwL^|5}p8Fd9Uy!@X~vPr+}B=FFXyrbe-@a;GIR`8Q^z)RQL$+BW@I)1%9;pAqV{a zt3^H!e82Jn@H?&*`6BS}?ZOv<=f5Jn41DMZ!Yjb5%9nuO*bwn7JvrEA3`e_xoT`#R6*XxpX;8E4z z0KTZa1>CMjF9Tmvd1tG?UUuDi0JvSxjR3dnu~Fc5oi_&DW51=YhXLpD!r_pHyA~o>yK0{&wY6;MXf} z0-yTXF)41(7VuSV;ceiR`-Lw9-}~>vJHYq-RJfz>16cnl{6u&dctYjvy#v6BW zcVIlM?=7T2PxCN2UL69yq&x%sXyx|ag6Y3VpHHrX{Dkr*@LkH=z~8RC1N{BUoeBSZ z()qgd&oJz^7C`4g8{pwiob(%G-M*)-GGLz3jaY z<3)XMqyu`Eb=;Npy$F*(@@wL+3hFxZqJ+4fS<1Nb>Q}VTmyLbIvDV? zRZk0e=@M!8Ht<)e{4#KRF4W!+F+Uuo@{YdWVZ5N<9Sj3MR^pt;vTV8@AVl^Dv#*swIcwOhQ3h@2Pmw+!RuLA#~@*418Dz5{-U3mleH1#wj2Yk)>>VM#oA>oU_H!Cj#A5y*qd`fu@cu{!+_>Ib2z-!8v zfm^*Cy+3LGZ>anL@V4?O@PAhSB!K@$4H_nQ9$_#*J1s(cyv zAC)fw|B}|L2HgDC0B(M00XO+&;0s!=qxXT$|8G-10Nnap6!?2pJ^_4Cc?$S#%7=j8 zseAO>DR!2DuTj1P z{0QY$;7?Ot2mTD@4dBmL-U7Zsc^mjfi@&Vuv+@}5Pbg0UH-DxA_z-a0Uu1xv zs`GOe_&LgRz%Nx^0DighBJkbHOTgc(ybSzm#r zl^1~jr}9PM_I_mvcv#=>s{r4=S?7P?&rtaq@IO&r2mWH^P2guLZvlUe@@3$o$~(X> zQy#wB-yilU9{~O~(xQ z`krGE_%oH4fS;he41BZlCE#0>SAl1g*MVQAya9Ycc?id(0dD(?kpNx+eqdJYuLJ)dBm>0Jr}QsR1`V^#ESI)$h*-^}MDI{Kj|4a}*8WroS1$+rS?llf!qICWPsPM6a6E=O@B6k=YiY* zQxt*c-zEANft&tP0Iwi_vG}(NJg53=z)gQWfH#5L|3S2YFTF?XUj}aaI{`d=o4-HU z|3O56XVv~FaMK?P;7Q;s^!{TS_};gR{X@V_e7 zEdHth@4Q#^F9A3G)c{@xZr|B#0o`dh$Fe>;G8fImh3AO57j-NUMX0J!Oo1n?Me zyFZu&zW6q=KLy{vjaT(P0{b{^Viq(hXZ&7xV?8710K0k^e2Fu{$v18 z1ONH=W&e@^exN4$M}V9DYyi ssx0^j$KqJI&%=`RKF3UJ#$R)J^hqQ3^*^w$G; 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 Nsawd0VdI$M{9kB!r1}5= literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8M/u-boot.itb b/embedian/smarc-imx8mm/imx-mkimage/iMX8M/u-boot.itb new file mode 100644 index 0000000000000000000000000000000000000000..b161852b2b3e7b623bc619269fb41ad9b8bb060d GIT binary patch literal 647744 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

rzVzIc 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%0AIeps?znU+b3rB=Z-NhI%coc>x&-cN&jL5^ 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

<7aII4G0&T! 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 Z`vYeb(Y|cZJR?b@{#{@xl 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≦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 literal 0 HcmV?d00001 diff --git a/embedian/smarc-imx8mm/imx-mkimage/scripts/fspi_header b/embedian/smarc-imx8mm/imx-mkimage/scripts/fspi_header new file mode 100644 index 0000000..07513b5 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/scripts/fspi_header @@ -0,0 +1,128 @@ +46434642 /* Tag, ASCII "FCFB" */ +00000156 /* Version */ +00000000 +00030300 /* ColumnAddressWidth, DataSetupTime, DataHoldTime, ReadSampleClkSrc */ +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +01010200 /* Serial Nor, Single/Dual/Quad/Octal, SerialClkFreq 1 - 20MHz, 2- 50MHz... */ +00000000 +00000000 +00000010 /* SFlashA1Size */ +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0b041808 /* LUT Table */ +08300424 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00010000 /* Page Size, not used in ROM */ +00000100 /* Sector Size, not used in ROM */ +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 diff --git a/embedian/smarc-imx8mm/imx-mkimage/scripts/fspi_packer.sh b/embedian/smarc-imx8mm/imx-mkimage/scripts/fspi_packer.sh new file mode 100755 index 0000000..f5f5c14 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/scripts/fspi_packer.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +mv flash.bin qspi-flash +awk '{s="00000000"$1;l=length(s);if(!((NR-1)%4))printf "%08x ",(NR-1)*4;for(i=7;i>0;i-=2)printf " %s",substr(s,l-i,2);if(!(NR%4))printf "\n";}' $1 > qspi-tmp +xxd -r qspi-tmp qspi-header +dd if=qspi-header of=qspi-header.off bs=1k seek=1 +dd if=qspi-flash of=qspi-flash.off bs=1k seek=4 +dd if=qspi-header.off of=qspi-flash.off conv=notrunc +mv qspi-flash.off flash.bin +rm qspi-tmp qspi-header* qspi-flash* +echo "F(Q)SPI IMAGE PACKED" + diff --git a/embedian/smarc-imx8mm/imx-mkimage/scripts/pad_image.sh b/embedian/smarc-imx8mm/imx-mkimage/scripts/pad_image.sh new file mode 100755 index 0000000..533fd6a --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/scripts/pad_image.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ -f $1 ]; then + let size=$(wc -c $1 | awk '{print $1}') + let padded_size=$(((size + 7) & ~7)) + + if [ ${size} != ${padded_size} ] + then + echo $1 "is padded to" ${padded_size} + objcopy -I binary -O binary --pad-to ${padded_size} $1 + fi +fi diff --git a/embedian/smarc-imx8mm/imx-mkimage/scripts/qspi_header b/embedian/smarc-imx8mm/imx-mkimage/scripts/qspi_header new file mode 100644 index 0000000..431dea6 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/scripts/qspi_header @@ -0,0 +1,128 @@ +0 /*dqs_loopback=0 or 1*/ +0 /*hold_delay=0 to 3*/ +0 /*hsphs=0 (Half Speed Phase sampling at non-inverted clock) or 1 (sampling at inverted clock)*/ +0 /*hsdly=0 (Half Speed Delay one clk delay) or 1 (two clk cycle delay)*/ +0 /*device_quad_mode_en=1 to enable sending command to SPI device*/ +0 /*device_cmd=command to device for enableing Quad I/O mode*/ +0 /*write_cmd_ipcr=hex value to be written to IPCR register for write cmd of device*/ +2000000 /*write_enable_ipcr=hex value to be written to IPCR register for write enable of device*/ +3 /*cs_hold_time=0 to 0xF*/ +3 /*cs_setup_time=0 to 0xF*/ +8000000 /*sflash_A1_size=size in byte(hex)*/ +0 /*sflash_A2_size=size in byte(hex)*/ +8000000 /*sflash_B1_size=size in byte(hex)*/ +0 /*sflash_B2_size=size in byte(hex)*/ +0 /*sclk_freq=0 to 6*/ +0 /*busy_bit_offset=bit position of device BUSY in device status register*/ +2 /*sflash_type=1 (Single), 2 (Dual), 4 (Quad mode of operation)*/ +0 /*sflash_port=0 or 1 (Port B used)*/ +1 /*ddr_mode_enable=0 or 1*/ +0 /*dqs_enable=0 or 1*/ +0 /*parallel_mode_enable=0 or 1*/ +0 /*portA_cs1=0 or 1*/ +0 /*portB_cs1=0 or 1*/ +0 /*fsphs=0 (Full Speed Phase sampling at non-inverted clock) or 1 (sampling at inverted clock)*/ +0 /*fsdly=0 (Full Speed Delay One clk delay) or 1 (two clk cycle delay)*/ +0 /*ddrsmp=0 to 7 (sampling point for incoming data in DDR mode)*/ +2818043d /*lut[0] command sequence*/ +39040d06 /*lut[1] command sequence*/ +2400 /*lut[2] command sequence*/ +0 /*lut[3] command sequence*/ +0 /*lut[4] command sequence*/ +0 /*lut[5] command sequence*/ +0 /*lut[6] command sequence*/ +0 /*lut[7] command sequence*/ +0 /*lut[8] command sequence*/ +0 /*lut[9] command sequence*/ +0 /*lut[10] command sequence*/ +0 /*lut[11] command sequence*/ +0 /*lut[12] command sequence*/ +0 /*lut[13] command sequence*/ +0 /*lut[14] command sequence*/ +0 /*lut[15] command sequence*/ +0 /*lut[16] command sequence*/ +0 /*lut[17] command sequence*/ +0 /*lut[18] command sequence*/ +0 /*lut[19] command sequence*/ +0 /*lut[20] command sequence*/ +0 /*lut[21] command sequence*/ +0 /*lut[22] command sequence*/ +0 /*lut[23] command sequence*/ +0 /*lut[24] command sequence*/ +0 /*lut[25] command sequence*/ +0 /*lut[26] command sequence*/ +0 /*lut[27] command sequence*/ +0 /*lut[28] command sequence*/ +0 /*lut[29] command sequence*/ +0 /*lut[30] command sequence*/ +0 /*lut[31] command sequence*/ +0 /*lut[32] command sequence*/ +0 /*lut[33] command sequence*/ +0 /*lut[34] command sequence*/ +0 /*lut[35] command sequence*/ +0 /*lut[36] command sequence*/ +0 /*lut[37] command sequence*/ +0 /*lut[38] command sequence*/ +0 /*lut[39] command sequence*/ +0 /*lut[40] command sequence*/ +0 /*lut[41] command sequence*/ +0 /*lut[42] command sequence*/ +0 /*lut[43] command sequence*/ +0 /*lut[44] command sequence*/ +0 /*lut[45] command sequence*/ +0 /*lut[46] command sequence*/ +0 /*lut[47] command sequence*/ +0 /*lut[48] command sequence*/ +0 /*lut[49] command sequence*/ +0 /*lut[50] command sequence*/ +0 /*lut[51] command sequence*/ +0 /*lut[52] command sequence*/ +0 /*lut[53] command sequence*/ +0 /*lut[54] command sequence*/ +0 /*lut[55] command sequence*/ +0 /*lut[56] command sequence*/ +0 /*lut[57] command sequence*/ +0 /*lut[58] command sequence*/ +0 /*lut[59] command sequence*/ +0 /*lut[60] command sequence*/ +0 /*lut[61] command sequence*/ +0 /*lut[62] command sequence*/ +0 /*lut[63] command sequence*/ +1000001 /*read_status_ipcr=hex value to be written to IPCR register for reading status reg of device*/ +0 /*enable_dqs_phase=0 or 1*/ +0 /*config_cmds_en, enable config command*/ +0 /*config_cmds[0]*/ +0 /*config_cmds[1]*/ +0 /*config_cmds[2]*/ +0 /*config_cmds[3]*/ +0 /*config_cmds_args[0]*/ +0 /*config_cmds_args[1]*/ +0 /*config_cmds_args[2]*/ +0 /*config_cmds_args[3]*/ +0 /*io_pad_override_setting QSPI pins override setting*/ +0 /*reserve[0], 25 byte reserved area*/ +0 /*reserve[1], 25 byte reserved area*/ +0 /*reserve[2], 25 byte reserved area*/ +0 /*reserve[3], 25 byte reserved area*/ +0 /*reserve[4], 25 byte reserved area*/ +0 /*reserve[5], 25 byte reserved area*/ +0 /*reserve[6], 25 byte reserved area*/ +0 /*reserve[7], 25 byte reserved area*/ +0 /*reserve[8], 25 byte reserved area*/ +0 /*reserve[9], 25 byte reserved area*/ +0 /*reserve[10], 25 byte reserved area*/ +0 /*reserve[11], 25 byte reserved area*/ +0 /*reserve[12], 25 byte reserved area*/ +0 /*reserve[13], 25 byte reserved area*/ +0 /*reserve[14], 25 byte reserved area*/ +0 /*reserve[15], 25 byte reserved area*/ +0 /*reserve[16], 25 byte reserved area*/ +0 /*reserve[17], 25 byte reserved area*/ +0 /*reserve[18], 25 byte reserved area*/ +0 /*reserve[19], 25 byte reserved area*/ +0 /*reserve[20], 25 byte reserved area*/ +0 /*reserve[21], 25 byte reserved area*/ +0 /*reserve[22], 25 byte reserved area*/ +0 /*reserve[23], 25 byte reserved area*/ +0 /*reserve[24], 25 byte reserved area*/ +c0ffee01 /*tag, QSPI configuration tag, should be 0xc0ffee01*/ diff --git a/embedian/smarc-imx8mm/imx-mkimage/src/build_info.h b/embedian/smarc-imx8mm/imx-mkimage/src/build_info.h new file mode 100644 index 0000000..951eaa2 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/src/build_info.h @@ -0,0 +1,2 @@ +#define MKIMAGE_COMMIT 0x652b9d59 + diff --git a/embedian/smarc-imx8mm/imx-mkimage/src/imx8qm.c b/embedian/smarc-imx8mm/imx-mkimage/src/imx8qm.c new file mode 100644 index 0000000..6539636 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/src/imx8qm.c @@ -0,0 +1,334 @@ +/* + * Copyright (C) 2017 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + * derived from u-boot's mkimage utility + * + */ + +#include +#include "mkimage_common.h" + +#define MAX_NUM_IMGS 4 +#define IVT_HEADER_TAG 0xD1 + +typedef struct { + uint64_t src; /*8*/ + uint64_t dst; /*8*/ + uint64_t entry; /*8*/ + uint32_t size; /*4*/ + uint32_t flags; /*4*/ +} __attribute__((packed)) boot_img_t; /*32*/ + +typedef struct { + uint32_t num_images; /*4*/ + uint32_t bd_size; /*4*/ + uint32_t bd_flags; /*4*/ + uint32_t reserved; /*4*/ + boot_img_t img[MAX_NUM_IMGS]; /*128*/ + boot_img_t scd; /*32*/ + boot_img_t csf; /*32*/ + boot_img_t img_reserved; /* Reserved for future, 32 */ +} __attribute__((packed)) boot_data_v3_t; /*240*/ + +typedef struct { + ivt_header_t header; /*4*/ + uint32_t reserved1; /*4*/ + uint64_t dcd_ptr; /*8*/ + uint64_t boot_data_ptr; /*8*/ + uint64_t self; /*8*/ + uint64_t csf; /*8*/ + uint64_t scd; /*8*/ + uint64_t reserved2; /*8*/ + uint64_t reserved3; /*8*/ +} __attribute__((packed)) flash_header_v3_t; /*64*/ + +#define MAX_NUM_OF_CONTAINER 2 + +typedef struct { + flash_header_v3_t fhdr[MAX_NUM_OF_CONTAINER]; /*64*/ + boot_data_v3_t boot_data[MAX_NUM_OF_CONTAINER]; /*128*/ + dcd_v2_t dcd_table; /*2880*/ +} __attribute__((packed)) imx_header_v3_t; /*3072*/ + + +static void set_imx_hdr_v3(imx_header_v3_t *imxhdr, uint32_t dcd_len, + uint32_t flash_offset, uint32_t hdr_base, uint32_t cont_id) +{ + flash_header_v3_t *fhdr_v3 = &imxhdr->fhdr[cont_id]; + + /* Set magic number */ + fhdr_v3->header.tag = IVT_HEADER_TAG; /* 0xD1 */ + fhdr_v3->header.length = cpu_to_be16(sizeof(flash_header_v3_t)); + fhdr_v3->header.version = IVT_VERSION; /* 0x40 */ + + fhdr_v3->reserved1 = fhdr_v3->reserved2 = fhdr_v3->reserved3 = 0; + + fhdr_v3->self = hdr_base + flash_offset + cont_id * sizeof(flash_header_v3_t); + if (dcd_len > 0) + fhdr_v3->dcd_ptr = hdr_base + flash_offset + + offsetof(imx_header_v3_t, dcd_table); + else + fhdr_v3->dcd_ptr = 0; + fhdr_v3->boot_data_ptr = hdr_base + flash_offset + + offsetof(imx_header_v3_t, boot_data) + cont_id * sizeof(boot_data_v3_t); + + fhdr_v3->csf = 0; + fhdr_v3->scd = 0; +} + +int build_container_qm(uint32_t sector_size, uint32_t ivt_offset, char* out_file, bool emmc_fastboot, image_t* image_stack) +{ + int file_off, ofd; + + unsigned int dcd_len = 0; + static imx_header_v3_t imx_header; + struct stat sbuf; + uint64_t tmp_to = 0; /*used for offset of memory to find images */ + uint32_t custom_partition = 0;/* 0 denotes defaults */ + + + image_t* img_sp = image_stack; + int container = -1; + int cont_img_count = 0; /* indexes to arrange the container */ + + + memset((char*)&imx_header, 0, sizeof(imx_header_v3_t)); + + + if(image_stack == NULL) { + fprintf(stderr, "Empty image stack "); + exit(EXIT_FAILURE); + } + + fprintf(stdout, "Platform:\ti.MX8QM\n"); + + + if(emmc_fastboot){/* start images after initial 8K */ + file_off = 0x2000 - ivt_offset; + } + else + { + file_off = ALIGN(sizeof(imx_header_v3_t) + ivt_offset, sector_size); + } + + + + do{ /* process DCD if it is found */ + if (img_sp->option == DCD) { + dcd_len = parse_cfg_file(&imx_header.dcd_table, img_sp->filename); + fprintf(stdout, "dcd len = %d\n", dcd_len); + } + img_sp++; + } + while(img_sp->option!= NO_IMG); + + /* change load addr and setup DCD to be attached to first container */ + if (ivt_offset == IVT_OFFSET_FLEXSPI) { + set_imx_hdr_v3(&imx_header, dcd_len, ivt_offset, INITIAL_LOAD_ADDR_FLEXSPI, 0); + set_imx_hdr_v3(&imx_header, 0, ivt_offset, INITIAL_LOAD_ADDR_FLEXSPI, 1); + } else { + set_imx_hdr_v3(&imx_header, dcd_len, ivt_offset, INITIAL_LOAD_ADDR_SCU_ROM, 0); + set_imx_hdr_v3(&imx_header, 0, ivt_offset, INITIAL_LOAD_ADDR_AP_ROM, 1); + } + + + + /* step through image stack and generate the header and img srcs */ + img_sp = image_stack; + while(img_sp->option != NO_IMG){ /* stop once we reach null terminator */ + switch(img_sp->option){ + case SCFW: + check_file(&sbuf, img_sp->filename); + fprintf(stdout, "scfw size = %" PRIi64 "\n", sbuf.st_size); + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].img[cont_img_count].dst = 0x30fe0000; /* hard code scfw entry address */ + imx_header.boot_data[container].img[cont_img_count].entry = 0x1ffe0000; + imx_header.boot_data[container].img[cont_img_count].size = sbuf.st_size; + imx_header.boot_data[container].img[cont_img_count].flags = 0; + imx_header.boot_data[container].img[cont_img_count].flags = (CORE_SC & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data[container].num_images++; + imx_header.boot_data[container].bd_size = sizeof(boot_data_v3_t); + + file_off += ALIGN(sbuf.st_size, sector_size); + tmp_to = ALIGN((imx_header.boot_data[container].img[cont_img_count].dst + sbuf.st_size), IMG_AUTO_ALIGN); + cont_img_count++; + break; + case M4: + check_file(&sbuf, img_sp->filename); + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].img[cont_img_count].dst = img_sp->entry; + imx_header.boot_data[container].img[cont_img_count].entry = img_sp->entry; + imx_header.boot_data[container].img[cont_img_count].size = sbuf.st_size; + imx_header.boot_data[container].num_images++; + + if (img_sp->ext == 0) { + imx_header.boot_data[container].img[cont_img_count].flags = (CORE_CM4_0 & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data[container].img[cont_img_count].flags |= (SC_R_M4_0_PID0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + imx_header.boot_data[container].img[cont_img_count].flags |= (SC_R_M4_0_MU_1A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + } + else if (img_sp->ext == 1) { + imx_header.boot_data[container].img[cont_img_count].flags = (CORE_CM4_1 & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data[container].img[cont_img_count].flags |= (SC_R_M4_1_PID0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + imx_header.boot_data[container].img[cont_img_count].flags |= (SC_R_M4_1_MU_1A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + } + else{ + fprintf(stderr, "Error: invalid m4 core id: %" PRIi64 "\n", img_sp->ext); + exit(EXIT_FAILURE); + } + + if(custom_partition != 0) + { + imx_header.boot_data[container].img[cont_img_count].flags |= (custom_partition << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + custom_partition = 0; + } + else + { + imx_header.boot_data[container].img[cont_img_count].flags |= (PARTITION_ID_M4 << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + } + file_off += ALIGN(sbuf.st_size, sector_size); + cont_img_count++; + break; + case AP: + check_file(&sbuf, img_sp->filename); + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + fprintf(stdout, "AP image size = 0x%" PRIx64 "\n", sbuf.st_size); + fprintf(stdout, "AP image offset = 0x%x\n", file_off); + imx_header.boot_data[container].img[cont_img_count].dst = img_sp->entry; + imx_header.boot_data[container].img[cont_img_count].size = sbuf.st_size; + imx_header.boot_data[container].img[cont_img_count].entry = img_sp->entry; + imx_header.boot_data[container].num_images++; + imx_header.boot_data[container].bd_size = sizeof(boot_data_v3_t); + imx_header.boot_data[container].bd_flags = 0; + imx_header.boot_data[container].img[cont_img_count].flags = (img_sp->ext & BOOT_IMG_FLAGS_CORE_MASK); + + if (img_sp->ext == CORE_CA53){ + imx_header.boot_data[container].img[cont_img_count].flags |= (SC_R_A53_0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + } + else if (img_sp->ext == CORE_CA72){ + imx_header.boot_data[container].img[cont_img_count].flags |= (SC_R_A72_0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + } + else { + fprintf(stderr, "Error: invalid AP core id: %" PRIi64 "\n", img_sp->ext); + exit(EXIT_FAILURE); + } + imx_header.boot_data[container].img[cont_img_count].flags |= (SC_R_MU_0A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + + if(custom_partition != 0) + { + imx_header.boot_data[container].img[cont_img_count].flags |= (custom_partition << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + custom_partition = 0; + } + else + { + imx_header.boot_data[container].img[cont_img_count].flags |= (PARTITION_ID_AP << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + } + file_off += ALIGN(sbuf.st_size, sector_size); + /* only change the offset if not the first container */ + tmp_to = (container > 0) ? ALIGN((img_sp->entry + sbuf.st_size), IMG_AUTO_ALIGN) : tmp_to; + cont_img_count++; + break; + case SCD: + check_file(&sbuf, img_sp->filename); + imx_header.boot_data[container].scd.src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].scd.dst = tmp_to; + imx_header.boot_data[container].scd.size = sbuf.st_size; + imx_header.fhdr[container].scd = imx_header.boot_data[container].scd.dst; + + tmp_to = ALIGN((tmp_to + sbuf.st_size), IMG_AUTO_ALIGN); + file_off += ALIGN(sbuf.st_size, sector_size); + break; + case CSF: + check_file(&sbuf, img_sp->filename); + if (sbuf.st_size > CSF_DATA_SIZE) { + fprintf(stderr, "%s: file size %" PRIi64 " is larger than CSF_DATA_SIZE %d\n", + img_sp->filename, sbuf.st_size, CSF_DATA_SIZE); + exit(EXIT_FAILURE); + } + + imx_header.boot_data[container].csf.src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].csf.dst = tmp_to; + imx_header.boot_data[container].csf.size = CSF_DATA_SIZE; + imx_header.fhdr[container].csf = imx_header.boot_data[container].csf.dst; + + tmp_to = ALIGN((tmp_to + CSF_DATA_SIZE), IMG_AUTO_ALIGN); + file_off += ALIGN(CSF_DATA_SIZE, sector_size); + break; + case FLAG: + imx_header.boot_data[container].bd_flags = img_sp->entry; + break; + case NEW_CONTAINER: /* move the counters forward to start on a new container */ + container++; + cont_img_count=0; /* reset img count when moving to new container */ + tmp_to = 0; /* reset destination offset counter per container */ + break; + case DCD: + break; + case PARTITION: /* keep custom partition until next executable image */ + custom_partition = img_sp->entry; + break; + default: + fprintf(stderr, "unrecognized option in input stack"); + exit(EXIT_FAILURE); + } + img_sp++; + } + + /* reset counters to write output file */ + container = -1; + cont_img_count = 0; + + /* Open output file */ + ofd = open (out_file, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666); + if (ofd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + out_file, strerror(errno)); + exit(EXIT_FAILURE); + } + + /* Note: Image offset are not contained in the image */ + + /* Write image header */ + if (write(ofd, &imx_header, sizeof(imx_header_v3_t)) != sizeof(imx_header_v3_t)) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + } + + if(emmc_fastboot) + ivt_offset = 0;/*set ivt offset to 0 if emmc */ + + /* step through the image stack again this time copying images to final bin */ + img_sp = image_stack; + while(img_sp->option != NO_IMG){ /* stop once we reach null terminator */ + if (img_sp->option == DCD || + img_sp->option == OUTPUT || + img_sp->option == FLAG || + img_sp->option == DEVICE || + img_sp->option == NEW_CONTAINER || + img_sp->option == PARTITION) { + img_sp++; + continue;/* skip writing to the output file if not an image option */ + } + if (img_sp->option == CSF){ /* only pad if its a CSF image */ + copy_file(ofd, img_sp->filename, CSF_DATA_SIZE, img_sp->src - ivt_offset); + cont_img_count++; + + } + else { + copy_file(ofd, img_sp->filename, 0, img_sp->src - ivt_offset); + } + img_sp++; + } + + /* Close output file */ + close(ofd); + + return 0; +} + + diff --git a/embedian/smarc-imx8mm/imx-mkimage/src/imx8qx.c b/embedian/smarc-imx8mm/imx-mkimage/src/imx8qx.c new file mode 100644 index 0000000..49c75b5 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/src/imx8qx.c @@ -0,0 +1,330 @@ +/* + * Copyright (C) 2017 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + * derived from u-boot's mkimage utility + * + */ + +#include +#include "mkimage_common.h" + +#define MAX_NUM_IMGS 6 +#define IVT_HEADER_TAG 0xDE + +typedef struct { + uint64_t src; /*8*/ + uint64_t dst; /*8*/ + uint64_t entry; /*8*/ + uint32_t size; /*4*/ + uint32_t hab_flags; /*4*/ + uint32_t flags1; /*4*/ + uint32_t flags2; /*4*/ +} __attribute__((packed)) boot_img_t;; /*40*/ + +typedef struct { + uint32_t num_images; /*4*/ + uint32_t bd_size; /*4*/ + uint32_t bd_flags; /*4*/ + uint32_t reserved; /*4*/ + boot_img_t img[MAX_NUM_IMGS]; /*240*/ +} __attribute__((packed)) boot_data_v3_t; /*256*/ + +typedef struct { + ivt_header_t header; /*4*/ + uint32_t ver; /*4*/ + uint64_t dcd_ptr; /*8*/ + uint64_t boot_data_ptr; /*8*/ + uint64_t self; /*8*/ + uint64_t csf; /*8*/ + uint64_t next; /*8*/ +} __attribute__((packed)) flash_header_v3_t; /*48*/ + +#define MAX_NUM_OF_CONTAINER 2 + +typedef struct { + flash_header_v3_t fhdr[MAX_NUM_OF_CONTAINER]; /*96*/ + boot_data_v3_t boot_data[MAX_NUM_OF_CONTAINER]; /*512*/ + dcd_v2_t dcd_table; /*2880*/ +} __attribute__((packed)) imx_header_v3_t; /*3488*/ + + +static void set_imx_hdr_v3(imx_header_v3_t *imxhdr, uint32_t dcd_len, + uint32_t flash_offset, uint32_t hdr_base, uint32_t cont_id) +{ + flash_header_v3_t *fhdr_v3 = &imxhdr->fhdr[cont_id]; + + /* Set magic number */ + fhdr_v3->header.tag = IVT_HEADER_TAG; /* 0xDE */ + fhdr_v3->header.length = cpu_to_be16(sizeof(flash_header_v3_t)); + fhdr_v3->header.version = IVT_VERSION; /* 0x43 */ + + fhdr_v3->ver = IVT_VER; /* 0x01 */ + + fhdr_v3->self = hdr_base + flash_offset + cont_id * sizeof(flash_header_v3_t); + if (dcd_len > 0) + fhdr_v3->dcd_ptr = hdr_base + flash_offset + + offsetof(imx_header_v3_t, dcd_table); + else + fhdr_v3->dcd_ptr = 0; + fhdr_v3->boot_data_ptr = hdr_base + flash_offset + + offsetof(imx_header_v3_t, boot_data) + cont_id * sizeof(boot_data_v3_t); + + fhdr_v3->csf = 0; + + if ((cont_id + 1) < MAX_NUM_OF_CONTAINER) + fhdr_v3->next = (uintptr_t)&imxhdr->fhdr[cont_id + 1] - (uintptr_t)imxhdr; + else + fhdr_v3->next = 0; +} + +int build_container_qx(uint32_t sector_size, uint32_t ivt_offset, char* out_file, bool emmc_fastboot, image_t* image_stack) +{ + int file_off, ofd = -1; + unsigned int dcd_len = 0; + + static imx_header_v3_t imx_header; + image_t* img_sp = image_stack; + struct stat sbuf; + uint64_t tmp_to = 0; /* used for offset of memory to find images */ + uint32_t custom_partition = 0; /* 0 denotes default partition */ + + int container = -1; + int cont_img_count = 0; /* indexes to arrange the container */ + + memset((char*)&imx_header, 0, sizeof(imx_header_v3_t)); + + if(image_stack == NULL) { + fprintf(stderr, "Empty image stack "); + exit(EXIT_FAILURE); + } + + fprintf(stdout, "Platform:\ti.MX8QXP\n"); + + if(emmc_fastboot){/* start images after initial 8K */ + file_off = 0x2000 - ivt_offset; + } + else + { + file_off = ALIGN(sizeof(imx_header_v3_t) + ivt_offset, sector_size); + } + + do{ /* process DCD if it is found */ + if (img_sp->option == DCD) { + dcd_len = parse_cfg_file(&imx_header.dcd_table, img_sp->filename); + fprintf(stdout, "dcd len = %d\n", dcd_len); + } + img_sp++; + } + while(img_sp->option!= NO_IMG); + + + /* change load addr and setup DCD to be attached to first container */ + if (ivt_offset == IVT_OFFSET_FLEXSPI) { + set_imx_hdr_v3(&imx_header, dcd_len, ivt_offset, INITIAL_LOAD_ADDR_FLEXSPI, 0); + set_imx_hdr_v3(&imx_header, 0, ivt_offset, INITIAL_LOAD_ADDR_FLEXSPI, 1); + } else { + set_imx_hdr_v3(&imx_header, dcd_len, ivt_offset, INITIAL_LOAD_ADDR_SCU_ROM, 0); + set_imx_hdr_v3(&imx_header, 0, ivt_offset, INITIAL_LOAD_ADDR_AP_ROM, 1); + } + + + /* step through image stack and generate the header */ + img_sp = image_stack; + while(img_sp->option != NO_IMG){ /* stop once we reach null terminator */ + switch(img_sp->option){ + case SCFW: + check_file(&sbuf, img_sp->filename); + fprintf(stdout, "scfw size = %" PRIi64 "\n", sbuf.st_size); + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].img[cont_img_count].dst = 0x1ffe0000; /* hard code scfw entry address */ + imx_header.boot_data[container].img[cont_img_count].entry = 0x1ffe0000; + imx_header.boot_data[container].img[cont_img_count].size = sbuf.st_size; + imx_header.boot_data[container].img[cont_img_count].flags2 = 0; + imx_header.boot_data[container].img[cont_img_count].hab_flags = IMG_TYPE_EXEC; + imx_header.boot_data[container].img[cont_img_count].flags1 = (CORE_SC & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data[container].num_images++; + imx_header.boot_data[container].bd_size = sizeof(boot_data_v3_t); + + file_off += ALIGN(sbuf.st_size, sector_size); + tmp_to = ALIGN((imx_header.boot_data[container].img[cont_img_count].dst + sbuf.st_size), IMG_AUTO_ALIGN); + cont_img_count++; + break; + case M4: + check_file(&sbuf, img_sp->filename); + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].img[cont_img_count].dst = img_sp->entry; + imx_header.boot_data[container].img[cont_img_count].entry = img_sp->entry; + imx_header.boot_data[container].img[cont_img_count].size = sbuf.st_size; + imx_header.boot_data[container].num_images++; + + + imx_header.boot_data[container].img[cont_img_count].flags2 = 0; + imx_header.boot_data[container].img[cont_img_count].hab_flags = IMG_TYPE_EXEC; + if (img_sp->ext == 0) { + imx_header.boot_data[container].img[cont_img_count].flags1 = (CORE_CM4_0 & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data[container].img[cont_img_count].flags1 |= (SC_R_M4_0_PID0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + imx_header.boot_data[container].img[cont_img_count].flags1 |= (SC_R_M4_0_MU_1A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + } + else if (img_sp->ext == 1) { + imx_header.boot_data[container].img[cont_img_count].flags1 = (CORE_CM4_1 & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data[container].img[cont_img_count].flags1 |= (SC_R_M4_1_PID0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + imx_header.boot_data[container].img[cont_img_count].flags1 |= (SC_R_M4_1_MU_1A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + } + else{ + fprintf(stderr, "Error: invalid m4 core id: %" PRIi64 "\n", img_sp->ext); + exit(EXIT_FAILURE); + } + if(custom_partition != 0) + { + imx_header.boot_data[container].img[cont_img_count].flags1 |= (custom_partition << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + custom_partition = 0; + } + else + { + imx_header.boot_data[container].img[cont_img_count].flags1 |= (PARTITION_ID_M4 << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + } + file_off += ALIGN(sbuf.st_size, sector_size); + cont_img_count++; + break; + case AP: + check_file(&sbuf, img_sp->filename); + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].img[cont_img_count].dst = img_sp->entry; + imx_header.boot_data[container].img[cont_img_count].size = sbuf.st_size; + imx_header.boot_data[container].img[cont_img_count].entry = img_sp->entry; + imx_header.boot_data[container].num_images++; + imx_header.boot_data[container].bd_size = sizeof(boot_data_v3_t); + imx_header.boot_data[container].bd_flags = 0; + + + imx_header.boot_data[container].img[cont_img_count].flags2 = 0; + imx_header.boot_data[container].img[cont_img_count].hab_flags = IMG_TYPE_EXEC; + imx_header.boot_data[container].img[cont_img_count].flags1 = (img_sp->ext & BOOT_IMG_FLAGS_CORE_MASK); + if (img_sp->ext != CORE_CA35) { + fprintf(stderr, "Error: invalid AP core id: %" PRIi64 "\n", img_sp->ext); + exit(EXIT_FAILURE); + } + imx_header.boot_data[container].img[cont_img_count].flags1 |= (SC_R_A35_0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + imx_header.boot_data[container].img[cont_img_count].flags1 |= (SC_R_MU_0A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + + if(custom_partition != 0) + { + imx_header.boot_data[container].img[cont_img_count].flags1 |= (custom_partition << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + custom_partition = 0; + } + else + { + imx_header.boot_data[container].img[cont_img_count].flags1 |= (PARTITION_ID_AP << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + } + + file_off += ALIGN(sbuf.st_size, sector_size); + cont_img_count++; + break; + case SCD: + check_file(&sbuf, img_sp->filename); + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].img[cont_img_count].dst = tmp_to; + imx_header.boot_data[container].img[cont_img_count].size = sbuf.st_size; + imx_header.boot_data[container].img[cont_img_count].flags2 = 0; + imx_header.boot_data[container].img[cont_img_count].hab_flags = IMG_TYPE_SCD; + imx_header.boot_data[container].img[cont_img_count].flags1 = (CORE_SC & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data[container].num_images++; /* scd img is count in num_images */ + + tmp_to = ALIGN((tmp_to + sbuf.st_size), IMG_AUTO_ALIGN); + file_off += ALIGN(sbuf.st_size, sector_size); + cont_img_count++; + break; + case CSF: + check_file(&sbuf, img_sp->filename); + if (sbuf.st_size > CSF_DATA_SIZE) { + fprintf(stderr, "%s: file size %" PRIi64 " is larger than CSF_DATA_SIZE %d\n", + img_sp->filename, sbuf.st_size, CSF_DATA_SIZE); + exit(EXIT_FAILURE); + } + imx_header.boot_data[container].img[cont_img_count].src = file_off; + img_sp->src = file_off; + imx_header.boot_data[container].img[cont_img_count].dst = tmp_to; + imx_header.boot_data[container].img[cont_img_count].size = CSF_DATA_SIZE; + imx_header.boot_data[container].img[cont_img_count].flags2 = 0; + imx_header.boot_data[container].img[cont_img_count].hab_flags = IMG_TYPE_CSF; + imx_header.boot_data[container].img[cont_img_count].flags1 = (CORE_SC & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.fhdr[container].csf = imx_header.boot_data[container].img[cont_img_count].dst; + imx_header.boot_data[container].num_images++; /* csf img is count in num_images */ + + tmp_to = ALIGN((tmp_to + CSF_DATA_SIZE), IMG_AUTO_ALIGN); + file_off += ALIGN(CSF_DATA_SIZE, sector_size); + cont_img_count++; + break; + case FLAG: + imx_header.boot_data[container].bd_flags = img_sp->entry; + break; + case NEW_CONTAINER: /* move the counters forward to start on a new container */ + container++; + cont_img_count=0; /* reset img count when moving to new container */ + break; + case PARTITION: /* keep custom partition until next executable image */ + custom_partition = img_sp->entry; + break; + case DCD: + break; /* skip DCD here because we already processed it */ + default: + fprintf(stderr, "unrecognized option in input stack"); + exit(EXIT_FAILURE); + } + img_sp++;/* advance index */ + } + + /* reset counters to write output file */ + container = 0; + cont_img_count = 0; + /* Open output file */ + ofd = open (out_file, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666); + if (ofd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + out_file, strerror(errno)); + exit(EXIT_FAILURE); + } + + /* Note: Image offset are not contained in the image */ + + /* Write image header */ + if (write(ofd, &imx_header, sizeof(imx_header_v3_t)) != sizeof(imx_header_v3_t)) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + } + + if(emmc_fastboot) + ivt_offset = 0;/*set ivt offset to 0 if emmc */ + + /* step through the image stack again this time copying images to final bin */ + img_sp = image_stack; + while(img_sp->option != NO_IMG){ /* stop once we reach null terminator */ + if (img_sp->option == DCD || + img_sp->option == OUTPUT || + img_sp->option == FLAG || + img_sp->option == DEVICE || + img_sp->option == NEW_CONTAINER || + img_sp->option == PARTITION) { + img_sp++; + continue;/* skip writing to the output file if not an image option */ + } + if (img_sp->option == CSF){ /* only pad if its a CSF image */ + copy_file(ofd, img_sp->filename, CSF_DATA_SIZE, img_sp->src - ivt_offset); + + } + else { + copy_file(ofd, img_sp->filename, 0, img_sp->src - ivt_offset); + } + img_sp++; + } + +/* Close output file */ + close(ofd); + return 0; +} + diff --git a/embedian/smarc-imx8mm/imx-mkimage/src/imx8qxb0.c b/embedian/smarc-imx8mm/imx-mkimage/src/imx8qxb0.c new file mode 100644 index 0000000..d794eb2 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/src/imx8qxb0.c @@ -0,0 +1,727 @@ +/* + * Copyright 2018 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + * derived from u-boot's mkimage utility + * + */ + +#include "mkimage_common.h" + +#include +#include + +#define OCRAM_START 0x00100000 +#define OCRAM_END 0x00400000 + +#define IV_MAX_LEN 32 +#define HASH_MAX_LEN 64 +#define MAX_NUM_IMGS 6 +#define MAX_NUM_SRK_RECORDS 4 + +#define IVT_HEADER_TAG_B0 0x87 +#define IVT_VERSION_B0 0x00 + +#define IMG_FLAG_HASH_SHA256 0x000 +#define IMG_FLAG_HASH_SHA384 0x100 +#define IMG_FLAG_HASH_SHA512 0x200 + +#define IMG_FLAG_ENCRYPTED_MASK 0x400 +#define IMG_FLAG_ENCRYPTED_SHIFT 0x0A + +#define IMG_FLAG_BOOTFLAGS_MASK 0xFFFF0000 +#define IMG_FLAG_BOOTFLAGS_SHIFT 0x10 + +#define IMG_ARRAY_ENTRY_SIZE 128 +#define HEADER_IMG_ARRAY_OFFSET 0x10 + +#define HASH_STR_SHA_256 "sha256" +#define HASH_STR_SHA_384 "sha384" +#define HASH_STR_SHA_512 "sha512" + +#define HASH_TYPE_SHA_256 256 +#define HASH_TYPE_SHA_384 384 +#define HASH_TYPE_SHA_512 512 + +#define IMAGE_HASH_ALGO_DEFAULT 384 +#define IMAGE_PADDING_DEFAULT 0x1000 + +#define DCD_ENTRY_ADDR_IN_SCFW 0x240 + +#define CONTAINER_ALIGNMENT 0x400 +#define CONTAINER_FLAGS_DEFAULT 0x10 +#define CONTAINER_FUSE_DEFAULT 0x0 + +#define SIGNATURE_BLOCK_HEADER_LENGTH 0x10 + +#define MAX_NUM_OF_CONTAINER 2 + +#define FIRST_CONTAINER_HEADER_LENGTH 0x400 + +#define BOOT_IMG_META_MU_RID_SHIFT 10 +#define BOOT_IMG_META_PART_ID_SHIFT 20 + +#define IMAGE_A35_DEFAULT_META(PART) (((PART == 0 ) ? PARTITION_ID_AP : PART) << BOOT_IMG_META_PART_ID_SHIFT |\ + SC_R_MU_0A << BOOT_IMG_META_MU_RID_SHIFT | \ + SC_R_A35_0) + +#define IMAGE_A53_DEFAULT_META(PART) (((PART == 0 ) ? PARTITION_ID_AP : PART) << BOOT_IMG_META_PART_ID_SHIFT |\ + SC_R_MU_0A << BOOT_IMG_META_MU_RID_SHIFT | \ + SC_R_A53_0) + +#define IMAGE_A72_DEFAULT_META(PART) (((PART == 0 ) ? PARTITION_ID_AP : PART) << BOOT_IMG_META_PART_ID_SHIFT |\ + SC_R_MU_0A << BOOT_IMG_META_MU_RID_SHIFT | \ + SC_R_A72_0) + +#define IMAGE_M4_0_DEFAULT_META(PART) (((PART == 0) ? PARTITION_ID_M4 : PART) << BOOT_IMG_META_PART_ID_SHIFT |\ + SC_R_M4_0_MU_1A << BOOT_IMG_META_MU_RID_SHIFT | \ + SC_R_M4_0_PID0) + +#define IMAGE_M4_1_DEFAULT_META(PART) (((PART == 0) ? PARTITION_ID_M4 : PART) << BOOT_IMG_META_PART_ID_SHIFT |\ + SC_R_M4_1_MU_1A << BOOT_IMG_META_MU_RID_SHIFT | \ + SC_R_M4_1_PID0) + +#define CONTAINER_IMAGE_ARRAY_START_OFFSET 0x2000 + +uint32_t scfw_flags = 0; + +typedef struct { + uint8_t version; + uint16_t length; + uint8_t tag; + uint16_t srk_table_offset; + uint16_t cert_offset; + uint16_t blob_offset; + uint16_t signature_offset; + uint32_t reserved; +} __attribute__((packed)) sig_blk_hdr_t; + +typedef struct { + uint32_t offset; + uint32_t size; + uint64_t dst; + uint64_t entry; + uint32_t hab_flags; + uint32_t meta; + uint8_t hash[HASH_MAX_LEN]; + uint8_t iv[IV_MAX_LEN]; +} __attribute__((packed)) boot_img_t; + +typedef struct { + uint8_t version; + uint16_t length; + uint8_t tag; + uint32_t flags; + uint16_t sw_version; + uint8_t fuse_version; + uint8_t num_images; + uint16_t sig_blk_offset; + uint16_t reserved; + boot_img_t img[MAX_NUM_IMGS]; + sig_blk_hdr_t sig_blk_hdr; + uint32_t sigblk_size; + uint32_t padding; +} __attribute__((packed)) flash_header_v3_t; + +typedef struct { + flash_header_v3_t fhdr[MAX_NUM_OF_CONTAINER]; + dcd_v2_t dcd_table; +} __attribute__((packed)) imx_header_v3_t; + +uint32_t custom_partition = 0; + +static void copy_file_aligned (int ifd, const char *datafile, int offset, int align) +{ + int dfd; + struct stat sbuf; + unsigned char *ptr; + uint8_t zeros[0x4000]; + int size; + int ret; + + if (align > 0x4000) { + fprintf (stderr, "Wrong alignment requested %d\n", + align); + exit (EXIT_FAILURE); + } + + memset(zeros, 0, sizeof(zeros)); + + if ((dfd = open(datafile, O_RDONLY|O_BINARY)) < 0) { + fprintf (stderr, "Can't open %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + if (fstat(dfd, &sbuf) < 0) { + fprintf (stderr, "Can't stat %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + if(sbuf.st_size == 0) + goto close; + + ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, dfd, 0); + if (ptr == MAP_FAILED) { + fprintf (stderr, "Can't read %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + size = sbuf.st_size; + ret = lseek(ifd, offset, SEEK_SET); + if (ret < 0) { + fprintf(stderr, "%s: lseek error %s\n", + __func__, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (write(ifd, ptr, size) != size) { + fprintf (stderr, "Write error %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + + align = ALIGN(size, align) - size; + + if (write(ifd, (char *)&zeros, align) != align) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + } + + (void) munmap((void *)ptr, sbuf.st_size); +close: + (void) close (dfd); + +} + +static void set_imx_hdr_v3(imx_header_v3_t *imxhdr, uint32_t dcd_len, + uint32_t flash_offset, uint32_t hdr_base, uint32_t cont_id) +{ + flash_header_v3_t *fhdr_v3 = &imxhdr->fhdr[cont_id]; + + /* Set magic number */ + fhdr_v3->tag = IVT_HEADER_TAG_B0; + fhdr_v3->version = IVT_VERSION_B0; +} + +void set_image_hash(boot_img_t *img, char *filename, uint32_t hash_type) +{ + FILE *fp = NULL; + char sha_command[512]; + char hash[2 * HASH_MAX_LEN + 1]; + + if (img->size == 0) + sprintf(sha_command, "sha%dsum /dev/null", hash_type); + else + sprintf(sha_command, "dd if=/dev/zero of=tmp_pad bs=%d count=1;\ + dd if=\'%s\' of=tmp_pad conv=notrunc;\ + sha%dsum tmp_pad; rm -f tmp_pad", + img->size, filename, hash_type); + + switch(hash_type) { + case HASH_TYPE_SHA_256: + img->hab_flags |= IMG_FLAG_HASH_SHA256; + break; + case HASH_TYPE_SHA_384: + img->hab_flags |= IMG_FLAG_HASH_SHA384; + break; + case HASH_TYPE_SHA_512: + img->hab_flags |= IMG_FLAG_HASH_SHA512; + break; + default: + fprintf(stderr, "Wrong hash type selected (%d) !!!\n\n", + hash_type); + exit(EXIT_FAILURE); + break; + } + memset(img->hash, 0, HASH_MAX_LEN); + + fp = popen(sha_command, "r"); + if (fp == NULL) { + fprintf(stderr, "Failed to run command hash\n" ); + exit(EXIT_FAILURE); + } + + if(fgets(hash, hash_type / 4 + 1, fp) == NULL) { + fprintf(stderr, "Failed to hash file: %s\n", filename); + exit(EXIT_FAILURE); + } + + for(int i = 0; i < strlen(hash)/2; i++){ + sscanf(hash + 2*i, "%02hhx", &img->hash[i]); + } + + pclose(fp); +} + +#define append(p, s, l) do {memcpy(p, (uint8_t *)s, l); p += l; } while (0) + +uint8_t *flatten_container_header(imx_header_v3_t *imx_header, + uint8_t containers_count, + uint32_t *size_out, uint32_t file_offset) +{ + uint8_t *flat = NULL; + uint8_t *ptr = NULL; + uint16_t size = 0; + + /* Compute size of all container headers */ + for (int i = 0; i < containers_count; i++) { + + flash_header_v3_t *container = &imx_header->fhdr[i]; + + container->sig_blk_offset = HEADER_IMG_ARRAY_OFFSET + + container->num_images * IMG_ARRAY_ENTRY_SIZE; + + container->length = HEADER_IMG_ARRAY_OFFSET + + (IMG_ARRAY_ENTRY_SIZE * container->num_images) + sizeof(sig_blk_hdr_t); + + /* Print info needed by CST to sign the container header */ + fprintf(stdout, "CST: CONTAINER %d offset: 0x%x\n", i, file_offset + size); + fprintf(stdout, "CST: CONTAINER %d: Signature Block: offset is at 0x%x\n", i, + file_offset + size + container->length - SIGNATURE_BLOCK_HEADER_LENGTH); + + size += ALIGN(container->length, container->padding); + } + + flat = calloc(size, sizeof(uint8_t)); + if (!flat) { + fprintf(stderr, "Failed to allocate memory (%d)\n", size); + exit(EXIT_FAILURE); + } + + ptr = flat; + *size_out = size; + + for (int i = 0; i < containers_count; i++) { + + flash_header_v3_t *container = &imx_header->fhdr[i]; + uint32_t container_start_offset = ptr - flat; + + /* Append container header */ + append(ptr, container, HEADER_IMG_ARRAY_OFFSET); + + /* Adjust images offset to start from container headers start */ + for (int j = 0; j < container->num_images; j++) { + container->img[j].offset -= container_start_offset + file_offset; + } + /* Append each image array entry */ + for (int j = 0; j < container->num_images; j++) { + append(ptr, &container->img[j], sizeof(boot_img_t)); + } + + append(ptr, &container->sig_blk_hdr, sizeof(sig_blk_hdr_t)); + + /* Padding for container (if necessary) */ + ptr += ALIGN(container->length, container->padding) - container->length; + } + + return flat; +} + +uint64_t read_dcd_offset(char *filename) +{ + int dfd; + struct stat sbuf; + uint8_t *ptr; + uint64_t offset = 0; + + dfd = open(filename, O_RDONLY|O_BINARY); + if (dfd < 0) { + fprintf(stderr, "Can't open %s: %s\n", filename, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(dfd, &sbuf) < 0) { + fprintf(stderr, "Can't stat %s: %s\n", filename, strerror(errno)); + exit(EXIT_FAILURE); + } + + ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, dfd, 0); + if (ptr == MAP_FAILED) { + fprintf(stderr, "Can't read %s: %s\n", filename, strerror(errno)); + exit(EXIT_FAILURE); + } + + offset = *(uint32_t *)(ptr + DCD_ENTRY_ADDR_IN_SCFW); + + (void) munmap((void *)ptr, sbuf.st_size); + (void) close(dfd); + + return offset; +} + +uint32_t get_hash_algo(char *images_hash) +{ + uint32_t hash_algo = IMAGE_HASH_ALGO_DEFAULT; + + if (NULL != images_hash) { + if (0 == strcmp(images_hash, HASH_STR_SHA_256)) { + hash_algo = HASH_TYPE_SHA_256; + } + else if (0 == strcmp(images_hash, HASH_STR_SHA_384)) { + hash_algo = HASH_TYPE_SHA_384; + } + else if (0 == strcmp(images_hash, HASH_STR_SHA_512)) { + hash_algo = HASH_TYPE_SHA_512; + } + else { + fprintf(stderr, + "\nERROR: %s is an invalid hash argument\n" + " Expected values: %s, %s, %s\n\n", + images_hash, HASH_STR_SHA_256, HASH_STR_SHA_384, HASH_STR_SHA_512); + exit(EXIT_FAILURE); + } + } + + fprintf(stdout, "Hash of the images = sha%d\n", hash_algo); + return hash_algo; +} + +void set_image_array_entry(flash_header_v3_t *container, soc_type_t soc, + const image_t *image_stack, uint32_t offset, + uint32_t size, char *tmp_filename, bool dcd_skip, char *images_hash) +{ + uint64_t entry = image_stack->entry; + uint64_t core = image_stack->ext; + uint32_t meta; + char *tmp_name = ""; + option_type_t type = image_stack->option; + boot_img_t *img = &container->img[container->num_images]; + + + img->offset = offset; /* Is re-adjusted later */ + img->size = size; + + set_image_hash(img, tmp_filename, get_hash_algo(images_hash)); + + switch(type) { + case SECO: + img->hab_flags |= IMG_TYPE_SECO; + img->hab_flags |= CORE_SECO << BOOT_IMG_FLAGS_CORE_SHIFT; + tmp_name = "SECO"; + img->dst = 0x20C00000; + img->entry = 0x20000000; + break; + case AP: + if (soc == QX && core == CORE_CA35) + meta = IMAGE_A35_DEFAULT_META(custom_partition); + else if (soc == QM && core == CORE_CA53) + meta = IMAGE_A53_DEFAULT_META(custom_partition); + else if (soc == QM && core == CORE_CA72) + meta = IMAGE_A72_DEFAULT_META(custom_partition); + else { + fprintf(stderr, "Error: invalid AP core id: %" PRIi64 "\n", core); + exit(EXIT_FAILURE); + } + img->hab_flags |= IMG_TYPE_EXEC; + img->hab_flags |= CORE_CA53 << BOOT_IMG_FLAGS_CORE_SHIFT; /* On B0, only core id = 4 is valid */ + tmp_name = "AP"; + img->dst = entry; + img->entry = entry; + img->meta = meta; + custom_partition = 0; + break; + case M4: + if (core == 0) { + core = CORE_CM4_0; + meta = IMAGE_M4_0_DEFAULT_META(custom_partition); + } else if (core == 1) { + core = CORE_CM4_1; + meta = IMAGE_M4_1_DEFAULT_META(custom_partition); + } else { + fprintf(stderr, "Error: invalid m4 core id: %" PRIi64 "\n", core); + exit(EXIT_FAILURE); + } + img->hab_flags |= IMG_TYPE_EXEC; + img->hab_flags |= core << BOOT_IMG_FLAGS_CORE_SHIFT; + tmp_name = "M4"; + if ((entry & 0x7) != 0) + { + fprintf(stderr, "\n\nWarning: M4 Destination address is not 8 byte aligned\n\n"); + } + img->dst = entry; + img->entry = entry; + img->meta = meta; + custom_partition = 0; + break; + case DATA: + img->hab_flags |= IMG_TYPE_DATA; + img->hab_flags |= CORE_CA35 << BOOT_IMG_FLAGS_CORE_SHIFT; + tmp_name = "DATA"; + img->dst = entry; + break; + case MSG_BLOCK: + img->hab_flags |= IMG_TYPE_DATA; + img->hab_flags |= CORE_CA35 << BOOT_IMG_FLAGS_CORE_SHIFT; + img->meta = core << BOOT_IMG_META_MU_RID_SHIFT; + tmp_name = "MSG_BLOCK"; + img->dst = entry; + break; + case SCFW: + img->hab_flags |= scfw_flags & 0xFFFF0000; + img->hab_flags |= IMG_TYPE_EXEC; + img->hab_flags |= CORE_SC << BOOT_IMG_FLAGS_CORE_SHIFT; + tmp_name = "SCFW"; + img->dst = 0x1FFE0000; + img->entry = 0x1FFE0000; + + /* Lets add the DCD now */ + if (!dcd_skip) { + container->num_images++; + img = &container->img[container->num_images]; + img->hab_flags |= IMG_TYPE_DCD_DDR; + img->hab_flags |= CORE_SC << BOOT_IMG_FLAGS_CORE_SHIFT; + set_image_hash(img, "/dev/null", IMAGE_HASH_ALGO_DEFAULT); + img->offset = offset + img->size; + img->entry = read_dcd_offset(tmp_filename); + img->dst = img->entry - 1; + } + break; + default: + fprintf(stderr, "unrecognized image type (%d)\n", type); + exit(EXIT_FAILURE); + } + + fprintf(stdout, "%s file_offset = 0x%x size = 0x%x\n", tmp_name, offset, size); + + container->num_images++; +} + +void set_container(flash_header_v3_t *container, uint16_t sw_version, + uint32_t alignment, uint32_t flags, uint16_t fuse_version) +{ + container->sig_blk_hdr.tag = 0x90; + container->sig_blk_hdr.length = sizeof(sig_blk_hdr_t); + container->sw_version = sw_version; + container->padding = alignment; + container->fuse_version = fuse_version; + container->flags = flags; + printf("flags: 0x%x\n", container->flags); +} + +int get_container_image_start_pos(image_t *image_stack, uint32_t align) +{ + image_t *img_sp = image_stack; + /*8K total container header*/ + int file_off = CONTAINER_IMAGE_ARRAY_START_OFFSET, ofd = -1; + flash_header_v3_t header; + + + while (img_sp->option != NO_IMG) { + if (img_sp->option == APPEND) { + ofd = open(img_sp->filename, O_RDONLY); + if (ofd < 0) { + printf("Failure open first container file %s\n", img_sp->filename); + break; + } + + if(read(ofd, &header, sizeof(header)) != sizeof(header)) { + printf("Failure Read header \n"); + exit(EXIT_FAILURE); + } + + close(ofd); + + if (header.tag != IVT_HEADER_TAG_B0) { + printf("header tag missmatched \n"); + } else if (header.num_images == 0) { + printf("image num is 0 \n"); + } else { + file_off += header.img[header.num_images - 1].size; + file_off = ALIGN(file_off, align); + } + } + + img_sp++; + } + + return file_off; +} + +int build_container_qx_qm_b0(soc_type_t soc, uint32_t sector_size, uint32_t ivt_offset, char *out_file, + bool emmc_fastboot, image_t *image_stack, bool dcd_skip, uint8_t fuse_version, + uint16_t sw_version, char *images_hash) +{ + int file_off, ofd = -1; + unsigned int dcd_len = 0; + + static imx_header_v3_t imx_header; + image_t *img_sp = image_stack; + struct stat sbuf; + char *tmp_filename = NULL; + uint32_t size = 0; + uint32_t file_padding = 0; + int ret; + + int container = -1; + int cont_img_count = 0; /* indexes to arrange the container */ + + memset((char *)&imx_header, 0, sizeof(imx_header_v3_t)); + + if (image_stack == NULL) { + fprintf(stderr, "Empty image stack "); + exit(EXIT_FAILURE); + } + + if (soc == QX) + fprintf(stdout, "Platform:\ti.MX8QXP B0\n"); + else if (soc == QM) + fprintf(stdout, "Platform:\ti.MX8QM B0\n"); + + set_imx_hdr_v3(&imx_header, dcd_len, ivt_offset, INITIAL_LOAD_ADDR_SCU_ROM, 0); + set_imx_hdr_v3(&imx_header, 0, ivt_offset, INITIAL_LOAD_ADDR_AP_ROM, 1); + + printf("ivt_offset:\t%d\n", ivt_offset); + + file_off = get_container_image_start_pos(image_stack, sector_size); + printf("container image offset (aligned):%x\n", file_off); + + /* step through image stack and generate the header */ + img_sp = image_stack; + + while (img_sp->option != NO_IMG) { /* stop once we reach null terminator */ + switch (img_sp->option) { + case AP: + case M4: + case SCFW: + case DATA: + case MSG_BLOCK: + if (container < 0) { + fprintf(stderr, "No container found\n"); + exit(EXIT_FAILURE); + } + check_file(&sbuf, img_sp->filename); + tmp_filename = img_sp->filename; + set_image_array_entry(&imx_header.fhdr[container], + soc, + img_sp, + file_off, + ALIGN(sbuf.st_size, sector_size), + tmp_filename, + dcd_skip, + images_hash); + img_sp->src = file_off; + + file_off += ALIGN(sbuf.st_size, sector_size); + cont_img_count++; + break; + + case SECO: + if (container < 0) { + fprintf(stderr, "No container found\n"); + exit(EXIT_FAILURE); + } + check_file(&sbuf, img_sp->filename); + tmp_filename = img_sp->filename; + set_image_array_entry(&imx_header.fhdr[container], + soc, + img_sp, + file_off, + sbuf.st_size, + tmp_filename, + dcd_skip, + "sha384"); + img_sp->src = file_off; + + file_off += sbuf.st_size; + cont_img_count++; + break; + + case NEW_CONTAINER: + container++; + set_container(&imx_header.fhdr[container], sw_version, + CONTAINER_ALIGNMENT, + CONTAINER_FLAGS_DEFAULT, + fuse_version); + cont_img_count = 0; /* reset img count when moving to new container */ + scfw_flags = 0; + break; + + case APPEND: + /* nothing to do here, the container is appended in the output */ + break; + case FLAG: + /* override the flags for scfw in current container */ + scfw_flags = img_sp->entry & 0xFFFF0000;/* mask off bottom 16 bits */ + break; + case FILEOFF: + if (file_off > img_sp->dst) + { + fprintf(stderr, "FILEOFF address less than current file offset!!!\n"); + exit(EXIT_FAILURE); + } + if (img_sp->dst != ALIGN(img_sp->dst, sector_size)) + { + fprintf(stderr, "FILEOFF address is not aligned to sector size!!!\n"); + exit(EXIT_FAILURE); + } + file_off = img_sp->dst; + break; + case PARTITION: /* keep custom partition until next executable image */ + custom_partition = img_sp->entry; /* use a global var for default behaviour */ + break; + default: + fprintf(stderr, "unrecognized option in input stack (%d)\n", img_sp->option); + exit(EXIT_FAILURE); + } + img_sp++;/* advance index */ + } + + /* Open output file */ + ofd = open(out_file, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666); + if (ofd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + out_file, strerror(errno)); + exit(EXIT_FAILURE); + } + + /* Append container (if specified) */ + img_sp = image_stack; + do { + if (img_sp->option == APPEND) { + copy_file(ofd, img_sp->filename, 0, 0); + file_padding += FIRST_CONTAINER_HEADER_LENGTH; + } + img_sp++; + } while (img_sp->option != NO_IMG); + + /* Add padding or skip appended container */ + ret = lseek(ofd, file_padding, SEEK_SET); + if (ret < 0) { + fprintf(stderr, "%s: lseek error %s\n", + __func__, strerror(errno)); + exit(EXIT_FAILURE); + } + + /* Note: Image offset are not contained in the image */ + uint8_t *tmp = flatten_container_header(&imx_header, container + 1, &size, file_padding); + /* Write image header */ + if (write(ofd, tmp, size) != size) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + } + + /* Clean-up memory used by the headers */ + free(tmp); + + if (emmc_fastboot) + ivt_offset = 0;/*set ivt offset to 0 if emmc */ + + /* step through the image stack again this time copying images to final bin */ + img_sp = image_stack; + while (img_sp->option != NO_IMG) { /* stop once we reach null terminator */ + if (img_sp->option == M4 || img_sp->option == AP || img_sp->option == DATA || img_sp->option == SCD || + img_sp->option == SCFW || img_sp->option == SECO || img_sp->option == MSG_BLOCK) { + copy_file_aligned(ofd, img_sp->filename, img_sp->src, sector_size); + } + img_sp++; + } + + /* Close output file */ + close(ofd); + return 0; +} + diff --git a/embedian/smarc-imx8mm/imx-mkimage/src/mkimage_common.h b/embedian/smarc-imx8mm/imx-mkimage/src/mkimage_common.h new file mode 100644 index 0000000..18ca9c1 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/src/mkimage_common.h @@ -0,0 +1,327 @@ +/* + * Copyright (C) 2017 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + * derived from u-boot's mkimage utility + * + */ + +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + + +typedef enum option_type { + NO_IMG = 0, + DCD, + SCFW, + SECO, + M4, + AP, + OUTPUT, + SCD, + CSF, + FLAG, + DEVICE, + NEW_CONTAINER, + APPEND, + DATA, + PARTITION, + FILEOFF, + MSG_BLOCK +} option_type_t; + + +typedef struct { + option_type_t option; + char* filename; + uint64_t src; + uint64_t dst; + uint64_t entry;/* image entry address or general purpose num */ + uint64_t ext; +} image_t; + +typedef enum REVISION_TYPE { + NO_REV = 0, + A0, + B0 +} rev_type_t; + +typedef enum SOC_TYPE { + NONE = 0, + QX, + QM +} soc_type_t; + +typedef struct { + uint32_t addr; + uint32_t value; +} dcd_addr_data_t; + +typedef struct { + uint8_t tag; + uint16_t length; + uint8_t version; +} __attribute__((packed)) ivt_header_t; + +typedef struct { + uint8_t tag; + uint16_t length; + uint8_t param; +} __attribute__((packed)) write_dcd_command_t; + +#define MAX_HW_CFG_SIZE_V2 359 + +struct dcd_v2_cmd { + write_dcd_command_t write_dcd_command; /*4*/ + dcd_addr_data_t addr_data[MAX_HW_CFG_SIZE_V2]; /*2872*/ +} __attribute__((packed)); + +typedef struct { + ivt_header_t header; /*4*/ + struct dcd_v2_cmd dcd_cmd; /*2876*/ +} __attribute__((packed)) dcd_v2_t; /*2880*/ + +#define CORE_SC 1 +#define CORE_CM4_0 2 +#define CORE_CM4_1 3 +#define CORE_CA53 4 +#define CORE_CA35 4 +#define CORE_CA72 5 +#define CORE_SECO 6 + +#define SC_R_OTP 357U +#define SC_R_DEBUG 354U +#define SC_R_ROM_0 236U + +#define MSG_DEBUG_EN SC_R_DEBUG +#define MSG_FUSE SC_R_OTP +#define MSG_FIELD SC_R_ROM_0 + +#define IMG_TYPE_CSF 0x01 /* CSF image type */ +#define IMG_TYPE_SCD 0x02 /* SCD image type */ +#define IMG_TYPE_EXEC 0x03 /* Executable image type */ +#define IMG_TYPE_DATA 0x04 /* Data image type */ +#define IMG_TYPE_DCD_DDR 0x05 /* DCD/DDR image type */ +#define IMG_TYPE_SECO 0x06 /* SECO image type */ +#define IMG_TYPE_PROV 0x07 /* Provisioning image type */ +#define IMG_TYPE_DEK 0x08 /* DEK validation type */ + +#define IMG_TYPE_SHIFT 0 +#define IMG_TYPE_MASK 0x1f +#define IMG_TYPE(x) (((x) & IMG_TYPE_MASK) >> IMG_TYPE_SHIFT) + +#define BOOT_IMG_FLAGS_CORE_MASK 0xF +#define BOOT_IMG_FLAGS_CORE_SHIFT 0x04 +#define BOOT_IMG_FLAGS_CPU_RID_MASK 0x3FF0 +#define BOOT_IMG_FLAGS_CPU_RID_SHIFT 4 +#define BOOT_IMG_FLAGS_MU_RID_MASK 0xFFC000 +#define BOOT_IMG_FLAGS_MU_RID_SHIFT 14 +#define BOOT_IMG_FLAGS_PARTITION_ID_MASK 0x1F000000 +#define BOOT_IMG_FLAGS_PARTITION_ID_SHIFT 24 + +#define SC_R_A35_0 508 +#define SC_R_A53_0 1 +#define SC_R_A72_0 6 +#define SC_R_MU_0A 213 +#define SC_R_M4_0_PID0 278 +#define SC_R_M4_0_MU_1A 297 +#define SC_R_M4_1_PID0 298 +#define SC_R_M4_1_MU_1A 317 +#define PARTITION_ID_M4 0 +#define PARTITION_ID_AP 1 + +/* Command tags and parameters */ +#define HAB_DATA_WIDTH_BYTE 1 /* 8-bit value */ +#define HAB_DATA_WIDTH_HALF 2 /* 16-bit value */ +#define HAB_DATA_WIDTH_WORD 4 /* 32-bit value */ +#define HAB_CMD_WRT_DAT_MSK 1 /* mask/value flag */ +#define HAB_CMD_WRT_DAT_SET 2 /* set/clear flag */ +#define HAB_CMD_CHK_DAT_SET 2 /* set/clear flag */ +#define HAB_CMD_CHK_DAT_ANY 4 /* any/all flag */ +#define HAB_CMD_WRT_DAT_FLAGS_WIDTH 5 /* flags field width */ +#define HAB_CMD_WRT_DAT_FLAGS_SHIFT 3 /* flags field offset */ +#define HAB_CMD_WRT_DAT_BYTES_WIDTH 3 /* bytes field width */ +#define HAB_CMD_WRT_DAT_BYTES_SHIFT 0 /* bytes field offset */ + +#define IVT_VER 0x01 +#define IVT_VERSION 0x43 +#define DCD_HEADER_TAG 0xD2 +#define DCD_VERSION 0x43 +#define DCD_WRITE_DATA_COMMAND_TAG 0xCC +#define DCD_WRITE_DATA_PARAM (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT) /* 0x4 */ +#define DCD_WRITE_CLR_BIT_PARAM ((HAB_CMD_WRT_DAT_MSK << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0xC */ +#define DCD_WRITE_SET_BIT_PARAM ((HAB_CMD_WRT_DAT_MSK << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_CMD_WRT_DAT_SET << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x1C */ +#define DCD_CHECK_DATA_COMMAND_TAG 0xCF +#define DCD_CHECK_BITS_CLR_PARAM (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT) /* 0x04 */ +#define DCD_CHECK_BITS_SET_PARAM ((HAB_CMD_CHK_DAT_SET << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x14 */ +#define DCD_CHECK_ANY_BIT_CLR_PARAM ((HAB_CMD_CHK_DAT_ANY << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x24 */ +#define DCD_CHECK_ANY_BIT_SET_PARAM ((HAB_CMD_CHK_DAT_ANY << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_CMD_CHK_DAT_SET << HAB_CMD_WRT_DAT_FLAGS_SHIFT) | (HAB_DATA_WIDTH_WORD << HAB_CMD_WRT_DAT_BYTES_SHIFT)) /* 0x34 */ + +#define IVT_OFFSET_NAND (0x400) +#define IVT_OFFSET_I2C (0x400) +#define IVT_OFFSET_FLEXSPI (0x1000) +#define IVT_OFFSET_SD (0x400) +#define IVT_OFFSET_SATA (0x400) +#define IVT_OFFSET_EMMC (0x400) + +#define CSF_DATA_SIZE (0x4000) +#define INITIAL_LOAD_ADDR_SCU_ROM 0x2000e000 +#define INITIAL_LOAD_ADDR_AP_ROM 0x00110000 +#define INITIAL_LOAD_ADDR_FLEXSPI 0x08000000 +#define IMG_AUTO_ALIGN 0x10 + +#define ALIGN(x,a) __ALIGN_MASK((x),(__typeof__(x))(a)-1) +#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) + +#define uswap_16(x) \ + ((((x) & 0xff00) >> 8) | \ + (((x) & 0x00ff) << 8)) +#define uswap_32(x) \ + ((((x) & 0xff000000) >> 24) | \ + (((x) & 0x00ff0000) >> 8) | \ + (((x) & 0x0000ff00) << 8) | \ + (((x) & 0x000000ff) << 24)) +#define _uswap_64(x, sfx) \ + ((((x) & 0xff00000000000000##sfx) >> 56) | \ + (((x) & 0x00ff000000000000##sfx) >> 40) | \ + (((x) & 0x0000ff0000000000##sfx) >> 24) | \ + (((x) & 0x000000ff00000000##sfx) >> 8) | \ + (((x) & 0x00000000ff000000##sfx) << 8) | \ + (((x) & 0x0000000000ff0000##sfx) << 24) | \ + (((x) & 0x000000000000ff00##sfx) << 40) | \ + (((x) & 0x00000000000000ff##sfx) << 56)) + +#if defined(__GNUC__) +# define uswap_64(x) _uswap_64(x, ull) +#else +#error +# define uswap_64(x) _uswap_64(x, ) +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +# define cpu_to_le16(x) (x) +# define cpu_to_le32(x) (x) +# define cpu_to_le64(x) (x) +# define le16_to_cpu(x) (x) +# define le32_to_cpu(x) (x) +# define le64_to_cpu(x) (x) +# define cpu_to_be16(x) uswap_16(x) +# define cpu_to_be32(x) uswap_32(x) +# define cpu_to_be64(x) uswap_64(x) +# define be16_to_cpu(x) uswap_16(x) +# define be32_to_cpu(x) uswap_32(x) +# define be64_to_cpu(x) uswap_64(x) +#else +#error +# define cpu_to_le16(x) uswap_16(x) +# define cpu_to_le32(x) uswap_32(x) +# define cpu_to_le64(x) uswap_64(x) +# define le16_to_cpu(x) uswap_16(x) +# define le32_to_cpu(x) uswap_32(x) +# define le64_to_cpu(x) uswap_64(x) +# define cpu_to_be16(x) (x) +# define cpu_to_be32(x) (x) +# define cpu_to_be64(x) (x) +# define be16_to_cpu(x) (x) +# define be32_to_cpu(x) (x) +# define be64_to_cpu(x) (x) +#endif + +#define UNDEFINED 0xFFFFFFFF + +#if 0 +enum imximage_fld_types { + CFG_INVALID = -1, + CFG_COMMAND, + CFG_REG_SIZE, + CFG_REG_ADDRESS, + CFG_REG_VALUE +}; + +enum imximage_cmd { + CMD_INVALID, + CMD_IMAGE_VERSION, + CMD_BOOT_FROM, + CMD_BOOT_OFFSET, + CMD_WRITE_DATA, + CMD_WRITE_CLR_BIT, + CMD_WRITE_SET_BIT, + CMD_CHECK_BITS_SET, + CMD_CHECK_BITS_CLR, + CMD_CHECK_ANY_BIT_SET, + CMD_CHECK_ANY_BIT_CLR, + CMD_CSF, + CMD_PLUGIN, +}; + +typedef struct table_entry { + int id; + char *sname; /* short (input) name to find table entry */ + char *lname; /* long (output) name to print for messages */ +} table_entry_t; + +/* + * Supported commands for configuration file + */ +static table_entry_t imximage_cmds[] = { + {CMD_BOOT_FROM, "BOOT_FROM", "boot command", }, + {CMD_BOOT_OFFSET, "BOOT_OFFSET", "Boot offset", }, + {CMD_WRITE_DATA, "DATA", "Reg Write Data", }, + {CMD_WRITE_CLR_BIT, "CLR_BIT", "Reg clear bit", }, + {CMD_WRITE_SET_BIT, "SET_BIT", "Reg set bit", }, + {CMD_CHECK_BITS_SET, "CHECK_BITS_SET", "Reg Check all bits set", }, + {CMD_CHECK_BITS_CLR, "CHECK_BITS_CLR", "Reg Check all bits clr", }, + {CMD_CHECK_ANY_BIT_SET, "CHECK_ANY_BIT_SET", "Reg Check any bit set", }, + {CMD_CHECK_ANY_BIT_CLR, "CHECK_ANY_BIT_CLR", "Reg Check any bit clr", }, + {CMD_CSF, "CSF", "Command Sequence File", }, + {CMD_IMAGE_VERSION, "IMAGE_VERSION", "image version", }, + {-1, "", "", }, +}; +#endif + +void check_file(struct stat* sbuf,char * filename); +void copy_file (int ifd, const char *datafile, int pad, int offset); +uint32_t get_cfg_value(char *token, char *name, int linenr); +void set_dcd_param_v2(dcd_v2_t *dcd_v2, uint32_t dcd_len, + int32_t cmd); +void set_dcd_val_v2(dcd_v2_t *dcd_v2, char *name, int lineno, + int fld, uint32_t value, uint32_t off); +void set_dcd_rst_v2(dcd_v2_t *dcd_v2, uint32_t dcd_len, + char *name, int lineno); +void parse_cfg_cmd(dcd_v2_t *dcd_v2, int32_t cmd, char *token, + char *name, int lineno, int fld, int dcd_len); +void parse_cfg_fld(dcd_v2_t *dcd_v2, int32_t *cmd, + char *token, char *name, int lineno, int fld, int *dcd_len); +uint32_t parse_cfg_file(dcd_v2_t *dcd_v2, char *name); + +int build_container_qm(uint32_t sector_size, uint32_t ivt_offset, char * out_file, + bool emmc_fastboot, image_t* image_stack); + +int build_container_qx(uint32_t sector_size, uint32_t ivt_offset, char * out_file, + bool emmc_fastboot, image_t* image_stack); + +int build_container_qx_qm_b0(soc_type_t soc, uint32_t sector_size, uint32_t ivt_offset, char * out_file, + bool emmc_fastboot, image_t* image_stack, bool dcd_skip, uint8_t fuse_version, + uint16_t sw_version, char *images_hash); + + diff --git a/embedian/smarc-imx8mm/imx-mkimage/src/mkimage_imx8.c b/embedian/smarc-imx8mm/imx-mkimage/src/mkimage_imx8.c new file mode 100644 index 0000000..7d1aee3 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/src/mkimage_imx8.c @@ -0,0 +1,854 @@ +/* + * Copyright (C) 2016 Freescale Semiconductor, Inc. + * + * Copyright (C) 2017 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + * derived from u-boot's mkimage utility + * + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "mkimage_common.h" +#include "build_info.h" + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + + +#define IMG_STACK_SIZE 32 /* max of 32 images for commandline images */ + +enum imximage_fld_types { + CFG_INVALID = -1, + CFG_COMMAND, + CFG_REG_SIZE, + CFG_REG_ADDRESS, + CFG_REG_VALUE +}; + +enum imximage_cmd { + CMD_INVALID, + CMD_IMAGE_VERSION, + CMD_BOOT_FROM, + CMD_BOOT_OFFSET, + CMD_WRITE_DATA, + CMD_WRITE_CLR_BIT, + CMD_WRITE_SET_BIT, + CMD_CHECK_BITS_SET, + CMD_CHECK_BITS_CLR, + CMD_CHECK_ANY_BIT_SET, + CMD_CHECK_ANY_BIT_CLR, + CMD_CSF, + CMD_PLUGIN, +}; + +typedef struct table_entry { + int id; + char *sname; /* short (input) name to find table entry */ + char *lname; /* long (output) name to print for messages */ +} table_entry_t; + +/* + * Supported commands for configuration file + */ +static table_entry_t imximage_cmds[] = { + {CMD_BOOT_FROM, "BOOT_FROM", "boot command", }, + {CMD_BOOT_OFFSET, "BOOT_OFFSET", "Boot offset", }, + {CMD_WRITE_DATA, "DATA", "Reg Write Data", }, + {CMD_WRITE_CLR_BIT, "CLR_BIT", "Reg clear bit", }, + {CMD_WRITE_SET_BIT, "SET_BIT", "Reg set bit", }, + {CMD_CHECK_BITS_SET, "CHECK_BITS_SET", "Reg Check all bits set", }, + {CMD_CHECK_BITS_CLR, "CHECK_BITS_CLR", "Reg Check all bits clr", }, + {CMD_CHECK_ANY_BIT_SET, "CHECK_ANY_BIT_SET", "Reg Check any bit set", }, + {CMD_CHECK_ANY_BIT_CLR, "CHECK_ANY_BIT_CLR", "Reg Check any bit clr", }, + {CMD_CSF, "CSF", "Command Sequence File", }, + {CMD_IMAGE_VERSION, "IMAGE_VERSION", "image version", }, + {-1, "", "", }, +}; + +void check_file(struct stat* sbuf,char * filename) +{ + int tmp_fd = open(filename, O_RDONLY | O_BINARY); + if (tmp_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + filename, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(tmp_fd, sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + filename, strerror(errno)); + exit(EXIT_FAILURE); + } + close(tmp_fd); +} + +void +copy_file (int ifd, const char *datafile, int pad, int offset) +{ + int dfd; + struct stat sbuf; + unsigned char *ptr; + int tail; + int zero = 0; + uint8_t zeros[4096]; + int size, ret; + + memset(zeros, 0, sizeof(zeros)); + + if ((dfd = open(datafile, O_RDONLY|O_BINARY)) < 0) { + fprintf (stderr, "Can't open %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + if (fstat(dfd, &sbuf) < 0) { + fprintf (stderr, "Can't stat %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + if(sbuf.st_size == 0) + goto close; + + ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, dfd, 0); + if (ptr == MAP_FAILED) { + fprintf (stderr, "Can't read %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + size = sbuf.st_size; + ret = lseek(ifd, offset, SEEK_SET); + if (ret < 0) { + fprintf(stderr, "%s: lseek error %s\n", + __func__, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (write(ifd, ptr, size) != size) { + fprintf (stderr, "Write error %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + + tail = size % 4; + pad = pad - size; + if ((pad == 1) && (tail != 0)) { + + if (write(ifd, (char *)&zero, 4-tail) != 4-tail) { + fprintf (stderr, "Write error on %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + } else if (pad > 1) { + while (pad > 0) { + int todo = sizeof(zeros); + + if (todo > pad) + todo = pad; + if (write(ifd, (char *)&zeros, todo) != todo) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + } + pad -= todo; + } + } + + (void) munmap((void *)ptr, sbuf.st_size); +close: + (void) close (dfd); +} + + +static uint32_t imximage_version; +static struct dcd_v2_cmd *gd_last_cmd; +static uint32_t imximage_ivt_offset = UNDEFINED; +static uint32_t imximage_csf_size = UNDEFINED; + +int get_table_entry_id(const table_entry_t *table, + const char *table_name, const char *name) +{ + const table_entry_t *t; + + for (t = table; t->id >= 0; ++t) { + if (t->sname && strcasecmp(t->sname, name) == 0) + return (t->id); + } + + return -1; +} + +uint32_t get_cfg_value(char *token, char *name, int linenr) +{ + char *endptr; + uint32_t value; + + errno = 0; + value = strtoul(token, &endptr, 16); + if (errno || (token == endptr)) { + fprintf(stderr, "Error: %s[%d] - Invalid hex data(%s)\n", + name, linenr, token); + exit(EXIT_FAILURE); + } + return value; +} + + +void set_dcd_param_v2(dcd_v2_t *dcd_v2, uint32_t dcd_len, + int32_t cmd) +{ + struct dcd_v2_cmd *d = gd_last_cmd; + struct dcd_v2_cmd *d2; + int len; + + if (!d) + d = &dcd_v2->dcd_cmd; + d2 = d; + len = be16_to_cpu(d->write_dcd_command.length); + if (len > 4) + d2 = (struct dcd_v2_cmd *)(((char *)d) + len); + + switch (cmd) { + /* Write value: *address = val_msk */ + case CMD_WRITE_DATA: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_DATA_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_DATA_PARAM; + break; + /* Clear bitmask: *address &= ~val_msk */ + case CMD_WRITE_CLR_BIT: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_CLR_BIT_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_CLR_BIT_PARAM; + break; + /* Set bitmask: *address |= val_msk */ + case CMD_WRITE_SET_BIT: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_SET_BIT_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_SET_BIT_PARAM; + break; + /* + * Check data command only supports one entry, + */ + /* All bits set: (*address & mask) == mask */ + case CMD_CHECK_BITS_SET: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_BITS_SET_PARAM; + break; + /* All bits clear: (*address & mask) == 0 */ + case CMD_CHECK_BITS_CLR: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_BITS_CLR_PARAM; + break; + /* Any bit clear: (*address & mask) != mask */ + case CMD_CHECK_ANY_BIT_CLR: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_ANY_BIT_CLR_PARAM; + break; + /* Any bit set: (*address & mask) != 0 */ + case CMD_CHECK_ANY_BIT_SET: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_ANY_BIT_SET_PARAM; + break; + default: + break; + } + gd_last_cmd = d; +} + +void set_dcd_val_v2(dcd_v2_t *dcd_v2, char *name, int lineno, + int fld, uint32_t value, uint32_t off) +{ + struct dcd_v2_cmd *d = gd_last_cmd; + int len; + + len = be16_to_cpu(d->write_dcd_command.length); + off = (len - 4) >> 3; + + switch (fld) { + case CFG_REG_ADDRESS: + d->addr_data[off].addr = cpu_to_be32(value); + break; + case CFG_REG_VALUE: + d->addr_data[off].value = cpu_to_be32(value); + off++; + d->write_dcd_command.length = cpu_to_be16((off << 3) + 4); + break; + default: + break; + + } +} + +void set_dcd_rst_v2(dcd_v2_t *dcd_v2, uint32_t dcd_len, + char *name, int lineno) +{ + struct dcd_v2_cmd *d = gd_last_cmd; + int len; + + if (!d) + d = &dcd_v2->dcd_cmd; + len = be16_to_cpu(d->write_dcd_command.length); + if (len > 4) + d = (struct dcd_v2_cmd *)(((char *)d) + len); + + len = (char *)d - (char *)&dcd_v2->header; + + dcd_v2->header.tag = DCD_HEADER_TAG; + dcd_v2->header.length = cpu_to_be16(len); + dcd_v2->header.version = DCD_VERSION; + printf("dcd size in bytes = %d\n", len); +} + +void parse_cfg_cmd(dcd_v2_t *dcd_v2, int32_t cmd, char *token, + char *name, int lineno, int fld, int dcd_len) +{ + int value; + static int cmd_ver_first = ~0; + + switch (cmd) { + case CMD_IMAGE_VERSION: + imximage_version = get_cfg_value(token, name, lineno); + if (cmd_ver_first == 0) { + fprintf(stderr, "Error: %s[%d] - IMAGE_VERSION " + "command need be the first before other " + "valid command in the file\n", name, lineno); + exit(EXIT_FAILURE); + } + cmd_ver_first = 1; + break; + case CMD_BOOT_OFFSET: + imximage_ivt_offset = get_cfg_value(token, name, lineno); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + case CMD_WRITE_DATA: + case CMD_WRITE_CLR_BIT: + case CMD_WRITE_SET_BIT: + case CMD_CHECK_BITS_SET: + case CMD_CHECK_BITS_CLR: + case CMD_CHECK_ANY_BIT_SET: + case CMD_CHECK_ANY_BIT_CLR: + value = get_cfg_value(token, name, lineno); + set_dcd_param_v2(dcd_v2, dcd_len, cmd); + set_dcd_val_v2(dcd_v2, name, lineno, fld, value, dcd_len); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + case CMD_CSF: + if (imximage_version != 2) { + fprintf(stderr, + "Error: %s[%d] - CSF only supported for VERSION 2(%s)\n", + name, lineno, token); + exit(EXIT_FAILURE); + } + imximage_csf_size = get_cfg_value(token, name, lineno); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + } +} + +void parse_cfg_fld(dcd_v2_t *dcd_v2, int32_t *cmd, + char *token, char *name, int lineno, int fld, int *dcd_len) +{ + int value; + + switch (fld) { + case CFG_COMMAND: + *cmd = get_table_entry_id(imximage_cmds, + "imximage commands", token); + if (*cmd < 0) { + fprintf(stderr, "Error: %s[%d] - Invalid command" + "(%s)\n", name, lineno, token); + exit(EXIT_FAILURE); + } + break; + case CFG_REG_SIZE: + parse_cfg_cmd(dcd_v2, *cmd, token, name, lineno, fld, *dcd_len); + break; + case CFG_REG_ADDRESS: + case CFG_REG_VALUE: + switch(*cmd) { + case CMD_WRITE_DATA: + case CMD_WRITE_CLR_BIT: + case CMD_WRITE_SET_BIT: + case CMD_CHECK_BITS_SET: + case CMD_CHECK_BITS_CLR: + case CMD_CHECK_ANY_BIT_SET: + case CMD_CHECK_ANY_BIT_CLR: + value = get_cfg_value(token, name, lineno); + set_dcd_param_v2(dcd_v2, *dcd_len, *cmd); + set_dcd_val_v2(dcd_v2, name, lineno, fld, value, + *dcd_len); + + if (fld == CFG_REG_VALUE) { + (*dcd_len)++; + if (*dcd_len > MAX_HW_CFG_SIZE_V2) { + fprintf(stderr, "Error: %s[%d] -" + "DCD table exceeds maximum size(%d)\n", + name, lineno, MAX_HW_CFG_SIZE_V2); + exit(EXIT_FAILURE); + } + } + break; + default: + break; + } + break; + default: + break; + } +} + +uint32_t parse_cfg_file(dcd_v2_t *dcd_v2, char *name) +{ + FILE *fd = NULL; + char *line = NULL; + char *token, *saveptr1, *saveptr2; + int lineno = 0; + int fld; + size_t len; + int dcd_len = 0; + int32_t cmd; + + fd = fopen(name, "r"); + if (fd == 0) { + fprintf(stderr, "Error: %s - Can't open DCD file\n", name); + exit(EXIT_FAILURE); + } + + /* + * Very simple parsing, line starting with # are comments + * and are dropped + */ + while ((getline(&line, &len, fd)) > 0) { + lineno++; + + token = strtok_r(line, "\r\n", &saveptr1); + if (token == NULL) + continue; + + /* Check inside the single line */ + for (fld = CFG_COMMAND, cmd = CMD_INVALID, + line = token; ; line = NULL, fld++) { + token = strtok_r(line, " \t", &saveptr2); + if (token == NULL) + break; + + /* Drop all text starting with '#' as comments */ + if (token[0] == '#') + break; + + parse_cfg_fld(dcd_v2, &cmd, token, name, + lineno, fld, &dcd_len); + } + + } + + set_dcd_rst_v2(dcd_v2, dcd_len, name, lineno); + fclose(fd); + + return dcd_len; +} + +/* + * Read commandline parameters and construct the header in order + * + * This will then construct the image according to the header and + * + * parameters passed in + * + */ +int main(int argc, char **argv) +{ + int c; + char *ofname = NULL; + bool output = false; + bool dcd_skip = false; + bool emmc_fastboot = false; + + int container = -1; + image_t param_stack[IMG_STACK_SIZE];/* stack of input images */ + int p_idx = 0;/* param index counter */ + + uint32_t ivt_offset = IVT_OFFSET_SD; + uint32_t sector_size = 0x200; /* default sector size */ + soc_type_t soc = NONE; /* Initially No SOC defined */ + rev_type_t rev = NO_REV; /* Initially No REV defined */ + + uint8_t fuse_version = 0; + uint16_t sw_version = 0; + char *images_hash = NULL; + + static struct option long_options[] = + { + {"scfw", required_argument, NULL, 'f'}, + {"seco", required_argument, NULL, 'O'}, + {"m4", required_argument, NULL, 'm'}, + {"ap", required_argument, NULL, 'a'}, + {"dcd", required_argument, NULL, 'd'}, + {"out", required_argument, NULL, 'o'}, + {"flags", required_argument, NULL, 'l'}, + {"scd", required_argument, NULL, 'x'}, + {"csf", required_argument, NULL, 'z'}, + {"dev", required_argument, NULL, 'e'}, + {"soc", required_argument, NULL, 's'}, + {"rev", required_argument, NULL, 'r'}, + {"container", no_argument, NULL, 'c'}, + {"partition", required_argument, NULL, 'p'}, + {"commit", no_argument, NULL, 't'}, + {"append", no_argument, NULL, 'A'}, + {"data", required_argument, NULL, 'D'}, + {"fileoff", required_argument, NULL, 'P'}, + {"msg_blk", required_argument, NULL, 'M'}, + {"fuse_version", required_argument, NULL, 'u'}, + {"sw_version", required_argument, NULL, 'v'}, + {"images_hash", required_argument, NULL, 'h'}, + {NULL, 0, NULL, 0} + }; + + + /* scan in parameters in order */ + while(1) + { + /* getopt_long stores the option index here. */ + int option_index = 0; + + c = getopt_long_only (argc, argv, ":f:m:a:d:o:l:x:z:e:p:cu:v:h:", + long_options, &option_index); + + /* Detect the end of the options. */ + if (c == -1) + break; + + switch (c) + { + case 0: + fprintf(stderr, "option %s", long_options[option_index].name); + if (optarg) + fprintf(stderr, " with arg %s", optarg); + fprintf(stderr, "\n"); + break; + case 'A': + param_stack[p_idx].option = APPEND; + param_stack[p_idx++].filename = argv[optind++]; + break; + case 'p': + fprintf(stdout, "PARTITION:\t%s\n", optarg); + param_stack[p_idx].option = PARTITION; + param_stack[p_idx++].entry = (uint32_t) strtoll(optarg, NULL, 0); + break; + case 's': + if(!strncmp(optarg, "QX", 2)) + soc = QX; + else if (!strncmp(optarg, "QM", 2)) + soc = QM; + else{ + fprintf(stdout, "unrecognized SOC: %s \n",optarg); + exit(EXIT_FAILURE); + } + fprintf(stdout, "SOC: %s \n",optarg); + break; + case 'r': + if(soc == QX || soc == QM) { + if(strcmp(optarg, "A0") == 0) + rev = A0; + else if(strcmp(optarg, "B0") == 0) { + rev = B0; + sector_size = 0x400; + } else { + fprintf(stdout, "unrecognized REVISION: %s \n",optarg); + exit(EXIT_FAILURE); + } + fprintf(stdout, "REVISION: %s \n",optarg); + } + break; + case 'f': + fprintf(stdout, "SCFW:\t%s\n", optarg); + param_stack[p_idx].option = SCFW; + param_stack[p_idx++].filename = optarg; + break; + case 'O': + fprintf(stdout, "SECO:\t%s\n", optarg); + param_stack[p_idx].option = SECO; + param_stack[p_idx++].filename = optarg; + break; + case 'd': + fprintf(stdout, "DCD:\t%s\n", optarg); + if (rev == B0) { + if (!strncmp(optarg, "skip", 4)) { + dcd_skip = true; + } else { + fprintf(stderr, "\n-dcd option requires argument skip\n\n"); + exit(EXIT_FAILURE); + } + } else { + param_stack[p_idx].option = DCD; + param_stack[p_idx].filename = optarg; + p_idx++; + } + break; + case 'D': + if (rev == B0) { + fprintf(stdout, "Data:\t%s\n", optarg); + param_stack[p_idx].option = DATA; + param_stack[p_idx].filename = optarg; + if (optind < argc && *argv[optind] != '-') + param_stack[p_idx].entry = (uint32_t) strtoll(argv[optind++], NULL, 0); + else { + fprintf(stderr, "\n-data option require TWO arguments: filename, load address in hex\n\n"); + exit(EXIT_FAILURE); + } + p_idx++; + } else { + fprintf(stderr, "\n-data option is only used with -rev B0.\n\n"); + exit(EXIT_FAILURE); + } + break; + case 'm': + fprintf(stdout, "CM4:\t%s", optarg); + param_stack[p_idx].option = M4; + param_stack[p_idx].filename = optarg; + if ((optind < argc && *argv[optind] != '-') && (optind+1 < argc &&*argv[optind+1] != '-' )) { + param_stack[p_idx].ext = strtol(argv[optind++], NULL, 0); + param_stack[p_idx].entry = (uint32_t) strtoll(argv[optind++], NULL, 0); + fprintf(stdout, "\tcore: %" PRIi64, param_stack[p_idx].ext); + fprintf(stdout, " addr: 0x%08" PRIx64 "\n", param_stack[p_idx++].entry); + } else { + fprintf(stderr, "\n-m4 option require THREE arguments: filename, core: 0/1, start address in hex\n\n"); + exit(EXIT_FAILURE); + } + break; + case 'a': + fprintf(stdout, "AP:\t%s", optarg); + param_stack[p_idx].option = AP; + param_stack[p_idx].filename = optarg; + if ((optind < argc && *argv[optind] != '-') && (optind+1 < argc &&*argv[optind+1] != '-' )) { + if (!strncmp(argv[optind], "a53", 3)) + param_stack[p_idx].ext = CORE_CA53; + else if (!strncmp(argv[optind], "a35", 3)) + param_stack[p_idx].ext = CORE_CA35; + else if (!strncmp(argv[optind], "a72", 3)) + param_stack[p_idx].ext = CORE_CA72; + else { + fprintf(stderr, "ERROR: AP Core not found %s\n", argv[optind+2]); + exit(EXIT_FAILURE); + } + fprintf(stdout, "\tcore: %s", argv[optind++]); + + param_stack[p_idx].entry = (uint32_t) strtoll(argv[optind++], NULL, 0); + + fprintf(stdout, " addr: 0x%08" PRIx64 "\n", param_stack[p_idx++].entry); + } else { + fprintf(stderr, "\n-ap option require THREE arguments: filename, a35/a53/a72, start address in hex\n\n"); + exit(EXIT_FAILURE); + } + break; + case 'l': + fprintf(stdout, "FLAG:\t%s\n", optarg); + param_stack[p_idx].option = FLAG; + param_stack[p_idx++].entry = (uint32_t) strtoll(optarg, NULL, 0); + break; + case 'o': + fprintf(stdout, "Output:\t%s\n", optarg); + ofname = optarg; + output = true; + break; + case 'x': + fprintf(stdout, "SCD:\t%s\n", optarg); + param_stack[p_idx].option = SCD; + param_stack[p_idx++].filename = optarg; + break; + case 'z': + fprintf(stdout, "CSF:\t%s\n", optarg); + param_stack[p_idx].option = CSF; + param_stack[p_idx++].filename = optarg; + break; + case 'e': + fprintf(stdout, "BOOT DEVICE:\t%s\n", optarg); + if (!strcmp(optarg, "flexspi")) { + ivt_offset = IVT_OFFSET_FLEXSPI; + } else if (!strcmp(optarg, "sd")) { + ivt_offset = IVT_OFFSET_SD; + } else if (!strcmp(optarg, "nand")) { + sector_size = 0x8000;/* sector size for NAND */ + if (rev == B0) { + if (optind < argc && *argv[optind] != '-') { + if (!strcmp(argv[optind], "4K")) { + sector_size = 0x1000; + } else if (!strcmp(argv[optind], "8K")) { + sector_size = 0x2000; + } else if (!strcmp(argv[optind], "16K")) { + sector_size = 0x4000; + } else + fprintf(stdout, "\nwrong nand page size:\r\n 4K\r\n8K\r\n16K\n\n"); + } else { + fprintf(stdout, "\n-dev nand requires the page size:\r\n 4K\r\n8K\r\n16K\n\n"); + } + } + } else if (!strcmp(optarg, "emmc_fast")) { + ivt_offset = IVT_OFFSET_EMMC; + emmc_fastboot = true;/* emmc boot */ + } else { + fprintf(stdout, "\n-dev option, Valid boot devices are:\r\n sd\r\nflexspi\r\nnand\n\n"); + exit(EXIT_FAILURE); + } + break; + case 'c': + fprintf(stdout, "New Container: \t%d\n",++container); + param_stack[p_idx++].option = NEW_CONTAINER; + break; + case ':': + fprintf(stderr, "option %c missing arguments\n", optopt); + exit(EXIT_FAILURE); + break; + case 't': + fprintf(stdout, "%08x\n", MKIMAGE_COMMIT); + exit(0); + break; + case 'P': + fprintf(stdout, "FILEOFF:\t%s\n", optarg); + param_stack[p_idx].option = FILEOFF; + param_stack[p_idx++].dst = (uint64_t) strtoll(optarg, NULL, 0); + break; + case 'M': + fprintf(stdout, "MSG BLOCK:\t%s", optarg); + param_stack[p_idx].option = MSG_BLOCK; + param_stack[p_idx].filename = optarg; + if ((optind < argc && *argv[optind] != '-') && (optind+1 < argc &&*argv[optind+1] != '-' )) { + if (!strncmp(argv[optind], "fuse", 4)) + param_stack[p_idx].ext = SC_R_OTP; + else if (!strncmp(argv[optind], "debug", 5)) + param_stack[p_idx].ext = SC_R_DEBUG; + else if (!strncmp(argv[optind], "field", 5)) + param_stack[p_idx].ext = SC_R_ROM_0; + else { + fprintf(stderr, "ERROR: MSG type not found %s\n", argv[optind+2]); + exit(EXIT_FAILURE); + } + fprintf(stdout, "\ttype: %s", argv[optind++]); + + param_stack[p_idx].entry = (uint32_t) strtoll(argv[optind++], NULL, 0); + + fprintf(stdout, " addr: 0x%08" PRIx64 "\n", param_stack[p_idx++].entry); + } else { + fprintf(stderr, "\nmsg block option require THREE arguments: filename, debug/fuse/field, start address in hex\n\n"); + exit(EXIT_FAILURE); + } + break; + case 'u': + fuse_version = (uint8_t) (strtoll(optarg, NULL, 0) & 0xFF); + break; + case 'v': + sw_version = (uint16_t) (strtoll(optarg, NULL, 0) & 0xFFFF); + break; + case 'h': + images_hash = optarg; + break; + case '?': + default: + /* invalid option */ + fprintf(stderr, "option '%c' is invalid: ignored\n", + optopt); + exit(EXIT_FAILURE); + } + } + + fprintf(stdout, "CONTAINER FUSE VERSION:\t0x%02x\n", fuse_version); + fprintf(stdout, "CONTAINER SW VERSION:\t0x%04x\n", sw_version); + + param_stack[p_idx].option = NO_IMG; /* null terminate the img stack */ + + if(soc == NONE){ + fprintf(stderr, " No SOC defined"); + exit(EXIT_FAILURE); + } + + if(container < 0) + { /* check to make sure there is at least 1 container defined */ + fprintf(stderr, " No Container defined"); + exit(EXIT_FAILURE); + } + + if (!output) { + fprintf(stderr, "mandatory args scfw and output file name missing! abort\n"); + exit(EXIT_FAILURE); + } + + /* Now begin assembling the image acording to each SOC container */ + + + + switch(soc) + { + case QX: + if (rev == NO_REV) { + fprintf(stdout, "No REVISION defined, using A0 by default\n"); + rev = A0; + } + fprintf(stdout, "ivt_offset:\t%d\n", ivt_offset); + fprintf(stdout, "rev:\t%d\n", rev); + if (rev == B0) + build_container_qx_qm_b0(soc, sector_size, ivt_offset, ofname, emmc_fastboot, (image_t *) param_stack, dcd_skip, fuse_version, sw_version, images_hash); + else + build_container_qx(sector_size, ivt_offset, ofname, emmc_fastboot, (image_t *) param_stack); + + break; + case QM: + if (rev == B0) + build_container_qx_qm_b0(soc, sector_size, ivt_offset, ofname, emmc_fastboot, (image_t *) param_stack, dcd_skip, fuse_version, sw_version, images_hash); + else + build_container_qm(sector_size, ivt_offset, ofname, emmc_fastboot, (image_t *) param_stack); + break; + default: + fprintf(stderr, " unrecognized SOC defined"); + exit(EXIT_FAILURE); + } + + + fprintf(stdout, "DONE.\n"); + fprintf(stdout, "Note: Please copy image to offset: IVT_OFFSET + IMAGE_OFFSET\n"); + + return 0; +} + diff --git a/embedian/smarc-imx8mm/usb-power.rules b/embedian/smarc-imx8mm/usb-power.rules new file mode 100644 index 0000000..61e68e0 --- /dev/null +++ b/embedian/smarc-imx8mm/usb-power.rules @@ -0,0 +1,2 @@ +# Microchip Technology USB2740 Hub +ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0424", ATTR{idProduct}=="2514", TEST=="power/control", ATTR{power/control}="auto" diff --git a/embedian/smarc-imx8mm/weston.config b/embedian/smarc-imx8mm/weston.config new file mode 100755 index 0000000..7c92cf1 --- /dev/null +++ b/embedian/smarc-imx8mm/weston.config @@ -0,0 +1,2 @@ +#!/bin/sh +OPTARGS="--xwayland" diff --git a/embedian/smarc-imx8mm/weston.ini b/embedian/smarc-imx8mm/weston.ini new file mode 100644 index 0000000..ab2fbbb --- /dev/null +++ b/embedian/smarc-imx8mm/weston.ini @@ -0,0 +1,28 @@ +[core] +# i.MX: Disable idle timeout +idle-time=0 +#use-g2d=1 +gbm-format=argb8888 + +[libinput] +touchscreen_calibrator=true + +#[output] +#name=HDMI-A-1 +#mode=1920x1080@60 +#transform=90 + +[shell] +size=1920x1080 + +#[output] +#name=HDMI-A-2 +#mode=off +# WIDTHxHEIGHT Resolution size width and height in pixels +# off Disables the output +# preferred Uses the preferred mode +# current Uses the current crt controller mode +#transform=90 + +[screen-share] +command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize diff --git a/embedian/uEnv_8mm.txt b/embedian/uEnv_8mm.txt new file mode 100644 index 0000000..080d766 --- /dev/null +++ b/embedian/uEnv_8mm.txt @@ -0,0 +1,26 @@ +#console port SER3 +console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200 +#console port SER2 +#console=ttymxc2,115200 earlycon=ec_imx6q,0x30880000,115200 +#console port SER1 +#console=ttymxc3,115200 earlycon=ec_imx6q,0x30a60000,115200 +#console port SER0 +#console=ttymxc0,115200 earlycon=ec_imx6q,0x30860000,115200 +mmcdev=1 +mmcpart=1 +image=Image +loadaddr=0x40480000 +fdt_addr=0x43000000 +mmcroot=/dev/mmcblk1p2 rw +usbroot=/dev/sda2 rw +mmcrootfstype=ext4 rootwait fixrtc +netdev=eth0 +ethact=FEC0 +ipaddr=192.168.1.150 +serverip=192.168.1.53 +gatewayip=192.168.1.254 +mmcargs=setenv bootargs console=${console} root=${mmcroot} rootfstype=${mmcrootfstype} ${optargs} cma=400M +uenvcmd=run loadimage; run loadfdt; run mmcboot +# USB Boot +#usbargs=setenv bootargs console=${console} root=${usbroot} rootfstype=${mmcrootfstype} ${optargs} +#uenvcmd=run loadusbimage; run loadusbfdt; run usbboot diff --git a/embedian/uEnv_emmc_8mm.txt b/embedian/uEnv_emmc_8mm.txt new file mode 100644 index 0000000..7650031 --- /dev/null +++ b/embedian/uEnv_emmc_8mm.txt @@ -0,0 +1,26 @@ +#console port SER3 +console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200 +#console port SER2 +#console=ttymxc2,115200 earlycon=ec_imx6q,0x30880000,115200 +#console port SER1 +#console=ttymxc3,115200 earlycon=ec_imx6q,0x30a60000,115200 +#console port SER0 +#console=ttymxc0,115200 earlycon=ec_imx6q,0x30860000,115200 +mmcdev=0 +mmcpart=1 +image=Image +loadaddr=0x40480000 +fdt_addr=0x43000000 +mmcroot=/dev/mmcblk0p2 rw +usbroot=/dev/sda2 rw +mmcrootfstype=ext4 rootwait fixrtc +netdev=eth0 +ethact=FEC0 +ipaddr=192.168.1.150 +serverip=192.168.1.53 +gatewayip=192.168.1.254 +mmcargs=setenv bootargs console=${console} root=${mmcroot} rootfstype=${mmcrootfstype} ${optargs} cma=400M +uenvcmd=run loadimage; run loadfdt; run mmcboot +# USB Boot +#usbargs=setenv bootargs console=${console} root=${usbroot} rootfstype=${mmcrootfstype} ${optargs} +#uenvcmd=run loadusbimage; run loadusbfdt; run usbboot diff --git a/make_smarc_mx8m_debian.sh b/make_smarc_mx8m_debian.sh index 0680c35..3ad706d 100755 --- a/make_smarc_mx8m_debian.sh +++ b/make_smarc_mx8m_debian.sh @@ -30,9 +30,6 @@ readonly DEF_DEBIAN_MIRROR="http://httpredir.debian.org/debian" readonly DEB_RELEASE="stretch" readonly DEF_ROOTFS_TARBAR_NAME="rootfs.tar.gz" -## display -readonly DISPLAY="-hdmi" - ## base paths readonly DEF_BUILDENV="${ABSOLUTE_DIRECTORY}" readonly DEF_SRC_DIR="${DEF_BUILDENV}/src" @@ -44,17 +41,17 @@ readonly G_EMBEDIAN_PATH="${DEF_BUILDENV}/embedian" ## LINUX kernel: git, config, paths and etc readonly G_LINUX_KERNEL_SRC_DIR="${DEF_SRC_DIR}/kernel" readonly G_LINUX_KERNEL_GIT="git@git.embedian.com:developer/smarc-fsl-linux-kernel.git" -readonly G_LINUX_KERNEL_BRANCH="smarc_8m_imx_4.14.78_1.0.0_ga" -readonly G_LINUX_KERNEL_REV="edbedc0fab5340f84384e1bd870669a9e0b9d824" -readonly G_LINUX_KERNEL_DEF_CONFIG='smarcimx8m_defconfig' -readonly G_LINUX_DTB='embedian/fsl-smarcimx8mq.dtb embedian/fsl-smarcimx8mq-dcss-lvds.dtb embedian/fsl-smarcimx8mq-hdmi.dtb embedian/fsl-smarcimx8mq-lcdif-lvds.dtb embedian/fsl-smarcimx8mq-dual-display.dtb embedian/fsl-smarcimx8mq-dp.dtb embedian/fsl-smarcimx8mq-edp.dtb' +readonly G_LINUX_KERNEL_BRANCH="smarc_8mm_imx_4.14.78_1.0.0_ga" +readonly G_LINUX_KERNEL_REV="0a7c3816fc861b630f20ffa2eda660704519420c" +readonly G_LINUX_KERNEL_DEF_CONFIG='smarcimx8mm_defconfig' +readonly G_LINUX_DTB='embedian/fsl-smarcimx8mm.dtb' ## uboot readonly G_UBOOT_SRC_DIR="${DEF_SRC_DIR}/uboot" readonly G_UBOOT_GIT="git@git.embedian.com:developer/smarc-t335x-uboot.git" -readonly G_UBOOT_BRANCH="smarc-imx_v2018.03_4.14.78_1.0.0_ga" -readonly G_UBOOT_REV="2a0a07c75344130b0c43ae5cecc657afc2672a30" -readonly G_UBOOT_DEF_CONFIG='smarcimx8mq_2g_ser3_defconfig' +readonly G_UBOOT_BRANCH="smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga" +readonly G_UBOOT_REV="77f9e189ffd989486d49035ba08c1c76e1e19e8c" +readonly G_UBOOT_DEF_CONFIG='smarcimx8mm_2g_ser3_defconfig' readonly G_UBOOT_NAME='imx-boot-sd.bin' ## CROSS_COMPILER config and paths @@ -70,7 +67,7 @@ readonly G_USER_PACKAGES="" export LC_ALL=C -SOM="smarc-imx8m" +SOM="smarc-imx8mm" #### Input params ##### PARAM_DEB_LOCAL_MIRROR="${DEF_DEBIAN_MIRROR}" @@ -83,7 +80,7 @@ PARAM_BLOCK_DEVICE="na" ### usage ### function usage() { echo "This program version ${SCRIPT_VERSION}" - echo " Used for make debian(${DEB_RELEASE}) image for \"smarc-imx8m\" board" + echo " Used for make debian(${DEB_RELEASE}) image for \"smarc-imx8mm\" board" echo " and create booted sdcard" echo "" echo "Usage:" @@ -170,6 +167,8 @@ done if [ "${SOM}" = "smarc-imx8m" ]; then IMXGSTPLG="imx-gst1.0-plugin-mx8mq" +elif [ "${SOM}" = "smarc-imx8mm" ]; then + IMXGSTPLG="imx-gst1.0-plugin-mx8mm" else echo "Unknown target SOM ${SOM}" exit 1 @@ -315,7 +314,7 @@ echo " # /dev/mmcblk0p1 /boot vfat defaults 0 0 " > etc/fstab -echo "smarc-imx8m" > etc/hostname +echo "smarc-imx8mm" > etc/hostname echo "auto lo iface lo inet loopback @@ -500,7 +499,7 @@ rm -f user-stage install -m 0644 ${G_EMBEDIAN_PATH}/splash.bmp ${ROOTFS_BASE}/boot/ cp ${PARAM_OUTPUT_DIR}/Image ${ROOTFS_BASE}/boot cp ${PARAM_OUTPUT_DIR}/*.dtb ${ROOTFS_BASE}/boot - ln -sf fsl-smarcimx8mq${DISPLAY}.dtb ${ROOTFS_BASE}/boot/fsl-smarcimx8mq.dtb + ln -sf fsl-smarcimx8mm.dtb ${ROOTFS_BASE}/boot/fsl-smarcimx8mm.dtb mkdir -p ${ROOTFS_BASE}/usr/share/images/desktop-base/ install -m 0644 ${G_EMBEDIAN_PATH}/wallpaper.png \ @@ -655,18 +654,22 @@ function make_uboot() { if [ "${SOM}" = "smarc-imx8m" ]; then HDMI=yes UBOOT_DTB="fsl-smarcimx8mq.dtb" + else + HDMI=no + UBOOT_DTB="fsl-smarcimx8mm.dtb" fi # Copy u-boot, SPL and DTB cd ${G_EMBEDIAN_PATH}/${SOM}/imx-mkimage rm -f iMX8M/u-boot* iMX8M/*.dtb cp ${1}/u-boot.bin ${1}/u-boot-nodtb.bin ${1}/spl/u-boot-spl.bin ${1}/arch/arm/dts/${UBOOT_DTB} iMX8M/ + cp ${1}/tools/mkimage iMX8M/mkimage_uboot # Build final image if [ "${HDMI}" = "yes" ]; then make CROSS_COMPILE=${G_CROSS_COMPILER_PATH}/${G_CROSS_COMPILER_PREFIX} ${G_CROSS_COMPILER_JOPTION} SOC=iMX8M flash_hdmi_spl_uboot else - make CROSS_COMPILE=${G_CROSS_COMPILER_PATH}/${G_CROSS_COMPILER_PREFIX} ${G_CROSS_COMPILER_JOPTION} SOC=iMX8M flash_spl_uboot + make CROSS_COMPILE=${G_CROSS_COMPILER_PATH}/${G_CROSS_COMPILER_PREFIX} ${G_CROSS_COMPILER_JOPTION} SOC=iMX8MM flash_spl_uboot fi # copy images @@ -793,8 +796,8 @@ function make_sdcard() { pr_info "Flashing \"Image, device tree and rootfs\" partition" cp -v ${LPARAM_OUTPUT_DIR}/Image ${P1_MOUNT_DIR}/ mkdir -p ${P1_MOUNT_DIR}/dtbs/ - cp -v ${LPARAM_OUTPUT_DIR}/fsl-smarcimx8mq${DISPLAY}.dtb ${P1_MOUNT_DIR}/dtbs/fsl-smarcimx8mq.dtb - cp -v ${G_EMBEDIAN_PATH}/uEnv.txt ${P1_MOUNT_DIR}/ + cp -v ${LPARAM_OUTPUT_DIR}/fsl-smarcimx8mm.dtb ${P1_MOUNT_DIR}/dtbs/fsl-smarcimx8mm.dtb + cp -v ${G_EMBEDIAN_PATH}/uEnv_8mm.txt ${P1_MOUNT_DIR}/uEnv.txt tar -xpf ${LPARAM_OUTPUT_DIR}/${DEF_ROOTFS_TARBAR_NAME} -C ${P2_MOUNT_DIR}/ } @@ -811,7 +814,7 @@ function make_sdcard() { pr_info "Copying Image and device tree files to /${DEBIAN_IMAGES_TO_ROOTFS_POINT}" cp ${LPARAM_OUTPUT_DIR}/Image ${P2_MOUNT_DIR}/${DEBIAN_IMAGES_TO_ROOTFS_POINT}/ cp ${LPARAM_OUTPUT_DIR}/*.dtb ${P2_MOUNT_DIR}/${DEBIAN_IMAGES_TO_ROOTFS_POINT}/ - cp ${G_EMBEDIAN_PATH}/uEnv_emmc.txt ${P2_MOUNT_DIR}/${DEBIAN_IMAGES_TO_ROOTFS_POINT}/uEnv.txt + cp ${G_EMBEDIAN_PATH}/uEnv_emmc_8mm.txt ${P2_MOUNT_DIR}/${DEBIAN_IMAGES_TO_ROOTFS_POINT}/uEnv.txt return 0; } @@ -933,7 +936,7 @@ function cmd_make_deploy() { get_git_src ${G_LINUX_KERNEL_GIT} ${G_LINUX_KERNEL_BRANCH} ${G_LINUX_KERNEL_SRC_DIR} ${G_LINUX_KERNEL_REV} cd ${G_LINUX_KERNEL_SRC_DIR} git am < ${G_EMBEDIAN_PATH}/patches/kernel/0001-vivante-gpu-revert-to-6.2.4.p1-driver.patch - git am < ${G_EMBEDIAN_PATH}/patches/kernel/0001-smarc-imx8m-compile-imx-sdma-driver-as-module.patch + git am < ${G_EMBEDIAN_PATH}/patches/kernel/0001-smarc-imx8mm-compile-imx-sdma-driver-as-module.patch cd - };

&B=)=sx9- zIXpUU4i9&)mCps3`_?y44hisZvK+E<%2M#qi-ScUac>uG;CJinKXF2+@XY+0B=eSi z)34J9^vbFlha8dIr}~YV5JI2Jg-&an(7aCcmzrdFUPAvSG%tkSS_>Xq?#t=cIkRod zRng5x{gdau?Rw-~e~k}o{g3U5YX0kaE$jUTzB7xi+Q*!joV?&PD|bKBgst$tN!_HV z=m0N=Itw;T@0CkVI^+BW>!WO;ec5?J%oE8+weV{ajw>(rQ0Ao8 zPRX+JE&Tn<=u@U(?m*V2T6{UIaVsnE;h3k-b>F~$Fq}4j4X*xl=b2NR2OzJ5!_J<& zr!=$o;asi_a(prKS!+v*eX{HsnX;NQf9@Lq9kM=DHCL^dtUDmdn6f6q+qbo#MGi%t5774-5>gm;tTICpCcnpFN1YGZ$R8PrP+Uq+oP{^I8nD=L2Uw6(v>y zo@4S&%;UqUhm3UEt5e@K?KP1Bb7w+>{lOAgI9AB;raW=>ug@Orr?}I*B?>0T7 zpSA3v|1#GpUmm%Fe9}o|`mM-3ZM)@1A_oR?%Tm6tV=Zgj%~^+(*W7Fk_j7O1x5zKw zVJ>tIf*(+)gB|S?(3{%S^|@SkMuw;3{3C;xy!^`IeTKDm<7CtQ3fIf{rnAYc7azLO z0T z2UeK&o1l{eteeW^2D;8~BOh7~>*oV2oc4zbE~Ol8VH2ofEq$G}G?$OJfL5^gZ{3QI^ z8RB0LhyTO3!0F^V_U0PpKNtlKg3}AZi*ig~M!#hb)0h;}uhfyA@#}TZ_!`!n6f&&F z;=||uGhTdxFDo*)v7N~`&@Zi+z(CiLej}a5=72!Ykv&s$S!F9}-};A{53hhHc-h({ z@h}a{OU-3?LdP8D1ZT(}3BmshSQ8q;E$g(0#oMD&n119v&kmY^cBChYPyU;}LB2hR zPP!GDpLJ)inRcdo2peioxcE>jd?EOL0C1PH?wT#DqrGru>0aVX(xFrAmz1p~*sl`v zb%G!dfrSsA#knk2Zv6-Fb%BdF=wChXKr2UfVT;8-)?UxNt;xg=?HX-;PU8~vJBj?2 zd~i~Cw7{wUGv5s39CFM5IJm=7P|9J&49ej{E$~+g% zImVuouDyrSEAxL3UcgUBP)~|HyRY+2%{j=K{0H@r!*N;-=bi83Stt(~{tTx&#{TWPRNv*SLS;x%z*x#y?_$|Hra{qp!e}ATbAM@`&;@>;|{c!(2 zF~0R?zrLG8)!sGVa-GCq+B(;NH&^$i{ylBk`%&Xlyw}-ADegNja2lhdUW~4zkKXg) z_W4?1xdgmq<19p8Xz_?7<1W6E(3%Y|IY9hD0YY2@d~@ONoQaZcI>AAx41AY+_*Tqy z(cXKbJF)jX*0DAUJs)`m|H_XU^MlwQym`auGakNKqoGTkHILp0;z55MQjQav*gJ;hZpVm-p zTlg#84Jf};Lj7TL{ri&Tgi*9bGr0iv?1M5I95(_)^wXcyoESp(fh6J1vDk-oipH{ zgN974xOGsz_^9lZo$T2+z8stB9~+-i8B=(^_S&>@z7^+K51f%RWL}GKVG2%aFU8#H z4i!^I zd>|>l_ufa`A7eul@0yu~e}{gDz`sM^h2Q!Z{#5YFI$>o{wV47RqTBid8i%s;&j4vP zlNcjCzlwi+;x)*r^__ZOe!lh-WT>}}I@_pIFt4KBU<~Dh%^nNWbB;F_iwZ1njR9`} zSJYfEP;hB~q3BQZOLRGo`&W=#UdCtX?bY%20{)Hhm%Q-)lD@OEu>0AyMz&4Klj6z8 zSc|&g(eFn3S)W@m`!Rz(to^xWEjXg@m}|$)FwUATHQUs$Sb?cd?9S2IEZfVQ%;xf@ z(B|?X==aLEv}LH9Sm$4pBPj7h|N5!|m;K9LnKAip;z679r7+x2`ebQ(%2N2=I;R_c zw>`U_#1FHc`Sm5Bsorvay$Sd|ajx4IKu<6AH}e*Dn9U9Uj*kr9-r|pS#r!j&&vL7y zC7_W={<;jwO2U9Bd{m!1mZ@6Ddyjw3sy$sXK!%ny5o|G51Z`KQlZ!BRd279#$80 z(g^yfbkE}S^Fuw|Q+*8TDMp^rJZeS`;b7J^i*}p#F6!{+RzLUGe1oq-KIrYruO>aC z@@sl#y7e6U$+ly(&pOjlf}ACrH92LD2oCJd?&Ex4PdUq5Xg7o`CAcC!uL!|MD-CPtQEVvNl{uzklI5636HbLeN*_kRRFd`U+tn7itKpp$AG zE5CTvK2sHSE1F8DK7!p3+s=phCV%eBas}xayef92r%LpIUQ`m`23l{wn|rNQXG>jDMW8bSO$2t`ll?_rJ}1t%OE>s_6!1T- z06ux2Ps=IbET-)RB-zEbZqEow`tQV}Q(u*zQW`Vl}=V!MP4Lq=9N{Z z9e;0o9qUUaG~rzj>$_f5oUiBVXAswv%>zA~H8xWCpLFI2fm3k>+b4x8P{qs3R!Fhl)EBo6#J{2ot=s-p3 zWxthPSCsy7R{K+F|8Z>C+CP8YOsD%P{1&}?Cj5OG_?ot0tBTiURL`*Vf8HTkv1|OJ z$m6m(Jf?4y6K8qE?m5_+T?ct{46^3GXFp>vMlEvK{@*eF@HBMRIBo1z-F3uAzp#LK z(q`wUh$Iz(+bR0c}WTsxxK?Mk1q>nD%KVPG zKE|8JnST2xytFFR{&CvAC+Iu-A(GhQmk0OkcQD*1gM0QnB#-w@YYOh!?_juJ6x_4l zA;~#J^MiZ#I~eXC13zC4o`IhXb}TLda**xwMRgwS9zSQi=sH8c z1$Pg263J;_U<{gR;|oC>z~O-JDZxE(WU#e;Hn;~4hx^Ned*H}`<4b~j;BdIF3+{nK zef~OaBz}S2mVNd0v@d?5vp(1V#v6~6XPet%-i*0lUC^_3y2?||!RMDuTV0m(zCsoj zW7?)@{@J;RY^m!7*sY#}e~RC<5C^j~?9Exx>rK=no+7)qeEAncE834bE17Ti{ZyLD z6{7irmk)5FwO{zS27EAw;~5_x@4#b(lQ=k$Uq|J%FDB*VB$b7e6nNmA zx{j21lw@w*gOe2a7hF4lOY&PE@9Xm^i-(HOe0M{@TME-#xfVZZiQAk@TO8&$cJ_|C zd&=GKPa%dEJs&#TB0az2;d1xtW_TrW3ZkKg0VJ}gGjPhhY#?kHf$Zwmb(-EIvm?pUVBoeBSf18s{aMc^=`_lJ7_m(%b_7PM^qLa0E z9l6u$;K#^u)5W)c01x6Bn>8oVX~7#ht0%|pVsB4pBtN~2``YQ?_gZ{M$ai{{9d~dT z8e=T0SSR*|`BfxObL%(bm6PbVg-{W`{1@(KF%HrXH@&0Eb+&UyCa&%XF^ z_Qcq|`P-+*$srZD@pH)MqMf+I|L^I$=rMt=G!=eU3Qb6dh~aCjjZ5E1cFZJZ#Kd;5 zgP*>^IN6-q;+;Rho~p72-GDmm`l5bGZ@Z6oia&dm{v|cGlRn|PJkz+Ix`ruMN^>B= zPqeCdg3a^`+94hsd+#9D_q#mae61~2f~}?$ynauBZp@cTDksC`l|J+lQ}mHA9C|RbDsFELuotxvx3RK7GD_m+u*qss#LVC+kX;-N#y-Zc!gt ze=b4hNWfEL#QMwsGKS}(p>32EPgv-eyGZ2*8toyXTw!`7&(XJB10HwMUO+?Q4a(yO z9$eAB+HIw-X4*)ge})-nt<(DUDEMmqM6L2~ZZYo-bKk;7s(12527U?8zv%fBiMO`$ zi)hfnN7urJM44T{pH+)qj+L~sRBmuL`@Adg9 zt6OW``8znP9iX}k(;uTQwU=UUH;1tYz_adR&DAr#U&gh@ROLFE6Pkzk{_t^Q?+VvE zr+&o1zsk-452BSKQ}E0md6t59)VIIzTzzxMJGI@n8H+CV(T@#t#!ZxLqwn|8_Gc;k zg|43MtPSE7CFA&)EthfVkj$fhm77Gl9oz?alz%787^{!1Jz=|cC>M6yM)6>?vf}W$ z?naOIaE`PYm%_J_VXRx(m!P)O^d-gh$EjEE&gDOtH$nW{R>n?qRP#|Wl<;xpy~n$= z`=NcZnzw7h{awXq6>#6M^fb4DGs)o(+XX`}J!ScL8a|k`Preq`xsD9EO%x+|FS(<> zjV{wNC((s&zg>t#Go zaBb+HctRg&H5U)5R2$Qv@AjLg2d>a%l=yBv9aIs3piB(#U4 zW!+iGxg(qrE0)KGx_4oxl-zuFXvp{qcv_8#9HI}?&ZeHPKYi0ghrDVpnSOIBSif1L zw~H^;A}8rz`9b?=^nY#c)Y=$~;i+_Tey&@wCE}iuMJK|A`Qk+PSsUBXM<>d^`OkFH zr$cDI$G{csZEL~r1KcYMQl~+`1?eF?PYG|t@n+MR%F*6Rv*;|h4SSjDm%pGlw%PXA zqzCeSd5$^qS7d`0_Gj6;k%3fqH*)!h)=fEE_wo_$ij(TzVQKqi;OwPs+Of1fi~aN1 z=Tgo6H}AYq^zG4gYQUw?caBHj(82Kr+9ZZO2}}j>UtJ6Df=w`ZHajl|xBB=ZeH2}9 zqnz%43Vjsi8hCbr)%B#GR5+)(v1=1Mj46sIu~Ex*s68ygMXu&dMD#fzeKFT5LM!Fa+%D**6PoMQ51}{FQh5=wC}qIiwDQ-{ zY5Aw``PP>LugUFahMoiMl@G(#guE-b`uKwvOD-OqH4iNhd{^{Sb&KYq@{3nzzJg8T zHB-Iw5ZA#xoIS$5<8#czuP_h4#60}cB|7uSn};v^^AH;RIy9HjJmlFoz+nQ~()CQ> zE(CwN*1mv~@mCm6fWN-E>8*ope!aI*XY&1?D(w>z4?hHs-#|`&3%w)YE$AVfLt)4Z z%bp_Xi>av4{7S`@3HT z-J-e$eAJ$%Jtd(-_2e>hLf$xsblvadajqwZg#N(yPGe8`K)Z%VX5Tt7sb`m+?fx7) zvBuou%G#MdT&d0w{HX%|RD(T%^7!3C)?aTj=4xwa=;9n{Y&!M870P}1Xejsfqp`Cx z>yqyc7_WY44S$_B(e7lO+|aB1_G zt~3{&<2LY})()-DKSNjU6-A^vXCpeDK*0BZex9>Z}E@w zE*a^X;Kh(C_aO4K^myhVdg@T^+0kC4*n2fY*-twe`G25fH|0-mT`_5MXC#&;UJu$0 ztw@-zM_WEC8fD)GIp6xKUMX~H=n`BS32pOCCI`%;;%a41shrGeWR7>yM<&6hApcyB6 zlFT8zOLkzK;wf?sppVDv!B+)2JcN6*_oMDW#z^J1UPvx?+G<-$JWPM{2lfCz^ZEB` zT*10M9Qh_bv~Suxegk)}tH|BG4!Jdc0RPG>56DMbG`CiK7QIaH^zj((BcLf zc$5AlfVJ)I00)KXIp9F!YnYQTnnKBUTWg&5SNVQBI9z(C2eabS1@|-`?lrw|lN+!X z?m`RqH!R$Ra}&%fi%W8Yu7+ovPW|?t+%vMz+G`)S3V%#=)-CHpJm}L={BW#!y=VLg zhgP@paVL8c^^kMNJG1Tw;0{>w1N$D=*8inv!gcVUeVs%X()~ebur|}rt-DQo7{WGw zX~b=eeUcn08SQb8%#E3)>r_^D68-ne9mu--Sicf;u56dD%$z0K=bX1Wr~7*dy#3ul z`@z4~le6e!u#P-S9cz}3?aj%fHBtMlY+lg1vF;x^$E}n2WPKmdQnv2)HZU~o?q~D2 zEvh5031geU?ks%D7jl3xNzFlqg*VmLu|FMIb0)S4@gj%*c49}}MVmAErgHY_?YbVn ze^9&DzJ}c)mvc1^)x*O(xtC25*jT}((Wn2Mrrp226c#5@hf?HV3w^W`}@B@ zE7^5?iSl9g<{u#DPW1?8)$`?lQO~QuqJGF$9n|wWJpT=1Lu8kl!gu}H$Nw_x+Clai zc>9)>8^Ehqx`pPDXD<%m``PAKsqZ!F3GgIdp>{Ne|FCf9aZM8f?-5o<{Hv8M?~JF^Aud6ihBy#GZ2aSGGM|^ph&V_CNa)Vhl{T?ko0R(T;xD zd&Z>TmR(ag6zv*x!^zaGz6fq|?5+)up${9?2lmhV_>BBF+E?4+aWQNS**rq+s7$Q&iTxV6C;`eSP!M^DW4Js&R$g$?&~H+%)((grZ+%bupVS8QWfmm^;X z?TMysTmk#CN5cb=t@FXhhs2k7d!J`ue@_61L)m)v&8d%)@zvke^i?*k6n&KpB^e!= zqC+-u_7~3kwqR3#XAx&aF1v4o1Ic6cJd@rheal$=$f?ep=oz;mpZ!m?v!R%{C~U3= z_+IDEF@7B}$(>r?E*s;H1I`TkjOtW-3;lX|zta4s!u=TUWgEhdu-$&M<74h~U+G!< zJpC#@?ct7h`A;YZjsN}4e6M&0&Ul*FN`DfZF%-N@@XnhP>>zx)<6>f`QX_%-19+ibs9e%#$czZ&jzR;4J{ zD%tP7Gu(pQee2}EO|VaND*Cdc@%_#D?gNxfN=I6Bf!oHl+PC#=8|5yWj6O>p_C2)F z%>6fk(~du5I2*sK=AXthpaqSi#cf=gBazqT82-YFnrsXfnK@*ARP#<)IU9KP!rM6%gEt0qs2lk{SU){E!J}`%7L4^@7#q>S!f@T@ z;8`cnG{!rj4RqC$XyXNqCGUW@%74f}(ZN#?8R0c_Kcrk#hRx^CzGU z=73Kd@Y#>LV@{!s(E)8x?!#!~H@ElE#+g~PQO5Ni#zgZ*vB2U7!Crr75d0t;m&nPZ z6oUp1HMfOF`9Ht!;}E_onPrRCfyF!%Pus~n4f%BO)a9PcAiIr67apIo^neV10$aFb zboD{=PU9gSW$Vn0vwnfy)L)l-Df>_Q+k6j6*;UZd9sckAYQXpV_87_buW!8lM3MA0 z#5mWzehKY+dJ+DgDRnXSW&A|@?l^n+Cr-P3raH6kSU56y6Zy{$hQoPn?6K4Srj6`% zn`$C?VfN=dSGh0x5_|N|1wPSnHq9u8#Pf4{`zQ{As~q; zXJvf5JzTiLu%85-@ee8XJ8BP8l;4iEroC<8v+HEnXk+hVW$v@bFFw${6e-Q^6CkSWPi zJ;=C+UIu?N$jzmAr_`l7!_y#(`};@OTiG_jbWiVxjkc@jvDS@s)j6?U>)MuGvRU8O zLKDs4;imliqN%A~ed5QdwNCrZoaga?88BIOZ$iiJBwlJmIOkA>-fyj|Ub5%x6|XQx z4~)u0*X%xfMT&i|zYGtUT)pR<700m4GeR&zAzzOtTa~dc4`;qa z(+}Nj+Beb92bOV;+#q!Dw|lA{x|#i%%dkz*)+T((@1Z9@!OymrIh*_l!#Kw@$IF#T z8NE{(y%#OEFt)qt&qH%fd-mwM?c{IHk-VU9=!gD2S<16P zx6U%|_-NwCmy!X?2rtmNDDmz!1pPkrj?e&|NSodfkOPlFfnqg{-{2w)^uj4|4|S@NCu zU?N4%{s{gMXhQwW(x)xF;ZaVbL5Hbr3YE#mBX~ma5p!*Ado0QREql-2+b0wILf3|D zj6wz9i0|`VV~q*T!`3;i_FC$3LU}6R`<@um-uLh`ay!`idfyZC-248l4|$J#-TQu2 z-}`Xxu4qM5xU5_;SUF2=zP|wXp3dXNo(6k2rFScj4{M{linUDZA+eF&5q$qS^sBx% z$3)28I`XM?J+msF5k4zQFYRt1Ur7wv{Oky8-N>h+Ut(|c*{0tLd@zS@fnV5lV)%puNCT7!LNoGE%E!~Cga9>{Jf zo54upR+Y0ztVe`-?l#pTe{a@L*YoIAT=l$lo-dn!89geQy7ByRNvDuXqgSqP9E2#rMGbA~My)P?jvH3E7b84vrx{I?`+FU{r z@;t<-Q)LYMhE=CzFzT`N`v2P3*eQK&X76>1X9*JZ8j2t3K`l zXS2Z9ENHbZ87ZT$=s)4P27krHgZ4!0_;)5Hr_c0oH!i@3?2nZeAK^Lm79ZhwjJ5*Y z>3!J83$Zd5Cz|sCPW~tD0^^6aD;OQ&!iVw0+Vo`Mz8Fm8!1(`?Ohqmj*&Mchf<3=C zvaUs9t4Z z_cM~@8lqn+n=PBwCC%0K(-x{(JFny`RPVm%Kf4$Bk%d75UxHFyoMm z?0Jd_a$E1jRwp?|vUC2IC2N+Xhwv{v+`@dF51fKId1q1Cd~mb|9BE!Y1fMdeo2qpq zz4vm!I~9g-?Dh1VamB5YD&P{GY=BM<{*Cy0pB_weVc8<+p_Dz;+A}|bv5Uzc%3kgA zSmcjuzBG*WZ^*n_>LPB-oll!D(~qKa0(vP;zlVKDy0Bs_w?i))chN~3b!=Y@tw006 zoA1$zp4&COscgOSjTD{Z(TQwKA<7A!1w2o&zUVrD^B1)F59}JL-_=~5! zgJ75qp6<;HctKJ60sFoPTax!a!TU#%^ChP(*FHYwDL|$zf*&TIa2mIVhvz%+26Un+ z$#P;a*}Hs@vsaTJbsCppmt!rQ7iuaiTYwDq;+alkJ>#0WfxVU&o4glwwgY?OMW4^Z z54JFG#RERiSiE?FXSG}@K1u&%uOmR4=^UQhLVeHAVBN!Gf?z)Qp z>RAcbR|0=4ddNulWd;2^7$&Y8UVz*)tv`5qHQXP0r{s{seJAh2lo`SAX4ax|GhmL& z)uDglKg-iTS;eMEPm-*@8~ln#=za$BTBUE_PhL+hgaKyg6Bn6+Cn;ylfOu!vR96ou zD-*t2z>9c8@(I(J0Uw(8-{TwMWjA;UXk+)89&Je96K!N}FpcBL$KL|(b)JymWnWx7 zbzL1}KUuOMph<9(>+u3;+UErY>C2$W6gh@u*Lje=65_j?_&4x11eLg>K5 z%}K!>;KQ4f(e;Z1_{qPxi<}gKIT!e2>@_Oc7j9ol|Al+T&C2+@EZ#$w7u#p7zq`P{ z#w6k6UNpH2ya@l4jPCD=m0&bN{Yrhdd!y{`Gh_l#NGs{?*&>nO3gV1(O$qmF-+p=(+` zSd`xF^FhVeI?bu|!+pG0uxGXco3Glc=YN)CQm{;b-c*46uGUuzDLsywvH${e?30- zaq4(%0I@dYu~I#<_oNnA@93-Rf}G&)Tur-n}x!IneKFzswR_rX; zM!%(Vb>5j;zhQv4XF<=NgD!;|@s0X^ufG(8iIh|cwG0@{YBTlvc2 z428b7OVaoAE#gH=Yjf;CXAK z?EgOxm}Qsz1pmT=uB#}I&$vXgx3{W` z48{WU{R4MJi_syPwYQjOQLdY~mM!I#@6?T+g|57u{5SQLe%zLvKu8tM#{EjK1F zL0-0v_+OH-%sSaHhJi0bT>mRkjq9-V*=I06c`to?R^?OCS-C%tJ_#SV&lFE?8N4U@ zDt%cx@E6gFy^*rIz5UB7n);PpoVzC)Mz2m7vqE-06MJr5MB^ZPnD6hfu{%CJzrW;H zHfBe5BKi5S6~!~iM}f|?1DlflmK-MakB<~jcJl5YzXpBA<3ok%tD!aNUgFWBt3lAq9iKAW zRR6Iy<6c+)!zpXfr?EM;8*o#KUUDGpGc3iN4h(i0ksYf3(%-Xb(RTg_h}*tv`m|(}S(L zlXi-YgDoG}bDhSQ!UcyaIKNPNR|Lm$;1DhUPBcA6@D?1p629ngp2juEXN66PeJZz@ za*1&9GscvlXBV#6P5I`Jli!be-v0I26$xnPXFO}6kHn*_TsC-DG;uDlqIJ}XdhlQ`7 z-rk7}63T?zU*MVKk=UUtt&Tt&wypKFb0vM=Nqv&9#N*ALu;oEDhfZ(*jcvOOTe#Qu z-L(BUW!bRewLN60dw@2pDBC$5KDVc?JxqRCWD`pd8-WM^H@;qU7=K(o$+#rZyKLWI z8S2VDu5XL^u9&tv`z2QuJUw=WaA9UQ?3l;<#GpvoB52$AxJryMLw`gbBJ3HHRSy5> z>I8UO*NeAk`Uke}QR`n-+t;cjt!d^tY8zEAz3lkhb> z9rN)u0~{o6o5Ryuf7RxNwD|;Wu79s*+ce?m24wO729Dmrr_zg~+X`IEJNXv6j;g)q z>0jq@FMd87=ENy5m(hOr@hq6nEmX{IAB}YRH1d>3BgaJ}Cp;Pv%xXh0KQ+5&Z4dQ$ zG%`Hx{L-h96Q{Rdd}r$eL3tHK(578TeY6 z@M#44vvaBuTxmWnRXcW0vA2sclYFLjo1ueuku4>kN#7Nn{0Hqm$u~{lY`*AZrqf>g z-=LE@*?79Y*!=(;=v&c=+I);Y26U1Q_j9y=khvbrYnS$qGiLt0-eRVexQD2#7jBPE zR)(OHUbuZa5!`CyLZ3!Xf}3&bg&SJfaSGfGwEG_ITDUE(ywFQ4)s|Ko|F5(%IvWS) zmbyPvzb)@*++p!RAGT{>O8C-la|(}GWAV_(BR)re+QS37No>8X7xvu2;-f1=Plwyv zspkaOvAoY(KI&-9saJF4#LbL5-v)Ce@r*x5@&>mrw(Sh>#rHVcd7QG3zr!5iz2?XP za5(dsy7t&2uirLqlKFAL8T;35qz&=V>93WppAKGPvlpYPdh6U@bF98tW#<9UH9r>6 zb}&EGzlqQ=`{h=h32xqB;>litT~_OTwrw`f8C$2?WiPk=_wrZj?5}?GU;f|}J_Y3F z`~-YMy4nzYBIwj7?S<>}d3!R?0_0S0{uQUIY`uND-`~H=zEb$J>V61({*``fUA=|p z;{BpMLvEuKHa$B&gD%y2d02MlV&sxcoHG%S12Q9#O@NEN!&kSWBia5r7rCji*agqH z6xli&S58K)smNJJ-n8p~GGFa}gLWm)-_5_`=o40lB&L#nTbyIV{1!M*vd74?Ulyi! z;5(1vPefjgXWs7_cZ~0eJDT#|K&SCZVo2)wwlm5ZS*CPyjTt_-m9<{*$PQ>q&%|CE z&Z{9Nb|d56InXqo;JfoY-7}6a_q?VWXVvlW@D&H}!&_Lc{gk^M8?*f1GsuB0IVFYv z3Ek}KpYZ&bcDxyrZ5O$Z$QBLE1{pbJ?jLWzAM;7~0iG+yLpojgxn|xssKdTn`AHii zJs8;${Mhzef_LwH((bbqE?U8rX=+;^<{U@W-+CeWcQ310u^(M5%oqq}d>DD*;oyzj z!S&!#_o3mYy_Glv;rMj{oJ zE`=XIfvrh&@$y%Yv2&cG(15*viF@kEPx3uE)bxEpE53J?-Osz$x!9u60b23>tKJ%8 z=H`L(cfol#a(Em4&=|{(tN$bXAFI4*#drAcoO96*3~yD}<(Wp+_Z0OxWu`htIj7uI z>)B48Nrsev*coBmYoOZz){cQ@&1~vPfR{y)(!5e=;aci?i)TT8$zVFA{t>k&ZF^qof!}tC@=4tgcmG;b( zo#9e@rW^Vy@p}d7XTD_V{$I>pFV;zW8x&KaT$P$P*r}&IW#>mhuZ<dpm&NjMrVoqX53>?d@a4Wbxz?>;Jp+hZ< zk;QAJA%3(heI@TYks;p+Tf6sF6bI}(xp6@T&(rdqx zjuhZn_?7J=g#WMRNiY9hA5R|4x z!(+Vf8cw_meXZhJFk#=ZJ~#OoP|&yhn&}dn_X*Z5C(jH`HH(%D(r5Fm zh;}?aN-Qz$Xpe7TL;3;l7s8vRdou<${!uV3K`Bw4tWh2CilMV8=kZwf334qznEE6= z{bBCaW>M4Ee0ixT{j}dsV3S`)nYWQy*4X}*(BH!JXL+VIMf3Z_m(7}C79Yc`U4IAP zOE#81Bf4y$?2@qQK9Mh+6q3W)!->ZDLi(us?xGC$@p1jl_U0F3U7;b#4#E8Zb;)Lk z-rb?P5|rCE#B2-R|A6=ENAUhy-WTy+^GDCF=bP!+?X`9^LRVj;z0i}28!k-WLRpnj z`(}t7j`Yd=2DF2omjlEE5`ZYqM_g0cZKQS+W(^TGyGpd9kBtd z>%?0GcoU4L`R!>Q>|4R^B7}}w?@M56RJN_+n6%9d27}333kutRrGCo^Ve1< z<}B{I37E@G&XL*JxE6CSo|N!$ltQjnp8GED6|)%30mr}o6#pxMRsN7vGi#qInR^9& zeuC%Zgv#&7|NBckTeru1*{=`Hh-XNSl>Noh40E-0@TJ}B_!r+6uaj-0LUsu3BjPWW zXJw+X^6_pP^HwzDzlvv+WN%|$^aGgsL%+Yn=p@IAcIrtwk#0iHfCqIPdjA_bQe_a^a3cse;UP1aZ z;HG?lIj;h~Dcj;7!H4Kad}_u3=V(%W2FLeeSC)UtVGcFI$1lqB`1r5j#p2@`Y&x39 z$8RMrha9)!;}xvi-uhUUjzKej;$4#X(23Z5%aLQ=Vn3qj>Q3q=&L%E8eF|HB3_DH< zG}*~oQ9(PB2P7v2Wlm6r+-T$W(jNnS(~%|0O?2)p>_I%neCgnM4K`%OY%F4o)BI=0 znQdiU6Ve%o-8v2Uo6*HI=HMv5+_R%tozIp-PFJ~}8!3nG(pxS|N3!LlZ&2{wUYdcX}y_*;d2YVmu0&yzNYPDl7GH%^)XO$^zT2;@tUQUui z{ON|+XycwvyRp-|CWP|6wV)E37rlqM7hV4ux*9vkY*U-9_!knaG4wR9KHSUW+r@XUGd8Rd^SX$U)E*D@Zzk|v1YY3b_FPNR{A|WlWhGlC=p#Bv zqZw3~Up~Z{mtlWy`6y>zl6l6tHuEGuCccAQ3;qSG>QlYv1a%^Z1@)BYk?R-UQjWX@ zPNp%>=e6*kVC>C1F<1Tzu2-5d)$R|l|JFkT2Z3Mn{d?T2Z?&Q~;MSPqL(N;D_Vvvb z)z;r^uV+`ghk34Xew6=!p9VB2ekmH%m<6(!Vg*lp)O7!CE_0bYG>^hBmD5IJ?@*6) zKDGZU@A3U2V-fdn@o(Jk^DKd1yd3#0BUuyKP<$lDI92g23Pd5k4V!Ce2YZrAmrZmJ z`1xL*=3B{44lnFZG`yF(9+g4%x1peMr?b+`y@%V91v6-n=PFmnvqI@lG%{k{M!*rEMEpIlz7d13xs(2?M<;*5`nDuHTRU}d z;Q)VXOLeP_IPX&6s|XosJNZ@m;E)_rkY;~~g+td*%))NKp4gyoWqiAp{+%@c(G@%4 z)15qDN?&KZY33;|=XKg_*{!)$kRHu=i1#$liA~ggn@#W>f4%Au&lya;?1`R`!e5nP ze~!NSK5aik*`V$B-tJk8!G4>@;%(+|>aZuTh#rJz2fQw(yke;*ffxB*w0CV2@pGGi zcSCG2y0Y1Bc$Xa`&Hje?M&jkJ0PYxj;K@T|_im*=!TQC#R_wFZ7;;3-gI`ax&!H#9 zWyPq=)AgR*3{SOtAt!-X%?0JoQO*NmK)1pB_u75v%m>AIh}Ubcbql;7eP8>}s+6-J z1W&KUwqUOZp^wAkl9aW5R?JjE-&t~D_7H^bfi?{L_@u9sM^fJf@!(s)7vK4NzWU+| z)u#t}7fL2O>^cH%{SqB3%zZ#pOBt`#is5G*kdH|FhTZ@z*5B?lCf@kL6zSL%==6!t z5{JWDulUpCU;};gA2*G)z^FN@+_Cio!*-6({9VcB`Gdpl?_!JU1V+X^zSUpjf}FgH z15NzYX;fVaY@P`-aeU%~+D7?#RJZgR%Zt`r;LgDguKwjiCp)P}IP%7#4^|s54!nZv z7GQ3HhZc;1UVy2v(5~NmL!|?{XYx++_Ufh1W}U-#gK&or(qLa{7@1key6y1?i+^t~ zi|EYK7-JpyIn|E#%Df97ywb0OG2F|32F}GO(mv(5_5)QEibneOdY*w}yjNC$W>wE8 z{qJ)a7tIyXtoAVxM{aYTsc&B=w?LBp3tD4aSBA>u7t8LK_?*W32(r{@>QhXq>SnB` z80x)8^UjZx+X#PD`QUyT<2wugX#%}_W+k>C?SI3!YMM5#U(9z;W24o$fy={!rTmNJ z9^qR1kjwp;cFDjRql+jn{A$c4>!dy5RjA8&?@gSL~nPmB8L0IaRSH zGk7na5!5xBdwn}8_%1HI{PTBL^ZvJ|;6u20?WiYL6pmv3#m`5(*tX2oYX*kOkYguv z?)t#wK=!C$%aA^nsD!SWBOf3`3Wh-MZ=ZuNHEOy)&-|_jKk{A5h9=wMjo_`0*njco zBry^AXS7GJDgh3E1K!|6RhEwDk9T)qchx+#^pHhgDtrA*)@9nz{uFGz`Ccrpx97>) zm4Ig}@Du@u##Q~4J}JFWwgb&?_2E18wUB;_?%VdjH{|n$PZcm1^A&be_}Fl!_D9iHQ_=b^XiEJ1JopG@8}Bio!Tp(J+4c8aqWBR4&EQH=RNm& zuQe`vPlR}*#=+X1MwsraeA-GO$4hSvp)wOK`57c(BIo zX2wfnB_6EtsARn6gP%18;=zUKZuIF4Ys7p%-X#IgZKaJ$^wL-%`YH7~#!UXM@XPpU ztQ5zpwaXxLB%-Dr9og#Sk_9a7?VaEbgZ6Iax$H>iBTvm|4Ah@B;7DU#Yw4&je&D@Z zpn1mR4xOcyHD;F~TT3U`_Zz}RbDzduvgXdO?epldF#U;B>Ul%;FmB_pGiBG4i(MuA z{vK@Vk~jOF70rEJdpn__bAc6o`%qHwaIgM;)Y4<|hwNMaxwYvn1TPxjMWQ=9S4z^k zwr?f9wwgWkP4uAgA2xSfmuQ5&aN8yGGPf*0%cULhpfdh%WWI}cY3`3$bVpYb-lZ|b zCh9Jf9fY`O*-zxh?`>Z+?YI9rvbS`5#l`5mjcVVgzo30{tY`auwtbJEz7CzK{YcP0 z<-PXj_qMP8U*osm@{gWrcV+c|Ki^xMEp;5^dJQuF!@QTRWDEa2k%7HADy2(4>C?Gr zG)e4;vD{3wbu#PF zW6~uG(@W5iQuuE06~${5TXH>n)Un4zv9;^lPM$m0n{f%AX$?)8gltkP&8Qmp^RlUj zO<{`q=F4XFkXK&vdvv%|__OnU$STk@xe#2q$GJnoUFZ?9ei-j}Fw((5`>;L%N z-O-7;&qklSD_r*6z-Oa{ce7Ujokey>>BNHdePqr1?<_@5i1x0nkExHJG22dEH#5X1 zF2o9^dK5Z0orpZn%?}ZLP!N3x3S-(AW^@4q8&X->_{;1}jM) zVJyVQ^jzgPQbv62(xCs)z9+Ahq+g}1=9cQ|kWUC3#VpFb$Pb&|+KKQSXgY3cOqCsb z=590NCfLtOFsJwqT{ZtKuE}{&m?~p`39s#ir;GI}ct$rKb0J1$YTvYZ`Zh zm;KOCEpt_6Y6r0vKd-p%&|G6-ElzKuUh(7%c-c+A6mu&4n5JRtL%^DWH;JwU*Gl1m zzLq>MU8gYp){LID+C}N>fJ<{AWpP>xeJzr$J>J9fR?%0~+ZP}_9-NMh?1b|yeMP;v zd_A}HHQh9}g2xy*)cY7XjQy!jHeYi1i(X_;C`sdR_1d%W6{ZE3hsTojKatOo`2j8| zukkEQf6~Y0#6Jm_#p!k6QqS+_|1hx*(cI^w0gX7zO3H+H`N-w}mp)NJd)O0w_@eQR z#5RQXFYXeKe!;tq__zgU0-CAu>18JL62O^&UV`U>GXcGv3TNsX_`ku{A>VZ`tdVpH z^(!BdH{K1d%-Q-2#9EqK{EKkY&KA-KpF6gR+}Vt;_@jT+O=c)52&KgeYr@^_?0 zKu2XK)6t8_t)ipAKX~uWX3g`@d2}SYd4O*ePaNP|bX45{{Xk1sgLgf5vS_Fi{1|Ac z^%3BLhSX*$JhYXu(X--Zp|UUdwAAX;jyE3{b=?Ns0e$T{?9Iov|G|80gN~j%Wj^lu z-=d|^+?bEw4E1V03b*Qe_I&)vNp$4R$w%;kh&J~B?{K^D=px@9*P3YMu4ww37Jt#+ zdH8AYS3J~gdlfur9;%&S9%jH<4sGmY95wga7&~wNg%3TA%qluPd;{|bJPD7*!W-p8 zrvd(UEe(~`(jQ{ZulDe#^+5b=K^NyVfj`|BrRV)W;xC(*;m5?zAL^w|)hV0>v0IyFtv^}mLPi$)WiZRpLZ!t}M^vhyE3^3Yh#!2#=6`S7K% znLji(n1ci2<-X7C0$>zu@HAI(QOo^#D1Vvw*#gE{<2~R07p8CL|4*D5(~2CDLN;50 z-2wUQND>`rF6(}1&~xi%f_u%WV4q@TvUokdW4lkW-p-{$a5KN_hZZ-UjQ{t)d-G`K z|6m@?WFBSH!GW-3(O?ddx12f^yO4mk)hE%n)_U#Xyu!yz20Utw)_i_3#2iA`d?yS} zfKPm0GISg8iiXAlyUL!&fAeZ|ZuXTmqX##$e`4!{Hde&ODLlvAlMdIzcbrY*?LDWi z^SPI-T|qxShde9$gJf-o7?cIQxK9pQnEbUl8_fXZLsW8TZB*&l2NJ zV`@EflQBqqU^pwdFy8z@XtZR&Um!0m$YXr=psO+FnLABc1#;}W%sH!zqccl}6>nHh zTatm*p4zIRtu<$QvUdpCUH;Ej_A1;BE@h8T^WRp(n!>ymPpYHLIOf52?=@{mM_y ziHuR{IT`2y8lNJWxEgu5npoQy=h_cr+;sN3{6(BE*{yHI=OlBVOMc!NjF;B$PV8mK z#c}PoFtPpX=7ATMv(G`QAy1kX)V@%q&k&z>AU0z4Yz z>=gUjRdM?2J8!V>$=mNle$&W6o9F1~;9d0zr)}tj=@p#$z0tHcqT7p)NIyxhAh*p% zr~NnZtb}ycD&wZH(Z5f>^sV}FmEVWY`hB><@59*l;7u3TRco9grjBeH>ZHCj_3ZX}m3WQHOlOS# z0Tzgm0NHHYwTDeqLrfAHUHbH|1k#t!L7SKT|- zoeFLZb!+T`9Nq6&-zNEk_}>97K=Yn{GrP*Yl=98;5m4uR{*T(a`}_m=f40c>yyoCU z_tLjK-C6#+`Z@EvV!7TNq3vlKfm62p3d6oFe7uVL&%*z>{B-r{6Gd!CVSkesui_dPn@w1%bq-0ghly=&+~e%ki< z7qMN>xx-#R#`PNdwSm5b@P!KJ70fyH$+!P+(Vi&T|MgD3fKW20U49({Osele>JV&# zCq!(Bd=|mG4O#V9@Q!?pjM3x0eiqTW;A^|;FT~u3PB^b9;+lu6-ObpEQ=F-BDvt@yZWO*|f(zjZ zxI03#XLeQi^pJsP*N}fX#kd=MiRDReOhv1rgD(1?yrBg=l%^YfJp2qiNQRW&Azr&k za8f40d*mjIhXi;yXz@^-{+4}@J`4OUH;^*|_{r1Xt})o>!~cg<;Fn#=8`}^u7$JMs zFEQ*(su!yVi*G% zxt6|1fhoy14Vp{B0pl$A#E+!kP7{37efXw(@Rj)RiLN!i^5+LyqmSf&>Gji=(*9KVxomiP-+ZSbM^#CB zD&;&G#@kOim~!Gv&t~;q>(p61-$k5A>=kq^eBCMVh5vaPzU(aplfvCKuY}vDUKZ~4 zReHIzp0c*|(4@LJ84u7~FkU#QrVLh=mW$G!Tl982nF-DP#%Gd;h)&1Ljy#%Lon zJ}Wmfy@vSv-O%|aY!ngjwwz}hcy=q#>ZnV6`oY<=cFf|8w_ot?C3267uZcdzvy@jp z@bPNwM3>0Vaq*l#9{Oj$+dq(lv;A&cW?|3v$42z>mj7PksrmCT@39phd5YW?^;!dg z>jn#7ar%q=|MR@|^1_3^m2DS?tRL@Q-l#5d7_h2IQxZ@j@&(EJ7XZ3Tyl%r zdWUw!pMrLzhnCRiq;IRxbKzWi{C?WswbU6s6JNB(3K?MDF7(kE#BRjUO%;c_k?~W% zV(5H=c_%Qd&Y$tGIq-I>_2UWX=!=y5>jyn+6~B6{pBcBD_c~7?$sE|V zJ4S9Z@+g^{xw*_G#q35LGqjF=Solrz(S%7xcYRPkzMF3*0N>|%x0$+Xi03)LHzE2f z{8Zqti}6ly1~AB%DxXw9u3hxlIK*5Yehgl;c9F6F(xSxFha zV_(d)Hm<>KzS<3Z$yyHr*+y%Y_{wj+2k*rT)&mUC^D*cUPa% z)G0m~=3afei8?tOWLpAxBJc;@@5>zfN4k zG3x#^*X7p7wqd&T2=zs_1l7CN@AK{SS+wXQ~FRrJL*SB z{jjw1kX?(k4m}DT1T>?yNc18;^lb^X#w?J?*%u{5VW#q)za z(>~R+D6f5i!mYci~a=_(8o{Q;MA7)th7MT}~Z(pSn25{Ts`1na^tX{X^dUk3Zn z3*Be2i=H$edh`3fVCTeAVx_gGLAJnW`St|45|-09^(*3}rnC?PfE_o!345btZG5ug zz2_n0Olv#ijM1_mZ6xls_2rOq0NdE>-PE&W1hL1fLPs`!72hs4D#aJ7o)+ph=&y>= zj_pr$={vzLzGU;(nAR!ULzEa{{;-95gnuu_IUF}l!`Gj|+9(`e1`gHdA45wA&`CrO zozh95ha14x#eCNaUXcl`-YI@7J+ucJ*~z@FCts~%7_w;~l0^eoa{XcJ;CN`@K5%cq zO&<*u_tJpYi+~0mK>yQxk&G`(>B|<)T9n{kaaQ_9 zXU9bt*YNCF6Ol2ikSBY;{rb~0C*EYtc=9F=ts8Fg!?Qs@oq99e2A^Hjb9IaB2v%7iHs3(5>KN5WZU1ef~C`cxIEavF1nW5XO0DvOM9 z8lBud>mv6=);D7(GWhx{*aykDZZXS0jXj>dD62P2*S8^JgcQR{jNg_Uuc+&OB}-m5 zr`S0pyR+VAoqG|2ui@|ITk!>RRb6+;sUXi*PWrhOUJT9wORI%($>g#}h*kr+SuvPz z^PTt>_1LkMoZFAF+fZq$6U6fdXQ`#IwWZE?s*|R4e0{iZvdaAs86{QOS0;hHnIX=b z|LO(IpPAsW6`Iw0dpLnUY`>38|O=6-OViek(af2e=yAmyy}oJTRui6rxrlowuubzCqK|7rDC#eiBp516%%SM=j7 zGRDs^erv*^vYo}w(YMbh9~b_kh7XJjzjYhPQ;SS>xZwhO=2W_2eA6n^HHf_uW1o4O zT()}uBW%H)eD@NuPrH%Z@VC0}l3Pm8;Aw6JbZ5xDtJoVe5nfT{#oL3+_%Z4@Mjcv5 zzb4ranJ_`@7I<*;WTS^pWS6ips??)zzK8sByI+>R+4e*;ik2RZ4RjEnjw8#p%HXZF&@zJdF678LW=J8$DUwP6b8R*04;yCz(aS3r)_?VS7k zT)5yF?SB?;@OWEM`VQ(;zv;^q&xZ1|&Cs{aw=)YG7w$D4FGK6tv+~tW(AQvWMVs}+ z(`wAL9#jZ#tQ8gDZYlbgDG9*WQwbRjd)zqj_e_3>xM(QwF`q?lX}btadbpnuDs-mK!t7y~8i(5UX#WUFl5gZ~SiBQ1D28*COlT>hD6`dE+6NIAh0gIULRI*p2DNiD0b zuCFwWn-#nWqKKmkP z)lPV_0d7b7#JSifvE6QG%swLB>-SFMtMpavE?ZPSwN>^i6PYYsBgLM(L>&2nvWZH3 z7>rNz<)*r#$&}e~lr2?xsH+yQ8q9bmkh>i1i-;rp-5DCan)?{vY@mOfP12ntCR1y! z;z&g+K~AT(6}8n7+I;YC_BO@Bd38-oR@deJeBDfRwVA*~&i%5m!oR8%%g(cw+d zAnSvbuRU9W$5#(x*Yo+QrPZ@In_fJ1`SP#(XYGX3;;-bjS}~Fw#V?s0o6F6PBYCfX z1a1Vcw}-*Y$=(_1mtOfz_#FB9OsR8RYm3&f&}E!q1>XtB@INAh80Nb8^DbZx#$0sI z8dRpaGK+Bxvkz~6rPJ7K!lddolNVrz*?xXYbPX|3(nB?mG!L1N*ucBS+rEG+*;9jg z6%$P63)RTb^OCH!8WYM{noH1zH;>WVsB=5@n4X^TqG^@!aP`DyWTp>2+ha6z0=*-z zBL6`XN#wtBhj=&sYo4r`_bX4wK5T9~!>#vlHDw}nR6geakoNBJQCD~V|M|=$Ap&yA z-GF8$pp~g>RRUzxZ6*ONEw0so)>^kr60{U-R~o7yluQ6EZMwhmk+fLomPrEE%=Y36 zQPOrz0IPQK+af{R`fZnhR&8Tj@KPBsZunO>_b^I2%K`+{Da!<^X|4?}>CRj4&d~Af!yTh}-1zpM)EEp5euKJIOZv&5f z+zok!W7g7c7(Jkc{m9^MV(sFF>e%9Vbtq)UIIDB!hbAP-%|)g_d+!8y^PT6-XWxk3 zYi4e0-tF@>8)M3{-;ix--mg&pIJmWUZ4AD*t$uL0<4ZN@2Yo!zBmBXjhl`gn{WR*i%xN#U`ZaWZ6dEt% z4iS&W+1oa~wfxV}v%lV_W!i7gD;lHRR`j!#9_^P!I45n)ZJN`Q!?PZN_BAI-)_*dy z1_Za(Kr*uiT9Nmyv_rmffpThe&nWycwH;Uzl+~S4hIMQ2h^3A>(K66{F?Yl+j;{z` zQ&ceB6h<~J4y_0RQ<6G`H&yL6^!fMJM5fFN&5zm=Ej51>eH_`+IId{^I@)c%c+Nl* z>kWE~tfTEsi^J7+50d&;S?V;MhdiTB^Tl%q*0NSPt2eTivWdkFE6nYa3z`E4xWX%> zn|Lr!o=>?Ibz@Dzd|+1m!=K~-NpIZqcl5>>zP$f8dgFQc`lXj04g`i8#fQ+}@FQ5g zQMzY_C#OD0cl32n={BXG)p-u=VFJgJ1y{)z!n$%apR^;~j~9KgZsn(w&8>Q8QBS&L zcHNnoy2yRM?*FJ)N-vZ?>FbeC)4tC2+ebd#nfhdf+D4yj_&fUK9_n_C(Y+o&IOXHl z8r59r{>nG`=#G(^fA;QXLKloAnTtn*o^CE%`p>t33uBJeVJAB9Jmp+ngpA!|_o0@i zE}$-Tc9odY{mp@rd93y84|8YKv-sXsPP%MH2TtvwtaN4vU9pvYlB^R~`$RjCRoZ)) zz{dFob#&%g2eydtc!aYKcT!KkRWE^$3xB7(Q1}0aOth7{r`CauDIKytjKL)h)w7?9 zWBYRdZ^GF7hXhG zHkDh?I-6rS2bO!d;c>?s;N7R{UJ{F*Sr=NYI;~E%Io^?7XYu>%?0EN#I%QrR(XpqC zjKrTM14SRj@c4@R;qlOiXj^owJ8=@&VUi0q*ppMsuDUw}{>??$uEDaIhILO~-7>}S z8&1xec`Gsm-);Ra%0F5ai?-i=P60gd`X`uQc-^I~tf$)od2Jo&=hE*ECrtED?{H>c zAhfiBSj|=Jor$kS)@(89f5d$;>Y!O>j$Tgdq)4Z_!y z#FpaKvHJvv*5q@aA+Dm>4DTw;Iri>OJy%|U%KTFA?Rgl5sk^{sf-}MfX*YKBpBbFWHj7<|?m{`nR3E3T z{7P2ufS!)L`=MDDKj3?0pry;Rc#Go5?Y}W@$?QGI4bg$l&E7+O?Ba-QLOnag zv!hMtUgp^dg{cGle>RefJyn?cZ_y-YO2pyc?eyO`Gqw_bSzm{pCS2A5$F0l-y2vqv z_$i-)Z%_2lm*OaW?9JA>P~h+(!`?~Bm*IT{r}ip|&NgSpdjkK9#?O6*mhNQB%SWEv z7i3uMU7Er^8ul!8tP8lqz#0=Kw_O`;a zSg*&z3-FEczjHtK7Wg_c9y__Twm11JWB+#ya|TXuPPFG&_*%Q1mBl&5lN{RV`L*V` zB--)%>}c|@v!kA^Y{n$t;y1Q(@=<4H$4+OZLEmUSn>GVxp5RRWYSOfR@Ypvmc$&>S zAD=|B$)uCSM3TVr9boHtw031>u$Vj#><{XMiG|75eTN*f-Yei^mz(? z-(h6st^995wslc%A@{fba3(%}`lREc2!4{_YWwV1x)R*XroU}Pvxn;78~1RhOy9ozXdm+B2>-vk z4j&D;Oa#sTh1fvXOoBF;Z_RO>-#W|SBEDr~NQXE=-0~mbpX)vni%!Wco7plp_Szup z>F4jwnknBw9k9#(*|FlBfjsp#M07xWYA54Gve&@^)=p7ya)7zIJ_7aE>5Gr1|z+oH2+_RY0EW`}y3Kdl+XfnH8?Cd>)eDDdq7zn#FC zMox<_YRp04licR4>r@wTiBHZF{Q}eaU~vDH`=+)%$`}XHAq@C1jJ<+0wrjEDg^!of zQ-lxsTk~79Va-o%gFj1ueiyj&(Z{q`z5?I2d=m0)CxKHsU@*T$uGOB->g+%N#7vJK zFL!^5zg9f=A6Y+1)+YQP|ENh9F&>}h>#1X5$gIJbY$Ey#3`6I`9-X%YoTY0y<4kMw z^S|Z1AI2F2MwOHQ!2r84t>vu8rA^Oq-amVujv!YR#~OsD-&TK&Ilx*KoN4l4-=tsp zA@u&g_&yXeyYz0*hX+5M9mfx<-S0Avv5di^d+sTx9A|3Tv+gu^Iv2|7k>b4zs@;w9 zQ#ZxZ)%C-hFV{J|nXxs1yZ9RJi~6uxxoMVJ`A6Dh-&I8CoODvIG0$lej|5K>Yl_VA ztKpeP4h=7Ol01!E=}FMjf-y^XmxoGj7mAUbaLd>1j_+Vc_scIl%RnB4tW z7!wsv!q{Q|n>Z(SR_Sd#U&V9bNcP$P=DxqJl=q+e&#X>s;hSXP`zP*jlDt-ILOh^( zt$8LOzQHqWQ8&~TNIyY4&`7=bfu4&Oh~7H1fAd1K(!tivt>XJ4XbPR6XtL=&8(DKD zWj_YKo9$Uig_bXT0lw7_eWANR*OTnCY2XF9aD59r;0S9}YjGNI`Lvz*fb}R}!dd8E zHwTN_-l45))eo}eC1BOMlaKXv*7;|6{yJ;@(|ph796ir3Hre*Oo_+`6FDA%-H|8}O zEN@fa#+0|g@6%_oPr`>G_IF_TBYvN^;d}1_!+&S`7EfU9K4hjw-F$u@BJSX~Qw!d< zu|~JCMicPTE^zwoikP)cz6+m~T~a~c#%wF!MlPb|-R%7keI@qZ_;wp`aNhBZnfNhm zAFD6-&f|t}Xiw_D(w}(95q>xF`(12s*>6?Md2dZD{Z4Rl1ipzMGPX%@FASCpjX@9D z$Ny~H{3EzA*igbv3HLMz{u1DlpFBoRmH4Cmh8B!@tf09dQJy`gyO?LefiK9?b%MKT zBv(6GACmpz(b>8ta?X|u{g$)TtezQld!cLJh6;>T3<$dk-MNk!l44?Y#03-A2GVuL zaT7crZmQgmNZ^b#Vt5mwWn!zJ{Iutf(b_kBrm)VW1JTEVZPX=C#QM0Tdt2L?Sd(w( zz<&uZ*~$wRgq{j{ma$A^ZOEbKHr% zQyqhE20nhh&b`|J&vB?94xQ(Q=Ekd8mlHx8$h|Wa&ry%NLauOwnR*U6cs$!^%F5l7 z`2W<_t4r7~#d%vD_|cN<9QVEqA3`UrvSk;P+uV5D)`=_JKQoSm;H@gO=P20cW3O~y z=DGbn^-A|e|991u_U;OvA2Z1@uGR;?H<}aYxXQ=wsBqjybQsQSaQ|=$Z;=smfPp z;GSu}N9<#N-$Vj`mLX0}P`a9^k>0r*O zv2`%E{!+6Gy$t+1?gHRs?2#n@(Bz;w@Y93sTfQ5_$6|TEXX7S;{VsA5 z6UbV8eg&4!@+Y}b=uEoskxz;y%2S8!_uo5f-&>oqnbltBQq%iLX0F9wbVh5Ead$5D z>_2=umS-jk*IHe2FFr$HZj&t_c_sQ1{Huax`*ogRYp{%*p3+nW>mmdXHfB;AYcgF# zPNv`ImaP6h&Y6|!uR{D7e0cgRx~p{937-C1sk2%GliE&zH_6P&;88f=4=-G2`M=JW z_QvxO@S{28tQ*-+X^uo|tD^ti8F+0xPV$?v6VTl3z>iwk_uC*HTjNJYbO4WZg%Iu6 z#5{dEJmI@Gp0}6$wKB%fKAy;7+LV1LxhdGh|MWZ8&RHq># zHrTt5;A{O#W~|aBbQX{PD+c=q)(3e5z?7Snmt|7Z@H<+2!}H&5lpbeJNk z;)y>yl|QO;Ih~sl2j#yOKT)ov&rcpl&+q4~umJD1J}cof4lsV1vm#f2it|IQubF-7 z-~^r%G4L6WcPKtkoN7f5+vo7W0eAuYC8B*JzMuHLRgYU46TdH(o?_{pSQ6jj70Vg3 zmrpgacTO;f?-s@2zrbxcGjS4qKyy`rN-v*TJnRO+c5^LzI5|7vMr6$|@x$UP4LhNk z3E-CxReW_9FpcnA?<_y@EeBn^fij6alNKx?)~Uz89y=vN1&i58zR`X)S0chsw{eBkKdshDI^)nqryJSkt<^DFCI@YZ{48R809$?#U3_S z@|`)4^#nRh*~@p|SLEpj8_k?q?nJN8`swJhgQGYv61>E@gYCQINf_2&coc12_`C8L zej#j+p%>seM~rz$;|s?Ft~oZ#HMAlBJm;9Ezf9R1`e(Fpmg)7Yg25$m_(qsD^#b{+ z@biP3#}4eL{#L6q9TyKft-af;-BC7{xa5VC0>7aNj>#h;5|U68SSFHZN?W{PN&!^~dl7u*k{fpc@Hoc9uMg8_DLYtL`!G72ohz(*SHI)TTOsS} zb^4F1jQGN-d?=6CX`X)K@oMGc?Yfb2o%E~y>FReXJjL%X0S;#KUV3k`JeKaLz*m;< z!4l)0^xo_-`fJ`FpLpbS>i;93b@aixqqYy7H+%ZnicjJDLzMl$8{0IM`M|Lir`Bc0 z7NX2rJ1(!!k#QBLG%mq9mNMJ0Gc{k$fy5U1YqI&~0Q1yr=gH&y8qa9z5IcfTa4!ZQ z#dVTJPNiglsOx@@B%mjhG)XS1rMrUG=cL^+0)m+`bh$laI_(VBY4-Y z&D8VwjHizX&jga~ewH%6CBF!w9}_*dA1!yEL+^MiaIss~9C3+dLOUfxLG&r@w@};u zTJv!1t+#}7jjn?)V5=r(N|)sWZL|`b)wpkvHF#5f$}TZreC=pq_l z2%E|PkGXETOB|Lq5(RPXWura5)A3HucWgA>Zvm6|3+?aHod4w-@0?-vW9}H|a@Jt` zbI^Dke2UM+3ryPbL6hqq$@l7tm+5^V&y$tyM;%u_uo>8@zsXu3Cgk}f6w~x=!b0}3 zD%ZRgyuO&xCF1Oty|o~g4vtlvOEIp(RMYCBt;q~6e3-KEuH%Wowk9*M$GEFK^9d>n>Vz(o6sOPHzv7*6N`kGKl%ZUs1qVBB$$fk{q;J_ONMQe}K*=yE%p*OMWBPz=3d4(0v@=V-kG5$g}UW7Mo~Cxlnqa z3;x1a2HiY#CfP>kW!lHDK0|9Ofo=5TX0Oj!=9$ABRV^^x&$O^-pEA->ZdjfBA@}tC_$@S>uJ`a=HP`{8m{hsbIQs<5d z_T2v|+=Y61+_b@B4kNn_P6GAqU zS8)VbD#=Aycu~GR1HY~pU#7SPjzP~D%+xBwuT$g)rhZ@0oT>dd)4`Fm~!KQr&+NbiFmrri~ z-is$U7cb1|7A>5DL-ToHqWfXs_y*6{24a|**fz{(@d9}N*JIP#JIyn#GnMyh+N2A9 znCH@$2hkaCV_uk>XUyuB`}lU_YcC?t(d3ZpK6d`X z3(c}cb>X%L(S?WRHdeELenQ*VKHL^}DxPble68b*X*Fi$6T|^zr|Vf5J3&4Me)on= zzTWrBuH}Ea0l4^Y{Y0Wuv$(+h8-C01aE*tDcdr@Pztb*IYwfweP-n5fPOl&&kk9y%3k zQZ|21WDs7ucRpw9tlIOS#-egBQb#tpUmkq=<+0gxJF$8-{#-2P6o zzvT}nZSD+se@M9AlqnZP5829ZjZb6nWz4sEwiEf-8LaD;u7|HB6+<>Dw~W}+W^y7n z%hw@2PWAzM&cU49>65+_l+&2+ri`aMdUJRu{}X&d$V|+P*L?i=bM{5vt>7a)*MIjS z?fCC+;~jW-s4iAw^|7Gz0r*=@jF<@PDZX4^k6&|NEdTLoq3m1oW zgY)}p4wz`oA#x!nnDl3;mpu<*a4opA=S{ib!q4%s-W*?R|DQI;kuz!Va>`_ARx}v- zuT0&VGwKSbFF}tlXVLG6ZQW7OdmeRjQ_pAWUUEiV!Ki+H9G%O1)`+F~WTwuPGwOiT z2x~0zQdWQCZGU<6mm6WMOvzmeuBX65sy@@E=_55TDrd;3#l+ z1bx`y|GRd*^>ueq#?B?{?bg+`>DS2#+D6@{sJDo6Z!5=*ar*Nq%5(B)A#)(AHHRGMNa-QtrzL$4(*lfnq2)8 zaMg3v^MPd3{nuzmYpxa;ZQuBiLRwFXH4lg%| zwH}H^@dM0Y-^^~!Nh|9wcJh-mwXU|%zkE<}=E8~LFUn`$a>%s;Z(-s@hILwr9v$Kt z@4C^GEIkO{4!VtGg!s687_ton>tDvmcgJ3P#aiJ@=nEcioPd20fajmV^X6br>ADbnG}o0_zs>T%ICp8iXCsMrTcBOh)|qq{57@Xde`rqnAuPeOLNZ6P!sfpT(NtBV*J(~HP++;=)CvN=UAhex@S|j8Jc}Tbc1b% z&#z6koA!-l!&?Nreq8Wba;p9p^;&^nG@|~@2hj6#l+!#+LXIf6(lGC;6X))kN@zI* z4G$7W??3s;SuyB3K`hRLt2o7-=$jLi75&Ep&Q`_G~WpIlx1>>(ts@iUVw?{4loRdd?&Y1N*;cU{!q|@7d=-C0Rq_WBB2YJLvPp z;G+llWN$cp5_dPB=tSSM>zRF?4!p;aeo2fv{N5*LIl$kL8Q(*UjhqU6D1}2|e0mxW zc^5;PALUq!-`ALN$F-;9d49KY)`oPKDYVf<8=@)ss3m)EgpT`JhpRGp(K%x)_$|K^ zx)^i#v+f|U-p1OKAJVRI>qGbQhI7HM?9ffj&$i5Z)SL+qlbN@5Ww~1`OmHX;Z0mtR zYv9&3xm$ltEU16+t-G;3XWoD=LaZfnL;kZ{7(M3d z+7cba$C<4az+YTs(j}MJn8hhRn~nF3Tte24=%q6lU$!3mBskL=yU)m4<^4EY*KcXku?&5w@@d(mIz$w(v)U7v@oOcZj(YESk^uKrHNheGVAZKeTCiv)8_CQ*uk_BTg(pJUfsR>#l|8v*ywjt4(*yT;a*{-}>;) zr=LRRT)KkqclE}Me-fOk-(Qpaa+o!8VnBd3%tC$V+l75Qv!k^~S+i&anyM!N47ycQxhrw1s zXG3NQP9Me}QTI*q!sILR`pJcl=cL-`OMY3_N{@WaTDPIGbtin9kglLOp5R62*j0k= zBp)nuQ{S+rWGiRDYM+Fy8&2RWK#rwyEc^*TKBa2e1y8yV0z_)&DJV*J~ zd}ZUq<9Xl?+hqxGwIh=ipUcLFbaBy6B7+a%LTf`~YGvLAm@m=8Sk^B4GMUey^>g6= zO1GF|YY&`BSAYE2@a9ho|M2Az`toA~fm9vszXH6XHTfMBKQ`dq-$x@KDd(qJT06m< z$=|~mBbr~u_Mqn~$uR@IwJu74Z6Rw_zs0XiPQvQ4_@#H1@)-oTG1eHm<1XfO#3nqK9^+%ZRu9 zmTwCHMj~V3E8^S9%Rh&?ApbH(h{_XoR_rEgk7-NwAueQ5*zlm|YMXca0;{Ecqlc#VnNj~3UVqW{0n;Y<>s_kM^ z+=gF1-9a6nwof}-wfQPyAKqP>&vW;Z@?AQ+gyYhbS$y}2rJ@<#(>W`ao@D*3lTwcX zC-K$@_t_66rpNA{O@Hc3=Z-4ZdF0qtTR*ML%+VL^SVrtpU&i=)p6KZ#z#YfN622Ocb5$mWE$8Vfr|3IN5396e z<9-Tw#(e6U;o%eeMx*)^B-IsJ`oPdS4upNvhS_x?Z%G5x8cbdN4QgHh#lC;>Uxd$j1(vB@NJ-_^fzrUx?@I zJJ*@PJJ8+w;IAL2uF4y}eR*>}{IDt=~}Ria6}`kS^Q-&WEv8I>_s2rC)UE zD(zDc|EMvmUXu=C%=&WKLi2MjoYe|_0M9|$H3{(=OsRDzd2=*1B%)Onj6GVuWul8&+ZHSOoVIk=W9z=lhwKug2O z><-Ei-$;jnsUjF00`4vB5lHQ)OgsAM*Z8i2cYKxa>==yXi6@V}JkU;L%BL*8OH&ce z?^$No4*0v~^j3b$?=+R?3GQpZbCl_kelGgf{H$j@T1(Qo6i zq<4ITdcw(Ja3cDjLcJ+Y8R_1Mdih>kOp(>!?}6V6U%?esClu!nQ&&29{)(m(O|0<` z@vg!dHMC>Gz2&b9chud9EY;qOB7SR(rTkW#|G>9muzIHW>mJJA_?FIDLPzJ>4e*t| zKwzkgdG0td3{OcM{24kF`OZ3HJADDLsZEt>ARk6N*a2TBkXOpD>1-mV9?W(9923Rh z-h}50*RPTv-t)$A&mm%WZ}2<$5yiQ=2amoblXApsjOSxM!h7+`H%hl{(fo+UwP#Cp zG!D_^nRO0j>O2d~?IrD7G`{C~rkJ8&Qa!=*X=vgXJcqX)f3xsgTku_F}D)A2v4?&aW0G4mtvhC`H-j=U2(lz(nE zboN1f!q>&_V!U>5NR~Yihek%$m8ZMQuP|cAm8SmlpG-S^u1c~^>+nhl& zW{|PPp*NMeN@c*g%AQsRo5wG6CGW20BO6S8dGu7A`Z@N+44!MezCP*Mh@LKaK6sXX ztMZrGeGa`g_T|ymslE9roujXOYmIjm{%Vc4!nRwUdJP#J8f$hz{HgPKwtXG?V;8y{ z@#Zl33|bE{`Z*8U)_5jTrf`huVO?TpmFeE~gGuHq!GGzK7iD;Z^h@b~;^E2Zv2+vi zBtz+qyg7Gjg29Z0maq#t( zI-K{phw=FJmS@#bZsLDYhVzC~RmkmafpaY1mEEGc3FKTHUV9Ljm3KG=+*-wir{RegB|JJ@EaJB19yL1=twf20! zy6@l6+-v?c_f~I&#=mFVDoib-ErV>A%`EyCe-N%$@?5&yAZy)wR+4%e+V8}tP@6Dr z4E?nRyJ-(=TscFM$@(9L7x?dvFo)T>uwTox8GufXqStJ&Fi5}i;|`t;odYkqhnR04 zcJulTbMEe-o!kkr?(OKw$Sv#J5gwXYYtmur7_)pczW)f@ASKx29;9VC$5_WIBi&WLDj$E6^QZP0N#|Bf zxB^?SEw8(4)2QwpTl2fW&mFPjX?kKL_rTcsc)g_O>);x$7k^MlMA;eaAKB2{xY`2eI4YPiI2j|cXejock({K`#Rot z@?N&Y33ApIe-|uQF>dK-ukfrLnw8&KzL(07nb=7`3yoPeR(mSo)uun(CjU$=?>cw~ z-7dT6)Vsb_~F*F$jJi_CkCwKK!j`z%RISfKg*xdj{+po8*_yP?s(T z?bRn)f9!|fyqjn8{bj>_%_-QzZF)BwxVwP61-M7vRoZtt12UV2wB|e7a+$w8=5JK@ z_qpF^8+}MFNoV^$zopYie;8SZzpyri&JuoPw&pI_4L<5M_D8_I&YMZjWA5fLckBf? zl09~OG#YmfzPQfJ`@PxY=e@@NwXCs=CS#0Uy3Puoe~bA;C!MG{vUs2`&EKo+v9SJA z=I>?R+4y|Z%%%$mEAca`>Cwr;WupT2T8HGh)n zvQwld-cK%}hz=~(BalAkTxI%yty z7UiM8i8^~~(@gkjDEO?orEF_SzDbXPC;p_dbgSiE$Z5$u-I;qO^^%;Sa3lPtnfG^& z#{L5apJsfU)Yml|Xnzy1N%n?U&)V9&rgUp#z}fEvowgF%vU!~3nI`C8c87d^;>qIS z;)(L{NSDjbS2)hu(|*2!a%059-r|}32O~0XWUqhhUY^ICPPV_hV z=`HV+&J)XZ@5tzPA$;I^hyVH*a%^K=Y@8d8<+zLe_kLa8+4rG<8}83>r1rhW{22L8Iy+)?ayUFYSG`}E=Kc#`X)k8cpW zPGXO0tt#gCCT;cX4Jx*M>@d0UKLSTDR(dv$e=eN-7rtE-|8`D#3uThbr{)0K96AF1 zh*$ok&f}~9mT5yd?q{~4`d{aL{M+Pi!B<-Igwrx)Ap22spf}!2R(yjpFM!ilbgh8h z?@(&_vGrxo@8yjUky@jmr!q)e5FK?y~r`(hC#dEwdI~o7SME;A0gpZhFBU5yqR!K^J zWXWmKifq&l@UQ3N@f~-Lzl!s*?Rm&4v z8Y?5^6Q^uCW^r=5-s|trl-{p-5FgZD1>tUAt#DYJdJ)_CQtBSh;GjRKyKhe0_Y^sg z_u>;zp>gyRnTHsxmzQ?HS^PY|C! z8VI!Q20yvjz6;6C>JqH@mAWnowk;%<`3rPUt*0#U(DmP-sJ9IZ$`B(a@e={`-=tu(RT zg*wNae&>TzOHc93T=Vqu``BZ&KSX`L*$-Nn`d4T%Mj1UHWX?tue3Or2^dtP) zdnfwe@V7FkD0pU&FqH|9V?`J4e03b~D=zcS#Ab=m@p8+RM}osvU7 zwi)9#jGH|Wpv}qDIdd#3XD%7zzD-V<$7@ICaFh4~Jon3;W3err)Gl)54Q+@=2G2F^ z!5lLN86IhZcH}#0LciC!5>0pLjQc732Z?o@MY#&jC4six5bJAf&G6=RwA+*%=jNc> zyo3)Yd2j7B=`icYOyY+8J^OT!1&mn)WK6c@g3Te;fMdglK`={-K(;@8~#Gu{Q0HPx4#vsJVUg4V6EAZof~xR?3HGQJCVnDZIm;eUUIzn#e^Hc*B$Tne^*k+=!x zo2<|LH$1Dj-Ld=2Uj?3u+ljBh>ng5vmJRZaeOR9lGc@a+>nj#Mu9fYaZwFyO4b+&+=Pi+IA9u7BP_`o*m$sug7`%h&f>OIOtXKRBKcFfo2N7dlyBM z1l-siCP!ap1BF8&z%1L^Z`tfeIT515~0=9STIF>CUh zbJ^o|U^aWM&T^|LgI-Y;60CMEh{=G1$*2AUC;uNskGTn0hsRayF6Ny>*_u~5zl$}1 z-)!Px&Yl|!PKTeLxm)-it9JQbPG7_L({wh$8^C8+pQ6JsYgM^$yhQ#@G-Wk&Y@a~Yp;1HT*St5(lgkAlyzZskMYKs@BJ*E8!j<0td>#(93=Y#(2;%eWsC zk4EQ7a0ildqOe~M>_G|f?HBNoo`sJ~W#aji*=JnI9;=@cN02>#s*X7unU6NCY-8=Ac^Moo>L2emo~T7X%^A8H8PMRBKd3S>(H>{)bTIE%(cWzKSx9$nffgD! zwr;6`KBVKd@V$=jm>IRdk3Og2bJSVB@)x|f%F7cGudsG3Izt@V7q5^%K=E+h7uA5> zj~)?`oDG2=hup&#V(_5}rnmTz)2;i#N{URHvuT(8yZS8Wd`o>_jP8Q&ZJ3XscyGoI zzn}3X@YS3n9=~tAo4mrL3*V_tD@Ox;XDAFWIE??hgF8DEZwFUP!o-*3tYgi~>OAz+ z*kpH8PfR9MscJCb;rj?YW1E>Yv^BJK%Rni~c*ntp8!& zH+(?eMKgR%XQ;HFyk>xWs7n*XDz|ZVa}4}&ZvCZus4u^ZcsS>V?O#65q;DR+X5en@ zIK{KJbGC@^9-_>8a4&x(=NRk{U`N{g7SX6H-^|w%WIk?(REMil@;Ai81 zFvr612JgFQH@dH?t%L7o?4u;#lK0w|@u#2@vH9NUE|MX!r5jD{nhAm$CJ#f_D6AckIiM% zm{`~KM>FNUeOCCWDKC0c+n(-8{@a9YTl~FMt@!f=*Fx~7HRtOtp8aOe=ZFlBT6?e= z`$uxMnYr!i^3GcqY(J!ZXs4$G8k?SzbE5Us_&oiOcbK=g5b|=KQS8$null-|H8L99 z?1u;B($yY;Xz2vjca>wcmx8?%hLML~q30lgAQ94$W_!Tq~r_3UL zhiHp_IZryEeZW22fJtLKQ_n)LocKy`tj(9)ku=W?0LS^{D-Sb|Zvq$o{RKy$ImIgcw`57%BM8z<1FHdL-ob&c7tdcQi!*;ME-;pF9RQr~J5`!q~Bl~o;;?X>+}Gq8{H zjJJNob{VlLw5G1T3QY~2x{&)DI+;uH7nT1C@X)@Mdk$k;%enaIy)z22S6hx&tng%s zH?M&e;T2)p5FV&&_1@ui4rfn0-S5rTdQz+mUm846IvF;0ROj%=IWzDT*2qHEm|<-# zWR2l_ThNpji>_hKEF_;OS;BK-m<{N!%w5!r$?HBH;#|mA`f-JG?5k)CZT5=~Q?DN# z#gR_8ARd*yK6RRAst)fj=Y2o# z3wS@6o2m>2QVr#?Xl=|%HJ%rXR>lJn3*Vt!cL_e+cFz7(tiF=_mhJPK^4vu{S8lZ( z8#ro3f2o{6`$e=9q8-``$B40e?WI(&?%nGK!iVzQ8!~M+0&|=($3iC62+T(1fjJNl zq?k`~aEffbaQ-NFZl=x=n2?@_pT5kU&9mS7FkHl(f!BQIszv;eHQ9na7h)Z@0H4G2 zCUD!xn8RhU=px{n8p`p;SvJbOgtnfbt(L{eNn}mSa&o!IBWvO8|2SIeo)Gq(RxBmG~K@4oX1)9zBI zQn>%_7`KVB)7}9)hKD%2n)k|=s?+;Wfh!%~&L{XI|I5;90-6{8TK_a`?~|AjC!QX} zrv?uQus#Fu>jva^a*E@goP*4JfVe*82hoKpXlD_9Hh_2Ti;RjE;>=4c^wHGGS<5l< ze}ISij)WgS%iUf&r+Wf;UCTO^Pc`{Eu|2h!f!mJr>3p}VhPyT?8-Q-rZj5%+w%XCy z{*!Sb154G9@;g*ked+zF@n3V6yOVMsr(77^sqMeB4i1E`9PK_x*^g4TGN1V=AbvU4 zqw~Er@U#h>qw#L-K+TC!%PJ47Emt4m+ef=wsdFiHhWAZ4b=JM)mE||+d5<0&-n^XH z=gxh^`3!0&adOz^1pP0mZu+-;2pg4@1>jkiKLQW?(6{i^nF{8TV1z)A!a)yPN%X z@o~MkiZ<8fpK8{dE zxd0ku&C32<$l6Yb7gw{MdDe*S8@kR+6mMO)(JTv2#=p$-g_E6Sah2PEt|F9?K3K;Ykz*P&zQ2gh)HL{SCC9qIXmydQcpb8o_O(Y_Hr!+2=n(p?_@WaB-UrP@ z$s)tKeAzPXy;Tp}*so_RoXRW1hGH*G6R{!dUr>(6IpCiA>u((1T-}mCzms-nwQ!$B zOWFKKnrf|_d+c+y(f?Rl8(ofH{2}iA`!RR_{fN5&f4HhP`h%9*=)ZG6V2b5&!Gh zs~A&Js+<4W<-Gk&r_+~oOZk_fd2~u>if;p5SFna+@bQa)r6RM2Dp*7PoO_uVr+s(i z9@ZOoEimrEmJ271`>*t;=V!(%&h4(qtg#B#Si@L&`FV=p6{c7#r+CxFP2{^X zW@B<(&BYOXOqzG@|8g4|E2OcrOpX%|^hWje2!|%==Xz1kmg*?9~^Zen= z^Su?-4t%=dAm7N-hNFxG*%yDUqWTbc46}{|M{fp>IQ?^Xbb2|wI>33=qRn^)4$X&X zG|73?K8-ei+qjo8_PxS=rF7|{)F=2KQd#==X{L`5e8a#uEPll^IGD-v!&a+L$$NiX>$2K^_AY$- zw5gb&+EGkN^FUq+d}?H$sPx$|{bOH5JRh&})!{)e7JIfvSfhtr?toFkMXr*>nZZQ{_43#sryOzlrGwa=s+-`y z=5LU`8UoM(GAj%&<9Xl}{rL#xG!NE)6f{d5{Km{rY0U(k^{TrxJzZGs>6v^GqKyD! z@^hTL_!;^lxZX*B&>XqR*a!R<3_s!-{o7~yFWAGplmFoRwCBlBKbGe4Pk&7a$KRy> zo8Z7qFcTRIa02>5k>nCahuZ*p?* zO%~ze2y)f=tnSkeH5l1=D+xsPunB$ z~%4=Ty{kP=pNBYTeYxCNIE{anZ0-G6&UxNE25&<%$8I$&?tFIVkzisKIlyQ+e z!nj(Y!+>mOW1{Q0JI%>4(T0!C9VpB<@COs^V9lUQ%vi`-OxZZ#?9jGui-)YWh+o0y zyU<+y??iJyGs~2}6`ruJymqQtq1-CXhxCSQ9?Rti?bG;ZUkf9cD7Zh7ftxkItCDx( z@xsr`JQsfB^uZjTlAYOdbA6`#UiykdS8ISZ8~!*lb!8U(zArC(4(0pG#K*Xk%t`Tgq~nQbz9Wk2|fqf_>O_PPPi^@}F;{{p`CKf?E#vib3g`TkyfAdY^S zd~ESR933LAK{|UZT{#w3O9(^-G`8x|t^vjhd`W)|iPOcbOUI!k~ zLld+ieWsmfadc9R`A+mn(e9VgUq!#m(Np8-)KNSBk+u23H0Q-$MRTG(cnEO@_C-QF z{p6p8u(9QPJ;jf+Xdp}(%X`W3jYCHj@K5osT6|J>!B>abrzQR?Ut2%1kRzNIbJu9- zk2!^R7HAyOj}O7~lYB%svXMl~YS)WRc=Bw_pUENRqcS7%%X^o@^KpDm&#%bXgz#6d zJty_{tMG1oh|p9zkZJ35-h8?p`4`H^FK2JTlj0wRsrA*YGoHyu9J6p_Y)Ep+4YFy3%bpH}B_7T4T-P5do7+Oy^*Kvjy{dO#g zS2tMyCw>#=uHo*`3WLv6^5}JP?Kn;h6T}$5o7>NBABEzFRIQ zMsb+xk!KZt{;n^@F zvQTh{hYJ?1fn|b+KHBI*FsZG(c;@kLZ!P&eun}6?jy}5%9Y^w6u&fa*oVC+|KHCbN z#jVfUX@d{gvHaQMVT49(|HxqRBGHKW&~+IYmH-3evM@{m2f|YKhc-wqC5|6UU!~BO z+IW<@6{d8k6B@gda-uWQ*z_#io=IbU)X{kg+LOW>hmMO<@6c{P@u$12nvbaBsu_f8l(gE#u zWa0i8<^BDb**>t5JWcM9u={|WRNqdsvTvyq4RFt|WN0O0PNLHiwM6$SN&SU$q@@QZ z@nKZl;Vd)UzmsOqQ79O2YZ+%b@e*fL*_azRPh9c*5cR|P%0c z0Ja-q}D&X8(Oz>W?4vzH2hNd>JyCHh3SR zZLN*R;pem!G2H9EdDMwV^sJ9(f_L!e@DpPEUtXd!Hb-R7nRv+ z_zp1N#po*g`Mn#xLUcI<4g`nZ36^cZqMUo(G1`A|th!>ich{5lI6rOMDoOpfty6NU z&VAI;-lt;n!LYo^6oO@I? zzTugkOnQQMzvcN1#?rhWZHwT_0;jc{|wpg^T{hR z{dv6dbeTAfcj7nSW2_o~ALIWB&(6%*JCoNZg237#{?hfL0R_s{t7ljz;}1=1nf zm7O5CwJ%Y;SN_@IKfyOB(}*4^nUVvpr|?leZ88JP5M`>k!&r4+$kaWaspq$SRR57d zI_Gl!JHtI{Q#5xvF1(ym zLtFm*oZg-{_mW@YXY!Byya2sng*h%7S0A#o9PlC7!*fgAc5veF<%$zu`-RH0=6o8< z&P`N)`#bL&gC{esFNXet(6#1KdnG*kzBtt!C~Et|KiYPe3HEsA+-QFc4*rGEddJ=) zUV)!kJ%4gfQzC4{l4ERR)T+bs> z_qksdSiiJv7VU+;30yRwi(1;@{<~V@Lga^8zlCtboNb0y@m)BVwZdasme;=>lanwP7@^x&_oYQeX>-+}j_+vcR{ww95 zihri3peKo@fX9Qu^R0L^A^(hVKgU?CyZ{fgsDGSs>iOb{o}Q6lEnmuW?OE3vatyrm zRc9GG&w`F-$K6VO=_4N9aW?if#qK%itY750#y7~C{<7egyj<VW3W3`L3;7e9i6mWiH;d9u&0pzQ%V;rTeZP*ou1BFXt;t}u#LmuL7 z^!K9VHFrrTcz+wXkHbH}Vbwz3^_vs3)=!>1zj-wNPh%qNm#9`>uLtwwuZ;H7#!l?h zzx@$>uofh(fXFYimAu?&F#CI*&fyFSE1H0P%dX+H+#u|IXNdacJa6v>`nUpOSm0 z)=pl~!35;4=9y5F<|%31oB4esKHDg3 zbtgRU=3f=KS3q0%ejzMnAmHkC{a$^*DId9dP;x!5n$9FHLdeG zw9`x*?SU(o#E3!ZSy=t-p5p#v=ACrw5N%1{-&RO|9(J(KyAqCqOB<`}fP2y8IRi~& zWA{y6yr?>7s;Qo`xT!jbj<+umnAd`zp1sfu#Fu4T$R3m}^7eQe_gnUQaFewO4_6^O zX;UyT-iN}Ai`~f?81&!5#@Z|8nRxvk*`3UJICQT267_uEDgEJD-ie;jZ|&U*@(vumEynh#Mf$#eM)4wF|U{+d8fk1?P6le+fNz zH3i%{d&jYK?qKQ{JX0JX{?Tg&I$m(xzALaNSHxE&3!Rnmi}4}pcPYQmn={ZnuEqO5 ziT{h6S0pQ(m1=hb<4|6vA=b}5W~t`S#dhl+>7Pv?w&$3ch0tNgKF4hyRcQC_nAhwc z5BB3v5)avEZV9^I#SeQF+86z5Tz8=V=zixIW8F!v=KK@G_8t@I$HGIur7O=j^Kan7 zwzK{m_v^H?J%jgbT{maW$K?B|Pe4B|@5S@ByfR$6k9iqn{sRZ@J6Oy6KwMg@z9sJ@ON_v{v%qn zu+1%Vn}Ch6ofe}>JTNC6=x;k1xcQOS)W4CQOC9*kE?e(dnX8;k!LDzgf5#ca5{+AM zoDsA6G|!v(oX*?5IE-jhYff}~0{J7l75$2C|=Np)5=nqISUjJvXaOm{rOURCnM;txB~5IBuL;zZYTzIDUB zlpr?dI+3v@cJ?o+vmc_>8IYAiaxBU`7@dh_=&`Z~gi%-HuaR~n0tqcVKH z(p~Yd+Hq>UVRM#yFXIfMa|m~ecgBC>MCId}0WC?NQXY4h~|R z*R<0-6T5{w;qehZfJ}J;z2&ee{1Y^^Ks^00WwQB&uOsiET1n zg}cDU*!yo~M|8rE(S=xJoYTTRF-c-5x(`Not66&sJ}$pe0Y3O7xd0*jbmAHEW0?EL zxF6#=Hpj%4JZD*ljSm-D-s9`!9{nD$_$UPjvRk*;u)mYvf3W?OM?8I9Jh?RWS9CGM z_}P3qQM!lh3G92D7p?K4pl|#Qb>A92*6#N&gMMX86f>4{cqd$R0PoSyG8SUBgXmJo z_=sSZoHL8gcFTeJeEf(%y4jl#V`9CV7G?a7)N!zv1U21FX+p+rumwAw};Hws& z`+GJ`4(0LfOw>GTUeu?x$=GkQ0@>KZeXWWI??Fb0=Y$gHNA)|rdrmrZh!~HxFGqYJ ze|!l#E8!!Ya=fQUM*x=H^^2ZfUFh z7*k>^{dY0+OTDWF?;-T~pYgpHSftxYf4lT@)Bb4YnbvJXFwk}p&u-+|0DBKouc&zLyWh3y2tbS$8)|IvhkEogzgkJ zdG0F3AIF)V<>(G|C%k+D=@gPF;!n+be|DBGb(DRx>?!*K&qF*9ndCuY%AUS-$0b(3 zG2$(T-@YD|yl_O1N?zc`FUXX?gx}~+wtWBjF0p6t_jUXxc4D6oPIZYvd%xrSCI)1m zADiOFiS5|m6F%g|(Xs6B&@`7AwfFm>2=~OJvvmgCcs;Qrt?88M?E-JoEk#rDx-ss* zMTJM+{mAsj9+Uotud9=NnFk%u#(I#o4{d2);$OPJbtzxW7<*o;bf05xrMEx6_k34! zP5QbCVT*%n$$@_AS)Tt!fx7}-8)pv^@tDYuv8AZjqkTxL#+&vIzJcK(6Po3o_ZQhY9?uKj66H-Y_O6PVW*n=+JhO{_N$JtTa|y7JsutoKP|&nWJi`;*C? zS7Symoz40jHOKUl>oso&`Ch?WOmA&0-1b5+Cz2a8y$g+FbF~6x#NUu<3pvB$DihqF zbLqA%kDHvf^^0$@R9Bza5mPo+Hq-}Xy2cBo%o@6pzP>Q&U#vM>)dIL z=fu*zXQP{+9qZi_2<$gz^gLi{!+$WeI`Qo-x1FW4juHiNC)QiIW$nSHm9^dXhMp*Y zDR@ETfnedZ+j3*Q%R-mA%g-hL3oaK=i}kMO{l9!V)_WVdC=C<2pRo4h(_RctjeK#& zC#F4613mr&??Thv?O!#$IfH!#4`3hPOC09``1Au?W4$|XpFF?9$yxfW89lnWZbn=4 z-_{J=wYYgV8^RV`fWI>TpUdWlv48tRCX)A+G4r2TT{`KoF-xb7Hw!j6rSsk@nLFmL z#nX4^Z(Vor%iNc8A$!^K@drNm)mZO*Cx7&V&2`b{%BRXJiHki5&)>Z*)?13s_0-bE z)!gwtFMryv%L|>tF{SZDJ!cb5>KR?w)>mehJ;+{>KJtYYGtLJ$ZYbYj^5!pSZrd3a&HdyHZVH&9chQNy z11--bE_Q(L=92mIo-n2J3?J^=lP|MZy7cS836Z1gBf_%TvV=HN#8oS2&z&!3-4qP#Mz;L!guqWzxE}h_s(}fW#yw^xw3S0w7x3;`;1!IchzS=j z`Lcymc=Kslcq@aJ%UX&p-nt{A<>Gly5Yz90o?ii1Z_@T*Q@*qd8hM#JulvZ)e%a)W z`9&T3?V-!t=;zqRd&||&gxgjOObASJ?*N88bZ3oYMpl1GXtJ38de-Dk>VqE7x={V) z&3mF~?wGth(|a{-{U&G4KwltdY3Y&`7GB|@=d=HZv^S5BqRJZntExLmPghnt8%ZST zfJjhf&-C#~FX$Q`Jr4HuL^I?;riCuBvZ~bB?D0F$BPW?>R%)?9Lrv3XXc@s{N?P%HE%tZ^{^*W@__WxQ zH`_OMqpGhjAGHnCy{N@ zJEBiV_0Xjqw%Fjd9A(bg(656&cA&dOXV2hXXjw-;kD*sOuoa?P6t17y;yh73CUs|0 zHin<*q~;6n%o2U{2r+|CD9>6=#+OSttIwp>rDtd*{h#@7ZDO3M?+EPC|G45~$n{L{ zmmHsyKCSLp>Q%*ZAEmw3-oMkIR(rCp+uhzJTcvNGg6}8v={4Gxc4aJQGOn?VtMxv~ zBYl!}q~!E#i$zBYJ%kpfo@Kwmf6}uBrX4}gLMKzt+M{~bVd~jGK__Y3q%ZGw({=`D z!er&46Z7~kF7I2?uPYWE`ikf*ctUK=Uy+5!c-N6Siu<%;(S2#?UD2i6c`ohASancN zbkd`mqd06nPy4}hsdMlb%F7r^+dbQn@_gIvXWRdR=a&3lSL{HaicJ?8P9`4Gp=5ay zpkqrqYh3Wa&-p}-Kd2?dPUZ;iv5RtDd+o_OW8swg__2Bs>r=6}Sw7ahyRI>5e_;=u zqM%cf(J9I3lw9<30eg1D7Kt4i4PEBl72lc}gFVAGToSPjqT7=rw!yS5*aorTEfL-R zH}b7knzrFu{SxSyiO(duJz8JjpRp~#e=1TxnfijmU)X;XwJlOVjrtaR%a)29N8yWY za!CD%UHS|AQM+Le+4{a+8Fb{$?k=&_(!d`0>+=epPVW5NE+}&e97;BXgxAC67us*N?y9yzWx` z?DttyEB!BT>)&`UesL3io%r{^=010Xea?SxVBK)EeU99F^O=YJ7cq9|{gTNi$+VUVTh}Xb6;T|U@B_~V$Jz*v8^CcH z_$la`=0y&0jHzIs>IA;4=*j)gHs@E!ptL2twqCJS>^{fpD?UOh=lKf!P%+C?U8RU5Tlr&fO~_Y1a;bo$%Dr9LE03#J7!Znd<4yT%zJk5nAgL(D0;=K z^Ji|2;+v1JbWRU^KLFo5BlsR$6c4^}6&m<9D<0>E=yt*RYJ3OD?NFFEALYuKgWwrw z;@QkxP4s(%V&|E?*p7V0fLAT+O1bns3U_LrMJLXbHRo_br`@xrZH)o;89H%}!fxh= zUiuQxPk2N4BHD%zALqyX;ADPk@q^RkhpB1Ggk!(0I&dscsdK1tL7AKCjIZ!R0_`Q< zFrD#BIMZfRwlcxfgC1A9ZJrf^6XR$6A(1wn75SXq@F70RHfYH{p9$*|_^$aE_~MFQ z?4-?)lo)*`?aLgodF7p1!uQS7<{xNQvg>ximyb=F2~6i1n9S+TxkZ#`Y`|O&%wwic zEqv{$&|Cu3;raeMa;kuN44+bb{i`_x;3Is>@9`rag|A2VQYL(af9b@ZY)1aCDmrIR zbKdT(N0hi=hl3yc%}rSV&pnf*@7;K`1LNm-LHd5ol&`poqbY(%oCiH(?!WSzd|>hE z^6g5UjCId(&ZoS{!w<)K)|qj3P+nxB2|f-hPUPNEF{16t*60}LGndb!epKdd@JWO4 z=OR0FQB2-6^)#}>_rpy+Q3}143$5>iH!BK!s1z&2Ebe05cOxhA{?;CNuc%hxO~;w> zSi)Y_pW;0G49?|^L(pNwAEYgNMLRmu;&X?^=k#?HZHf#!+{twtxyIoK z>3P+DbTTsQgf7lvbYaR^^WMR|qZoahGL!p9QkC&CHtT!Pr5!)`$GWW+-lNW(>9pUx z2pwnYR=ZRB#r~2B9mIr|L+^4EhNUM2=5M)|agbP+61htJE|>UL?jlD)ZmnLRPQ#|& zBI^;7Bly$&Db~@=Sbj9dFW<$JnAW$%%;qXyzN2Id!6T=K(QXDg57^z-sW)>z0JfFf z8rh4`T1p&F;I{EDmz*8hXP7Cu_EX8#k750Tz1gzvkxRa+_|S5FRO(WvfO0B*DfQ(A z%WhLzS-acUnC=~>ZdW<0!fSrdq?GmT6VliAqQX3K*7B(L^K+V4%(cR@a8Y4tM^WLl z{Y8cD%acnMPgPp;N)=C8XHnr|U~n!4a|hK!j97evUc`-CImd$BJHn5093@}x@SW?ks>#Ru zeY;wBm^|~}_flBDlkcBcIVgu@?U-*iNgO^_$=D-#V;M@UE_6Go<%q8v6x!8mykkx& zeIEe5ZPnHOrStQ*`tUuv=+pYK%I7B{@D8hrClCB2r{2oBV*fF@0bb^k(PyRL^TEZe zZvtm7ZKiTI?p)y9MO$*_h>ZXDD(93DuZca#vi`GPOFHf)R<}e+3O3LF&9JFFKM|wUjf6+U_u5z?c^f$% z$s>|At!Ke^V+CjC%l-*qBzZ3g{)V=v^}uhvqRg)T`uho9##6?(f_LOQ4Uv0^hm&(> z^4T)}pUG8^oYj%fdaC68GX7?s_F|`UX06kbvzImrPe?3W#rKkUaVq>F>o)cI?OFA2 z=cLFQfI7?Dx}NWaRU-@XjfpSmyPP%5yz>5<+iyQ0>*`ICGo}phnmZdF1aT-d`iw)N2mnbbhq)%opQiOgDtPj9 zKD)?bmRWZb@1>sLzg_dTN(?v`-{MQxs;ov}H;m&)eQEO+V8ExIpU>BM-PB=H-^vwL zLyve^dx75uohxVAsQb!Ol^>j+CF{^~#=1%!IY-Of(@Ec!pkL$+pLZ`(>OZno_u~D2 zcxS(?F)bmNW_Y~vxsS6P20){JzdftO$6TUZ(SmODLUW#yGCWWDybWGZS)X!$mRHvZ zjm`gi`F{cPwralN2!E0v`gE!2bwxcs03QVUAAbb6c`K{eHuR;>-h#&uM`)ueoTczT>-|mY z^8vSG`()9%Wyq4sxAM&U%klHDw@RkBRpEW^XwI)ut9u>3xH?OC)5pBf_pj!F)Dv5# z^z)kbYdbdKu*)hV<)y3=x!N4w)^ghFr`Yu2_zWM@{xW2Jy%JNgod4unwAS)od~Ao@ zgNxj+_gZ=Uq89|-0N~kyC-0_E_EG33d!^jozW76G(1gi2Su(V3)BmytFKbaBV>d*W zj)Eg|pjO7%PwvM3(7)vzWHt}|9tT~#;OpgmY>JX{3>Zi7DHzW=#7QP>mo?ST&Z<*J zm&v}x$Mrvjwx2*_q3t&CXe1{d z8^HH>So;xuz_&>r2cFKFYmnn{C=pkE%GkcSE0drw=$@VcDAX?=Xa&7pZpo`n7{Rsy!>c?o6w_E zUd`RQ7d#|~pZ%7t!-3CPkCUUY6rrVA$I2miatHe^B6>Ja#`(3}t>_kXph7NHlBtJZ zq`f@$3N&6od-!v&!JE>q(9Fu|v2?MtZRMSI=O>5_6MZas3D#a5Ep+)HYmY-3&&1Zx zWnYZs>-~*(UGTWr?5IB%%{j30x~#n>C#ip!@8U^pyWkwf*P@^78%Yg`ewSE7F0{J~*xQ9aMk|BI4t-|AZd@AGiM7IpfyUBkPnozecZ!9&#&oU3AfK=54!yp~ibLS2kUA zA7|g1Iz|&Z z#*Sc%6~z|3Rd@p&qIoc-jDz6gja++<2RTmWIXW^X%vU_+tZn=F?StOP(GbqbXsskx zS4lipXi%o%yKt>>qE`|vn^4KKO6T^;s}hygANx=}VVN-S*G!ne+6s(nfzh8>B`~Dj zA|=v(|L*pEJQG?k`Pufn_gqW+Vz=|ymm%^pu|Y|x>E&(35A?_x1VVFx@up_eYp~UQ zO*%FEOMBsSk^frSJ~Sx(ZJ{q+{LFq*t~cfQW>9Ns`z677;B}IB()T6#R{y0f!7qt& zl4tpQ@RajPs(D|UZ_y;WmmslDt>8;+UUJ2@q!Q1sk3Dq>{&ee(L?xvhTcW`e zQl^}>WcT(<&AfcZGk63aY7Ju{u#lA@hw(qu(guHhgbu0rr0OK4fbSuBqB`Y=>s}q! z91$F=;*^vH;Prtm+as_9=H>eK$)bhcj+-%sOQ@ ziwDY}o#eItkv_kM?0-vc&ifHv)zkMqz})08d^A1Xl9O%t1%E+CrovY$u?2xG<6{S| zmvY-iSbKBTye5BHI^(0u9!SfMh;JhLx0LI*Caj+4sQmCu3*oo_q0Kz=yrI<4-&Li4 z75vthK1;tvCMx%H_7M8(esU6IF6E|t12pbR-2V2O*%zN`;rg}s8|^3&xShb=#u~(I`YbTbys-U4f|8?F16+Jlb8eH*RdlODzt9i8ek!Zo z=LZNpizhAFAxFpaHGC?5egm*efi3gq4KB%7w)O-BHS%!rnVYUcKa!U$xk^)HEdw3B z5xLih*+4!funnoMAp8v*-d@7@dI=Owo7no2M^)L?TpJa#Oft3>`v=ltM$EI8FnD!aHX6?PzLX)Il;3)QX13r5+FZ4?2(=;4kP3#l2 z>8Afqv(M6BY+gwEDr4qDPK9@$q|a9Fl(nBj`q4c;s+o5#Iz#fVMW+k{el=%)utytu z%XjJ}pFA}*7CxztJvCHlQ^WkEiT#w(cb6kW&rK0uOy(65r^xVJ!ZXeUGWV(#;47|1 zmmKKDx7U7W=@QXFmHA3a3wlxL_#nE-s@prX1e}FO+F8?6@*4c2d#hQ)p^tTgU98W1 zb^CoXx03P~@3=U)96Gm~G#6c#8fxHP@izEN+r^j4_@UlmP7~dOkp~~k{=FaD8Tl@a z$O?4EuBo2S23qH?Mb5l3>Cru=J09I+w$U>W**fF$Bl;n_B|3(3&QvLWoaj~3oQh?9 zWUNHjxwj8C^_#^f?T;3*9u@sB_BX2gqvIzwz}#Dp?nkaXY1nxg!}YAkof7?MM;Aj2 z0+Hr^R-t!qY;!ewPW+Bs(R26?)#y37m;J2Gj3IF$vwt!Ve+7K=Xa~8&SF?PnWjr(6 zr(X&>ko?eA*)uA3?f0>Y*;Xlb4toPnS$rSeKM@%>PNBmTA6!e_C^f@hvh(Ywfx|6WV4C?=lQCAL>f53XnZaS8odO-|i5*6IrQ z-@x-S_)F%&GB5mqKJm?D`eJ>bOksQkZ^0oNTRUHP=lL4{_H8c(N^e#QqJ2~p`kKWz zD*9lT`>+NNUUEL|ajui#qn!~RASZdRZ&7TW*q9B>O_qt=ko#@U1&9U7d{|K|nyWGg zz$=drKKbS+&-( zf!%OK@4&O3rf1Bv%S}EzU&fvJpR_0A{|s{+nfuem954N^{Bv~{a$?GGwEbLYb{PH4 zT*Z`M4PRMobP?ajjLy}6EYp@fQav&U65ag^^a-(V?Fxt`Tt&zwwN;1%`c{Hgib@Do2-YVGRK-p zAH3KG%WrU*9hqF-x(iET$8{d7)yox}uq$Jm+Y;78~2 z(fRnxz>;~q%q7kG5nrzuJbU_mKd!g^7wX}&{HWfK`fBQ^zXXhj1pS5@fO_`;Sastf5@DUl5JYT7H@E+q?+>k*Aj;c0_nV<_zZk5$KzV zFD<^I@Xj;9zMi(fq)pjtl?H6f{}O*7JtT8Hk>~B?BFMZ)o{2o1#dGnynGb{tp}l;c z^$7B8#SdhiBr9}`=U!w_^nO&XqH}`ixnQf1{ln19@-fmwGox;GiJnI zi`}*X<3n&FE`eN_XI1i?b1IQx%dYNtRPsTh`(vM_eeoBOtARS= z;YHoF4Kl79(61sp;!}Pkc!Hl9D?x9f^Cn1nDdXFypYbmxW{LctDc6QRRuqfZqVzKL z8hY-hePBN@yo;~CSKzu2Iq;7)&p3P!FS5y*^NfM`g$n+&tkt;8efrUM*V7N7O;4Z7 z@_Bmt$=04@X*YUK=rq=@pr5A!omtAc7{6;D63l%OyN9jEo-^LA&?v@2#xyN?&06tc znlu-FS4K!;bPb$MDL(U;5xvi3_;JHkAsh)D4NA>a_cqi>E#24We`qAwlMdt?fXMECbe^Piv zd_9TRjDat#*qP;zMfuCpotCUy@d4_<3n$@Kk$u)6uzjj0L)QCPOPNbtpyf)nPUK8% zjM$X6Chx-k6+4WN@4PRZ!~o27v&#MJ zWv>1Me>*DAGWHf7GDFM3fi<;^O8P2iBQW;8zBGB+Jmc2dvx4vRDq|#gHGoqMcqmVG z`$!UN79Z({@@errJ|p}4`EEM?Rn+&!&)y%U6|(*#-!9iBDhZJK(V?~6_N z9y-aGH_(>gT8W*Lc>p#aIIht3$Uq)zAMf%^`e50FZu&*fD3W=t&~hVvFmZ&IbNS&n z?(YphH$c~FcsE^S8(KzbxD?o5;UfuO>caOCdM*QJeD;(^=vmh8Ht}r|da{179XzBh z*?ag6v49EqO@gcNg4mp>eDfW_@gmD|&Ixi%%(Z%d5ocx;Q77Uz)`@-wmO2LE7^;lsfV}7feH+O;_Ud zZQmu$k#(_JCDuHrw|oFGYem<~7WFD|-;#5Yx}EdrM_hBjUE2F1bua(V8+Cy7&0ca} zF3%3?1a(`3)uq=fUtzu8_hyrQo%gv%{AI-^O!!_Ko>0cg|?WR`l)kMX@E# z)3Pp-cBRd;IcLVk8Nj07WIj~}Zo|Q|06fdUS^m$WJ%J;1>#mi790ac!?Fp%Jt+{d8Gl*VJK`OhM1M!L=OQkFH;!KsT}T5<8jl zoi^uJ#5|@fvdtL{PEyX7tn}&!4Tz=di?J`Y$wdp%gA>?4P$9W&1RMcbT5>66)3ywYm~ZG9ro-{m=UGM_t?UekCk`_j)&^$sfs z?~pyK*A!KoQ$yWm=+~6V_e6Mql=0uswH6z!T(0!0&2yXI9Gt>h#5I%^UO1bxd}yPt zInQe>J2ZWML!M$tSy|^gIohvj$AwQ|#R;S9HBmqFrA_Vd zYgB)V??G8>4IEu2c_bnaXCXs}&2!F_!fN`)xnqTMIe)jF^M@OV9rJCuLe8Hu{iX(d zsO^;LIkyx%o7ji>pWxU`{X+X1=MJ+D`?GKccf)C*%n#vo+ux{;EyeaXAcMrm@Si1~ zXZdx~ubCc8*NUF4Cq7}t+cv>y2V62H`en-@HVM`SF8Ptdh~;S+OAFBQDZ z?_#YKJU0MaaFafm{&@Ylb>xxXPn@bSPv{Q5Ug3wK7Oql;oTB?1e}r$N;M*gnA@uZd z7I&1Mzl85}84J$jHt~g)f-iITLO17L3C?q;qPGtBGI5?C!L^a~MibZXIP)li>lyrK zom+RCJj;jPN!5}Y$2oD}553L)K=V?A@2Sxrgsh{6O zew@!uT#KF0q0CW)Z^RdXCUqkUWWTo+L+mGI`gD(L(l7O? zM;yl-SH6+@<9-S5XZnVWoB&R>@DF3D#Byb9OQU^)w`82XaxZ<#;#)fGmk<})|hclYhmea`~v)b$8RCO+xhW*uhJ$Nzx0rN zPeXxFEU?n}Qn_tdsN59{;nxsXFT<`s*(}Z6osnYc9r|0Gn2h&cL^A5gbzR6N@+}_OPv2i2XwM z6)DQl>kP@4MGw*@dVcU!%1b=L9DihW zDmi7qDhGdZ!H*B1-CEj+QDnWv9uhx=SbEF*Im+jc(kELodk`g`4WDS5eab0vyv%R9 zPfJ$h`||syL62#C-&cGX!J*NiZ6X)rG&vZ@@$vZfj=G5)s=8R(4^xJ|-6t^Y(B&Ap z56h_E3?1)GRX2(M`#+D0LSz5Mt!>+-%$SNDWkqULZ8%RXYeTfa6=FLI`ezT z+O_6dq&WtCIctkOJav6}*7qjw>An-NOW?AUd6Tpw<16$pn?$^c_ZoegdXsWm=32wy z3mLbmw4qdMb@X%3bl$Zq>YfVT%d=l|wZmWJv+arJo*d}=mV=Ky*&bZ3oO(79dPshi z(BK|;`F&MAUJei3L7j5WbMI6VgPp3nr&D#Vc%R&;?J1+aEr<73s+^eso%X3}Forg^ zDapr=FrHV^w#3}Zh?yS+rsyGZ@KziF#$mqcIuf1j?EyC$hkGCTHc?;Ty{{x5@2tCb z?fa^Y>(aG{>BA@Ic{e=bZ z>voO-MFpZ~-COVXee!&OTx;D&?vTvI zFUTn>@J(CdnyPC06*=T7D4KJIsu`ToU>yAK`d%9pr@rfd*Z4omd@1me7Na*)PvW{4 zZ}Am0U%SjTlH4KojycCFF-C`?8#@$-J|p`ce{Ai>z+cr^-r4ky%kOagiFsEidnr3< zdxxs)o&WQo|A|Ys20m31d2Z7;D6vLo!96aDVm)Gutf&%gK4ZGpYEWIdVtWY0?1UL~3K zlAZgMWPxkk173aeIPW8SmEV5h=D;*?1dcwiA30XjYF&2Ct`E}e&OutNF$ml~`ubu2 zvRO|DcBw+o6g@?=n|Lk*Pu@G%(B>d5nP05le}K33ppvTBYbpAm^SrI~SJb<y-TC%?P#a|=^>$`zy$!y@ZA`Sq=w}c1wl2Kr9)H#|+XBxkS-elz zCzq^sU24nHGi_PUOk1*%ZcEh%5A(JjnzP(5dD+8W-x7F0%jA8!KGc?FWDbA8HOZC< zzM0N0+I|O|F1*~^I@Dg{Uo&)5ARS!0v~0c0v&NN99o3d@xRorYTgfyE!LR7?T7TP) zmjg#6zl(eKEj6w-{=cQE^eNK`{)XVwd)69%Z^za^t15lU(hH|N=#u)ED$<{H=VY78 zHB%pE1pSBhYzz!Daikx`54eW${8C#c?^Vi~<@JeQKj7~g`cmLo6Td9I>mm!kEZ_;9 zXiLiLjrtP*kzLOR$R7f~tTXt%4StlNoLOF9uwse-!O;zYw@jM<8~paJ^AAgXA&~hW z@JnB?-v7IAUkprCgnqw_U)zfh`rVgr4792L9>2G~t@fXuu{H1@eDLq+cj~Dc|JJoH z2Tmz6#=lIzXaBgwKk>0g1HbzZ_%-JJ(O-6XOQ4Zh$G@Xr@5S~0(|_C+IQ^f-_r_}f zsZSmc9AZp=jNfJORTbk~1)oi<`)~im=BEQ|O#I-#$oR^56)~<014ZK}|08R>jIr?K zTXaxFNz{mn!KdK5toaExf2_-tyo6`ER~_hBj{_k5PQ0{H)${ zzyHXa&js2d<8f&Ze4qvGz;B1{_5aS*9C$V|wm*l@4d2)L3n#o3XpQjG&*8H*`40c7 zKR$nkmwpbP#)hSSwXPx17~$Wa!)IvRTK}3$UkG%mmMr`nKCPFp@-KMj#fZ+!LNELb zeb(RWpY+v+GqU%y_`JHpU$c5^;7C-SB4c%_Qs}X0n9g|B`iCxixm$P4w#MoWZ5ZE$ zQw^cX*I%snUpM{Hz#FzSy@mUh$*Wy&XleS(n%nap{3iVSuer7UhXXBvhqXTXd)&Ww z)x)lr`G3$h)I)By!Fm09*F5!9L|4b2!KI&av8Pt)V+i~Y|8lS2 z{&mzwrs}n`YF+)XmrIo^Je=iaR07}j?mGX{UE2cKU~HL7PoBKewG^8>QxRP3#=pSj z&Z*1&=ag;5In*!o{2!0*s-QoHx|92^U zJ?v9A*yE{>+ z-}&2@0y|al6JqrW>RgF0qj9Y{uh!)zW**%yq{XZFcD_w2`Gno;*d68?P0##6b1lh= zzlBtMCh{XZ;s@r%YdWi2t-}@0T*7xXbF^4zs3x~c{=4(8Jg{b}Qm4!<(d8L_G;u%H z^2pOTsj0==C0?jynEQrV>t=qLc4pl{@R7BLlV>Zbr)-kP#Tm=2&$noq_n2@bmf{L|fFW@LEzXK(+{wFAa(QHKO{}Z66uJ@bYL&9Nl$Et#i5p4G zatmd9`s`4jvqpCic4y5BIvpjxBe3P(S|8hL?s2p7LfEfYTI+B6`0+r~x$M!Kv)aFH zaa=*u>6Zdc7bvam>mTy_GM))EUCjS`R``9fO@XFMWIv?2r-Qv|N?n!2rML%41;iKJ}fn|U?l z{#27=W3F9DjznhBw*`C?svq;Y>9j5LoLa}Owb5~Q@l57B!r#$z`6^>wLD@61ShF7| zPCKDwk?Wz;%&&%We!A?Dlf0-!)H?-Tgtso^ETXUBw{Nv<@}DKQDJzs`8{U-*Zm%+T z&a|Zl-`6saKT03S``J_Je0S}|e4FP7u^!Icw$4|w ziW@1Z=D8kn4(Vbo`*;EU{TTk0aZs4+La)=;^pkTsd*(Tlt3w~zlMs@%Qi-Xz!2j|+ z7h*`CPve^>Mc^s_Wv#zbt6%$!X62GK5QDPf;no_em7`+C2@h*lA0KBdw@|*GxKRr~ zSsRo3mHd}ALe}-nILCI*2l;2!lO~S}KC;H}>;`hkm^%vng^#T~A1y>qWk^dCIYqPaV=+4#D+0r9_{hw9)Oc|)6p1@tq z`}TzkPH~Q_r-?P_;kML@1nBt{_rpuzUFah`@gVW#xn{0DeEfFasV^Br$&Dee7+hoz za%Sj0WbXZig}fs#DNd;qK9;uI;rpKDmPh9LQij}a)@Y>-i7%t;BIEKZaMys_L2&N^ zR~erdC@VCW%QG1t$=kGKxchs?G6vBxkv$sucJ=}zhyCKcg}xVmdth)f`+`f^7wqsB zUY_SIJm*5bGn=P{`sJ`sSV8ZkdJE6>T4g7criSt}Bk#}i7S?OL?`OTcsWc~)KOpk% za&O@}#v^~Q_3omBj0Q2q$(d2y*8${!6b*LVvrzSdjlDUH;>$y-p$XM<{JUVInAm1bY%v+dITC_>VYI12-DF2YRFmbU~^3Cm9iL}@M z@7}`6g8zr!!p;Smp{|7)q1V;)u#~^CG&_|4vDM~ZZ_h5Nl5$^hj%I2`NZwypnik4G z@l2w@xA-;mx3y1=lHID?2FB6 zZ{BOc&1!1Ud`|rtN^G!P$uXawP-9o%p9f!ClwEQ{O$={Niw$k&{)Cznv@U$TQ za`4GN@IEaeRIkN_PjKJ1NGs_-KQ?rP=litSusby=G)PNWvCgK42WjcyE^PK7Esj{K zD?Ct347!QWJ@E&vnzVx0Qn-^CU4`llGY<%UO1ak;NPFqQ zC)A|yQ0Pc3k#Y&)4mCD-8*NLxuRrwaNKN7UU46nG+z$k&wgqbFQ&pwClok6Hri5re z{F<5&97{i*P!r95N*@h1IlP(sfl3NxV`*Crzpf?)JL&VMJdgJGJzG5eC6-Cs9SdSZ z1L-SxP(CHx1|1T?Mf&zBbm&Y=3eirm5&X}ep8##Nk}mq$r6sMnV181li@J^AvrkJ2 zt^ptEA9YuBQP(Zy(i21d8JjNN*Dz-I!NCr*kK|QC0~xccIB_Y^Io#`e4Zcp_{z~6o2fq{a?F4m% z2IHWG&}5*DSDHCi&_yfxgfYB;I{Rb{HFd=iXimH<{3J9SN}uLXPx=7eR_p@~Z8Fx0 zA!3SVpPz(guLCzaelortf(LDXx*#!>q-BLaP;KF4%^v>EcT*005Mv8n0RAT;V+#J^ zPZ-nR(BCJ)Pk7hrZ&L7HH9P#3ni{@KjS1iTuPFzpPKKd9O#0l-S!;D4nBd8hXT{$QER+w6$ku~9()$uUt5?EdRDQ8 zk16TlW+f~94QIr>5*x=}3yTM2{AKLFp^c-Im+>D5UufWqE)5GGO#MS{iSR+OT@N+E zD?a)yv}8UL>_7L9`}@DM`HMNwalDceY=<{|sp%mHefDv`k2VJ`Obm?&|4Q(^i7}dU zdv3{OTUz+ySXbzC`Y*D1zLpT2!x@%Ot0}=TChat2p8AY~@Y5VyT-bnSRW@6AJotEG zouPg3#2`%zFR9W(7idYr@!;?|b)s^@*aV-}^zeJOlyHld8s4`!x8#c0KB0ZoK`)p( zU?1m3?xS3{tWXD>&xdYv&=bkv%seuj0?rr4CWpqG{Du5OrxfrNItV`rFA43wq3-Jo zlR|4WXZTeuKKvr|S_8i8(21|c#)p=`hwH#o_{+yW!ONl7x{MT4hhh7I?bIKOEafYG z!mLptCwh1ZV>ZHW4;_V8&@?PMWDK&k1o}52J9jS@Udw@AjG>auIBSfzE8IlAk@lES zJ9Gn9cpUuPL>=aoJ!qr_mtYrenx7Mzs>X-0A7KrAN87P6S`PIR!eh}T8aTI8ubWO< zunAnppi`zI6WEgQ8e2lx2aVA!;mP)_knof6lJJ)g-k%7qg+|yDi?5_Cbi2`>Exb%$ z&_mP_{t}+qXLB%a@CDLnKvV1C9E|+J3@IbD-0Yd8rPbCT?!ZaUJ*!j!pdmFVzA2mw2fT8Fn*vgMjCb zRe!)ogMjr*d=!;k;Uke<;Uke>;iK=UmyVqFTpB8j;^;VqBruXk)XQ z6MlDLPDu3LtKgQ8>8^bmSBc&jP938w6hfww|2&d~Yr7VyGi|Hi;uVh_7{i#qVZ zV+-`qW^jKGz7qL;4Ssn!rcdZ@?D=NsA!GcS$x{iz*MPS<4Sh~M8EcW<*Wo?ZJ+R+N zq5j~!&z=IG=_@+0?|Uhi2#=xvLMxHgJ07}!|BMfw{^DKs=iUXa(6zyJw)Egi@O_rH z-@Mdy)dMKG^j{)me?9;i( zbS?7yF8Vtte1M!*#MnbSwFKy$xT03c3Ehi~PNR(vReLarHcq4^LqmITC*!bYKIg~4 zL&TNBIa>OPjkFh|7O|yd!p(mzQ*+ZA156YEnXlh?k1x*LhxAHh!C|k4BMuOSK zZMMW<6*PT^HoEyVJD3eke_NFtdI(!ouVtGweF!|n*3XUO+uhK#%0|2NJy8eH&Wk0zoy1%KcVN1wDC*y zywTJZ5qd%kzK!=&T0)0kqUAgI^9FiG`13~ivkP54JI?tNTHXkM{t_);F!e^ZNy~TO zt=r@J{DhA0z?;8B$13D%5aTIyyo^4GoX?3%`3WsA`!~G#5PIb<`XRje5dF9%F8(KU ze26~$9389R%YNvK3RPr1d&M;Bi@pfrgW0ugWBn*!XCaGxLcS92n~gPLbJQ0^fCS4Sa?nJM1)r82If)lgCl%Ca2sRP zAJFQ2;QkV=?l%4Zgm5i<@CkJviHZ9Gtv;ddFVQN&)CXes)5Bw^+l24XlU8G>`%AQn z`V7Kv;xmZ9@B>=W-(RBDYw%!5=HAGD)Mw~Pt1rc6Hi5pR`2 z+n)S&t115p;dANp`QTm#y`PRrIYYN&$er-i`9I>bJC!)|`K=LNyBi(wxEde+kaq4y zR_?UNg&vQIKSM*-%S@iToBs6lfv!QugsxG(dlx>afX~*U<165`yWoQv@YcB|zv;m} z@M;DA&k|tB^W&8N4Lo;^Jsy3L6#fJs4Icwuiw%p;`;dCrrQlBJSDP9eDzUlD=R$*a zWK8fGMJz>ls*L_eW$W;bNAmc4>Qy_b6(#?-^-xGW%IK` zowU(~jCN9oelf1XH#xzlz*FY1-++HtdQvEXd6(Ra9WTT0+r@K`71c-pAf;y_6WLtZPXQDmm8ZxAbDxB96Mvo9OV+oRWN8($zNL_7R!Up4&so8@B2Vond)nf1mDFgPvgUP%w9A^8 z#OQyp{$S>sS}}fiX)U>h%BIGTAOAun7t%dv_5Q}wFMXks581ZlZ3CmUuEbje{RQ6I=e_{sK+$lAo%EioW}=19|aEsOYml z9I$;i>A;2!N}=t$YY#L$sT6K_ME;LHkjL|eXUIL~`G&{Hk$q17k3P`2O)2y-77Z^b zg;U-o2a_{U71r1!uds&PH=&_BZ)hF)ooCjtG}fW+B)Bi~gtVsOW#n8rJ{nu}YzgY4rR7C8>J~=dG!|J+d~iZaC$0 zyoL9dXLv3@&s#X`LgLT)ny2sO)P<*Ijo<<=b^EdoO+9ms02q@>Gd;3KFqJklrQ8T& z0;1uo!s_I7U}@eGfw5p0?Jkbes~UIL%>22cL{ zNZq^4bq0^QR=_*f5j?V1AUOA3XRaf7%(VjEjW12{$XbE2_4SQ>4}{Iscj*wedu4L%y)@RLrY2e0ly=~wcV08hj z%P8Z1>EK$|Rb1N@yQkc-6BrKXZu(O`$^7pr2Zm2gr(Mp8Q{tRLTYPNFW$MepM{;mf zVEed!b>5w>`m9%s`Wden6S$u`c&Y1ht~Jn$^LGv6?@qVk@c1U}puXgr#qli1x%`54 zE@JqGqxZXpM{(+9#Si$~Jdc?9NkyuvJEp%&`BZ%XdASEAH&@X-vl+(@@a#~Wo+8HP zf0Z1=&G;BOX5LTUfSaa$f(+*O`p^s8y z^)-|op{SnGit4oTaUCAd;2PI*TdHCFs?ER`bs9IwHHWtCdK@`BJE7(B2`l}z(DUP~ z{v4QPbLbz_UM;jWXwy!)8RX+IE}nDX0cgoD&NF(*3fG+){ry$g;2T~}#|?5#rEQ!3 zosy&PAjjvCw}bxj%nswu@|M6%ElzjP)}7=ml~3z1Zc-i256In#8?xLrf~!w;c#b)C z3r(HG5PWuUK3jq}L3XeF!tN0k=>?KX{^Tuom>zK$<*r;($^ zIepW1GS*J#5}va*=0Q&McNM$AT7dJb!FRgW*1U)wxbT2n>gF-Hme9JO*R5)MnEc zk&Cw!-WB*=&#i=i?Z(hMHU`QWn{;x(;B9>(veK0mHkN2Po~{{T;|?vyDbLqjvd-1z z6h4V_c1@ORtcMsRbhGIb>3_Z=JnL}I*m|$zt{8VTh62z=A7zWxN724^{&Hxr+gQrE zGQMfMjapl}vz@+o3|)iVcY#wXaO|FrNnM8IgA08{)}g%#bBD(F`hc;M+-s5TB~JwX z?bkmMXrheJ@F=q3%Y21)a-gwX?Vfy|w;}6pWL)UwM#kC0W0u$8UwGcR6P^TbgBX_6 zKsMTkukp8MKNTPbud`09FM+px@U;(K_Hi#fyOePio_!a75S}H*2aWCehwzy2w$$VM z9meI*nV6jZ;X(H4Ry`A_rHq5$wDXp_YBP5jwbOPO!o$L^?c{$Cg^z`2iC;PyPmk~| za$(k~)oiq_IVZx4wZIV`WnQA!4t&@@?c%M0X|zM$n?B;aCA8g68_3x-x#oC2FzaV@kb9l1OS!M%>lS$0jcl~Q&n@uU zH^%)gViWq@F+o@Ts69qkpEr$qPqERJc)gjAI6*-U=mYuSB16V$CC#%G{y+HHa{s}T zF9i-#7oO1vi!5Zd8Q&>s&iWZ`z;rn0@_fV4)vj{K8{Fr3$|t>nzL4_0^&E1!rC$9t zwZPqJtjj$F+!4mQq)Em)WauEgTTlN^l2coce6O=*=pw5Jx32OJKGhhgCzoAx=$`%vUte9a^kjUs&(2uh|&*ihg$hKNWeZ&)RJ)fG6r_?52L2 z^B~Wob~KY56|tr0J<4b5hpxWICH3mZtpo16MrLj&aBng)lg1jv33MwTKS>{lyq#d2 zp}*&Zus8aXwM_lQ-OKzJywn^>vLzuuN%{%o?L=>E5&b?fU9P=7%o)$fTZ=|HxyCBjSe}b~ifpn!L>Jkt?{k2$ zPtxlXOSsbhxCdOFBM%u>HujekOfoJ&<_Yd>Y68@)?wE$qI(Uwbp1-mykyUsuG{U-vSQui3`jYXzAd$$`U z$bRSacH>55|5KhvWtw<{vr@~B*d-U^ZPgoS)B$%N`LY^t#~XZ4(D|O)N55xmJv2DT zJ@5-An7O^IE$bzo75?|2?}4~y0taj^84J%dsA-H{nx2Miw;gsaUJ*Fvdw#B+kk#%xvPV~-eX*fEVm>U zo3i`37O%Hl!+4C^1T5y#hHS@4`75 z`K?f0ru@!C&X1qB%zy5(rodyAVGpccjGR{>=j@^2qjz%6_8jMVRL^bXNuY-YU^Ik6l~i zKmN_eKv3R+#{p!$5?QZA&gK1aWW3^6BHJ##;)YkKo2AnSeO2)~S7o1fjc*m*Q<-=Z zGOas*hh2YW>}pr#s5gM=a8`P*GhtV(N-@(?dL!TW$#w)SyRabR!jWw#yooGzOwy)ZDw|`ahrobx7_<&o2tXE>& ztFXzH*!B{hb;~ND&I23mV9TJWmg&X^z)$cCh}dGIKeoCd@n$URE~QHn!iIE z^xt!%)fTc>2n-kUT}dCIg)tlXuDrg+U-H@$fs1)3V_JEB5cqo-?>*QyR}cB-y(!-r zX1Oo%nJV#_E7&~4$>Mi4BpZDPd=sa|XOe5C z=LFBY<(qQME%EvA+cMaj7R%fcKLR^`0y~~*0}ggvN4NY7JAN;A`~-G#i9cDYHknc=gZ+rz9 zNx;>09UESO4L_k|qFb&tPAZwsIp~mzv8&K62WZ2AZYiye(%A4S75)zKdr!ioBdF;vES%IWShKBV8#v8X`=g&p1E9mzLQwOTR zPt;kL(JKb8@CQHH8aPfrL`Un$b4Bmn_$V55-YxR)+{5#z9Cxaj_!$`y`;9M)-R?Z= zHRKteG+_*5uj{h!HxawtIdZRoT;s1?YwW>Keu8%+k#F`UIia_QZ$pBU&DqGD_-xxB z{Ua}W-rO^Mwi2TsLB8G0i7SBRW=UN-b{O}z34UAZ+FhC#vUcc zC)$HUf=>yN3`|u2T zf58L5KSV6-kRfrV(BNhG=DQeYgye=@=D16_Mq@Rw-!L9SzTNTH8P6f#=dl;P4d1~% zq7#_JwFZohz;V2tVOsK}edGb@la*^60$tv`o3x0+b*FG^?% zlu?&&M(Rb#wVOFNz7%wBH_!vlBRr4Fb&D2*pOF#q&&5}>>a}6N-8o%`$g4Ykq9J?S zYOvkz5w9BV0oQ;-3bDO3eH!|JJz!4!CFbKc{1&J40p@f&^B?fn4&D%udUp10A40w} zvpaa7;mMrYVMv(|k?&f^D~xldUOVX(+QC=DcDG==YkAg!?LMj4JoObZ0Yk3_}TE+ZiE-(oG)U(hg?$w{5JfjBIeae`fBVadq{+sc_yyUvZ2ctj@U6(vNpl`9bMHiSpuo-6V~JmFU30%bbIqRurOh4a2@?V%u+GEHkm~S?rD8iocY3)f-0U zxz`!l*zifwKhx$Ge5M0Ua(Eov4S7pCqRLy+Fc!7J7>9t%( zh(18Jt@vt=$C7XM4`RD(a}L4-*?MjK1madP&IgHwe8^n9cEp=T?SSj4BQ_g8LZ-7*6Kj2J>%;(R`p}83uE3^0b_$4M3LpSeHHvdH&$)2mMPc z9}7s#$A&GLb-_a}NAGux7vW9E^mhy?Bm8A>ZGwNT*t*2+CEg>vMtm0g?aO(O{|?<3 zf3rb6-6OtSKK9%<;w?jX$~WK!=5R686TOk+!8g@?wrqIB>HO~2yNG3G8842;t^ucpJ))joyB)+Vj;kgdk+X>H&25vsK+n2M?ka)H)emr=`Id5h! z>Jn_XZv-*L0TYag#8;;>*2Gk?+v)Igw$b%pEB%x4cfYB7BGARNsY;y3+*gf^cj2E) z+_`IpTpi}~Z;Rrsm+re?@=o*)_F%_Hb8*#w+m~r(DC?VF?W?Y9HYS?&R z&R(M}vB>bnUu%%-O}tfN+A+?jS(||dhQyt3gl~>2Ssr*=e-Rm9mo0N#n{(YvxjM|} zH(j#UwN8JVan9D)-T1aaE~`}!-_4ivx-pu$j4ytiG4GOxT-UNsw;fyV8^K)M`3^L= znK6iSirls%@6xwqQ?AiBlX(yCtkCZDJ0E;1;KYwK?}@1!y>}WJ*hpjgPU9r=TX}BS zvYigq>5=g_=XKb04S!%aK7|9HqGi-R!+}rnv}e4LL|o`m#SUzna}cr(A7Il{J|+g#!8p#so;Zm6%(iJB2XPHU9LV}WWM(PS>kZP*Eav8pv-TKw!|#rSV&e*UU;OQl zZ?E?cc>lQoIWPJx%opHIV<~ce3vzxJa!yXN6FM1pA?s3RGk)$Z=qSd^Q`F~PzsSCi zdk+0{Zo&5z`FDt)(782$4=S|q?7@!}U2rGsJ4MK}=mD8`ms2k~*B1LO=QYTDTk469 zSOIUB5#Mo}@tqjfyClxz^bDZBti_3chTnnzgOB6j`$DY!$@;wP_m+Ltl8YiXnS2&= zKeqT{vaV-asTQ#BMwj){SEwJePAiZ#3Y9fWa$0ni^-}Hcwt`EM*{ps_tLz(EuAPN*>D;MX5Ncr4^g|x??#{TlRIwDy`c% z&;Mwzl7%0Wf3mbmsgu3g>`f+LAl>{vf$Y&{FK|%yXy1~q)N?kAxd&GE{>r}RFHc7I zYNuO!wP{E8YDe~ISF}a)Sn6q8+6AAV$z$31=ymDQJeJgu?Mgn&kMmff=hq&2 zb)BCamI8Ot=77+?aqnvXkz1Y%ki*hiblb!Jw!0q*ki*hi^vJ{hBb&Aa$YE(cGH!*x z%^eDm!_r!la<{*+^qGK~!x_3m9`cucwjrSADXs1e5Bk+bj|Eid9?f&v_{(`N1!kTL z-^f(vE^*lwWtNyZE{l>&&g8f(a+Kup+{|&|`I#ISo?AICO0P(c%beX#GsnfRac&%E z(OEezN^;%%tqEVog{ z$Nf;sjN+OVDPvgwC3mItcFOp?*$REjcutC$}$}Kf@YbP;zSITY0kQ)|uly zEqmmr@O_j`T#woMdE(&XW7L(h3`E9sbV4R)@{RdF-qwj9jVfS%UQCX`Y4#S3 z-@;t}%JJj`0Oxi0>sigg^@k)TR1}7|5)C%@C zPgrIrZ-_F|emO8D=QyTsTh=b+Y^T^M=7O}>wzem3v(DhQd+l;?bGQXJ#~IvI&BE;# zbWGXovSG`?tq$Be`t4qejxTP@$QueCy#$ARa9Iuxx6tNrCB8!1!fppgv!7h>`hf3t z#)FUG@v3s3Q*dd##C!TK`~acbdR49Xb+VlQt`-lssTDrXmTMyq&HXB8hLRIk#@UkW zv2QI~WGgA>ykzo4_P7~8cixUHH)pz|?^o0SM^%*5MRFzA?*Ak1-NU1-&i(K8%;Y5D zm;{J{Ix_(g#zRp{JT=t5v;u3sg%rcwT4audfb zYzln4;o`u>@X8+7s3SVplJ_?LaP%DLx`*-CQSa++>X~6x#KJjC&}zIJ{H5CZT(Yg- zEour}oouVseX^}RR%WBxtAiHgqE}h;OCCt{ZD^;yxbynRs7zC)^Dh!3JMXcglfBmE#OQTXOJq z8(wV`%gp%7(3})1UHn z7p+7GtVDiS`Yw*HeDC%{O|GHH$#sFrS>&E&1s9i6wwp5-e6uY3tIqGK)4Qohdvl#V zyxz%COYND-rD5#OoK*SyI9r9^@NHE!-|%YH*ZKZr>8|Zrj5BriMoRakatZI>XW0V{ zlUg2!W-ms}+ik$C@;a-0KX}^qIhXwg{XD@r@!uU~rcv%0&YWygxe$7lvtFuw$W*4+ z*e+;pfg2BJnO}oUxkmE8fd50yVlQPPoS*Y|`1ZV(Yg- zM$K7xUP~Wv511j1udVt)(ExC~=DoA%R_dMK($I2*9M{I%TG!mOu(9PAl>gzv^IIPJ zeCweH8ZK0Q`(G%>dGI^x_;842UQYLPyV7gf_wf96cP8iCWX5mhJczsbf6P77f0TUR zciqGNKjuF=z4|`Bhx1)HG*bOje*f_{YaX_sVB1xvEYuzIk>0DFc?M%Anlcfh79n-wTGf!uc ztl|#(cde1pw--(gtg=QN7P;F6smJHt=7}JJwn8&4=gy-EH}A20uRJ zO6RQ7Rv!1VkNx=p3t9v_Uw7xSpFL7N)Cw-X?(KnT(0f$QS@2pAxq*jXb7%P)vpGwj^H(0E&YttE#dE;%FTnjhR!%f` z;dL#4T-eZ}_C1Tu+l|D4f1b%X!PL)jcsi%?_5bEh?Y9O>;L)b;zYo;FD@Wm#gEHIBxa7=5!*K<}RbAw%t!A|Ax?0Wz9L-(QI?_D@8@RMv)_QPzmn0qLu z{SjLH!uQ9bR@d-F9d8WO{17}n3rwt~5Xa8XeRf&vp@+fGE9!7lT*s)$aFv?Aq=sG33Ors`ld7dxN8O-trW$$=dFnrRS0Aa^?Z$ou}X15;Vaw&tvEu>{@HD)l|WEKKJv4ii6q*;BPG= zw_4|~4h$S^_0v~ZsU0fj%-c!am79ESdU-a9vxTYSim#{+`E_m&=S`dP=YneM9L}4u zj+Y*D7gRBx&bDIi-{X9#zafLVm%>Ha`u17dRi5*z`vtGgb#A*oBY)%Xo%oS<{AwBR)SPx#5nduWq=XEX0Xwwuh1;A#s! z?*qp^=9K2d#-4Ixj_Cf8g~+@6#KzUc@}pkE`OwC7M9*A2V;&pz208Z@n)MZ!owYN# z1A_CSH4i?ztG)W|UF~`2JkmaBcRowIDce(PMmA2yZz<-ivcD6v(YeVle%>_g&*co@ zWf}7p=&tCIZhV@ID0A>AcVHi>7zK>9;mYY=AB}N?7}CwmUdQ{u~C0- zZGg26{Ob(%?~I9hkJbj(x^nqHJi3*-Q zKk^!7y88#Xi~Rqr4@E|7IL!BV?;Ek;?swSivRVJ$iO zz>eC$0^q;cH6*&DOYNEHL)4YuyX~O<3l9bCr^|`{vRD6yM(e5fxEUE;PT$1r*e{nA zjU5$CL#Q{BcO#AE)R{b^Jbg{oboWEn#CudLQsI zCeL%a%P+|N9})Tr(U;DGXC4wQl^(OoUc_K zqFfR6!JpH=Ye!|&B(SQXB^;eEA@7tZAwB(+?he# znL*qwVO&9v$?J0$`30Zvqk)>*+~#)%;aoAp7W~>n6k=?Z6XqOpVHYc`Ii-rL%pRC? z=uvPgd~QqPGcSox!58GY;1O)1XL&37lKoR^FGzbu8Q>_7JDh1RNLw-52oA6>tI_4e zZDtQ#<+R_f_ODOS>%*Z5da3=;>FvW4U&2nR{TS_6Fg7RlM%(!0o$4$2PhdZs)^_By zw!_r*Wqz$xe0LT)Uwth32KduBy#E|0Pp7q;!pGUz(cMGOOrJ-<`SZDFekZ^7_>eQd z)7=6o+%o?F2MIpbxMLY#E3Nwm^5=Fnj$hMW^fC8eEnp12tP947#cbjH#K=(S%y-+! zS;Ti-RWI@G4%X#Okh{H1Mq?Xu_2Ni7_XduO=Z;F8FWGAnyr8mrzB+BJYMb@Zs-UhC`d-SCtlKm=eQt$=!JT=K88ofOy8vV)kOX`1VZ= zI`t(h?Z}EnnJ{h4oZ}6&;w!69lYjM+9Ofu$)0?EX;Mj`=@Szr0J90lQBpr4&XMv(?Vn5=yDQJxF`xyR51V1a% z03Kr2$X%$O>*(FZ;Xpb78#P4Kd4?-2P|1=KguzA@+l_5|v8IFH}dZ)5IrlkV662kQ4F z;NkrN$t`zJ`X{H;2|W@b79XzGc)(%y#v)&#Vecvb(f_^71-#=;Ztr~4`AzDs!{3gz z@@^!th2h*Sz6edm{O<#2 zv`Ny{Dftdlrvu$!CVuIVcb22GtG(C`Y)G|ilz9A!B#h!g>GBYIypsNo9~n5a-bR1Q z=2f82f~|$~eB)bI&-UcZ!?%l9yx4NcH~xmz>Yo^2R5~|{?`vuMRoV_FZK@M{Ck`hb z|2k#Q$mgt&oO%A8*q`Z@K2L*L^6T(}?$~}6xr3J?@SZo<Zjfj1i z;DvVR66Pry>y79X**9b)`3#u~bXc8P!%;px$vgQbFL>VNhbpIEambgEG0LDnD@U49p?1?bf8Z;J>as>mDf=Ar zz?KZ>jzLe0X}ViDmpmN*y!|A77;xBnC-`M7bxV-dJEb>Vjog1y^j;BSGsHiZSuL_nX`}mG3=7l*Ii$*e@S2W9y+tEl_&Yd z(f`2GF_Sx);0O7X74V(-!w>@tFY&fK4-L}Gsf^yW@=iXUH+?*-zdD8cS@N#r^E97X zhWj8HUn};nm@$QK40c|B39{|&F6wjp{1=hK@b|NZN4toTmb;B}=JfHW&rAc|Q`4Op zTudCG=}TWQHRVC#F`OAYJcqRa_wdFEv@cmHbDOHo*hdEsZ+>BrH-+zzbn1=M?WR1Fx^RhjHKY(D*}_W^EVF``qK>UU0pez4^lRLzm9p9?VJNyQbWp zC;r)gW_$~WA>u9-+45B_oAr!Q^9L#qmF1eb-(M1H(OUCH<8G|y4jCWi%DFQ)_&&M- z+_`1P#V@nH(cxZev3%e1S-Q`jv5!xV9p0JE*t-k4Tk`@l>V=QLcqnF>sJ;gV zF4~J+nY}xO!?tWI8syo+B<>=zfs%>G%I!?>CcPs1Y|P4NGSSPIOhIpTV7GO*@~8O| z1>B*lxzus&wdPHlOMT=D_G>P+>tp5~@S1@K7r<`@e(QC6{TBSzmSaVWnYX@z|4@!U zfz7PB>d`ZgO>-zObKMIvSffO?JVVFdSOKoJCeNKbc_HQ$hiNxVyS|Bgi+pBiu41D1 z5HE-{gacdQ>kfGKAh5^UwPO{G3@8VtuX` z9Q}ZCb?yJ`^oW^S+9mx=3}0h4tdDUIAN-xbW9U2R6>NxPYBTW4cg1ez`G8mQQQ`It zk*ri0ax3X4lB^fLC5f}re~z=4z}fB{pN_NVe|hG2e@(;Z{~Nfx_rd=iE>n0M#2afR z-%aA}I#=$L*ctFf46UYa{y)JR{+xI;bQylKF}Y#NB5qaX#x%+wa_Gal;+N^?s{7B3 z58d0_mF&A@+dxU(omWhezp8fRqwj@w^uL|Syde9LIu_wfws_IL%N8RWSyGF&^ zf~z7$8(pR`vN}>!$@8@?Q)SR4bV->$g<@wx~!bMQW%Je6b&LGcs8x&v4XH=LPYbiOyfUH=p4 zC+Rbt1FoEvl;5E?y!c>hN8=5lzXU%rHZ7QZJ`MfW1+9;-J98h7FNFUYLRYaK;M|+% zzAc8^tSP^sod`VS3kD7>r#f$*`9glp zdo;fa@$O#Qdm!0P8+_O0GPx0+iAO8oM`!+p9EkVNT02nl9PfX^TTgs4#~#No)8UT=fc>ycV!cnS>wzMGs;}IZ1ti{(Zq`XHACx@dz`o& zc^YM$aZy%F>?I5gtvTav6#OySm6hk%6Ws&r;Q2i9aq8Z;&F+z#C1)Ydvjxw#mH4})59LEPU(5W6eEr(7n==9Itn_M%h z7FrdKytl~fHFG`K#sjJT_j{c?{jP#W(#fUp!ezu9x{J*-?dVO;OpnG`5BnMO{`nKk z-0r-z=Z7qN9nat8PJxGS#b-g6^$}-apY(yykgoN}#1R*`*4h83;HR+Iz8ySoqrXkm zt2OzJUg9oJzLNOoDxZA|@40Un-p`NUK>m`}t4#3ocC3~;fqq9mZ@anwI#zG`H&LgX zd*dsgFScWcE&DS3Bkqv!Lzfc8aYbWuwAd!bvG#7->^Q;t#J)h3@r?4lykzyG%h4I! z!?L^F^xu^|uui-)4qc+TaBMlT7<63ZqXO-#SwZU}y(E-HI{8~>v3%m@%Rxr`NjJ7t@#>=c{ChkfoVh%Un zU#78h7S~^qX|*?tv3-j%#5RCyp6|xi^*VJ5{mcp0ek9(2Pv*lX#8-~ojUAOf3&5|1 zJky#`VQ%;OO4fzE{AbPR0RB<+Sqb85houAS zu&>cdc(ym;%N{fpKVY7kZJPSt8>mriQgWp@ub!l>WLomA`%Gf|Ce)L{Vw^k1kdp+8td$kUvRyo^reGsr$clcUTJdMbPKZM8j?wy;e*JCvvMY@Yq}5boDetdQ7X z$~MVvf8x|n-0`7t>U_H-{r%2bC^k@eII@Mh>*hacXVXm0O$+>E&{@(GGyij79l9~D zzVzSse2yKVfAN6+&*we)#(wpG9q`K*7bB}`WAi-A-UN+Q?oX5xzGK-}Op#sBWq$oA z_srMsA#RC0b?o&yYl}gAG~J1eAA!t_#oj=3Vq{tu5eeJLbDz@Q2YfkQ^Y8wzM7~Pu zSz?{=B>%uW{w@2ss~g(X-*V2pjZb-YH=sWb3y<(j1p5v@aTkr%xDwo_^Hg0+cy}dz zv@h}P_JOYiFP&^#ZK{3o=5k>4vc|vVvk}efdRBZ~$-VFyjSGIgqG%&N*@MZpxdR#B zC&9C>)7pQZ@n?W1eW!8-Ha8plI@*Re-c}qtm1mI3jTJ8*2M+Pz2k0Ni=U{B&%@65I zIkCswS;&uNi_gUKyRMIPD#wLM{<`{ZrA+3 zFdx7+zrDcq%_SB*$C?9lKRYgYlsyZ=I}f|$*X4hTZ}Nnr$F2fD;(5)}mH)0b=D*0; z;5UPvZL9KP8>}On(LK8F%z~#kd^Au}f*lvU%8?pFUFHIQ#h&yVzN*%5PtY`3%z@0R zwj%ECnXfeaNir)gi`{&^xa9?|CL!X+<_(MFw6$ zKCgH>8B@TA zg5MJ`jg9B=Uu86AolA;7b;?B;yWmHM?s~Y^(OGA(?Fl@`z|9l42iNpH&&r5j4?cnp z?;HQi&?tFFHht$i{FCC-`)Oal6L+5_^jyTk4)kW(3Elkrgl%_pd!G1no#ZxD$GvIp zJk7C=nwZ)zZClu z$_n;h%(p9(IH-#p2-X|X4|%(8FWx}zS*O)7ZFhuy9Fk}FGdD8)RR1EiHz?)%=sq~% zNckhux!}4-cdNbV%5QuVI%zHQ1MY-7iHpY^x$0Qbe7qZ5CVtwH!`drzwn179H-RJ^2vwVfNtToa{S6 z2bEb#OebYaBom>W%1-&P;LSG7na#3gYYh2A1NC0wP5JTdv`HQrew_S;{J8vwe4a({ zv59TjUf_O(cJy0wMahao!=c0N^I6|PKUIt82KJrBz3^txzecYnbx6u~nfP(^ZJ8OL zcbOSSPF(`09(R7Dd?Mj?2zIF({5k$Ea|-!PF>FuA^oss2#a=%?+a6Az!hLG&sq>0I zSsL693=R)|i#i_y|6bbKjBnKkZ^+Nt1TP}9(?o}tfO+se{G#{kc^||-7OfONfR4LD zZsvIKuhnu^r^YHCFNXhUYgfXT3I00e%k-jK>L@ddeJ;?iF(YShQ4Tb0kGRIQqyI!> zE0eXz+pQ@E`P|OjCFCMbfPRyIlWzan3t>wS+(BK|>q^MicjP(fY8InINefvKAJQ9AA9GxxM1U_JCJWTt7Aq>nZ z+`b5mqu_y?Z|~d?0UitA#WdW!8~ik}7lU;g`Miny01v|-=$&aQXH*VYyQmLOpUN9) z=Qqn2&^##RTP0*283*pMH9_a>Uh(CJ@UHwS-3!_8&Tw@8i}WYn_a)bgx{*ocEfg}Q zf}HN6we8k8;Tt(=T03TA(Y?3t-e8e0Xc}5}dq?13;RCh1HWqDSUQU_DioC>lq$jq~ zb{Bd3wai(&iRbRhG&>g%&&Yt*YLj`ezY;v@jBKMe8EeFpKWE@6pJ)yqg~KPo-Ah-5 z1Hq9d_c_L?x+>2(w*3?F3)9(V{>aBXZ#;C?mf`^ODK?+>s)czqfVwhH=1G&=A-yd`|<9 zH}O1_Z5;frg?Fa%EHWg8*TSd;-F<%_*lB^^zW*NB$$CPkXzD|Mgt5(we<0nM;9oue zR&-$9HSohV?53GE>#MM*s_U2_%q`(){E_BL8^ z=4I6>TdcjQ(hbgB9KJw@`87w6WzXIo%XahmBA<-y7Ik9#(9_V$@g>nm={hZ47k#oc zaX;`1#;^ij&|Lg5zFjeG&`ytJu?t!B@n3Dox06guF583$a30F?Za68+C+mubRX>!J zW%(GyOW-N_)&=oPX^Y&1by^G5cw4bI8HK?QHD2jCVuNw`oOp|cU+3CxICow;QFBgn zm9e*x&w<~tdK3Av@*A*S_#-ZVfO&voBJ#CAa%VC}z+RZoTuEQ0be=Jh)#<)a${$GF8Jxg5Hp>QoJ#B9CEN?d(&c$E$HiQy(1$pQo zH|$Y(OgSnqIdk8l_*P zzF0GPMLch2U)qN+lpe3nGHaWOSsup+3}y%Wzmoi~_m2>BeH40B@Z3u~A>t#k0vXE#nCDok=;tSf|{5%D9et0*cjsvUKNQ z9PrSx+t!HZGYSJoDWZE9xvQ1fhRx0W`7Jn z9(QN?1^aJKoKPGi4or@{5{%Np!rvX>?ZrhU0b=j=pIime-O#qf;RE@?#=edBzh%E- zuk=~cuipq?=s*6(uE>d*hpZrR31g8Dozr9vwvlJUT$0$}4V05!h=51Ud(Q$6@oKtW zIF(<(cOvbAd72RJN_NA@-FZ0yY)P~ zi*dxjRfyQ3Cqm4)@Jma&DCb#en!NZIqJ`#BZMrA?m}#0=7+iwQt09-Lv4i{`#SvZP zYit4+dd9eU=W6VujLP?6^U(heUzLFSjG*s8JO6X}?SenriRsjqu-}yUAM58wTzqHH z-p0wqF^M_AGs@$#6;r$!9)Fjy{)yinQ{?m&0?Kl zcJWy|W{SP*vdOmejPUX+@TK|0_sHY%E^R(;kP*>BGJPjH+NWn{i58>dACt={`BF?$ z^6@*q!}tgq*JxmS9{yH6)fc{Qp}yuhC*uJ5@#c?-w=q`5C{$1KrM6@@HZg`u=#I`S z6CJ$7XVdvs@ZJHuU!$&Y+XY@EFKvudxUa>&8uR1zE@Y;-zy!25-a;D>&l|E`Yc+>~ zYZLnch!tatviVf;$=U9MFSKsFpO$u zz92jsbZi%Qa7)*v=5ML_i00qqtKKM^l;|_DzWNj9eVU8wPWCV|<(wMC?NsKlrnlD{B`;4p zIv3w$F1oU@3YganXT7obeBNIg{YeJCFY|o0dlKfvTz?;B`g6tZ4V z%vI%_{wbrlA#t9d%fo!M^>DoT*zPW3NJ%zD6jBeC(@tL`Ih&_>K3BF6LFX){Uds#5t7Hs2zO>+C+ z4!#oWavG2HlIR~{4lVsJy)L`(AvjLX$yi6Rnzl0^Jez%xWx0Ec79*=?;}ewSzEJed zrQCZ4Km2xr%YN=F7uvnD%lIwL;7RyS(ePBgn^=d_Tu<;wj)8ZF2~4!#Vg01lb#~)c z*8Eyl|CHRb(ebT0S@x^wNY)j5ln1*X+>HL_qZ`WcxphVW&#NaQ54HKs=iohTW@p{f z8M~D~uUOu;5n0>iUnm~>0`1?&UG>{W%;p*U2u)U0vR*rZy_B>|-G1sG*Z%Zca!9)q z&lXqCFnK(0sbp`U%F8ZSV*BbEX9Oz82Ulx;PP?O|XMX?TiFGl2oQ?Pw_2}X<_9jW+ zUfo(at`feg^p3)Bi}Yj;i{w3ypQ&uod2niQK%l;*>uC1KGnKp%0y|fv6 z&&i9=lRl|$WZ%R7`T%EO4DkU+1-4_R36x&jnD7e(qt=9Cw5wPMe#NR4-iz%C=(kGN zrQz=@>c`)HXn8~Z?vOWl1%1|}){tgpn7qoHZeKlNqd`A^bnJ;bC9mUT8u5!tvqK z*Wps_7Y}^4RP|_Utjkn()_&}6dWbr0$c*o5pKaw>{px=vy2x!@o!0*1fd0EOPL}OZ z*+A(jWnEpxQFn%`v%+MQsl0_O6f*{wG5ub~=GkpE1)=+7c*=97)db8no>f*;Oy6Dj zA3TSzotT~HDW0p`L93}(4v(er0{9;0oGJlT!RTfPTf^nMs}!JKeZ zw=2W$#a8covM$hmPH?qyFCT|rd+`NTk7C^WfKLJ}&A_U4#M5C4(~n@KpWZ@<7E18x&`_Kp7)?~@6Gj0cG^t~ai&eP!k^g3-P zK3gi92nVUQ??G>#Uas%N*i!kCsWRWguhsl8_5aIn57dO|?^R&pjuiV3Plf}c%|5>6 zKee)+dm(WqA9B8lb+LAIdL{X0I_tzoe}emtwDz9ne2D+4J;9*%im@A~w|8x-E&T0c ztgHOn;Qzu#t;P1^*N8S9u1IGevMd@gCq3kA^d4tUK58Om{$qfc6lKKsG0ORP-;3-Q zlf&j~3?FB1cp#XQ*dLsT$rQ!^N=$q-byIRLIiJqhq)%8UaeN@<#Uy+n6JLuDfe-Hg z=zK$tA?vZkPB=G+V}Bw&+6$m~nAY4AYxkq$ib;8q(Np5D=Lh?5g69)@C!q&A7Tp?9 z8%yAq^me%KDpx-53$(-BrfIEfebEx?zU;vK+rf37QeaN#D2sh|>&d??2Pa#XQd#{{D+((Q_{BR76+bFVHpi91)K>J?0kfBy`Kz}Xk0qm@7Cma5FqjTo!edX8cRDD%tChtV=BNpN&5yss?=WSF#aCU3LNAZ8XJ{C0Zo%he?xHs2FKaHo8y(1`Wm-u1 z^qy-2cR~4e*mYoe9bA+Xlf%B%lz&XDg81HEY z4w}cHqeEZvu|wb^Cb*LAemB|HW}XSJFOe5gIhpt}^zNo!EpaB{R?mgoN^;MM_c?v{ zBR^kJTkZreolF0MsgAalYoYOZ`5k()G!TMb9Jzq7QK4M#nn-LQrmYP^!3b|^Qu*g&MFz;W%58ZO9#d(7T z*ts#zcx0cXH!lV@#g|@TPM9czo~I3!^Yd;{c8TMpY($-#RRv-akK+?@zLjDxJsAzx z1SasA#hEt~_-thF4>qZ0|NaGm2F}n}5y4(Cw|$*?uKw5azn=fCto0+eHCxe*dyMOd z^c6WZ{s?=9qTm1Hnt?osQd@&gZZ4wFQEKmlm~{MbFpRD5Kp{=|LRX= zl}oF+vgXAWJ{JC{Gv88<6R`Je0ghrm_)b;9@g_e+UDcbF><_)7^)vF+GLDE(MZX;M z<{#*50-w#`A(X7Ae*S>puD%r~&>XTBpRa;?dR9l=z)(hdk9KI?KK||q^HlNvO%#nriA!#>dBel2bCE5UnBaEwN zCjAhLm=;X-Q%OJ4-^PiZrV8(&|HXUZ?%< zx`{ooUh!(ztp3^XzVOux-}kw5;+n_)1(+WPZ(X!+@EZrZGWxR|n6vOd5^)UCS#c=U zQC;HU>wtHs@C@Bc&q^_;MU6YvuljtN`odYN9&MqAPWG3opOF)M zryD(RE^#g5qt)FQ+;i5`XYXm)|bw}O7G7~ z_BW}a{&?1DeMv6QMV9VJ>+dySP@ns$m*QjeC_I!si2De2dJ}b?Y0WUdYJ-pUUgIJj zfeg5uT+lPgVivr$4>^?VOa4M8v(Zprb=CJ9)KAcbZ|E|SzJu`C>-Yic!^{6%lbt*C zw&0qOmCZiMoJJV9hFnZ|`Xr1mv3I-AJp|s!j^jr-Ip43*pYZH5uBhbQgKkUe2!}Tv z{X`6KBRU}BjEOuV%BS+9<)_Mb|Mfj5oH*4l_-0+sZ{0?G`gUtWi2Xhc@4%_Cl#_D0 zC0Q@Vw>9T3;5Gg}EA~#RZhAZ`y-&&akEx@+ZN8gXH#VxTy7bx18XLC9UdcPf$o2vI zsW6pRbtnEYb6)8i#V^|S*9TrSoFPeF=~ncIQ&%?p4f+sor05}gu6#DlAD$Df zIsfP0Nyff4&)Dokv~MmVPN%#%herzH@oeHPnZy{CZ_l%ieDW#2sQm}|aq-*9vW0Ps z@me#3m@nn9`JOW$J9S+l-B0oIX1zp@e$WbD>Ej3EoBZs4`K^>itDHH*Alcy&;Xhr)Y`c>bcyY|a&~_Q z^EG_q{tosMSw{J~E+?O(!=1H#FZ=2rS#H@k!&|$4;c?ba1N43N*CRcT694a7)Escu z#}_G%R}lXhamxt#2U-W(58qf54#7ibzk%+qA&=HxKg5(t7FsLK+tQ1J{uXoc#QFP) zoUcc~A^bj8GNt^=RL-r&v2!1|L`IT6U=MRZhgU+2N_IEHQ)*i>LjKX>#C{|4LNdDM zn+r^yF?pBhckFtzICdEO<(%Pv_9d~yidm12uLPeCOwN2ev38dpBVhhZe1f&Hw(VK-M9Gs^M3CXb(WsQ7|8 zht6F#bY6zV-N~F6u)<_=&r76wHa2WUhI?EGYlO?$bNk(8x$|b`=sxT0+?Q8nja$*h z+8?%b%g{{c4hZgIKEDlIyJTC@^Xh8>^;S@?J;Rl|d}Y?Sdg{1|(Qh^`?(V=h6mNp# z&Ga>s^~CyR+4HW+$vnUAuB>sDl;yo_c8!a568Y(zxjfECd*`mr8n>1AnM0lT(_HK| z5Y2q5Q($b1^Md8$zjJ@Q*Fd*}oo| z*k4|evqAaIn=hPm=og=vb!gLVL+Aa0J1e#tSMEc@Oy1U#+;Ll$WskcDIA#rX?_#uOsHFF#-HUPB$V`w=mg6}*@1ny!h_^jK!f1b%-Q0eLcR%M@igu!rbm}j7#$FJIcJdop^K|YEpsi>0 z?)3Jxevz(MPx3J_V{EnZIJA#-Z-&|Rb?JZCL|bcC(v$O^!LDYQT+zwJ$2S8TNB-47 zz3+hRf%5zCpX_SNxy;zA=S_k?bWTNtd3dcMe*$0G0*AHub1V5Ro2UCEMdLPdF!cQA zJXao6x}8YfPog~+e|7LM#^K=<9%L_CU1JkziHxhOMD(s z+_)OAbHN@g6a% z-@0A)WsE&IVU!(X4|>EMEQ>MsJDa&$3Py6T%3{(L77 zod(YTD>ip==IW+*ioN^aso=hf?qR014VXPUtfmh1YCB`7<#z?Y@5?3E{w&5t+vTh` zd#9V42NaiHX*IE6AZNA%F0#6jocaOhB`MTS{`+WB~mngnJ-~E|O z#M=J2tB(!*|d zmD=7y`MP39mYqEy%adibSMnyxYku5EUX=c8E)DJS*7409R^yb%vVuPUmH)NLKF8yS z%%jgX+CdlKXBEUtXlDUyIp`+8^t^QZPpA{3Ul0Gk$GBBq{>!`crEiTHI_ItAx9I%? zzL}rot#{s8@q76$Uu8APCoSJXT%TO_`EJi874XG*!YAwh23p-ko>Tenpp(`Ix}f(v z12qqi1imi_z65MTh*w150Z$Dyo@i=vps8mf^^5o}q3#&IM_NtR1XJ^aJhST+_JvO%$TuMKQ zzl!l8*09&{bUK8Sbm&O(UV2^Kc_5m8$iBSOc~m;wT^3Zhrz`NsZ+hQP3iCcs)>+0U6S%AFUk|=yEsgK!zAQcd@|de<-Y;g9Xz5pLdd6N%FDO#C%)-m9O9u5 zIG<8{B3OS$onqb}=lfDC~;qjV+UP@2Yignu@?^iCv>;?UwR4p zY5#!#IPj=`#9(f1i=A`wPDX zW9Yeo8dpnEUTp*N$8Y6!b^VF&788 zdFT3VwAmp0VZ{Ei`CptlMGTAS!v$pQ_9%(=p z@oSZrGS{KC6Z=TSVX&Lk@)uI)?QdR_y?yg?m%Vv}oAxYQ>v5aeyLmVxlDD~v-!qAW zY{=PuKj-9Z89QtHma$pew|Qpr$>d}4-?jZ}`u${S;=J9I-z|R|9$`Ed@Fm6&bGxFG z8OP@3f}6bbr8=`9KYk_k1!rm=pnXc3i*Fi{xqXw{WpB!LZ`Zjif^8G9y_6Zr+XQTz zM$Fv4X@tdR79W=b+a}=M=E>f!7<6ji)qs1#;Qr(X$d%hu%bxJNbGCQ5C)jTLtnD4( zvcp|$cQCi_%OVH++pI~t+j>&%ZW?hp?Yp;YomM(+>o+s{HHK~9&ghRVx9t0CGx~q1 zSP?RTZY+EoOq&6U-*`j5FS8+&uI zUH(6Ldb`VgPP_2?QJ;5`?fV+*N91ppqch#ypP}`oP=q@)h}S1`wb#lBF&xbymt%8TLtPX>e<{{lOnlBqyX8Ur zV05KL+w!XwSFvcD_Xm{&T}f_G9c}w)Tk{LW(B!uTO=P|3#=f;`$-Cwn($QKkAVcu z)Q-otLBmv?T72&=-qk*6IrmZ(Lp$^AEr)9Hzxo6#JW!j%Z|V|nwJj@g{<+HNqq&P> z_F7v$6YYpEr)an1|0~+1h$$9@pwf;IM8QCPS)k>2;i6j(dX8oH^ZO{iLZ|ah zE~nmkJ|5wGo7g1Ve9XELXZm>$X7sE7^nAOoQ`TAI=$X}@h}Dp9hi>EyN%FUif3In) zmhHx;TIGw3wO`;24}%`i{BR9)P#*YRaI|reH{bKX6lo#?V@=#7IW;I{Mr&fW;>vF6m-&OS4ZC*;4p)7M*&h#4mHCKcyx zr;L0>ryX=W{8b{^HjFF9*WY6tmC(T5)ZSBZ{EMuISqJF<$iJgY=J7oI;a59-%oD;N zj_52OX`1fgxdThD+kWf6PpoU@dB|;cgu%1*n7dOnNay?D@$CLR@J}*lWpK^3_Bzw# zz~HQ5bJi5`IniJHa@Br2XUP(W@tfCOw&nt-;`R?tF01@O`Mf@4E0o1PLe@f4>zwd< zzDF{G?hBLe6&ikq_r}{)fu0WKG50DYPN)6+WBAQD+xYzraQpnG0=o!`wh68}`bWVndF&N)M0z!KB^HwU}To@miTaY+lh`1%J*)NUC5 zQ@i)muHKJj-+7F-2iSXO9p|nH=y3~ttbJeJV_)o#;KPbXHD_8+olD4@RvyXA;O!=8 zqS&GA7W)*OoUfQEe@--wyiw7gs<)DQ;S*o&)U%IR%Oo$pv-QM?&OPsE_iJsSgSF~} z433UpgzQOXkU4)aDOWcEPok}YxMZc7G2BX<^0_r8t=Ts7Uu7IQW?YiJ@AFLWC1-+h z5&tDin#2DGaFE~Q*zRk%$8y^U&d)=3q$lM6i&sLdmA3(lPkXvurtA)6dMj%yZOD2B zu-%FLUps_%=zw$i-&Tw+n8baa_#1bkBkn*KwE0b$;@!x}v^C68HnSE~kz50k-e4W5 z%vx5MFP&m78<`)XPMCh+vHWK65`M`OaMlT4n8v(vbo{m_@oCwkuNc-|m&Q9f{s7PV zz?bGy7Z3;OVjU?2ydm0`9+IAt%(MdMtz*bPp)dIVsL3d`7gAUJ9V6!a82AZtzP}fI zhz|vemwvb-ugpdL5V#0K3-$RIl~o%prS?^{A^j4dlT1K)f$sy8+R3Dym}?B@QQ+I)FB@Wtu|=im*@6R}kImcPBQ`K7mua#5Zg4nD z^tmXZf7>qM8$7m^>U(7Vn%U$@UuMcyRO)|DKJmpetv_`$o>&q;;xFOa!H@9GI(G{(FA>J z`gHdAP-LCo%D>nSd>0Vw(LE7CJt8d9oy+xFCCA@)Y-0Urs+=1&+RKri|lfq{9#?aD2^E;0hKvaqS<||6{bX z@kGMjyq67bklRym^I*Wi&D=rUxNP~=s;gYm1PsA4>{;1U{7;Qt`bcYNniuF<$|jHA z;db;25;NMXXQ!E_)#U*EqD!rSo}X^_D$~@dz)Qzn$tEy8mw?SJA3=^5ca=*&v37#)Oyr`! z@LT1sMyi9%otI$S4E~CR|Lu$A*tc>H#k?aG{guBbCyFwv`zZan9N*D7=i2cdt2k$; znYDE6uHP%2c_aGe7V>%ZdkK0MxLR*V&lLpwH4YbfbcXu?g=74Qyp(SdT8+M9OlHQM zL!qCTvOUB@LOsUrq))9K?WKI^CFXVf4{@)HYa}sK+V*)f>~pcvqL11PwHy0Er_N~S zzv5XB@ZX`)Jm)NFziSTshs=GRcy_@K_bAzRjZgFVIzEgykJ#VZAmg{1nVYlU?=1HJ z5pNkA{j4jh6esdwCIY2U&-Jrgd(C)Q&X+@T2FdWYMb;~)Kga-7Cglo6wy z-i(Z>pQnz|CVq`8lCVh;#{Rs{M=G9G*2ZsStR%!-z&z!%^Y@=vH;=ZP@zErA>R)Yq zleR@u1Fr~|qUXarQ*26hE{JY5u~NH|I57C@F??Rdhxd-=T%LbFvChW-_=50<-)-P~ z=|IV#=Evj>MtAbxX@m25E;_YdzYlsoipL7am%R7C00>+WAHS{kY(0tunz#U%v zuJFLGh1{Ls%!xX;8~S(j5wa}bQ?jh_NtPwYZ!%u>`{Gw<^LdvY*8fr5<;Yw}C>m)iGI?P<;<^MO@FqRXDiRy-Ix9h zc`F}!&hEeREM4ZF=fC7latFQ-O6KOkKk|iLe0+Q)PYan-NDs6zFNiQdXvgpO%@{e) z8{!%B0pV_KCF|*4i#$=wPyU=kM<3(+4d;A)Kwd*|0^dWr=KqFwy4Q@$rkwMe+VW(d z3*yfJi^{-5bJs2L?(TTlvI`$}k8;L|>_5c&m)S?0l4bEObj*7Ie8V3H(Qm7y-%Me! z{|oSE2-v%zJ+VOe_ab|$cozC~;5T!YS8lG0bN`7GpPCDljB7u5PtRibblrUKZr~Xe zoM1W=cF^J3gW@~M$=`s`$g0GVI+-u{&IS3y*__v!;}uv1-|TN{-QnB$d$7` zm*NrmIOg79=Qn7Z+~jF>oFP}?g+7dJ<^{pB;AGLk?VmXj`PO$yf-V(P6aPgw;oOkh z6Hel{lKl_n*-Pw4fe%BJryS1^>v{&Bvw%f35sw_xyzXA^3&6jw;jE)neN%FY{d4O6 z$r&5x*%EIR|0Z}(=U+Q}uzIAoOQF-|&B{43%99``hP6z|1Mq0iS}XS&V2k_tU(*cU zTZbg}@matq9dn-rPg3reN#9bupUTG-{Vo0*%HHxW`YwrUi+P3vPcp7)$c29S9rDzf zXAX|xcNf`9QZ#keXa;4{*{hY3Nv+Q)hg`H0EhInV$HI%?s|%WmM^o`2jV)s=YlCU+ zrME*ag)>(*w3Vu>Iv;=!=_K#-_*u03Y4xF@!#jclewlu8-pP7FaF-80h=s4qC-(no zZK&?^lo1Sy<%ZFJ(nGH@#!u5LqARpH*o>}FY+?^F1#G1=$G#W577(u#9<-(>J+hQ% z(6a=7)>(jgl39)OGo!H=$iCndkEL{ZYTZwDS5S8&c~Zsr-#eL~iHAD&C3s;o^ipi* zP3RnBokBWJ-_7mTGvRjpRs4PQ-4T3n$EW+-C`V_MG;=4N)=Wb1zx=2#(TCz)G3NB@ zOY1EmAnXp9F#5Le*EKu@s5M$u?y`&{`aC& zI^@etJm1b^Y$5JrB(T0yIOaSFC&ofsyBxvA(LYoNn3|p*nj?$_ptVI`a);K_khzdG|1t7FxCIZ z1H05$MCS=LOtv==mj%ATT!fTNr_0O5)D5NaJZm~9b!O5wVs8d0dmGZiYX!9+x;bB2llEGlsv6 zuC!>Ie8DCw!RwrJAlrX(4ZVx!trwY#oAWjnNiPcbk^%96*1|qX#*v&cz*q9YA7S4` z#{~A;AgevdYV15mFYgk)Q*^sfbjyz9S>n4i`lX-25E9?Md7<6(hZD}-C=qz^ztK6u zkC)#E`2BnOlK*iFpFiUV?#jE!e(ti1><_+>r#&gvUgmzUQ(rJx$cGF1NIwjt|L4Jr zo^uABqrVh~%I3MAHIs`xk@gj5{&jK;=*?Y0^vGMUomh8>vBR%A&%I|m<+PtcF_RC7 z1u7>fowni|(O2rwiPq{FYYwlx>Z1hU6i^1g%tu`;-Idp{C}%$a?aJZFXb5 z?L)6P`YtUt0vyi$zUe%#nEwREEnfUj_$o}?&gU}I>+s`4`0?^p>WI@Z$Mo0X)62ex z@#pnFW$VRP+5?s@59;f5-c@df;O)RZYtLZ>n=Bn3h9)td`R={Y{uy}Dd+CzvA4B(~ z@t8@Ihr`I%Nt^46x6xJ|?NltgkeD9vrsc-|0c~kq`n`|-67VI~qMfo=UFgKeM1%iL zd$**ur?ZAWy*<{V;U~d258Phz=Y*fX=CYH%nZ~Yh`&L~fc>S@N#{LfN>w6F52B)Xo z(c+Z7`l2Mf3H{Gm?T$`&^KIbQlukz;j+!mSb^`y&{fSAN8j4?N-%tCJ4M%R!>6`iA zg}#29IUM?L*D-htdGE3FalHe+S>h zt=FN4)`gb@H4iz`hfWGHZvMMl4?Wp*0ax97x0H}4EERXEW-FBZv;EB zD~;f##(@#L_$^@k@f-L|H*(%7WxIfrcRQqes(ELy9sh^^sk8GJe4o^j`yTjLV3r=x zy4~Zvla9m(J8Ber@w#lUarN_mhj&>b-rzZwILC~6;ZX;E)&hkKeP&v7rpvDPB2VJ6 z+YdN?*$&a)J2}&_k18h_JX84_)60AR=knL4m!JASm!F>~pNP$Lx&Hy4luzXOJaR|kZSzmoc;LIQhMmh zY*V0e`)EO>TC8aohwr!dO5ItJld`l z?X(8}y47D18g9Eyp*`~{tKVg&@_Tttafaz9SD;6Gk(n<=i;cBiHe)$F+B!R+n z!3XLuB0kvfAN0L`&)DF_qlWdb3f@U?`kp%1euOcG*i(s29F&ff5B4jbb+Jw&JUGwZ z^xF@r9M4?heQ>JhZxMrSdvdwfR*$f+zead}m~$9~m$1r#6Uv=3AB;RXQ}Gtg3vzev zqP)tQ6*D^>ozH$I%~hIs4t##Svm!IeWn+In^2YxiX6WUe-X!iEUhlPRFT5>T*n~U_ zr{3e16Th=wTG3-21)u6e_(;ly=Cp#(X&)HTEn|KBmwr<_H8D|0Wpky3Sdsz0|>F#`ScxLBo;61{al-sENwwEQx)=O@w){IyK z+i_X`2>XNL0=xVPcjuQWyRnqLA>?3trFWOMd$RpFFx4>TZv*dDe6Hs6JM5PD;hyB&?gI7kk=0)f+;3Ap1V0FlX671{>)Z=o zb%u=7=8h@$uPC#dK0?s#QR4Z3<98eLc-8Ts&%Q`p^<|zdOM7+~zvW9kL~IWmGf)*Q^6=?^fWyCH5YwjOPRKVEJ=FH)q!oYlL1k=P<4WAM=d0 zqF$cqU5uPRt>tx-GZ2GM+UaK=u&rVobwe)i-0R@amB8P@DRu<>g?a9bZ`LsTJ9{1b zdemAlvp*;v**V$%7SA?LGEJ1Jc@bJPQ~p-ky_?^k@V%I}oB4*Xs|Q@{`Gq$(p2Hbf z+_T_S8!`B7&P@S_&+ba_ndByfO*Uz=BmFNtlH=pV#ih4YrZ#C`PSJJfn2Mxq{ucd_ zl1-g|z&$b>Qaa0UzozpJS#|6SZI+ji3;&qaue_Y_DtG7I>|2pvmCDnpf0OfklJl2+ z*vAmKmyJ)HL6GptZPmfDHS@V=@Bgy* z=7CXG*WdV^Y=jVyB`hk+ldvU_Koa&qU?v+x!`(=cNV z_RwNJrS?OgjebB`6lZM5p3u0}A;iarW?S;6i^bGE>;+AIdAB z(_0dU51b<`YaGBuBIty*sCc|LV}8N0;XI5Dq0eD+gN=SO`cCWHqUDu;D!rn0Cic`o zzU+j)g+8>pg8c%r!-Dfn4C}~-y#?WMKjIAzy(vC)(R#aMN#DJzD(3G$OknSd5p?`d`1@vOu$BMiY zTMX=d#XI!8mR9iTQshHEKgRNaC(Sw?2ahVAv#dT2J{35x3|W&v8g*d)X9aE1f6rjt zu6F?74sWET=6Ygx8Pcr0D88)Bz_$RArhhhg6>awx()179dFne-72s*G&s zDD+46Tj)GDgs@)4ek^b=MFq-sZHgEm%Z54`tlJpwKf>8)wDlZ}O@T@=<8i#-hNl8$ zC4V?UH^!-4A!aza4v%uP&Q8#<@&Yj!qrn58IuM`f-i^ zZJaOq3OWkDB>)*Pc$~nQsQcje73yyG3D%MOHedY+dT!LvJ_2{su}ud<=K$P3NbRlN zJ_%#0MeV2EKIrSy+R$c)Pa+Qb)pi5>E2}{xq!qRm($=Kz7E${o2cwO-7SWD9eq8fK ze0f(b+x~O7j}+D!o3<*QA{p!5d04OHV~37ZOW7&FqmT&&n1Qqgq>ot9l8kY8|6Ep*KqE{wS3k~U@ewa+YK|IFsk_--J}$-a-WZqxN0NdNwEX8F}U>}DNWow#4`L&=+muzt{`?9^o*#~9j*HSu<= zFTx(lc`CoX+-4<2odh6wG+}-588nolvkS#S^+Gt^8NX)Abk4a+PwG5uGoHulK3@u;ECT0Dz~A_;?w}8_hJv*c=(H$5 zWd!_M%z2aS?+D9vk^Tv)E#ASoEVixL-`N(>sm56$qo^M;zO_6~%B#(wQR}8&X~NoC zdK>Qgs)TH6%@=JckWcuI*=o?K{4vly4|LxgE2g&MESv$JX~n)RKj@CKO|JacMMwB8 z74D5YjY{BZN5jRs?^o{M=o&x2H=9Yh26lYqxsQMVTnHdJX{40TqvORJWPw?Y;= z&_9??)U_qD592=VanV}}9URXfiARdvyH9> zZKTZSJSk#qc@O*kqOmubV}uoQZ|7X}jfK{>4#>V%KIlX3upR6L#65p2K93%BF7=L{ zXapPj0@``!f&$*{JUJ?~x%4*F$w++c46!BZ%n;<5ls5$#Eh~waoPiK%;U!aDLVEG;Yx_~=k8;^o6;k%Vt6a80nn zYHTZ4JhR;rUx;suT2^0<`EXKvY};X!DFhyR3w8_eEWZ5<{y{&-H>i(Xv#R2N$dq?^ zZ)4iD?_kYsAnf%+{pepdD%FyAMfOA^Gtj)>ay=~++Bk2I9!9U zzo1-^ zeG2x@L(bdqJuIBTWqP-*LZ75O0Dbb%K0KRy4C&tvchbt4*nY;vs4v$gP2M-_!E&4J zLEU~oJU&}f}A8AFMA3~aKH;A?akXJ0%wP?RqXH?6GmnR?ChqDI!PKav5q}_WEmVKV% zfU{qREWc9>mhDA)u^sOOjb#6Z%rVhw5^V78wScS!xHb)9HSW;sB&8(EHiVhPeW4A1f(mvNBqAEMi2AJgY1 zS$CP%!{b{XKw6S^4Fzpd2ZBDpGKa8Nfn$5KneWTv=JD0m9DFc^<>K)g{l8^cIds<)}*t`s1Yt zcO4+*moY0!?geR45%z1~)YUA|PX+elCLfy7!uuwm6Un=LK*vuE@Iw;L z5KKmyC<8((!~o>GrUrFAhH_sIx1=vm%DIpYxTPVc?GCt+ZjrhsX_Y=8ZcA(% z(J0n@WYX)|jFt+}*3>gU{2F>IX;w3#Wd+=wh!=(Op^T+0E6Z6CZ`|}P_P3dFh9Xb$ zB-@AmhjVX3P~i|C`G7JJ_od+QAZ2cUG;rAUJj=XU z+j%cX`h4epFWE+|NiAF8X43gJ^np#FDQRuexuaApzBNJ7>sGYQ5rhc=r+)~zC0cze z=^fZ8pYH6ld(8E2@)GB9FMwZU`%w?aJTAF$e%n5b&&jYu^1NFO?kh~;eG8$K7TY{| z7fFBH*5qvl#ukeKy?K?d(no~ zjQb={Vn1gwU`3p@32XU#p!4mCh&RxJd#fz9yf-r`wNZKU~R~*O3 zJ#43x8o1ptugPk~T^==YCrIBB8~V0|P#;T@Ds#+M+xle8hpnJTXnkMVRwwU|J251n z-bWxk84vMAebEVwlb^QI)&%;C^0=1YypDVI;V$tj;#z(Uo34CM>ebQ;zpnlLiCyEq z;=MJUdF@9!FQTk|@bdntaV;;NGoU3Jc_%?$os3G7-&XCOMk?Bk{7=4n>0QaoQ}PfV zW5?l&6wz`9c(FZ7G-2Q60PF>ociWGIjR#>4SKzFpxFYJN5Z2o(FyCH{GCoW`Sd4q! z;b++rb(7_*llv=BCV{znJ^c5(@8ZMIV~+Q?`(wsn9GL$EJtB5Zm@1bl4EmIS4z?Tac;b)6jRe6MGRh^qu8I2xFpI{y8Xr zGyI~sUjXTFpFlJF{Wqtzhz(IUy>%Svv#!tuCnGFnEZduMwmaQ9PF8|1Sw1V)Yom;) zajhtK9@iX}_i7o7wkO|4@arJf6+E-12J6QRD-QH(IRp7zhV^3y^5VRf>5>-a9yDXa ze9lV-7~oaVqj>$3})!$^&^K15fu9wYzP^P<&d`5nI0(rB1#;*7# z#v>n##NI8F5e|6x%;JLx*Pb19q9Z%+#GIQ?lXvLLd}j4-d6hP0v<>~~_7c;GNoX0_ zEseX7#<3MKZO2y>V9o#QsWN_fLdzc!|0LYmX4FNdgKx+W)CVhkeL04IayoQE0iDq3 zk9)Po7q(%~)Sek{XSZC3am0cAc+Ngj7ff!q)vuwxxMgtn6Py*9DsD#W*f_EQjN!)w@!g|wSd59!~( zZ_B0d-x+0-Hn?QyrP95mZ%YX7t#EfdI1_uphL(*2-!q-nNTVHTa37EiyQ^(@yw!?(({gTqH5hseXmH`spznzEgwEI^xEv@D2& zJ}IaV_aD&mZ>@*!#2SIcl(pb@0p99BT2Z0q!xqRRBNTNL(|ru?m}(9%DwJFX4`O{r z$!3nD(-4RKm3dQNwph8BF8?me9q~=(I_az5n)>tUyLX~3|IIN9`(?=oY~!f@)Qbl1 zw!`n>ca|AHN8coG{HY!DE`%XJF^mm&!g8*NvdZ;AJNoy0%yG^6a|QN2b8hkl?=Zyp z$-M~tc4Z~Pv%e&_4rqD&Gj;DrCBD0UaUN{KkXaVo1;cT;1pPb)=OkcH!v3u}oL9?r zUzW|B3k?49JLWIXW|(f2BXlD)Wyy|2(wu8)=AKnG57^kv{Um-bB;SAU&7aA^Q4a@Dmo@M zu2+2Tgg%LV`<)gYWf8G4z2Z!K#G0{IhTEB`;9Xyjk$6vV(=UJ6zo&RV)%`JF*K+*n zrvEO#J$@BGb%KJMpHuP2cf(Eh|I=`S&L>;LsT$^Jn5&^p!y*k!G+eCV5)IGOaHWPn zwY&};-t}L``>E;w)Ns{0|J54SYq(Cs4H|CN@G=dr)bJM?rma=&Ia|ZU8agywt>HQi zn>F02;rmV%|LbiEe%1~DkH+`v@b_M+_{PNV*X|E#*xn7A;c&-{{>2c+pZpGgqlDOW zGKSquSYnc}*ml;tTW){$oO^z|`MuQ7E3pSyh$>gWUgc>FHrVUjb@jd`d!@s>+K(=6 zudlKPd=9U_))8>q9WIy8?T5RwzOJF(?}1a$Tj}w-mH6(1 z_gbIZp+mUp?UnWQfwhfxG2z(y7Rw0lD^fPx1cE=NF0CQ%hcdY#!S-0$}Kb^6l3!B=0cl2QKkYu!Gd z$HgGk?ttCp@vpX52R$r03K+0A_&nZ#-CgA|>E(6V>wP4O-5;#<)+442$H*RURlN!- zbMV6n*#+FrfM>1SURMd)@aL$lt#{g8^})(o)Zgp!_z=Qg3CGpaAC*Tn{DFF(DmZbJ z(o@xBuK`irKC}gYijI{I=V~+|1F;~UfT!N80(kt=b*-aTR!8Sc0!eqbH{kQQ5ftGX z&>-P(sH~l3ccOB32kJ`-+XGDvnvV3Ztw$=_!EUeeSKE;aBC%Yu@%{EHpIb%HI7mic z>0f7G9rk8;kCQD|hsIF;#6h}BnE?FlByR)QG2GZHoN{;gP?t_`Gknll>+qv)W;D|s zO}bW>L&i75X=j$FOS-1J(_?ox*w+NzK~*o(A?UQDp&FQ+2>L5Y0yKup?RWY-4QN5S zuXA|N(ZDo*{12c@(GfpSwiE2%7*0UqF7QNUP&S~%y@)IOVimiV{Mp?#D2fveiB=LOLSopp^)(9tQYCxF{Euc17C^xq&^xsfef*Wi$C#RTKcUn+kl(g|Dpcm2hLf7;z9 zf0k4HRDeABi#o-R{x~B0!@utN>s-U&6#3Grzji-Gw$iD;>G8w4cltIAH>{o5|NL$8 z%H%HTY&}omNgD23-qpXSoRU^_4fo6SV`aLBo>s7Xye^q`_XK{+kHi-kQ-0`o*Z(s9 z{{LnCga5<$n}0pV%6iS)I8wrAbvo%kSNM@`_!}C3VyE(dN8|f0S9tqXD!mVPDf}PW zzx{fJf2Q%8OBKF1pxSGc&i@Mf1csY++w|R(H|=Q-VooM)^g6y)%RY}@w?~$ za{S{@vj+B$@@JQ(>@U4G?zs;*nQuju>-*8k@88>V0O z=2zeS{Z}tN{L~Zk{|NQ6I$NjF)BQ;kR|LTT|?)ScM!50e#&CZ^%`0R#$x1N0To%PhLmyV42Y-&r~o*~Ps)~+2~G&VIpr&+ zts1ia(}Y83>>c-uoC)8a_EGKY^Z&g2k!`GuyFeC6t|ZyoBLdeM>vfeWsgaNq3b`+WlT>1c26uv#pSw?~JfY>!#~ z&>k1+WqV4*c0Aeqgf+(UYq-e`W)I>PdL`&pskw%0^b$I<2&tb;8twGRyqvAt+H+&(Zg z$aX{w=y<;QkhQ<%llII|mhDq9spIqJ&#c*EYRA8tzp_rVeAzxFG}-ornAP!3^S9Pq z%gOdRq1m?YEdOrL3C*-jpAed8`&eXj zeAN7*HQn+~`>4=p+uy|4j=wj*YaJs}I^Jr2+d9&6ygfN&*p69R+bcp2+fL!^xV`x{ zYo(~__;vGdtksq~+ub3T?G91fad-3YtaX;(x7UZfwtH}E{HoAu+i!)ZJ!pBf{i4t&+d;9hUL{KewJE7Ia+Ie6@9<<;wQ? zp%U8_qM&0-^Ci|o%Vq6zLq)brEt}i(Lix6fg{`BxIb^j`0$iWjYhAjd-#;H*-22AU zpQ!6~^%tuerrha#|Mu%#w`6bqYri`Vyw-H~`!5{Z`pV%O#+TgR`;iUzUeqh&z~5WW zI=J1{|ADhUGxn^Sx2Em$H*Ak?*?9ETGd_6d^}5CTkACsgB}Xn^x}$bb`>xfl^(QL7 z{qPz0&lj$=B)w7_=XBgYpQR1{+;MqbC1TH`|Txt z53k;zaOb~w?VnP+7CzVa#n;Zueg3z1XTCBfN4&8( zwD_f`hd2%$-2cVC(w{MK0eeXk_`VbuG5?!9b7{loz! zHOqf{mZKv#qw4*8;yb+uSlI^X?b@#@u;j@scbXSy$0ASyrm=(@Pt z3-7d?+3`jE=4DTu_T?X5+2daH{sRO5ap2Ky8@9H6^X6HvR~BcyI{5PqN3L*}9R1I7 z$9?nvvUq<^KsU~fCH?Mdn7j3Qn-Jt^& zulh4$3jTIh^dx&p!tQ4_^nHESn%G6VZBb+U_wV!QrAFd2qxaV=+j~j9(feps+pX_7 z{?hNn8yD<&=9RRR9f$Vp+x5~@Lv#0@*W7pCgqbTJdEj@o54IZ@ANc70y$64p_}2Z= zzdU?zV8+}R{_*>DhkrGA%wJjKuUFT<*>>W@$B$l>|L6llU$|;d#e28E_~J#^Jiqga$6lUZ`q`TcKdpY~ z`RZj4|N8Z~{d3Npdf&WP$M=1?$6j@#c~@t9N~Tl{c&DQBTno zdmVo|2>Q8pN*c|=b^SCQ7IG0#4dSs=7UeB_Ic#KU#!?SK4#V4 zmA^Up(qmcA9ooO`mRHixy627a_dMphY0PKN4{yGGRWRY2x~RM2dfz-}YQGOIsqW<) zv`oZqKIh+-wdbD7 zuaBHu?I?V%c1Yt}39bJ;-1nvOi(?i%wl{i)V@&mLz8X?-X#QMJ@n6?@XP>j``Fmbl z@!~60ecrTwGV|qWW%oRM*ORwA^v0&=?wkAm$^DtbKYQenpFj5CA2YAnTlVYQ_l=63 zdg#Gx;$Hf5+Ojvw4_3c2a>Dwmy$8;5JP~zf&CjkKUq5czqkZ=6yejeWGvAC|aplKR z85SsZ(IQ5~ie93(=!=b#r$a}`5;oxw&7wnCEX@{6lqK2{V~MlGTN0sJ55t+MOpDc0 zLD|8{y|d1hTUX~aFn2OWU5GclY@BI$stmefHtTeFXBvSTx7TnxYwC^s8n<(`$6IY+ zUX)`53%zS61R4Xzgb5R5qyVPBMuuBP9(5rz;M{hjG0_aE(?a^bpx5ARl!4sdwUL>W zz}f9G;OgZx0GOhc zd5}4)P7BROBLf&sIuetCWXrhRwT`CTEK%tQx_p>1=4NG0$&_i@p?=$#j&{;nY&3i> z4<@d;6Kg%*V584zIBQqiJ=I=VG+;Y|nZ{*^)vQ6Ts)orzcI25WD<6^fOc2RaN81W2 z$YgykvyPJ9W?PK9FyMA?G;)n5w_nqdsn;PEJXDl!DRiZnB=q;`+BMUzQP>hPnq-=k zQnXu@!!MhOe3F7@FwsoaBoP%Lu_sAdXA13H%?j&d6+>lsUY8*Cb@~kU3mryUPubOEE7Aj9h9vH(3CUPA zfaV5#P1^K|{=>HL*ExJn)gWvKlNZ8?|1=f>2PnS43xy>(1aEBI+==j*NDir8oz;+S z(2X`J!?%t$tIi;Pmm|`*-b|p%Pvc)M?XKa-Qe?1BV6EILM}QJUi)&SqjX820P;xs` zP6Z2D~5LnUHl1dLH;rpBl$Pp#YUS?|_aL=^SMa#>QA_uuEjs+~&Ij=E5> z`o>cTT@b0hA;4&mxo8aCQj+qWxblOnMizA4C=68Q|8{1`LT5&jvXymD{I9rW)P*Y6 z#+h=E&`HP!fV7okY-iGHcxM~Smi1%R!0DEJraJw9nX`sO^P3lclWWqI-W2WMtPW?$KPLw%%R5UhhP-;t8 z9|$BpUPh=Rh!ru2{-CDOIRGxRl`hCJ@*Q4peZY_s0VA|gP_9&#&TvxtK=YIOgc=t? ziXJM-&Lo?Yl|(S|?f;=ls^<8AT2Bm2|9!_}KT=ZMTje)A4Y{rwXM=%v>47fd_Hluz zfihRSZcJZ0DLvq95ayUGyG$4Eflnu4b-895)Jdgo3%v&`8BN}qS+DT^CVrv9EgEmsc(lfMX*|&kzd?mJ@%}>n8-N+wK>Qnof7r(_2IJol z{2PjY!|?BP{5u2x&cwgr_;(imS@AD3D|^!9DO0CSpJB_(FDNVu)_c6ns(-9S42`u| z2E`5#XU1Ck4~UHwr^i}i2FKdOS+N#t|5)547Hf%0icJ>7V=czO*xurdSWEnn*k)mk zW&9|_Z$|vn8GqP-*j|huH#pY8_!a$QV;Da=DK?AoGY7`@W&Fe;u^lqLu&a8Sa9(JX zmF0SElY$Kz(k=3reEx##&vP9faMcXa`i#fd*$@acEF$0)TU9#CH5{(tdzUHqyESak zut3A4E0q71s}+3sN(E>AT*0R=RZwX6Ew?NDZtec^PKEEgRfp4Mx3+CH;SX#0#5RS;Kc-+~hl1E~AZxnlC50c*@Qy_!Q~pC zuJP#_H#ELoLrFaRY3+vZ>4vv=!)tVUncBUf8{XIrPdP>ZnT~w9mNXBK!&mPFz>Kr8 z(o=_ZVk5j%Yh??^(G$x}e1{m|&&oeh`~!FXQJet574frqUA}sc%P7)QW7DhuSk(Da zi?HUMCPLTmFrCHx3l;q?(6CO!jT&C9;jJ3pr{UuozM$c|8lKRw-v*Vgp<$MW`5KmM zSgm19$5gRsSTAvYlZs~+(9;cX?1o>~4Zpq{Zl+_x+V@kee2;lg!CfCJc*WZa?t53k z(BBly)Od!uZYWOui|;kk8tL=vMFZ3hy#m(YYhHcQ$jCc20%H5TuU}HD` zkMzDSGyK=xaMRs{ljBsqW@{)kKbiX-d-cFyt$#_eGL2);DOjuV@4h6Sb=1Bi79kV68+h$Yoe}ukU z;}!ir>Bh%q`F;#`>OYQ3*h;F*@IASA3a#E|(Ekb!5eD>-WN2b3(85LvuG1S>l^=zb z_f#5reCkGEV7^Y}A zO2fW@{Bhh!l5gryzb93{o4QW%>r4$(wfwbd{G)2+Z|;9A)b2Z0DED(T{)a4u57c<* zqBJXW8r2O~x&OcWyDyMp{VBQaC`y*$uKnF;2{$~Z@U7b2TCDKKxe6YdXvlE2+I_l) zA??4&ru>giQ1A+k-~6iTC*RCd>0~A3G-b^p5Fp z2Xr|f*7*mt`vwi4)&5_b_0;KX(f&y~UZ#duX!n&Grk|to->Ut0Y4>Y2T%^;xS>y2< zH)*fdu;Q?a6^~w%Ao^e}>om-j24P-wCU(J$M4y@@W{P}KCY-`AE*7_o$Hm(M+tcN* zq8C8?B0T*?QoLUb>;>MBZ@`m@KG81v_rlCBz5quLDmq@Y?{vIPuMRY{1`w zKg)w75b>u2|AlVB zqi%mU@X^3`1Cm~s;3)+D55#Bt{|pagckf^7_TLCR7x=5X{i(=j0DlmW{B$Lr`N02; z_-udj%plbNaozrY;An^5f6(nunvMkiYe0s-7*9U%cM+fMe?A`2x%c(D{VxPQ6Zng| z{Z|7AU-!Nrko>d_&$+<=h4`$`GCV^g+J7DJY4HDxZvSfFV}aiT$owwDGZ*+j5ufz5 z<3YdeeT#1YO~B^>e?zx_J@ARZ9|a^oU5#fU@b7f{_tgJ8kUrbL0*`_4I{^ir5FRUV zeD%Fc|8LRlZ}$J^b^F&Kd@91<3&{4`if111PZ6K(-&6m8Mz_BUVMZbRU4RU~1y2F+ z_Yt4zt;91N_>H>#Hvpdn{1x5)wZPMXw*e;NxdKlK@Dqs7_Ux(uKdIZl5@Avh{!YLs zJe%?40skA~vprVeIRp50y8YJ!&jJ2|ZvR!l#{u6DNP7Mp&pE)qM0~b?PyPSTy8WvV zW(>mr4v_urQanY#KSF%A{{?u?2L3DE{ucqC4g7W8{$Ah{fIkA*56@M276AYDNBaNc zNT20(;7LaK+W{?jn(^3xzYTwu=R7>81HYzQ|HpPWDgQn2PlNwnK$iD%JjK92M|`$t zPyPQ-y8YbMEKtTGW^AO@`3*y@!9_8<2e)f4Z8g=1U?h^OS=7610N6k z0l+?Zw&6J!_*aO}`t;QQpVRGMjWA;o{`Y{)?=n1dfq#tnq^H^cZ`JK@_Ww6^``07P zM1(&Gcp9Fo@hk*>Qd?I|D{Fsf4(cCmt){)zw7HsgSK40ti)X|W5CuhL=tua4tq!QQaanl53wHBG|hm>1CfosI$-j&lX#vutWUHo0SlbWgP?_*zSf zm1Q`3w}M~qR`BlMC&1NeGwEyMCS8>;&KK$Wnz%_{vo20{!(k)NcO_GkOcIN|WBeIM23G27Ryk4ZnXye9ojf0KRz zot{a*OEhlM&ukx)e!tNECjGKCZqn}_jhpoQqsGavBk-)!xY_>Q%l~IxpPyR(Pjz^+ z{NHH2r}7Wg`S(=*yl&-R*+cpNateF8f%;kTgz(75W+!IFIp|S<8+fdED)5BxwBykM zb^p#J&)}CClHh;-CoAJuA8gIQI^qzuj+j1fw3Vr4j#qF)nu4#TDj1Wl;J&d6mS||` zpIMTZEd}2cOc%y$wgQ1uGU4ASeV@Wh`rMhWhj>Th|IpBsYoBQR3k^;A_MOJR){x}m zFDj_yLN5(D&hwY3@c|lgJm+tS#*;OSRn8(^<5?O~f8lSc#&b1fU*oS>;|n$HrJThw zjoZ7qS9fzaRrS@{y+K3jJN$j7^@k?yPJM^Jkj5|7kopdPS7`iN4arvg?bP^g4F@P^ zu~*}58YXG?gBpKQ!@=79PZ~d@;UMk)hQ{C3aENyQr^dg~aHw|QtnsZH4%6;J_nU9D zJ7%@=*Gs$i(@<%tLYU*O3C(2k8x%jx)6nFrB^p0pLz53{HNHkeli!*(eyN5gzg@5K zUutOb&s`e-orXVFPP1Rk()?`Jcdo`)YG|gvM&s)=H0!ld<6AT|>Ay|mS8Hg}e}~3z z(U3Y8e|Kv9w;Gy!a<9e@XlVAMgBpKILzCa0)A$h$d!hsNZvGzD^mje9gS`{PE9 zU#g)FF3k3A)$S($+@tY*8k+LzNsT|Jp($tH)%eF6n*6ylQ`IY8-zQ_rtLn+heTa59 z`{`L4AE%+o|M?nUprI*G92#Gxq1nD0G=7POCjZ=`@w+rM<;kNOe_BIRp1i2>w>32R z^IsbOPD4{Z4Al4D4As!=FB3FASwmQ(s>(<$a#z9||M4fo$eNKeDKlqErZGMf zM-9@T(4>j}J7O`Z?i<&eogpfwS8p(3YAP0+#eI@Z@3VA5zMKEP!OHdB_}t%pmiO@7 zC3c9Nmfwn(@OP(W2O#W4QAaIXET3AAA)Wb9t4>%>SklBf67pUBn*rYp{JTV4_U&cg zW?(X1edgd~^EcM~WsFKsA2n)}IBnqIVP~G5-1(A@4UoxWlatSwi1qhetJONq3M2Fx zSYcm`HFfpxsc*ppeNZv{7t(N*HZ^~-y%rX0(LY)wC7}#s;?6oNTExby%O(;B(|cM8}USoCIKrf6tKj8 ztcN&z_}RnRnW6^_8a(v$Guc1S7FXlnK)~J_4g(w}T@KuI)1JML+;mVR3>uN;SRlmE z0~ZYN`G?pTl4SnKe49Jsv5@H*<;M#^Y^N&;hH z-~ZTvQ75mQF-E(L$|mgUmOe5)!-Jcca6u7{=+CLVu3TG9Ju{Ca}h{ifkpr$?;FtD9I$g`b(o+UMEaS4@C zUuB>aMwb-)2}s_bV>IF-9Y0Q_t_gZ@wNo{YlVR&TDk(47K`nWG64FHFAVdAZ2A(c* zyCx)vavYXqez@Ex;Hz(9TwK0`vIiRiIB4W*z;^0@A@AZz5M{P<8xD+;AeBK+EsjGb zh$>u1RAX@aKQ`XuFzNjH`8lk#$1AU1lBYRvQVVwlO#YoU-gTdm%UgR00sA}^m~9j}LyS8L%+ znA<1sS+XrCC|y`wkSz3$&9OLpz%Bc--E(9!o$K~_-L>kh2M@mB$l>VB>5T@@O&Ozu z#<`xn1bJ`=wMJ~efg_~|?X5;laDD*iL*1yKJO|>b13|k4;2wL%v-=!%cBiAk;q(NW zgaLNo{!#i)Kv6x8T5=C^<GEnDm%7b*Houi#OJ^c}WT*xIaxayj?cFi5_7rc%O zRX)nZw}+#Zwixfw$s9d*}PWV@PH4E);3ZutX6zXw#`vyl+lsyItsm%J2+Bi*cqX#J0ma?^b(nl z&bl*rSNHFwA8??%M7WyyHn96eq++_)`*}s2AHqu)AL$#Za6$os6XgGNqZXpBRy(Az z)|B67cwK9V-qC*DGb6kxk_$j)IEf$AFGYfpN10cQBilI%2BfyFyol0*uK*ATI4fG~ z_EraKD7t1zafbn9nZw5eeK|%o&Z)0+G$mCy%jhl1+ z%JA4z-+++;9as)N3Ao=>6qc4QEQP?X5((aV)J1njG}T(jXG+%ufwO94EsS1)4@TKwa5Q)@|`BBZ`fDI+IbOBUv;eM6n*6JAL5Xg7#-mIk)_m589iZAHZ-7AcOxhoFj7>HN z&?xi?3f>5yMp-HmklqFIe6+z8FcNlxu?)H#loaZ4W+bBy$EYz3%LDEW3dp~%S_%A( z3Mecn0lxo=;M0P&GW_&4bwsDHX;f(48s0gWW%u~j@L+kS-R-s4J4f<8%U%<#jKDMP zxRX-41C|sQj1*-hg@uboiu`%D(z(S8=IXb?Qv0IPvIXTpZKb8fK+DSW&KoK6Y~>{j zmyHyQ@{0@Y%WUTsGQfgNd$9_-AWOZKEG;Or7h+PhsCZ$f{F^2JX3M{mnkkwgy2AwC@4@jyah$?%!sdr{y-7RD)k<))76cXu`KRgoG1Jf)thBIuy%{5VFo z9t*jEbv{*n-DQi4l}L}A5%g4FnT$%Rdws(MEWl*R=aN1H|W%Y{p{F80C>Kn->SPIbp>4WJ6uH499Azt+A8lj;^g$ zb0+yF=gepXj>Z`H3e*Ttj{9^~KPEOGEN@WOsspV6r!F@XnM$Lxs8Wy0 zF$!=BkZN5OZb3F2hB+ZTWfE*b$q1xl(9gfTT!1AACq7aUqQ_E57OD%@;^rjQuHH-K zOw~=7ZTSymgCLkMG$=w#Z6Z0>@JMM!Oki?R<*Al-2}u;(yX2ReYyQFoMa6UN3ybU} z#d$>q<@SY33rkCE=XI*I?DW(g{h}Oos>XHEyqJo*K5QCw$hdo-F;Y3}gXLiklm^t7 zl7=Lawt`YUIg!;pC9_b2Oc2mtl~g;~{I9gQMclpo2iJ9U2``_wAO zYIU;}4L7jAI8lQ%kx*tT@p@8*vdUQlC}+r9kEwlXdx%lv@Kz%l!ib5gXOSGdhyqGP z4mb<a}hQt4_U7vVuuilRlV5$nFNK6?j&@Ds@~nSC_s7 z-jvq?i6Uvd(Ohe~Qg;l>29E6E0%C(^9n7Sut)8+>OCIhP^$RsN4$Sq6IN=I^6D`8hMvj0xkRTRrfSJ%)3<~{z%IcxWjIymK=XWt7cUZ;t|YOVFn|ROVoP9TiEahA?0z(R-*M)6J~ecDWKd zY)FhNn7w0m?WtGl*dhaW1vy+!%x7dJ6V&vcma89_-PgIMsE>|>B}RC=AIiY#v$8<* z^CW8Q(vvwUuEVb3MiB+D+DaoL{pvh^+0Vk0J8AZm-#Y1Za@D&z)d$BnO2f0y2zp^O z@ViMoA>U46@n!OiqzG>sdIhK2ok?R%bVD<7$!->Q&f(;o@tHOm3^ffWP^jIc*#NUx zm})hBgRxXHa;(rS0IdZ)D}T}-!I*}mrqV!Yjpz6g*5ZsR zY1}rg^^^=}nF2WshLy@m@IRT3s%%aCaNeZdB=}=3munwZl z^oS+P%ev^q!yQ=3SGGT8lCmwaLpOH*5ye=bfEC`eo(U+{pc7d$ujE`R!W_{QRiRlZ zqN#9^m_ha^EPynoYeY+)DymVia6uu0vbt`gQho%(n7gRlRGYxv1v2Zfk zu8vaV7C?7S7RrL3!PILZzTG}aO@03thGh&)^dqZQhbhk_v9MMJ)l5k;lloeC$TWmB zSOpuHY*>;*WtE*3oJ=DdI|bI~z{ZoZjY>}d{UhC&H`_sI zgek?Ynvbyu%ODMzk&Azjk+i}#VZ1c>u^3K))DjkK_(3d0j2`EwiYZHy1G5Yr)xc*; zKjxurlFXztuw3^9HSsYU$W*BCE-v*!ga6Uh&IB=*lyr^dSRa&ze)KC|g2){5BNs_k zKg&@ClwueCRvX@z_#qKMasPBS)0onUH?a%e!5@aT{pA?|3T zTp*Vbq*2o_%Gpy4iAc+EDTt|>feViaP9c?`4a@W3iT2Akr>nG^7D008ZmTPZkw_+G zQc25oWE8eN7ZrzlzMiF^cFtOSu81P(XJesXKtw=MjBqxcmUwY{x5Mj1lV~Tu*f8OO zQRBwXNln9YfD0dh!P?417?LKcV+0e?(&|%46P%){uQ;zSEdzjsWqsuuwg9uiyzArg z3){CCW(hF7)58fTSF6aoaxF)7OA1q10A?#V!B|u)Rl~53$bn5Nq+m*{9^*?tT#96m zmU?Px8mQ*;2h!yQ#S9GVLJ$T74s!qPZ_z9CIJtLy(2r>!fsX0^{*$WotCx}P~Z9HdZ!=w@4 z*$J;}Na1db_Q?4XGj1012T0}}?3klWj0!%JMet}WCa6V`Sr5AmtK#p*t+|l3` zSggs+UT%yOW;%rVdhr^?ti^I1l&Sf7xT)Ag=Hj|gIzlU`4T4=x9aXkR=Q@-62v=$v zX1CY~fhJN49U2a`R>}(A!Gn_30yXGaDg@LO6}QKLY&cb?E(#GMs*g0WCr2jSLwIKm zRsrqkDEyukCzs&U9)gCGrfNb{6=GuPOm4)e##p16>C|PC8OX0ibuX7T1ISr1wWEon z{i$i-TeC-FTH~fU4>BGdId93_?}db0vR?3<;PBP0oh~Sb8*nMMvqm&Dx`X^wSa_L7 z;ffbkxV27?D43VO2(n1_{Yp7SQIhJ%5CL^ zSj7YdrI5wa*SJpG2093)W>USSu?C%sz1q=;{9S2y#p1XZ_6+vKQjWrl9Dy2{LT3k% zMI#rZK_OaT|1K<@Xv;sBNhFAg&W50$f2>&%@7WRWlhB!D-$0GfX(6v6063`m<*puV zhd`COxPuEN2~c>3L|b_LOu-eAQm_G{2>PFo3$TGEqz1jEGeO7)d<#vva@k)-hiWh{ zzgTyI9D_4QZq`}H8|PIRjs$ATiHRz=2~k~;3)O5eVdO()_p6=!e~gqJiBi{j8Pf>KRNchzNJ_M72z!!^Rq z-%uNY1%Oe^OAC>JB8BhLVTuxVS?cixf{;5jZWxN0!)lA1i2A|grwY_{4uwEv^_XGn z?qEs~v?V|9*Ub|&CEuQI@0|J~eR3;{9M!G{&pc z!sb|Ix7RBm5WJWdPE^_)zDHM+uJ)zXIk>UI%g;3$e)4C7qlxnXGPPbf=p4x)M0xow z=dGM$VyuIi_!QwFOgLTQkY}1#G0!y3#HIv~@C6gA)pBO@!zm7U>mWV$jkGu@dpre{vd zuAJ_)FZ37VgOJJ!?JqNTA9iWAZY>7Qv6Ik0)ND?)n^ZHwvp%_f5tVW`Vmbj?i^Uf` zhoIC%&FXzn%=OkiA)`s-FZ+!HeGjeLfY zs*Qni%wvJm!i?5a%+m70`DH&8F%J~)EYJ_EjfJx^W7zZ+l*Q6Q6z(e~yUN86-atde8Bd7*o{5^&5!m?91Vza@#Q#i|s zvQ{eKt^0|&VMG;zT0ZJZb(ble+6)Xy8Elw<0YKKdar)HA%3%5eQKWXdn#1$=lhW%p z5rGjV+}F6L7^|1MFx}USR7oS&6vK7#y4RVJz88p!Pp4g+6QJ+g#`U6)pQ}qkBbbMn zq+<6aGu8W*&I@%)n!e>^-t348Fw|9=J*At^l8B{e8%7t{rJR`QyV>br>EM0Xr?8YS zZCqCGGZ!7GewvD5_kLZ7TET1(kjvO+AQr({-{66=g08k;Dd(2D({eEc-O@~-)swqz zBcpaTQbYzd<)o~m+V({~lBw`Edro=c!(!u%t+J zwuto_urbEYu0xes*zUa^DVbiK!yT1il+W#DNpz<|9m08s2S77wXR7HY4dqf^r@InH zCFVYLb3&&>`*SeW$(W9b0ZGSgJ;wKD?wwMHoSv^X8KR3}0uZ#JyXswsYFi|C2b#73 zh-K_u$IeLH&W}&(&|=ozDxlJa5Rj|uooN?v?LSpoTLVzJg4H!?nAKuS0d*3p`JEE4 zi~WI=Leaw6m_$J=$y@F~GB$*ARtRftXGyynCFDe&DN)hxvCw)dfZSF(J2RBgGO&}L zd-2_Jwt^67%}%8dUFQ@Fm)JrD;}~|`A#8YOst!j%fmi{25=F}-nWR*MVRUQ+1L1Sk zojWeV!VVL;22L|*%#l&#CRymv_?opez$h~h^uP5%HD0gBmIU%1=kYnvOkGBPX?{95 zod*-N$_^PB@u8D0UeW{#(jrClUnE3Q*L$IaVph$8J|&|vB^`gADO@B>$$$>6jXpAX zxaP&3MKl=;{HE4~y392bBFiFe-^hBR+^yR6KuC@{2SPT`t39yIU|E^6IXscWS`_SV z@(bhU#zoPWp`3EwsUj;o=!ArPt;1jr#O?4}zs7evSPT&=Y4H=g)$wcYY2H z{6CxhGi8wMoXS%31hYwNl^h1mBxs+c?ed3%sx^u4hgI&<2yEI^RTd12EkNcH8^dAi z4_Z|WM1wyB;UPP201N?IAeeYg=I%5RmY*y94-{g<5+#v@8E&(_9b}6w!;|+un zilv67y48`j=ETabR`Fmf3@<)Vj7HD~$(rA@H>pGYjz*<4x$;WsSw+jdmmk#P@eU02 zs8boXAvL8N#i+2ks{qsj<6&E~JQ%jbtL9NqQ6kQfjdo)FI3j-xILyz?Tl+{`61%vz zIY^yoxsVKluLgSY0XwhSwJj|r37n`jL?#ObJTh6V0QrpzVYkK+E~zq6@Vl`SCW73f z{TpX;KpO4W0HPBpnRekKW8B2f#TuN^pem9%9TGaCDzJl@c|wSE_p-B2tfusn+fQ<^ zIR@!aM}*c>D@CSqk>pPhXgxdl7ejZ@89-&X{p`kUt8yB2s?8H1B?Qk z;{Z%u>MQW!QzO!uN|qh=J`b$6HBCrU<-`){0;sIM=NwrsWmI9WVj02(K-xlXX~0e( zLzzS5n;r@yw@&|*_bzlrGuw53Vban{GrF-i)hIsUmo5>>_T3|PZOZR?V`34}9kr=a z%{C%CB>G9XLuTNFk{02#EWvaHB`*Pbzl;1cVR~bZz=9dhu0hZAyG0rPg3i(krNV-r zs>LEMMmp-`J|vxtv92=>iU5_GTrLZb+mX>|QjtbusLLK4O_5B&r44n`Mb1J=H~A~) z89~}&Dt#UtH*CVkw6x@zfRjA>$4y`IFrhgqlBxwhA%x)4c<<*72$FnV4aODI(S@Uu z5Qy02162d_Neok5fRYJGvkxn*>pI7n)iiOzY}k!CDo1#zPRm&d$2p(J3f+BWVO}D6GGq(yF3uX9(A$G0e28KnC!TL5`X{M#wB~TI2Gw;GY}_V4M*3%i**E zJOV4CTDM8i{?ZX^hib*zlcskGqA9|sKVVu8;Iyn-CknSSbUcUL5kN*@Q4Cmes8wpw zhz1LXl}>CG=7ywE9<0()Fvw%JaA5@;SiGylVFRU}Lvli8LLkUNjDO~|MQzp~#j*JU z$}+~(@U96%9>ztJtwrM?@%eg36%_T=Mm3~Nf>^}!T5|b8hUH<#x(2Qz$la+uq=ebN zWV1?aUBb6Txp>TlK_6EIR4JG^rs|R&7^KV@Q6=oes2nR=rVYY$0>S7+qawK#!<5`p z3N;9XkR;H8I5Hi~o!u^ZXgM+|>8cVm=B@7`O%;ekD~eW{kKGGk|A@V$kXNvr=H|}E zz>_&yN(XFG7g`Ne>KcX*sU5-2(12kd#b1gYI2>bfYEG*mZfxK{vf0Z`4Q~NjHDZ4} z&cs2TQP%%XWsHd~WtXhp-2E^||B4#m>8M+TD< z8MBO%!(qiy<&t`M=jMT~#q4GwQ{Ns00d-t6Td9A^%?PGGuF|HRO_mpDq`12o;i`h`Ad(DV1a{ z=VLj^NELGF!p_g{DXRnb7Lkj~GD@*+7dn8sJ1uOb{=SdYPubGukR=bYfSd4>R((he zYN6l<*~kor(au=|B|?4nS<56WS@C>0#!+^r!Ug4pr7BxSZR%P;Wjr%dn@G(%P6PB^ zno84PmU6uuR)7Y-?AJ`B@zjYl{^UeZc4|wCNM;#eQii?ir<4KF^Q6_!Nc~=E z^eM|%)al&QjsB%=8rVY(qsmCqebK!0I=83RV27wQ0b&0xL?PDT<((3=fvIV{lsQt$ zf~^=8Qb$W{Xsl2T3ppXisOy@52i&aG?L6!%?mWK)H;xjpjMWFJ!BGc7+z7qeaTro@z@&GYLt*I{D9f@rTG?&Q$%b}zw zV*~hUbXK+>=d$(BBp*CP!hB4BwL8$C1wae2JjBp9&HQBz zsS&cP%EbJz7ZepN7xVCB;d9Q#g@uL2^vvuDlR95#7{z5JwgnkkQ_BU200G0j@jS&V zTM`l$9cuzk&UkrH9~YE>nw3}s$e5I+8k@z4DFPck z$pu}<%}o%TQA+-R+>T%;wvt%@+=Y?dNU<(oaA+EZ>gpyfjkyBK1xTY(Gi^L*${$Lr z=d5wfgPBi{NeWj`T6pFc7h^|yU4v;QQR*D$01jN^A~`MqDaGwp42r72T8;^9I_NkB zjfDFQr07dU4QjyD-G3SK5I4`@VtZ_@>=D91Ctzr-NlZo*Bq2s;2h;I@(1uYtItX1H zKc$@cv1vv2TX>?s%!h`j;-k zrnGJeX@7Z$IB!XreOYlq`8?HJYNH9><)KjwO^nJd6`Jkk-8XKWsljm<9PffsEfo>J zlDpuua8`a}B)80vwdFo}>gdjHS0_l1R7OE6>P$+v5D6p(k27HVDQ7A$bt6%E6hgnt zE!30&QsaJW48z9ZV@vX z(^{ycT!QG0NwUu<RF_lwJ%#^x2quuC=2^7**L79tM6>y-pn<<6qrg!6`03Jsr zwuuCqlmW2!+(n~3P}0?fIXY447LJOvqyxJ>cZ+sQVUfvBl!n_%*# z)UV?SJ~xcT=qqb6XHyIZ+QA}Y@UVl_f!!R>;JCw#s+G;q0t1YZ={P(a1>XP+||?5S1ejGmKcmClGtk-OvzZ$JRHl; zdyW;yCzs%bfTj9wT+{kbkMyuTsyD=`r<(ZTVAZjv;QWdTU{ML0RYWfJliqu`6=Wtz z;&rHev|PcKJw&~|V}TV=FfRfva zRJstxR2(BTp~7iVNW67o`+;%OLr2a9u4%E5O|~bP4`hj>d26iddD-Pv^TLR6aukOs zTuzRGh*Q`=6GEi5O~Q?1^%sY0y=Xsrw0e%Vqcu>q9XeDaN3AlB)xdPPYI^%5Sg;yz zj?{W_sCuQ^C)?rP62E*?;YBS}ZPi-@)oMRd9Tnw3Bf zHQnSzoc82Q zD&$I}?M}{gMKvJ;QT9wNkv9<|{&;~A0x$;pNiih16;KbG1(qxWsq1Tf0D&`koa`f0 z`)Q+AsV(&^1TZ*BfD9Aju4QOJ)?*K@>YuVd?h}{8T=81U5Gk7B*! zb_d_2ez0&-E-jigu&2-$7BzEVxCij%6&Vxq(oW&oGDuDxgF<`@Gtvf}$FtE^*Ba30 zusQ*M$pd*C5!7};W7_IXL5B|&5OnIVgL+y@EJQ{J;sm@`-ks=XN%!=Wl!`nfhwYQO92(@V6( zo?XI<1BEOUFUedC>bqQEE=kbAc(N(N`d*ySa>>R_NI`h&pGaYbasqj53SS_AEl(|C z;?hxqd@h$oDq<31eP!!=d8t#bv@S>Vup6K3@9P>rJ=TYOY$B;pipj%)3?^eU^scgf z4R%jYkIDGqe4Y0B@sb8y7%i*eG&D9vypP2i&mGaw=@C>?bfF}iyF?Npj~LA~P&#n` zM(o?{e()6{b>-$k^guYWFqWuI3eEE7aK18&GyGUVBvuYthp=r{)I@x@Xap{pEftU~ zahom(IaN{Rn|sE`h92(0N_{G}dNLUi-_ov~=ku%zIW45`j4Zg|@x=C^doJ!Eg45$ zBc~$>HVl3e0=IP>AytwL?al3vG`BV*$I-U-_DAc(lCzx$o`SV!(+cU;28!2tI~K-5n0 z(UyO#L>pj`Ma)H&Xx6^Dq^QI3mXmW*2w0; zip+SVk@5T+=bn;tD$F)9@bAD`p6l_L?-{7Vxn^1xuX2@G1ZT!r#5#Mc+LovRLGbJaYON~5RBB;&V2zBbK*LJSBwICX&50_*|B zbOVNRY4Z(uO;1&iN5bekc&~6K4_(3uv@DiH=V940RRZ zhOmFohSFf#UqbpVR8LxnLyu(TQ4h~xov1Sy13Mmy&Ue#O(8}_1Vw}=1oINWYuZ8ZA zciUEtfvj2Ur9q!DU%qZrhmUYeJ1qjlQ#n9MKd=F2wVgfeP~?T+dv%T)u5{@wTMLi^ zU(+E?6W*Cn@t7O$#RN&xNjc>BIRXQ7dNdmEt^SrCT;ye3x>q|Yju$7<4`gnva{Nr& zpDZC0*nqX=3uP#wlMShjKzM0bJA>U6^*D*^2?97OGdx@Yze27|bWSra!lAFCJ0kPJ zA=VU-a$sOW=T{YK7s}_?Fh)zOlavtznk}wC{U5CQ^4e^Gelgl3rG-R>NE~pu-2>?n z)`I$Q5$8+=9{De9f^}MG0`CsZF5894ZinRaX^3`3F<=42a;%S2CNV1&F9ohjdN64h zN_p6V{2DQ{jM3$+ESq5>y)X^tw&GhwXarJu8Gcmep$Wia>#Uk`GaW{V@_($d;v^-N z2U|4rLvM;NW(eIN%7r)wytd3DqKxyHR9GsY)JpVA;v^B)n0sfLI(e$$vz>KcM&I21VnN;= zcdqJ#9N_XC`KVRxm;1OtJEMLdc7|!;LSO;~Z6Z9B3`oU+3f>WopiNqrJOP&e ztz!)Q!jyPnOjk`12?o#wd?V=W0X;)MP~m}AIIuD-zEo${7=ZZ03X)IIJ%z~%9;hpW zbtIY?9UC0(JF7`>J72jlzru(=*4xlPl5c>i2%)10PGF#KB}R;71YoFLACF$}GIU+Z z+EB>_dRWUGTsSM6nZr)IOVdGV=#zkRH~yjSnfIwa6gYYB^+GXLgs@I%4(x$4wa~-f zR9&=VQECn_;dp>0U3tJ+E2K(8E#j*tFzVOAzCcXSPbCYHE4jTmWdwL(%bt5oT3TKz zJkOJ9)p3R>L7=1<41%@8=PQ#k&7l3vcN|m3%X2L?$%2f-vYk^Vi>n@eLlBLR zOBoZ86+PZNI0kjIfOmTZOem-y&O* z?i+D2oWg$AX%&}hHZH7sz<$e%dC^|PctNb^yUiM-x=9dJN4P8lnuQd~N@y%Q=MHJ-1WI4}nv{6GsAz4Xz7ai3TL z=`u!&1-eEmbNXk){YFg-Gvx*Bg=vAJri5HBQueSom4+yVl#axbb*JScU_gFt8xp{p zUd6r@z$9n-5A6nCuUsk3%>;2jQ9vJ}1(s$uLkr~QI2@~Rkr9JZU9ebL=#PO_D`3GY zSltCDkMyZ@yfpaUQmXS%PN$|Dg7x%C1BX%quacH-yME(AtVL{c0Yaz@4XvILM9A4?Ma}x5e-0NVPG>-tPuO#Sw=!3Nkif@HpJ$_@yG+H@?b)m`s~ zmkBh|HtQh1D`f{EEbydm^VLL$Ba&ML-UcHWFf@3Nho^(6#_1=S4wqRps|w2(rZ%|- z>u2gfP||0rezKARJ9KL>OzEG3Elp!Z5Lw&kD`*pGb)^@w(hM z+}+pPO#j8uWLtuFbqJi9wSYQvDQZS$8W{BT@ZW*?fV*9mCzVDh!N6H9lj7~Pr;d?* z9qxs)y{5==_KfIM9GfOp^)MsJHhsBb%Xpn=`pGo4WH@h zh(I-q2iKl!*&K?n*U6khRFi5RN zIHC}G>1O#Dtz_|tgsrJV;(;i%w1gJ;g@(o;w-LSZ`BKbQqF*;=a7P7PIw2>Ac9+^v zm>!Vt>UBFOC!8WPt8n?n>WXUM2w#>zU0JaWk+T6-g{yjF8G4l5Gg8NVP&Cs0I8rrB z!K)9X;S>fMV#J5`w0X0xI+IW|1AG4z={8sx{Ylaw2%@{|RzgI;ewqZvKLLzm@*qk5 zqfc}tU~E9<9ilEVj!7^e@dL?Lz7j_q==#Kn0H97!NQkg^p&e>auP&7^wJ^KvhAZ42 z6RUQU?j3413#l020lf+-(S}%xu~aAXNV-GGiZzdPhiKWW(*Wt148)fFu{J+@QnHRK z>nM3qyaUL)r^U#GAHYt7gmtYvi-EVP8fEErNqd06==E@lGWO9`_B2p2(sQIyZi_l_JAz!U|P z*B*6jK)NZL3=9U0jsQ&N_R&X|527CXR0Z@@@g-0syU4L6*)<6RNJkqnrdu!>(x-|7 zVFfuxRy@&-7L3`XO!fOXM59sO*T?E}p2D{u{*Z$g0eYY)UC^K=9K%{ITO(Uiw@lQ- z_4uaP4HV{pFObjTmJyo&{zySRR8OGG#LX=+QLyRf!RYb0({!k_TU$hQ)1yBA!DNAg z#O~Z=xfK6fthr*%MahF_rl~;kLoizB7E?tgC}MwW`M1oLycF)bfaZbkyilN!11Djy zV3Bp@KDrhqxs%x=xP?N3YnK%LK%Ht2v*$U-Q=|n14+vx?P)k;6DpGpQuY8Z$X3Lp^ z+SMY5!6YtxwPs8Af0mv3``fy67tnQ_aw&cNr`!$rQ@q6B}T#fQBB` z0`@E%)R5?a^&=MreR}BdiU0tQ^|nJwDMTc@eif{mq$b%#iI_%ku{M0|OsQGnfn$X} z0ahd)R&g6$C}OV$MZc*M8aNDbC&1}N2P)90Ia-lZ)?qr_ARvy`qkgl;aQ-Ed(@aR( zF+#FFUe80ATB*S5S~B7UhI^{Db)Gk3n^9iL#?erPwJA;H(a&_bP+C~9VWk_>Kv9)A z!sNOdW=aJPDeMe^_tFZSF8hf{K+Im*@UhMB#pj??YvO!L8VYTNV}*3p2R<=OVme9y)eNe7i|(a<(m>(9Q&E zFSaVgoIpU+5D8fEi(tsrFcA9=xWj-F)#4?vlX=!gygQOs;)4>d$Hf1bAodE!u;ns$ z!O+}jl1O3g`9LNERFVU&f{R7-Y_3>Yi@7=Xe&#s`bj^INU^xxkifCKk2YVWF>Pq_j zBqqH+$FnK5;KymFit(dR_5dQ$O;<25azH7f$l;wNHY`-TSt`%MAD7U1b{ap2gEmCt z5VD^-JszR|u!rNd7TA>VfDH+hjH~om>8EWkQ3i_4>=-cgyTBX6A{pE5S$g9(A*3_2 z(BOcO2P0Va3KVQ&eo}`deeOuAZe{o)Mj9=R1rZn!P}^uL1nh!v{3X=c?f^su4$L=U zY=U!}N4`F7Z(k0$my(6WHf}hd?2iw5ZKtRPKvozBJUWm|)hKSP>?xiOgQKH36YLwq zovf#x2v3f8JrNBIJ~2@Em_8Sukr#*LZ+n36z0qRdNU_hkcT^WNB*bFJ0y&fp9LUi3 zY@90cz~%sU3pz0=U^yfUB(Y!x3p8eeM5z=;TDp=%$WRtA@XD)ldZmvA%Mx0f4?|yq zmSUR)BUYhx@##1XH~1EoF9bOf1RFMTW;B{_9zG+>JIO|Y&PQg;!HpP&zk8q4S z{;h8J#VNi^e*D}M4%iaO(w3L#e~@gG!Quv`0Dc368!iFl37i8TyTu`ecpbyR7a5(v zX^zvvnX`0)LWT)bHQdhyDHbyU9b`J@(iR#Eg?IpfpswMPz>43$Gm3>#4U@RpSeSws zB2L0eF$I?p;EW(tED0I9VD3O-7);w{)Q9)wsK|(>{j4U<3$XOZ1=DT}>kTIZ9F~I^ zq)@1(0uRnWbU2|^sw!Ulv5u>4dEbKQ`mmDVsp37Y*BDiHS+UV1Vy+Ku&9tYqn!v&w-sj7d zUbJVt6M=3K@ul)S7I{p1@jeUEp^{~gBHl7Z>Xt>6$05p`K!whO2eO6rn?rq_beE`E zfQML}(VZ;_YJFYiGXzZAVZFW%fLN}~)Ow>uwv)(nKaZWM7#8u#j`s9&COMds3!3l> z^~B{eb|h^p4P|X|2#?Xs>wV>pW7y7Uzs~8Y`Xmi(xc{?b zzF1~08?B`>_IcX;i6obQH4Cq`o%#9pOa;S;(Lu9Z?Ki>{|D?;i5 z_nNb~sSs{rCShEFH#of0D5a9nX1YkWXRsZ%iZIqu%gD0zuyPo(#M6ryA>c&2G{u9Y z%FKcsBw-|grp(fe5Zw5RaV0uJEI-#faeaZFq3tX7V4hX3(}Q+&#EOBxtDNBK#12mj z>vYe#MK)*G*Xh1hMANbz;)EXN)nRrYYn+(7&_dFmj)g`d8sxQ%qHutn3h{{O18zWg z!L-14nRD8Fq1-EH(p*U9i6$XqvWyJ$WSj>*=Zsqp{6J+;-igeuYn^A>^QXL^y7 z+XQo9;`^yKoUTMc)>aoVYtJvs4y|c%eSD7MOC=3x)$?RKck`O^E6$Vb z;*2P+mE%W;K>5%=B3mPU=iWua5*kDAyrpXykWsniiHg2F?Vg z9xBS>ZU|c+GXCHqW9=~>u$pXyn=>Behzu19yb>P3(LByYXdkNogMuW=&t0ahLXlLU z`H{^;74yj!4C?T%!Yp=3)uDK|n2j5OVj&q^@ivS;K}?U6%Mvq^2#Qn8+PDn_VlT+O z#EVt`)*YS-BSf4r%9}yd!4||+7@pt<7@e$8FV&9nNFi7Um}tx8Lo<*}Vp=Qv%NHv5 z65(uYWhIIz=nlL_2gz(FPvH|5hp%#klgi2+Lrht#R9hBYYm#Z`gkK{0Uf2K);2JDf z7s<(xi11^Ye}*rID2A-{QhkPWzvR|%7D*r^WIH)^Qq zIvKh1W;#cPf!ESJW{`^$M0Zg8g`%eJu3}%|jQ9ZQ8i8{S>=8D^xlHO2FQ!Tt{iTp( zTNYC;v*|v@KrmM5r`6bZ76>ka5*ksDqV5MbhhXVs8tJl_!UUR-)C}7-I{lC%Sj?Ot zTx#r?P19YVkLHKZ0oRh$1(d}KHfZQbp;8fX)*(;$woHT{stGk}*QQN2jxku@gS$+z zmfRP8luiz6B%LB7P#CiVa=F2^ol}>p%>lyCqme*SC%%A~O!CZDvHOgQ=*0$0#xzKRq|yBt1Vyk<;9yjw zA$_`G1IO-%2Q)5gmnF^*Dzp{wv20FM56+C>4vV(at?iIJ^0OH{j+065Irz8jC}om- zvw^*kbrgsgW#ghHCnTM&GY^y|12&&_2!q|IJz)naTi63IVZ;K!UAxaY5y#!G<`I#`%Urci!Vr=cAW)5<>@;$?#oWqoW#B6@0K?XL)NcOc}wNU*f2&k_l zIw-KxrZ|stc*(-6XXaZ~fls|xH`dUx6}i1=i1Mx%v>sMku8A99j%ZdD4fYI=Mg#OI zFb4nmR9q&3lWWd+FNAE(!!o#JxvHCr&Y=Wl>XlH!9n$kl>3W*FVGdSR}nUSJP;rOg1*ht`3kp=Ef_~<(*K(07iWXr zODzIjqY35GV_cEc+??WnqEJgX7|klW$o%{6Q@L$oh3q_m&S$I=4DBXo~ME>4=}2Fp{~)?y#`Q zCu@g4G%a1k#YY|Tw@DuPrwMcG+0x^jd>u9kn@Ard!5^9`xWRs@!_J!+gN!^K#l%aZ zAQ4jw_p@AtOUq4E=k+2Mr{YgZeZ_oS`}w5aNR(QZw6dipnUo##O+l^&z+{a#f;ffI zrBXRF5F0;`&<*JzXkAo?-guy4e|YS{7w!*_J@DWQK@92HW85goouaGDi{OMaA=D|wt(wC!@#NH zco=zl7>-ZW@EQk#vCdxvr*Kh}Nc&Z=1vXrUl`nkpnyX^f#9p;N$qD0cVT|O2p$;n{ z<|?iMhLE6c1gwERR_ac}K)9}s#gNnQ;Kt533xg)C;MP#~do|v7WBh`)Z2^f5)=Au#r5djaVJW zfcl5mWfl45h_8#=nZ)(&)nm=f z+5$!i#G~TM5?OW3Y*h{QUc)(}*uP-0J0M;)Nzf^Z=!c;M9Ccxo^5_wmV0|J&3HV0j zeo>q>u}*k^dYH-O!g?GyNy421{9xJ2^P7b^!e`@a=erTIbh~p5lR`Q@w(1 z!V6oXs=MnUgP7pFQolou8{HX=u57a>s=L6 z>r1vTB>N>$CxO#>9O~eqEq}vxLK5^jWDN5 z3!5&Y5n{xMG{IQ93sMqnBsAMO6Cuyj5li|Yvsa;K*{5YrXahl6T|b} zc!W$wp9ps1u>@L&CDcXKk8r#IfHlR6iP9+2EVxENxddx8Rbe6`vUM0-!rjF=r6Ekp zJC0qQ+<1o#J}!F20-UOJ%m%BH0@hP;oUJNRI(SKy8!a17;&ZZ3qIpAD_;E$yxNzr7X8i#UeG1q#O&7eje*8X^T~ zYf>(9ep5!PI-OA|DZ~>z`bHaX-^VVaer5Oz`I)@e9qr1^y+mcLqVFSU6FprHY_F3WPN@kCORN(FQnDw@kjd~ak!Tdhq-0k zNQhb$RIZc*jzOYEC!DPZoAgE|kS-DvUhNR0tPe-p!jVJaXmKbU?Zv<1nQ-(Y;pk~R zf)pZtYUmW-^7SZQ;a@LbeJngu43G4NW5XZ8KM99$D2-=H82-o*ADKQ3wD?<;KSR(i z#BKJx!<%erC5+nbPO27#RfB{P8y%(R`3uOs{tbL+2>csOV8=z38EKWISyK0tr#@UW zYJ1>t0CFr4{RUuYfQde?q%z+H0r#ImWdi&TG^w0sFog>M^$K`8n!XfDCZ^YiwMtd! z-67F#WwoZ(te)Agws8#8|Hsf+m@e4tF04btm~zW`oaAZ^wJ8mQ(hcm6MXe@kOw+|C z|2{Gnc9}Y~rQpI4x=7ehks-n55%}wCF|JT-E;mD>2mSm8zQD0mgFq}Q+?JM6b3Rj+ zrzC5+0-Ix4%|cv*%-|5qVY&qUVdy!4t+-GQkRPH$*v!h{1hP5SAI7twI+Dhqb~qqlRhOK_rk7f%-5kC!{H%Ju5B` zF*b3BasOc4K^au&f_ZEC)y1QSqaiVM8I;A$mJE@miNlDX1T&b`2wE83Aje0#7LuBV ziRC5X2*?NE-cO%fng>dMngbxK3ZTbxxf_6mFb51sV%%CBG>76lqZH;{m%0@N#(1h- z5fjgjF?B~TrKWM zW23AoDV`UULMF!B^o$BXgRcPF2He7kuH|bABS`U-apG&x1WIdFWUC_^&ufQSkm% z-hfWWz6c~rj6i6a-eBYq%tMZ*N)CQRx{mTu6;-1la*|r`a(ZqB`kSn=EeA6nl)gSV znuy`!szVV+%c)&cEvg~T+aOKMolO9F5|w9YQVEs@>|U6jZqiH*#Ek*l@}#w0KV&|V zHF_6~Mhce{O$Be3+AQ^wQ)?U+K}XGN#Sh?GE}E9{XKYhR_Q*+aChqgdyAvdDZBA=G z!4hRSV2ty{c1xr?R+Rx)y$31|KASLbRDJj+i{kMdzrNlRDVF) zMwGxYT$izqa`cLSs?1kqM~QWSw>z)FmbO-Y6QnAIJ3nsN)43^y{vYcaPG(%S`N(>w z$aRV|^ZriQe$=RVraQd%b>ZI*NA2mxil7q#HzCK?N)_4w0rdJ|MdyrI96x94@J@XB`BWCAq=TF5@;g z90B1%CvFEJ*MhmIzKkt88)RrUcy5cPiYBSxE|HDh91*+bAjVcMZeECwP>f*0qKeBn zTgJLUtt%|Z{01)uXv}m%s{=HS78*&i+cf@w7OJ&})sVuxR~5UBv;L_Xb7I7L8*)i8hjoin@{-0+ZTNDMUF;U!isCT|)r5HWG@@D0#A=`^>+83BI?VGBtH*WRs zOj=p8B`AI+Tbgrwv2U@S^>e^1{mGsDVa$F(;>Uvg0_#_9yGTjtO%i8R`{dR4ZQu?`v=> zNj4h7H@fUd%n%akKImK?Z*8_B%~d#Y8cKEtm@zTujQx!0%VFPvT@5bh#;54A+Q3Kd zbfgiZnAW3p(t98D6^1GeP=pg}4i%iB$seh(5a?9ZGnKvyqbMt@?$E3w;Y$~uM^oFt z6vK!Xs#1BYwtWM;cALs8Bd2tqe;Y`=bzn6c249z{JE_cwa|HZu!fUO$s)8lpvDy@- z)MlK&8Y{yra3+!GXGr46&#Wzb?ld=(;WlJXBy151Wj?IW`Zc5qLQ9&1@FD5e)8({Q z@BGd2g;(t-Re?(Fuydo#mwgJIRrdOBdP>^Cdn(2GdkQjV214XQM3Y<52L0Div#PPn3Ym za-iZRmL*fOLO(Nf&6|9Pj{D3?8Vio$-(|@Gs@jn4 zkS*coS`0@%m*`n>C0JVtYp)k7^3gzd*i4&o) zR1Wu@2**z%u^dh!0ZwL)pV&&%*gsfCMNy5yQ@=`FEEf)j3CebG*gOHwaJ>}y>bQk8 zZb2j7Wlbxp0U=Iy(3P&wi~SnVHC#(|^ip!G4$GasmRvXi!0t7b3j#!LE8}b1h4|-d z?VoGQ=QZR|HG=eahDGV%3T*fx8H4OaXh(}mZRFL25Q}Jn%;$vb!%V2-Z|v(tz8b*N z(JE7P=b>JPohlYs(r;Ds&JK;|&c?6xlpPvvlgrbe0DD@21|5iuW~sMZr9hlRD$R*cnhaS4)ffRiRn4LJj;G0^R6+N7TC0K)Q-qLosOA z2xZk?Jm`>i4qLls6ZezNw7xtWXrQ-6a$sTwGVe8h5Y&^OjgQrh&8yTe&d)oiO72ql z>a94G(ayP=WmaxH0B$m{trb&m-V{=WN;m)LBUCUl)-F|EcZ1vqv9=}qeC3FU~$D* zIX|zu5?Z466BSLb(q1^aU0d5M=ycC~K_jkZ2OU}1JXqgF2@uF}3+Msb5?uEtO*DkE zz_UlWdA2!fFFeu=Tc8d47lhUmMF#mbrP+x0JS2qsem%m6zu9@ zRSQ2O$VlEoa>6Q9j9NJjlVa82K9JVdVCCud3BPGMx7tl0s_7`4@GgV7+OJS&2#)iJ$ z8gkD)hZ3(y$hBPju1Y@Z0GwNF%@@Dhk`Ds_%M^y9@<(B~ACd)Ja7jBy8f9@wVheP& zj0iOs|8I;)pMar&vnVwM{>0SuG^Q-iu6Rw0&{npWbdx zCC4z2Q)L`=VJzy3igE+4eFLdO9;n@e;#nrr9cLq*dZ=--vVEB}+!@!#c_B1Lppep@ zr0~kgwCg*VF~byWz9K}vHWN5XN4xM|0R2M$!Q1}~CPT~4j?+h?vv@j7VPnoushaDRmTv?S{Y+?sAe z)HEn2JPc4Imrz?}Z&JE`DbW@h)jxuT>qkgdJVNqUzKGoov2dF#yFBBPx8_nf5%--H z48l}xEnLgM6h(P@m#&HkO{GOP|gt+VoJW#|eBv?v&%)G3exvl6T* zve}ik7iL%5@$V4+9VRltT^*x15Q7L|WqlRGxYS1|GErXBJ-QhXu^M2U%Brx%r9!qN zY(5E9GyJblt*z@5%wN92X@{qp|NW&nn}}pp^6EF}L7iuTtF(M1rG9o}rtM8?5F_APi)M)+Py%N|Y!+y&g?a zWbH7wx=)=NpTwr_~5CLNxc)~8kz&wnitNSt7xf^ z?BY`2$wnS4j!!O4_MaZH0!oxfcKr7hqB^1(}XKbD*vE8YN(Mrv;C?Rxyj+KmmS{2tb8i~QmHJoITpVyI5 z>oltxc3FP5V9!(vibt|)g8@u1*a0#tSRDn_x@dO->2iG5cJ&%^4hTBT=(sFhSipja z9Sat1ZZr$*D{c^?M$Ld-X%wd=c@JtMDs#W(JHcGy3qb4MWgQirk)61(2o{)X>;NZZ zOjTm~-j&M5WxGOggqo-a$r5eHO>q@#p9N-^CQ<@;Fzr+ZBuZ5vwfMljJ!RdnKo^m> zji3jcq8FN?k2ggRH${b}=%J>l1@{^l9$6cmh2l~#lzFi{MXes}exrHl_o^7(gdh?V zN^U4jKFM}PlYjwheCS}kwQKFhvBnUw@st(;)&f+Q5lGmn9%4weRcFaZgT;s@)?BjQ zk0r7URc)Rrm^GZ3Qj%-YCZtg$VB+4whT|lP;ahJ2wW2$|b`ow{iDrI{*H<#Tp*&t; zi;gFQVBRMxjWNX6I;wqKHbDTyIVzB`Dc#0&0pcmWpo>^>!uBEXoM#fdf0{e!2;dyOTQ66yzc`pZil#OM62IPwd{LfECFLQ&b4GuC0i+j z!V!+Bl|!!_zE#$t#)~y^83r6nvurE5Sc(D?+{DaNnapdtk4pi-Hii2wl{3gUwBWF~ z1y|I#>Ut*RHGFxTHV_| zvNos0fkq;$GeSd4_yROBwuKdG$+KbM`9+v2&PbRlii(4JhG7`mnvX#G)=~+FkG1N< zk?0A=aa%*e$_PnM?i-LZsV)|XF7F_rm&*t+zWq>ITNJE;n4~pw+j|f<1a!MJ3r>jY z^@>b3IR!opDUYoMDIV-5&dZjN&g_T`(GzG@Zl;hV2*tsqZHSW!i|V4hmwmqOo((EF zTu9(6ii?ss-)Tc+3XYL`A={No4ceP=?+3wjlLT&~Q8yr)B4h=-jbTV13344QM|8~B ztgnEmK_n@F2ZauGx%r@=gF*U}P0>?LQE{TLb#kQZsk2Sd=mhpHMh`^0zK zS*b4?LGGck4^u-V*%a~1{H<0%zYx#%ftCm3jve7Lgsu6cAmKB-5mja%ul8nWj2Xgv z6@icHU}-#PqjVKS6exq&r7AKUz*C$PjRh4O=s@CP0x_Ucn{$L$n+&vZcIAuC5o3c? zwu*cPC1~ok7a=pCY9W{@W%K=Y12h}L7YP9Ew+$vOk1PC zRgA89r-zHt1lw&GOIuXbu00#_C{=h$g(v8HaAQ3o^YJXskK{ZAMtB&6+|aek5Cep0 zN11&ms4UtJm$<+T8lKlw!p#u1lU_zYf@FZ-nlFegSfB%+w5uZ#n8UJE_8lPgvAGPM zQ5gQlL!&ZDwi&HZ5WhePw{2qvv!9+Z?=XcrBPo%^*RS36rmMQJ&cLqM*&Q{*ylkUHM;^eVCYiePF^-s^gvQ!eQAYN zd8=~l{3lC8n-E)Th(<=eXtb?HYcSB$!)EYyD|8kCVve%tCSXeg8aAC~vh5QeN;RP0 z)wUvqty-fO;7%qDbp7eGxB;4^{9p=?(_h78 zb;;s!5XaM%t_N46Xks49KB-?ezx5ctM}X%`sp9qYDV3Fv1v`{VvGbU%#`>f(V^GN+ zIg?$a^peaqFzG5~oZvWX9g<(DOIT(y$XO;CTp2du)uapoV=vXq#?)=fs$ z%y8WuH2^_F&0S{&c9G~vj&>3xI7z0puQtd8I}Z0?L7$DQX0_Ty$xagGSoQ|lU*Oh` z81+_!I6I-Bc^jNT1||UXp(-eAKjnKg9mrG$JFA}}yaCteYNgP`fRqi@l#fq7Tk+`E zV11~T**-hKrv@=dSQRh`8L{yN;Hp3|wv@`W+}KTqz`Hrvl7>)Db6GT&HJ){A0|nTf zf;|?cW!6bFd8<`k7DY_=3QtmTlwh1wsLV~Z@lX4aqX?ESVcb~L!y5s1RCBO(7Dt05 zkFsrsTO0kfRFlPxUIo0~&|am*x90Q~!nj|8la%@M_=9aA#%H)Rhdl@O4^U;rwr~lL zmFda3^=XC$3p3Xd$_prr;NmIeIs$L2KtHNsx$j!I|44|4pQ^ZvkL49UzEM~Cz>5!}nl zTatrbmYhkOTvDgJ=~q$Xl3J2+xUvflh6|Ub75`K7s~0XUFT+nfWQ&FgyqLbsI{iz7 zxW7RC3gOSfuyASp=xxITr?<&hoEq*Ll`nXPo6jdkqn?4VGQE&5XtaAMT@LgBdnsww za*E>42CfNa&ac25tu#>A0vM~QsCcS}cRfewRLYUc5aU7jtTeU2QBaH@qfxaN59?mE zchYGTtQZ$JtpAeFA3jq|*J^5Q5o277A0O@;ipEY27g7zlaqKAE;NfPLfG3h>_&I`% zBP^^y$#ugTcWAWdQ2UuPX}qf!6zLe8i^z>XDV(bpDy0y=DE4Oa!P`yh<>+Ag?Zr*F zlPD?Xr{y{Q_W8}F=k(nf`a0W)K8A!m0Q{iI*QP*lNRp}@`y)sP4C=65g@g)%iN5%R zzAr^P6~^y|oSeUi31AmRs%!%H;aof%4L&^{R=7F9B+zq6c>l)4qEaBPH-ulaLQj0L zD6d-3t0sMHo+^THEEXWHVpR%WT<97bj>fHiaVC5^JlG7$UmV~}qp?TIYu&}(fFoMm zaD`LfQ^mdj0o&4}VHAI(N5d-4@hf2r*9jKQ|9m(t!ysJT;Av4MJiYOZgwHK)gpZ7z zf#V*mT41tiRS72{^k&p0e^F7^3jk|4fX1i^^HWC;hrurVSv-2|LKr@J?5Q9=+ol($ zU@kA8-z|@ebagyDI9kN}l?pQOIf5gNZY)4cxP`Snj0~PCMuUSvlz>)dg0$vnPguco z<V&(!=Z3F6{4^tOcp~2nt^cem^ zy#jwndW-nGyxMjloLVU_jSUui8wo_#) zoY6ph2V-8-XD|b3)T4OJ6-+Uxz4K68d>94XIE6cq)CY_udCNnm0|Lld_+SV40(A1w zx3QsY;N7YsO$$X_Prca`JwFUic2P}ZW8ugq?yEt5+(xeFv?5gtbGS6HGF`$NH&ddz z2u4sZh9KOYh&OOt6~=3LCv5<@1rJx=cJ9Xrwts1XW% zF%S_UDGSurdKj2mj|tR35jV{;s+k6ghqpxgiphI;>MqEoz6DYd`t3#w9$jC+-Pkx^ zjT0&x`Gh>gb6J2#O1b#@!b&#f*mH}PaL+_nxM!jp|9bGRH!N+eOv3HB7tSuuL_x6d zc6|v_ol@X2Jz0U}NjUQNEQgMW%l`Cbbn=`6X>TjQpTA_dc>ZWxtH#PRDUhSj70yFG z>y3hz%0%IUE%g>nmWtx@8GAx6!lQC>sLVpGxzK(Dw*WsU&jEG>^I?_A`nND&vWL}; z_;F1h*QV#ghC*&ktmnDTuZH4*p26L+YFOt<|o%nGoifFihphJlsUbQn@-9r?Vv{f zd*06k)!s(vHQb*{LzeonR-hm0L?k76}1$J16 zlu?EV%WE6TbEpFbu-C5r5sa~E+RJ0SB(DDHXvq#ll;rgHj!(kLBm8lW_n$gF(i=RX z@62FvyckDEPJzVt^u_V+uHIAq{l&iVbjoPg_&_E;&^6LKl*v>a?;1}M#>b#Uf`p`4 z;2rLIVz4KT=IOq%A{0&1Nk!!B89zOiphCu>u8-n|pY-6aGH($WicDn9`WqaABFe zc=TB7qerUN`AA`|LW1gOv4>m4)e#pDH6IF;Q7kkGYbJNf;j5aaDu*6vZ?{*^txv69 zC@g}Xnp#*}ZL-}9Hn$L2=h8}-3X2u2OqHdTN>l05jH8&I+LQ}w3m{I0HJwygEP3+0 za{IGo0flS@mj*(6x(R)Hc)l=&o|mB_HJMpJwPqnhP!xrZ%iBx5fo8`<8%moGVhI= zS`84MA#xxu>(ne>f zydWOiZfK}N<}f8!$KaZqGy?H93s3z3q?cK_JO{uO^Mz%cYD0@n%jFdd2WCWef|C?T zGI%hpQMp$JM|Ie9&d&r9do>yyjqMN7+Prfp;Bp=;OKjk^xz*)$aPoGEi@v5L zMkJ?1-yEW%=rZVKZ|ct=TzrSmcE^W>)pTO-)E3>T#aMn|qZqjjHkW(K?Ao-PpHB002N*4#^Ft85$qKG?c zd5?4K^=Zk6!8<~+kjO6}MB9{WZsBtpl>#%VCRw;?EIIdVio#fTPZWy%{e@$2-8>&P z%JnPuy10`JoprXKyTvIX!e( zEi%H#iXD0w#L9oCLsV?x$l6|RP3@_EAM2WFUlk$R}DasWgynqcaNVU;x zGuo1zolx4BO!N1_!99?1kiZ$XU}9^>3N=_r#ESs*96$;&itP*0StAtU%dmuA1eZ}T zuYycrIwGD*Wgyh2F1Q0_4ruy-J8IXLFlhPdc2ps^Us8uiJfT6N!%yHx>j%RzYcq+D zv_Y>DM=Kj}Y#2@Cv7n{$9sW|0*#vx3RqJ_zqP>+H45(^%)8{wG|wPS^7) zFoXSB5avT#GXCNVV$kinW5Vbd$8rxMz9~&J@ARsIH&u%08{Jw2(ymfOOs&#zP^P2; z(JDlYC@Y?l>`by8^s!|}6+RQ@H>+>dtj$0J4fftbY3$isUN|ed@@$ya?OPCcpopp@K z41uvA>q2T$9D-#I@7I!3N2S^ZDH9V~pkT>R0Swcao8j%)%d00)MKln^hN2C)>)}E` zW8=CZ=n!)S;JStPjPsvS{kmQV(}|j;%hzyC!9p7KbPs}PEW+S~cO9J}dkM!O7+V&v z8Z>gykM(u+eiTK$%glDs5o&?|dBrSl67AI)POO}Tn{1XbyG*kP$u>E8tCmzU{(}pu zP>abP9GS^L7lLIZ20hOCjW&U#er^ih9@zj5nEmW+_|k&E$!1VSl*M06j0iwVltUvF z2~Azpv(~Kyh-21YDn~==>vyxXNa>J>eLnUp!m=bL0B`_mcurU-C zaI5)!a_bhJc%4avBLs4)3CM;4phnQC!d;P@lemKseQh_?gOe~UxVzY3aO8wb%c185 ziA_~#T(cVkgO|D%SWeTfRWyVts^JDrXb52bY~WfD{^gV}3%^WIBNo*G;^_{(GaXej z({ZrD`J_iHHh(GqCznG-HO^qsE8|h0lz`0(sy_!mHFBvRm9?}()0*FUO$_g@T%NId zfo$U991s^2DeIIlY*r-33~w@v0aQm0q$c|wx16EF;xF|Ia%Ul1Gwvceu-MJK#T6_Q zRNYl~&jv<1sZX!7$8{_5{e)GLEaPNxcrw5}>foeQp$NtflUhGrH^U^K7)TZ9?Mxh4 zhxR;A)@s5~51>M&dYs7!*dUu2cdjhYf|Zz=!>m*L8ct-5iZ7&raRP3uVueh2sEw=G7eW3I$I{mQraC>vdD!V-bxWRHtkqZHZT+;aeZqno*FpV z!f^bIggsp&2W=IW1(1sc?u7s|{OxUjq3Un9r0%}nUurxA3t#kfhUf6_1wP>C;VzBJ z-*fo;vc)}&B%a`Z&E9)B`nV+^ILF6M{=u(P{)X@(!z90@)(AR(xS?~)tLt{(y7R`n z_grT$B)t8$T|4i-XODljgbH`V`wULP9Xt2jdiOnhZ?H58Ep0c_9B25z&f5TY(+4a~ z(s%8=?RJ!Lo25w^yLR6G{yn$deY>Se89Q&-yXV&1Z@RNj4?zv^}hod_!Z3n_| zr=;z>%hGl-ZRhPM_TGITw6q(UwtMGYx8ED>-D7FeLpyiKcie4hb%e9Dy_QxlX?t$n zjqkn3(%#Rs8~1$Rb~ILmM{k?({+&18x##YC_FI~K@9v$q-hs3SEKR=muA6t>x@X_s zPNYd3Vc2=o?pycVy{pU8B=7CF)bHGL+um+V6WAMe-g*-X>9I5^+tPY1P1@>xJ8!MO zXV2a~OOv*;w0=vIwz}>1T|0MwV9yhlCT(@s?hoI)FS>ES(xk0!|KOgxZmzEzv@~g} zd-mRq4~d?%G-)eKd&<(Jt?u4?&-?HD@V!Hpb`!!NY4`3MwzQk$w0+TtrQH&zefZu} zmUe5LcJIDXOXHYReEXu0SQ^Kimoa8(9CHp=v^0*naOVf_sz+CjTN=k)xa)4V!9Axf zjbko+@Xp&g4xY9&j=8Y=?i=^+x$T~3ERAC>-1vdrdw1=*>5Qdu%!M0w?%uO&?@b@I zG>$n>`u6XljI?SQ7q zcs_4w52n&)Ev~HE?Qb4N!zz%Y0XL6hnFp_B}uz?#nM`nw0+N6S{u{eUw^}$dp^8x)zaGI zw43j!SlS_`-Eza8+js50Y0c6OGi~R6b$fT;aPzvQ9bww-HLK@&UE$vaJ*_eFZ(mI%C_&#ZAk1_27ijS)sY0z<| z84deemUe<^miN0X?IhDI@87mGS=cP^iRFCB9;Vfw|@3(OiGi!SkI0HPuTI~9pCU8Jh2P4#sI#O0o9 z%1-@w-|5lBhnr?>X;79hymimiMulSLVdrapNW_eZ%CovDfVN+`TwgbZ6Onmf^J;P{ zXBl8TD*2I;s|2F;btyDF+nR2U#_iN*Z4RaA*NBoL&Xw}@##i!OV=8JWz|}2Sbe5p* zhT^KoZ4R5u>rlj%EiqdZIi$X<_;hJf>_?zsKv}a~lfY{f047}lUB;OehlVAOFO2AA`Tvy%`h!>u^P?&{+^g+q5jE_+rpBguO|EVh=;drqDnWXsBB zIW0RTX%~DYL~mkV%S|d<*iThOzn)_+Zi)IjsR0@oIWi@{%Sb)WgK*j}=tSinJ%U}A zi2jI{BYBahR-#&HcHguyjq_MT*314*<_YtO*bwc@ljO$vHMo#~k9RaNcLur>q;NTn z2u_LWM0SIjNvl>GLfibTqwWyyz(EV~2}-CwMR0O1_ER+UGO3)-Aw7SDVS&vlY8|bv zwdl)9h%D>ta5Jk2hf;a5k@HEU)~a<7fI%x3ZYNl%cL>{7+FxElz5_`V^#^8Y6LbxxQ|eE;A*MwiT2s!}Kpb z*eQe!f3CBCjQ{EHYPyF^8#?6ye+VypAVP=p&|!We2QPftHt>J@$FlW_43XpY z(DDCF4u9uW;D0Fx|Ke5Pe>n&58yT;MhlVEnY98Je4u|v5;eYB%_Itw(`o`frba)xx zu(8L$OD-0a?vyn{#eaO=MGGMaca?(Z^=+VYO1Nmb0Xio%koVOZp);~4Q%FFas0p2- zASEVYT+=vLnUkXaD)daMd|b=tYm9Ta3gpbO7#Giip6I9VHnc?(v&rCKQYnHmN21nS z@C{*eiYHU7i;1;Fp+qM%7BDy+Oci;Of;n|Lfm1kWrURlPH!Eg{o7%HB*OP+b4o0P9 zv!E-EN~=L3Y$2RfQ98NQ5q7=~b+o9PI3Jkq#0i99}yONe z3@7D$Of|*_juh+ba-0vSF4YRHKp&DQGZ}KiGzqtZ^)g|U64qxb&G(?Pc_xY8N8mRD zhCS7oqG&5mq>Uc;0!{+#$NIr4aR!E?=CottxSpWFyqwbwN(oYP_?(vG+p`hJbi7nx znKjpwOcuQkS(rFbxBd!IFPS@d6D-8*8_(3RkTJVjYSqp!*%hd2{zV*Wqfky@n4yDF zJ8-c)ZiB4Hr>H`u)Y4XHzFm9_;e3nLuzpH@5C4n$( z^87G(nv(Yaa&-8D5T)p0b(R?q*c3*3`JoOhPH~7v4F_pNk82E3G=|ekx>S~lWBUs9 zo(wik%{7}K5+)6eQ5%uyGKkj(Jz}qch+LoAe$s=L*!Qz)S~Ii-jQas0QMi}gJgKvp zI~fvv$s-ja9#N0VqJguF@&>(MD;|NsY*~VombUTok~CB3%2tdrfU_8-$=FGXQJELQ zVMXEEb8S_X&deZAI>QiiZ~&jC%eTW|eU+}0rTWSRSE)CLJbuIQ{w~cFn`;Ok6yJ%Cf$9cyV#3<}-3BQJ_#Eb3JZ4tb(ZjgDq{>g5K$aMQ!C0M{Oycj(Y-K{G z^MZ>hm0C`(KtDWIfMLxg^J)c#Ig38O(%JMGCDQYwtHcl%1BP0GxOWPLTYiiqrT$&0*MXX^mT{k;Sb~9j1QS!ClA+v{ z=qn)ZJrQcy(9!^fAi8W%$Q&FL)3A1}Rm5aml0-I!5U!-R{n_#r{_>*kFMKcZxlcu% zeCK?yhYtVePbmERkia~j`5(52|H_XjzwP+XytF<1U*+(>`RVQ9kNl|O_xf!7;P&u; z`jFQDdaM7+Rp7sstIumcv_1ZB8@%J6y9)m62eSLSANcRL$G^+qcUb*@?&a;_7mq4_ zm$hB_yW7M6%gfrHUjH}$yY1m`w)!~yuB*T=-;n*@m%nd&{JZZ|cppFSeD77@(JuT^ zlWk&geS@dX9SFI6F{D>oSfaa^l!&+b5LO7Q-06d3YC3JxC;oEit>zde~c#(cIQQlocnibb?>Iu;@KmmYz-L@WOCuK~XKe z`$~b)2C+p?SsyAQFg1`MCU>zH)D0Q-)5>pg?b61eE+cl5T(;BQCGA%8vrKCai(@G9==rJ82pH+7#5)5Ki!dd2b~{l&nA6Y>!D@3%(zO1d!J$U?riBww8#646c+g zd|<={Rvb3UVlO6jf*@^{x*8bu?hY2t&A?(&jDbJX>w{$KA zFqJ~dO_o6Y*TL=(y9ICM9^D<$%^l|vb~j~Qnj}FySAm(Cty2_+bDgxIlMnd)bc_*&hCu$F)9OpZMGJ+uOtcyFXO=>-6sHZ*C9Y zR7$>=c|QN8?cser_WI1dwLSd9AIst&x(a-&!OQt5>htVxZjb-C!S7(>;P>g@*dD&u z;Jy7n|LfbskLU2;@O#_CpEY=IpPR0N{}Tp(y;eWm@%!83cSRUd2^HSMEnp?~3M(6B zoT6Y?L6^s(U8Z*MCRn6=jd^vKI3wF}>}`nSWW6Aj!woJ%Rj}H@hl>{#KLwH|@Y@Et zeV>mXelN${Yd783$yd%NddM{X^5bXMRp5R8I{vlWw#R?v4jrEkf98(u;cxtw&M)>a z>wowI+rzIcD1L`;-Mu}0!@pAeUY~QfZV&&|N3!$l$}QW&Z&-btKD>Mt_|GpT_}L$C zd}w?8Zy0Pk);^tp zCH%^c{d}xBKKFNL+ox&I_W0koTj2#M@ZPX*d-y-hwa=HY(w?pzFOJR%Q&{>_KGSsZ zbdZ!Mu6iDxdAekUq)C0eRl|Un;%$qZ4p<1R!SgiukUPFqR8=vI;!*t;B_6nS z6)HGE*#bESgU&aWiV5NC4Vgq_26ak;YkD4)RjW#K!0n*L40|78n5Z{g=W zZgk}T{EG*re!+g9J*(whc~-;SAJ_2ZU(@#WkbH;dNr$f*oQJPl+{3pl?%~@O_wcgC zJ-lLZ4|jb*>*3)Zi+k8;aSxAK+`|Ejdw9m;9?n_Z!wrjj_>#pve8u7(zG`s~U$?l2 zZ&}>Kw=M4BWs7@w#o`|Bdegq&!acdL(c&H+v$%%?7WeRs#XX#}xQ81S_wXf)d-#gQ zJ$%*T9=>jI58tx5hi_Zl!^;-;@QTGf-1Y1B{TA-Yg^d>X@R-Ft9I&{DXDsgFoW(ud zu(*dWS=_@{Ebif}7WeRVi+lK%#XWr6;vQbMxQACP?%}TAuI958t-9hnFqx;T4N} zxa*7d{TA-Yg^d>X@R-Ft9I&{DXDsgFoW(udu(*dWS=_@{Ebif}7WeRVi+lK%#XWr6 z;vQbMxQACP?%}Tg#lGLdJ-M*a;vOEexQ7E4_wbCxJ)E<+hZ`36@Fk0T_=?3neAVI} zzHV_3-?F%eZ(H2M%NFwm5x)3*Da`z^)m;a$&byz{HW;hWz+ zC0W0HeS+c5|GdAGv3Fa}F2lP9ynkjqQyOpMcZl~o!@F7o@1AdeXZ3}HJa}%U<2HUR ztekGWzf&IU&mM~(yG7Gqv+$gS-?}*qf1Txf^C3+tu7tsgAuzXkuT1^$2C0(CoHtXjVvmipz#biRDH!@|ck zeD$P;H$AH14_N5ww_T?@@dG=4@^gafIz@QypH-hvuYFn5-?Grle|Ajq@3Qi%RyLLR zawWTejW)CKx4!FOX9_%ith+%UBdgzVv40%CufmNxUQAJanA7ZV34_94G58G&U&?)- zz^5>1+!_NYJpb#K@2y;Z*6aFRJ4fS++QX}*?05P5W51hiU;nOMmi}*F(D%P}gNFau z!i^moU-@ap+imf23(FS1XyE}1|J?H5VeuUn=A{9zPgk$+YhTUQ_nE;F_*d|+*&2Gw zjeaGYuhHV4Jbdiv(L-&Ib`|;$_Z}@AKJ>`p!lQ?}A1(CuwDp!?)Ifl=fw>PgpBJ{+{fMP)-JmaqEaSw zBW#n;#TvvDf-Ql|HLT6yM>nO9kamRPRZ&ygF@Wn4G9k}uZ4Zrc58vb(& z-}$E+fAxRTFsWJg>5HGQ{(jHbHT^n(`#u~w^wY@!z zhtwZfKUlc?7xg=L|6>jPyZk#m&X8$;`3nj+^qPimTYTl8X#CAz((vns_YDhIENrr{ z(aL|x@-J98>Y){Uw}oCGC*WcqYVWoSzG>xn_~LfJ*YJ+@;6HDFOyuj|*r8LB)AA)T zk`Cdo|5Gyl2!Hsv#{JyYL%fpTvG3M?ar_^;3jE_a_!l4B9>14UEBu}(wS3MW*5Qty zjXDYYlBIvnLZ_HvlL~*y($D;O7XA|x8fX29zw-|je#O%N#mBPn z>sG((0n6Xv8HInr(tkWx|IapS{!YLW|K$@3|B9vO`|I|n6rOa3@N=&!{0A-lK@0Ip zet*@Tt^b=JSNLyRdLIA#?7L$8|488n4e#k3{=J6hdX&ccG#dWvl9ud&u1pJ{s*kxJ96zmu%!4|fByWue$>)G zVc}=%_IL9AI~Hez_y_EK{6{Q(;8ztNUdb=7@ATjRG{{7yq~!>q#Zwe)Ta9si$L-23+?gMadf;#slK;g_sjKi~X@)#s9>|3eEM zzQ^)A{=YQ%TKIo21y3AbH~2rY^uNf}XWsO8Ss%8~w+y~w=|5^Aaq;)7Q~F(`c9Y5D2mGD>oTH%{!6;Ho~p6REKX}Z&gCTq`Mu=L-v(BWTsRN=in zKVw>n=4ac?ID?h2BmL9@Tr^dZKU$yaHwDeUA9sb`~+`o6=1;u~a@pNVJ|45(4I}O2S z4gSY1{U2HA_}$)>@a*5O4J!UOn-$O3Ep+&Oo0{(J`Q;ZCzT*i^f7(Kazx@Xv?Bp~5 z5dRCi?&D+FJE!n17BY>$o2ND1^#m^eTg88;r60FYp+op;ZvFb_!wUb0mi`|tbof!L zzt5LO(-;3^tM|*lsO3BSr*icC<+FH+mHBzqZifPYr6i z^C#o~K=Gfp^fz<(zt7UIHv}txU*W&s(tpuH$NzV~tm7e%e_sv!!!_VvwtD32leZ6P z{VA=_qsB*`$?=o_@Q<}V-u|67Uz|SwKyH5h`i!=Z!-va?|4Wws(-!*o=Iu|`ep=!0 z9#TAw7CQWcW17zOi{q#9R~7zYOYgGK;lE_#+2IfWlERM~-f|9q-oB;jHHH5(<757} z96$4a+c>1}BG%`%FDU#UjB7pr*g~(*4_TbB{JDPh-?Q|e&B6Z%>-QaimGAvI#sAlq zen+mq+}_69|D5d?p0|4cV6Of@WBjPEM`w(``gu#w^Q(FLoWs^Wzg(kzT)(>0>c95C zYyE%1__trT5U=I;oRxb$V*K7WtUebl{qI|-(9l<3)OPMPc-L?I1xx>J3!NW(*w!7k z4}YJr`F_aKpS4imhVVUKd9ahu{KNV<{rrN_%{+hQ`tZ(Qz4S-=y$^p}>p5&8P|5H9 z=d<-MyaZAt7-$$)}#LwTA zf1~xEG`ye6;s1=qI|0l3e9`Lj6FE4%lHbk$TKkvnN%(XBN%22#bn@?6sL&yNe{Q{K zGJfWVYOEKHpVao+VfaV?gW_*1S-)H8_^-FPx6dwvuebDlIe0%mVBPs|_lV+u#`-Hi zp1<;re(x<_;CmGA&f$6I<64dI#+uzA* zy!j^@@|nNmxwxh#f6w93RAeRb?Ht|@8=Vw?ae&xe<9tXmr~Vwf@&3+KwCZD&N^Q;I z?cdOG^?<>=Ztp++OZz*Sbo^H|1WIlS+?q~B}DbK%Ndw%n%8{hdT{hlPB;mS3J;HO?#E8!WT)$q!r$viA_?pWdn8 zTZ=xg{nY->_oBE)n3H{kw9nhCg#z!>|4y`o7)HMZWn9+Wz;NpOTk$D4hGjxblv|zi#;6*sbq> z*y2B6@!L#}_2u7Cd_QLIzhUo7FKYcd_i6s$wE1_~^rwEt;6L;MeP1^C6@$OLU-SDu z@^hE9Uf=sC8hSfkenazr>qSl9Vf&e(X^sE3(VHE}@c$C`KJal>W&Zz}KW&G$!ZZzZ zETx%gi-uS=TMA8A)=omjfb0^}>Nl%sr!7dN>~8u;9iZAtTXD4PZUSA&BH!(lzte~s zvFuJ=)=mL63NA6Fm}Oa+mV!}GLxE)?fAaf0_dF+^`N&=O_5J>S`-4|r_ult?&U2pg zoag+x=bk&w;BWDH3z9gP{Y&g|=VE*OfyxDOPx`Q#%KPf={m1qA&wpTiLel@M|FVA| z^$+y9=KuCN;`M76B_*q;^!Nv|oxJ^|t_Qg1iP%)@|Haen(Fx8B+3QDx)!g0Zqxd|` zu;MzP=We~;&37wAs!q2)ydWtcu17ilL;tzC-CN1I{M~xHlRf^i1EdS*9gDU9qU!?QU|LOU!v-khYdEtLGcW~wB`O>^if7q|i_Ww7I(`i2b^8Zl& zuKaHO(LGn+7+9FBELYl8UsvAy@0>UN0imz{{eQ1L{{c1s$G4Bs{PEsv79{_VmAyqm zZg(uQm7eqc+J7oqT@Q=(xxSWorGD4`WfUUYMnLmrY*0?RQ?w|T+Nd{*KtiBT~pnUkGxTxzEbypb-vQ9HJeS` ze8jxlw3xrb|64rq_K*D8>Q#%boFc38ZmuLZp8C3-cQ$H%^>m#14ST;ydHmn)^`if< z$D|%z`s1o^rOIEb$JKgF>oKIAtMgwEap%7rap%VYA6_8t{97dM{5?e6`MpW&#o6in zlqBxT-Adf~vCW5f5O;n~5qEy?B<|{=i@2+oG;vo?8RE|VEOA$lJ;YtT_7QjWoFne) zJ^A){QsT||v+(VD@4A(E<|m6iUeJBQPQGrVZ4X7_?%x|2B)+d~+tZK_AMxQOA3jRl z?aLY??(!}BaPueDE>|umAMxQ)A0G4JaUWjq!yA2glMhe&@K)jvZnE{&M%^@o!?QlThxl5xr;qp*%5%h> zop~QV;KK_(yy(LRefW?MAMxQOA3o~C$9#C%hnp2X@$bW~% z|D5t3;@!&oi0@UNBmPU>hm$8>-et#^0pcfAzChf`7m2^7@`J>`qxK9D|Mp+o_!}Ya zMHP6l$3&fY|?~Dx+&;Gf6z8)f8t9*p` z{tkT}zoQ510{1q$TN&K+NcM*5;Y2rUu`3&)g_gei~ z;>T6Khxq<4TlqfXMg5K-NBo7nmCqCZmFgcLUi_++FAzVW@W;_kb`A>xbF z|0Bd-SN$d8M&(C|f9eZ1ZpVl}db_o!Ox%4}Wm>D_D$--+dp=Rk2laOqa>P5YvvLE> zueZENJgt0)cwTvlc;{BD$L+gw&sk=T0$-e7r_xKTYl#CP6d<@<==t9o+8NA_CzJn{W|EH4nhQS}sw@BgZmA0)oz z?<^l8-j}z0gm|gn@)GgUFIqlI`~|J|G2*vrxyr=TU$%Nosyd$ctNsY_86Cbw zJZyQ9_>IGs4-)TEJwwF9DnCMeROL&=S1TVS-lROYwmNRz`eUB>JYAn1Anw*r3&h=e zX_2|EOAZo`tNtP4J<3bO-FoyG@d1@L>#ED;)}5oo-Fj|}xLc2n6L;&p^~9ZgBXPI> z+eF;Sj}re=eUCOq{FBPd#Q#FM(S7Eju&nMH^LgbF;(x0=N_>y<81eg*$B93ryq@?G z<&DIjQ{F^;TzQiCsax&5sFiqJc^mORQrWze;(U_{VjBNtXDhmG==( zE6)@ElJWxauPPrQe$6izB&9w}#KWVOj}p(nVEGvF8=tYfOnm=ymK*&Zz{OAIS<55D z8&%$Yx8UU8t@B>@-GSo~{ca&idPb(&`Dz>S0p%UU=P7sJEjazFb${|8$zQ2_g!pHb zj}rfq@-p#Tl$$H7`;+nyYF;~H?FH9QCw}i)wjKwFUr}p$fp}W=3=;pfu2+l@ zFS~UN;!CGmznM=}*US5rM~EA3Us2-jy+(}qG?i~8p40C}nuwPkvwltzzeeR-iLV~g z`Xb(_^6tA4S1*@peYx*G9M9@^BW2PvrtL1L-$gk2Q@?Nhl_!3_?%x_9{yyae;%>i5 zk$AJp4-$9#Ay!%Ainz>XD1E*D-z$T`-lgLXI0M-@#MvJ-E4$-`h%92 zh!4HjuJ4T!zee?p5pPmnCZ19K=IZM9*w$?IM~FZE9?PS|Z&djh@!OuX{Yjko>#eq2 z^~4)>|92ztfp1y)CgOeHv;I#Kze3B~O8oda*8Vo)@jtctJBUA}cBY8$*79}|FKNDA z#0y&QY2pv4|1-q5sGcnGt;&0dKdSosh?kY;i0{^N<%#c9{R6~n)y@L(M&(7~H>#dN z;+HEQBEDGvos1FUS=C=6o>x7i#CIznBi^RvEfc>@<;{lb_>Z{w)bB1_Kl4N0Imo!?qm_5}&X0aQB_0v-5Nv2iGxoc zU!>f9ujhECr1q2i=rPM%iNElq9#II1EC4Rl~9^$>q`-tb2=ZJq- zd7k*A$_I%5TzP@`i^_|{LppC9BtA#^5b<{?A0d98@=@Z)l$VLWsN8**=jzeucYXEx zy`JNr*WYPL65p!4gZKvJUBolWv&1(l&k;{6FA%><`4I6hD<38P7s}1&s@v~&cYwI_bCI|!?+|h4{}OTM|1sj9 zaehlz`_0u$l(>tBIPq<&r;)hxf0FnOD&I!j)o+UUU#ol{are7AIpTxbkL8I!pnQP% zfbs(Ie^y>3{%hrf#2-{XMEr-!M~MGKd5QQF%14PGRX#@i1?6SpFDf_s9?7-$vhoP= zSCvPJzo9%v-2Dzk7x6EB*tVAp@!OR55Fb#UBmSWB0pgD(m9eb46n_Ce)Q;_b@g#6O|Dk@%I$lf=)gwSH?OzER~<#Gm^!E8j(Y+GXm0;;}Z% zdx$Spo+I9-e1P~h%8SIa%7=*Gsk}tIsCi#9vYQ zB=I+uw-KN2{7*clyo>mg&i_8Vhxl_UpCdk@e1Q1(v|L5v&Tm7+ogYfXo%|T_Et;>< z_rT8oUsN6??&2*@{3exeB)&v>lK3~3w-Nub@)Yr_m3I+${>c#kiTbUFxbshrxbx2d z@fV%{iNCIVh`94liTE6~e~h^EkNJG{xZI-hQR0^?j}v$PsVDA!Ct-y6;s*O1T_WE2 zF3U%WZ#~EIG2&0vTV5s}UTnGfLUp2Wy$>^7m4>PA0qx8Uw`fd4%|o@)+@-D~}U@PI)8o-zaY){<88`;@g$C5zi`55jXmtqLcXRDxW4kP31Gh zPgUMS+|85we0ZMtg1Bu_&1a{5qJJf`tUa5ZoKFqeu4JSoy0$=yo>nd$}_|_D$f%Cobo>6 zpI4qEzEk-C@mm!^)GyT|Bh<@DAb+Xk4X;e_weQ@ny?wdrTAmnaXF0uTndEh<7T_5g%1O zdE#Tr3&aB(tvyBJrzjsH?!NmQA^r}PA0>XS@-gDg%FT}IdQT~j5dXCD81c_5j}yN^ zc_VSxew&ErRKAt?H*DH{QJr~i9e=1P5e3K8REZH-b37dU)e`IqTl!BiC?u; z`+wqRsC<$5S;_~AHz*$=exdRb@jp{OMtrUEGV!aGM|M`n!&c={;$KuAC;ku0>xu7E z-bDO+%9F$gmA4UpLU{-AXOwpm|4-#z#NSk&Azq{3IcAB^QQk-VJ<4;$mnt71eyQ>T z@ebvK#III9M0|_#67gNiM~UB}yiDAE*J-|3UGMj+e3bYpK^xC8;zgCOCw^RcBk>oN zCyAe;{c0=mQ z*Y&w-zD|D^I!WBw-|E9Vh~L_1^>z_=deS~TOWgHiIpR)F-iH^6yYIe-h&w$aK75q; zJ}sBoTkSWeC*s3n#J{b28i_kSO+LJp`2DIUMcnD>^xNk))!#$h>F@L5 zdFBn)zXjr5s=r9w=^ymrBgEam2Qf-~px4?zM%?Ky`|!v&tK-4_dk`_=ooauaxYJ+n z!<&c)_5EWj@f*Kn?QbLQ^mq91PU7z0Ye*Bnx5w(w5O?~sKD>|kUz~6Kl_y@l$?6{< z?(`RY_#kojJDVfKi#J&PCE`y1s1Gj_f1CP0@~!H6kEs4Aai>4#!|RE=_k&Hud%kGx zPZD?fTYY#3@#yK+?oQ$*{dbMJh&%mhAD;bAwIA+UZLj-?yMNauN8IVp`|tvB7oUT~ zTOYOl86xiVkNEIW;x0bR#N&@x{bql4d7b`<504Rd-(A)dkNw!{ZzS&YH~H{Z;=ej# z$CnP`$BR~fin!C?>BG~+-M?RxCBFYhR(}t1r@zmK=ZU-Vu|T|Y(CRM|clrl?_z3ZL zxqZLHFID|x#GU@K50Bhm9S@DFKSuoWhphc^;!c0P4{suVf$DE1zWYI|zm2%l-{HeM ziLX@sY2y12S^XK}PJh;i_Yq&M`t!uYKehS?h&%lSA3jL@6RLlN_)N9GMBM2g_2FgW zSF8TWKUUX!?Xa~!O5Ev>`S4NVF8<5J2WHymHShB@$^!NGjJn?C-+y1jaeCaH!zewEa zAN1iP#JjGs_Ky;8j9UF;#GU@K504b8|k{=c;L=ZQZs&)Ppg-03g)@Im4asQwY+ z(K%LsiMZ20>ch*#A5#611J(8J{@vXuai>4#!|RC;s{SV8opY`IN#ag_s}JuW{+R0T zB<}v5x-Q~Qf7*vRN8IVp`|tvB_wT_C5_kX3+YoW5f5eB65)Vaf zy_Si)e;3Ytx4Pb){)i8c5kI2-uP6Sf#%CjOr@zUEcRWyS&%wX4*ImR5%Cp4(MR|_+ zgUSoUfA~jM{}6MPA0_^Xa`P|McK%d(jQHWXR<4ow#>*^kCH^zjlOkTc)V7yS;#>8* zk}l$Tl}{7DMtO$#pz@G^0i-W;rsPsby~UHYgGj}dq2<37BexJ%#Y!<&e^^hqDyO5CMy^Wh!DUHX&{ z?h!?VO)`W_$NN8F{)`S3h(mwv#97l^y`MISy$+@&A#;UmOd`jQVH zCGOIX`S3Dvm);a9{#7nQ+@+8D@ECEIKJLToiM#ZTKD>#zOP}=Nt;AjWHXq(W+@(+X z@J`|`eU}eU6L;w|K0Hg@rSI|KeZ*b*oDa_vcj*Uwc!9V}U-aRF#9jI!A3j3dr7!vL zQQ|KBm=7-#cj?U`ihq@h5O?XLK0HR;rH}jYdg3m9qYrN)?$RfHcq?(2zRibs5O?WQ zKD?8-OW)KIg;p#9jIUA6_8t(ieUBAaR#|$cK**cj-$$ ze3ZCLKjy>B#9eyxAjQARMToofQ6C;7?$XD7cs+5KzR`y_5qIg6KD?E{(OP}-MdEzepfDbPacj=2he2}@G^0i-aJh4uW}LME`8L8$B4W1aUWh!+@){y;Z4L{`lJtUCGOI<`S1?n zE`7>}cM^B$yL@<>xJ#e$;aTD?eUA_CBkt1Ye0ZL?OF!Vl3&dUeq7NS=?$QtW@DbuJ zeaVN95_jpxe0Z6-OK-kU@vm|b;x2vEhsTJ!^l=|vPu!(%^x;j!UHYUCZzb;1xB2i6 z;x2v4hj$Wp>AQS*nz&1!@!?tGE`5&=?<4Ng=X`jcxJy6a!wbY+`l1gXB<|7=`S20q zE`7;|j}mw3$9#C1xJz&JcQoBTcE=;cUHYgGj}dq2<37BexJ%#Y!<&e^^hqDyO5CMy z^Wh!DUHX&{?h!?VO)`W_$NN8F{)`S3h(mwv#94-r58v$o$HA%3Rv z67dDfBl>%*F5d3E*6OJze#Oi7eO4p!%gdHG5kLN-bu5kKQPYflgH;+s}~ zA8}_-j<~aDka$G(j}os}{bR(P{xWf=KR#GJeg#y2l6Y*w+TTjt>2D+M^k<3poMwN& zu8(+3d5(C~sa8Hud_egC@s#oc@z>vG^|*hh#l=st!SWH3AA6_eCE}%e%SVZ4m5&jR zyxYo`i5rz~{ZY05%ja78H1W7z=ZW8}^_70KTF;~JvwAYbbAN1kmiY?Hdx+=XZ+Rc_ znaeHD5x-G+p19L9NIdluYj=tGfL@Ohcj?Q-FK@T@7}e+MH=^aOC*Gs~u5J_Yxc&}Q zEAc`7UD;0JalP&%Ue@az@w8s&iD&hCgt*gFB3{tzQR0Jo9sSqpc*tL2_ovkpZ_?`| z@rYix5`S*1)!Rn=hhfV*h~K9?MLa#l%6Ag)y2sktMZ87j)5KRR&k(;-d6sxac@Ock zmG=>UQSHwWuT}Xx@hQrS#0%?exkiW&3|T)!AG1dnw{3bICtk1Doy0S$r;B(*d75}k zd4{;tlOjqJGl|!F5eRI9@Rfed`Pdyi04$kOx(#A^uF_RLG3g@ zt@i)J58M7ELcDy?@+k2a9K`Hgg7Q(~tMvCj%fuVYHeWMb9S@hjYI%hCQ_7>nUsoO@evRsn6CZrPwZEQt zeVyfv#79+66Y&?+Zym%NH6A*N=T*Loc`1kLc3fhw>xtL)+x?1-#Iq{jMEp+Wt;BPGWc7CtA6aGfr-JbSy<+eG}4b1iQre$85| zzm51|mG2<_vhq&i&#OIY; z+hC1pnYa48h|f{^H1T&R&k}!iiPhgny!c70 zKSz8*<@3ay{RQG7t*=4ionN>5hlpRSc8(DLi1Jb5bJd*DI zJfQa16TejBvyu2zm2V>M;yo$uzRDO{7)yjv6=T5Qfs3XKnDnClRHD>qQj}iZ> z%9n|^e%IO``M2sgao@kki0{7M`Ylepc7;t}PyC(An}~m6sg-Xfe&?sG{x;(4RKA0_ zYj>T*XDze()5OD9S^XK}b5%Y|yhV8*@n0y<6Q8O22Z&#Cp0%eyyi55Y@xRpaju3xA z{Zk_TIh7wJzDIeP_=TEp(H%O8kWK z4&t9a-`d?t{B_meMSQc$r-|R9JWKq$Ypwo1;tw3N@slH7RQUq&3&w2!Gf2EVZuJZi zUwoC#cZB#w%14Rc-DKs<#20HEnt!+VUHyJj(!^hXpS3?ryjJ!15O;CdN8H6>p7?LHA1Dwns{SJJ zS57zMl9d zMtoG|JBSCHt(~33zxn~o)5LSCKSTU$DxW3(b>)4;-S460i9dC* zwSRzk@jcd_0`cR@2Z`5RYvo6XKbo=nOT_>9gI0c&_(zqOiO>EU+y6xV!=`ifzBOX! z2~py6JFQ%d_-0JqVj3t zuPDzFZ&UyG5wF+ZS;`SVrhd*7@A;PXLxK30bzVJ4yyp|v{vqZnKSF%J@=@aNf3MBA zOuTfd)o*@o@4I^cfXYXRZ&4m2{-TaM^~4{3)9P;|{yUX#BHs9q){a)=KTloU<)&F4aFB1QV$`2AR zs{JFxzo_z~#Jm2t)jvjjm&%uke@l7fX=|^GhnpU?{X>knvp-I}PW99iclI|C|5Mf9 zO5EvhBi`fUfw&d%GE2Nec^~mT$E<(y#FIL{3=ntolLGM@ zb^ID6erUa|j}hW#)Y@Mn{v(wiC4P_cGI94ikdab#y>Ge4>W>nC`=wScM!a5mJ@I$6 zTlps9_20Gnlf>Vp@~y<1m3I(#|6W@s@ulCk`n!m?shw%!S1QjE|4oCnzmNFh0jobp z{I|LelPCU!@&fT+YkxRMeBhwfKSccSYHQC3@ngzIiT5fm6L-JkXO3EZuD$=g%14Oz zD~}O>$+dUl_4iu)8;Osrd=v3nxBgGu{my3x@sz$_ND;qI{oG0XZ-HK5_j=4Lfrk1-zf1d|7QI^MttwbZF$SY z4=IlvtB!|_THYA(2h=}t;-6LddgA|Ec@y!w{=(+hO5FX9P#f`Ys(c6WA1hB0ck5%F z#NTy+%{NW_HXZjf#LrdvEb+^g_YvRmn2rm?-Mn;w_(AtxfVf+~8YJ$1KXZh5_DNgs zCF1Y;q%H3#@jq2wCcf}GD<65r9$o)%#SDEeAb!r(RxU>Teah>JPyRkC@!fH2f0Fn; z`h3(%-1(=2xcmL6PU7zOqq>OiyvEv}CVsE-3~?7%S>o<@rTU0B>3kqZ{GBZ}-#qbV zU_*Ru~BL0ucTZt$B%G%vQeD%9*Jg11Cqw<}^FIJu=zCnLiKTCYTJx36q zTt^~4xsF79u8zM2;)CC_{wWfVtNbAG_bVSEzFpsYjuO9A-?NVq|FX)LiI42HevUj_ z9Ve&h_#PwvsIHgBiU0dro4%g-E6SUQpReOrEAcCIoN6P!LghP%yK%ge_;U4Int1uB z^?!!=8nrV^{L9Mwh~K6>PyAu^&j9hgDnCg4ZBN_wJ3>75nzge;{5qX~juQWSj`GA^|6CycSjpCJ{1?^!FMZPTM&cK!Kl_Le zs(haKYF+Ot5KphS`Ui>M`&;||afo>F7nYZZU!XiXT5bP`>W>pYOXnet#G|_Zyn}et zG`r6*OT1C#`-oqZwsz!+7gT;5-x%>mEw6dL+MdW~w7!V1{102M4&qHJ-$^|5 zIjc8KyxeK^XNfPq*6QyeUaNeFc>SlXo)U4lp3w0^b-DiObhU^0mb-1fMdI~Z??c3& z)b>&$KB|5gCH}zoG#-fGcF^+3udD4Gd%*H0;<3-#^0pE`5x41!#NEF~-1M7j{ZD?@ zUbhk-)OImI{Noy*^}nsw6aTWk&Jlk~=Z6Et-M{}78>`myg38wucmFO_6Y;ixu=CX( z;-_mrpCdk~^*BJh^D*0w3dFbmtL1~lA3bb&nYj6>El=dd>T-P}Yp=VAyMNazLwrZn z%4dmRGt=hVLws|=#zPP-1ugF=@du(-{}}O`RlZF8MwK@ws_Uyp*Wn|?AAL}t_le)C z`eVdjQ2lY@S7dB{^~95P*8WD~4{5t=BED3=%S#g9r}nfGpEt|uZzF!C+S5V2OYKP! zA6=mFO#IGKTVHA7JAYw$miXuc)}9{XuV<`$AMq(VpU)A$be)yY6aTUHZw2Cu&(nUM z`2Ho94-((G*zzIbKT!Q8;xko#lz3mg)iXx?aph&=|Ln%8m#X9Q2Y+O*i^N~Q)_$ij zNc<_~W#Uij`bOmCYW=aPwqByd7f-W1PJCv_@_OQr1}#q$ckl6Y#J4_d{gWpiS6(LW z-bY7XskZ<4$E=<>@duu;ypi~wBbKL$FVcBYnYf!*r2n%zUpM|{iO<_)^_PiH*LhLo z)oML2t9+WcTZhaNzcHZgg?QRnUMBw4zt?&xSLb_7<2g(G-fPr;;#;*}ii}t5ne;#L zRMgtjNPMx*&zp$Xs(hOG2F}=`-AQBi8&mg0d__2Fik278G`pJv+lNi`{YQ)m^gH~7z_A!I9Y^t(Fy@iHVD5Sh z=LeJK$XB7a7U@sN-x>IugTGR!w*P48^!{U^Gy0zi&FSwoX7_LLcSQ}-UmK1d-5G8a zeUeA=*(uS)*QZ70`g&YnG|$u;`LE|D?_e@Fd&kVb*z01G#c^}yC*&-->}1)yeagP^ zzfpE6%X-MgVgESnc<2nXdm(IjX-qVijqj2=$(T&LNftKM&xGH%CT~s!&3Gv^yZ@yb$?-R?e=uJR zt$70X+Yf}y?()RMoSe%4By4uSjO(IaKZWZtT$l9v=eT|W*Ct@~kKlR~*D1X}6MlYH z?wia_&*1pR^#}LGVWWBc-MwP}#M@yHWZ$^{kY~fupt)bl=*bipdol-4Gvj-wWZLJ? zH@i{y{qca=zaX4kZo;N_&252=fq+?k41P*POmA+z=^cQ-a;KdvSNzS1`(IZZymC&- z3}>byc1`j?E?~}|wCVEqc=d}GX1F-* z?%`v5%o49IRt5GQns)bz;7U`dGlAz1O-!sl8oGP9^t@SeF46{@cOcHqfnd$uC*omq z;N`kZ`--GFuwo_tTJd)&{@ToeqciUIfS+o!sHErE=e7YMOCuhOVPK z%#zt2GY67Vuc>9dfpC5}5H{n1aMO_$Gt(y)q%-YDr|r2lf%n!@mWFoPD|V$1-Jy*SF>Bh8`{eiEIh zLq^U;Z@||5a8z_9?;Z|mzQJg2c!sCHg2i&fQ-yU@un2Sri{5iGE$n=K3RtFsWpcx> z3JaYqLlAxA39z+O??FEn=$E{MNc(HB_u^0D)4^q_-kv-yw@J?BFB8ZN z$5CI>j!L0;1AJNI@fynm(!Tn?(!Ro&t4q`N%=L71owaKFshRc#)9&6BG{G4y=!+KK z)^Rv-dCTDoVQ26(d(YsW^iyKHq}vYL#MTz%C*@iR-S?v1hthScOjFmaMEs$-CKI2P zFyRJs#oSdApEkY3nOWlWgkomadZc*?{lQ!6L?0?TMc>g-q5=A*!{@`IPx4(T`NxZM zB~Qt39qf?&B(D~en7&TR0ET#45|s1#nPIW{La>D<)F5S)^A#p^we%03Y`U&SWYLFu z{uGul!3MVZ-(mBLd1g~Le9;V@A=t1UHY|XACS+ENf5gTcgJyNuE5pNcg)M+C;fujd z)XXxtw;ndHhs|-6#p#338{)7d1%0T?B`KVX@5AufPNebr`Fb-;`hS<#qZN6HzmV5- zckj}Q{3`RYu@ao_<)yxpSV_PSuFNjaUrE1>Jb#O0_>9c(jyaj(Y4Psil_>uQ#jp6= zj&@v)j5%wG#DwU075Z;oWRTB&#_7W#!&mi`a&@VABHYZ`DNzbhrMcWSq zrQaXeg!!2#6Nk>b#P4R_5*at8zm+~l`j$QDs}1rGK=-jX_OzR8=G919(DauWX`1bZt?knwHnfr4nuW68SHrGll;k*{-^?F{9^R}eKOhXd$ z1e43OH(#OmuE4!5dcFncJN0}g>Hz)mA&djkPqZKo7C`^@cxD*+pOAdvW1DAGbz^)E z8&mr?&e!7;tDR3>*}MNw%AP*c>*p%UUh~YFzw^p|;YSWi*{4^OeR@UNr#GK0`*baP zjh20S^U1PLZ$4S}>CL}i_UUg?cAKXy`}Cxi{j#?x`!7PK!Ii(+l^=147#a5BYReoi zM&dEVf4FW*JSKgq88QPG9Vp>BM%vY{kxqQO%;|sA`WEFLD}|;tB#KSFJrO(4ml%`z z{Y%LAY?Tk7{ZHl>e!CaPUVdB7s;SH`9yI5fig_;bKVRmwubgUjSI%c&$F;QWAF5rm zG@sJz6RYuj(BPgA#6GcYt7n_nUWcVm5*wwzOHDDWFEqg=()TZbzI!o_hP%wHmiWVS zkA)UAAnvAnZKU{~Ui96=AHdw}F3h{OBNo?(gvn_&m3O=8jPV&K^}3$XS^qHAf5{x z2uycnMH`2#?W?L~x+`Q(`lebYFymy}?n(bu%XC-BOvYdO?KN)BaICziUE=UqU4E0% zSj?Q289s_WUBhYY~sqKD{=F=QtC8aPBJ~5AJ&@6zpGs_Iu%MnI9vMfvE>Rf@g=9rEN?%OLHxz zSH_9;bIpghMKG5R2EGRWw40g8(*$M&q<=-;VtXfIMcULg7(*q^ok(lyFt7MR;A?jL zPagPU=h{MxnbII*L^sZ5%vfUr-ds`iW6tjBxEeaPonbZ}ikQ`3#WSARem=@w3>wVE zXE&_GbNthK-i-4M+SgIYq^92E)kQt}plvl~4}BsBpJ0wKXNlMs$Nkd8Wy_M7 zzsyBCc}9)nzC51_I~~mVRs0!PnOwd%WR|{!a<#~FThjDq;J?k&&DXYFWR@G`FVBdt ze7t4f8`nSNts`uEhb^1=ZgzMr?i=WrI>_L8DtS5LX<|paTtl6`#&d^UuQj>$0G@eE z(*Bakh~DdE`%SQ_{I75{v7Xq609`w^!bCxGil<}CB{h5Zbi(Rz^;{uQ5)-_86oIdk9h2BkihRPb~crjuOYs@U^u4maS7(g#u>jLSuT@r`HuysFwuJmq2!LoK=Y_O`Tss_6=>2X4=>?g{CiWn2u_TQ1MwnzkV| zHPfCEz313_Ex0H7n1=3Qn|_67`!6N^!piiaeo5#2bo6t{`(*7b4quv{J>Hr@FxhrE zbb+ZcS9Bc4y46N6PB5Pmd*Q?7@vvFG?NRVKd*;@m9p=!_X52kF;=aLA{1?|c+JiM~ zGfUQ_zi^+dLCYHUwz#tL=WlXM(n$Y-cv>ESo@P0ZnB~F)Q|=zV9qUSQlf2fF?!~%?nd0?1*Wz4a?^=UC*I;~2%)}ZK>J$uqwR1gLdvf!=+0Z3@`2DX<+#<&( za1{I9TukzI^H77e9;u_3z4f2(dCw&>XZ((7Is&#kHQ&^@bl-YSp5;^qW8BNAbCE;+ zEZ+<{gJ($Ta|SWTd=_cNCdvP1eeikv4UoGJf0E`sn6JrEbV|Q1>v|jBn3(fcb@D9YwO!&voeT)Q;Z z4{uSPh?Xa8%agb5u>DHSKY)BMgAG5y^<}EN8@6`9R?jZn%b<*iqovy*Bl5!QaGnXG ztm>yu=oK#aZ-pLbS1;;fh3ZYg=I3Fv7i$%9?*SI?UIPxhXu2u!`-UBf? zf%NV;S%2PhL7;zEt@zgrnc{nUQ&`jIIPvZ!mw4-UNB1P}J64w)K3bPMajdS0_zQdm z?d4apejdM|^)Tl1-n=*-F*6qQt-KEH?_-{Q+Gbkd&kV|nV=vZub}g(;Hf=LzL#i<| z7vtaa(gxOI43sp<7R1%emcw!`Z8i`o4V!Rj7_o4xFjtQ6;{5<@9=`KJ(|gBy(VJ;U zYz-vLnY}OIUJmak>SnG!u@^Shg+Hpt4ttz=xgJv|u)cV!q>FcjCf{e|pjYP6uz6Ve z=M;{w;+Vwo6&#Q5!Q3m7I}x~j{*k&boq8mIxnrH#b|QG^4Z{nf+dX}u=)iEI>%#H1 z$v{8WU?_7A{CCLr82;Y4 z{<~gVl{w}sA&egz!u!V2Z?Bsfn(^xT(7uDGnvJi9GwsKM!4EAIyD@I1ar`XGcpaXR zVxb+kKCy05@5k``_1fks`(8qO-Wq@K)>juicx&*+R*N9_UUHRQRF2u zJCb<5Op8pYAL;tB5LFw(v%{WX=;{n))ZTX zCoz9)s@ea>^$+aBI6UBn}s`+WcoW3i#dnNJ&(*4f4)b-rb7b2EJGVU(30~s)79yuNm}v-hGr;`as*aTKnsu z=QprVp7ET|w;;W&sbp?liT*M<{>p6WH&;9X+ZwvT;*sWa0_f{DPYs^Ad3tf~X4J8h z6}eo{d}v$HZ0JPUJ)g~%ca8SBL&_8H3y+IG;-&W;DPb-r=Thg}ON)9#m|w2%xuAE) zZQ=1`IB<^4)ntv?_5JsZPuzmJSc7TJwm*aRP(nY_f@dPc-A3rf9PdzG#=u392j_lq zXYkA~PE4FfE7Y@feQw7Ppk}c?rd+eD|ph4QN%l8EQin$}! zw+`i{4{pKx4?K4?ltSTtS?_0g#P;vW2hD=%A}@1l%5nd!zn ztZvmJu=P^ju&G%Oxhb7j6h!_Gvk>$B5b{~%$p^3=8*DSZM@@N|oXeU|0Bf^J%yUZ< zbC!vpEyuIItl5GeotRiAJ&dOCPTCm^(qf#mowW%lu#ZK-U&!4r==e^l4|B@$*|3?3xox_G14=`?la2 z&rAP}^bN0`nVjsOT;H@dn7lTz$keRZYBv57^G@04@d|88VLmGN>caCk2@{zF?%yAr zzoZ3myAJn-i%d)H%ENO1HKbdIK7Nv~yu{;U;5p2ZMb=!Nyh&siEc*Q6WaqN7$Uckv zn`=xjCTVk)LHGSZvqbhk1RCYNLZ&8x_zHF=3IQ)3>Xro%?;&X$Ufe}{MdmnsXJxRK zg*Jot2D4UV%*HDatKH~hx+PX2Uk5!BGt-eCYtjAk40sOwbx9!F8-c%`Hm5wl7h`HE z6!H3;LwGK6{*gI7)|dMi!Nwxy$8yj5XPW1qZrnc`_acG$ONzLM`v=S-lox&obT%|O zUGd^+vkZJtcY)c62gB75LYL?jKfVj;MNY0gpX2%mSg-Z$!k8g;N&g~csPXc`dph{a z>6UuTdVQRIzw$WlN%|k-xEB3qqOEy65lxQAJ5pt7i(Y%fdc(;!HQ}`>KiNZA1FvkO zw(U-MZCC0Hec+sc){||U*yHiW9{XH|c7!pb-$au8Wc*lvMshqLYaftbJ0I)cHOcX} zp-eZo2gWnor}qZ%JpYN=Sa)l09uHt`){aRJ<~wFrukCM!t`uaTXI%15be&Zbz;mIs zW5TXogy$`(WTzk>NfX4JDS)|`q!r(<1xw(3fz+L@hsJS^wX9|C8Boe)%XV@+6dTYE z8(eznC(c7UydU%OG4Oe9#}+T%FQL4p4O|XZXU@AC^WW7@$6MMUbIgjdQpO&sE9na= z>-H|p3v!QQK0PyeU+&TQ-g7$2za*f~>3e^4!I1>+?fucbBMHn+_dXi)=HMp1ZSuLj zREM?mi(*F(;a*8}nQix#pv%d+INXbSiSV}j_Tt{5N1Ki$phMCe6^^!e6kOH@#Lh|^ zcfE<{h(SE#TyFO~xc*lA@dlZXNZ%`SHR;O?Vpse)yW_L)DuvEys2qD5 z(RQ2u+LqK$_gt%2;#=gzcClM*uxG{!H$#ldIJX|63eJ6t$koLP5aT|X;e&Bl*GDRnYIZ0w`cvWIxk!Me#LPpl8 zey?2lvk%-?A@d#5_V{PN=MEM)w|5g3Vb8ZTCZ7>E% z?8v#qm&Y&$RI)9I6REr1n9Ipr?CD_bhC3!>p?1Ui$ylh}uy8UKYBxMnaefD4LF&94 z^#|R%oI3Zo1hO zJpM_qU39{K!|=(Z4C?C%)LRa=1Rqa%GMgduXr&D5>j~7GL7m-xUCQe#{t_}jsFJD3 zD}SY@=b)^qRmoUAo;`~`<;kGG+WlR~1o1qLb%I^DU%jpz+-b@WRHd`J4Pw~k|30Mq z$G4F2bU(Gm)4dEb1Aa0cwyfturXMo)c`f)B&v4g#`Z{nKD zXGCFm?_R~^S<>3!p4Y5x){bgs?Wktfj!C9=OkP*mQO&F!j`6c6+UYI)tm>XU55s>8 zFpjj~8BXTpQtqR8)@{MsB<9#n(swPwbD!vZ7X7b#{{3g@YzdnhnHQ`@`ULhZ7(9o{ z{sqa)J_}Fj7yT}c!T4y#PW!N|Zw_MKnvgj{YDsS#d#~O6A`V^hPJi$3|xI`^uA8uQd0r9GCZ{nAc*yDtnQG8@>*o8SGIp`Fl>t zyI-$v@SJL}#|rNw_WsvG4Bmw-n+(xH#~wlXShk;2WHws zvE;bO2!9?t)GGO5zid1?9tK}wLK|k_xmNP|6!JlR&svLo5@yPb#FqK1-hupNt={k6 zuW;`JNS8pmB+_~Nx{z)P(%I+Qf7utv-{U<%z{DlTIwtm6cy$fnhjnqQ|@37Wg za>{|VVa%h>$J_^H7um$(*28PD9u#Uz9@y47-FpWUT5Zpt`O==bo1x=8tn;I9-grlQ zczFuzd$Ol?4W1K^dhfjgSECPKy%aJ@lNsIk4bpW{}_5 z=1pg1-sf!QHjvtPq|cS^fAg+19%LUs+_r)2OBN8V5El{q2O@R%if zWWDlP>^I763NIHOXxlySz`m74>fBzW8D0dLsSoeng!$2iq{JHbHSfTh*)}uf>LSX& zFr6xV3D*zRUN~cY*B1_7g%~k-Z-PDdFRq0@oxLA{?R&SM-77Y)GUsAXEb1IA95Y|T<7PhTiz83Ym0`;4!sNWRocMt48xX$`v z56UjjG7q7CSD}^H%2x}97$U?SJ?I}^1;%M_R#SiviJRf=oSAh z)Z_MLR+rdvbYj~13B;1<&D?O$aIhA8EOuI3T5#Xvc=t28hXe1Igay2`_t^CT>=zSe z%=TfdJG9F_f;o>>(x&)@(?@Be7uiWe+Kfuzh9&~jxyuE_`&Vfl{%I8b)sK% zAH};#Z~YGMASIt5@{qiOau4~tyd}?O;mA|&$$4Owji+O%OYuoJ;z{Cb9qQ7%#-1_B z{}}d-$#oFV@hA7FoVi4F91?$N`2yJACVN}OUd)xxzY^onY^jI2nc>+|U-aY7l$h-Sw zEWxJpgiCs+z|t_?`s1!mbiP;PG=^86Gr-aB9~ro&jb!uwb8VM_{qD|ASF#=F7?0yAwI ziB-v?8)cNE#H{$)eN!fFPhv;%l{P4GBjwy%XYgm+Vz;z4pSGBTTn=*5COx@|GJ8Hz z+YdUq8_mYO@+>Q3E6VHn4ta}D#l8UArKAg>ZF=dYPHf^nrk4w$QFV8ZoXQNLjP0O^Oi#BVd zO`s*@m(UjolWUA+?GhIO^aXNH&b>S$OM4^Y8`>)>`v#>S@a)oW28t5fXz!v^ z+PvtM`_k^a(N5!XA9d;FgE(>LmGNB{NuD@_c>6f!zS2innIy*Mll?>BJX_aN$I?GY z-##fP`$)m1&w$>lz7~Cw7gMg!kn|r$KCVv?TXXM%|K5e8ythMKNuS`wmG%Q(Txq`| zaZ=eQNS~jObx^TuvV5=|-*I?0QJi+;+Sx5}T+0N1SoUaVpwb&zeyk(rf6ZXFo zdE$eQoSqj0<~-!zW711|{|<93=`$*0-MyQVxG|VJ=MY1GRS{$I{xclP42O~L4wO;a zUC>9y0a;JQ8ld_L=PAgctt}C5$0xg=LgtNlK54M)YrzJ2_bhuWWRJwU zMdrNBnJ6n_P0A?ifAflK3TNVPuBR_~;I?hiRoAaDH6O##TwrR%FW3XHu@-YbgZ8l; za=~18dlQb!@GNjX{_wuKeRr^XuB($;Q`@i|^UvkbA$1;uz9-&qYF_;Ubn168nWoI} zUTGiDFTPG8mJZ?>^jK(KgY-3WEzhLKLT5HK>-9h3dM(b6h2~=IEzs~C@BZ5x)0-_9fhM2;ce~3(bK)GwpZaIsm^{#Kz%8tciwowAm+Wc z0=)_7b?qa8SWdte?77_N*&_GDXL{`tkw~IFiXHS>si@oYsiHCK#zD)dC*)F%p{&@Sn zQx+Nn zJ+kx_7~_}8I{R|;L75=*pr6PD(Oz&a{lRBWGv`(N-}ZsOUxvA!e}2CVGd-Uk!*{#z z$8`3`4ERIhJb_rV^@e$Z`d+?`ilg1hH)io-T|vrKnt123gJ^4OXJ8LVZ_ZLSN)Hc8(vF(CO&#+}A!ReJQZlKv3ZL7gq~oG5mBdr#76&lP*6 zL{{1W>y-9XS$?;tY7Jub5S|+|XQG^E?fh@|M^9l*CUfQuNOQw~JI!NALlCWCz?cba)MgXTbqmb=Vs$edmyT=YF#+}@6Lo9W%yV|QUR z)DXnjAniHTXd05Ji^{RW^>InqDE*4uxA8V{o{Sw0h|dqc)oY* ze=>KHd8qa`lkbvONW7q(+jz0#JocM-&o^#vE$>io$5?qg#?6+gk@LMH_MON)+|5a5 zUmjbvE_fz>UqI*h=m*3PvVWu*=@Z7(?1hfK(9w-P{Cuo~yXTMDNRtVQPcWA2ye=~_ zv9uQJ4ZA;eUhmBqE94zd?rqrPfcCOi`uWQKP3IkzZA`{Ur>hQg@f6b7wLrT+$}0o* z!90dol6@fX!^UJRd7bw>>Af#C4Z2?0kULfO37U;7BgyMt!dlnn>*`iXe<|(P>rYTl z>C2_hlrqY{FxfPiItib#i zBP%&wi2ErXt$e zGiX!No)TsT*1t0CzreFJ+SM$1U)FrO$j$vdxg6yFL*@2CPW-(K>(IZ%+P2ik3oHHs zbunXu^s&;mrCm!qUlEwTA^!5j>b1z|TJyCEdt7XYEqh^$>ubc0;tAOC>5C`rFk%P3SHGvy4$n^OAJ0yV zOM5hbS*xCWHuL7a*f)qe!91Wr+J~%dN&h14!?lgcwyDq4(w2UIKBVoZnA7>tw3BUG z<35A_Q1UR+F7V!DQtwQ}DC!h(FlHWD+S`lYo2lwE{9;}EAL%nB*5$pzw^2^nLniMl zZo#?OYWqu>%ODoLSVk<~h;JeNVzHuMtL%rG5fck@SeM5;nG*W_m6>qwddx{~h?-sU zUCj5>R}^+)y><`25xfg!yk~24)m50M+=XX?D|ebg05-NDO#(VvkS6JU?+3eZU%tb2 zYi81~MeyFkJ(tLSH<`O*K79+;f9%?Qz<#@ezHUQY<^*`RdklM}@P4J?pHS|bryFmb z-aV_!eYw{S9kQ<-Wf@zLoPm9ofpMviz|z*k_(nnI#IsO0vzp^(d2*3iE;d~#^)heX zs;~*qTHo0`F8ei29Q!-4-*PARoh4pR9hUQ;?!WZv5x?nDSsp2i!Ed{mc`FZNt@Xu2 zuD&DZ_s)oz-TU!38^1Av`WcwrChr?&H$3;7iCd)XLEMuu<%9UPLAb4x2lJo7`oF9b z1z=x7fA>eeW0{TX%|Aa6>-V$!U!G>)KX@|9#l2&=eh7MhiT9@Rel>|YH4m>G$8oVq33z+x zWL^2wUis{Aqe!gCe8S-Sw`Sy*fG+HBEsKAehu(ig_NG<&%6_NOFb+FR$L4b7J}mbQ zgpG}0gUsK53%S~kbIZ;zR@XmI?w1sQEXA|-=I!tA-5oTOd&hSNXFoE&(2Vc-f_d>r zh@lwdZh7+qhhujv>wP==m5<{3iS09bgVT@=~dCi&+v&-%AZ5=|24@?Dzv^Vqb&5_z}i%_ltHPsN^Dvw9GA z;WsYYW!%oeUSl#hy$$c5j;;{-z=jO&%Qwbyp78pg>fgqSqfdy-o~)o5mo`_L_}gKG zx2%0WZ=in^=}SA--j^_D7oJ1CIzS#Z(~$?NYf@JFwtG?jI?QWIcyAZPedw-{-;a@Z zh)CnTFP8Vi=5_mf7NU;x%5v z?{s7aHq~KXo0PIg@clf_A+y?4+}n%mB<9gC!j57?cDVS-2Tl}cn(^ZOUmP~+gC~j+ z>`|M!XV|=vKT!C_?2~p{8RIC=P5&YK&_3K)<@P?w+KI%z z#QhUNthHQ}8U6y|B7pDmwqyTPDc6nX=Kx%IM#CDj^~84cdjWh?i@fFr@S7@Y%ok3? zqnWw0)AJ;r8@zpyLDL{AD4u^0*WV(k# zbLBUMLj8Mh$NSl6(~-S*oAJ-$dli`n?LA?}bKA}MF?kn=IPG4C-(b7)%k@Ex(-3HxsNEAV;Y#GFaF2O$Spk=ub-s_cg<)7U-c_Sxt`nj~RmP`R z4xO76ASZL!L)fPj$Y5_&AbGyY;r+tY?)JU0yEhp#P3jxpOwBt|i*|rMtX9UEI{bzh z=8~)9^_LtrnYD+_ta(RD+in<6;+R4i%+YyAq%5h@ydwd;FAkV_NA}{l7e|u-yX}2P z5*K{va6;tq7e6-dhh?)?tsL*e5-(cB^b|T z&;GAo#J7*ovwJwc%gfi)$k?&i*;DPkg)-%wR7^32`dp>`}z!-=Qx= zyw=M7#klXvDA)D>PkY}UA9Z!+eSR~!KmZ9OTtwFVLQpYfAU7aTFB1YPii#mtYu$G; znHk7HCNs=TAgI*{wz|gM8l<(gzDq#5HQByhx1!Z;-x6(YSKHl1+0efG`dPtC)oNQW zbqoEdyx;G+{N^{qAUFHEe|SDQIp;j*oacGYbDncQzcWma@)J)Ha9|)P??(DraE+`7 zF!oylcQE0yeX@+#Ku*j*75S$?Ui43L;d&Q-!b%APKNVt%oQDxM#+7H3E6=atcVrBi z8d}r|`%j1G;anZ_ys~PK)Ti>H3z44dw0z$&vRNV-5LH zrt^UBJJ6jrPe#^fN*d)uGYxOhJt>c|N*<=pF(AD)8Fnk$`aalg_|D=1$e!Ohq=4^{ zn{T@30KOIFccN&IcebsWchH6m&HRA-`RHq>-0JE>elOd}k$dpmhu|LkA906Ded8#G zp2k?l`4{#n<=nmxZ9+WJIN~o>a|Kx!fGxlqFw`OJgT56-7#FhM;&)?@famLejK0P* zO@2d2-N!f6k2`H3A^LC5l>yq8(ut|n)Cs5Vv}{O+@crJ?hX&A3VLnoQhHk_1{x;hZ z?r)oP>P~7|^$p+)bw2NE)YJE&#{-*Go2x{dGikTGcs3tn*BwN3oIl1U-koLoV9?@ z@b&kgKjuxA73;?RXN*wS+P=J)bGKcBWtDBHe5eF;f`Bt!CE!wilsW2yx|BkFP?v)2 zk5CUBJ08$u2la+??=NBx(mj4~js4`d-I$Mg)@(=G#h|?yd@i2l$NU{{$f8{jdoia5 zyb|!r8q%$h_YlmOvH*I7HAOZ1Q+~f>L5F#-jrZBGHfl9GYt~Ja*%XvnwsFi=QO~Uc zdC3dtKh)HAPJb`L{4A9L5Q`R*xo^G$mXVk}8{CihvGuc2H+PoiABhu2o;UpTO)u`yNRf1LN#cCWD; z1=g|LD`*DY5a_n;vHO<5f14=7_lOu%z(WLcXncFR7IKjLp8lSy#{_uo#e6n|{7geR znR2t75FWn6l=s-tuZcr@G4Eu3Nj>2h(0)!o_J;bd0gU6pA0dbNkV8Fiz2KR&b`WKz ztSZnaOSc#6RD@aPTje-|Z#>c8v(IGN|Efrov+OMMyPmSXeJC%>eoLKLxC!Ooc9D?f zR`adL<(kP|KkRSV2R&A#zL~xb{IeY20^ijA_YogN|94%8d{6KD0$_i{x@3uWdf$!S zGOnZW#;pHw8)c{vlh>9*W}{F?m5`Ii>t7i1T78>37B=o2Uo;q8yZy0tImbJ_Z($kk zJRq*-EzHfPh(_K$+d2NCK@0OB$P4=q<<*tYJ>q;Cd*|D6KaFy*v^+#FzK;RzWhf*2 z=Z)Z(b(4}~EbdmLeyD5s_Nqs|<^85?x^(B)VQSMyvE&Ysv70@zmWU>$^OQ@kUQny2ANa#GszR^asJQ*9z7kw#>IFa zf#)0O!&>H;no#I8e(l=YHTp+= z!#B`!tYllV_Eh$( zMA0W26}?MAkKc=$yTSOl65mycb(~M5{1e4P>OGVXZp`clfF9-pVvk$T<-BjU{}A^B z_@)5H+DE4FtrM(m4tjdFe80fIz#~>~fllGBEbb$E#KK^aSXdtZ{9bEJZ_9erBf=Yp zCvUs2y9jr@u*PXC!WnhD=%0-G-gufg^h?i*`Cqlff(kFrKJdOT@1hFm4f@RLwuu7k z72MaA^EfpJ6L?2SSiKXC9OQWA+G7x<=Z$dPPkeryt3Kj6W96`?cbb@qIr^gBmR+85 zPWP%++s@o?eiSm}7_fV#*tq-eRsUi7cjytiDD<@r3;QETcN*GF41F-$R@rpFypzKH z#ar;!LTX~~G>#7)sITo02ssAdj(Gsn5+7llqq5C3q2Ia(XR1v9L!>c#lpBzj1r^j%ARM9OI~ej~8(N>-)|=59^iZAY2>soBtbu8~YaX zUc{W1`zf5y-wYV~=Xq*vQ8qLgJW2V=Z|t6yZJc_;_1y=eiq`w7)H-W{Yq zN*&}p+>5n`w`t*G$kC7f%odn?!CwJCWtlx6en#^AF3R*0WV-{j<=U#s>W`vqe1{x& z7f}AmLj!`K@p}(S>S&wwx`ybBw9D7j% z*sCNx?32}k?^f`=)vRam7!%e9W!1kY4Em<#(^}8vJ{G?H20t^})I5FmUmm1oHnTT*Eit zQ(pm^W)9_s^L&YXAkUWV`n`4g?(Fwn*k7WYL%fso4ESgRA3QUe#jzh_ANxq^isw8v zFI94W@eHNR=fT`dPZcqajSMOOOSy%(0^tP=RG z>sRcB4CYxkRjjP!8WVeEsH;{RZys~rxxdVL-$sr{0%a$iS4WHaFGFVzpgnM2_zLO_ zWo%gt+QNQH=EYtZ&UkkZa{v5Ae6Rnqx3HS?(%XvOTHx*dhnAhfJ7(JoloRQ^z!4f= z*dMwiEZ^YTd`DGZ8`^&Y^5edr*)QQ96TekqTa)j^=rHF~d^3Y%1N~vdb4;S2eGYYH zD_ph#!nVWDxgT*cd>+ETM)-ZK9Y$j=kNbW1zKAgCo`-#RlaAplb(sFK@Oyh7n<&e& z9N)M=rm`&dq9e+}^c#T_GTfru!E@X%eOklRK8o5e`rT`pH3#!u;?4AZoS&I_*>&ED za-2oKBj?xX%t<9(0Foq zVISvyKfrs8OFDWQZx>?B3!dV&KQ0xm_j?P*U|#_J{ba~~YITLzyLL0$=0Y#t;lW;2 z?am_g6 z_aa{v)@_@SzFFMS!gmv8dfSa-s=_hT4V$81=o2!u$`ovg=Hn7~+&C5Icf-a?Smko; z*@C_Wo+`y@bu1tI6zYqd1G?_;d~l;0Gxy?KlV7607>29lS=R5Fe$(FiJ@tJ}ShH=I zk8!L~EbIl28%r=R!d#eZk+snEHtd~zYung!o4lg$fw*}5?>;LI?YvPu{@GCi{Z{Xm zrnUA#_VeA?Tfn?*i2eTz;Ms8t?r&fn6oj9;aVuS0EaW=qGSmb5dMV zleE>GMvVhr)EDOkZQz4_BkPL$k!DV{7yY^6*Mbh*`hncbY_XBv{^0O@)aw@BCzWN9 zaTo4m-)95P{?Y8Uaa>{>!Pr#Y#yuP8)xg7Q?{z>NRCru-Ihh9Z$Qx-1e3v_bJ2jl2 zWA1w&`{pNvc*L*!Kf3JOhP`rP8Hs%{AS4G=?kx!(ep%6>HMl2#*A=3 z_*IPU(6<(xWn-;cAm7}&2=j(>ZXPr88s6v_b$-*{3&p6lmG&LeaLzs9RZ-ZtjpHWz zzDk5=Hdd@8&Q;ihGdMlChs!yG!O8KLI4gm(3OGYJ``(N@VIkc4!n-mJx7%Kv+Z3g75m$&1cy8Ncck&m8R zltDI7X3U>N^%Ia$CFH~N*;}z5-hF|0WZN3M=Uq`czf#L)8+dWgD=LAPkInv+eZeMJX`+=K8Vwg_1uBLwhTVJea7ERIvQVw zC#;_&Pem_z%i_O5JKhScV!3AS6LI!9C;Dt^`pEmzOe1N7iD=pck-;p znmFAlqmpfAO|reOXwZYb#0Tyv9{kofM-6`aN^xj$YZLlR|H2D#p8Fv8GSFXgZ9Nrr zjdnZK>%l$=)*AzxJ^cgTg292!SjPl#KkGB%(Eg&{i34ANzj(>uK(PmQDXe#J`)1LP zwQT=?q5oAnpw=AN`{DkX+$XE}XM8_~_e{mz_;M0!QJx9ocOs^VQBO>>I8ORM+b^(J zV)wKiROQILLCOA(>kXbi3HG@Up4b0V$jj^pNZ3v1_dfyH8kB?mFX!dxleeHRc^i5s z-$x`2XE$5K^qwvDRDU1ow4H`C8@wlI<9v+r7R+}Z?qJvr>(D2veLLu-|Dn@mJoA9x zx9soW9NzKcJQsfOA-~C_U&f&gRpNb03;2nfF#DZ_BjVu3E%rMK-!=_@+k56v5qR(A zxQaBDqV;wIR&0QQrv96SBpKTsb?I_$oEPrV0v`6s92+zLR$G^Msi3i`) zZTrJpK;s%k$Iy5W^PF570yMVc9iS&94Ylu)i(k##%d7uz%@YrPc#9ez4zo-*ibH3% zTrl#Vw_LaPh0WsaHq_?}_lUPG;FNH2$$ZY=DFX}X&YUSqM?=mZ-snGs_1nG7{|Cei z6JI4t(Vog_!Dsm^xBCw*1z-5icB{vK!AKSCi(i>ASb%<{5cpo6Qabpew*v15V+|wx zdtd4EAL3c=ZXxjP_nAW%g9gud5AJJ7&CZq_1M8b#m5c4 zzu~mOiA{|o@7y8|y#gLEr|&PtI&S<;fxV^E#t(hBs-X1WqKU@eTa63G+$l#Ym-jiCIH%NC3ehyD$I%1ni~ z?PHk+P`2NojNGf+B*e8=8@`boWqs3c1@`sczXeT2h}RL1y&Uex_1l0m{S<_;9>RXo znIlZgeKL+amEf0q`)osO2NRJF3!|-`0{@{8F@7#aJ@~QyV?5@5&tWb4#^T=I`{ezh zQ8*7Tz&`U>PaocwI%p%^MSCt783ud+^9#}~0IuP&*1-?GB}2rqbF(Nd{E`4o?7yN< z@P4@MIq&}6SPythwu!UKU=L~bvj;-<&xhb=8#H4g^KvZz8uGdGKqgxS z`Y!p7v+lc09`;wafTwey^P^|^2S@v-j#R^r_cslWFP%D413O{n;=!xnjuz8KN@h0? zmNZQt8PhU#WNgEd!Ljz#5g+Vn=PeyPZ3pr_Fmtt{R+(zMvHSLM<%k!!JQsd+|na8}xk@_AmGjMwobMui;o-xNF#WHQ9&b@_{|8)}YNsJzvg?ako!b|(CnNQwVIm*8U=YMa%gucH7 zddczF5(`JLCf~9ccT{KAH1GXV>F{-bg}tcK%BQ9+vqo2+-8pXMgvuwU$?{kg`z{@g zJ3OM~jSkGGD}aM=;$c1h4DZ{2#wxD947|OHW$O;e;ascqjm2;|J~{C>9~sYmB`5xd zBjY)Cp9@~AqSx*X9lT}lZ_uAVrD4sek2Ryjv*;gWn$0?l?J+E zehKjpp#CltUU|+RL>;2ue$$4zV1clPux{uN7l>Wk(0|UtSz5(d|2xo;)DCA7M?ciML{#Dp?1DFT0B)yQ$6n}0fz*v9Z{CDC z*^znJU-uG^#O;x|DOb{O!}_TJ^vT;#K0GXW+XR?OTOiX?hHv1V7Up69bQs|qUq3wM zL%!Vt%ly#q&moKC5d;xs0&2V4b3!Od-_JFqv>pt9P z1rEV8H-UX%q~Sg#aqZ}6Yi#eZ8+nH@mk!=kl{D0O!9U@*1gz=;;Ne=8>*aTGhlA%# zk7Dng=Wo|c7Zbgsp17~A*ZO9~O!4+>s28-|3Bzk3r~I-CF=;J-zwcq3gQafv--CN$wP=H_y`D*9vd;v5D%a5BdTRpZw%e>}Ltd=8WZsHlYaQ+jw9bMY zD(<${wc!n}*HGSyVSeKxTEWLeo?lJD+JbdfvC~@Tr`|qf$+tKvAv5CTK1Id9Tk8fU ziq;O|`UT>lL-nH$E@-P zcfZ#f^Dg!^iIe-V75l*xzOAcx&02>$V6B8Vf%j(-cOmxieV|q5J-8qU8k{4O#%DDR z&aeOEJ^1JV-pu|-^tb!H(|(RUud7}Hetu8NbuU8f`Oh_Y`|3 zG025ZzgLXGzWJ0JKtJHk(C0TG zq1>z9bbUPRL53xLy>Az6NH9xE)Q*UkH$I#;02mQPwkfDmw~KbU0YuKJ39JtK8hoo8 zYU?8l>m#)_zHl^|-iW-TZQMEH7K3|WX|N~~vtZF~MHn^>dmHRl*aD>C z!cmMKH-0isyoM*Mb$z@9q!fc9aDAs)0Nw(;RV|5)cCH|?wi^*_)gTd zEUb!XJQkK@G`)?=y+gWtZc==B0A$Js-%;V3xymg9tQawu!o3W3Iqc=I&5P_69UGT* zEniV@pKsTei1q2fs$jIUgfWq>V0&l84t93hOIn&Pw?m!r(ApHLAv+f;0Dz^*WIUongBxo<>dDDf=9U`}Iq>Ri)C9ok+x!>6G2nlniyuZ}7#tIycU-S4cgxQ<1dY4#f=Ht2%?L z?dH~N1Iw;xUVinGrGciVmgY<9>jEuHFJ6g)Q9Yz7vPz{p)lzaPQEXG;qQTDS4P-6Z z-Ib2UB0!&99}PtmH_N)#BR+gYWH^!vC8LQnigQ+?L6Btkb*B=MuCN_XM3TXDG~R^_p(Ek3uj zW$~3O5iL--j$l`~6J=Z4la3_2f}M6#J1WgiMnaM3dcfmdc1_P&ojrCiZ7*G3Ux~`K zBR!!=g3KXVFct4Q|Ez91wXrLljK?D9Gj(TAiCEEe#jDc!_r;>&*H}@wQ!hxb=mAcw4~bIniZ*Mj09U z3vdrk;Ow^&cK_`Y24BRvHSUJU?~nsHtNkkOn&Qqnz9|r`e~s@cuQ z^Wr9)b@Ohk9CKL2pVjOlCuzkS2He>u_;R8(X(n)ZyhK(|b;0|k8 zFJUUe9@hAnUs|F$P0`S4m|6@2Cgar>mV}A%8fL2?|N9LL%=9X-r&r@63CCz&`~)b* zOM4A3ESxIfD8DPOVext4KYu^$Yp`#^K5ruo`x@+YS~;NW!!%@fcXImz49VBx4#Af7=!aikf8}XvI}9uGScG<&ZBfxTDHz-WJvvE ze%8moy6VH=q)gm;16`K%7(W&E198R%zZk#RFQ%>$V%!e~#KbFm#n^d>lIdnad~Ds+ z$>rKztX<|Oe71JcK4hLcCJPe!(;{hg?6o%)3!PL&5!=9A_@ zsm&?Lfik2$DIPlOe4${dBjVC^9{C6fq$g8HtV5R9SSv@L$1ySc6T*G9b2Lh)Y|W`y zh)HyvTg!d|MRJ9&M%c)cI`)?cGc92j&QNedn1WZr$^Z(_jiftpZV*ZP>ucI0H86~p z@f>-&=0@v6hziy@QBGXS#MK`e*JI)uj*R=FiJO-lhw;YRG#3XyI1B>G#`&3ONt5w+ zy5bk+iQnRiM~l;?QRQL&`!eytT>R*dtQ~V#C!%psm*vgKf^iQzakUO+%9e58b>cFD zGI6_{xQw7o+&?*S89^~_B5)4RUDX-sNhPAJns$ezBmbx7cBk6?^>vX%KuK@w-IFdr3|877%7w8iL@^i?@A}*ot=@SzrIoGi>h*&kMk4R7FS0@ zzV(^0$p%=;rLh-28n!@~#ygZN#!6Sq1FtYC9_hk(IKQGFsXUz5FgN>k%1-Bzb0hX4 zCd__=VaY!aNHI9mFkZ@yeFp6MMxPVQI26aBfxZPd{}es6ZO4ytI{p&v*K|D%;s&T< zh7Zcb;X@rsGuq*kb?@qrWZg3!^Aj9jtJwf?O9`!t_Moa|4AW?u&bV)QSi(pc6K>G8 z%P`90xhkFt1?ub8y3z>Bi@ZvCDcZFr{#dkK{Ckd|ZFS8zcpTbw4RT~R{F63mxM<5! zlJUo)%`_U%k+h3{yVkGcp)a1RLY->^k)E_HSSFt=JI4_heW|?1L*J!?$4y@rE{8tn zQ!e_bGF7f)mESerId1x@Wjb<`V5$ zRB4*FLH*mbqIucU8ch`Z&3MnS>8;4eJV00&0M;5 zA4ykf!>N|nv_tgAo=q38xH?d`#1V9UIZG9nyq-#VP5VRNspww5>{>%OKV8`!o-$q2 z?j+sMp}fbWy8tz#>gH6+%XyDeze|>_T;U>|zr0)lo;qEQ!=x+gm*sV|S;0*|vIuGN z^TCUMr_KlG9oc*s?at=ovq+bpk6JlnI#qp#9J2Yi#I){gK3HnaNA5IT=EoJwtp1d< zdDFkv&-2M3laOEb(a$hYWAi@@dp8w_b-$c9G35PN6K7z)F+9EQ=9C`ZUe3^piK3Q!2}BB7k+ul350w zLRn^zFPQvgS%Mf-mZjQ%vSrEQJ+n+Z1>UR3I81)tFG7sr{bKF^Sa{D_3!Yqim`TQA z^7DQPVhr!gwEtvzXFlR$d*IoWtcP^0n=9}<>+`I(jbzA?+m_FkFgNdf?u=j;Nu8wct#y~&qH{$IoNUG zBTk7o5$y`4lid5McQrwYPcA|;#|XY?Jl5S4LPi*thjLVXxmgWlbQe5$FAGOj1-m=b zOmE4f318+wg0NMQQ0?kug7Ls-b-?*N{BS*c2y_|JLnV9u9jY{};iN`55O{v2Va8z_ z1Yytf2B2NSdjQ{`2YwUaFXw^Z4>HtWx9LaV>x#S^jBg#~b$ieISx}r?BYZdTAIt;4 z4RGqL+mO$@0RMv<2tV=M0r*>a;JtvqmIDVKUZnRzcG7UJNz(*N*|A*g2WnxZKIrYQ znoPZrZ&@$k#d|%{(Wsgh)=%I^nY?XqX*8Ul9av)lM;%DxhL-}4IyeGe4mj%I2>4XM zdyj-`{oN3A=@8Ez$g2hU6kMB=$IN$4nQg?&GGn{djiW~4;9R1>@FP+Ah4o`(0gZxQ z3DEx(JWHOO9~<0tE?FAf(}4pr${3B?1|0R9F?n!LL#)AFp9l9$;DGLAjK)0+@Vhfm zA@bk`Uk>huJh*2A$JQfpcu=l_uOA7|lF6Aa+?01_W(a{J&dA0scdf5S$lV3cqA}S; zgK|F_4Y&MVxI8w>VdU?EXVEyrMT7D`8Vz?nxNv#g_27bM(fA7&4c5caXt?Xcg)6H* zT<|O!>|>-JC1TM~G`S8z8L!(A-)!~VPoT@>_8Um6aC8TgY14=RV|})%c4X~>Oeya_ z0LHe*ILu+JhY)0b8p3G+_gsP?sbywsDr|>8ka7wX9eJoX_#?x z%Ug~Jg+CSUaC%9J-x>vn!9aj_CvctmmIA!-WG>Cld3n|%{*E7H>F@!^O$;kk&*#wC+W zJd`EdKI&AiF;tBFFWdgF0Qb9q@XEINJm5?6!1n`wNgnvifG^Jje+}>zdEkv;c|gN; zA1mp)Wi$)%+2zV=n^I4XRyOKtzOq3MB461E-=C*!gy$<8;rYr&`0JYU%eKc2FE2I*wkHiYA=q1gy#>2wXEzfK^G8DD=2 zzq{_|B1{~{T53^?=@m|+YwDey9OjXyC`YV+nbhoVE(q&Iu>|7U5ze-e5r+9oVb%J$ zfgl*gm75>%tjZMZ3Z~-;^5AU2Fx^aMbMc^(@rDygrJ}I}uF$osD|gv6=QAgaqABH; z>RO*7g$3F78mgF#G*S_qxi`$I@x_Qci$rWyn5lBgrOpEk4R^Upkk%qSUosu?b-L^7 zNLo2*3P7eE`H4g0^hV*Q6d9fhk+E;0;d~6~r772br>wZmfDeV&MmDN==4G1fvL-f| z6o!_Y_E;A!(xEl!Sg5oP)43V{NL$jE=iga(9cu99zP|mTaPYj;UALi-JkrjQFN(Sr;-lOs1@E`Lj=U%l|H&QrCy%k6JJJ z!}%}y3uZ(vY31^VWN!W#{0RPdGDMT%4*}=Q!OiP6h;Z?mbsvRr)>RR#n|ETByvy4p z;C_CFd#2;sMs)QgW|PBoGIQw!V8*jAQT@#t_-GWLqGqiMI^oW&u;#(zzIWnoW9&1@ zGYx6buXNzZYh%PU2R0+rn2$>_6P~{=D_B>ng3OVl3tyHnQwHL7%a?l~F8OBNYlhC7 zyQS84l}@_EF$!^$qKVZ4PX!<-X=484{YHFkPN0pwvlXk6YQ_{qn2 zU9f-Buv!hH^DO@5$js>ti0k8#*&V<{lhIGN%%&secx3i~N@vm4x-s z@sxk3N@vmixXRD5TDF-Zufs|jE}@7;FRN@4i_QcRqfrOwd{a34CO9ZB}%^A<_g~|%J$hh45#30 zF8_nt&wM|GeGy@)iy8V7yOxubsnJ7+zFa^!Jf1RrLyPk;=vgj5lA1|Fd5~X*9e(N& zfYE7=%1=%?WiB^f`m^xLS>g%f&6-=1U+QKS-gy9MSpNDe|3*T`!#Se^mGxywNr zX3^v1QNt8H-%p2K;hRO>bptvK=UDV4Ha9)gLpHqy0BD$^H}#7g!F8U3o5h)lgE|c7 zSo9<|H@#w=*QtNKlrZ>LxxU9C{hP(4>xYk@p2X&+hyGCV4!IUw)ftZK=I4}Wl{h7N z%Ef`39{U=G4L#l5T=Z1GVaj{6{0>RwLAGPbQ(dysG$0?@#!GbA(9})JMU&q>x$E$R zbfz{(W|HQZ9GbehxoGB=Gs6S29wMYYb~ts*iZY<`vrHThR%F5j&o)|j|FaIGtOftUaHD6Bfgw-9OLz}@ zmMhQiT=#Vte<(Y?5WHUGqEUESIJ2h+*%eMrMZ4AlAC1&&rwppau&l=_LkrR{9qIpf zD1$7A)?sI}GsEMbL5Ft&J57EaJ_|9Bjg%4U)tOKCY1q+q*!uE-PIEl-X|_#W4^oG@ zHelGT!xIsvF>s^9WeTixK+DeciI>6qXOP{uH0AuVI~%e2WOtV?!^b5%-rI1?j`s$P zj7vaV%*hoHn?^A+;v)FgY)%z-2xv&$`CjE8TJjLW)=U#n?vDI) zP~xX=y-?VCyr~i`#o2j*{kvEIQE9bi}Zyxa4U5fv^XqGW!#<^}IQKz(>oGrC@)mbhJI6%T8AfH`Gx!%P_r@0d$k zllYyGBMGNWvJP1$!&5Ap!rn4J0ma#xBJY&{N`$GA(8P2CqGZ5w6 zW0p^q1oUMA708^fJ2>SSa8`zfoNt_+2^S8)e~u2rDP&*ku8Z6@ee!kj2r$#+uM5u4 zDRau=qw3;8o#tqDLAf4}oDHpyL(Z)K0q`{omVFeIWm2R zlFQNL!**`?LA{&4!(tmIoCdD-RppwnbV&zeqcw?lC1RNE)X4v}@_(KDU(bY0XG2#1 z0(TB94eN!5VRC4~Ok0Gs&n0_Ax(5Lm!XSV7X3$~yX$d=){LqhN%_UAweykCi{QA{~ zn0)g4x`xA%^1C-XOt37&$;gi!8F^8Dl!XZ&O@7CcRqoyk+pAG7p7XeLjm^^)%u+qc zOGfv|4NZR8apsUucK2yGb5i%dksT)Zq-95XMpl#^`b{T%va-t^TRtAyku#e7vbzp3 z`DFLE8qS=Q-T%xE6MWLLLmPBtMcF~8obb_Pha`os;~(Qq8y*ioEn&yf%iM9|=84WAvXit^L5nykAJ9Ft9Z zUWf*)k`butA=74A%QP8T)wsq}j_*b$)N|vHx%^$)&vF2-Gp77+1?M*kvhFd5l=D!z zJjDGGx`ALKfoK_zyv~?GSs8f|FRUCROxmN$Bb5k8S5X|!H3x}Xu3DT+ROsKB%m_&K zaBcv;xK;^B&hV!9Oh8$hjJ(|Q4{9D|M4neZ0VZx`QnLt z5oL+@=OQB6lkTaJ|7+#{I{Cj|{%?@~=gI%`<^KgDm1qwVtK!ji$(-w6sW))h-npk_ z!lapRoIYwj@F67kD@8T!VKY1v*Id|)_)#B7p9y2YafPu|l0jx+Ug(Lg3u+im{<_ez zHhCPqd<;2Q2Xu)KEg-W#(lEpqeyIIS16?c{jV~|fk`wul-(fBY&uNcR{Ux52C7=>Gqbk(3GVXQLadb9!|}|1=gs_hYz#vmvZEX~-nj5J;J1q z_LS*U6X}GA;HgGA;3p%iRDiFHO2hOvva$Y1vqif*wflf_Ez)9I^u=D?F2#JEW|4Ne zSI#sje<691ra1L^f8l!v=w}?p>!PJ_sjHL|VYHxKMBQ?SgE`?8!qji3Inj1ftMfrW zi#8=!$D&bRGz=Jxq2C8T=PC@t6meZ{#lmXD#*& z7xQUUgv$Ij+-Df5`2qjKDE;POF3st9umK+8!X91G>lfik%9SgY3GKR`f0Sw5bGWt0 zLp@|(=!c{G_b9kUmvQ5$T!Su)Dh!i*z;A3uXv#)D@iqgYP}-_SU42b}8WikV(YxJow6RGrUD^lil`w4IG*w8uK zFvTzo@ws@CF#H26D$ZRu6LkdhppSOiO}B>MrQNT;Xy# zu_}#QXEwWFMrTZ)3Wf@=FZjtWlaI2x2m#7~w4gV|mxWmc$`F=Mep$Mbts)W+@lr?T z!4d}r!M<++Y?h7~ndbW^9h!F)vhnf`)hW&N?u8yvFDtWR_YI%@H{ZoRXuOq!Em z<@ZDK6`plI{E8(W;`MbXijF*0KiR0pRdB*wl4tbyMX%%jb1I;6f`$|4ZcE(vB5$OL zIdgF*-j>M8BI8g$jy`-hlOB5m*jvdaVPsZ(6VffzY2EGX7cQ952kN?(b>a0@KW4Sc zaK5(V$ZfThn={xjKl_FwC+;vSj9hJLf*d02+CX$(9$BOP+zz zk=1updh7c-ZW`iTGLzr#Y4PbVLmeDWJKCafh}H~#XI@IVksqUHvK>)=bN>Neg$wbr zE*9zVN6WO1y6AMjQ z>=anc3FLP#XlsJ&k?FA9V`N`f0c*on!p?xLf}II_7VO!u=fKW_Jr}kbmhFr3q&()p z&V{XkrKYnkSvd``92+=Jam-*_WWUGuM*W~H&WF7K_Ci=cY!mEa*k;%zuuEat>0Jza z3G6c1OJOgAT@HIW>=m$A!mfb53bqAyC2T9~)v%v~y$1GLSdNp|!F~budf2~&{U5La z*f!W8Y&&cS)~yS#BTW2WSkyt@b7T+WLikk~{C+czm__Ef_ypdj$4s{>7!Kq8`;;#f z>Fi92s#Nrbi1x?g;YcUe<>}-`ERE6~@vy+d=Xfhnen*QRn29GcKkuM_E7}LN!I;j3 zZ(Z%klgJF*(M zd01{Z!Vh8tF@LgJ{ceTeRc*%MXf zO+Y0QyhQKg&xdzzB<_GNsPyBvY+5svADcD!u_7(PD)}aWe(+l-Q?Gw>Lqq#0 zZCNtcF@UII;dKs&D}hyS8nuk+8h(IDbo<(In{swI=1U|aP#o|gs`L|;zEq?u6;Emm z3H$;A-*bfO1~)<*)k~6DP?4Q6CDM_Y{Dt#w9G!G*wgb-Q~eyCn*b}HVT3`Im0e{2Fj)*xFO?>eDz7^F3V z?5^%IKO~UK3A1sbIi>`^{Khnsk3isy^$Y?iR;W`xX_gYHa8Uaw-vA_=R39XUlk0{4 zC~-DlD8n-sp|y2rq>&Uq-t>jnr}D)E>{}o2Ob1uXW~e?uL_IoPOJ;Or;|AhnoareW zoj4Zk$qQ%Q`mk4#Ng3?i5Zsu`hM`|csA?5>?!cD_$5F_xwaP=(48+z8#~Vc3SHKM! z;0D2!zfblix^ejMs~M;mj*_ZcSgq=Aqulv`S6(L#Cj;yf1=>;=Kk=k{hpZYy15Bf7 z5<$AVi+YGECOIfa77)L?g*l{eLo}T3aO%HKbj8^%#^USQ#feZ@*Wh~GCNzBzHilAi zcSv;{g+tpNYG=W4?5c51m7|E-xX;EQnJ40AIkv;#1|NNB8SQ6ASY9ND`R0 zpxFe|jWzW>vvCp17YwC+?I=>%w;`Tf8%)N#yTT?Odz3!;s(?~cKB$!}ll-?d?vaJoV>o}tKi^VZja`5R;nrNL;ZIx+MR=vdGgGGXW{ a8flVqJv`f+QUf5=LOl%Y%Z ddrc_mem_map.h +# cat ../../imx-sc-firmware/firmware/platform/board/mx8qm_val/ddrc/ddr_phy_mem_map.h | ./expand_c_define.sh > ddr_phy_mem_map.h + +# This script parses a register mapping file from imx-sc-firmware (C header +# file with register base addresse and register offset definitions). +# +# This script evaluates an arithmetic expression to get the register +# addresses for iMX8QM. +# Its creates new C #define for each instance of the DDR (#0, #1). +# +# This script parses a C header file like: +# '#define DDRC_MSTR(X) REG32(DDRC_BASE_ADDR(X) + 0x00)' +# and converts it to (last arithmetic expression is evaluated) +# '#define DDRC_MSTR_0 0x5c000000' +# '#define DDRC_MSTR_1 0x5c100000' + +# search for the register map BASE_ADDR definition +# Search for a line like: +# #define DDR_PHY_BASE_ADDR(X) 0x5c000000 + ((X * 0x100000) + 0x10000) +base_found=0 +while IFS= read -r line +do + echo "$line" + base_addr_name=$(echo "$line" | sed -n -e "s/^#define *\([^ ]*_BASE_ADDR(X)\) *\(.*\)/\1/p") + #base_addr_expr="$(echo $line | sed -n -e 's/^#define *\([^ ]*_BASE_ADDR(X)\) *\(.*\)/\2/p')" + base_addr_expr=$(echo "$line" | sed -n -e 's/^#define *\([^ ]*_BASE_ADDR(X)\) *\(.*\)$/\2/p') + #echo "$base_addr_expr" + if [ "${base_addr_name}X" != "X" ] + then + base_found=1 + break + fi +done + +# find register definitions and evaluate register addresses +# For example the following line: +# #define DDRC_MSTR(X) REG32(DDRC_BASE_ADDR(X) + 0x00) +# is expanded to: +# #define DDRC_MSTR_0 0x5c000000 +# #define DDRC_MSTR_1 0x5c100000 + +while IFS= read -r line +do + echo "$line" + # substitute BASE_ADDR(X) with the macro value + line=$(echo "$line" | sed -n -e "s/${base_addr_name}/${base_addr_expr}/p") + # extract register name and arithmetic expression + reg_name=$(echo "$line" | sed -n -e "s/^#define *\([^(]*\)(X)[[:space:]]*REG32(\(.*\))$/\1/p") + reg_value=$(echo "$line" | sed -n -e "s/^#define *\([^(]*\)(X)[[:space:]]*REG32(\(.*\))$/\2/p") + #echo "$reg_name" "$reg_value" + if [ "${reg_name}X" != "X" ] + then + # enumerate X from 0 to the number of DDR + for instance in 0 1 + do + tmp=$(echo "$reg_value" | sed -n -e "s/(X/(${instance}/p") + printf "#define %-23s 0x%x\n" "${reg_name}_${instance}" $(($tmp)) + done + fi +done + +exit 0 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd.cfg new file mode 100644 index 0000000..4cb810f --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd.cfg @@ -0,0 +1,860 @@ +/* + * Copyright (C) 2016 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + * + * Refer doc/README.imximage for more details about how-to configure + * and create imximage boot image + * + * The syntax is taken as close as possible with the kwbimage + */ +/* image version */ + +#define __ASSEMBLY__ + +/* C header files modified with the expand_c_define.sh script from + source files in + ../../imx-sc-firmware/firmware/platform/board/mx8qm_val/ddrc/ + or verification BOM: + testbench/blocks/soc_tb/tool_data/compiler/include/drc.h +*/ +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +/* from file: imx-sc-firmware/firmware/platform/board/mx8qm_val/ddrc/ss_drc_lpddr4_init_zebu.c mx8qm_val/ddrc/ss_drc_lpddr4_init_zebu.c */ +/* copy/paste from ddrc_init() */ + +/* Mike comment #1: added DRC bringup */ +/* From BootROM team: */ +/* BootROM reserved 0xFF000000 ~ 0xFFFFFFFF as DRC bringup command purpose. + BootROM will not actually write values to that address range, but call + ROM API to bring up DRC. + If DCD address’s highest 8bit is 0xFF, BootROM will not actually access + that address but takes them as a ROM API call. + The lower 24bit are mapped as: + + Bit23-20: API type. + 1-ROM_API_BRINGUP_SS (Support DRC_0/1 only); + 8- ROM_API_AI_WR; + 9- ROM_API_AI_RD; + 0xF- ROM_API_UDELAY; + Bit19-14: DSC_ID. + Relative to ROM_API_BRINGUP_SS/ ROM_API_AI_WR/ ROM_API_AI_RD + Bit13-9: AI SRC SEL. + Relative to ROM_API_AI_WR/ ROM_API_AI_RD + Bit8-0: AI Register offset. + Relative to ROM_API_AI_WR/ ROM_API_AI_RD + + The date in DCD pair will be parsed as follow; + Bit7-0: delay value, in ms, if API is ROM_API_UDELAY + Bit7-0: PLL Integer which will be programed into PLL register. + For ROM_API_BRINGUP_SS. + Bit13-10: CSLICE_SRC_SEL. To specify the clock source of DRC CSLICE. + For ROM_API_BRINGUP_SS only. + + [JF] DRC cslice source coded in bit10-bit13 +#define BRINGUP_SS_CSLICE_SRC_SEL(x) (((x)>>10)&0xF) + +And definition as follow: +Bits[13:10]: +0000 = xtal24M +0001 = PLL DIV1 +0010 = PLL DIV2 +0011 = PLL DIV4 + + [MJ] lower bits (bits[7:0]) encoding scheme. + +Bits[7:0]: PLL multiplier. PLL_Freq = 24 MHz * multiplier / 2. +0xC8 => 200, PLL_FREQ = 2400MHz. +0x85 => 133, PLL_FREQ = 1596MHz. + + So this confirms a settings of 0x00000C85 gives a PLL speed of 1600MHz + with DIV4 to yield 800MHz. + + [MK] Previous setting of 0x00000cc8: PLL to 2400MHz with a DIV2 to yield 1200MHz. + Nitin had noticed this which started the discussion on setting this + to be 1600MHz (0x00000885) which aligned to the eventual target of + MX8QM LPDDR4. + So basically they are asking if we can go back to the previous + PLL:2400MHz/DDR:1200MHz setting (0x00000cc8). + + [MK] I was actually able to get confirmation from our local software team. + So it is ok to go ahead and modify the DCD. + + However, as Stephane pointed out, it is unlikely that 1600MHz will + work out of the gate for initial silicon so we can put in the two + options as follows: + +// For 1600MHz DDR operation, uncomment the following +DATA 4 0xff148000 0x00000885 // DRC0 bringup +DATA 4 0xff1a0000 0x00000885 // DRC1 bringup + +// For 800MHz DDR operation, uncomment the following +//DATA 4 0xff148000 0x00000C85 // DRC0 bringup +//DATA 4 0xff1a0000 0x00000C85 // DRC1 bringup + + And by default, we’ll have the 1600Mhz operation for zebu purposes + (I think some folks may do some performance analysis on zebu so having + the higher speed may be more beneficial). + +*/ +/* For 1600MHz DDR operation (Zebu) */ +DATA 4 0xff148000 0x00000885 /* DRC0 bringup */ +DATA 4 0xff1a0000 0x00000885 /* DRC1 bringup */ + +/* DRAM 0 controller configuration begin */ +/* Program the umctl2 registers */ + +/* ddrc_lpddr4_init(0) */ +/* begin unroll ddrc_lpddr4_init(0) */ +/* ddrc_lpddr4_init - DRAM controller initialization */ + // This is for lpddr4 controller 800MHz and ddr 1600MHz +DATA 4 DDRC_MSTR_0 0xC3080020 // Set LPDDR4, BL = 16 and active ranks + +#ifdef DDRC_POSTED_REFRESH_EN +DATA 4 DDRC_RFSHCTL0_0 0x00210070 // posted refresh +#endif +#ifdef DDRC_REFRESH_PER_BANK_EN +SET_BIT 4 DDRC_RFSHCTL0_0 (1<<2) +DATA 4 DDRC_RFSHTMG_0 0x000C006F // treflpb=488ns*2/1.26264/2/32, +#else +DATA 4 DDRC_RFSHTMG_0 0x006100E0 // tREFI, tRFC +#endif + // CAST32(DDRC_INIT0_0 0x4002061A // skip_dram_init, post_cke, pre_cke +DATA 4 DDRC_INIT0_0 0x40020010 // pre_cke = 2ms is too long - LPDDR4 model hacked for 20us + // CAST32(DDRC_INIT1_0 0x009d0000 // dram_rstn = 200us; +DATA 4 DDRC_INIT1_0 0x00100000 // dram_rstn - LPDDR4 model hacked for 20us; +DATA 4 DDRC_INIT3_0 0x0054002d // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +DATA 4 DDRC_INIT4_0 0x00310000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_0 0x000006cf // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x1a201b22 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x00060633 // tXP, rd2pre, tRC +/* Mike comment #2 */ +/* RD2WR and WR2RD calculation: + RD2WR: RL + BL/2 + RU(tDQSCKmax/tCK) + WR_PREAMBLE + RD_POSTAMBLE - WL + RU[(28+16/2+RU(3.5/0.625)+2+0.5-14)/2] = + RU[(28+8+6+2+0.5-14)/2] = RU[15.25] = 16 (0x10) + + WR2RD: CWL + BL/2 + tWTR + 1(spec says to add one extra clock cycle) + RU[(14+8+16+1)/2)] = 20 (0x14) +*/ +DATA 4 DDRC_DRAMTMG2_0 0x070E1014 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x0170c00c // tmrw, tmrd, tmod +/* Mike and Stephane comment #3 */ +/* T_RP calculation: + T_RP: all bank precharge time of 21ns opposed to pre-bank 18ns + 21ns @ 1.6GHz = 33.6 -> RU[33.6/2] = 17 (0x11) + 18ns @ 1.6GHz = 28.8 -> RU[28.8/2] = 15 (0x0F) + -> we use per-bank + [SC] t_rp description is + “Minimum time from precharge to activate of same bank”. + So for me they refer to a single bank and not all bank. +*/ +DATA 4 DDRC_DRAMTMG4_0 0x0f04080F // trcd, tccd, trrd, trp +/* Mike and Stephane comment #4 */ +/* T_CKSRX and T_CKSRE calculatin: + T_CKSRX: LPDDR4 tCKCKEH=3cks; RU(3/2)= 2 + T_CKSRE: LPDDR4 tCKCKEL, per JEDEC, max(5ns,3tCK) + 5ns@1.6GHz=8clks, RU(8/2) = 4 + -> use max(5ns, 5tCK). + [SC] tCKCKEL is different for power down entry. + As per JEDEC it is Max(5ns, 5nCK) there is another table in JEDEC spec for + power-down entry timings. Note that it seems there is a typo in JEDEC + because they call it tCKELCK. + Thus it gives RU(8/2) = 4 + + [MK] I noticed the Synopsys spec describes this as + “This is the time after Self Refresh Down Entry that CK is maintained as a valid clock. Specifies the clock disable delay after SRE.” + The Self Refresh AC timing table seems to have a closely matched description: + “Valid Clock Requirement after CKE Input low: tCKCKEL” which is + max(7.5ns, 3tck). For “tCKELCK”, I can see this is described in + the Power Down AC timing but the Synopsys spec did not mention power + down, just self refresh. Is it possible that the spec is incorrect + and should really be referring to the power down AC timing or maybe + I am misinterpreting the Synopsys spec? + + [SC] Basically when CKE goes low we enter in power down mode. Depending + on the state of the memory before CKE low we enter different power + down modes. You can refer to chapter 4.41.1 (FYI I have this version: + JESD209-4A from November 2015): + “If power-down occurs when all banks are idle, this mode is referred to as idle power-down. if power-down occurs when there is a row active in any bank, this mode is referred to as active power-down. And If power-down occurs when Self Refresh is in progress, this mode is referred to as Self Refresh power-down in which the internal refresh is continuing in the same way as Self Refresh mode.” + The tCKELCK appears in 2 tables: one linked to command bus training + (max(7.5ns, 3tck)) and one for Power-Down (Max(5ns, 5nCK)). So I + guess the timing in “Power-down AC Timing” table should apply. + Moreover the command bus training is fully done by software and thus + there is no need to have this timing is a register. +*/ +DATA 4 DDRC_DRAMTMG5_0 0x02040C0C // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_0 0x02020007 // tckdpde, tckdpdx, tckcsx +/* Mike and Stephane comment #5 */ +/* T_CKPDE calculation: + T_CKPDE: the spec says to use tCKCKEL. + [SC] tCKCKEL is different for power down entry. + As per JEDEC it is Max(5ns, 5nCK) +*/ +DATA 4 DDRC_DRAMTMG7_0 0x00000401 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_0 0x00020610 // tCMDCKE, tCKEHCMD (=tXP?) +DATA 4 DDRC_DRAMTMG13_0 0x0c100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_0 0x000000E6 // txsr +DATA 4 DDRC_ZQCTL0_0 0x03200018 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02800100 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x049C820C // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00001A0A // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0x80400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x00010002 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x00000017 // addrmap_cs_bit0 +/* Mike and Stephane comment #6 */ +/* Added DDRC_ADDRMAP4_0. + [MK] recommends the following line to make sure un-used columns are not activated: + This will help us with the DDR stress test. Eventually, we’ll add in the + capability to calculate a device’s density from the ADDRMAP registers. + But in order to correctly calculate, we need to set unused column bits to + 0xF. + This was something we actually discovered when developing the stress test + for MX7D (which uses a Synopsys controller for LPDDR3). +*/ +DATA 4 DDRC_ADDRMAP4_0 0x00000F0F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +#ifdef DISABLE_DDRC_BANK_INTERLEAVE +DATA 4 DDRC_ADDRMAP1_0 0x00181818 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x04040404 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x04040404 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +#else +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x07070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +#endif + + //CAST32(DDRC_ODTCFG_0 0x0a020b28 // wr_odt_hold, wr_odt_delay, rd_odt_hold, rd_odt_delay +DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt + +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + + // In prevision of low frequency switch. DFITMG0.xxx_use_sdr fields can only + // be written when controller is under reset. +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x10D + +DATA 4 DDRC_PWRCTL_1 0x10D + +/* end unroll ddrc_lpddr4_init(0) */ +/* ddrc_lpddr4_init(1) */ +/* begin unroll ddrc_lpddr4_init(1) */ +/* ddrc_lpddr4_init - DRAM controller initialization */ + // This is for lpddr4 controller 800MHz and ddr 1600MHz +DATA 4 DDRC_MSTR_1 0xC3080020 // Set LPDDR4, BL = 16 and active ranks + +#ifdef DDRC_POSTED_REFRESH_EN +DATA 4 DDRC_RFSHCTL0_1 0x00210070 // posted refresh +#endif +#ifdef DDRC_REFRESH_PER_BANK_EN +SET_BIT 4 DDRC_RFSHCTL0_0 (1<<2) +DATA 4 DDRC_RFSHTMG_1 0x000C006F // treflpb=488ns*2/1.26264/2/32, +#else +DATA 4 DDRC_RFSHTMG_1 0x006100E0 // tREFI, tRFC +#endif + // CAST32(DDRC_INIT0_1 0x4002061A // skip_dram_init, post_cke, pre_cke +DATA 4 DDRC_INIT0_1 0x40020010 // pre_cke = 2ms is too long - LPDDR4 model hacked for 20us + // CAST32(DDRC_INIT1_1 0x009d0000 // dram_rstn = 200us; +DATA 4 DDRC_INIT1_1 0x00100000 // dram_rstn - LPDDR4 model hacked for 20us; +DATA 4 DDRC_INIT3_1 0x0054002d // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +DATA 4 DDRC_INIT4_1 0x00310000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_1 0x000006cf // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_1 0x1a201b22 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_1 0x00060633 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_1 0x070E1014 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_1 0x0170c00c // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_1 0x0f04080F // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_1 0x02040C0C // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_1 0x02020007 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_1 0x00000401 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_1 0x00020610 // tCMDCKE, tCKEHCMD (=tXP?) +DATA 4 DDRC_DRAMTMG13_1 0x0c100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_1 0x000000E6 // txsr +DATA 4 DDRC_ZQCTL0_1 0x03200018 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_1 0x02800100 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_1 0x049C820C // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_1 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_1 0x00001A0A // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_1 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_1 0x80400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_1 0x00010002 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_1 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_1 0x00000017 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP4_1 0x00000F0F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +#ifdef DISABLE_DDRC_BANK_INTERLEAVE +DATA 4 DDRC_ADDRMAP1_1 0x00181818 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_1 0x04040404 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_1 0x04040404 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +#else +DATA 4 DDRC_ADDRMAP1_1 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_1 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_1 0x07070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +#endif +DATA 4 DDRC_ODTMAP_1 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_1 0x00000001 // Enable port 0 +DATA 4 DDRC_DFITMG0_SHADOW_1 0x00808000 +/* end unroll ddrc_lpddr4_init(1) */ + + // Overwrite some settings + /* for (ddr_num=0;ddr_num<=1;ddr_num++) { } */ + /* DDR #0 */ + /* Set DFIMISC.dfi_init_complete_en to 0 to avoid controller init + sequence to start after reset release */ +CLR_BIT 4 DDRC_DFIMISC_0 0x00000001 + // As DRAM init sequence will be run by controller set 0x0 to skip_dram_init field +CLR_BIT 4 DDRC_INIT0_0 0xC0000000 + /* DDR #1 */ +CLR_BIT 4 DDRC_DFIMISC_1 0x00000001 +CLR_BIT 4 DDRC_INIT0_1 0xC0000000 + + // ZeBu DDR PHY initialization begin... + // Launch DDR PHY PLLINIT, DCAL and ZCAL + /* ddr_phy_lpddr4_phy_init(0); */ + /* begin unroll ddr_phy_lpddr4_phy_init(0); */ + + /* ddr_phy_lpddr4_phy_init - PHY initialization */ + + //------------------------------------------- + // Configure registers for PHY initialization + // Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) + //-------------------------------=------------ + + // Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank + + // Set-up PHY General Configuration Register + // PGCR1,4,5,6,7 are untouched +DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) +/* Mike and Stephane comment #7 */ +/* tREFPRD calculation: + [MK] the revision of the PUB book I have is ” PUB Version 1.50c” + [SC] We have to follow latest specification. Hence + “(9*3900/Dram_clk_period)-600” => 0xD941. +*/ +DATA 4 DDR_PHY_PGCR2_0 0x00F0D941 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity + + // Set-up PHY Timing Register + // PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x64032010 // tPLLPD, tPLLGS, tPHYRST + // CAST32(DDR_PHY_PTR1(ddr_num)) = 0x4E201C20; // tPLLLOCK=25us, tPLLRST=9us +DATA 4 DDR_PHY_PTR1_0 0x0D701C20 // tPLLLOCK reduced to 4.3us, tPLLRST=9us + + // Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x08000000 // FREQSEL=8 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x08000000 + + // Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x001FEC58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) + + // Set-up Impedance Controller Program Register + // ZQnPR0, ZQnPR1 are untouched, lpddr4 PD_REFSEL should not be default value, FIXME + /* end unroll ddr_phy_lpddr4_phy_init(0); */ + /* ddr_phy_launch_init(0, 0x40); */ + /* begin unroll ddr_phy_launch_init(0, 0x40); */ + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x40 + + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x41 + /* end unroll ddr_phy_launch_init(0, 0x40); */ + /* ddr_phy_lpddr4_phy_init(1); */ + /* begin unroll ddr_phy_lpddr4_phy_init(1); */ + + /* ddr_phy_lpddr4_phy_init - PHY initialization */ + + //------------------------------------------- + // Configure registers for PHY initialization + // Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) + //-------------------------------=------------ + + // Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_1 0x0000040D // LPDDR4 selection with 8 bank + + // Set-up PHY General Configuration Register + // PGCR1,4,5,6,7 are untouched +DATA 4 DDR_PHY_PGCR0_1 0x87001E00 // Set ADCP=1 (Address Copy) +/* Mike and Stephane comment #7 */ +/* tREFPRD calculation: + [MK] the revision of the PUB book I have is ” PUB Version 1.50c” + [SC] We have to follow latest specification. Hence + “(9*3900/Dram_clk_period)-600” => 0xD941. +*/ +DATA 4 DDR_PHY_PGCR2_1 0x00F0D941 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_1 0x050A1080 // CKEN/CKNEN toggling and polarity + + // Set-up PHY Timing Register + // PTR2 is untouched +DATA 4 DDR_PHY_PTR0_1 0x64032010 // tPLLPD, tPLLGS, tPHYRST + // CAST32(DDR_PHY_PTR1(ddr_num)) = 0x4E201C20; // tPLLLOCK=25us, tPLLRST=9us +DATA 4 DDR_PHY_PTR1_1 0x0D701C20 // tPLLLOCK reduced to 4.3us, tPLLRST=9us + + // Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_1 0x08000000 // FREQSEL=8 +DATA 4 DDR_PHY_DX8SLbPLLCR0_1 0x08000000 + + // Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_1 0x001FEC58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) + + // Set-up Impedance Controller Program Register + // ZQnPR0, ZQnPR1 are untouched, lpddr4 PD_REFSEL should not be default value, FIXME + /* end unroll ddr_phy_lpddr4_phy_init(1); */ + /* ddr_phy_launch_init(1, 0x40); */ + /* begin unroll ddr_phy_launch_init(1, 0x40); */ + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_1 0x40 + + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x41 + /* end unroll ddr_phy_launch_init(1, 0x40); */ + + // While PHY initialization is running, registers for DRAM initialization can be configured + /* ddr_phy_lpddr4_dram_init(0); */ + /* begin unroll ddr_phy_lpddr4_dram_init(0); */ + + /* ddr_phy_lpddr4_dram_init(0) DRAM initialization */ + + //------------------------------------------- + // Configure registers for DRAM initialization + //------------------------------------------- + + // Set-up Mode Register + // MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_0 0x54 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_0 0x2D // Set RL=28/WL=14 +DATA 4 DDR_PHY_MR3_0 0x31 // Set drive strength (40 Ohms by default) +DATA 4 DDR_PHY_MR11_0 0x60 // Set CA ODT=RZQ/6 +DATA 4 DDR_PHY_MR22_0 0x10 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) + + // Set-up DRAM Timing Parameters Register + // DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x1044220C // tRRD, tRAS, tRP, tRTP +/* Mike and Stephane comment #8 */ +/* [SC] As we have RTL 1.51a (and not 1.40a as I mentioned before), + tODTUP does not exist anymore in DTPR1 (I also looked at the RTL) + Note that tODTUP exists in DTPR5 register. So I get following value + for DTPR1 (tMOD reset value is 4): + DDR_PHY_DTPR1 = 0x28400417; // tWLMRD, tFAW, tMRD +*/ +DATA 4 DDR_PHY_DTPR1_0 0x28400417 // tWLMRD, tFAW, tODTUP, tMRD +/* Mike and Stephane comment #9 */ +/* [MK] I am adding the following note in the DDR Register Programming aid for tVRCG: + For LPDDR4, we take the greater of (tVRCG_ENABLE,VRCG_DISABLE), which per JEDEC is (200ns, 100ns). So, 200ns converted to clock cycles (1.6GHz freq) yields 320 clocks, which yields a tVRCG bit setting of '100' or 4. + However, tVRCG-3 = 4 - 3 = 1, which is less than tVRCG_ENABLE/tVRCG_DISABLE or 200ns/100ns = 2. + So, recommend to set tVRCG to the next higher value of 5 (bit setting '101') or 384 clocks. + So I set DTPR2=0x006CA1CC +*/ +DATA 4 DDR_PHY_DTPR2_0 0x006CA1CC // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x01800604 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +/* Mike and Stephane comment #10 */ +/* [MK] The PHY spec states for tXP: + "Note: For LPDDR4, additional offset of +3 tCK must be added to the value calculated for the corresponding speed grade." + + [SC] What about the tWLO field ? You set it to 0. What follows the + tWLOmin requirement but description says: + “This must include the SDRAM tWLO timing parameter plus the round trip delay from control block to SDRAM back to control block.” + And I have ni idea how to calculate this round trip delay. So I kept + the default value. I will ask Synopsys. + + [MK] For tXP, I will make the update to +3 clocks (I confirm I get 0xF). + + [SC] Here is Synopsys’s Answer for DTPR4.tWLO: + "There is no need to change the default value, it has a significant margin, enough to cover the maximum round trip delay supported scenario.” + So I get DDR_PHY_DTPR4 = 0x01C02B0F; // tRFC, tWLO, tXP. +*/ +DATA 4 DDR_PHY_DTPR4_0 0x01C02B0F // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x00651D10 // tRC, tRCD, tWTR + + // Set-up PHY Timing Register + // CAST32(DDR_PHY_PTR3(ddr_num)) = 0x0030D400; // tDINIT0 - 2ms +DATA 4 DDR_PHY_PTR3_0 0x00007D00 // tDINIT0 - memory model hacked to 20us +/* Mike and Stephane comment #11 */ +/* [MK] When we calculated this we came up with DATA 4 DDR_PHY_PTR4_0 0x00000C80: + 2000ns*1.6GHz=3200 -> convert to hex -> 0xC80 + [SC] I guess I did not get the 2000ns with 0xC80. That’s why I + increased it a little bit. But I may have wrong. I will make a trial + with 0xC80. + + [MK] Ok, let me know what you find out. + + [SC] 0xC80 works fine in my simulation. So I will keep it. +*/ +DATA 4 DDR_PHY_PTR4_0 0x00000C80 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_0 0x00007D00 // tDINIT2 - normally 200us but memory model hacked to 20us +/* Mike and Stephane comment #12 */ +/* [MK] For tDINIT4, the PHY spec says: + "Note: For LPDDR4 tZQLAT, additional offset of +3 tCK must be added i.e. value programmed in this register field must be MAX(30ns, 8 tCK) + 3 tCK" + But we did not add 3 clocks, should we? + [SC] I have 0x03300641 in this register. Yes you need the +3 tCK. This was not stated in the 1.40a databook but I get issues and Synopsys confirmed me the +3 tCK are mandatory. + + [MK] Ok, I’ve added the “+3” in the register programming aid and I confirm I get “0x33” + + For tDINIT3, we calculated 0x640 as follows: + 1us*1.6Ghz= 1600 ->converted to hex -> 0x640 + + [SC] You’re correct but I guess I did not get the 1us with 0x640. + That’s why I increased it to 0x641. I will make a trial with 0x640. + + [MK] Thanks, let me know if 0x640 works. + + [SC] 0x640 works fine in my simulation. So I will keep it. + + [MK] Thanks, I will also keep 0x640 in the register programming aid. +*/ +DATA 4 DDR_PHY_PTR6_0 0x03300640 // tDINIT4 (MAX(30ns, 8 tCK)+3 tCK), tDINIT3 (1us) + + // RDIMMGCR0-2 RDIMMGCR0-4?? + + // Set-up DATX8 Common Configuration Register + // DXCCR is untouched + + // Set-up DDR System General Configuration Register + // DSGCR is untouched + + // Set-up ODT Configuration Register + // DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 1 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_0 0 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled + + // Set-up Anti-Aging Control Register + // AACR is untouched + + // Set-up Data Training Address Register + // DTAR0-3 are untouched + // !! DTAR3 is not described in spec !! + + // Set-up AC I/O Configuration Register + // ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 + // Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 + + // IOVCR0-1, DXnGCR0-4??, CALBYP + + // Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_0 0xF0032019 // CK1, CK0 +DATA 4 DDR_PHY_VTCR1_0 0x07F00173 // HVIO=1, SHREN=1, SHRNK=0 + + // Set-up DATX8 General Configuration Registers + // DXnGCR0-4 are untouched + + // Set-up DATX8 DX Control Register 2 + // PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +/* Mike comment #14 */ +/* [MK] Regarding chap 2.2.1. As I was reading through it some new + information was made aware to me and I wanted to pass it by you to get + your thoughts and opinions and maybe get Synopsys to weigh in: + 1. Preamble and Postamble extensions in DDR_PHY_DX8SLbDXCTL2, PREOES + and POSOEX. The spec says to program a value 0.5*tCK more than the value + required by the DRAM. It is re-iterated in chap 4.9.13. We currently + have these set to PREOEX=2 dram clock preamble, POSOEX=0.5 dram clock + postamble. These values are also the same values programmed into the + LPDDR4 MR1 register. So the question is, should be add 0.5 to the values + in PREOEX and POSOEX? + [SC] I have DDR_PHY_DX8SLbDXCTL2 = 0x001C1400. So it matches + the +0.5tCK. Laurent told me that it did not take my library for the + registers settings. Hence the few discrepancies you noticed. I think he + is now aligned. + + [MK] Thanks, I confirm I get the same value for PREOEX and POSOEX + when I add the additional 0.5*tCK, however for the setting of + “LPWAKEUP_THRSH”, the previous value was “4b1100” but it appears + to now be changed to “4b1010”. Honestly, after reading the bit + description I became more confused as to what this configures (actually, + many of the bit descriptions in the PHY are barely understandable). But + I was curious if you knew why this value was changed? + + [SC] The LPWAKEUP_THRSH indicates the time needed by PHY to come back + from low power mode. + When controller uMCTL2 requests for low power through the dfi_lp_ctrl_req + or dfi_lp_data_req pins, it also sends a signal named dfi_lp_wakeup. Then + there is a comparison between dfi_lp_wakeup and LPWAKEUP_THRSH. + If dfi_lp_wakeup > LPWAKEUP_THRSH then PHY goes in low power. + + Note that the dfi_lp_wakeup value is set through a controller register. So + basically I understand that the software should make an estimation on how + many times the low power mode will length. If this estimation is lower + than the LPWAKEUP_THRSH then the PHY will not go into low power mode as + it would take more time to wake-up than the estimated low power length. + + Regarding LPWAKEUP_THRSH value: + In RTL verification we can see that PLL lock time is 4.3us. So it + gives a LPWAKEUP_THRSH=0xA (4.3us/800MHz + 8*800). + In real world PLL lock time is given for 25us. So you should get + 25us/800MHz + 8*800 => 26400. Thus LPWAKEUP_THRSH=0xB. + + [MK] Thank you for the explanation. + For DDR_PHY_DX8SLbDXCTL2 I have 0x001C1400. We can probably close this one. + + 2. There is mention of drift detection feature being on. In chap 4.5.2.1, + there’s a statement “Drift detection is enabled by DQSDR0.DFTDTEN” + but we currently do not have this set does Synopsys feel that we should + set this? + [SC] I think we should have it but for RTL verification it was not + mandatory. I have to work on this for Silicon. + + 3. There’s mention of setting ODT in the DRAM for DQODT and CAODT + in MR11 along with setting MR22.CODT, however, the Synopsys controller + does not have registers for this. I am wondering if the defaults for + these are ok or if the controller automatically updates these in some + training algorithm? + [SC] I need to work on this as well. If some registers are not written + during DRAM init or through a training then we will need to write + them manually. + + 4. There’s talk of programming ZQnPR0, DQnPR0, and ZQnPR1 however, + our DCD do not touch these registers. Does Synopsys have any thoughts + as to how we should treat this? + [SC] I need to work on this as well + + [MK] Stephane and I agreed that we needed to add “0.5tck” for both + POSOEX and PREOEX. Also, LPWAKEUP_THRSH was updated. + It should be 0x001C1600. + It is different than in RTL verification due to the reduced time observed + for PLL lock in RTL (4.3us instead of 25us). +*/ +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1600 + + // Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x09000000 // I/O mode = LPDDR4 + + // Set-up DATX8 DQS Control Register +/* Mike and Stephane comment #13 */ +/* [MK] The upper value of this register is written as 0x013, however, + per the PHY spec these bits are reserved. Is it a mistake in the spec? + Is the reserved value of these upper bits 0x013? + [SC] In databook 1.40a bit 21 is WRRMODE and bit 24 is RRRMODE. Both + need to be set at ‘1’. I will check with Synopsys whether or not + they are reserved for RTL 1.40a as well. + Bits [20:19] are DQSGX. It is set to 0x2. If I well remember I needed this + because almost all our verification testcases are run without training. + + [MK] Ok, let me know what you find out from Synopsys. BTW, for DQSGX, + in order to get “0x013E…”, should bits [20:19] be set to 11b (0x3)? + If set to “0x2” then the “E” becomes “6”? + + [SC] Synopsys did not really answer for WRRMODE and RRRMODE. So I ask + them again. + Anyway I looked into the RTL and the bitfields are there. Moreover they + are connected; so I would say they have an effect in our RTL. Hence I + would strongly recommend to write them to ‘1’. + Regarding DQSGX my mistake I set it to 0x3. + However I am not able to remember why I configure this register. As per + register description DQSRES and DQSNRES usage is for LPDDR3 or DDR3, + and DQSGX=0x3 seems to be required for LPDDR3 only. + Do you have more clues ? + + [MK] Regarding WRRMODE and RRRMODE, I will include these are reserved + bit field in the register programming aid and till set each to ‘1’ + to yield 0x013E4091. + Regarding DQSRES, DQSNRES, and DQSGX, you ask a very good question. + Admittedly I barely noticed that these applied to different memory + types other than LPDDR4. When I first created the register programming + aid, I simply applied to values found in the SCU firmware and assumed + whoever came up with these values knew more about the PHY than I did so + I left these as is. Would you mind also asking Synopsys about this? + Perhaps our documentation needs to be updated to include LPDDR4 for + these or we don’t program these bit fields and see what happens? + [SC] I ran 2 simulations without configuring this DDR_PHY_DX8SLbDQSCTL_0 + register and they passed. So it looks like we should not touch it. + Anyway I am still waiting feedback for the WRRMODE and RRRMODE. + Regarding DQSRES, DQSNRES, and DQSGX I found this in the databook + (chapter 2.2.1 LPDDR4 Usage, version 1.50c): + - DQS pulldown and DQSN pullup should be disabled. To do this, set + DX8SL*DQSCTL.DQSRES=0000 and set DX8SL*DQSCTL.DQSNRES=0000. Disabling + the pullup and pulldown provides optimal DQS/DQSN duty cycle on reads. + - Gate extension must be disabled (set DX8SL*DQSCTL.DQSGX=00) + + [MK] Regarding WRRMODE and RRRMODE : we’ll wait and see what Synopsys says + Regarding DQSRES, DQSNRES, and DQSGX: thanks for highlighting chap 2.2.1, + some very good info was conveyed there. I agree we should zero thee + parameters out. + So for now, should the register be programmed as: 0x01264000? + + [SC] I think so. I basically removed the configuration of this register + and I get no issues. From PHY RTL I can see the reset value as 0x01264000. + I am still in discussion with Synopsys to clarify the WRRMODE and + RRRMODE bitfields. + + [SC] Synopsys opened a ticket on their side to update databook. So these + fields exist and value should be ‘1’. +*/ +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 // DQS resistor + /* end unroll ddr_phy_lpddr4_dram_init(0); */ + /* ddr_phy_lpddr4_dram_init(1); */ + /* begin unroll ddr_phy_lpddr4_dram_init(1); */ + /* ddr_phy_lpddr4_dram_init(1) DRAM initialization */ + + //------------------------------------------- + // Configure registers for DRAM initialization + //------------------------------------------- + + // Set-up Mode Register + // MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_1 0x54 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_1 0x2D // Set RL=28/WL=14 +DATA 4 DDR_PHY_MR3_1 0x31 // Set drive strength (40 Ohms by default) +DATA 4 DDR_PHY_MR11_1 0x60 // Set CA ODT=RZQ/6 +DATA 4 DDR_PHY_MR22_1 0x10 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) + + // Set-up DRAM Timing Parameters Register + // DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_1 0x1044220C // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_1 0x28400417 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_1 0x006CA1CC // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_1 0x01800604 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_1 0x01C02B0F // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_1 0x00651D10 // tRC, tRCD, tWTR + + // Set-up PHY Timing Register + // CAST32(DDR_PHY_PTR3(ddr_num)) = 0x0030D400; // tDINIT0 - 2ms +DATA 4 DDR_PHY_PTR3_1 0x00007D00 // tDINIT0 - memory model hacked to 20us +DATA 4 DDR_PHY_PTR4_1 0x00000C80 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_1 0x00007D00 // tDINIT2 - normally 200us but memory model hacked to 20us +DATA 4 DDR_PHY_PTR6_1 0x03300640 // tDINIT4 (MAX(30ns, 8 tCK)+3 tCK), tDINIT3 (1us) + + // RDIMMGCR0-2 RDIMMGCR0-4?? + + // Set-up DATX8 Common Configuration Register + // DXCCR is untouched + + // Set-up DDR System General Configuration Register + // DSGCR is untouched + + // Set-up ODT Configuration Register + // DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_1 1 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_1 0 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank0 disabled + + // Set-up Anti-Aging Control Register + // AACR is untouched + + // Set-up Data Training Address Register + // DTAR0-3 are untouched + // !! DTAR3 is not described in spec !! + + // Set-up AC I/O Configuration Register + // ACIOCR2-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_1 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_1 0x09000000 // I/O mode = LPDDR4 + // Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_1 0x44000000 + + // IOVCR0-1, DXnGCR0-4??, CALBYP + + // Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_1 0xF0032019 // CK1, CK0 +DATA 4 DDR_PHY_VTCR1_1 0x07F00173 // HVIO=1, SHREN=1, SHRNK=0 + + // Set-up DATX8 General Configuration Registers + // DXnGCR0-4 are untouched + + // Set-up DATX8 DX Control Register 2 + // PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_1 0x001C1600 + + // Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_1 0x09000000 // I/O mode = LPDDR4 + + // Set-up DATX8 DQS Control Register +DATA 4 DDR_PHY_DX8SLbDQSCTL_1 0x01264000 // DQS resistor + /* end unroll ddr_phy_lpddr4_dram_init(1); */ + + + // Wait PHY initialization end then advise DDR PHY that DRAM init will be done by uMCTL2 + /* ddr_phy_wait_init_done(0); */ + /* begin unroll ddr_phy_wait_init_done(0); */ + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 0x1 + + // Check that no error occured + /* [LC] TODO: not sure if this check should be implemented + if ((CAST32(DDR_PHY_PGSR0(ddr_num)) & 0x7FFC0000) != 0x0) { + board_print(0, "DDR PHY - Initialization failed !\n"); + } + */ + /* end unroll ddr_phy_wait_init_done(0); */ + + /* ddr_phy_launch_init(0, 0x40000); */ + /* begin unroll ddr_phy_launch_init(0, 0x40000); */ + + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x40000 + + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x40001 + /* end unroll ddr_phy_launch_init(0, 0x40000); */ + + /* ddr_phy_wait_init_done(1); */ + /* begin unroll ddr_phy_wait_init_done(1); */ + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 0x1 + + // Check that no error occured + /* [LC] TODO: not sure if this check should be implemented + if ((CAST32(DDR_PHY_PGSR0(ddr_num)) & 0x7FFC0000) != 0x0) { + board_print(0, "DDR PHY - Initialization failed !\n"); + } + */ + /* end unroll ddr_phy_wait_init_done(1); */ + + /* ddr_phy_launch_init(1, 0x40000); */ + /* begin unroll ddr_phy_launch_init(1, 0x40000); */ + + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_1 0x40000 + + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x40001 + /* end unroll ddr_phy_launch_init(1, 0x40000); */ + + // Wait assertion of DDR PHY PGSR0.IDONE field acknowledging that DRAM init will be done by controller + /* ddr_phy_wait_init_done(0); */ + /* begin unroll ddr_phy_wait_init_done(0); */ + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 0x1 + + // Check that no error occured + /* [LC] TODO: not sure if this check should be implemented + if ((CAST32(DDR_PHY_PGSR0(ddr_num)) & 0x7FFC0000) != 0x0) { + board_print(0, "DDR PHY - Initialization failed !\n"); + } + */ + /* end unroll ddr_phy_wait_init_done(0); */ + /* ddr_phy_wait_init_done(1); */ + /* begin unroll ddr_phy_wait_init_done(1); */ + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 0x1 + + // Check that no error occured + /* [LC] TODO: not sure if this check should be implemented + if ((CAST32(DDR_PHY_PGSR0(ddr_num)) & 0x7FFC0000) != 0x0) { + board_print(0, "DDR PHY - Initialization failed !\n"); + } + */ + /* end unroll ddr_phy_wait_init_done(1); */ + + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_1.2GHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_1.2GHz.cfg new file mode 100644 index 0000000..fd711b3 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_1.2GHz.cfg @@ -0,0 +1,479 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +/* For 1200MHz DDR, DRC 600MHz operation */ +DATA 4 0xff148000 0x00000CC8 /* DRC0 bringup */ +DATA 4 0xff1a0000 0x00000CC8 /* DRC1 bringup */ +#else +/* Set the DRC rate to 600MHz, the PHY PLL will double this for the DRAM rate. */ +uint32_t rate2 = SC_600MHZ; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +pm_set_clock_rate(SC_PT, SC_R_DRC_1, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41a40208 0x1 +DATA 4 0x41d00208 0x1 +DATA 4 0x41a40040 0xb +DATA 4 0x41d00040 0xb +DATA 4 0x41a40204 0x1 +DATA 4 0x41d00204 0x1 +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_DERATEEN_0 0x00000213 // derate enable, derate values, byte to read MRR data +DATA 4 DDRC_DERATEINT_0 0x0124F800 // derate MR4 interval read +DATA 4 DDRC_RFSHCTL0_0 0x0021f070 // REFRESH_BURST = 7 +DATA 4 DDRC_RFSHTMG_0 0x004900A8 // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x40030495 // pre_cke = 2ms, post_cke = 2us +DATA 4 DDRC_INIT1_0 0x00770000 // dram_rstn = 200us +DATA 4 DDRC_INIT3_0 0x00440024 // MR1, MR2 +DATA 4 DDRC_INIT4_0 0x00F10000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_0 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x1618141A // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x00050526 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x060E1714 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00909000 // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_0 0x0B04060B // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x02030909 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_0 0x00000301 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD +DATA 4 DDRC_DRAMTMG13_0 0x0B100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_0 0x000000AD // txsr +DATA 4 DDRC_ZQCTL0_0 0x02580012 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x01E0493E // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x0499820A // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x00000015 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x48080707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 +DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 +/* DRAM 1 controller initialization */ +DATA 4 DDRC_MSTR_1 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_DERATEEN_1 0x00000213 // derate enable, derate values, byte to read MRR data +DATA 4 DDRC_DERATEINT_1 0x0124F800 // derate MR4 interval read +DATA 4 DDRC_RFSHCTL0_1 0x0021f070 // REFRESH_BURST = 7 +DATA 4 DDRC_RFSHTMG_1 0x004900A8 // tREFI, tRFC +DATA 4 DDRC_INIT0_1 0x40030495 // pre_cke = 2ms, post_cke = 2us +DATA 4 DDRC_INIT1_1 0x00770000 // dram_rstn = 200us +DATA 4 DDRC_INIT3_1 0x00440024 // MR1, MR2 +DATA 4 DDRC_INIT4_1 0x00F10000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_1 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_1 0x1618141A // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_1 0x00050526 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_1 0x060E1714 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_1 0x00909000 // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_1 0x0B04060B // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_1 0x02030909 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_1 0x02020006 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_1 0x00000301 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_1 0x00020510 // tCMDCKE, tCKEHCMD +DATA 4 DDRC_DRAMTMG13_1 0x0B100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_1 0x000000AD // txsr +DATA 4 DDRC_ZQCTL0_1 0x02580012 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_1 0x01E0493E // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_1 0x0499820A // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_1 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_1 0x00001708 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_1 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_1 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_1 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_1 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_1 0x00000015 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_1 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_1 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_1 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_1 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_1 0x48080707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +DATA 4 DDRC_DBICTL_1 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 +DATA 4 DDRC_ODTMAP_1 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_1 0x00000001 // Enable port 0 +DATA 4 DDRC_DFITMG0_SHADOW_1 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x10A // selfref_en clear when enabling HW Idle +DATA 4 DDRC_PWRCTL_1 0x10A // selfref_en clear when enabling HW Idle +DATA 4 DDRC_PWRTMG_0 0x00402010 +DATA 4 DDRC_PWRTMG_1 0x00402010 +DATA 4 DDRC_HWLPCTL_0 0x003F0001 +DATA 4 DDRC_HWLPCTL_1 0x003F0001 +DATA 4 DDRC_DFILPCFG0_0 0x0700C100 +DATA 4 DDRC_DFILPCFG0_1 0x0700C100 + +DATA 4 0x41a40208 0x1 +DATA 4 0x41d00208 0x1 +DATA 4 0x41a40040 0xf +DATA 4 0x41d00040 0xf +DATA 4 0x41a40204 0x1 +DATA 4 0x41d00204 0x1 +//------------------------------------------- +// Configure registers for PHY initialization +//-------------------------------------------- +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_0 0x000F0009 +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00003465 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00008271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00075632 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00008104 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00064732 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00008015 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00012574 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00008360 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_0 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +// Set-up PHY General Configuration Register +SET_BIT 4 DDR_PHY_PGCR1_0 0x000A0000 // DISDIC=1 (no uMCTL2 commands can go to memory) and WDQSEXT=1 +DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F0A193 // Set tREFPRD +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x3A981518 // tPLLLOCK, tPLLRST +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x001C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x001C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x0001B9BB // Impedance control for CA bus +DATA 4 DDR_PHY_ZQ1PR0_0 0x0001B9BB // Impedance control for DQ bus +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x32 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x33 +//------------------------------------------- +// Configure registers for PHY initialization +//-------------------------------=------------ +// Set-up DRAM 1 PHY Configuration Register +DATA 4 DDR_PHY_DCR_1 0x0000040D // LPDDR4 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_1 0x000F0009 +DATA 4 DDR_PHY_DX0DQMAP0_1 0x00003465 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_1 0x00008271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_1 0x00075632 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_1 0x00008104 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_1 0x00064732 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_1 0x00008015 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_1 0x00012574 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_1 0x00008360 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_1 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_1 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +// Set-up PHY General Configuration Register +SET_BIT 4 DDR_PHY_PGCR1_1 0x000A0000 // DISDIC=1 (no uMCTL2 commands can go to memory) and WDQSEXT=1 +DATA 4 DDR_PHY_PGCR0_1 0x87001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_1 0x00F0A193 // Set tREFPRD +DATA 4 DDR_PHY_PGCR3_1 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_1 0x4B025810 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_1 0x3A981518 // tPLLLOCK, tPLLRST +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_1 0x001C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_1 0x001C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_1 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_1 0x0001B9BB // Impedance control for CA bus +DATA 4 DDR_PHY_ZQ1PR0_1 0x0001B9BB // Impedance control for DQ bus +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_1 0x32 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x33 +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_0 0x24 // Set RL/WL +DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength + +DATA 4 DDR_PHY_MR11_0 0x54 // Set CA ODT and DQ ODT +DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) +/* LPDDR4 mode register writes for CA and DQ VREF settings */ +DATA 4 DDR_PHY_MR12_0 0x48 +DATA 4 DDR_PHY_MR14_0 0x48 +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x0C331A09 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28300411 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x0069615A // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x01502B0C // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x194C160D // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00249F00 // tDINIT0 +DATA 4 DDR_PHY_PTR4_0 0x00000960 // tDINIT1 +DATA 4 DDR_PHY_PTR5_0 0x0003A980 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x027004B0 // tDINIT4, tDINIT3 +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000001 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 +// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 +// Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_0 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 +DATA 4 DDR_PHY_VTCR1_0 0x07F0018F // HVIO=1, SHREN=1, SHRNK=0 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +SET_BIT 4 DDR_PHY_PGCR5_0 0x4 +DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1600 +DATA 4 DDR_PHY_PGCR4_0 0x001900B1 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_1 0x44 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_1 0x24 // Set RL/WL +DATA 4 DDR_PHY_MR3_1 0xF1 // Set drive strength + +DATA 4 DDR_PHY_MR11_1 0x54 // Set CA ODT and DQ ODT +DATA 4 DDR_PHY_MR22_1 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) +/* LPDDR4 mode register writes for CA and DQ VREF settings */ +DATA 4 DDR_PHY_MR12_1 0x48 +DATA 4 DDR_PHY_MR14_1 0x48 +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_1 0x0C331A09 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_1 0x28300411 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_1 0x0069615A // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_1 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_1 0x01502B0C // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_1 0x194C160D // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_1 0x00249F00 // tDINIT0 +DATA 4 DDR_PHY_PTR4_1 0x00000960 // tDINIT1 +DATA 4 DDR_PHY_PTR5_1 0x0003A980 // tDINIT2 +DATA 4 DDR_PHY_PTR6_1 0x027004B0 // tDINIT4, tDINIT3 (1us) +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_1 0x00000001 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_1 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank0 disabled +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_1 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_1 0x09000000 // I/O mode = LPDDR4 +// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_1 0x44000000 +// Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_1 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 +DATA 4 DDR_PHY_VTCR1_1 0x07F0018F // HVIO=1, SHREN=1, SHRNK=0 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +SET_BIT 4 DDR_PHY_PGCR5_1 0x4 +DATA 4 DDR_PHY_PGCR6_1 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_1 0x001C1600 +DATA 4 DDR_PHY_PGCR4_1 0x001900B1 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_1 0x79000000 // I/O mode = LPDDR4 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 +// Launch DRAM 1 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x180 +DATA 4 DDR_PHY_PIR_1 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +// DRAM 1 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +// Launch a second time DRAM initialization due to following Synopsys PHY bug: +// Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" +// Workaround: "Run DRAM Initialization twice" +DATA 4 DDR_PHY_PIR_0 0x100 +DATA 4 DDR_PHY_PIR_0 0x101 +DATA 4 DDR_PHY_PIR_1 0x100 +DATA 4 DDR_PHY_PIR_1 0x101 + +// Wait (second time) DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +// Wait (second time) DRAM 1 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// configure PHY for data training +// The following register writes are recommended by SNPS prior to running training +CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 // Disable drift +SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 // Disable VT compensation +CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 // Disable VT compensation +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 +// Per SNPS initialize BIST registers for VREF training +DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) + +CLR_BIT 4 DDR_PHY_DQSDR0_1 0x00000001 // Disable drift +SET_BIT 4 DDR_PHY_PGCR6_1 0x00000001 // Disable VT compensation +CHECK_BITS_SET 4 DDR_PHY_PGSR1_1 0x40000000 // Disable VT compensation +SET_BIT 4 DDR_PHY_PGCR1_1 0x00020040 // DISDIC=1; PUBMODE=1 +// Per SNPS initialize BIST registers for VREF training +DATA 4 DDR_PHY_BISTAR1_1 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +DATA 4 DDR_PHY_BISTAR2_1 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +DATA 4 DDR_PHY_BISTAR4_1 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) + +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00030236 // Set RANKEN +DATA 4 DDR_PHY_DTCR0_1 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_1 0x00030236 // Set RANKEN + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +DATA 4 DDR_PHY_PIR_1 0x200 +DATA 4 DDR_PHY_PIR_1 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012240F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Set DQS/DQSn glitch suppression resistor for training PHY1 +DATA 4 DDR_PHY_DX8SLbDQSCTL_1 0x012240F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_1 0x400 +DATA 4 DDR_PHY_PIR_1 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01224000 +// Wait Read DQS training to complete PHY1 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY1 +DATA 4 DDR_PHY_DX8SLbDQSCTL_1 0x01224000 + +// DQS2DQ training, Write leveling, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0010F800 +DATA 4 DDR_PHY_PIR_0 0x0010F801 +DATA 4 DDR_PHY_PIR_1 0x0010F800 +DATA 4 DDR_PHY_PIR_1 0x0010F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +// Launch VREF training +DATA 4 DDR_PHY_PIR_0 0x00020000 +DATA 4 DDR_PHY_PIR_0 0x00020001 +DATA 4 DDR_PHY_PIR_1 0x00020000 +DATA 4 DDR_PHY_PIR_1 0x00020001 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=0, PUBMODE=0 +CLR_BIT 4 DDR_PHY_PGCR1_1 0x00020040 // DISDIC=0, PUBMODE=0 + +//DQS Drift Registers PHY0 +CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 +// Enable DQS drift detection PHY0 +DATA 4 DDR_PHY_DQSDR0_0 0x20188005 +DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 +DATA 4 DDR_PHY_DQSDR2_0 0x00070200 +//DQS Drift Registers PHY1 +CLR_BIT 4 DDR_PHY_DX0GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_1 0x08000000 +// Enable DQS drift detection PHY1 +DATA 4 DDR_PHY_DQSDR0_1 0x20188005 +DATA 4 DDR_PHY_DQSDR1_1 0xA8AA0000 +DATA 4 DDR_PHY_DQSDR2_1 0x00070200 + +//Enable QCHAN HWidle +DATA 4 0x41A40504 0x400 +DATA 4 0x41D00504 0x400 + +// Enable VT compensation +CLR_BIT 4 DDR_PHY_PGCR6_0 0x1 +CLR_BIT 4 DDR_PHY_PGCR6_1 0x1 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 +CHECK_BITS_SET 4 DDRC_STAT_1 0x1 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_1.6GHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_1.6GHz.cfg new file mode 100644 index 0000000..21487b6 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_1.6GHz.cfg @@ -0,0 +1,476 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +/* For 1600MHz DDR, DRC 800MHz operation */ +DATA 4 0xff148000 0x00000885 /* DRC0 bringup */ +DATA 4 0xff1a0000 0x00000885 /* DRC1 bringup */ +#else +/* Set the DRC rate to 1.6GHz. */ +uint32_t rate2 = SC_800MHZ; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +pm_set_clock_rate(SC_PT, SC_R_DRC_1, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41a40208 0x1 +DATA 4 0x41d00208 0x1 +DATA 4 0x41a40040 0xb +DATA 4 0x41d00040 0xb +DATA 4 0x41a40204 0x1 +DATA 4 0x41d00204 0x1 +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_DERATEEN_0 0x00000213 // derate enable, derate values, byte to read MRR data +DATA 4 DDRC_DERATEINT_0 0x0124F800 // derate MR4 interval read +DATA 4 DDRC_RFSHTMG_0 0x006100E0 // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x4002061B // pre_cke = 2ms, post_cke = 2us +DATA 4 DDRC_INIT1_0 0x009D0000 // dram_rstn = 200us +DATA 4 DDRC_INIT3_0 0x0054002D // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +DATA 4 DDRC_INIT4_0 0x00F10000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_0 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x1A201B22 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x00060633 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x07101314 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00C0C000 // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_0 0x0F04080F // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x02040C0C // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_0 0x02020007 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_0 0x00000401 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_0 0x00020610 // tCMDCKE, tCKEHCMD +DATA 4 DDRC_DRAMTMG13_0 0x0C100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_0 0x000000E6 // txsr +DATA 4 DDRC_ZQCTL0_0 0x43200018 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02820000 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x049E820C // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00001C0A // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x00000015 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x48080707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 +DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 +/* DRAM 1 controller initialization */ +DATA 4 DDRC_MSTR_1 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_DERATEEN_1 0x00000213 // derate enable, derate values, byte to read MRR data +DATA 4 DDRC_DERATEINT_1 0x0124F800 // derate MR4 interval read +DATA 4 DDRC_RFSHTMG_1 0x006100E0 // tREFI, tRFC +DATA 4 DDRC_INIT0_1 0x4002061B // pre_cke = 2ms, post_cke = 2us +DATA 4 DDRC_INIT1_1 0x009D0000 // dram_rstn = 200us +DATA 4 DDRC_INIT3_1 0x0054002D // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +DATA 4 DDRC_INIT4_1 0x00F10000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_1 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_1 0x1A201B22 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_1 0x00060633 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_1 0x07101314 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_1 0x00C0C000 // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_1 0x0F04080F // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_1 0x02040C0C // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_1 0x02020007 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_1 0x00000401 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_1 0x00020610 // tCMDCKE, tCKEHCMD +DATA 4 DDRC_DRAMTMG13_1 0x0C100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_1 0x000000E6 // txsr +DATA 4 DDRC_ZQCTL0_1 0x43200018 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_1 0x02820000 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_1 0x049E820C // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_1 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_1 0x00001C0A // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_1 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_1 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_1 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_1 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_1 0x00000015 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP4_1 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_1 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_1 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_1 0x48080707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +DATA 4 DDRC_DBICTL_1 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 +DATA 4 DDRC_ODTMAP_1 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_1 0x00000001 // Enable port 0 +DATA 4 DDRC_DFITMG0_SHADOW_1 0x00808000 +DATA 4 DDRC_PWRCTL_0 0x10A // selfref_en clear when enabling HW Idle +DATA 4 DDRC_PWRCTL_1 0x10A // selfref_en clear when enabling HW Idle +DATA 4 DDRC_PWRTMG_0 0x00FF201F +DATA 4 DDRC_PWRTMG_1 0x00FF201F +DATA 4 DDRC_HWLPCTL_0 0x0FFF0003 +DATA 4 DDRC_HWLPCTL_1 0x0FFF0003 +DATA 4 DDRC_DFILPCFG0_0 0x07009100 +DATA 4 DDRC_DFILPCFG0_1 0x07009100 + +DATA 4 0x41a40208 0x1 +DATA 4 0x41d00208 0x1 +DATA 4 0x41a40040 0xf +DATA 4 0x41d00040 0xf +DATA 4 0x41a40204 0x1 +DATA 4 0x41d00204 0x1 +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) +//-------------------------------=------------ +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_0 0x000F0009 +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00003465 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00008271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00075632 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00008104 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00064732 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00008015 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00012574 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00008360 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_0 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F0D879 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x64032010 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x4E201C20 // tPLLLOCK = 20 us, tPLLRST=7.2us +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x001C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x001C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x1B9BB +DATA 4 DDR_PHY_ZQ1PR0_0 0x1B9BB +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x32 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x33 +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) +//-------------------------------=------------ +// Set-up DRAM 1 PHY Configuration Register +DATA 4 DDR_PHY_DCR_1 0x0000040D // LPDDR4 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_1 0x000F0009 +DATA 4 DDR_PHY_DX0DQMAP0_1 0x00003465 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_1 0x00008271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_1 0x00075632 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_1 0x00008104 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_1 0x00064732 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_1 0x00008015 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_1 0x00012574 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_1 0x00008360 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_1 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_1 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_1 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_1 0x87001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_1 0x00F0D879 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_1 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_1 0x64032010 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_1 0x4E201C20 // tPLLLOCK = 20 us, tPLLRST=7.2us +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_1 0x001C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_1 0x001C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_1 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_1 0x1B9BB +DATA 4 DDR_PHY_ZQ1PR0_1 0x1B9BB +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_1 0x32 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x33 +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_0 0x54 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_0 0x2D // Set RL=28/WL=14 +DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength (40 Ohms by default) + +DATA 4 DDR_PHY_MR11_0 0x04 // Set DQ ODT=RZQ/4; eventually need to set CA ODT when all boards have LP4 pull up on ODT_CA +DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) +/* LPDDR4 mode register writes for CA and DQ VREF settings; range=1, 27.2% */ +DATA 4 DDR_PHY_MR12_0 0x48 +DATA 4 DDR_PHY_MR14_0 0x48 +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x1044220C // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28400417 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x006CA1CC // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x01800602 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x01C02B0F // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x21651D11 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x0030D400 // tDINIT0 (2ms) +DATA 4 DDR_PHY_PTR4_0 0x00000C80 // tDINIT1 (2us) +DATA 4 DDR_PHY_PTR5_0 0x0004E200 // tDINIT2 (200us) +DATA 4 DDR_PHY_PTR6_0 0x03300640 // tDINIT4 (30ns), tDINIT3 (1us) +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000001 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 +// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 +// Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_0 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 +DATA 4 DDR_PHY_VTCR1_0 0x07F001B3 // HVIO=1, SHREN=1, SHRNK=0 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +SET_BIT 4 DDR_PHY_PGCR5_0 0x4 +DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +DATA 4 DDR_PHY_PGCR4_0 0x001900A1 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_1 0x54 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_1 0x2D // Set RL=28/WL=14 +DATA 4 DDR_PHY_MR3_1 0xF1 // Set drive strength (40 Ohms by default) + +DATA 4 DDR_PHY_MR11_1 0x04 // Set DQ ODT=RZQ/4; eventually need to set CA ODT when all boards have LP4 pull up on ODT_CA +DATA 4 DDR_PHY_MR22_1 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) +/* LPDDR4 mode register writes for CA and DQ VREF settings; range=1, 27.2% */ +DATA 4 DDR_PHY_MR12_1 0x48 +DATA 4 DDR_PHY_MR14_1 0x48 +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_1 0x1044220C // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_1 0x28400417 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_1 0x006CA1CC // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_1 0x01800602 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_1 0x01C02B0F // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_1 0x21651D11 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_1 0x0030D400 // tDINIT0 (2ms) +DATA 4 DDR_PHY_PTR4_1 0x00000C80 // tDINIT1 (2us) +DATA 4 DDR_PHY_PTR5_1 0x0004E200 // tDINIT2 (200us) +DATA 4 DDR_PHY_PTR6_1 0x03300640 // tDINIT4 (30ns), tDINIT3 (1us) +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_1 0x00000001 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_1 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank0 disabled +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_1 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_1 0x09000000 // I/O mode = LPDDR4 +// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_1 0x44000000 +// Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_1 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 +DATA 4 DDR_PHY_VTCR1_1 0x07F001B3 // HVIO=1, SHREN=1, SHRNK=0 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +SET_BIT 4 DDR_PHY_PGCR5_1 0x4 +DATA 4 DDR_PHY_PGCR6_1 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_1 0x001C1400 +DATA 4 DDR_PHY_PGCR4_1 0x001900A1 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_1 0x79000000 // I/O mode = LPDDR4 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 +// Launch DRAM 1 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x180 +DATA 4 DDR_PHY_PIR_1 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +// DRAM 1 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +// Launch a second time DRAM initialization due to following Synopsys PHY bug: +// Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" +// Workaround: "Run DRAM Initialization twice" +DATA 4 DDR_PHY_PIR_0 0x100 +DATA 4 DDR_PHY_PIR_0 0x101 +DATA 4 DDR_PHY_PIR_1 0x100 +DATA 4 DDR_PHY_PIR_1 0x101 + +// Wait (second time) DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +// Wait (second time) DRAM 1 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// configure PHY for data training +// The following register writes are recommended by SNPS prior to running training +CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 // Disable drift +SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 // Disable VT compensation +CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 // Disable VT compensation +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 +// Per SNPS initialize BIST registers for VREF training +DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) + +CLR_BIT 4 DDR_PHY_DQSDR0_1 0x00000001 // Disable drift +SET_BIT 4 DDR_PHY_PGCR6_1 0x00000001 // Disable VT compensation +CHECK_BITS_SET 4 DDR_PHY_PGSR1_1 0x40000000 // Disable VT compensation +SET_BIT 4 DDR_PHY_PGCR1_1 0x00020040 // DISDIC=1; PUBMODE=1 +// Per SNPS initialize BIST registers for VREF training +DATA 4 DDR_PHY_BISTAR1_1 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +DATA 4 DDR_PHY_BISTAR2_1 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +DATA 4 DDR_PHY_BISTAR4_1 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) + +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00030236 // Set RANKEN=3 +DATA 4 DDR_PHY_DTCR0_1 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_1 0x00030236 // Set RANKEN=3 + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +DATA 4 DDR_PHY_PIR_1 0x200 +DATA 4 DDR_PHY_PIR_1 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012240F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Set DQS/DQSn glitch suppression resistor for training PHY1 +DATA 4 DDR_PHY_DX8SLbDQSCTL_1 0x012240F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_1 0x400 +DATA 4 DDR_PHY_PIR_1 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01224000 +// Wait Read DQS training to complete PHY1 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY1 +DATA 4 DDR_PHY_DX8SLbDQSCTL_1 0x01224000 + +// DQS2DQ training, Write leveling, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0010F800 +DATA 4 DDR_PHY_PIR_0 0x0010F801 +DATA 4 DDR_PHY_PIR_1 0x0010F800 +DATA 4 DDR_PHY_PIR_1 0x0010F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +// Launch VREF training +DATA 4 DDR_PHY_PIR_0 0x00020000 +DATA 4 DDR_PHY_PIR_0 0x00020001 +DATA 4 DDR_PHY_PIR_1 0x00020000 +DATA 4 DDR_PHY_PIR_1 0x00020001 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=0, PUBMODE=0 +CLR_BIT 4 DDR_PHY_PGCR1_1 0x00020040 // DISDIC=0, PUBMODE=0 + +//DQS Drift Registers PHY0 +CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 +// Enable DQS drift detection PHY0 +DATA 4 DDR_PHY_DQSDR0_0 0x20188004 +DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 +DATA 4 DDR_PHY_DQSDR2_0 0x00070200 +//DQS Drift Registers PHY1 +CLR_BIT 4 DDR_PHY_DX0GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_1 0x08000000 +// Enable DQS drift detection PHY1 +DATA 4 DDR_PHY_DQSDR0_1 0x20188004 +DATA 4 DDR_PHY_DQSDR1_1 0xA8AA0000 +DATA 4 DDR_PHY_DQSDR2_1 0x00070200 + +// Enable VT compensation +CLR_BIT 4 DDR_PHY_PGCR6_0 0x1 +CLR_BIT 4 DDR_PHY_PGCR6_1 0x1 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 +CHECK_BITS_SET 4 DDRC_STAT_1 0x1 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_800MHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_800MHz.cfg new file mode 100755 index 0000000..2a0360a --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/imx8qm_dcd_800MHz.cfg @@ -0,0 +1,613 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +/* For 800MHz DDR, DRC 400MHz operation */ +#ifndef SCFW_DCD +DATA 4 0xff148000 0x00000C85 /* DRC0 bringup */ +DATA 4 0xff1a0000 0x00000C85 /* DRC1 bringup */ +#else +/* Set the DRC rate to 800MHz. */ +uint32_t rate2 = SC_400MHZ; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +pm_set_clock_rate(SC_PT, SC_R_DRC_1, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41a40208 0x1 +DATA 4 0x41d00208 0x1 + +DATA 4 0x41a40040 0xb +DATA 4 0x41d00040 0xb + +DATA 4 0x41a40204 0x1 +DATA 4 0x41d00204 0x1 + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x002E0072 // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x40020320 // pre_cke +DATA 4 DDRC_INIT1_0 0x00520000 // dram_rstn +DATA 4 DDRC_INIT3_0 0x00240012 // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +DATA 4 DDRC_INIT4_0 0x00310000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_0 0x0000075f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x11110D11 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x0004041A // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x04070C0D // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00606007 // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_0 0x08040509 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x02030707 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_0 0x02020005 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_0 0x00000302 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_0 0x00020300 // tCMDCKE, tCKEHCMD (=tXP?) +DATA 4 DDRC_DRAMTMG13_0 0x0a100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_0 0x00000074 // txsr +DATA 4 DDRC_ZQCTL0_0 0x0192000d // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x01400100 // tZQReset, tzq_short_interval + +DATA 4 DDRC_DFITMG0_0 0x048C8206 // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000A04 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en + +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 + +// For 24Gb configurations: Uncomment these fields: ADDRMAP0 and ADDRMAP6 +// Address map is from MSB 29: r15, r14, cs, r13-r0, b2-b0, c9-c0 +DATA 4 DDRC_ADDRMAP0_0 0x00000015 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP6_0 0x48080707 // lpddr4_6gb_12gb_24gb = 10b; addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 + +/* + // For 16Gb configurations: Uncomment these fields: ADDRMAP0 and ADDRMAP6 + // Address map is from MSB 28: cs, r14, r13-r0, b2-b0, c9-c0 + DATA 4 DDRC_ADDRMAP0_0 0x00000016 // addrmap_cs_bit0 (board memory) + DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 (board memory) +*/ +/* + // For 32Gb configurations: Uncomment these fields: ADDRMAP0 and ADDRMAP6 + // Address map is from MSB 29: cs, r15, r14, r13-r0, b2-b0, c9-c0 + DATA 4 DDRC_ADDRMAP0_0 0x00000017 // addrmap_cs_bit0 (board memory) + DATA 4 DDRC_ADDRMAP6_0 0x07070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 (board memory) +*/ + +// Per QXP team, ODTMAP not use for LP4, need to confirm for QM +DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +//DATA 4 DDRC_ODTMAP_0 0x00000000 +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +/* DRAM 1 controller initialization */ +DATA 4 DDRC_MSTR_1 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_1 0x002E0072 // tREFI, tRFC +DATA 4 DDRC_INIT0_1 0x40020320 // pre_cke +DATA 4 DDRC_INIT1_1 0x00520000 // dram_rstn +DATA 4 DDRC_INIT3_1 0x00240012 // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +DATA 4 DDRC_INIT4_1 0x00310000 // MR3, MR13 +DATA 4 DDRC_RANKCTL_1 0x0000075f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_1 0x11110D11 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_1 0x0004041A // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_1 0x04070C0D // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_1 0x00606007 // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_1 0x08040509 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_1 0x02030707 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_1 0x02020005 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_1 0x00000302 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_1 0x00020300 // tCMDCKE, tCKEHCMD (=tXP?) +DATA 4 DDRC_DRAMTMG13_1 0x0a100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_1 0x00000074 // txsr +DATA 4 DDRC_ZQCTL0_1 0x0192000d // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_1 0x01400100 // tZQReset, tzq_short_interval + +DATA 4 DDRC_DFITMG0_1 0x048C8206 // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_1 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_1 0x00000A04 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_1 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_1 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_1 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_1 0x80000000 // dfi_phyupd_en + +DATA 4 DDRC_ADDRMAP4_1 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_1 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_1 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 + +// For 24Gb configurations: Uncomment these fields: ADDRMAP0 and ADDRMAP6 +// Address map is from MSB 29: r15, r14, cs, r13-r0, b2-b0, c9-c0 +DATA 4 DDRC_ADDRMAP0_1 0x00000015 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP6_1 0x48080707 // lpddr4_6gb_12gb_24gb = 10b; addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 + +/* + // For 16Gb configurations: Uncomment these fields: ADDRMAP0 and ADDRMAP6 + // Address map is from MSB 28: cs, r14, r13-r0, b2-b0, c9-c0 + DATA 4 DDRC_ADDRMAP0_1 0x00000016 // addrmap_cs_bit0 (board memory) + DATA 4 DDRC_ADDRMAP6_1 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 (board memory) +*/ +/* + // For 32Gb configurations: Uncomment these fields: ADDRMAP0 and ADDRMAP6 + // Address map is from MSB 29: cs, r15, r14, r13-r0, b2-b0, c9-c0 + DATA 4 DDRC_ADDRMAP0_1 0x00000017 // addrmap_cs_bit0 (board memory) + DATA 4 DDRC_ADDRMAP6_1 0x07070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 (board memory) +*/ + +// Per QXP team, ODTMAP not use for LP4, need to confirm for QM +DATA 4 DDRC_ODTMAP_1 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +//DATA 4 DDRC_ODTMAP_1 0x00000000 +DATA 4 DDRC_PCTRL_0_1 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_1 0x00808000 + +DATA 4 0x41a40208 0x1 +DATA 4 0x41d00208 0x1 + +DATA 4 0x41a40040 0xf +DATA 4 0x41d00040 0xf + +DATA 4 0x41a40204 0x1 +DATA 4 0x41d00204 0x1 + + //------------------------------------------- + // Configure registers for PHY initialization + // Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) + //-------------------------------=------------ + // Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank + + // Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_0 0x000F0009 // Set BSWAPMSB='b1001 (byte 0 and 1 are swapped) +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00003465 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00008271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00075632 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00008104 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00064732 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00008015 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00012574 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00008360 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_0 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY + + // Set-up PHY General Configuration Register + // PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F06AAC // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity + + // Set-up PHY Timing Register + // PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x32019010 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x27100E10 // tPLLLOCK reduced to 4.3us, tPLLRST=9us + + // Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x02120000 // FREQSEL=2, CPPC=0x9 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x02120000 + + // Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) + + // ZPROG_DRAM_ODT and ZPROG_HOST_ODT = 60ohm +DATA 4 DDR_PHY_ZQ0PR0_0 0x1B9BB // Updated ZPROG_HOST_ODT per QXP analysis +DATA 4 DDR_PHY_ZQ1PR0_0 0x1B9BB // Updated ZPROG_HOST_ODT per QXP analysis + + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x32 + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x33 + + //------------------------------------------- + // Configure registers for PHY initialization + // Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) + //-------------------------------=------------ + // Set-up DRAM 1 PHY Configuration Register +DATA 4 DDR_PHY_DCR_1 0x0000040D // LPDDR4 selection with 8 bank + + // Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_1 0x000F0009 // Set BSWAPMSB='b1001 (byte 0 and 1 are swapped) +DATA 4 DDR_PHY_DX0DQMAP0_1 0x00003465 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_1 0x00008271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_1 0x00075632 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_1 0x00008104 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_1 0x00064732 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_1 0x00008015 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_1 0x00012574 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_1 0x00008360 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_1 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_1 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY + + // Set-up PHY General Configuration Register + // PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_1 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_1 0x87001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_1 0x00F06AAC // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_1 0x050A1080 // CKEN/CKNEN toggling and polarity + + // Set-up PHY Timing Register + // PTR2 is untouched +DATA 4 DDR_PHY_PTR0_1 0x32019010 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_1 0x27100E10 // tPLLLOCK reduced to 4.3us, tPLLRST=9us + + // Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_1 0x02120000 // FREQSEL=2, CPPC=0x9 +DATA 4 DDR_PHY_DX8SLbPLLCR0_1 0x02120000 + + // Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_1 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) + + // ZPROG_DRAM_ODT and ZPROG_HOST_ODT = 60ohm +DATA 4 DDR_PHY_ZQ0PR0_1 0x1B9BB // Updated ZPROG_HOST_ODT per QXP analysis +DATA 4 DDR_PHY_ZQ1PR0_1 0x1B9BB // Updated ZPROG_HOST_ODT per QXP analysis + + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_1 0x32 + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x33 + + //------------------------------------------- + // Configure registers for DRAM initialization + //------------------------------------------- + // Set-up Mode Register + // MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_0 0x24 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_0 0x12 // Set RL=28/WL=14 +DATA 4 DDR_PHY_MR3_0 0x31 // Set drive strength (40 Ohms by default) +DATA 4 DDR_PHY_MR11_0 0x04 // Set CA ODT=RZQ/4, updated per QXP analysis +DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) + +/* LPDDR4 mode register writes for CA and DQ VREF settings; range=1, 27.2% */ +DATA 4 DDR_PHY_MR12_0 0x48 +DATA 4 DDR_PHY_MR14_0 0x48 + + // Set-up DRAM Timing Parameters Register + // DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x09221108 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28200D0E // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x006740E7 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x01800302 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x00E10F0A // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x11330F0A // tRC, tRCD, tWTR + + // Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00186A10 // tDINIT0 - 2ms +DATA 4 DDR_PHY_PTR4_0 0x00000650 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_0 0x00027110 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x01C00330 // tDINIT4 (30ns), tDINIT3 (1us) + + // Set-up DATX8 Common Configuration Register + // DXCCR is untouched + + // Set-up DDR System General Configuration Register + // DSGCR is untouched + + // Set-up ODT Configuration Register + // DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 1 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_0 0 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled + + // Set-up Anti-Aging Control Register + // AACR is untouched + + // Set-up Data Training Address Register + // DTAR0-3 are untouched + // !! DTAR3 is not described in spec !! + + // Set-up AC I/O Configuration Register + // ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 + // Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 + + // IOVCR0-1, DXnGCR0-4??, CALBYP + + // Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_0 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 +DATA 4 DDR_PHY_VTCR1_0 0x07F00173 // HVIO=1, SHREN=1, SHRNK=0 + + // Set-up DATX8 General Configuration Registers + // DXnGCR0-4 are untouched +SET_BIT 4 DDR_PHY_PGCR5_0 0x4 +DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit + +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults + + // Set-up DATX8 DX Control Register 2 + // PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 + + // Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 + + //------------------------------------------- + // Configure registers for DRAM initialization + //------------------------------------------- + // Set-up Mode Register + // MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_1 0x24 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR2_1 0x12 // Set RL=28/WL=14 +DATA 4 DDR_PHY_MR3_1 0x31 // Set drive strength (40 Ohms by default) +DATA 4 DDR_PHY_MR11_1 0x04 // Set CA ODT=RZQ/4, updated per QXP analysis +DATA 4 DDR_PHY_MR22_1 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) + +/* LPDDR4 mode register writes for CA and DQ VREF settings; range=1, 27.2% */ +DATA 4 DDR_PHY_MR12_1 0x48 +DATA 4 DDR_PHY_MR14_1 0x48 + + // Set-up DRAM Timing Parameters Register + // DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_1 0x09221108 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_1 0x28200D0E // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_1 0x006740E7 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_1 0x01800302 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_1 0x00E10F0A // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_1 0x11330F0A // tRC, tRCD, tWTR + + // Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_1 0x00186A10 // tDINIT0 +DATA 4 DDR_PHY_PTR4_1 0x00000650 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_1 0x00027110 // tDINIT2 +DATA 4 DDR_PHY_PTR6_1 0x01C00330 // tDINIT4 (30ns), tDINIT3 (1us) + + // Set-up DATX8 Common Configuration Register + // DXCCR is untouched + + // Set-up DDR System General Configuration Register + // DSGCR is untouched + + // Set-up ODT Configuration Register + // DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_1 1 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_1 0 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_1 0x00000000 // ODT of rank0 disabled + + // Set-up Anti-Aging Control Register + // AACR is untouched + + // Set-up Data Training Address Register + // DTAR0-3 are untouched + // !! DTAR3 is not described in spec !! + + // Set-up AC I/O Configuration Register + // ACIOCR2-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_1 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_1 0x09000000 // I/O mode = LPDDR4 + // Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_1 0x44000000 + + // IOVCR0-1, DXnGCR0-4??, CALBYP + + // Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_1 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 +DATA 4 DDR_PHY_VTCR1_1 0x07F00173 // HVIO=1, SHREN=1, SHRNK=0 + + // Set-up DATX8 General Configuration Registers + // DXnGCR0-4 are untouched +SET_BIT 4 DDR_PHY_PGCR5_1 0x4 +DATA 4 DDR_PHY_PGCR6_1 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit + +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_1 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_1 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults + + // Set-up DATX8 DX Control Register 2 + // PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_1 0x001C1400 + + // Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_1 0x79000000 // I/O mode = LPDDR4 + +#if DDR_TRAIN_IN_DCD +/* Training done in Firmware, due to DCD size limitation */ + + // Wait PHY initialization end then launch DRAM initialization + // Wait for bit 0 of PGSR0 to be '1' + // Check that no error occured +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x7FF40000 + + // Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + + // Launch DRAM 1 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_1 0x180 +DATA 4 DDR_PHY_PIR_1 0x181 + + // DRAM initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + + // DRAM initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x7FF40000 + + // Launch a second time DRAM initialization due to following Synopsys PHY bug: + // Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" + // Workaround: "Run DRAM Initialization twice" +DATA 4 DDR_PHY_PIR_0 0x100 +DATA 4 DDR_PHY_PIR_0 0x101 + +DATA 4 DDR_PHY_PIR_1 0x100 +DATA 4 DDR_PHY_PIR_1 0x101 + + // Wait (second time) DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + + // Wait (second time) DRAM 1 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x7FF40000 + + //---------------------------------------------------------------// + // DATA training + //---------------------------------------------------------------// + // configure PHY for data training + +// The following register writes are recommended by SNPS prior to running training +// Disable drift +CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 +// Disable VT compensation +SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 +CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 +// Per SNPS initialize BIST registers for VREF training +DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) + +// Disable drift +CLR_BIT 4 DDR_PHY_DQSDR0_1 0x00000001 +// Disable VT compensation +SET_BIT 4 DDR_PHY_PGCR6_1 0x00000001 +CHECK_BITS_SET 4 DDR_PHY_PGSR1_1 0x40000000 +SET_BIT 4 DDR_PHY_PGCR1_1 0x00020040 // DISDIC=1; PUBMODE=1 +// Per SNPS initialize BIST registers for VREF training +DATA 4 DDR_PHY_BISTAR1_1 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +DATA 4 DDR_PHY_BISTAR2_1 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +DATA 4 DDR_PHY_BISTAR4_1 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) + + // Set-up Data Training Configuration Register + // Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys + // case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). + // (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x0000B1CF // Set DTRPTN to 0xF. RFSHDT=0. (note this is for the non DBI setting) +DATA 4 DDR_PHY_DTCR1_0 0x00030236 // Set RANKEN=3 + +DATA 4 DDR_PHY_DTCR0_1 0x0000B1CF // Set DTRPTN to 0xF. RFSHDT=0. (note this is for the non DBI setting) +DATA 4 DDR_PHY_DTCR1_1 0x00030236 // Set RANKEN=3 + + // Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 + +DATA 4 DDR_PHY_PIR_1 0x200 +DATA 4 DDR_PHY_PIR_1 0x201 + + // Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x00200000 + + // Set DQS/DQSn glitch suppression resistor for training +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 + // Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 + +DATA 4 DDR_PHY_DX8SLbDQSCTL_1 0x012640F7 + // Launch Read DQS training +DATA 4 DDR_PHY_PIR_1 0x400 +DATA 4 DDR_PHY_PIR_1 0x401 + + // Wait Read DQS training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 + // Remove DQS/DQSn glitch suppression resistor +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x00400000 + // Remove DQS/DQSn glitch suppression resistor +DATA 4 DDR_PHY_DX8SLbDQSCTL_1 0x01264000 + + // DQS2DQ training, Write leveling, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0010F800 +DATA 4 DDR_PHY_PIR_0 0x0010F801 + +DATA 4 DDR_PHY_PIR_1 0x0010F800 +DATA 4 DDR_PHY_PIR_1 0x0010F801 + + // Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x7FF40000 + + // Launch VREF training +DATA 4 DDR_PHY_PIR_0 0x00020000 +DATA 4 DDR_PHY_PIR_0 0x00020001 + +DATA 4 DDR_PHY_PIR_1 0x00020000 +DATA 4 DDR_PHY_PIR_1 0x00020001 + + // Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 + +CHECK_BITS_SET 4 DDR_PHY_PGSR0_1 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_1 0x00080000 + + //Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=0, PUBMODE=0 +CLR_BIT 4 DDR_PHY_PGCR1_1 0x00020040 // DISDIC=0, PUBMODE=0 + + //DQS Drift Registers +CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 + // Enable DQS drift detection +DATA 4 DDR_PHY_DQSDR0_0 0x20188005 +DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 +DATA 4 DDR_PHY_DQSDR2_0 0x00070200 + +CLR_BIT 4 DDR_PHY_DX0GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_1 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_1 0x08000000 + // Enable DQS drift detection +DATA 4 DDR_PHY_DQSDR0_1 0x20188005 +DATA 4 DDR_PHY_DQSDR1_1 0xA8AA0000 +DATA 4 DDR_PHY_DQSDR2_1 0x00070200 + + // Enable VT compensation +CLR_BIT 4 DDR_PHY_PGCR6_0 0x1 +CLR_BIT 4 DDR_PHY_PGCR6_1 0x1 + + //Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 +CHECK_BITS_SET 4 DDRC_STAT_1 0x1 + + // Disable drift, not needed for 800MHz +CLR_BIT 4 DDR_PHY_DQSDR0_0 0x1 +CLR_BIT 4 DDR_PHY_DQSDR0_1 0x1 +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/lib/ddr_phy_mem_map.h b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/lib/ddr_phy_mem_map.h new file mode 100644 index 0000000..2be3e1f --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/lib/ddr_phy_mem_map.h @@ -0,0 +1,1922 @@ +/* +** ################################################################### +** +** Copyright (c) 2016 Freescale Semiconductor, Inc. +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** +** o Redistributions of source code must retain the above copyright notice, this list +** of conditions and the following disclaimer. +** +** o Redistributions in binary form must reproduce the above copyright notice, this +** list of conditions and the following disclaimer in the documentation and/or +** other materials provided with the distribution. +** +** o Neither the name of Freescale Semiconductor, Inc. nor the names of its +** contributors may be used to endorse or promote products derived from this +** software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +** http: www.freescale.com +** mail: support@freescale.com +** +** ################################################################### +*/ + +#ifndef __DDR_PHY_MEM_MAP_H__ +#define __DDR_PHY_MEM_MAP_H__ + +//JDG change base addr for DDR_PHY +//#define DDR_PHY_BASE_ADDR(X) 0x5c000000 + ((X & 1) * 0x20000) + ((X & 2) * 0x30000) + 0x10000 +#define DDR_PHY_BASE_ADDR(X) 0x5c000000 + ((X * 0x100000) + 0x10000) + +// Following defines registers offset of the Synopsys DesignWare Cores LPDDR4 multiPHY Utility Block (PUB) +#define DDR_PHY_RIDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x000) +#define DDR_PHY_RIDR_0 0x5c010000 +#define DDR_PHY_RIDR_1 0x5c110000 +#define DDR_PHY_PIR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x001) +#define DDR_PHY_PIR_0 0x5c010004 +#define DDR_PHY_PIR_1 0x5c110004 +#define DDR_PHY_PGCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x004) +#define DDR_PHY_PGCR0_0 0x5c010010 +#define DDR_PHY_PGCR0_1 0x5c110010 +#define DDR_PHY_PGCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x005) +#define DDR_PHY_PGCR1_0 0x5c010014 +#define DDR_PHY_PGCR1_1 0x5c110014 +#define DDR_PHY_PGCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x006) +#define DDR_PHY_PGCR2_0 0x5c010018 +#define DDR_PHY_PGCR2_1 0x5c110018 +#define DDR_PHY_PGCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x007) +#define DDR_PHY_PGCR3_0 0x5c01001c +#define DDR_PHY_PGCR3_1 0x5c11001c +#define DDR_PHY_PGCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x008) +#define DDR_PHY_PGCR4_0 0x5c010020 +#define DDR_PHY_PGCR4_1 0x5c110020 +#define DDR_PHY_PGCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x009) +#define DDR_PHY_PGCR5_0 0x5c010024 +#define DDR_PHY_PGCR5_1 0x5c110024 +#define DDR_PHY_PGCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00A) +#define DDR_PHY_PGCR6_0 0x5c010028 +#define DDR_PHY_PGCR6_1 0x5c110028 +#define DDR_PHY_PGCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00B) +#define DDR_PHY_PGCR7_0 0x5c01002c +#define DDR_PHY_PGCR7_1 0x5c11002c +#define DDR_PHY_PGSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00C) +#define DDR_PHY_PGSR0_0 0x5c010030 +#define DDR_PHY_PGSR0_1 0x5c110030 +#define DDR_PHY_PGSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00D) +#define DDR_PHY_PGSR1_0 0x5c010034 +#define DDR_PHY_PGSR1_1 0x5c110034 +#define DDR_PHY_PGSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00E) +#define DDR_PHY_PGSR2_0 0x5c010038 +#define DDR_PHY_PGSR2_1 0x5c110038 +#define DDR_PHY_PTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x010) +#define DDR_PHY_PTR0_0 0x5c010040 +#define DDR_PHY_PTR0_1 0x5c110040 +#define DDR_PHY_PTR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x011) +#define DDR_PHY_PTR1_0 0x5c010044 +#define DDR_PHY_PTR1_1 0x5c110044 +#define DDR_PHY_PTR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x012) +#define DDR_PHY_PTR2_0 0x5c010048 +#define DDR_PHY_PTR2_1 0x5c110048 +#define DDR_PHY_PTR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x013) +#define DDR_PHY_PTR3_0 0x5c01004c +#define DDR_PHY_PTR3_1 0x5c11004c +#define DDR_PHY_PTR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x014) +#define DDR_PHY_PTR4_0 0x5c010050 +#define DDR_PHY_PTR4_1 0x5c110050 +#define DDR_PHY_PTR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x015) +#define DDR_PHY_PTR5_0 0x5c010054 +#define DDR_PHY_PTR5_1 0x5c110054 +#define DDR_PHY_PTR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x016) +#define DDR_PHY_PTR6_0 0x5c010058 +#define DDR_PHY_PTR6_1 0x5c110058 +#define DDR_PHY_PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01A) +#define DDR_PHY_PLLCR0_0 0x5c010068 +#define DDR_PHY_PLLCR0_1 0x5c110068 +#define DDR_PHY_PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01B) +#define DDR_PHY_PLLCR1_0 0x5c01006c +#define DDR_PHY_PLLCR1_1 0x5c11006c +#define DDR_PHY_PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01C) +#define DDR_PHY_PLLCR2_0 0x5c010070 +#define DDR_PHY_PLLCR2_1 0x5c110070 +#define DDR_PHY_PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01D) +#define DDR_PHY_PLLCR3_0 0x5c010074 +#define DDR_PHY_PLLCR3_1 0x5c110074 +#define DDR_PHY_PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01E) +#define DDR_PHY_PLLCR4_0 0x5c010078 +#define DDR_PHY_PLLCR4_1 0x5c110078 +#define DDR_PHY_PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01F) +#define DDR_PHY_PLLCR5_0 0x5c01007c +#define DDR_PHY_PLLCR5_1 0x5c11007c +#define DDR_PHY_DXCCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x022) +#define DDR_PHY_DXCCR_0 0x5c010088 +#define DDR_PHY_DXCCR_1 0x5c110088 +#define DDR_PHY_DSGCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x024) +#define DDR_PHY_DSGCR_0 0x5c010090 +#define DDR_PHY_DSGCR_1 0x5c110090 +#define DDR_PHY_ODTCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x026) +#define DDR_PHY_ODTCR_0 0x5c010098 +#define DDR_PHY_ODTCR_1 0x5c110098 +#define DDR_PHY_AACR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x028) +#define DDR_PHY_AACR_0 0x5c0100a0 +#define DDR_PHY_AACR_1 0x5c1100a0 +#define DDR_PHY_GPR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x030) +#define DDR_PHY_GPR0_0 0x5c0100c0 +#define DDR_PHY_GPR0_1 0x5c1100c0 +#define DDR_PHY_GPR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x031) +#define DDR_PHY_GPR1_0 0x5c0100c4 +#define DDR_PHY_GPR1_1 0x5c1100c4 +#define DDR_PHY_DCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x040) +#define DDR_PHY_DCR_0 0x5c010100 +#define DDR_PHY_DCR_1 0x5c110100 +#define DDR_PHY_DTPR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x044) +#define DDR_PHY_DTPR0_0 0x5c010110 +#define DDR_PHY_DTPR0_1 0x5c110110 +#define DDR_PHY_DTPR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x045) +#define DDR_PHY_DTPR1_0 0x5c010114 +#define DDR_PHY_DTPR1_1 0x5c110114 +#define DDR_PHY_DTPR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x046) +#define DDR_PHY_DTPR2_0 0x5c010118 +#define DDR_PHY_DTPR2_1 0x5c110118 +#define DDR_PHY_DTPR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x047) +#define DDR_PHY_DTPR3_0 0x5c01011c +#define DDR_PHY_DTPR3_1 0x5c11011c +#define DDR_PHY_DTPR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x048) +#define DDR_PHY_DTPR4_0 0x5c010120 +#define DDR_PHY_DTPR4_1 0x5c110120 +#define DDR_PHY_DTPR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x049) +#define DDR_PHY_DTPR5_0 0x5c010124 +#define DDR_PHY_DTPR5_1 0x5c110124 +#define DDR_PHY_RDIMMGCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x050) +#define DDR_PHY_RDIMMGCR0_0 0x5c010140 +#define DDR_PHY_RDIMMGCR0_1 0x5c110140 +#define DDR_PHY_RDIMMGCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x051) +#define DDR_PHY_RDIMMGCR1_0 0x5c010144 +#define DDR_PHY_RDIMMGCR1_1 0x5c110144 +#define DDR_PHY_RDIMMGCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x052) +#define DDR_PHY_RDIMMGCR2_0 0x5c010148 +#define DDR_PHY_RDIMMGCR2_1 0x5c110148 +#define DDR_PHY_RDIMMCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x054) +#define DDR_PHY_RDIMMCR0_0 0x5c010150 +#define DDR_PHY_RDIMMCR0_1 0x5c110150 +#define DDR_PHY_RDIMMCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x055) +#define DDR_PHY_RDIMMCR1_0 0x5c010154 +#define DDR_PHY_RDIMMCR1_1 0x5c110154 +#define DDR_PHY_RDIMMCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x056) +#define DDR_PHY_RDIMMCR2_0 0x5c010158 +#define DDR_PHY_RDIMMCR2_1 0x5c110158 +#define DDR_PHY_RDIMMCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x057) +#define DDR_PHY_RDIMMCR3_0 0x5c01015c +#define DDR_PHY_RDIMMCR3_1 0x5c11015c +#define DDR_PHY_RDIMMCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x058) +#define DDR_PHY_RDIMMCR4_0 0x5c010160 +#define DDR_PHY_RDIMMCR4_1 0x5c110160 +#define DDR_PHY_SCHCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x05A) +#define DDR_PHY_SCHCR0_0 0x5c010168 +#define DDR_PHY_SCHCR0_1 0x5c110168 +#define DDR_PHY_SCHCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x05B) +#define DDR_PHY_SCHCR1_0 0x5c01016c +#define DDR_PHY_SCHCR1_1 0x5c11016c +#define DDR_PHY_MR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x060) +#define DDR_PHY_MR0_0 0x5c010180 +#define DDR_PHY_MR0_1 0x5c110180 +#define DDR_PHY_MR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x061) +#define DDR_PHY_MR1_0 0x5c010184 +#define DDR_PHY_MR1_1 0x5c110184 +#define DDR_PHY_MR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x062) +#define DDR_PHY_MR2_0 0x5c010188 +#define DDR_PHY_MR2_1 0x5c110188 +#define DDR_PHY_MR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x063) +#define DDR_PHY_MR3_0 0x5c01018c +#define DDR_PHY_MR3_1 0x5c11018c +#define DDR_PHY_MR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x064) +#define DDR_PHY_MR4_0 0x5c010190 +#define DDR_PHY_MR4_1 0x5c110190 +#define DDR_PHY_MR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x065) +#define DDR_PHY_MR5_0 0x5c010194 +#define DDR_PHY_MR5_1 0x5c110194 +#define DDR_PHY_MR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x066) +#define DDR_PHY_MR6_0 0x5c010198 +#define DDR_PHY_MR6_1 0x5c110198 +#define DDR_PHY_MR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x067) +#define DDR_PHY_MR7_0 0x5c01019c +#define DDR_PHY_MR7_1 0x5c11019c +#define DDR_PHY_MR11(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06B) +#define DDR_PHY_MR11_0 0x5c0101ac +#define DDR_PHY_MR11_1 0x5c1101ac +#define DDR_PHY_MR12(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06C) +#define DDR_PHY_MR12_0 0x5c0101b0 +#define DDR_PHY_MR12_1 0x5c1101b0 +#define DDR_PHY_MR13(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06D) +#define DDR_PHY_MR13_0 0x5c0101b4 +#define DDR_PHY_MR13_1 0x5c1101b4 +#define DDR_PHY_MR14(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06E) +#define DDR_PHY_MR14_0 0x5c0101b8 +#define DDR_PHY_MR14_1 0x5c1101b8 +#define DDR_PHY_MR22(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x076) +#define DDR_PHY_MR22_0 0x5c0101d8 +#define DDR_PHY_MR22_1 0x5c1101d8 +#define DDR_PHY_DTCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x080) +#define DDR_PHY_DTCR0_0 0x5c010200 +#define DDR_PHY_DTCR0_1 0x5c110200 +#define DDR_PHY_DTCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x081) +#define DDR_PHY_DTCR1_0 0x5c010204 +#define DDR_PHY_DTCR1_1 0x5c110204 +#define DDR_PHY_DTAR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x082) +#define DDR_PHY_DTAR0_0 0x5c010208 +#define DDR_PHY_DTAR0_1 0x5c110208 +#define DDR_PHY_DTAR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x083) +#define DDR_PHY_DTAR1_0 0x5c01020c +#define DDR_PHY_DTAR1_1 0x5c11020c +#define DDR_PHY_DTAR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x084) +#define DDR_PHY_DTAR2_0 0x5c010210 +#define DDR_PHY_DTAR2_1 0x5c110210 +#define DDR_PHY_DTDR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x086) +#define DDR_PHY_DTDR0_0 0x5c010218 +#define DDR_PHY_DTDR0_1 0x5c110218 +#define DDR_PHY_DTDR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x087) +#define DDR_PHY_DTDR1_0 0x5c01021c +#define DDR_PHY_DTDR1_1 0x5c11021c +#define DDR_PHY_DTEDR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08C) +#define DDR_PHY_DTEDR0_0 0x5c010230 +#define DDR_PHY_DTEDR0_1 0x5c110230 +#define DDR_PHY_DTEDR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08C) +#define DDR_PHY_DTEDR1_0 0x5c010230 +#define DDR_PHY_DTEDR1_1 0x5c110230 +#define DDR_PHY_DTEDR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08C) +#define DDR_PHY_DTEDR2_0 0x5c010230 +#define DDR_PHY_DTEDR2_1 0x5c110230 +#define DDR_PHY_VTDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08F) +#define DDR_PHY_VTDR_0 0x5c01023c +#define DDR_PHY_VTDR_1 0x5c11023c +#define DDR_PHY_CATR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x090) +#define DDR_PHY_CATR0_0 0x5c010240 +#define DDR_PHY_CATR0_1 0x5c110240 +#define DDR_PHY_CATR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x091) +#define DDR_PHY_CATR1_0 0x5c010244 +#define DDR_PHY_CATR1_1 0x5c110244 +#define DDR_PHY_PGCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x092) +#define DDR_PHY_PGCR8_0 0x5c010248 +#define DDR_PHY_PGCR8_1 0x5c110248 +#define DDR_PHY_DQSDR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x094) +#define DDR_PHY_DQSDR0_0 0x5c010250 +#define DDR_PHY_DQSDR0_1 0x5c110250 +#define DDR_PHY_DQSDR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x095) +#define DDR_PHY_DQSDR1_0 0x5c010254 +#define DDR_PHY_DQSDR1_1 0x5c110254 +#define DDR_PHY_DQSDR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x096) +#define DDR_PHY_DQSDR2_0 0x5c010258 +#define DDR_PHY_DQSDR2_1 0x5c110258 +#define DDR_PHY_DCUAR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C0) +#define DDR_PHY_DCUAR_0 0x5c010300 +#define DDR_PHY_DCUAR_1 0x5c110300 +#define DDR_PHY_DCUDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C1) +#define DDR_PHY_DCUDR_0 0x5c010304 +#define DDR_PHY_DCUDR_1 0x5c110304 +#define DDR_PHY_DCURR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C2) +#define DDR_PHY_DCURR_0 0x5c010308 +#define DDR_PHY_DCURR_1 0x5c110308 +#define DDR_PHY_DCULR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C3) +#define DDR_PHY_DCULR_0 0x5c01030c +#define DDR_PHY_DCULR_1 0x5c11030c +#define DDR_PHY_DCUGCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C4) +#define DDR_PHY_DCUGCR_0 0x5c010310 +#define DDR_PHY_DCUGCR_1 0x5c110310 +#define DDR_PHY_DCUTPR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C5) +#define DDR_PHY_DCUTPR_0 0x5c010314 +#define DDR_PHY_DCUTPR_1 0x5c110314 +#define DDR_PHY_DCUSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C6) +#define DDR_PHY_DCUSR0_0 0x5c010318 +#define DDR_PHY_DCUSR0_1 0x5c110318 +#define DDR_PHY_DCUSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C7) +#define DDR_PHY_DCUSR1_0 0x5c01031c +#define DDR_PHY_DCUSR1_1 0x5c11031c +#define DDR_PHY_BISTRR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x100) +#define DDR_PHY_BISTRR_0 0x5c010400 +#define DDR_PHY_BISTRR_1 0x5c110400 +#define DDR_PHY_BISTWCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x101) +#define DDR_PHY_BISTWCR_0 0x5c010404 +#define DDR_PHY_BISTWCR_1 0x5c110404 +#define DDR_PHY_BISTMSKR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x102) +#define DDR_PHY_BISTMSKR0_0 0x5c010408 +#define DDR_PHY_BISTMSKR0_1 0x5c110408 +#define DDR_PHY_BISTMSKR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x103) +#define DDR_PHY_BISTMSKR1_0 0x5c01040c +#define DDR_PHY_BISTMSKR1_1 0x5c11040c +#define DDR_PHY_BISTMSKR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x104) +#define DDR_PHY_BISTMSKR2_0 0x5c010410 +#define DDR_PHY_BISTMSKR2_1 0x5c110410 +#define DDR_PHY_BISTLSR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x105) +#define DDR_PHY_BISTLSR_0 0x5c010414 +#define DDR_PHY_BISTLSR_1 0x5c110414 +#define DDR_PHY_BISTAR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x106) +#define DDR_PHY_BISTAR0_0 0x5c010418 +#define DDR_PHY_BISTAR0_1 0x5c110418 +#define DDR_PHY_BISTAR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x107) +#define DDR_PHY_BISTAR1_0 0x5c01041c +#define DDR_PHY_BISTAR1_1 0x5c11041c +#define DDR_PHY_BISTAR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x108) +#define DDR_PHY_BISTAR2_0 0x5c010420 +#define DDR_PHY_BISTAR2_1 0x5c110420 +#define DDR_PHY_BISTAR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x109) +#define DDR_PHY_BISTAR3_0 0x5c010424 +#define DDR_PHY_BISTAR3_1 0x5c110424 +#define DDR_PHY_BISTAR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10A) +#define DDR_PHY_BISTAR4_0 0x5c010428 +#define DDR_PHY_BISTAR4_1 0x5c110428 +#define DDR_PHY_BISTUDPR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10B) +#define DDR_PHY_BISTUDPR_0 0x5c01042c +#define DDR_PHY_BISTUDPR_1 0x5c11042c +#define DDR_PHY_BISTGSR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10C) +#define DDR_PHY_BISTGSR_0 0x5c010430 +#define DDR_PHY_BISTGSR_1 0x5c110430 +#define DDR_PHY_BISTWER0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10D) +#define DDR_PHY_BISTWER0_0 0x5c010434 +#define DDR_PHY_BISTWER0_1 0x5c110434 +#define DDR_PHY_BISTWER1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10E) +#define DDR_PHY_BISTWER1_0 0x5c010438 +#define DDR_PHY_BISTWER1_1 0x5c110438 +#define DDR_PHY_BISTBER0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10F) +#define DDR_PHY_BISTBER0_0 0x5c01043c +#define DDR_PHY_BISTBER0_1 0x5c11043c +#define DDR_PHY_BISTBER1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x110) +#define DDR_PHY_BISTBER1_0 0x5c010440 +#define DDR_PHY_BISTBER1_1 0x5c110440 +#define DDR_PHY_BISTBER2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x111) +#define DDR_PHY_BISTBER2_0 0x5c010444 +#define DDR_PHY_BISTBER2_1 0x5c110444 +#define DDR_PHY_BISTBER3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x112) +#define DDR_PHY_BISTBER3_0 0x5c010448 +#define DDR_PHY_BISTBER3_1 0x5c110448 +#define DDR_PHY_BISTBER4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x113) +#define DDR_PHY_BISTBER4_0 0x5c01044c +#define DDR_PHY_BISTBER4_1 0x5c11044c +#define DDR_PHY_BISTWCSR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x114) +#define DDR_PHY_BISTWCSR_0 0x5c010450 +#define DDR_PHY_BISTWCSR_1 0x5c110450 +#define DDR_PHY_BISTFWR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x115) +#define DDR_PHY_BISTFWR0_0 0x5c010454 +#define DDR_PHY_BISTFWR0_1 0x5c110454 +#define DDR_PHY_BISTFWR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x116) +#define DDR_PHY_BISTFWR1_0 0x5c010458 +#define DDR_PHY_BISTFWR1_1 0x5c110458 +#define DDR_PHY_BISTFWR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x117) +#define DDR_PHY_BISTFWR2_0 0x5c01045c +#define DDR_PHY_BISTFWR2_1 0x5c11045c +#define DDR_PHY_BISTBER5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x118) +#define DDR_PHY_BISTBER5_0 0x5c010460 +#define DDR_PHY_BISTBER5_1 0x5c110460 +#define DDR_PHY_RANKIDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x137) +#define DDR_PHY_RANKIDR_0 0x5c0104dc +#define DDR_PHY_RANKIDR_1 0x5c1104dc +#define DDR_PHY_RIOCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x138) +#define DDR_PHY_RIOCR0_0 0x5c0104e0 +#define DDR_PHY_RIOCR0_1 0x5c1104e0 +#define DDR_PHY_RIOCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x139) +#define DDR_PHY_RIOCR1_0 0x5c0104e4 +#define DDR_PHY_RIOCR1_1 0x5c1104e4 +#define DDR_PHY_RIOCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13A) +#define DDR_PHY_RIOCR2_0 0x5c0104e8 +#define DDR_PHY_RIOCR2_1 0x5c1104e8 +#define DDR_PHY_RIOCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13B) +#define DDR_PHY_RIOCR3_0 0x5c0104ec +#define DDR_PHY_RIOCR3_1 0x5c1104ec +#define DDR_PHY_RIOCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13C) +#define DDR_PHY_RIOCR4_0 0x5c0104f0 +#define DDR_PHY_RIOCR4_1 0x5c1104f0 +#define DDR_PHY_RIOCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13D) +#define DDR_PHY_RIOCR5_0 0x5c0104f4 +#define DDR_PHY_RIOCR5_1 0x5c1104f4 +#define DDR_PHY_ACIOCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x140) +#define DDR_PHY_ACIOCR0_0 0x5c010500 +#define DDR_PHY_ACIOCR0_1 0x5c110500 +#define DDR_PHY_ACIOCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x141) +#define DDR_PHY_ACIOCR1_0 0x5c010504 +#define DDR_PHY_ACIOCR1_1 0x5c110504 +#define DDR_PHY_ACIOCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x142) +#define DDR_PHY_ACIOCR2_0 0x5c010508 +#define DDR_PHY_ACIOCR2_1 0x5c110508 +#define DDR_PHY_ACIOCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x143) +#define DDR_PHY_ACIOCR3_0 0x5c01050c +#define DDR_PHY_ACIOCR3_1 0x5c11050c +#define DDR_PHY_ACIOCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x144) +#define DDR_PHY_ACIOCR4_0 0x5c010510 +#define DDR_PHY_ACIOCR4_1 0x5c110510 +#define DDR_PHY_ACIOCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x145) +#define DDR_PHY_ACIOCR5_0 0x5c010514 +#define DDR_PHY_ACIOCR5_1 0x5c110514 +#define DDR_PHY_IOVCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x148) +#define DDR_PHY_IOVCR0_0 0x5c010520 +#define DDR_PHY_IOVCR0_1 0x5c110520 +#define DDR_PHY_IOVCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x149) +#define DDR_PHY_IOVCR1_0 0x5c010524 +#define DDR_PHY_IOVCR1_1 0x5c110524 +#define DDR_PHY_VTCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x14A) +#define DDR_PHY_VTCR0_0 0x5c010528 +#define DDR_PHY_VTCR0_1 0x5c110528 +#define DDR_PHY_VTCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x14B) +#define DDR_PHY_VTCR1_0 0x5c01052c +#define DDR_PHY_VTCR1_1 0x5c11052c +#define DDR_PHY_ACBDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x150) +#define DDR_PHY_ACBDLR0_0 0x5c010540 +#define DDR_PHY_ACBDLR0_1 0x5c110540 +#define DDR_PHY_ACBDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x151) +#define DDR_PHY_ACBDLR1_0 0x5c010544 +#define DDR_PHY_ACBDLR1_1 0x5c110544 +#define DDR_PHY_ACBDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x152) +#define DDR_PHY_ACBDLR2_0 0x5c010548 +#define DDR_PHY_ACBDLR2_1 0x5c110548 +#define DDR_PHY_ACBDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x153) +#define DDR_PHY_ACBDLR3_0 0x5c01054c +#define DDR_PHY_ACBDLR3_1 0x5c11054c +#define DDR_PHY_ACBDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x154) +#define DDR_PHY_ACBDLR4_0 0x5c010550 +#define DDR_PHY_ACBDLR4_1 0x5c110550 +#define DDR_PHY_ACBDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x155) +#define DDR_PHY_ACBDLR5_0 0x5c010554 +#define DDR_PHY_ACBDLR5_1 0x5c110554 +#define DDR_PHY_ACBDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x156) +#define DDR_PHY_ACBDLR6_0 0x5c010558 +#define DDR_PHY_ACBDLR6_1 0x5c110558 +#define DDR_PHY_ACBDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x157) +#define DDR_PHY_ACBDLR7_0 0x5c01055c +#define DDR_PHY_ACBDLR7_1 0x5c11055c +#define DDR_PHY_ACBDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x158) +#define DDR_PHY_ACBDLR8_0 0x5c010560 +#define DDR_PHY_ACBDLR8_1 0x5c110560 +#define DDR_PHY_ACBDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x159) +#define DDR_PHY_ACBDLR9_0 0x5c010564 +#define DDR_PHY_ACBDLR9_1 0x5c110564 +#define DDR_PHY_ACBDLR10(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15A) +#define DDR_PHY_ACBDLR10_0 0x5c010568 +#define DDR_PHY_ACBDLR10_1 0x5c110568 +#define DDR_PHY_ACBDLR11(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15B) +#define DDR_PHY_ACBDLR11_0 0x5c01056c +#define DDR_PHY_ACBDLR11_1 0x5c11056c +#define DDR_PHY_ACBDLR12(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15C) +#define DDR_PHY_ACBDLR12_0 0x5c010570 +#define DDR_PHY_ACBDLR12_1 0x5c110570 +#define DDR_PHY_ACBDLR13(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15D) +#define DDR_PHY_ACBDLR13_0 0x5c010574 +#define DDR_PHY_ACBDLR13_1 0x5c110574 +#define DDR_PHY_ACBDLR14(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15E) +#define DDR_PHY_ACBDLR14_0 0x5c010578 +#define DDR_PHY_ACBDLR14_1 0x5c110578 +#define DDR_PHY_ACBDLR15(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15F) +#define DDR_PHY_ACBDLR15_0 0x5c01057c +#define DDR_PHY_ACBDLR15_1 0x5c11057c +#define DDR_PHY_ACBDLR16(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x160) +#define DDR_PHY_ACBDLR16_0 0x5c010580 +#define DDR_PHY_ACBDLR16_1 0x5c110580 +#define DDR_PHY_ACLCDLR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x161) +#define DDR_PHY_ACLCDLR_0 0x5c010584 +#define DDR_PHY_ACLCDLR_1 0x5c110584 +#define DDR_PHY_ACMDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x168) +#define DDR_PHY_ACMDLR0_0 0x5c0105a0 +#define DDR_PHY_ACMDLR0_1 0x5c1105a0 +#define DDR_PHY_ACMDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x169) +#define DDR_PHY_ACMDLR1_0 0x5c0105a4 +#define DDR_PHY_ACMDLR1_1 0x5c1105a4 +#define DDR_PHY_ZQCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A0) +#define DDR_PHY_ZQCR_0 0x5c010680 +#define DDR_PHY_ZQCR_1 0x5c110680 +#define DDR_PHY_ZQ0PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A1) +#define DDR_PHY_ZQ0PR0_0 0x5c010684 +#define DDR_PHY_ZQ0PR0_1 0x5c110684 +#define DDR_PHY_ZQ0PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A2) +#define DDR_PHY_ZQ0PR1_0 0x5c010688 +#define DDR_PHY_ZQ0PR1_1 0x5c110688 +#define DDR_PHY_ZQ0DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A3) +#define DDR_PHY_ZQ0DR0_0 0x5c01068c +#define DDR_PHY_ZQ0DR0_1 0x5c11068c +#define DDR_PHY_ZQ0DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A4) +#define DDR_PHY_ZQ0DR1_0 0x5c010690 +#define DDR_PHY_ZQ0DR1_1 0x5c110690 +#define DDR_PHY_ZQ0OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A5) +#define DDR_PHY_ZQ0OR0_0 0x5c010694 +#define DDR_PHY_ZQ0OR0_1 0x5c110694 +#define DDR_PHY_ZQ0OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A6) +#define DDR_PHY_ZQ0OR1_0 0x5c010698 +#define DDR_PHY_ZQ0OR1_1 0x5c110698 +#define DDR_PHY_ZQ0SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A7) +#define DDR_PHY_ZQ0SR_0 0x5c01069c +#define DDR_PHY_ZQ0SR_1 0x5c11069c +#define DDR_PHY_ZQ1PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A9) +#define DDR_PHY_ZQ1PR0_0 0x5c0106a4 +#define DDR_PHY_ZQ1PR0_1 0x5c1106a4 +#define DDR_PHY_ZQ1PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AA) +#define DDR_PHY_ZQ1PR1_0 0x5c0106a8 +#define DDR_PHY_ZQ1PR1_1 0x5c1106a8 +#define DDR_PHY_ZQ1DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AB) +#define DDR_PHY_ZQ1DR0_0 0x5c0106ac +#define DDR_PHY_ZQ1DR0_1 0x5c1106ac +#define DDR_PHY_ZQ1DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AC) +#define DDR_PHY_ZQ1DR1_0 0x5c0106b0 +#define DDR_PHY_ZQ1DR1_1 0x5c1106b0 +#define DDR_PHY_ZQ1OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AD) +#define DDR_PHY_ZQ1OR0_0 0x5c0106b4 +#define DDR_PHY_ZQ1OR0_1 0x5c1106b4 +#define DDR_PHY_ZQ1OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AE) +#define DDR_PHY_ZQ1OR1_0 0x5c0106b8 +#define DDR_PHY_ZQ1OR1_1 0x5c1106b8 +#define DDR_PHY_ZQ1SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AF) +#define DDR_PHY_ZQ1SR_0 0x5c0106bc +#define DDR_PHY_ZQ1SR_1 0x5c1106bc +#define DDR_PHY_ZQ2PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B1) +#define DDR_PHY_ZQ2PR0_0 0x5c0106c4 +#define DDR_PHY_ZQ2PR0_1 0x5c1106c4 +#define DDR_PHY_ZQ2PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B2) +#define DDR_PHY_ZQ2PR1_0 0x5c0106c8 +#define DDR_PHY_ZQ2PR1_1 0x5c1106c8 +#define DDR_PHY_ZQ2DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B3) +#define DDR_PHY_ZQ2DR0_0 0x5c0106cc +#define DDR_PHY_ZQ2DR0_1 0x5c1106cc +#define DDR_PHY_ZQ2DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B4) +#define DDR_PHY_ZQ2DR1_0 0x5c0106d0 +#define DDR_PHY_ZQ2DR1_1 0x5c1106d0 +#define DDR_PHY_ZQ2OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B5) +#define DDR_PHY_ZQ2OR0_0 0x5c0106d4 +#define DDR_PHY_ZQ2OR0_1 0x5c1106d4 +#define DDR_PHY_ZQ2OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B6) +#define DDR_PHY_ZQ2OR1_0 0x5c0106d8 +#define DDR_PHY_ZQ2OR1_1 0x5c1106d8 +#define DDR_PHY_ZQ2SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B7) +#define DDR_PHY_ZQ2SR_0 0x5c0106dc +#define DDR_PHY_ZQ2SR_1 0x5c1106dc +#define DDR_PHY_ZQ3PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B9) +#define DDR_PHY_ZQ3PR0_0 0x5c0106e4 +#define DDR_PHY_ZQ3PR0_1 0x5c1106e4 +#define DDR_PHY_ZQ3PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BA) +#define DDR_PHY_ZQ3PR1_0 0x5c0106e8 +#define DDR_PHY_ZQ3PR1_1 0x5c1106e8 +#define DDR_PHY_ZQ3DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BB) +#define DDR_PHY_ZQ3DR0_0 0x5c0106ec +#define DDR_PHY_ZQ3DR0_1 0x5c1106ec +#define DDR_PHY_ZQ3DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BC) +#define DDR_PHY_ZQ3DR1_0 0x5c0106f0 +#define DDR_PHY_ZQ3DR1_1 0x5c1106f0 +#define DDR_PHY_ZQ3OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BD) +#define DDR_PHY_ZQ3OR0_0 0x5c0106f4 +#define DDR_PHY_ZQ3OR0_1 0x5c1106f4 +#define DDR_PHY_ZQ3OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BE) +#define DDR_PHY_ZQ3OR1_0 0x5c0106f8 +#define DDR_PHY_ZQ3OR1_1 0x5c1106f8 +#define DDR_PHY_ZQ3SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BF) +#define DDR_PHY_ZQ3SR_0 0x5c0106fc +#define DDR_PHY_ZQ3SR_1 0x5c1106fc +#define DDR_PHY_DX0GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C0) +#define DDR_PHY_DX0GCR0_0 0x5c010700 +#define DDR_PHY_DX0GCR0_1 0x5c110700 +#define DDR_PHY_DX0GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C1) +#define DDR_PHY_DX0GCR1_0 0x5c010704 +#define DDR_PHY_DX0GCR1_1 0x5c110704 +#define DDR_PHY_DX0GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C2) +#define DDR_PHY_DX0GCR2_0 0x5c010708 +#define DDR_PHY_DX0GCR2_1 0x5c110708 +#define DDR_PHY_DX0GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C3) +#define DDR_PHY_DX0GCR3_0 0x5c01070c +#define DDR_PHY_DX0GCR3_1 0x5c11070c +#define DDR_PHY_DX0GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C4) +#define DDR_PHY_DX0GCR4_0 0x5c010710 +#define DDR_PHY_DX0GCR4_1 0x5c110710 +#define DDR_PHY_DX0GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C5) +#define DDR_PHY_DX0GCR5_0 0x5c010714 +#define DDR_PHY_DX0GCR5_1 0x5c110714 +#define DDR_PHY_DX0GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C6) +#define DDR_PHY_DX0GCR6_0 0x5c010718 +#define DDR_PHY_DX0GCR6_1 0x5c110718 +#define DDR_PHY_DX0GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C7) +#define DDR_PHY_DX0GCR7_0 0x5c01071c +#define DDR_PHY_DX0GCR7_1 0x5c11071c +#define DDR_PHY_DX0GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C8) +#define DDR_PHY_DX0GCR8_0 0x5c010720 +#define DDR_PHY_DX0GCR8_1 0x5c110720 +#define DDR_PHY_DX0GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C9) +#define DDR_PHY_DX0GCR9_0 0x5c010724 +#define DDR_PHY_DX0GCR9_1 0x5c110724 +#define DDR_PHY_DX0DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1CA) +#define DDR_PHY_DX0DQMAP0_0 0x5c010728 +#define DDR_PHY_DX0DQMAP0_1 0x5c110728 +#define DDR_PHY_DX0DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1CB) +#define DDR_PHY_DX0DQMAP1_0 0x5c01072c +#define DDR_PHY_DX0DQMAP1_1 0x5c11072c +#define DDR_PHY_DX0BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D0) +#define DDR_PHY_DX0BDLR0_0 0x5c010740 +#define DDR_PHY_DX0BDLR0_1 0x5c110740 +#define DDR_PHY_DX0BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D1) +#define DDR_PHY_DX0BDLR1_0 0x5c010744 +#define DDR_PHY_DX0BDLR1_1 0x5c110744 +#define DDR_PHY_DX0BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D2) +#define DDR_PHY_DX0BDLR2_0 0x5c010748 +#define DDR_PHY_DX0BDLR2_1 0x5c110748 +#define DDR_PHY_DX0BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D4) +#define DDR_PHY_DX0BDLR3_0 0x5c010750 +#define DDR_PHY_DX0BDLR3_1 0x5c110750 +#define DDR_PHY_DX0BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D5) +#define DDR_PHY_DX0BDLR4_0 0x5c010754 +#define DDR_PHY_DX0BDLR4_1 0x5c110754 +#define DDR_PHY_DX0BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D6) +#define DDR_PHY_DX0BDLR5_0 0x5c010758 +#define DDR_PHY_DX0BDLR5_1 0x5c110758 +#define DDR_PHY_DX0BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D8) +#define DDR_PHY_DX0BDLR6_0 0x5c010760 +#define DDR_PHY_DX0BDLR6_1 0x5c110760 +#define DDR_PHY_DX0BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D9) +#define DDR_PHY_DX0BDLR7_0 0x5c010764 +#define DDR_PHY_DX0BDLR7_1 0x5c110764 +#define DDR_PHY_DX0BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1DA) +#define DDR_PHY_DX0BDLR8_0 0x5c010768 +#define DDR_PHY_DX0BDLR8_1 0x5c110768 +#define DDR_PHY_DX0BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1DB) +#define DDR_PHY_DX0BDLR9_0 0x5c01076c +#define DDR_PHY_DX0BDLR9_1 0x5c11076c +#define DDR_PHY_DX0LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E0) +#define DDR_PHY_DX0LCDLR0_0 0x5c010780 +#define DDR_PHY_DX0LCDLR0_1 0x5c110780 +#define DDR_PHY_DX0LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E1) +#define DDR_PHY_DX0LCDLR1_0 0x5c010784 +#define DDR_PHY_DX0LCDLR1_1 0x5c110784 +#define DDR_PHY_DX0LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E2) +#define DDR_PHY_DX0LCDLR2_0 0x5c010788 +#define DDR_PHY_DX0LCDLR2_1 0x5c110788 +#define DDR_PHY_DX0LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E3) +#define DDR_PHY_DX0LCDLR3_0 0x5c01078c +#define DDR_PHY_DX0LCDLR3_1 0x5c11078c +#define DDR_PHY_DX0LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E4) +#define DDR_PHY_DX0LCDLR4_0 0x5c010790 +#define DDR_PHY_DX0LCDLR4_1 0x5c110790 +#define DDR_PHY_DX0LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E5) +#define DDR_PHY_DX0LCDLR5_0 0x5c010794 +#define DDR_PHY_DX0LCDLR5_1 0x5c110794 +#define DDR_PHY_DX0MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E8) +#define DDR_PHY_DX0MDLR0_0 0x5c0107a0 +#define DDR_PHY_DX0MDLR0_1 0x5c1107a0 +#define DDR_PHY_DX0MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E9) +#define DDR_PHY_DX0MDLR1_0 0x5c0107a4 +#define DDR_PHY_DX0MDLR1_1 0x5c1107a4 +#define DDR_PHY_DX0GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F0) +#define DDR_PHY_DX0GTR0_0 0x5c0107c0 +#define DDR_PHY_DX0GTR0_1 0x5c1107c0 +#define DDR_PHY_DX0RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F4) +#define DDR_PHY_DX0RSR0_0 0x5c0107d0 +#define DDR_PHY_DX0RSR0_1 0x5c1107d0 +#define DDR_PHY_DX0RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F5) +#define DDR_PHY_DX0RSR1_0 0x5c0107d4 +#define DDR_PHY_DX0RSR1_1 0x5c1107d4 +#define DDR_PHY_DX0RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F6) +#define DDR_PHY_DX0RSR2_0 0x5c0107d8 +#define DDR_PHY_DX0RSR2_1 0x5c1107d8 +#define DDR_PHY_DX0RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F7) +#define DDR_PHY_DX0RSR3_0 0x5c0107dc +#define DDR_PHY_DX0RSR3_1 0x5c1107dc +#define DDR_PHY_DX0GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F8) +#define DDR_PHY_DX0GSR0_0 0x5c0107e0 +#define DDR_PHY_DX0GSR0_1 0x5c1107e0 +#define DDR_PHY_DX0GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F9) +#define DDR_PHY_DX0GSR1_0 0x5c0107e4 +#define DDR_PHY_DX0GSR1_1 0x5c1107e4 +#define DDR_PHY_DX0GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FA) +#define DDR_PHY_DX0GSR2_0 0x5c0107e8 +#define DDR_PHY_DX0GSR2_1 0x5c1107e8 +#define DDR_PHY_DX0GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FB) +#define DDR_PHY_DX0GSR3_0 0x5c0107ec +#define DDR_PHY_DX0GSR3_1 0x5c1107ec +#define DDR_PHY_DX0GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FC) +#define DDR_PHY_DX0GSR4_0 0x5c0107f0 +#define DDR_PHY_DX0GSR4_1 0x5c1107f0 +#define DDR_PHY_DX0GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FD) +#define DDR_PHY_DX0GSR5_0 0x5c0107f4 +#define DDR_PHY_DX0GSR5_1 0x5c1107f4 +#define DDR_PHY_DX0GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FE) +#define DDR_PHY_DX0GSR6_0 0x5c0107f8 +#define DDR_PHY_DX0GSR6_1 0x5c1107f8 +#define DDR_PHY_DX1GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x200) +#define DDR_PHY_DX1GCR0_0 0x5c010800 +#define DDR_PHY_DX1GCR0_1 0x5c110800 +#define DDR_PHY_DX1GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x201) +#define DDR_PHY_DX1GCR1_0 0x5c010804 +#define DDR_PHY_DX1GCR1_1 0x5c110804 +#define DDR_PHY_DX1GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x202) +#define DDR_PHY_DX1GCR2_0 0x5c010808 +#define DDR_PHY_DX1GCR2_1 0x5c110808 +#define DDR_PHY_DX1GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x203) +#define DDR_PHY_DX1GCR3_0 0x5c01080c +#define DDR_PHY_DX1GCR3_1 0x5c11080c +#define DDR_PHY_DX1GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x204) +#define DDR_PHY_DX1GCR4_0 0x5c010810 +#define DDR_PHY_DX1GCR4_1 0x5c110810 +#define DDR_PHY_DX1GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x205) +#define DDR_PHY_DX1GCR5_0 0x5c010814 +#define DDR_PHY_DX1GCR5_1 0x5c110814 +#define DDR_PHY_DX1GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x206) +#define DDR_PHY_DX1GCR6_0 0x5c010818 +#define DDR_PHY_DX1GCR6_1 0x5c110818 +#define DDR_PHY_DX1GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x207) +#define DDR_PHY_DX1GCR7_0 0x5c01081c +#define DDR_PHY_DX1GCR7_1 0x5c11081c +#define DDR_PHY_DX1GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x208) +#define DDR_PHY_DX1GCR8_0 0x5c010820 +#define DDR_PHY_DX1GCR8_1 0x5c110820 +#define DDR_PHY_DX1GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x209) +#define DDR_PHY_DX1GCR9_0 0x5c010824 +#define DDR_PHY_DX1GCR9_1 0x5c110824 +#define DDR_PHY_DX1DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x20A) +#define DDR_PHY_DX1DQMAP0_0 0x5c010828 +#define DDR_PHY_DX1DQMAP0_1 0x5c110828 +#define DDR_PHY_DX1DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x20B) +#define DDR_PHY_DX1DQMAP1_0 0x5c01082c +#define DDR_PHY_DX1DQMAP1_1 0x5c11082c +#define DDR_PHY_DX1BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x210) +#define DDR_PHY_DX1BDLR0_0 0x5c010840 +#define DDR_PHY_DX1BDLR0_1 0x5c110840 +#define DDR_PHY_DX1BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x211) +#define DDR_PHY_DX1BDLR1_0 0x5c010844 +#define DDR_PHY_DX1BDLR1_1 0x5c110844 +#define DDR_PHY_DX1BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x212) +#define DDR_PHY_DX1BDLR2_0 0x5c010848 +#define DDR_PHY_DX1BDLR2_1 0x5c110848 +#define DDR_PHY_DX1BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x214) +#define DDR_PHY_DX1BDLR3_0 0x5c010850 +#define DDR_PHY_DX1BDLR3_1 0x5c110850 +#define DDR_PHY_DX1BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x215) +#define DDR_PHY_DX1BDLR4_0 0x5c010854 +#define DDR_PHY_DX1BDLR4_1 0x5c110854 +#define DDR_PHY_DX1BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x216) +#define DDR_PHY_DX1BDLR5_0 0x5c010858 +#define DDR_PHY_DX1BDLR5_1 0x5c110858 +#define DDR_PHY_DX1BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x218) +#define DDR_PHY_DX1BDLR6_0 0x5c010860 +#define DDR_PHY_DX1BDLR6_1 0x5c110860 +#define DDR_PHY_DX1BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x219) +#define DDR_PHY_DX1BDLR7_0 0x5c010864 +#define DDR_PHY_DX1BDLR7_1 0x5c110864 +#define DDR_PHY_DX1BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x21A) +#define DDR_PHY_DX1BDLR8_0 0x5c010868 +#define DDR_PHY_DX1BDLR8_1 0x5c110868 +#define DDR_PHY_DX1BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x21B) +#define DDR_PHY_DX1BDLR9_0 0x5c01086c +#define DDR_PHY_DX1BDLR9_1 0x5c11086c +#define DDR_PHY_DX1LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x220) +#define DDR_PHY_DX1LCDLR0_0 0x5c010880 +#define DDR_PHY_DX1LCDLR0_1 0x5c110880 +#define DDR_PHY_DX1LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x221) +#define DDR_PHY_DX1LCDLR1_0 0x5c010884 +#define DDR_PHY_DX1LCDLR1_1 0x5c110884 +#define DDR_PHY_DX1LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x222) +#define DDR_PHY_DX1LCDLR2_0 0x5c010888 +#define DDR_PHY_DX1LCDLR2_1 0x5c110888 +#define DDR_PHY_DX1LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x223) +#define DDR_PHY_DX1LCDLR3_0 0x5c01088c +#define DDR_PHY_DX1LCDLR3_1 0x5c11088c +#define DDR_PHY_DX1LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x224) +#define DDR_PHY_DX1LCDLR4_0 0x5c010890 +#define DDR_PHY_DX1LCDLR4_1 0x5c110890 +#define DDR_PHY_DX1LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x225) +#define DDR_PHY_DX1LCDLR5_0 0x5c010894 +#define DDR_PHY_DX1LCDLR5_1 0x5c110894 +#define DDR_PHY_DX1MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x228) +#define DDR_PHY_DX1MDLR0_0 0x5c0108a0 +#define DDR_PHY_DX1MDLR0_1 0x5c1108a0 +#define DDR_PHY_DX1MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x229) +#define DDR_PHY_DX1MDLR1_0 0x5c0108a4 +#define DDR_PHY_DX1MDLR1_1 0x5c1108a4 +#define DDR_PHY_DX1GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x230) +#define DDR_PHY_DX1GTR0_0 0x5c0108c0 +#define DDR_PHY_DX1GTR0_1 0x5c1108c0 +#define DDR_PHY_DX1RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x234) +#define DDR_PHY_DX1RSR0_0 0x5c0108d0 +#define DDR_PHY_DX1RSR0_1 0x5c1108d0 +#define DDR_PHY_DX1RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x235) +#define DDR_PHY_DX1RSR1_0 0x5c0108d4 +#define DDR_PHY_DX1RSR1_1 0x5c1108d4 +#define DDR_PHY_DX1RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x236) +#define DDR_PHY_DX1RSR2_0 0x5c0108d8 +#define DDR_PHY_DX1RSR2_1 0x5c1108d8 +#define DDR_PHY_DX1RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x237) +#define DDR_PHY_DX1RSR3_0 0x5c0108dc +#define DDR_PHY_DX1RSR3_1 0x5c1108dc +#define DDR_PHY_DX1GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x238) +#define DDR_PHY_DX1GSR0_0 0x5c0108e0 +#define DDR_PHY_DX1GSR0_1 0x5c1108e0 +#define DDR_PHY_DX1GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x239) +#define DDR_PHY_DX1GSR1_0 0x5c0108e4 +#define DDR_PHY_DX1GSR1_1 0x5c1108e4 +#define DDR_PHY_DX1GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23A) +#define DDR_PHY_DX1GSR2_0 0x5c0108e8 +#define DDR_PHY_DX1GSR2_1 0x5c1108e8 +#define DDR_PHY_DX1GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23B) +#define DDR_PHY_DX1GSR3_0 0x5c0108ec +#define DDR_PHY_DX1GSR3_1 0x5c1108ec +#define DDR_PHY_DX1GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23C) +#define DDR_PHY_DX1GSR4_0 0x5c0108f0 +#define DDR_PHY_DX1GSR4_1 0x5c1108f0 +#define DDR_PHY_DX1GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23D) +#define DDR_PHY_DX1GSR5_0 0x5c0108f4 +#define DDR_PHY_DX1GSR5_1 0x5c1108f4 +#define DDR_PHY_DX1GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23E) +#define DDR_PHY_DX1GSR6_0 0x5c0108f8 +#define DDR_PHY_DX1GSR6_1 0x5c1108f8 +#define DDR_PHY_DX2GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x240) +#define DDR_PHY_DX2GCR0_0 0x5c010900 +#define DDR_PHY_DX2GCR0_1 0x5c110900 +#define DDR_PHY_DX2GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x241) +#define DDR_PHY_DX2GCR1_0 0x5c010904 +#define DDR_PHY_DX2GCR1_1 0x5c110904 +#define DDR_PHY_DX2GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x242) +#define DDR_PHY_DX2GCR2_0 0x5c010908 +#define DDR_PHY_DX2GCR2_1 0x5c110908 +#define DDR_PHY_DX2GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x243) +#define DDR_PHY_DX2GCR3_0 0x5c01090c +#define DDR_PHY_DX2GCR3_1 0x5c11090c +#define DDR_PHY_DX2GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x244) +#define DDR_PHY_DX2GCR4_0 0x5c010910 +#define DDR_PHY_DX2GCR4_1 0x5c110910 +#define DDR_PHY_DX2GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x245) +#define DDR_PHY_DX2GCR5_0 0x5c010914 +#define DDR_PHY_DX2GCR5_1 0x5c110914 +#define DDR_PHY_DX2GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x246) +#define DDR_PHY_DX2GCR6_0 0x5c010918 +#define DDR_PHY_DX2GCR6_1 0x5c110918 +#define DDR_PHY_DX2GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x247) +#define DDR_PHY_DX2GCR7_0 0x5c01091c +#define DDR_PHY_DX2GCR7_1 0x5c11091c +#define DDR_PHY_DX2GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x248) +#define DDR_PHY_DX2GCR8_0 0x5c010920 +#define DDR_PHY_DX2GCR8_1 0x5c110920 +#define DDR_PHY_DX2GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x249) +#define DDR_PHY_DX2GCR9_0 0x5c010924 +#define DDR_PHY_DX2GCR9_1 0x5c110924 +#define DDR_PHY_DX2DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x24A) +#define DDR_PHY_DX2DQMAP0_0 0x5c010928 +#define DDR_PHY_DX2DQMAP0_1 0x5c110928 +#define DDR_PHY_DX2DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x24B) +#define DDR_PHY_DX2DQMAP1_0 0x5c01092c +#define DDR_PHY_DX2DQMAP1_1 0x5c11092c +#define DDR_PHY_DX2BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x250) +#define DDR_PHY_DX2BDLR0_0 0x5c010940 +#define DDR_PHY_DX2BDLR0_1 0x5c110940 +#define DDR_PHY_DX2BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x251) +#define DDR_PHY_DX2BDLR1_0 0x5c010944 +#define DDR_PHY_DX2BDLR1_1 0x5c110944 +#define DDR_PHY_DX2BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x252) +#define DDR_PHY_DX2BDLR2_0 0x5c010948 +#define DDR_PHY_DX2BDLR2_1 0x5c110948 +#define DDR_PHY_DX2BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x254) +#define DDR_PHY_DX2BDLR3_0 0x5c010950 +#define DDR_PHY_DX2BDLR3_1 0x5c110950 +#define DDR_PHY_DX2BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x255) +#define DDR_PHY_DX2BDLR4_0 0x5c010954 +#define DDR_PHY_DX2BDLR4_1 0x5c110954 +#define DDR_PHY_DX2BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x256) +#define DDR_PHY_DX2BDLR5_0 0x5c010958 +#define DDR_PHY_DX2BDLR5_1 0x5c110958 +#define DDR_PHY_DX2BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x258) +#define DDR_PHY_DX2BDLR6_0 0x5c010960 +#define DDR_PHY_DX2BDLR6_1 0x5c110960 +#define DDR_PHY_DX2BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x259) +#define DDR_PHY_DX2BDLR7_0 0x5c010964 +#define DDR_PHY_DX2BDLR7_1 0x5c110964 +#define DDR_PHY_DX2BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x25A) +#define DDR_PHY_DX2BDLR8_0 0x5c010968 +#define DDR_PHY_DX2BDLR8_1 0x5c110968 +#define DDR_PHY_DX2BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x25B) +#define DDR_PHY_DX2BDLR9_0 0x5c01096c +#define DDR_PHY_DX2BDLR9_1 0x5c11096c +#define DDR_PHY_DX2LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x260) +#define DDR_PHY_DX2LCDLR0_0 0x5c010980 +#define DDR_PHY_DX2LCDLR0_1 0x5c110980 +#define DDR_PHY_DX2LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x261) +#define DDR_PHY_DX2LCDLR1_0 0x5c010984 +#define DDR_PHY_DX2LCDLR1_1 0x5c110984 +#define DDR_PHY_DX2LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x262) +#define DDR_PHY_DX2LCDLR2_0 0x5c010988 +#define DDR_PHY_DX2LCDLR2_1 0x5c110988 +#define DDR_PHY_DX2LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x263) +#define DDR_PHY_DX2LCDLR3_0 0x5c01098c +#define DDR_PHY_DX2LCDLR3_1 0x5c11098c +#define DDR_PHY_DX2LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x264) +#define DDR_PHY_DX2LCDLR4_0 0x5c010990 +#define DDR_PHY_DX2LCDLR4_1 0x5c110990 +#define DDR_PHY_DX2LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x265) +#define DDR_PHY_DX2LCDLR5_0 0x5c010994 +#define DDR_PHY_DX2LCDLR5_1 0x5c110994 +#define DDR_PHY_DX2MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x268) +#define DDR_PHY_DX2MDLR0_0 0x5c0109a0 +#define DDR_PHY_DX2MDLR0_1 0x5c1109a0 +#define DDR_PHY_DX2MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x269) +#define DDR_PHY_DX2MDLR1_0 0x5c0109a4 +#define DDR_PHY_DX2MDLR1_1 0x5c1109a4 +#define DDR_PHY_DX2GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x270) +#define DDR_PHY_DX2GTR0_0 0x5c0109c0 +#define DDR_PHY_DX2GTR0_1 0x5c1109c0 +#define DDR_PHY_DX2RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x274) +#define DDR_PHY_DX2RSR0_0 0x5c0109d0 +#define DDR_PHY_DX2RSR0_1 0x5c1109d0 +#define DDR_PHY_DX2RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x275) +#define DDR_PHY_DX2RSR1_0 0x5c0109d4 +#define DDR_PHY_DX2RSR1_1 0x5c1109d4 +#define DDR_PHY_DX2RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x276) +#define DDR_PHY_DX2RSR2_0 0x5c0109d8 +#define DDR_PHY_DX2RSR2_1 0x5c1109d8 +#define DDR_PHY_DX2RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x277) +#define DDR_PHY_DX2RSR3_0 0x5c0109dc +#define DDR_PHY_DX2RSR3_1 0x5c1109dc +#define DDR_PHY_DX2GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x278) +#define DDR_PHY_DX2GSR0_0 0x5c0109e0 +#define DDR_PHY_DX2GSR0_1 0x5c1109e0 +#define DDR_PHY_DX2GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x279) +#define DDR_PHY_DX2GSR1_0 0x5c0109e4 +#define DDR_PHY_DX2GSR1_1 0x5c1109e4 +#define DDR_PHY_DX2GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27A) +#define DDR_PHY_DX2GSR2_0 0x5c0109e8 +#define DDR_PHY_DX2GSR2_1 0x5c1109e8 +#define DDR_PHY_DX2GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27B) +#define DDR_PHY_DX2GSR3_0 0x5c0109ec +#define DDR_PHY_DX2GSR3_1 0x5c1109ec +#define DDR_PHY_DX2GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27C) +#define DDR_PHY_DX2GSR4_0 0x5c0109f0 +#define DDR_PHY_DX2GSR4_1 0x5c1109f0 +#define DDR_PHY_DX2GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27D) +#define DDR_PHY_DX2GSR5_0 0x5c0109f4 +#define DDR_PHY_DX2GSR5_1 0x5c1109f4 +#define DDR_PHY_DX2GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27E) +#define DDR_PHY_DX2GSR6_0 0x5c0109f8 +#define DDR_PHY_DX2GSR6_1 0x5c1109f8 +#define DDR_PHY_DX3GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x280) +#define DDR_PHY_DX3GCR0_0 0x5c010a00 +#define DDR_PHY_DX3GCR0_1 0x5c110a00 +#define DDR_PHY_DX3GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x281) +#define DDR_PHY_DX3GCR1_0 0x5c010a04 +#define DDR_PHY_DX3GCR1_1 0x5c110a04 +#define DDR_PHY_DX3GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x282) +#define DDR_PHY_DX3GCR2_0 0x5c010a08 +#define DDR_PHY_DX3GCR2_1 0x5c110a08 +#define DDR_PHY_DX3GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x283) +#define DDR_PHY_DX3GCR3_0 0x5c010a0c +#define DDR_PHY_DX3GCR3_1 0x5c110a0c +#define DDR_PHY_DX3GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x284) +#define DDR_PHY_DX3GCR4_0 0x5c010a10 +#define DDR_PHY_DX3GCR4_1 0x5c110a10 +#define DDR_PHY_DX3GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x285) +#define DDR_PHY_DX3GCR5_0 0x5c010a14 +#define DDR_PHY_DX3GCR5_1 0x5c110a14 +#define DDR_PHY_DX3GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x286) +#define DDR_PHY_DX3GCR6_0 0x5c010a18 +#define DDR_PHY_DX3GCR6_1 0x5c110a18 +#define DDR_PHY_DX3GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x287) +#define DDR_PHY_DX3GCR7_0 0x5c010a1c +#define DDR_PHY_DX3GCR7_1 0x5c110a1c +#define DDR_PHY_DX3GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x288) +#define DDR_PHY_DX3GCR8_0 0x5c010a20 +#define DDR_PHY_DX3GCR8_1 0x5c110a20 +#define DDR_PHY_DX3GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x289) +#define DDR_PHY_DX3GCR9_0 0x5c010a24 +#define DDR_PHY_DX3GCR9_1 0x5c110a24 +#define DDR_PHY_DX3DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x28A) +#define DDR_PHY_DX3DQMAP0_0 0x5c010a28 +#define DDR_PHY_DX3DQMAP0_1 0x5c110a28 +#define DDR_PHY_DX3DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x28B) +#define DDR_PHY_DX3DQMAP1_0 0x5c010a2c +#define DDR_PHY_DX3DQMAP1_1 0x5c110a2c +#define DDR_PHY_DX3BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x290) +#define DDR_PHY_DX3BDLR0_0 0x5c010a40 +#define DDR_PHY_DX3BDLR0_1 0x5c110a40 +#define DDR_PHY_DX3BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x291) +#define DDR_PHY_DX3BDLR1_0 0x5c010a44 +#define DDR_PHY_DX3BDLR1_1 0x5c110a44 +#define DDR_PHY_DX3BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x292) +#define DDR_PHY_DX3BDLR2_0 0x5c010a48 +#define DDR_PHY_DX3BDLR2_1 0x5c110a48 +#define DDR_PHY_DX3BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x294) +#define DDR_PHY_DX3BDLR3_0 0x5c010a50 +#define DDR_PHY_DX3BDLR3_1 0x5c110a50 +#define DDR_PHY_DX3BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x295) +#define DDR_PHY_DX3BDLR4_0 0x5c010a54 +#define DDR_PHY_DX3BDLR4_1 0x5c110a54 +#define DDR_PHY_DX3BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x296) +#define DDR_PHY_DX3BDLR5_0 0x5c010a58 +#define DDR_PHY_DX3BDLR5_1 0x5c110a58 +#define DDR_PHY_DX3BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x298) +#define DDR_PHY_DX3BDLR6_0 0x5c010a60 +#define DDR_PHY_DX3BDLR6_1 0x5c110a60 +#define DDR_PHY_DX3BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x299) +#define DDR_PHY_DX3BDLR7_0 0x5c010a64 +#define DDR_PHY_DX3BDLR7_1 0x5c110a64 +#define DDR_PHY_DX3BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x29A) +#define DDR_PHY_DX3BDLR8_0 0x5c010a68 +#define DDR_PHY_DX3BDLR8_1 0x5c110a68 +#define DDR_PHY_DX3BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x29B) +#define DDR_PHY_DX3BDLR9_0 0x5c010a6c +#define DDR_PHY_DX3BDLR9_1 0x5c110a6c +#define DDR_PHY_DX3LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A0) +#define DDR_PHY_DX3LCDLR0_0 0x5c010a80 +#define DDR_PHY_DX3LCDLR0_1 0x5c110a80 +#define DDR_PHY_DX3LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A1) +#define DDR_PHY_DX3LCDLR1_0 0x5c010a84 +#define DDR_PHY_DX3LCDLR1_1 0x5c110a84 +#define DDR_PHY_DX3LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A2) +#define DDR_PHY_DX3LCDLR2_0 0x5c010a88 +#define DDR_PHY_DX3LCDLR2_1 0x5c110a88 +#define DDR_PHY_DX3LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A3) +#define DDR_PHY_DX3LCDLR3_0 0x5c010a8c +#define DDR_PHY_DX3LCDLR3_1 0x5c110a8c +#define DDR_PHY_DX3LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A4) +#define DDR_PHY_DX3LCDLR4_0 0x5c010a90 +#define DDR_PHY_DX3LCDLR4_1 0x5c110a90 +#define DDR_PHY_DX3LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A5) +#define DDR_PHY_DX3LCDLR5_0 0x5c010a94 +#define DDR_PHY_DX3LCDLR5_1 0x5c110a94 +#define DDR_PHY_DX3MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A8) +#define DDR_PHY_DX3MDLR0_0 0x5c010aa0 +#define DDR_PHY_DX3MDLR0_1 0x5c110aa0 +#define DDR_PHY_DX3MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A9) +#define DDR_PHY_DX3MDLR1_0 0x5c010aa4 +#define DDR_PHY_DX3MDLR1_1 0x5c110aa4 +#define DDR_PHY_DX3GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B0) +#define DDR_PHY_DX3GTR0_0 0x5c010ac0 +#define DDR_PHY_DX3GTR0_1 0x5c110ac0 +#define DDR_PHY_DX3RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B4) +#define DDR_PHY_DX3RSR0_0 0x5c010ad0 +#define DDR_PHY_DX3RSR0_1 0x5c110ad0 +#define DDR_PHY_DX3RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B5) +#define DDR_PHY_DX3RSR1_0 0x5c010ad4 +#define DDR_PHY_DX3RSR1_1 0x5c110ad4 +#define DDR_PHY_DX3RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B6) +#define DDR_PHY_DX3RSR2_0 0x5c010ad8 +#define DDR_PHY_DX3RSR2_1 0x5c110ad8 +#define DDR_PHY_DX3RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B7) +#define DDR_PHY_DX3RSR3_0 0x5c010adc +#define DDR_PHY_DX3RSR3_1 0x5c110adc +#define DDR_PHY_DX3GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B8) +#define DDR_PHY_DX3GSR0_0 0x5c010ae0 +#define DDR_PHY_DX3GSR0_1 0x5c110ae0 +#define DDR_PHY_DX3GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B9) +#define DDR_PHY_DX3GSR1_0 0x5c010ae4 +#define DDR_PHY_DX3GSR1_1 0x5c110ae4 +#define DDR_PHY_DX3GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BA) +#define DDR_PHY_DX3GSR2_0 0x5c010ae8 +#define DDR_PHY_DX3GSR2_1 0x5c110ae8 +#define DDR_PHY_DX3GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BB) +#define DDR_PHY_DX3GSR3_0 0x5c010aec +#define DDR_PHY_DX3GSR3_1 0x5c110aec +#define DDR_PHY_DX3GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BC) +#define DDR_PHY_DX3GSR4_0 0x5c010af0 +#define DDR_PHY_DX3GSR4_1 0x5c110af0 +#define DDR_PHY_DX3GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BD) +#define DDR_PHY_DX3GSR5_0 0x5c010af4 +#define DDR_PHY_DX3GSR5_1 0x5c110af4 +#define DDR_PHY_DX3GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BE) +#define DDR_PHY_DX3GSR6_0 0x5c010af8 +#define DDR_PHY_DX3GSR6_1 0x5c110af8 +#define DDR_PHY_DX4GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C0) +#define DDR_PHY_DX4GCR0_0 0x5c010b00 +#define DDR_PHY_DX4GCR0_1 0x5c110b00 +#define DDR_PHY_DX4GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C1) +#define DDR_PHY_DX4GCR1_0 0x5c010b04 +#define DDR_PHY_DX4GCR1_1 0x5c110b04 +#define DDR_PHY_DX4GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C2) +#define DDR_PHY_DX4GCR2_0 0x5c010b08 +#define DDR_PHY_DX4GCR2_1 0x5c110b08 +#define DDR_PHY_DX4GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C3) +#define DDR_PHY_DX4GCR3_0 0x5c010b0c +#define DDR_PHY_DX4GCR3_1 0x5c110b0c +#define DDR_PHY_DX4GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C4) +#define DDR_PHY_DX4GCR4_0 0x5c010b10 +#define DDR_PHY_DX4GCR4_1 0x5c110b10 +#define DDR_PHY_DX4GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C5) +#define DDR_PHY_DX4GCR5_0 0x5c010b14 +#define DDR_PHY_DX4GCR5_1 0x5c110b14 +#define DDR_PHY_DX4GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C6) +#define DDR_PHY_DX4GCR6_0 0x5c010b18 +#define DDR_PHY_DX4GCR6_1 0x5c110b18 +#define DDR_PHY_DX4GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C7) +#define DDR_PHY_DX4GCR7_0 0x5c010b1c +#define DDR_PHY_DX4GCR7_1 0x5c110b1c +#define DDR_PHY_DX4GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C8) +#define DDR_PHY_DX4GCR8_0 0x5c010b20 +#define DDR_PHY_DX4GCR8_1 0x5c110b20 +#define DDR_PHY_DX4GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C9) +#define DDR_PHY_DX4GCR9_0 0x5c010b24 +#define DDR_PHY_DX4GCR9_1 0x5c110b24 +#define DDR_PHY_DX4BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D0) +#define DDR_PHY_DX4BDLR0_0 0x5c010b40 +#define DDR_PHY_DX4BDLR0_1 0x5c110b40 +#define DDR_PHY_DX4BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D1) +#define DDR_PHY_DX4BDLR1_0 0x5c010b44 +#define DDR_PHY_DX4BDLR1_1 0x5c110b44 +#define DDR_PHY_DX4BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D2) +#define DDR_PHY_DX4BDLR2_0 0x5c010b48 +#define DDR_PHY_DX4BDLR2_1 0x5c110b48 +#define DDR_PHY_DX4BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D4) +#define DDR_PHY_DX4BDLR3_0 0x5c010b50 +#define DDR_PHY_DX4BDLR3_1 0x5c110b50 +#define DDR_PHY_DX4BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D5) +#define DDR_PHY_DX4BDLR4_0 0x5c010b54 +#define DDR_PHY_DX4BDLR4_1 0x5c110b54 +#define DDR_PHY_DX4BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D6) +#define DDR_PHY_DX4BDLR5_0 0x5c010b58 +#define DDR_PHY_DX4BDLR5_1 0x5c110b58 +#define DDR_PHY_DX4BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D8) +#define DDR_PHY_DX4BDLR6_0 0x5c010b60 +#define DDR_PHY_DX4BDLR6_1 0x5c110b60 +#define DDR_PHY_DX4BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D9) +#define DDR_PHY_DX4BDLR7_0 0x5c010b64 +#define DDR_PHY_DX4BDLR7_1 0x5c110b64 +#define DDR_PHY_DX4BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2DA) +#define DDR_PHY_DX4BDLR8_0 0x5c010b68 +#define DDR_PHY_DX4BDLR8_1 0x5c110b68 +#define DDR_PHY_DX4BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2DB) +#define DDR_PHY_DX4BDLR9_0 0x5c010b6c +#define DDR_PHY_DX4BDLR9_1 0x5c110b6c +#define DDR_PHY_DX4LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E0) +#define DDR_PHY_DX4LCDLR0_0 0x5c010b80 +#define DDR_PHY_DX4LCDLR0_1 0x5c110b80 +#define DDR_PHY_DX4LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E1) +#define DDR_PHY_DX4LCDLR1_0 0x5c010b84 +#define DDR_PHY_DX4LCDLR1_1 0x5c110b84 +#define DDR_PHY_DX4LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E2) +#define DDR_PHY_DX4LCDLR2_0 0x5c010b88 +#define DDR_PHY_DX4LCDLR2_1 0x5c110b88 +#define DDR_PHY_DX4LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E3) +#define DDR_PHY_DX4LCDLR3_0 0x5c010b8c +#define DDR_PHY_DX4LCDLR3_1 0x5c110b8c +#define DDR_PHY_DX4LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E4) +#define DDR_PHY_DX4LCDLR4_0 0x5c010b90 +#define DDR_PHY_DX4LCDLR4_1 0x5c110b90 +#define DDR_PHY_DX4LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E5) +#define DDR_PHY_DX4LCDLR5_0 0x5c010b94 +#define DDR_PHY_DX4LCDLR5_1 0x5c110b94 +#define DDR_PHY_DX4MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E8) +#define DDR_PHY_DX4MDLR0_0 0x5c010ba0 +#define DDR_PHY_DX4MDLR0_1 0x5c110ba0 +#define DDR_PHY_DX4MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E9) +#define DDR_PHY_DX4MDLR1_0 0x5c010ba4 +#define DDR_PHY_DX4MDLR1_1 0x5c110ba4 +#define DDR_PHY_DX4GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F0) +#define DDR_PHY_DX4GTR0_0 0x5c010bc0 +#define DDR_PHY_DX4GTR0_1 0x5c110bc0 +#define DDR_PHY_DX4RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F4) +#define DDR_PHY_DX4RSR0_0 0x5c010bd0 +#define DDR_PHY_DX4RSR0_1 0x5c110bd0 +#define DDR_PHY_DX4RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F5) +#define DDR_PHY_DX4RSR1_0 0x5c010bd4 +#define DDR_PHY_DX4RSR1_1 0x5c110bd4 +#define DDR_PHY_DX4RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F6) +#define DDR_PHY_DX4RSR2_0 0x5c010bd8 +#define DDR_PHY_DX4RSR2_1 0x5c110bd8 +#define DDR_PHY_DX4RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F7) +#define DDR_PHY_DX4RSR3_0 0x5c010bdc +#define DDR_PHY_DX4RSR3_1 0x5c110bdc +#define DDR_PHY_DX4GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F8) +#define DDR_PHY_DX4GSR0_0 0x5c010be0 +#define DDR_PHY_DX4GSR0_1 0x5c110be0 +#define DDR_PHY_DX4GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F9) +#define DDR_PHY_DX4GSR1_0 0x5c010be4 +#define DDR_PHY_DX4GSR1_1 0x5c110be4 +#define DDR_PHY_DX4GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FA) +#define DDR_PHY_DX4GSR2_0 0x5c010be8 +#define DDR_PHY_DX4GSR2_1 0x5c110be8 +#define DDR_PHY_DX4GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FB) +#define DDR_PHY_DX4GSR3_0 0x5c010bec +#define DDR_PHY_DX4GSR3_1 0x5c110bec +#define DDR_PHY_DX4GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FC) +#define DDR_PHY_DX4GSR4_0 0x5c010bf0 +#define DDR_PHY_DX4GSR4_1 0x5c110bf0 +#define DDR_PHY_DX4GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FD) +#define DDR_PHY_DX4GSR5_0 0x5c010bf4 +#define DDR_PHY_DX4GSR5_1 0x5c110bf4 +#define DDR_PHY_DX4GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FE) +#define DDR_PHY_DX4GSR6_0 0x5c010bf8 +#define DDR_PHY_DX4GSR6_1 0x5c110bf8 +#define DDR_PHY_DX5GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x300) +#define DDR_PHY_DX5GCR0_0 0x5c010c00 +#define DDR_PHY_DX5GCR0_1 0x5c110c00 +#define DDR_PHY_DX5GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x301) +#define DDR_PHY_DX5GCR1_0 0x5c010c04 +#define DDR_PHY_DX5GCR1_1 0x5c110c04 +#define DDR_PHY_DX5GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x302) +#define DDR_PHY_DX5GCR2_0 0x5c010c08 +#define DDR_PHY_DX5GCR2_1 0x5c110c08 +#define DDR_PHY_DX5GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x303) +#define DDR_PHY_DX5GCR3_0 0x5c010c0c +#define DDR_PHY_DX5GCR3_1 0x5c110c0c +#define DDR_PHY_DX5GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x304) +#define DDR_PHY_DX5GCR4_0 0x5c010c10 +#define DDR_PHY_DX5GCR4_1 0x5c110c10 +#define DDR_PHY_DX5GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x305) +#define DDR_PHY_DX5GCR5_0 0x5c010c14 +#define DDR_PHY_DX5GCR5_1 0x5c110c14 +#define DDR_PHY_DX5GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x306) +#define DDR_PHY_DX5GCR6_0 0x5c010c18 +#define DDR_PHY_DX5GCR6_1 0x5c110c18 +#define DDR_PHY_DX5GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x307) +#define DDR_PHY_DX5GCR7_0 0x5c010c1c +#define DDR_PHY_DX5GCR7_1 0x5c110c1c +#define DDR_PHY_DX5GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x308) +#define DDR_PHY_DX5GCR8_0 0x5c010c20 +#define DDR_PHY_DX5GCR8_1 0x5c110c20 +#define DDR_PHY_DX5GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x309) +#define DDR_PHY_DX5GCR9_0 0x5c010c24 +#define DDR_PHY_DX5GCR9_1 0x5c110c24 +#define DDR_PHY_DX5BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x310) +#define DDR_PHY_DX5BDLR0_0 0x5c010c40 +#define DDR_PHY_DX5BDLR0_1 0x5c110c40 +#define DDR_PHY_DX5BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x311) +#define DDR_PHY_DX5BDLR1_0 0x5c010c44 +#define DDR_PHY_DX5BDLR1_1 0x5c110c44 +#define DDR_PHY_DX5BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x312) +#define DDR_PHY_DX5BDLR2_0 0x5c010c48 +#define DDR_PHY_DX5BDLR2_1 0x5c110c48 +#define DDR_PHY_DX5BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x314) +#define DDR_PHY_DX5BDLR3_0 0x5c010c50 +#define DDR_PHY_DX5BDLR3_1 0x5c110c50 +#define DDR_PHY_DX5BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x315) +#define DDR_PHY_DX5BDLR4_0 0x5c010c54 +#define DDR_PHY_DX5BDLR4_1 0x5c110c54 +#define DDR_PHY_DX5BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x316) +#define DDR_PHY_DX5BDLR5_0 0x5c010c58 +#define DDR_PHY_DX5BDLR5_1 0x5c110c58 +#define DDR_PHY_DX5BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x318) +#define DDR_PHY_DX5BDLR6_0 0x5c010c60 +#define DDR_PHY_DX5BDLR6_1 0x5c110c60 +#define DDR_PHY_DX5BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x319) +#define DDR_PHY_DX5BDLR7_0 0x5c010c64 +#define DDR_PHY_DX5BDLR7_1 0x5c110c64 +#define DDR_PHY_DX5BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x31A) +#define DDR_PHY_DX5BDLR8_0 0x5c010c68 +#define DDR_PHY_DX5BDLR8_1 0x5c110c68 +#define DDR_PHY_DX5BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x31B) +#define DDR_PHY_DX5BDLR9_0 0x5c010c6c +#define DDR_PHY_DX5BDLR9_1 0x5c110c6c +#define DDR_PHY_DX5LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x320) +#define DDR_PHY_DX5LCDLR0_0 0x5c010c80 +#define DDR_PHY_DX5LCDLR0_1 0x5c110c80 +#define DDR_PHY_DX5LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x321) +#define DDR_PHY_DX5LCDLR1_0 0x5c010c84 +#define DDR_PHY_DX5LCDLR1_1 0x5c110c84 +#define DDR_PHY_DX5LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x322) +#define DDR_PHY_DX5LCDLR2_0 0x5c010c88 +#define DDR_PHY_DX5LCDLR2_1 0x5c110c88 +#define DDR_PHY_DX5LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x323) +#define DDR_PHY_DX5LCDLR3_0 0x5c010c8c +#define DDR_PHY_DX5LCDLR3_1 0x5c110c8c +#define DDR_PHY_DX5LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x324) +#define DDR_PHY_DX5LCDLR4_0 0x5c010c90 +#define DDR_PHY_DX5LCDLR4_1 0x5c110c90 +#define DDR_PHY_DX5LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x325) +#define DDR_PHY_DX5LCDLR5_0 0x5c010c94 +#define DDR_PHY_DX5LCDLR5_1 0x5c110c94 +#define DDR_PHY_DX5MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x328) +#define DDR_PHY_DX5MDLR0_0 0x5c010ca0 +#define DDR_PHY_DX5MDLR0_1 0x5c110ca0 +#define DDR_PHY_DX5MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x329) +#define DDR_PHY_DX5MDLR1_0 0x5c010ca4 +#define DDR_PHY_DX5MDLR1_1 0x5c110ca4 +#define DDR_PHY_DX5GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x330) +#define DDR_PHY_DX5GTR0_0 0x5c010cc0 +#define DDR_PHY_DX5GTR0_1 0x5c110cc0 +#define DDR_PHY_DX5RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x334) +#define DDR_PHY_DX5RSR0_0 0x5c010cd0 +#define DDR_PHY_DX5RSR0_1 0x5c110cd0 +#define DDR_PHY_DX5RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x335) +#define DDR_PHY_DX5RSR1_0 0x5c010cd4 +#define DDR_PHY_DX5RSR1_1 0x5c110cd4 +#define DDR_PHY_DX5RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x336) +#define DDR_PHY_DX5RSR2_0 0x5c010cd8 +#define DDR_PHY_DX5RSR2_1 0x5c110cd8 +#define DDR_PHY_DX5RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x337) +#define DDR_PHY_DX5RSR3_0 0x5c010cdc +#define DDR_PHY_DX5RSR3_1 0x5c110cdc +#define DDR_PHY_DX5GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x338) +#define DDR_PHY_DX5GSR0_0 0x5c010ce0 +#define DDR_PHY_DX5GSR0_1 0x5c110ce0 +#define DDR_PHY_DX5GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x339) +#define DDR_PHY_DX5GSR1_0 0x5c010ce4 +#define DDR_PHY_DX5GSR1_1 0x5c110ce4 +#define DDR_PHY_DX5GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33A) +#define DDR_PHY_DX5GSR2_0 0x5c010ce8 +#define DDR_PHY_DX5GSR2_1 0x5c110ce8 +#define DDR_PHY_DX5GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33B) +#define DDR_PHY_DX5GSR3_0 0x5c010cec +#define DDR_PHY_DX5GSR3_1 0x5c110cec +#define DDR_PHY_DX5GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33C) +#define DDR_PHY_DX5GSR4_0 0x5c010cf0 +#define DDR_PHY_DX5GSR4_1 0x5c110cf0 +#define DDR_PHY_DX5GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33D) +#define DDR_PHY_DX5GSR5_0 0x5c010cf4 +#define DDR_PHY_DX5GSR5_1 0x5c110cf4 +#define DDR_PHY_DX5GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33E) +#define DDR_PHY_DX5GSR6_0 0x5c010cf8 +#define DDR_PHY_DX5GSR6_1 0x5c110cf8 +#define DDR_PHY_DX6GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x340) +#define DDR_PHY_DX6GCR0_0 0x5c010d00 +#define DDR_PHY_DX6GCR0_1 0x5c110d00 +#define DDR_PHY_DX6GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x341) +#define DDR_PHY_DX6GCR1_0 0x5c010d04 +#define DDR_PHY_DX6GCR1_1 0x5c110d04 +#define DDR_PHY_DX6GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x342) +#define DDR_PHY_DX6GCR2_0 0x5c010d08 +#define DDR_PHY_DX6GCR2_1 0x5c110d08 +#define DDR_PHY_DX6GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x343) +#define DDR_PHY_DX6GCR3_0 0x5c010d0c +#define DDR_PHY_DX6GCR3_1 0x5c110d0c +#define DDR_PHY_DX6GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x344) +#define DDR_PHY_DX6GCR4_0 0x5c010d10 +#define DDR_PHY_DX6GCR4_1 0x5c110d10 +#define DDR_PHY_DX6GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x345) +#define DDR_PHY_DX6GCR5_0 0x5c010d14 +#define DDR_PHY_DX6GCR5_1 0x5c110d14 +#define DDR_PHY_DX6GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x346) +#define DDR_PHY_DX6GCR6_0 0x5c010d18 +#define DDR_PHY_DX6GCR6_1 0x5c110d18 +#define DDR_PHY_DX6GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x347) +#define DDR_PHY_DX6GCR7_0 0x5c010d1c +#define DDR_PHY_DX6GCR7_1 0x5c110d1c +#define DDR_PHY_DX6GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x348) +#define DDR_PHY_DX6GCR8_0 0x5c010d20 +#define DDR_PHY_DX6GCR8_1 0x5c110d20 +#define DDR_PHY_DX6GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x349) +#define DDR_PHY_DX6GCR9_0 0x5c010d24 +#define DDR_PHY_DX6GCR9_1 0x5c110d24 +#define DDR_PHY_DX6BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x350) +#define DDR_PHY_DX6BDLR0_0 0x5c010d40 +#define DDR_PHY_DX6BDLR0_1 0x5c110d40 +#define DDR_PHY_DX6BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x351) +#define DDR_PHY_DX6BDLR1_0 0x5c010d44 +#define DDR_PHY_DX6BDLR1_1 0x5c110d44 +#define DDR_PHY_DX6BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x352) +#define DDR_PHY_DX6BDLR2_0 0x5c010d48 +#define DDR_PHY_DX6BDLR2_1 0x5c110d48 +#define DDR_PHY_DX6BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x354) +#define DDR_PHY_DX6BDLR3_0 0x5c010d50 +#define DDR_PHY_DX6BDLR3_1 0x5c110d50 +#define DDR_PHY_DX6BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x355) +#define DDR_PHY_DX6BDLR4_0 0x5c010d54 +#define DDR_PHY_DX6BDLR4_1 0x5c110d54 +#define DDR_PHY_DX6BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x356) +#define DDR_PHY_DX6BDLR5_0 0x5c010d58 +#define DDR_PHY_DX6BDLR5_1 0x5c110d58 +#define DDR_PHY_DX6BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x358) +#define DDR_PHY_DX6BDLR6_0 0x5c010d60 +#define DDR_PHY_DX6BDLR6_1 0x5c110d60 +#define DDR_PHY_DX6BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x359) +#define DDR_PHY_DX6BDLR7_0 0x5c010d64 +#define DDR_PHY_DX6BDLR7_1 0x5c110d64 +#define DDR_PHY_DX6BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x35A) +#define DDR_PHY_DX6BDLR8_0 0x5c010d68 +#define DDR_PHY_DX6BDLR8_1 0x5c110d68 +#define DDR_PHY_DX6BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x35B) +#define DDR_PHY_DX6BDLR9_0 0x5c010d6c +#define DDR_PHY_DX6BDLR9_1 0x5c110d6c +#define DDR_PHY_DX6LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x360) +#define DDR_PHY_DX6LCDLR0_0 0x5c010d80 +#define DDR_PHY_DX6LCDLR0_1 0x5c110d80 +#define DDR_PHY_DX6LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x361) +#define DDR_PHY_DX6LCDLR1_0 0x5c010d84 +#define DDR_PHY_DX6LCDLR1_1 0x5c110d84 +#define DDR_PHY_DX6LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x362) +#define DDR_PHY_DX6LCDLR2_0 0x5c010d88 +#define DDR_PHY_DX6LCDLR2_1 0x5c110d88 +#define DDR_PHY_DX6LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x363) +#define DDR_PHY_DX6LCDLR3_0 0x5c010d8c +#define DDR_PHY_DX6LCDLR3_1 0x5c110d8c +#define DDR_PHY_DX6LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x364) +#define DDR_PHY_DX6LCDLR4_0 0x5c010d90 +#define DDR_PHY_DX6LCDLR4_1 0x5c110d90 +#define DDR_PHY_DX6LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x365) +#define DDR_PHY_DX6LCDLR5_0 0x5c010d94 +#define DDR_PHY_DX6LCDLR5_1 0x5c110d94 +#define DDR_PHY_DX6MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x368) +#define DDR_PHY_DX6MDLR0_0 0x5c010da0 +#define DDR_PHY_DX6MDLR0_1 0x5c110da0 +#define DDR_PHY_DX6MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x369) +#define DDR_PHY_DX6MDLR1_0 0x5c010da4 +#define DDR_PHY_DX6MDLR1_1 0x5c110da4 +#define DDR_PHY_DX6GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x370) +#define DDR_PHY_DX6GTR0_0 0x5c010dc0 +#define DDR_PHY_DX6GTR0_1 0x5c110dc0 +#define DDR_PHY_DX6RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x374) +#define DDR_PHY_DX6RSR0_0 0x5c010dd0 +#define DDR_PHY_DX6RSR0_1 0x5c110dd0 +#define DDR_PHY_DX6RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x375) +#define DDR_PHY_DX6RSR1_0 0x5c010dd4 +#define DDR_PHY_DX6RSR1_1 0x5c110dd4 +#define DDR_PHY_DX6RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x376) +#define DDR_PHY_DX6RSR2_0 0x5c010dd8 +#define DDR_PHY_DX6RSR2_1 0x5c110dd8 +#define DDR_PHY_DX6RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x377) +#define DDR_PHY_DX6RSR3_0 0x5c010ddc +#define DDR_PHY_DX6RSR3_1 0x5c110ddc +#define DDR_PHY_DX6GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x378) +#define DDR_PHY_DX6GSR0_0 0x5c010de0 +#define DDR_PHY_DX6GSR0_1 0x5c110de0 +#define DDR_PHY_DX6GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x379) +#define DDR_PHY_DX6GSR1_0 0x5c010de4 +#define DDR_PHY_DX6GSR1_1 0x5c110de4 +#define DDR_PHY_DX6GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37A) +#define DDR_PHY_DX6GSR2_0 0x5c010de8 +#define DDR_PHY_DX6GSR2_1 0x5c110de8 +#define DDR_PHY_DX6GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37B) +#define DDR_PHY_DX6GSR3_0 0x5c010dec +#define DDR_PHY_DX6GSR3_1 0x5c110dec +#define DDR_PHY_DX6GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37C) +#define DDR_PHY_DX6GSR4_0 0x5c010df0 +#define DDR_PHY_DX6GSR4_1 0x5c110df0 +#define DDR_PHY_DX6GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37D) +#define DDR_PHY_DX6GSR5_0 0x5c010df4 +#define DDR_PHY_DX6GSR5_1 0x5c110df4 +#define DDR_PHY_DX6GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37E) +#define DDR_PHY_DX6GSR6_0 0x5c010df8 +#define DDR_PHY_DX6GSR6_1 0x5c110df8 +#define DDR_PHY_DX7GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x380) +#define DDR_PHY_DX7GCR0_0 0x5c010e00 +#define DDR_PHY_DX7GCR0_1 0x5c110e00 +#define DDR_PHY_DX7GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x381) +#define DDR_PHY_DX7GCR1_0 0x5c010e04 +#define DDR_PHY_DX7GCR1_1 0x5c110e04 +#define DDR_PHY_DX7GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x382) +#define DDR_PHY_DX7GCR2_0 0x5c010e08 +#define DDR_PHY_DX7GCR2_1 0x5c110e08 +#define DDR_PHY_DX7GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x383) +#define DDR_PHY_DX7GCR3_0 0x5c010e0c +#define DDR_PHY_DX7GCR3_1 0x5c110e0c +#define DDR_PHY_DX7GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x384) +#define DDR_PHY_DX7GCR4_0 0x5c010e10 +#define DDR_PHY_DX7GCR4_1 0x5c110e10 +#define DDR_PHY_DX7GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x385) +#define DDR_PHY_DX7GCR5_0 0x5c010e14 +#define DDR_PHY_DX7GCR5_1 0x5c110e14 +#define DDR_PHY_DX7GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x386) +#define DDR_PHY_DX7GCR6_0 0x5c010e18 +#define DDR_PHY_DX7GCR6_1 0x5c110e18 +#define DDR_PHY_DX7GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x387) +#define DDR_PHY_DX7GCR7_0 0x5c010e1c +#define DDR_PHY_DX7GCR7_1 0x5c110e1c +#define DDR_PHY_DX7GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x388) +#define DDR_PHY_DX7GCR8_0 0x5c010e20 +#define DDR_PHY_DX7GCR8_1 0x5c110e20 +#define DDR_PHY_DX7GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x389) +#define DDR_PHY_DX7GCR9_0 0x5c010e24 +#define DDR_PHY_DX7GCR9_1 0x5c110e24 +#define DDR_PHY_DX7BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x390) +#define DDR_PHY_DX7BDLR0_0 0x5c010e40 +#define DDR_PHY_DX7BDLR0_1 0x5c110e40 +#define DDR_PHY_DX7BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x391) +#define DDR_PHY_DX7BDLR1_0 0x5c010e44 +#define DDR_PHY_DX7BDLR1_1 0x5c110e44 +#define DDR_PHY_DX7BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x392) +#define DDR_PHY_DX7BDLR2_0 0x5c010e48 +#define DDR_PHY_DX7BDLR2_1 0x5c110e48 +#define DDR_PHY_DX7BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x394) +#define DDR_PHY_DX7BDLR3_0 0x5c010e50 +#define DDR_PHY_DX7BDLR3_1 0x5c110e50 +#define DDR_PHY_DX7BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x395) +#define DDR_PHY_DX7BDLR4_0 0x5c010e54 +#define DDR_PHY_DX7BDLR4_1 0x5c110e54 +#define DDR_PHY_DX7BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x396) +#define DDR_PHY_DX7BDLR5_0 0x5c010e58 +#define DDR_PHY_DX7BDLR5_1 0x5c110e58 +#define DDR_PHY_DX7BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x398) +#define DDR_PHY_DX7BDLR6_0 0x5c010e60 +#define DDR_PHY_DX7BDLR6_1 0x5c110e60 +#define DDR_PHY_DX7BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x399) +#define DDR_PHY_DX7BDLR7_0 0x5c010e64 +#define DDR_PHY_DX7BDLR7_1 0x5c110e64 +#define DDR_PHY_DX7BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x39A) +#define DDR_PHY_DX7BDLR8_0 0x5c010e68 +#define DDR_PHY_DX7BDLR8_1 0x5c110e68 +#define DDR_PHY_DX7BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x39B) +#define DDR_PHY_DX7BDLR9_0 0x5c010e6c +#define DDR_PHY_DX7BDLR9_1 0x5c110e6c +#define DDR_PHY_DX7LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A0) +#define DDR_PHY_DX7LCDLR0_0 0x5c010e80 +#define DDR_PHY_DX7LCDLR0_1 0x5c110e80 +#define DDR_PHY_DX7LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A1) +#define DDR_PHY_DX7LCDLR1_0 0x5c010e84 +#define DDR_PHY_DX7LCDLR1_1 0x5c110e84 +#define DDR_PHY_DX7LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A2) +#define DDR_PHY_DX7LCDLR2_0 0x5c010e88 +#define DDR_PHY_DX7LCDLR2_1 0x5c110e88 +#define DDR_PHY_DX7LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A3) +#define DDR_PHY_DX7LCDLR3_0 0x5c010e8c +#define DDR_PHY_DX7LCDLR3_1 0x5c110e8c +#define DDR_PHY_DX7LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A4) +#define DDR_PHY_DX7LCDLR4_0 0x5c010e90 +#define DDR_PHY_DX7LCDLR4_1 0x5c110e90 +#define DDR_PHY_DX7LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A5) +#define DDR_PHY_DX7LCDLR5_0 0x5c010e94 +#define DDR_PHY_DX7LCDLR5_1 0x5c110e94 +#define DDR_PHY_DX7MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A8) +#define DDR_PHY_DX7MDLR0_0 0x5c010ea0 +#define DDR_PHY_DX7MDLR0_1 0x5c110ea0 +#define DDR_PHY_DX7MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A9) +#define DDR_PHY_DX7MDLR1_0 0x5c010ea4 +#define DDR_PHY_DX7MDLR1_1 0x5c110ea4 +#define DDR_PHY_DX7GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B0) +#define DDR_PHY_DX7GTR0_0 0x5c010ec0 +#define DDR_PHY_DX7GTR0_1 0x5c110ec0 +#define DDR_PHY_DX7RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B4) +#define DDR_PHY_DX7RSR0_0 0x5c010ed0 +#define DDR_PHY_DX7RSR0_1 0x5c110ed0 +#define DDR_PHY_DX7RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B5) +#define DDR_PHY_DX7RSR1_0 0x5c010ed4 +#define DDR_PHY_DX7RSR1_1 0x5c110ed4 +#define DDR_PHY_DX7RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B6) +#define DDR_PHY_DX7RSR2_0 0x5c010ed8 +#define DDR_PHY_DX7RSR2_1 0x5c110ed8 +#define DDR_PHY_DX7RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B7) +#define DDR_PHY_DX7RSR3_0 0x5c010edc +#define DDR_PHY_DX7RSR3_1 0x5c110edc +#define DDR_PHY_DX7GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B8) +#define DDR_PHY_DX7GSR0_0 0x5c010ee0 +#define DDR_PHY_DX7GSR0_1 0x5c110ee0 +#define DDR_PHY_DX7GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B9) +#define DDR_PHY_DX7GSR1_0 0x5c010ee4 +#define DDR_PHY_DX7GSR1_1 0x5c110ee4 +#define DDR_PHY_DX7GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BA) +#define DDR_PHY_DX7GSR2_0 0x5c010ee8 +#define DDR_PHY_DX7GSR2_1 0x5c110ee8 +#define DDR_PHY_DX7GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BB) +#define DDR_PHY_DX7GSR3_0 0x5c010eec +#define DDR_PHY_DX7GSR3_1 0x5c110eec +#define DDR_PHY_DX7GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BC) +#define DDR_PHY_DX7GSR4_0 0x5c010ef0 +#define DDR_PHY_DX7GSR4_1 0x5c110ef0 +#define DDR_PHY_DX7GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BD) +#define DDR_PHY_DX7GSR5_0 0x5c010ef4 +#define DDR_PHY_DX7GSR5_1 0x5c110ef4 +#define DDR_PHY_DX7GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BE) +#define DDR_PHY_DX7GSR6_0 0x5c010ef8 +#define DDR_PHY_DX7GSR6_1 0x5c110ef8 +#define DDR_PHY_DX8GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C0) +#define DDR_PHY_DX8GCR0_0 0x5c010f00 +#define DDR_PHY_DX8GCR0_1 0x5c110f00 +#define DDR_PHY_DX8GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C1) +#define DDR_PHY_DX8GCR1_0 0x5c010f04 +#define DDR_PHY_DX8GCR1_1 0x5c110f04 +#define DDR_PHY_DX8GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C2) +#define DDR_PHY_DX8GCR2_0 0x5c010f08 +#define DDR_PHY_DX8GCR2_1 0x5c110f08 +#define DDR_PHY_DX8GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C3) +#define DDR_PHY_DX8GCR3_0 0x5c010f0c +#define DDR_PHY_DX8GCR3_1 0x5c110f0c +#define DDR_PHY_DX8GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C4) +#define DDR_PHY_DX8GCR4_0 0x5c010f10 +#define DDR_PHY_DX8GCR4_1 0x5c110f10 +#define DDR_PHY_DX8GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C5) +#define DDR_PHY_DX8GCR5_0 0x5c010f14 +#define DDR_PHY_DX8GCR5_1 0x5c110f14 +#define DDR_PHY_DX8GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C6) +#define DDR_PHY_DX8GCR6_0 0x5c010f18 +#define DDR_PHY_DX8GCR6_1 0x5c110f18 +#define DDR_PHY_DX8GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C7) +#define DDR_PHY_DX8GCR7_0 0x5c010f1c +#define DDR_PHY_DX8GCR7_1 0x5c110f1c +#define DDR_PHY_DX8GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C8) +#define DDR_PHY_DX8GCR8_0 0x5c010f20 +#define DDR_PHY_DX8GCR8_1 0x5c110f20 +#define DDR_PHY_DX8GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C9) +#define DDR_PHY_DX8GCR9_0 0x5c010f24 +#define DDR_PHY_DX8GCR9_1 0x5c110f24 +#define DDR_PHY_DX8BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D0) +#define DDR_PHY_DX8BDLR0_0 0x5c010f40 +#define DDR_PHY_DX8BDLR0_1 0x5c110f40 +#define DDR_PHY_DX8BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D1) +#define DDR_PHY_DX8BDLR1_0 0x5c010f44 +#define DDR_PHY_DX8BDLR1_1 0x5c110f44 +#define DDR_PHY_DX8BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D2) +#define DDR_PHY_DX8BDLR2_0 0x5c010f48 +#define DDR_PHY_DX8BDLR2_1 0x5c110f48 +#define DDR_PHY_DX8BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D4) +#define DDR_PHY_DX8BDLR3_0 0x5c010f50 +#define DDR_PHY_DX8BDLR3_1 0x5c110f50 +#define DDR_PHY_DX8BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D5) +#define DDR_PHY_DX8BDLR4_0 0x5c010f54 +#define DDR_PHY_DX8BDLR4_1 0x5c110f54 +#define DDR_PHY_DX8BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D6) +#define DDR_PHY_DX8BDLR5_0 0x5c010f58 +#define DDR_PHY_DX8BDLR5_1 0x5c110f58 +#define DDR_PHY_DX8BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D8) +#define DDR_PHY_DX8BDLR6_0 0x5c010f60 +#define DDR_PHY_DX8BDLR6_1 0x5c110f60 +#define DDR_PHY_DX8BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D9) +#define DDR_PHY_DX8BDLR7_0 0x5c010f64 +#define DDR_PHY_DX8BDLR7_1 0x5c110f64 +#define DDR_PHY_DX8BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3DA) +#define DDR_PHY_DX8BDLR8_0 0x5c010f68 +#define DDR_PHY_DX8BDLR8_1 0x5c110f68 +#define DDR_PHY_DX8BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3DB) +#define DDR_PHY_DX8BDLR9_0 0x5c010f6c +#define DDR_PHY_DX8BDLR9_1 0x5c110f6c +#define DDR_PHY_DX8LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E0) +#define DDR_PHY_DX8LCDLR0_0 0x5c010f80 +#define DDR_PHY_DX8LCDLR0_1 0x5c110f80 +#define DDR_PHY_DX8LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E1) +#define DDR_PHY_DX8LCDLR1_0 0x5c010f84 +#define DDR_PHY_DX8LCDLR1_1 0x5c110f84 +#define DDR_PHY_DX8LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E2) +#define DDR_PHY_DX8LCDLR2_0 0x5c010f88 +#define DDR_PHY_DX8LCDLR2_1 0x5c110f88 +#define DDR_PHY_DX8LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E3) +#define DDR_PHY_DX8LCDLR3_0 0x5c010f8c +#define DDR_PHY_DX8LCDLR3_1 0x5c110f8c +#define DDR_PHY_DX8LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E4) +#define DDR_PHY_DX8LCDLR4_0 0x5c010f90 +#define DDR_PHY_DX8LCDLR4_1 0x5c110f90 +#define DDR_PHY_DX8LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E5) +#define DDR_PHY_DX8LCDLR5_0 0x5c010f94 +#define DDR_PHY_DX8LCDLR5_1 0x5c110f94 +#define DDR_PHY_DX8MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E8) +#define DDR_PHY_DX8MDLR0_0 0x5c010fa0 +#define DDR_PHY_DX8MDLR0_1 0x5c110fa0 +#define DDR_PHY_DX8MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E9) +#define DDR_PHY_DX8MDLR1_0 0x5c010fa4 +#define DDR_PHY_DX8MDLR1_1 0x5c110fa4 +#define DDR_PHY_DX8GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F0) +#define DDR_PHY_DX8GTR0_0 0x5c010fc0 +#define DDR_PHY_DX8GTR0_1 0x5c110fc0 +#define DDR_PHY_DX8RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F4) +#define DDR_PHY_DX8RSR0_0 0x5c010fd0 +#define DDR_PHY_DX8RSR0_1 0x5c110fd0 +#define DDR_PHY_DX8RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F5) +#define DDR_PHY_DX8RSR1_0 0x5c010fd4 +#define DDR_PHY_DX8RSR1_1 0x5c110fd4 +#define DDR_PHY_DX8RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F6) +#define DDR_PHY_DX8RSR2_0 0x5c010fd8 +#define DDR_PHY_DX8RSR2_1 0x5c110fd8 +#define DDR_PHY_DX8RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F7) +#define DDR_PHY_DX8RSR3_0 0x5c010fdc +#define DDR_PHY_DX8RSR3_1 0x5c110fdc +#define DDR_PHY_DX8GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F8) +#define DDR_PHY_DX8GSR0_0 0x5c010fe0 +#define DDR_PHY_DX8GSR0_1 0x5c110fe0 +#define DDR_PHY_DX8GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F9) +#define DDR_PHY_DX8GSR1_0 0x5c010fe4 +#define DDR_PHY_DX8GSR1_1 0x5c110fe4 +#define DDR_PHY_DX8GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FA) +#define DDR_PHY_DX8GSR2_0 0x5c010fe8 +#define DDR_PHY_DX8GSR2_1 0x5c110fe8 +#define DDR_PHY_DX8GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FB) +#define DDR_PHY_DX8GSR3_0 0x5c010fec +#define DDR_PHY_DX8GSR3_1 0x5c110fec +#define DDR_PHY_DX8GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FC) +#define DDR_PHY_DX8GSR4_0 0x5c010ff0 +#define DDR_PHY_DX8GSR4_1 0x5c110ff0 +#define DDR_PHY_DX8GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FD) +#define DDR_PHY_DX8GSR5_0 0x5c010ff4 +#define DDR_PHY_DX8GSR5_1 0x5c110ff4 +#define DDR_PHY_DX8GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FE) +#define DDR_PHY_DX8GSR6_0 0x5c010ff8 +#define DDR_PHY_DX8GSR6_1 0x5c110ff8 +#define DDR_PHY_DX8SL0OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x500) +#define DDR_PHY_DX8SL0OSC_0 0x5c011400 +#define DDR_PHY_DX8SL0OSC_1 0x5c111400 +#define DDR_PHY_DX8SL0PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x501) +#define DDR_PHY_DX8SL0PLLCR0_0 0x5c011404 +#define DDR_PHY_DX8SL0PLLCR0_1 0x5c111404 +#define DDR_PHY_DX8SL0PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x502) +#define DDR_PHY_DX8SL0PLLCR1_0 0x5c011408 +#define DDR_PHY_DX8SL0PLLCR1_1 0x5c111408 +#define DDR_PHY_DX8SL0PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x503) +#define DDR_PHY_DX8SL0PLLCR2_0 0x5c01140c +#define DDR_PHY_DX8SL0PLLCR2_1 0x5c11140c +#define DDR_PHY_DX8SL0PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x504) +#define DDR_PHY_DX8SL0PLLCR3_0 0x5c011410 +#define DDR_PHY_DX8SL0PLLCR3_1 0x5c111410 +#define DDR_PHY_DX8SL0PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x505) +#define DDR_PHY_DX8SL0PLLCR4_0 0x5c011414 +#define DDR_PHY_DX8SL0PLLCR4_1 0x5c111414 +#define DDR_PHY_DX8SL0PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x506) +#define DDR_PHY_DX8SL0PLLCR5_0 0x5c011418 +#define DDR_PHY_DX8SL0PLLCR5_1 0x5c111418 +#define DDR_PHY_DX8SL0DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x507) +#define DDR_PHY_DX8SL0DQSCTL_0 0x5c01141c +#define DDR_PHY_DX8SL0DQSCTL_1 0x5c11141c +#define DDR_PHY_DX8SL0TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x508) +#define DDR_PHY_DX8SL0TRNCTL_0 0x5c011420 +#define DDR_PHY_DX8SL0TRNCTL_1 0x5c111420 +#define DDR_PHY_DX8SL0DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x509) +#define DDR_PHY_DX8SL0DDLCTL_0 0x5c011424 +#define DDR_PHY_DX8SL0DDLCTL_1 0x5c111424 +#define DDR_PHY_DX8SL0DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x50A) +#define DDR_PHY_DX8SL0DXCTL1_0 0x5c011428 +#define DDR_PHY_DX8SL0DXCTL1_1 0x5c111428 +#define DDR_PHY_DX8SL0DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x50B) +#define DDR_PHY_DX8SL0DXCTL2_0 0x5c01142c +#define DDR_PHY_DX8SL0DXCTL2_1 0x5c11142c +#define DDR_PHY_DX8SL0IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x50C) +#define DDR_PHY_DX8SL0IOCR_0 0x5c011430 +#define DDR_PHY_DX8SL0IOCR_1 0x5c111430 +#define DDR_PHY_DX8SL1OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x510) +#define DDR_PHY_DX8SL1OSC_0 0x5c011440 +#define DDR_PHY_DX8SL1OSC_1 0x5c111440 +#define DDR_PHY_DX8SL1PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x511) +#define DDR_PHY_DX8SL1PLLCR0_0 0x5c011444 +#define DDR_PHY_DX8SL1PLLCR0_1 0x5c111444 +#define DDR_PHY_DX8SL1PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x512) +#define DDR_PHY_DX8SL1PLLCR1_0 0x5c011448 +#define DDR_PHY_DX8SL1PLLCR1_1 0x5c111448 +#define DDR_PHY_DX8SL1PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x513) +#define DDR_PHY_DX8SL1PLLCR2_0 0x5c01144c +#define DDR_PHY_DX8SL1PLLCR2_1 0x5c11144c +#define DDR_PHY_DX8SL1PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x514) +#define DDR_PHY_DX8SL1PLLCR3_0 0x5c011450 +#define DDR_PHY_DX8SL1PLLCR3_1 0x5c111450 +#define DDR_PHY_DX8SL1PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x515) +#define DDR_PHY_DX8SL1PLLCR4_0 0x5c011454 +#define DDR_PHY_DX8SL1PLLCR4_1 0x5c111454 +#define DDR_PHY_DX8SL1PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x516) +#define DDR_PHY_DX8SL1PLLCR5_0 0x5c011458 +#define DDR_PHY_DX8SL1PLLCR5_1 0x5c111458 +#define DDR_PHY_DX8SL1DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x517) +#define DDR_PHY_DX8SL1DQSCTL_0 0x5c01145c +#define DDR_PHY_DX8SL1DQSCTL_1 0x5c11145c +#define DDR_PHY_DX8SL1TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x518) +#define DDR_PHY_DX8SL1TRNCTL_0 0x5c011460 +#define DDR_PHY_DX8SL1TRNCTL_1 0x5c111460 +#define DDR_PHY_DX8SL1DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x519) +#define DDR_PHY_DX8SL1DDLCTL_0 0x5c011464 +#define DDR_PHY_DX8SL1DDLCTL_1 0x5c111464 +#define DDR_PHY_DX8SL1DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x51A) +#define DDR_PHY_DX8SL1DXCTL1_0 0x5c011468 +#define DDR_PHY_DX8SL1DXCTL1_1 0x5c111468 +#define DDR_PHY_DX8SL1DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x51B) +#define DDR_PHY_DX8SL1DXCTL2_0 0x5c01146c +#define DDR_PHY_DX8SL1DXCTL2_1 0x5c11146c +#define DDR_PHY_DX8SL1IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x51C) +#define DDR_PHY_DX8SL1IOCR_0 0x5c011470 +#define DDR_PHY_DX8SL1IOCR_1 0x5c111470 +#define DDR_PHY_DX8SL2OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x520) +#define DDR_PHY_DX8SL2OSC_0 0x5c011480 +#define DDR_PHY_DX8SL2OSC_1 0x5c111480 +#define DDR_PHY_DX8SL2PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x521) +#define DDR_PHY_DX8SL2PLLCR0_0 0x5c011484 +#define DDR_PHY_DX8SL2PLLCR0_1 0x5c111484 +#define DDR_PHY_DX8SL2PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x522) +#define DDR_PHY_DX8SL2PLLCR1_0 0x5c011488 +#define DDR_PHY_DX8SL2PLLCR1_1 0x5c111488 +#define DDR_PHY_DX8SL2PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x523) +#define DDR_PHY_DX8SL2PLLCR2_0 0x5c01148c +#define DDR_PHY_DX8SL2PLLCR2_1 0x5c11148c +#define DDR_PHY_DX8SL2PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x524) +#define DDR_PHY_DX8SL2PLLCR3_0 0x5c011490 +#define DDR_PHY_DX8SL2PLLCR3_1 0x5c111490 +#define DDR_PHY_DX8SL2PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x525) +#define DDR_PHY_DX8SL2PLLCR4_0 0x5c011494 +#define DDR_PHY_DX8SL2PLLCR4_1 0x5c111494 +#define DDR_PHY_DX8SL2PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x526) +#define DDR_PHY_DX8SL2PLLCR5_0 0x5c011498 +#define DDR_PHY_DX8SL2PLLCR5_1 0x5c111498 +#define DDR_PHY_DX8SL2DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x527) +#define DDR_PHY_DX8SL2DQSCTL_0 0x5c01149c +#define DDR_PHY_DX8SL2DQSCTL_1 0x5c11149c +#define DDR_PHY_DX8SL2TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x528) +#define DDR_PHY_DX8SL2TRNCTL_0 0x5c0114a0 +#define DDR_PHY_DX8SL2TRNCTL_1 0x5c1114a0 +#define DDR_PHY_DX8SL2DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x529) +#define DDR_PHY_DX8SL2DDLCTL_0 0x5c0114a4 +#define DDR_PHY_DX8SL2DDLCTL_1 0x5c1114a4 +#define DDR_PHY_DX8SL2DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x52A) +#define DDR_PHY_DX8SL2DXCTL1_0 0x5c0114a8 +#define DDR_PHY_DX8SL2DXCTL1_1 0x5c1114a8 +#define DDR_PHY_DX8SL2DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x52B) +#define DDR_PHY_DX8SL2DXCTL2_0 0x5c0114ac +#define DDR_PHY_DX8SL2DXCTL2_1 0x5c1114ac +#define DDR_PHY_DX8SL2IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x52C) +#define DDR_PHY_DX8SL2IOCR_0 0x5c0114b0 +#define DDR_PHY_DX8SL2IOCR_1 0x5c1114b0 +#define DDR_PHY_DX8SL3OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x530) +#define DDR_PHY_DX8SL3OSC_0 0x5c0114c0 +#define DDR_PHY_DX8SL3OSC_1 0x5c1114c0 +#define DDR_PHY_DX8SL3PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x531) +#define DDR_PHY_DX8SL3PLLCR0_0 0x5c0114c4 +#define DDR_PHY_DX8SL3PLLCR0_1 0x5c1114c4 +#define DDR_PHY_DX8SL3PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x532) +#define DDR_PHY_DX8SL3PLLCR1_0 0x5c0114c8 +#define DDR_PHY_DX8SL3PLLCR1_1 0x5c1114c8 +#define DDR_PHY_DX8SL3PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x533) +#define DDR_PHY_DX8SL3PLLCR2_0 0x5c0114cc +#define DDR_PHY_DX8SL3PLLCR2_1 0x5c1114cc +#define DDR_PHY_DX8SL3PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x534) +#define DDR_PHY_DX8SL3PLLCR3_0 0x5c0114d0 +#define DDR_PHY_DX8SL3PLLCR3_1 0x5c1114d0 +#define DDR_PHY_DX8SL3PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x535) +#define DDR_PHY_DX8SL3PLLCR4_0 0x5c0114d4 +#define DDR_PHY_DX8SL3PLLCR4_1 0x5c1114d4 +#define DDR_PHY_DX8SL3PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x536) +#define DDR_PHY_DX8SL3PLLCR5_0 0x5c0114d8 +#define DDR_PHY_DX8SL3PLLCR5_1 0x5c1114d8 +#define DDR_PHY_DX8SL3DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x537) +#define DDR_PHY_DX8SL3DQSCTL_0 0x5c0114dc +#define DDR_PHY_DX8SL3DQSCTL_1 0x5c1114dc +#define DDR_PHY_DX8SL3TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x538) +#define DDR_PHY_DX8SL3TRNCTL_0 0x5c0114e0 +#define DDR_PHY_DX8SL3TRNCTL_1 0x5c1114e0 +#define DDR_PHY_DX8SL3DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x539) +#define DDR_PHY_DX8SL3DDLCTL_0 0x5c0114e4 +#define DDR_PHY_DX8SL3DDLCTL_1 0x5c1114e4 +#define DDR_PHY_DX8SL3DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x53A) +#define DDR_PHY_DX8SL3DXCTL1_0 0x5c0114e8 +#define DDR_PHY_DX8SL3DXCTL1_1 0x5c1114e8 +#define DDR_PHY_DX8SL3DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x53B) +#define DDR_PHY_DX8SL3DXCTL2_0 0x5c0114ec +#define DDR_PHY_DX8SL3DXCTL2_1 0x5c1114ec +#define DDR_PHY_DX8SL3IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x53C) +#define DDR_PHY_DX8SL3IOCR_0 0x5c0114f0 +#define DDR_PHY_DX8SL3IOCR_1 0x5c1114f0 +#define DDR_PHY_DX8SL4OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x540) +#define DDR_PHY_DX8SL4OSC_0 0x5c011500 +#define DDR_PHY_DX8SL4OSC_1 0x5c111500 +#define DDR_PHY_DX8SL4PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x541) +#define DDR_PHY_DX8SL4PLLCR0_0 0x5c011504 +#define DDR_PHY_DX8SL4PLLCR0_1 0x5c111504 +#define DDR_PHY_DX8SL4PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x542) +#define DDR_PHY_DX8SL4PLLCR1_0 0x5c011508 +#define DDR_PHY_DX8SL4PLLCR1_1 0x5c111508 +#define DDR_PHY_DX8SL4PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x543) +#define DDR_PHY_DX8SL4PLLCR2_0 0x5c01150c +#define DDR_PHY_DX8SL4PLLCR2_1 0x5c11150c +#define DDR_PHY_DX8SL4PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x544) +#define DDR_PHY_DX8SL4PLLCR3_0 0x5c011510 +#define DDR_PHY_DX8SL4PLLCR3_1 0x5c111510 +#define DDR_PHY_DX8SL4PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x545) +#define DDR_PHY_DX8SL4PLLCR4_0 0x5c011514 +#define DDR_PHY_DX8SL4PLLCR4_1 0x5c111514 +#define DDR_PHY_DX8SL4PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x546) +#define DDR_PHY_DX8SL4PLLCR5_0 0x5c011518 +#define DDR_PHY_DX8SL4PLLCR5_1 0x5c111518 +#define DDR_PHY_DX8SL4DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x547) +#define DDR_PHY_DX8SL4DQSCTL_0 0x5c01151c +#define DDR_PHY_DX8SL4DQSCTL_1 0x5c11151c +#define DDR_PHY_DX8SL4TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x548) +#define DDR_PHY_DX8SL4TRNCTL_0 0x5c011520 +#define DDR_PHY_DX8SL4TRNCTL_1 0x5c111520 +#define DDR_PHY_DX8SL4DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x549) +#define DDR_PHY_DX8SL4DDLCTL_0 0x5c011524 +#define DDR_PHY_DX8SL4DDLCTL_1 0x5c111524 +#define DDR_PHY_DX8SL4DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x54A) +#define DDR_PHY_DX8SL4DXCTL1_0 0x5c011528 +#define DDR_PHY_DX8SL4DXCTL1_1 0x5c111528 +#define DDR_PHY_DX8SL4DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x54B) +#define DDR_PHY_DX8SL4DXCTL2_0 0x5c01152c +#define DDR_PHY_DX8SL4DXCTL2_1 0x5c11152c +#define DDR_PHY_DX8SL4IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x54C) +#define DDR_PHY_DX8SL4IOCR_0 0x5c011530 +#define DDR_PHY_DX8SL4IOCR_1 0x5c111530 +#define DDR_PHY_DX8SLbOSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F0) +#define DDR_PHY_DX8SLbOSC_0 0x5c0117c0 +#define DDR_PHY_DX8SLbOSC_1 0x5c1117c0 +#define DDR_PHY_DX8SLbPLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F1) +#define DDR_PHY_DX8SLbPLLCR0_0 0x5c0117c4 +#define DDR_PHY_DX8SLbPLLCR0_1 0x5c1117c4 +#define DDR_PHY_DX8SLbPLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F2) +#define DDR_PHY_DX8SLbPLLCR1_0 0x5c0117c8 +#define DDR_PHY_DX8SLbPLLCR1_1 0x5c1117c8 +#define DDR_PHY_DX8SLbPLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F3) +#define DDR_PHY_DX8SLbPLLCR2_0 0x5c0117cc +#define DDR_PHY_DX8SLbPLLCR2_1 0x5c1117cc +#define DDR_PHY_DX8SLbPLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F4) +#define DDR_PHY_DX8SLbPLLCR3_0 0x5c0117d0 +#define DDR_PHY_DX8SLbPLLCR3_1 0x5c1117d0 +#define DDR_PHY_DX8SLbPLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F5) +#define DDR_PHY_DX8SLbPLLCR4_0 0x5c0117d4 +#define DDR_PHY_DX8SLbPLLCR4_1 0x5c1117d4 +#define DDR_PHY_DX8SLbPLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F6) +#define DDR_PHY_DX8SLbPLLCR5_0 0x5c0117d8 +#define DDR_PHY_DX8SLbPLLCR5_1 0x5c1117d8 +#define DDR_PHY_DX8SLbDQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F7) +#define DDR_PHY_DX8SLbDQSCTL_0 0x5c0117dc +#define DDR_PHY_DX8SLbDQSCTL_1 0x5c1117dc +#define DDR_PHY_DX8SLbTRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F8) +#define DDR_PHY_DX8SLbTRNCTL_0 0x5c0117e0 +#define DDR_PHY_DX8SLbTRNCTL_1 0x5c1117e0 +#define DDR_PHY_DX8SLbDDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F9) +#define DDR_PHY_DX8SLbDDLCTL_0 0x5c0117e4 +#define DDR_PHY_DX8SLbDDLCTL_1 0x5c1117e4 +#define DDR_PHY_DX8SLbDXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FA) +#define DDR_PHY_DX8SLbDXCTL1_0 0x5c0117e8 +#define DDR_PHY_DX8SLbDXCTL1_1 0x5c1117e8 +#define DDR_PHY_DX8SLbDXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FB) +#define DDR_PHY_DX8SLbDXCTL2_0 0x5c0117ec +#define DDR_PHY_DX8SLbDXCTL2_1 0x5c1117ec +#define DDR_PHY_DX8SLbIOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FC) +#define DDR_PHY_DX8SLbIOCR_0 0x5c0117f0 +#define DDR_PHY_DX8SLbIOCR_1 0x5c1117f0 +#define DDR_PHY_DX4SLbIOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FD) +#define DDR_PHY_DX4SLbIOCR_0 0x5c0117f4 +#define DDR_PHY_DX4SLbIOCR_1 0x5c1117f4 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/lib/ddrc_mem_map.h b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/lib/ddrc_mem_map.h new file mode 100644 index 0000000..5e70ccc --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/lib/ddrc_mem_map.h @@ -0,0 +1,650 @@ +/* +** ################################################################### +** +** Copyright (c) 2016 Freescale Semiconductor, Inc. +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** +** o Redistributions of source code must retain the above copyright notice, this list +** of conditions and the following disclaimer. +** +** o Redistributions in binary form must reproduce the above copyright notice, this +** list of conditions and the following disclaimer in the documentation and/or +** other materials provided with the distribution. +** +** o Neither the name of Freescale Semiconductor, Inc. nor the names of its +** contributors may be used to endorse or promote products derived from this +** software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +** http: www.freescale.com +** mail: support@freescale.com +** +** ################################################################### +*/ + +#ifndef __DDRC_MEM_MAP_H__ +#define __DDRC_MEM_MAP_H__ + +//JDG change base addr for DDRC +//#define DDRC_BASE_ADDR(X) 0x5c000000 + ((X & 1) * 0x20000) + ((X & 2) * 0x30000) +#define DDRC_BASE_ADDR(X) 0x5c000000 + ((X * 0x100000)) + +#define DDRC_MSTR(X) REG32(DDRC_BASE_ADDR(X) + 0x00) +#define DDRC_MSTR_0 0x5c000000 +#define DDRC_MSTR_1 0x5c100000 +#define DDRC_STAT(X) REG32(DDRC_BASE_ADDR(X) + 0x04) +#define DDRC_STAT_0 0x5c000004 +#define DDRC_STAT_1 0x5c100004 +#define DDRC_MRCTRL0(X) REG32(DDRC_BASE_ADDR(X) + 0x10) +#define DDRC_MRCTRL0_0 0x5c000010 +#define DDRC_MRCTRL0_1 0x5c100010 +#define DDRC_MRCTRL1(X) REG32(DDRC_BASE_ADDR(X) + 0x14) +#define DDRC_MRCTRL1_0 0x5c000014 +#define DDRC_MRCTRL1_1 0x5c100014 +#define DDRC_MRSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x18) +#define DDRC_MRSTAT_0 0x5c000018 +#define DDRC_MRSTAT_1 0x5c100018 +#define DDRC_MRCTRL2(X) REG32(DDRC_BASE_ADDR(X) + 0x1c) +#define DDRC_MRCTRL2_0 0x5c00001c +#define DDRC_MRCTRL2_1 0x5c10001c +#define DDRC_DERATEEN(X) REG32(DDRC_BASE_ADDR(X) + 0x20) +#define DDRC_DERATEEN_0 0x5c000020 +#define DDRC_DERATEEN_1 0x5c100020 +#define DDRC_DERATEINT(X) REG32(DDRC_BASE_ADDR(X) + 0x24) +#define DDRC_DERATEINT_0 0x5c000024 +#define DDRC_DERATEINT_1 0x5c100024 +#define DDRC_PWRCTL(X) REG32(DDRC_BASE_ADDR(X) + 0x30) +#define DDRC_PWRCTL_0 0x5c000030 +#define DDRC_PWRCTL_1 0x5c100030 +#define DDRC_PWRTMG(X) REG32(DDRC_BASE_ADDR(X) + 0x34) +#define DDRC_PWRTMG_0 0x5c000034 +#define DDRC_PWRTMG_1 0x5c100034 +#define DDRC_HWLPCTL(X) REG32(DDRC_BASE_ADDR(X) + 0x38) +#define DDRC_HWLPCTL_0 0x5c000038 +#define DDRC_HWLPCTL_1 0x5c100038 +#define DDRC_RFSHCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0x50) +#define DDRC_RFSHCTL0_0 0x5c000050 +#define DDRC_RFSHCTL0_1 0x5c100050 +#define DDRC_RFSHCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0x54) +#define DDRC_RFSHCTL1_0 0x5c000054 +#define DDRC_RFSHCTL1_1 0x5c100054 +#define DDRC_RFSHCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0x58) +#define DDRC_RFSHCTL2_0 0x5c000058 +#define DDRC_RFSHCTL2_1 0x5c100058 +#define DDRC_RFSHCTL3(X) REG32(DDRC_BASE_ADDR(X) + 0x60) +#define DDRC_RFSHCTL3_0 0x5c000060 +#define DDRC_RFSHCTL3_1 0x5c100060 +#define DDRC_RFSHTMG(X) REG32(DDRC_BASE_ADDR(X) + 0x64) +#define DDRC_RFSHTMG_0 0x5c000064 +#define DDRC_RFSHTMG_1 0x5c100064 +#define DDRC_ECCCFG0(X) REG32(DDRC_BASE_ADDR(X) + 0x70) +#define DDRC_ECCCFG0_0 0x5c000070 +#define DDRC_ECCCFG0_1 0x5c100070 +#define DDRC_ECCCFG1(X) REG32(DDRC_BASE_ADDR(X) + 0x74) +#define DDRC_ECCCFG1_0 0x5c000074 +#define DDRC_ECCCFG1_1 0x5c100074 +#define DDRC_ECCSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x78) +#define DDRC_ECCSTAT_0 0x5c000078 +#define DDRC_ECCSTAT_1 0x5c100078 +#define DDRC_ECCCLR(X) REG32(DDRC_BASE_ADDR(X) + 0x7c) +#define DDRC_ECCCLR_0 0x5c00007c +#define DDRC_ECCCLR_1 0x5c10007c +#define DDRC_ECCERRCNT(X) REG32(DDRC_BASE_ADDR(X) + 0x80) +#define DDRC_ECCERRCNT_0 0x5c000080 +#define DDRC_ECCERRCNT_1 0x5c100080 +#define DDRC_ECCCADDR0(X) REG32(DDRC_BASE_ADDR(X) + 0x84) +#define DDRC_ECCCADDR0_0 0x5c000084 +#define DDRC_ECCCADDR0_1 0x5c100084 +#define DDRC_ECCCADDR1(X) REG32(DDRC_BASE_ADDR(X) + 0x88) +#define DDRC_ECCCADDR1_0 0x5c000088 +#define DDRC_ECCCADDR1_1 0x5c100088 +#define DDRC_ECCCSYN0(X) REG32(DDRC_BASE_ADDR(X) + 0x8c) +#define DDRC_ECCCSYN0_0 0x5c00008c +#define DDRC_ECCCSYN0_1 0x5c10008c +#define DDRC_ECCCSYN1(X) REG32(DDRC_BASE_ADDR(X) + 0x90) +#define DDRC_ECCCSYN1_0 0x5c000090 +#define DDRC_ECCCSYN1_1 0x5c100090 +#define DDRC_ECCCSYN2(X) REG32(DDRC_BASE_ADDR(X) + 0x94) +#define DDRC_ECCCSYN2_0 0x5c000094 +#define DDRC_ECCCSYN2_1 0x5c100094 +#define DDRC_ECCBITMASK0(X) REG32(DDRC_BASE_ADDR(X) + 0x98) +#define DDRC_ECCBITMASK0_0 0x5c000098 +#define DDRC_ECCBITMASK0_1 0x5c100098 +#define DDRC_ECCBITMASK1(X) REG32(DDRC_BASE_ADDR(X) + 0x9c) +#define DDRC_ECCBITMASK1_0 0x5c00009c +#define DDRC_ECCBITMASK1_1 0x5c10009c +#define DDRC_ECCBITMASK2(X) REG32(DDRC_BASE_ADDR(X) + 0xa0) +#define DDRC_ECCBITMASK2_0 0x5c0000a0 +#define DDRC_ECCBITMASK2_1 0x5c1000a0 +#define DDRC_ECCUADDR0(X) REG32(DDRC_BASE_ADDR(X) + 0xa4) +#define DDRC_ECCUADDR0_0 0x5c0000a4 +#define DDRC_ECCUADDR0_1 0x5c1000a4 +#define DDRC_ECCUADDR1(X) REG32(DDRC_BASE_ADDR(X) + 0xa8) +#define DDRC_ECCUADDR1_0 0x5c0000a8 +#define DDRC_ECCUADDR1_1 0x5c1000a8 +#define DDRC_ECCUSYN0(X) REG32(DDRC_BASE_ADDR(X) + 0xac) +#define DDRC_ECCUSYN0_0 0x5c0000ac +#define DDRC_ECCUSYN0_1 0x5c1000ac +#define DDRC_ECCUSYN1(X) REG32(DDRC_BASE_ADDR(X) + 0xb0) +#define DDRC_ECCUSYN1_0 0x5c0000b0 +#define DDRC_ECCUSYN1_1 0x5c1000b0 +#define DDRC_ECCUSYN2(X) REG32(DDRC_BASE_ADDR(X) + 0xb4) +#define DDRC_ECCUSYN2_0 0x5c0000b4 +#define DDRC_ECCUSYN2_1 0x5c1000b4 +#define DDRC_ECCPOISONADDR0(X) REG32(DDRC_BASE_ADDR(X) + 0xb8) +#define DDRC_ECCPOISONADDR0_0 0x5c0000b8 +#define DDRC_ECCPOISONADDR0_1 0x5c1000b8 +#define DDRC_ECCPOISONADDR1(X) REG32(DDRC_BASE_ADDR(X) + 0xbc) +#define DDRC_ECCPOISONADDR1_0 0x5c0000bc +#define DDRC_ECCPOISONADDR1_1 0x5c1000bc +#define DDRC_CRCPARCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0xc0) +#define DDRC_CRCPARCTL0_0 0x5c0000c0 +#define DDRC_CRCPARCTL0_1 0x5c1000c0 +#define DDRC_CRCPARCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0xc4) +#define DDRC_CRCPARCTL1_0 0x5c0000c4 +#define DDRC_CRCPARCTL1_1 0x5c1000c4 +#define DDRC_CRCPARCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0xc8) +#define DDRC_CRCPARCTL2_0 0x5c0000c8 +#define DDRC_CRCPARCTL2_1 0x5c1000c8 +#define DDRC_CRCPARSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0xcc) +#define DDRC_CRCPARSTAT_0 0x5c0000cc +#define DDRC_CRCPARSTAT_1 0x5c1000cc +#define DDRC_INIT0(X) REG32(DDRC_BASE_ADDR(X) + 0xd0) +#define DDRC_INIT0_0 0x5c0000d0 +#define DDRC_INIT0_1 0x5c1000d0 +#define DDRC_INIT1(X) REG32(DDRC_BASE_ADDR(X) + 0xd4) +#define DDRC_INIT1_0 0x5c0000d4 +#define DDRC_INIT1_1 0x5c1000d4 +#define DDRC_INIT2(X) REG32(DDRC_BASE_ADDR(X) + 0xd8) +#define DDRC_INIT2_0 0x5c0000d8 +#define DDRC_INIT2_1 0x5c1000d8 +#define DDRC_INIT3(X) REG32(DDRC_BASE_ADDR(X) + 0xdc) +#define DDRC_INIT3_0 0x5c0000dc +#define DDRC_INIT3_1 0x5c1000dc +#define DDRC_INIT4(X) REG32(DDRC_BASE_ADDR(X) + 0xe0) +#define DDRC_INIT4_0 0x5c0000e0 +#define DDRC_INIT4_1 0x5c1000e0 +#define DDRC_INIT5(X) REG32(DDRC_BASE_ADDR(X) + 0xe4) +#define DDRC_INIT5_0 0x5c0000e4 +#define DDRC_INIT5_1 0x5c1000e4 +#define DDRC_INIT6(X) REG32(DDRC_BASE_ADDR(X) + 0xe8) +#define DDRC_INIT6_0 0x5c0000e8 +#define DDRC_INIT6_1 0x5c1000e8 +#define DDRC_INIT7(X) REG32(DDRC_BASE_ADDR(X) + 0xec) +#define DDRC_INIT7_0 0x5c0000ec +#define DDRC_INIT7_1 0x5c1000ec +#define DDRC_DIMMCTL(X) REG32(DDRC_BASE_ADDR(X) + 0xf0) +#define DDRC_DIMMCTL_0 0x5c0000f0 +#define DDRC_DIMMCTL_1 0x5c1000f0 +#define DDRC_RANKCTL(X) REG32(DDRC_BASE_ADDR(X) + 0xf4) +#define DDRC_RANKCTL_0 0x5c0000f4 +#define DDRC_RANKCTL_1 0x5c1000f4 +#define DDRC_DRAMTMG0(X) REG32(DDRC_BASE_ADDR(X) + 0x100) +#define DDRC_DRAMTMG0_0 0x5c000100 +#define DDRC_DRAMTMG0_1 0x5c100100 +#define DDRC_DRAMTMG1(X) REG32(DDRC_BASE_ADDR(X) + 0x104) +#define DDRC_DRAMTMG1_0 0x5c000104 +#define DDRC_DRAMTMG1_1 0x5c100104 +#define DDRC_DRAMTMG2(X) REG32(DDRC_BASE_ADDR(X) + 0x108) +#define DDRC_DRAMTMG2_0 0x5c000108 +#define DDRC_DRAMTMG2_1 0x5c100108 +#define DDRC_DRAMTMG3(X) REG32(DDRC_BASE_ADDR(X) + 0x10c) +#define DDRC_DRAMTMG3_0 0x5c00010c +#define DDRC_DRAMTMG3_1 0x5c10010c +#define DDRC_DRAMTMG4(X) REG32(DDRC_BASE_ADDR(X) + 0x110) +#define DDRC_DRAMTMG4_0 0x5c000110 +#define DDRC_DRAMTMG4_1 0x5c100110 +#define DDRC_DRAMTMG5(X) REG32(DDRC_BASE_ADDR(X) + 0x114) +#define DDRC_DRAMTMG5_0 0x5c000114 +#define DDRC_DRAMTMG5_1 0x5c100114 +#define DDRC_DRAMTMG6(X) REG32(DDRC_BASE_ADDR(X) + 0x118) +#define DDRC_DRAMTMG6_0 0x5c000118 +#define DDRC_DRAMTMG6_1 0x5c100118 +#define DDRC_DRAMTMG7(X) REG32(DDRC_BASE_ADDR(X) + 0x11c) +#define DDRC_DRAMTMG7_0 0x5c00011c +#define DDRC_DRAMTMG7_1 0x5c10011c +#define DDRC_DRAMTMG8(X) REG32(DDRC_BASE_ADDR(X) + 0x120) +#define DDRC_DRAMTMG8_0 0x5c000120 +#define DDRC_DRAMTMG8_1 0x5c100120 +#define DDRC_DRAMTMG9(X) REG32(DDRC_BASE_ADDR(X) + 0x124) +#define DDRC_DRAMTMG9_0 0x5c000124 +#define DDRC_DRAMTMG9_1 0x5c100124 +#define DDRC_DRAMTMG10(X) REG32(DDRC_BASE_ADDR(X) + 0x128) +#define DDRC_DRAMTMG10_0 0x5c000128 +#define DDRC_DRAMTMG10_1 0x5c100128 +#define DDRC_DRAMTMG11(X) REG32(DDRC_BASE_ADDR(X) + 0x12c) +#define DDRC_DRAMTMG11_0 0x5c00012c +#define DDRC_DRAMTMG11_1 0x5c10012c +#define DDRC_DRAMTMG12(X) REG32(DDRC_BASE_ADDR(X) + 0x130) +#define DDRC_DRAMTMG12_0 0x5c000130 +#define DDRC_DRAMTMG12_1 0x5c100130 +#define DDRC_DRAMTMG13(X) REG32(DDRC_BASE_ADDR(X) + 0x134) +#define DDRC_DRAMTMG13_0 0x5c000134 +#define DDRC_DRAMTMG13_1 0x5c100134 +#define DDRC_DRAMTMG14(X) REG32(DDRC_BASE_ADDR(X) + 0x138) +#define DDRC_DRAMTMG14_0 0x5c000138 +#define DDRC_DRAMTMG14_1 0x5c100138 +#define DDRC_DRAMTMG15(X) REG32(DDRC_BASE_ADDR(X) + 0x13C) +#define DDRC_DRAMTMG15_0 0x5c00013c +#define DDRC_DRAMTMG15_1 0x5c10013c +#define DDRC_DRAMTMG16(X) REG32(DDRC_BASE_ADDR(X) + 0x140) +#define DDRC_DRAMTMG16_0 0x5c000140 +#define DDRC_DRAMTMG16_1 0x5c100140 +// +#define DDRC_ZQCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0x180) +#define DDRC_ZQCTL0_0 0x5c000180 +#define DDRC_ZQCTL0_1 0x5c100180 +#define DDRC_ZQCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0x184) +#define DDRC_ZQCTL1_0 0x5c000184 +#define DDRC_ZQCTL1_1 0x5c100184 +#define DDRC_ZQCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0x188) +#define DDRC_ZQCTL2_0 0x5c000188 +#define DDRC_ZQCTL2_1 0x5c100188 +#define DDRC_ZQSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x18c) +#define DDRC_ZQSTAT_0 0x5c00018c +#define DDRC_ZQSTAT_1 0x5c10018c +#define DDRC_DFITMG0(X) REG32(DDRC_BASE_ADDR(X) + 0x190) +#define DDRC_DFITMG0_0 0x5c000190 +#define DDRC_DFITMG0_1 0x5c100190 +#define DDRC_DFITMG1(X) REG32(DDRC_BASE_ADDR(X) + 0x194) +#define DDRC_DFITMG1_0 0x5c000194 +#define DDRC_DFITMG1_1 0x5c100194 +#define DDRC_DFILPCFG0(X) REG32(DDRC_BASE_ADDR(X) + 0x198) +#define DDRC_DFILPCFG0_0 0x5c000198 +#define DDRC_DFILPCFG0_1 0x5c100198 +#define DDRC_DFILPCFG1(X) REG32(DDRC_BASE_ADDR(X) + 0x19c) +#define DDRC_DFILPCFG1_0 0x5c00019c +#define DDRC_DFILPCFG1_1 0x5c10019c +#define DDRC_DFIUPD0(X) REG32(DDRC_BASE_ADDR(X) + 0x1a0) +#define DDRC_DFIUPD0_0 0x5c0001a0 +#define DDRC_DFIUPD0_1 0x5c1001a0 +#define DDRC_DFIUPD1(X) REG32(DDRC_BASE_ADDR(X) + 0x1a4) +#define DDRC_DFIUPD1_0 0x5c0001a4 +#define DDRC_DFIUPD1_1 0x5c1001a4 +#define DDRC_DFIUPD2(X) REG32(DDRC_BASE_ADDR(X) + 0x1a8) +#define DDRC_DFIUPD2_0 0x5c0001a8 +#define DDRC_DFIUPD2_1 0x5c1001a8 +//#define DDRC_DFIUPD3(X) REG32(DDRC_BASE_ADDR(X) + 0x1ac) // iMX8 hasn't it +#define DDRC_DFIMISC(X) REG32(DDRC_BASE_ADDR(X) + 0x1b0) +#define DDRC_DFIMISC_0 0x5c0001b0 +#define DDRC_DFIMISC_1 0x5c1001b0 +#define DDRC_DFITMG2(X) REG32(DDRC_BASE_ADDR(X) + 0x1b4) +#define DDRC_DFITMG2_0 0x5c0001b4 +#define DDRC_DFITMG2_1 0x5c1001b4 +#define DDRC_DFITMG3(X) REG32(DDRC_BASE_ADDR(X) + 0x1b8) +#define DDRC_DFITMG3_0 0x5c0001b8 +#define DDRC_DFITMG3_1 0x5c1001b8 +// +#define DDRC_DBICTL(X) REG32(DDRC_BASE_ADDR(X) + 0x1c0) +#define DDRC_DBICTL_0 0x5c0001c0 +#define DDRC_DBICTL_1 0x5c1001c0 +#define DDRC_TRAINCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0x1d0) +#define DDRC_TRAINCTL0_0 0x5c0001d0 +#define DDRC_TRAINCTL0_1 0x5c1001d0 +#define DDRC_TRAINCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0x1d4) +#define DDRC_TRAINCTL1_0 0x5c0001d4 +#define DDRC_TRAINCTL1_1 0x5c1001d4 +#define DDRC_TRAINCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0x1d8) +#define DDRC_TRAINCTL2_0 0x5c0001d8 +#define DDRC_TRAINCTL2_1 0x5c1001d8 +#define DDRC_TRAINSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x1dc) +#define DDRC_TRAINSTAT_0 0x5c0001dc +#define DDRC_TRAINSTAT_1 0x5c1001dc +#define DDRC_ADDRMAP0(X) REG32(DDRC_BASE_ADDR(X) + 0x200) +#define DDRC_ADDRMAP0_0 0x5c000200 +#define DDRC_ADDRMAP0_1 0x5c100200 +#define DDRC_ADDRMAP1(X) REG32(DDRC_BASE_ADDR(X) + 0x204) +#define DDRC_ADDRMAP1_0 0x5c000204 +#define DDRC_ADDRMAP1_1 0x5c100204 +#define DDRC_ADDRMAP2(X) REG32(DDRC_BASE_ADDR(X) + 0x208) +#define DDRC_ADDRMAP2_0 0x5c000208 +#define DDRC_ADDRMAP2_1 0x5c100208 +#define DDRC_ADDRMAP3(X) REG32(DDRC_BASE_ADDR(X) + 0x20c) +#define DDRC_ADDRMAP3_0 0x5c00020c +#define DDRC_ADDRMAP3_1 0x5c10020c +#define DDRC_ADDRMAP4(X) REG32(DDRC_BASE_ADDR(X) + 0x210) +#define DDRC_ADDRMAP4_0 0x5c000210 +#define DDRC_ADDRMAP4_1 0x5c100210 +#define DDRC_ADDRMAP5(X) REG32(DDRC_BASE_ADDR(X) + 0x214) +#define DDRC_ADDRMAP5_0 0x5c000214 +#define DDRC_ADDRMAP5_1 0x5c100214 +#define DDRC_ADDRMAP6(X) REG32(DDRC_BASE_ADDR(X) + 0x218) +#define DDRC_ADDRMAP6_0 0x5c000218 +#define DDRC_ADDRMAP6_1 0x5c100218 +#define DDRC_ADDRMAP7(X) REG32(DDRC_BASE_ADDR(X) + 0x21c) +#define DDRC_ADDRMAP7_0 0x5c00021c +#define DDRC_ADDRMAP7_1 0x5c10021c +#define DDRC_ADDRMAP8(X) REG32(DDRC_BASE_ADDR(X) + 0x220) +#define DDRC_ADDRMAP8_0 0x5c000220 +#define DDRC_ADDRMAP8_1 0x5c100220 +#define DDRC_ADDRMAP9(X) REG32(DDRC_BASE_ADDR(X) + 0x224) +#define DDRC_ADDRMAP9_0 0x5c000224 +#define DDRC_ADDRMAP9_1 0x5c100224 +#define DDRC_ADDRMAP10(X) REG32(DDRC_BASE_ADDR(X) + 0x228) +#define DDRC_ADDRMAP10_0 0x5c000228 +#define DDRC_ADDRMAP10_1 0x5c100228 +#define DDRC_ADDRMAP11(X) REG32(DDRC_BASE_ADDR(X) + 0x22c) +#define DDRC_ADDRMAP11_0 0x5c00022c +#define DDRC_ADDRMAP11_1 0x5c10022c +// +#define DDRC_ODTCFG(X) REG32(DDRC_BASE_ADDR(X) + 0x240) +#define DDRC_ODTCFG_0 0x5c000240 +#define DDRC_ODTCFG_1 0x5c100240 +#define DDRC_ODTMAP(X) REG32(DDRC_BASE_ADDR(X) + 0x244) +#define DDRC_ODTMAP_0 0x5c000244 +#define DDRC_ODTMAP_1 0x5c100244 +#define DDRC_SCHED(X) REG32(DDRC_BASE_ADDR(X) + 0x250) +#define DDRC_SCHED_0 0x5c000250 +#define DDRC_SCHED_1 0x5c100250 +#define DDRC_SCHED1(X) REG32(DDRC_BASE_ADDR(X) + 0x254) +#define DDRC_SCHED1_0 0x5c000254 +#define DDRC_SCHED1_1 0x5c100254 +#define DDRC_PERFHPR1(X) REG32(DDRC_BASE_ADDR(X) + 0x25c) +#define DDRC_PERFHPR1_0 0x5c00025c +#define DDRC_PERFHPR1_1 0x5c10025c +#define DDRC_PERFLPR1(X) REG32(DDRC_BASE_ADDR(X) + 0x264) +#define DDRC_PERFLPR1_0 0x5c000264 +#define DDRC_PERFLPR1_1 0x5c100264 +#define DDRC_PERFWR1(X) REG32(DDRC_BASE_ADDR(X) + 0x26c) +#define DDRC_PERFWR1_0 0x5c00026c +#define DDRC_PERFWR1_1 0x5c10026c +#define DDRC_PERFVPR1(X) REG32(DDRC_BASE_ADDR(X) + 0x274) +#define DDRC_PERFVPR1_0 0x5c000274 +#define DDRC_PERFVPR1_1 0x5c100274 +// +#define DDRC_PERFVPW1(X) REG32(DDRC_BASE_ADDR(X) + 0x278) +#define DDRC_PERFVPW1_0 0x5c000278 +#define DDRC_PERFVPW1_1 0x5c100278 +// +#define DDRC_DQMAP0(X) REG32(DDRC_BASE_ADDR(X) + 0x280) +#define DDRC_DQMAP0_0 0x5c000280 +#define DDRC_DQMAP0_1 0x5c100280 +#define DDRC_DQMAP1(X) REG32(DDRC_BASE_ADDR(X) + 0x284) +#define DDRC_DQMAP1_0 0x5c000284 +#define DDRC_DQMAP1_1 0x5c100284 +#define DDRC_DQMAP2(X) REG32(DDRC_BASE_ADDR(X) + 0x288) +#define DDRC_DQMAP2_0 0x5c000288 +#define DDRC_DQMAP2_1 0x5c100288 +#define DDRC_DQMAP3(X) REG32(DDRC_BASE_ADDR(X) + 0x28c) +#define DDRC_DQMAP3_0 0x5c00028c +#define DDRC_DQMAP3_1 0x5c10028c +#define DDRC_DQMAP4(X) REG32(DDRC_BASE_ADDR(X) + 0x290) +#define DDRC_DQMAP4_0 0x5c000290 +#define DDRC_DQMAP4_1 0x5c100290 +#define DDRC_DQMAP5(X) REG32(DDRC_BASE_ADDR(X) + 0x294) +#define DDRC_DQMAP5_0 0x5c000294 +#define DDRC_DQMAP5_1 0x5c100294 +#define DDRC_DBG0(X) REG32(DDRC_BASE_ADDR(X) + 0x300) +#define DDRC_DBG0_0 0x5c000300 +#define DDRC_DBG0_1 0x5c100300 +#define DDRC_DBG1(X) REG32(DDRC_BASE_ADDR(X) + 0x304) +#define DDRC_DBG1_0 0x5c000304 +#define DDRC_DBG1_1 0x5c100304 +#define DDRC_DBGCAM(X) REG32(DDRC_BASE_ADDR(X) + 0x308) +#define DDRC_DBGCAM_0 0x5c000308 +#define DDRC_DBGCAM_1 0x5c100308 +#define DDRC_DBGCMD(X) REG32(DDRC_BASE_ADDR(X) + 0x30c) +#define DDRC_DBGCMD_0 0x5c00030c +#define DDRC_DBGCMD_1 0x5c10030c +#define DDRC_DBGSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x310) +#define DDRC_DBGSTAT_0 0x5c000310 +#define DDRC_DBGSTAT_1 0x5c100310 +// +#define DDRC_SWCTL(X) REG32(DDRC_BASE_ADDR(X) + 0x320) +#define DDRC_SWCTL_0 0x5c000320 +#define DDRC_SWCTL_1 0x5c100320 +#define DDRC_SWSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x324) +#define DDRC_SWSTAT_0 0x5c000324 +#define DDRC_SWSTAT_1 0x5c100324 +#define DDRC_OCPARCFG0(X) REG32(DDRC_BASE_ADDR(X) + 0x330) +#define DDRC_OCPARCFG0_0 0x5c000330 +#define DDRC_OCPARCFG0_1 0x5c100330 +#define DDRC_OCPARCFG1(X) REG32(DDRC_BASE_ADDR(X) + 0x334) +#define DDRC_OCPARCFG1_0 0x5c000334 +#define DDRC_OCPARCFG1_1 0x5c100334 +#define DDRC_OCPARCFG2(X) REG32(DDRC_BASE_ADDR(X) + 0x338) +#define DDRC_OCPARCFG2_0 0x5c000338 +#define DDRC_OCPARCFG2_1 0x5c100338 +#define DDRC_OCPARCFG3(X) REG32(DDRC_BASE_ADDR(X) + 0x33c) +#define DDRC_OCPARCFG3_0 0x5c00033c +#define DDRC_OCPARCFG3_1 0x5c10033c +#define DDRC_OCPARSTAT0(X) REG32(DDRC_BASE_ADDR(X) + 0x340) +#define DDRC_OCPARSTAT0_0 0x5c000340 +#define DDRC_OCPARSTAT0_1 0x5c100340 +#define DDRC_OCPARSTAT1(X) REG32(DDRC_BASE_ADDR(X) + 0x344) +#define DDRC_OCPARSTAT1_0 0x5c000344 +#define DDRC_OCPARSTAT1_1 0x5c100344 +#define DDRC_OCPARWLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x348) +#define DDRC_OCPARWLOG0_0 0x5c000348 +#define DDRC_OCPARWLOG0_1 0x5c100348 +#define DDRC_OCPARWLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x34c) +#define DDRC_OCPARWLOG1_0 0x5c00034c +#define DDRC_OCPARWLOG1_1 0x5c10034c +#define DDRC_OCPARWLOG2(X) REG32(DDRC_BASE_ADDR(X) + 0x350) +#define DDRC_OCPARWLOG2_0 0x5c000350 +#define DDRC_OCPARWLOG2_1 0x5c100350 +#define DDRC_OCPARAWLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x354) +#define DDRC_OCPARAWLOG0_0 0x5c000354 +#define DDRC_OCPARAWLOG0_1 0x5c100354 +#define DDRC_OCPARAWLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x358) +#define DDRC_OCPARAWLOG1_0 0x5c000358 +#define DDRC_OCPARAWLOG1_1 0x5c100358 +#define DDRC_OCPARRLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x35c) +#define DDRC_OCPARRLOG0_0 0x5c00035c +#define DDRC_OCPARRLOG0_1 0x5c10035c +#define DDRC_OCPARRLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x360) +#define DDRC_OCPARRLOG1_0 0x5c000360 +#define DDRC_OCPARRLOG1_1 0x5c100360 +#define DDRC_OCPARARLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x364) +#define DDRC_OCPARARLOG0_0 0x5c000364 +#define DDRC_OCPARARLOG0_1 0x5c100364 +#define DDRC_OCPARARLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x368) +#define DDRC_OCPARARLOG1_0 0x5c000368 +#define DDRC_OCPARARLOG1_1 0x5c100368 + +#define DDRC_PSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x3fc) +#define DDRC_PSTAT_0 0x5c0003fc +#define DDRC_PSTAT_1 0x5c1003fc +#define DDRC_PCCFG(X) REG32(DDRC_BASE_ADDR(X) + 0x400) +#define DDRC_PCCFG_0 0x5c000400 +#define DDRC_PCCFG_1 0x5c100400 +#define DDRC_PCFGR_0(X) REG32(DDRC_BASE_ADDR(X) + 0x404) +#define DDRC_PCFGR_0_0 0x5c000404 +#define DDRC_PCFGR_0_1 0x5c100404 +#define DDRC_PCFGR_1(X) REG32(DDRC_BASE_ADDR(X) + 1*0xb0+0x404) +#define DDRC_PCFGR_1_0 0x5c0004b4 +#define DDRC_PCFGR_1_1 0x5c1004b4 +#define DDRC_PCFGR_2(X) REG32(DDRC_BASE_ADDR(X) + 2*0xb0+0x404) +#define DDRC_PCFGR_2_0 0x5c000564 +#define DDRC_PCFGR_2_1 0x5c100564 +#define DDRC_PCFGR_3(X) REG32(DDRC_BASE_ADDR(X) + 3*0xb0+0x404) +#define DDRC_PCFGR_3_0 0x5c000614 +#define DDRC_PCFGR_3_1 0x5c100614 +#define DDRC_PCFGW_0(X) REG32(DDRC_BASE_ADDR(X) + 0x408) +#define DDRC_PCFGW_0_0 0x5c000408 +#define DDRC_PCFGW_0_1 0x5c100408 +#define DDRC_PCFGW_1(X) REG32(DDRC_BASE_ADDR(X) + 1*0xb0+0x408) +#define DDRC_PCFGW_1_0 0x5c0004b8 +#define DDRC_PCFGW_1_1 0x5c1004b8 +#define DDRC_PCFGW_2(X) REG32(DDRC_BASE_ADDR(X) + 2*0xb0+0x408) +#define DDRC_PCFGW_2_0 0x5c000568 +#define DDRC_PCFGW_2_1 0x5c100568 +#define DDRC_PCFGW_3(X) REG32(DDRC_BASE_ADDR(X) + 3*0xb0+0x408) +#define DDRC_PCFGW_3_0 0x5c000618 +#define DDRC_PCFGW_3_1 0x5c100618 +#define DDRC_PCFGC_0(X) REG32(DDRC_BASE_ADDR(X) + 0x40c) +#define DDRC_PCFGC_0_0 0x5c00040c +#define DDRC_PCFGC_0_1 0x5c10040c +#define DDRC_PCFGIDMASKCH(X) REG32(DDRC_BASE_ADDR(X) + 0x410) +#define DDRC_PCFGIDMASKCH_0 0x5c000410 +#define DDRC_PCFGIDMASKCH_1 0x5c100410 +#define DDRC_PCFGIDVALUECH(X) REG32(DDRC_BASE_ADDR(X) + 0x414) +#define DDRC_PCFGIDVALUECH_0 0x5c000414 +#define DDRC_PCFGIDVALUECH_1 0x5c100414 +#define DDRC_PCTRL_0(X) REG32(DDRC_BASE_ADDR(X) + 0x490) +#define DDRC_PCTRL_0_0 0x5c000490 +#define DDRC_PCTRL_0_1 0x5c100490 +#define DDRC_PCTRL_1(X) REG32(DDRC_BASE_ADDR(X) + 0x490 + 1*0xb0) +#define DDRC_PCTRL_1_0 0x5c000540 +#define DDRC_PCTRL_1_1 0x5c100540 +#define DDRC_PCTRL_2(X) REG32(DDRC_BASE_ADDR(X) + 0x490 + 2*0xb0) +#define DDRC_PCTRL_2_0 0x5c0005f0 +#define DDRC_PCTRL_2_1 0x5c1005f0 +#define DDRC_PCTRL_3(X) REG32(DDRC_BASE_ADDR(X) + 0x490 + 3*0xb0) +#define DDRC_PCTRL_3_0 0x5c0006a0 +#define DDRC_PCTRL_3_1 0x5c1006a0 +#define DDRC_PCFGQOS0_0(X) REG32(DDRC_BASE_ADDR(X) + 0x494) +#define DDRC_PCFGQOS0_0_0 0x5c000494 +#define DDRC_PCFGQOS0_0_1 0x5c100494 +#define DDRC_PCFGQOS1_0(X) REG32(DDRC_BASE_ADDR(X) + 0x498) +#define DDRC_PCFGQOS1_0_0 0x5c000498 +#define DDRC_PCFGQOS1_0_1 0x5c100498 +#define DDRC_PCFGWQOS0_0(X) REG32(DDRC_BASE_ADDR(X) + 0x49c) +#define DDRC_PCFGWQOS0_0_0 0x5c00049c +#define DDRC_PCFGWQOS0_0_1 0x5c10049c +#define DDRC_PCFGWQOS1_0(X) REG32(DDRC_BASE_ADDR(X) + 0x4a0) +#define DDRC_PCFGWQOS1_0_0 0x5c0004a0 +#define DDRC_PCFGWQOS1_0_1 0x5c1004a0 +#define DDRC_SARBASE0(X) REG32(DDRC_BASE_ADDR(X) + 0xf04) +#define DDRC_SARBASE0_0 0x5c000f04 +#define DDRC_SARBASE0_1 0x5c100f04 +#define DDRC_SARSIZE0(X) REG32(DDRC_BASE_ADDR(X) + 0xf08) +#define DDRC_SARSIZE0_0 0x5c000f08 +#define DDRC_SARSIZE0_1 0x5c100f08 +#define DDRC_SBRCTL(X) REG32(DDRC_BASE_ADDR(X) + 0xf24) +#define DDRC_SBRCTL_0 0x5c000f24 +#define DDRC_SBRCTL_1 0x5c100f24 +#define DDRC_SBRSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0xf28) +#define DDRC_SBRSTAT_0 0x5c000f28 +#define DDRC_SBRSTAT_1 0x5c100f28 +#define DDRC_SBRWDATA0(X) REG32(DDRC_BASE_ADDR(X) + 0xf2c) +#define DDRC_SBRWDATA0_0 0x5c000f2c +#define DDRC_SBRWDATA0_1 0x5c100f2c +#define DDRC_SBRWDATA1(X) REG32(DDRC_BASE_ADDR(X) + 0xf30) +#define DDRC_SBRWDATA1_0 0x5c000f30 +#define DDRC_SBRWDATA1_1 0x5c100f30 +#define DDRC_PDCH(X) REG32(DDRC_BASE_ADDR(X) + 0xf34) +#define DDRC_PDCH_0 0x5c000f34 +#define DDRC_PDCH_1 0x5c100f34 + +#define DDRC_PCFGW_0_0_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(0))) +#define DDRC_PCFGW_0_1_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(1))) +#define DDRC_PCFGW_0_2_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(2))) +#define DDRC_PCFGW_0_3_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(3))) + +#define DDRC_MRCTRL1_0_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(0))) +#define DDRC_MRCTRL1_1_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(1))) +#define DDRC_MRCTRL1_2_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(2))) +#define DDRC_MRCTRL1_3_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(3))) + + +// SHADOW registers + +#define DDRC_DERATEEN_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2020) +#define DDRC_DERATEEN_SHADOW_0 0x5c002020 +#define DDRC_DERATEEN_SHADOW_1 0x5c102020 +#define DDRC_DERATEINT_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2024) +#define DDRC_DERATEINT_SHADOW_0 0x5c002024 +#define DDRC_DERATEINT_SHADOW_1 0x5c102024 +#define DDRC_RFSHCTL0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2050) +#define DDRC_RFSHCTL0_SHADOW_0 0x5c002050 +#define DDRC_RFSHCTL0_SHADOW_1 0x5c102050 +#define DDRC_RFSHTMG_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2064) +#define DDRC_RFSHTMG_SHADOW_0 0x5c002064 +#define DDRC_RFSHTMG_SHADOW_1 0x5c102064 +#define DDRC_INIT3_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20dc) +#define DDRC_INIT3_SHADOW_0 0x5c0020dc +#define DDRC_INIT3_SHADOW_1 0x5c1020dc +#define DDRC_INIT4_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20e0) +#define DDRC_INIT4_SHADOW_0 0x5c0020e0 +#define DDRC_INIT4_SHADOW_1 0x5c1020e0 +#define DDRC_INIT6_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20e8) +#define DDRC_INIT6_SHADOW_0 0x5c0020e8 +#define DDRC_INIT6_SHADOW_1 0x5c1020e8 +#define DDRC_INIT7_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20ec) +#define DDRC_INIT7_SHADOW_0 0x5c0020ec +#define DDRC_INIT7_SHADOW_1 0x5c1020ec +#define DDRC_DRAMTMG0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2100) +#define DDRC_DRAMTMG0_SHADOW_0 0x5c002100 +#define DDRC_DRAMTMG0_SHADOW_1 0x5c102100 +#define DDRC_DRAMTMG1_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2104) +#define DDRC_DRAMTMG1_SHADOW_0 0x5c002104 +#define DDRC_DRAMTMG1_SHADOW_1 0x5c102104 +#define DDRC_DRAMTMG2_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2108) +#define DDRC_DRAMTMG2_SHADOW_0 0x5c002108 +#define DDRC_DRAMTMG2_SHADOW_1 0x5c102108 +#define DDRC_DRAMTMG3_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x210c) +#define DDRC_DRAMTMG3_SHADOW_0 0x5c00210c +#define DDRC_DRAMTMG3_SHADOW_1 0x5c10210c +#define DDRC_DRAMTMG4_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2110) +#define DDRC_DRAMTMG4_SHADOW_0 0x5c002110 +#define DDRC_DRAMTMG4_SHADOW_1 0x5c102110 +#define DDRC_DRAMTMG5_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2114) +#define DDRC_DRAMTMG5_SHADOW_0 0x5c002114 +#define DDRC_DRAMTMG5_SHADOW_1 0x5c102114 +#define DDRC_DRAMTMG6_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2118) +#define DDRC_DRAMTMG6_SHADOW_0 0x5c002118 +#define DDRC_DRAMTMG6_SHADOW_1 0x5c102118 +#define DDRC_DRAMTMG7_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x211c) +#define DDRC_DRAMTMG7_SHADOW_0 0x5c00211c +#define DDRC_DRAMTMG7_SHADOW_1 0x5c10211c +#define DDRC_DRAMTMG8_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2120) +#define DDRC_DRAMTMG8_SHADOW_0 0x5c002120 +#define DDRC_DRAMTMG8_SHADOW_1 0x5c102120 +#define DDRC_DRAMTMG9_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2124) +#define DDRC_DRAMTMG9_SHADOW_0 0x5c002124 +#define DDRC_DRAMTMG9_SHADOW_1 0x5c102124 +#define DDRC_DRAMTMG10_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2128) +#define DDRC_DRAMTMG10_SHADOW_0 0x5c002128 +#define DDRC_DRAMTMG10_SHADOW_1 0x5c102128 +#define DDRC_DRAMTMG11_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x212c) +#define DDRC_DRAMTMG11_SHADOW_0 0x5c00212c +#define DDRC_DRAMTMG11_SHADOW_1 0x5c10212c +#define DDRC_DRAMTMG12_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2130) +#define DDRC_DRAMTMG12_SHADOW_0 0x5c002130 +#define DDRC_DRAMTMG12_SHADOW_1 0x5c102130 +#define DDRC_DRAMTMG13_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2134) +#define DDRC_DRAMTMG13_SHADOW_0 0x5c002134 +#define DDRC_DRAMTMG13_SHADOW_1 0x5c102134 +#define DDRC_DRAMTMG14_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2138) +#define DDRC_DRAMTMG14_SHADOW_0 0x5c002138 +#define DDRC_DRAMTMG14_SHADOW_1 0x5c102138 +#define DDRC_DRAMTMG15_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x213C) +#define DDRC_DRAMTMG15_SHADOW_0 0x5c00213c +#define DDRC_DRAMTMG15_SHADOW_1 0x5c10213c +#define DDRC_DRAMTMG16_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2140) +#define DDRC_DRAMTMG16_SHADOW_0 0x5c002140 +#define DDRC_DRAMTMG16_SHADOW_1 0x5c102140 +#define DDRC_ZQCTL0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2180) +#define DDRC_ZQCTL0_SHADOW_0 0x5c002180 +#define DDRC_ZQCTL0_SHADOW_1 0x5c102180 +#define DDRC_DFITMG0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2190) +#define DDRC_DFITMG0_SHADOW_0 0x5c002190 +#define DDRC_DFITMG0_SHADOW_1 0x5c102190 +#define DDRC_DFITMG1_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2194) +#define DDRC_DFITMG1_SHADOW_0 0x5c002194 +#define DDRC_DFITMG1_SHADOW_1 0x5c102194 +#define DDRC_DFITMG2_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x21b4) +#define DDRC_DFITMG2_SHADOW_0 0x5c0021b4 +#define DDRC_DFITMG2_SHADOW_1 0x5c1021b4 +#define DDRC_DFITMG3_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x21b8) +#define DDRC_DFITMG3_SHADOW_0 0x5c0021b8 +#define DDRC_DFITMG3_SHADOW_1 0x5c1021b8 +#define DDRC_ODTCFG_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2240) +#define DDRC_ODTCFG_SHADOW_0 0x5c002240 +#define DDRC_ODTCFG_SHADOW_1 0x5c102240 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/mkimage_fit_atf.sh b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/mkimage_fit_atf.sh new file mode 100755 index 0000000..30fb956 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/mkimage_fit_atf.sh @@ -0,0 +1,106 @@ +#!/bin/sh +# +# script to generate FIT image source for i.MX8MQ boards with +# ARM Trusted Firmware and multiple device trees (given on the command line) +# + +[ -z "$BL31" ] && BL31="bl31.bin" +# keep backward compatibility +[ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000" + +if [ ! -f $BL31 ]; then + echo "ERROR: BL31 file $BL31 NOT found" >&2 + exit 0 +else + echo "bl31.bin size: " >&2 + ls -lct bl31.bin | awk '{print $5}' >&2 +fi + +BL32="tee.bin" + +if [ ! -f $BL32 ]; then + BL32=/dev/null +else + echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 + echo "tee.bin size: " >&2 + ls -lct tee.bin | awk '{print $5}' >&2 +fi + +BL33="u-boot-hash.bin" + +if [ ! -f $BL33 ]; then + echo "ERROR: $BL33 file NOT found" >&2 + exit 0 +else + echo "$BL33 size: " >&2 + ls -lct u-boot-hash.bin | awk '{print $5}' >&2 +fi + +cat << __HEADER_EOF +/dts-v1/; + +/ { + description = "Configuration to load ATF before U-Boot"; + + images { + uboot@1 { + description = "U-Boot (64-bit)"; + data = /incbin/("$BL33"); + type = "standalone"; + arch = "arm64"; + compression = "none"; + load = <0x80020000>; + }; + atf@1 { + description = "ARM Trusted Firmware"; + data = /incbin/("$BL31"); + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <0x80000000>; + entry = <0x80000000>; + }; +__HEADER_EOF + +if [ -f $BL32 ]; then +cat << __HEADER_EOF + tee@1 { + description = "TEE firmware"; + data = /incbin/("$BL32"); + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <$TEE_LOAD_ADDR>; + entry = <$TEE_LOAD_ADDR>; + }; +__HEADER_EOF +fi + +cat << __CONF_HEADER_EOF + }; + configurations { + default = "config@1"; + +__CONF_HEADER_EOF + +if [ -f $BL32 ]; then +cat << __CONF_SECTION1_EOF + config@1 { + description = "fsl-imx8qm-mek"; + firmware = "uboot@1"; + loadables = "atf@1", "tee@1"; + }; +__CONF_SECTION1_EOF +else +cat << __CONF_SECTION1_EOF + config@1 { + description = "fsl-imx8qm-mek"; + firmware = "uboot@1"; + loadables = "atf@1"; + }; +__CONF_SECTION1_EOF +fi +cat << __ITS_EOF + }; +}; +__ITS_EOF diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/soc.mak b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/soc.mak new file mode 100644 index 0000000..def4608 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QM/soc.mak @@ -0,0 +1,300 @@ +MKIMG = ../mkimage_imx8 +DCD_800_CFG_SRC = imx8qm_dcd_800MHz.cfg +DCD_1200_CFG_SRC = imx8qm_dcd_1.2GHz.cfg +DCD_CFG_SRC = imx8qm_dcd_1.6GHz.cfg + +DCD_800_CFG = imx8qm_dcd_800.cfg.tmp +DCD_1200_CFG = imx8qm_dcd_1200.cfg.tmp +DCD_CFG = imx8qm_dcd.cfg.tmp + +CC ?= gcc +INCLUDE = ./lib + +#set default DDR_training to be in DCDs + +DDR_TRAIN ?= 1 +WGET = /usr/bin/wget +N ?= latest +SERVER=http://yb2.am.freescale.net + +#DIR = internal-only/Linux_IMX_Rocko_MX8/$(N)/common_bsp +#DIR = internal-only/Linux_IMX_Core/$(N)/common_bsp +DIR = internal-only/Linux_IMX_Regression/$(N)/common_bsp + +ifneq ($(wildcard /usr/bin/rename.ul),) + RENAME = rename.ul +else + RENAME = rename +endif + +#define the F(Q)SPI header file +QSPI_HEADER = ../scripts/fspi_header +QSPI_PACKER = ../scripts/fspi_packer.sh +PAD_IMAGE = ../scripts/pad_image.sh + +$(DCD_CFG): FORCE + @echo "Converting iMX8 DCD 1.6GHz file" + $(CC) -E -Wp,-MD,.imx8qm_dcd.cfg.cfgtmp.d -nostdinc -Iinclude -I$(INCLUDE) -DDDR_TRAIN_IN_DCD=$(DDR_TRAIN) -x c -o $(DCD_CFG) $(DCD_CFG_SRC) + +$(DCD_800_CFG): FORCE + @echo "Converting iMX8 DCD 800MHz file" + $(CC) -E -Wp,-MD,.imx8qm_dcd_800.cfg.cfgtmp.d -nostdinc -Iinclude -I$(INCLUDE) -DDDR_TRAIN_IN_DCD=$(DDR_TRAIN) -x c -o $(DCD_800_CFG) $(DCD_800_CFG_SRC) + +$(DCD_1200_CFG): FORCE + @echo "Converting iMX8 DCD 1200MHz file" + $(CC) -E -Wp,-MD,.imx8qm_dcd_1200.cfg.cfgtmp.d -nostdinc -Iinclude -I$(INCLUDE) -DDDR_TRAIN_IN_DCD=$(DDR_TRAIN) -x c -o $(DCD_1200_CFG) $(DCD_1200_CFG_SRC) + +FORCE: + +u-boot-hash.bin: u-boot.bin + ./$(MKIMG) -commit > head.hash + @cat u-boot.bin head.hash > u-boot-hash.bin + +u-boot-atf.bin: u-boot-hash.bin bl31.bin + @cp bl31.bin u-boot-atf.bin + @dd if=u-boot-hash.bin of=u-boot-atf.bin bs=1K seek=128 + @if [ -f "hdmitxfw.bin" ] && [ -f "hdmirxfw.bin" ]; then \ + objcopy -I binary -O binary --pad-to 0x20000 --gap-fill=0x0 hdmitxfw.bin hdmitxfw-pad.bin; \ + objcopy -I binary -O binary --pad-to 0x20000 --gap-fill=0x0 hdmirxfw.bin hdmirxfw-pad.bin; \ + cat u-boot-atf.bin hdmitxfw-pad.bin hdmirxfw-pad.bin > u-boot-atf-hdmi.bin; \ + cp u-boot-atf-hdmi.bin u-boot-atf.bin; \ + fi + +u-boot-atf.itb: u-boot-hash.bin bl31.bin + @if [ -f "hdmitxfw.bin" ] && [ -f "hdmirxfw.bin" ]; then \ + objcopy -I binary -O binary --pad-to 0x20000 --gap-fill=0x0 hdmitxfw.bin hdmitxfw-pad.bin; \ + objcopy -I binary -O binary --pad-to 0x20000 --gap-fill=0x0 hdmirxfw.bin hdmirxfw-pad.bin; \ + cat u-boot-hash.bin hdmitxfw-pad.bin hdmirxfw-pad.bin > u-boot-hash.bin.temp; \ + mv u-boot-hash.bin.temp u-boot-hash.bin; \ + fi + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-hash.bin + ./mkimage_fit_atf.sh > u-boot.its; + ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot-atf.itb; + @rm -f u-boot.its + +u-boot-atf-container.img: bl31.bin u-boot-hash.bin + @if [ -f "hdmitxfw.bin" ] && [ -f "hdmirxfw.bin" ]; then \ + objcopy -I binary -O binary --pad-to 0x20000 --gap-fill=0x0 hdmitxfw.bin hdmitxfw-pad.bin; \ + objcopy -I binary -O binary --pad-to 0x20000 --gap-fill=0x0 hdmirxfw.bin hdmirxfw-pad.bin; \ + cat u-boot-hash.bin hdmitxfw-pad.bin hdmirxfw-pad.bin > u-boot-hash.bin.temp; \ + mv u-boot-hash.bin.temp u-boot-hash.bin; \ + fi + if [ -f "tee.bin" ]; then \ + ./$(MKIMG) -soc QM -rev B0 -c -ap bl31.bin a53 0x80000000 -ap u-boot-hash.bin a53 0x80020000 -ap tee.bin a53 0xFE000000 -out u-boot-atf-container.img; \ + else \ + ./$(MKIMG) -soc QM -rev B0 -c -ap bl31.bin a53 0x80000000 -ap u-boot-hash.bin a53 0x80020000 -out u-boot-atf-container.img; \ + fi + +.PHONY: clean +clean: + @rm -f $(DCD_CFG) .imx8_dcd.cfg.cfgtmp.d $(DCD_800_CFG) $(DCD_1200_CFG) .imx8qm_dcd_800.cfg.cfgtmp.d .imx8qm_dcd.cfg.cfgtmp.d .imx8qm_dcd_1200.cfg.cfgtmp.d head.hash u-boot-hash.bin u-boot-atf.itb u-boot-atf-container.img u-boot-atf-hdmi.bin hdmitxfw-pad.bin hdmirxfw-pad.bin + +flash_scfw: $(MKIMG) scfw_tcm.bin + ./$(MKIMG) -soc QM -c -scfw scfw_tcm.bin -out flash.bin + +flash_dcd: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_dcd_800: $(MKIMG) $(DCD_800_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_800_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_dcd_1200: $(MKIMG) $(DCD_1200_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_1200_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_early: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -flags 0x00400000 -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_flexspi: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -dev flexspi -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_ca72: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a72 0x80000000 -out flash.bin + +flash_multi_cores_m4_1: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m41_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -m4 m41_tcm.bin 1 0x38FE0000 -c -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_multi_cores: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m40_tcm.bin m41_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -m4 m40_tcm.bin 0 0x34FE0000 -m4 m41_tcm.bin 1 0x38FE0000 -c -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_cm4_0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x34FE0000 -out flash.bin + +flash_cm4_1: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 1 0x38FE0000 -out flash.bin + +flash_m4s_tcm: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m40_tcm.bin m41_tcm.bin + ./$(MKIMG) -soc QM -c -scfw scfw_tcm.bin -p1 -m4 m40_tcm.bin 0 0x34FE0000 -m4 m41_tcm.bin 1 0x38FE0000 -out flash.bin + +flash_all: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m4_image.bin u-boot-atf.bin scd.bin csf.bin csf_ap.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -m4 m4_image.bin 0 0x34FE0000 -csf csf.bin -scd scd.bin -c -ap u-boot-atf.bin a53 0x80000000 -csf csf_ap.bin -out flash.bin + +flash_ca72_ddrstress: $(MKIMG) scfw_tcm.bin mx8qm_ddr_stress_test.bin + ./$(MKIMG) -soc QM -c -flags 0x00800000 -scfw scfw_tcm.bin -c -ap mx8qm_ddr_stress_test.bin a72 0x00112000 -out flash.bin + +flash_ca53_ddrstress: $(MKIMG) scfw_tcm.bin mx8qm_ddr_stress_test.bin + ./$(MKIMG) -soc QM -c -flags 0x00800000 -scfw scfw_tcm.bin -c -ap mx8qm_ddr_stress_test.bin a53 0x00112000 -out flash.bin + +flash_ca72_ddrstress_dcd: $(MKIMG) $(DCD_CFG) scfw_tcm.bin mx8qm_ddr_stress_test.bin + ./$(MKIMG) -soc QM -c -flags 0x00800000 -dcd $(DCD_CFG) -scfw scfw_tcm.bin -c -ap mx8qm_ddr_stress_test.bin a72 0x00112000 -out flash.bin + +flash_ca53_ddrstress_dcd: $(MKIMG) $(DCD_CFG) scfw_tcm.bin mx8qm_ddr_stress_test.bin + ./$(MKIMG) -soc QM -c -flags 0x00800000 -dcd $(DCD_CFG) -scfw scfw_tcm.bin -c -ap mx8qm_ddr_stress_test.bin a53 0x00112000 -out flash.bin + +flash_cm4_01_ddr: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m40_ddr.bin m41_ddr.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -p1 -m4 m40_ddr.bin 0 0x88000000 -m4 m41_ddr.bin 1 0x88800000 -out flash.bin + +flash_m4_tcm_ddr: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m4_image.bin m41_ddr.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x34FE0000 -m4 m41_ddr.bin 1 0x88800000 -out flash.bin + +flash_cm4_1_ddr: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m41_ddr.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -p1 -m4 m41_ddr.bin 1 0x88800000 -out flash.bin + +flash_fastboot: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -dev emmc_fast -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -m4 m4_image.bin 0 0x34fe0000 -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_aprom_ddr: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin aprom_ddr.bin csf_ap.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -ap aprom_ddr.bin a53 0x80000000 -c -ap u-boot-atf.bin a53 0x90000000 -csf csf_ap.bin -out flash.bin + +flash_aprom_ddr_unsigned: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin aprom_ddr.bin csf_ap.bin + ./$(MKIMG) -soc QM -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -ap aprom_ddr.bin a53 0x80000000 -c -ap u-boot-atf.bin a53 0x90000000 -out flash.bin + +flash_b0_scfw: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -out flash.bin + +flash_b0: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_b0_flexspi: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -rev B0 -dev flexspi -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_cm40flexspi flash_b0_cm40flexspi: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin m4_image.bin $(QSPI_HEADER) + ./$(MKIMG) -soc QM -rev B0 -dev flexspi -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -fileoff 0x80000 -p1 -m4 m4_image.bin 0 0x08081000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_cm4sflexspi flash_b0_cm4sflexspi: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin m40_flash.bin m41_flash.bin $(QSPI_HEADER) + ./$(MKIMG) -soc QM -rev B0 -dev flexspi -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -fileoff 0x80000 -p1 -m4 m40_flash.bin 0 0x08081000 -fileoff 0x180000 -m4 m41_flash.bin 1 0x08181000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_flexspi_all : $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin m40_flash.bin m41_flash.bin $(QSPI_HEADER) + ./$(MKIMG) -soc QM -rev B0 -dev flexspi -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -fileoff 0x80000 -m4 m40_flash.bin 0 0x08081000 -fileoff 0x180000 -m4 m41_flash.bin 1 0x08181000 -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_b0_multi_cores_m4_1: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin m41_tcm.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -m4 m41_tcm.bin 1 0x38FE0000 -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_b0_multi_cores_m4_1_trusty: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin m41_tcm.bin tee.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -m4 m41_tcm.bin 1 0x38FE0000 -ap u-boot-atf.bin a53 0x80000000 -data tee.bin 0x84000000 -out flash.bin + +flash_b0_spl_fit_m4_1_trusty: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.itb m41_tcm.bin tee.bin u-boot-spl.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -m4 m41_tcm.bin 1 0x38FE0000 -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.itb at $$pad_cnt KB"; \ + dd if=u-boot-atf.itb of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf.itb; + +flash_b0_spl_container_m4_1_trusty: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf-container.img m41_tcm.bin tee.bin u-boot-spl.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -m4 m41_tcm.bin 1 0x38FE0000 -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf-container.img at $$pad_cnt KB"; \ + dd if=u-boot-atf-container.img of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf-container.img; + +flash_b0_spl_fit: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.itb u-boot-spl.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.itb at $$pad_cnt KB"; \ + dd if=u-boot-atf.itb of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf.itb; + +flash_b0_spl_container: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-spl.bin u-boot-atf-container.img + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf-container.img at $$pad_cnt KB"; \ + dd if=u-boot-atf-container.img of=flash.bin bs=1K seek=$$pad_cnt; + +flash_b0_spl: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin u-boot-spl.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.bin at $$pad_cnt KB"; \ + dd if=u-boot-atf.bin of=flash.bin bs=1K seek=$$pad_cnt + +flash_b0_spl_flexspi_fit: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.itb u-boot-spl.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.itb at $$pad_cnt KB"; \ + dd if=u-boot-atf.itb of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf.itb; + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_b0_spl_flexspi_container: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-spl.bin u-boot-atf-container.img + ./$(MKIMG) -soc QM -rev B0 -dev flexspi -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf-container.img at $$pad_cnt KB"; \ + dd if=u-boot-atf-container.img of=flash.bin bs=1K seek=$$pad_cnt; + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_b0_spl_flexspi: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin u-boot-spl.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a53 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.bin at $$pad_cnt KB"; \ + dd if=u-boot-atf.bin of=flash.bin bs=1K seek=$$pad_cnt + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_b0_linux: $(MKIMG) Image fsl-imx8qm-lpddr4-arm2.dtb + ./$(MKIMG) -soc QM -rev B0 -c -ap Image a53 0x80280000 --data fsl-imx8qm-lpddr4-arm2.dtb 0x83000000 -out flash.bin + +flash_b0_ca72_ddrstress: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin mx8qmb0_ddr_stress_test.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -flags 0x00800000 -scfw scfw_tcm.bin -ap mx8qmb0_ddr_stress_test.bin a72 0x00100000 -out flash.bin + +flash_ddrstress flash_b0_ca53_ddrstress: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin mx8qmb0_ddr_stress_test.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -flags 0x00800000 -scfw scfw_tcm.bin -ap mx8qmb0_ddr_stress_test.bin a53 0x00100000 -out flash.bin + +flash_b0_ca72: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a72 0x80000000 -out flash.bin + +flash_b0_cm4_0: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x34FE0000 -out flash.bin + +flash_b0_cm4_1: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 1 0x38FE0000 -out flash.bin + +flash_b0_m4s_tcm: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin m40_tcm.bin m41_tcm.bin + ./$(MKIMG) -soc QM -rev B0 -dcd skip -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -p1 -m4 m40_tcm.bin 0 0x34FE0000 -m4 m41_tcm.bin 1 0x38FE0000 -out flash.bin + +flash_b0_m40_uboot: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin m4_image.bin u-boot-atf.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -scfw scfw_tcm.bin -m4 m4_image.bin 0 0x88000000 -ap u-boot-atf.bin a53 0x80000000 -out flash.bin + +flash_linux_m4: $(MKIMG) mx8qm-ahab-container.img scfw_tcm.bin u-boot-atf.bin m4_0_image.bin m4_1_image.bin + ./$(MKIMG) -soc QM -rev B0 -append mx8qm-ahab-container.img -c -flags 0x00200000 -scfw scfw_tcm.bin -ap u-boot-atf.bin a53 0x80000000 -p3 -m4 m4_0_image.bin 0 0x34FE0000 -p4 -m4 m4_1_image.bin 1 0x38FE0000 -out flash.bin + +nightly : + @rm -rf boot + @echo "Pulling nightly for Validation board from $(SERVER)/$(DIR)" + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qm/mx8qm-val-scfw-tcm.bin -O scfw_tcm.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qm/bl31-imx8qm.bin -O bl31.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qm/u-boot-imx8qmlpddr4arm2.bin-sd -O u-boot.bin + @$(WGET) -qr -nd -l1 -np $(SERVER)/$(DIR) -P boot -A "Image-*imx8qm*" + @$(WGET) -q https://bitbucket.sw.nxp.com/projects/IMX/repos/linux-firmware-imx/raw/firmware/seco/mx8qm-ahab-container.img?at=refs%2Fheads%2Fmaster -O mx8qm-ahab-container.img + @$(RENAME) "Image-" "" boot/*.dtb + +nightly_mek : + rm -rf boot + echo "Pulling nightly for MEK board from $(SERVER)/$(DIR)" + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qm/mx8qm-mek-scfw-tcm.bin -O scfw_tcm.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qm/bl31-imx8qm.bin -O bl31.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qm/u-boot-imx8qmmek.bin-sd -O u-boot.bin + @$(WGET) -qr -nd -l1 -np $(SERVER)/$(DIR) -P boot -A "Image-*imx8qm*" + @$(WGET) -q https://bitbucket.sw.nxp.com/projects/IMX/repos/linux-firmware-imx/raw/firmware/seco/mx8qm-ahab-container.img?at=refs%2Fheads%2Fmaster -O mx8qm-ahab-container.img + @$(RENAME) "Image-" "" boot/*.dtb + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8dx_ddr3_dcd_16bit_1066MHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8dx_ddr3_dcd_16bit_1066MHz.cfg new file mode 100644 index 0000000..be77998 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8dx_ddr3_dcd_16bit_1066MHz.cfg @@ -0,0 +1,256 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +// Set DRAM clock frequency for the following operation: 1066MHz +DATA 4 0xff190000 0x00000CB1 /* DRC0 bringup */ +#else +/* Set the DRC rate to achieve a DRAM rate as close as possible to 1066MHz. */ +uint32_t rate2 = 531000000; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 +DATA 4 0x41C80040 0xb // Assert uMCTL2 core reset +DATA 4 0x41C80204 0x1 // Start functional clocks. + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0x41041001 // Set DDR3l, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x008200BB // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x40030106 // pre_cke +DATA 4 DDRC_INIT1_0 0x006A0000 // dram_rstn +DATA 4 DDRC_INIT3_0 0x00240006 // MR0, MR1 +DATA 4 DDRC_INIT4_0 0x00280000 // MR2, MR3 +DATA 4 DDRC_INIT5_0 0x000C0000 // ZQINIT +DATA 4 DDRC_RANKCTL_0 0x0000072F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x0F132412 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x000D0419 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x0507060B // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00002008 // T_MOD, T_MRD +DATA 4 DDRC_DRAMTMG4_0 0x07020408 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x06060403 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG8_0 0x03030907 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_ZQCTL0_0 0x40AB002B // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02000083 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x048A8207 +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000805 +DATA 4 DDRC_DFIMISC_0 0x00000001 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0xE0400018 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x001A0057 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F00 // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x07070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +// DATA 4 DDRC_ECCCFG0_0 0x044FFFC4 // ecc support (uncommented when ECC is enabled) + +DATA 4 DDRC_ODTCFG_0 0x06000610 +DATA 4 DDRC_ODTMAP_0 0x00000001 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x00000000 + +DATA 4 0x41c80208 0x1 +DATA 4 0x41c80040 0xf +DATA 4 0x41c80204 0x1 + +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for 1066MHz DRAM operation +//-------------------------------------------- +// Following are uncommented (to disable) or commented (to enable) particular byte lanes +DATA 4 DDR_PHY_DX2GCR1_0 0x55556000 // uncommented to disable byte lane 2 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX3GCR1_0 0x55556000 // uncommented to disable byte lane 3 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX4GCR1_0 0x55556000 // uncommented to disable byte lane 4 when ECC disabled +DATA 4 DDR_PHY_DX2GCR2_0 0xAAAA0000 // uncommented to disable byte lane 2 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX3GCR2_0 0xAAAA0000 // uncommented to disable byte lane 3 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX4GCR2_0 0xAAAA0000 // uncommented to disable byte lane 4 when ECC disabled +DATA 4 DDR_PHY_DX2GCR3_0 0xFFE18587 // uncommented to disable byte lane 2 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX3GCR3_0 0xFFE18587 // uncommented to disable byte lane 3 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX4GCR3_0 0xFFE18587 // uncommented to disable byte lane 4 when ECC disabled + +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040B // DDR3 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00026051 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004837 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00063527 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004081 // DQ bit 5/6/7 and DM remapping +// DATA 4 DDR_PHY_DX2DQMAP0_0 #N/A // DQ bit 0/1/2/3/4 remapping +// DATA 4 DDR_PHY_DX2DQMAP1_0 #N/A // DQ bit 5/6/7 and DM remapping +// DATA 4 DDR_PHY_DX3DQMAP0_0 #N/A // DQ bit 0/1/2/3/4 remapping +// DATA 4 DDR_PHY_DX3DQMAP1_0 #N/A // DQ bit 5/6/7 and DM remapping +// DATA 4 DDR_PHY_DX4DQMAP0_0 #N/A // DQ bit 0/1/2/3/4 remapping (commented out, disabled, when ECC disabled) +// DATA 4 DDR_PHY_DX4DQMAP1_0 #N/A // DQ bit 5/6/7 and DM remapping (commented out, disabled, when ECC disabled) +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F1024C // Set tREFPRD +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x42C21550 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x340F12BE // tPLLLOCK, tPLLRST +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x011C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x011C0000 +SET_BIT 4 DDR_PHY_DX8SL1PLLCR0_0 0x20000000 // uncommented to disable byte lanes 2 and 3 PLL when configured for 16-bit data bus +SET_BIT 4 DDR_PHY_DX8SL2PLLCR0_0 0x20000000 // uncommented to disable byte lanes 4 and 5 PLL when configured for 16-bit data bus + +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2858 // Set ODT_MODE=0b10(DDR3 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x77BB // Optimal setting based on factory testing +DATA 4 DDR_PHY_ZQ1PR0_0 0x77BB // Optimal setting based on factory testing +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x72 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x73 + + +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR0_0 0x00000024 +DATA 4 DDR_PHY_MR1_0 0x00000006 +DATA 4 DDR_PHY_MR2_0 0x00000028 +DATA 4 DDR_PHY_MR3_0 0x00000000 + +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x07240E08 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28260400 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x01060200 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x02000000 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x01760C1A // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x00320E09 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x0008223A // tDINIT0 +DATA 4 DDR_PHY_PTR4_0 0x00000176 // tDINIT1 +DATA 4 DDR_PHY_PTR5_0 0x000340E4 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x0400042C // tDINIT4, tDINIT3 + + +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00010000 // ODT of rank1 disabled + + +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070400 // PNUM2 (i.e.DDR3) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x00000000 // I/O mode = DDR3 +DATA 4 DDR_PHY_IOVCR0_0 0x03000000 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 + +// Byte lanes 2 and 3 are commented out when configured for 16-bit data bus. Byte lane 4 commented out when ECC disabled +DATA 4 DDR_PHY_DX0GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +// DATA 4 DDR_PHY_DX2GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +// DATA 4 DDR_PHY_DX3GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +// DATA 4 DDR_PHY_DX4GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// DATA 4 DDR_PHY_DX2GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// DATA 4 DDR_PHY_DX3GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// DATA 4 DDR_PHY_DX4GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults + +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x00000000 // I/O mode = DDR3 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in DDR3 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x800031CF // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00010237 // Set RANKEN=3 + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +// Write leveling adjust, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0000F800 +DATA 4 DDR_PHY_PIR_0 0x0000F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=0, PUBMODE=0 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 + +#endif + +// ECC Support (the following lines are uncommented when ECC is enabled) +// DATA 4 DDRC_PCTRL_0_0 0x00000000 // Disable Port 0 +// DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_mode = 1 +// DATA 4 DDRC_SBRWDATA0_0 0x55AA55AA // SBRWDATA0 = 55AA55AA +// DATA 4 DDRC_SBRCTL_0 0x00000015 // Scrub_en = 1 +// CHECK_BITS_SET 4 DDRC_SBRSTAT_0 0x2 // Wait for Scrub done +// CHECK_BITS_CLR 4 DDRC_SBRSTAT_0 0x1 // Wait for Scrub done +// DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_en = 0 +// DATA 4 DDRC_SBRCTL_0 0x00000110 // Scrub_interval = 1 +// DATA 4 DDRC_SBRCTL_0 0x00000111 // Scrub_en = 1 +// DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable Port 0 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8dx_ddr3_dcd_16bit_933MHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8dx_ddr3_dcd_16bit_933MHz.cfg new file mode 100644 index 0000000..ffbddc2 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8dx_ddr3_dcd_16bit_933MHz.cfg @@ -0,0 +1,256 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +// Set DRAM clock frequency for the following operation: 933MHz +DATA 4 0xff190000 0x00000C9B /* DRC0 bringup */ +#else +/* Set the DRC rate to achieve a DRAM rate as close as possible to 933MHz. */ +uint32_t rate2 = 465000000; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 +DATA 4 0x41C80040 0xb // Assert uMCTL2 core reset +DATA 4 0x41C80204 0x1 // Start functional clocks. + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0x41041001 // Set DDR3l, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x007200A4 // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x400300E5 // pre_cke +DATA 4 DDRC_INIT1_0 0x005D0000 // dram_rstn +DATA 4 DDRC_INIT3_0 0x00140006 // MR0, MR1 +DATA 4 DDRC_INIT4_0 0x00200000 // MR2, MR3 +DATA 4 DDRC_INIT5_0 0x000B0000 // ZQINIT +DATA 4 DDRC_RANKCTL_0 0x0000072F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x0E112010 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x000C0416 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x0507060B // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00002008 // T_MOD, T_MRD +DATA 4 DDRC_DRAMTMG4_0 0x07020307 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x05050403 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG8_0 0x03030907 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_ZQCTL0_0 0x40960026 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02000072 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x04898206 +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000704 +DATA 4 DDRC_DFIMISC_0 0x00000001 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0xE0400018 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x001A0057 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F00 // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x07070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +// DATA 4 DDRC_ECCCFG0_0 0x044FFFC4 // ecc support (uncommented when ECC is enabled) + +DATA 4 DDRC_ODTCFG_0 0x06000610 +DATA 4 DDRC_ODTMAP_0 0x00000001 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x00000000 + +DATA 4 0x41c80208 0x1 +DATA 4 0x41c80040 0xf +DATA 4 0x41c80204 0x1 + +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for 933MHz DRAM operation +//-------------------------------------------- +// Following are uncommented (to disable) or commented (to enable) particular byte lanes +DATA 4 DDR_PHY_DX2GCR1_0 0x55556000 // uncommented to disable byte lane 2 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX3GCR1_0 0x55556000 // uncommented to disable byte lane 3 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX4GCR1_0 0x55556000 // uncommented to disable byte lane 4 when ECC disabled +DATA 4 DDR_PHY_DX2GCR2_0 0xAAAA0000 // uncommented to disable byte lane 2 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX3GCR2_0 0xAAAA0000 // uncommented to disable byte lane 3 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX4GCR2_0 0xAAAA0000 // uncommented to disable byte lane 4 when ECC disabled +DATA 4 DDR_PHY_DX2GCR3_0 0xFFE18587 // uncommented to disable byte lane 2 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX3GCR3_0 0xFFE18587 // uncommented to disable byte lane 3 when configured for 16-bit data bus +DATA 4 DDR_PHY_DX4GCR3_0 0xFFE18587 // uncommented to disable byte lane 4 when ECC disabled + +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040B // DDR3 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00026051 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004837 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00063527 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004081 // DQ bit 5/6/7 and DM remapping +// DATA 4 DDR_PHY_DX2DQMAP0_0 #N/A // DQ bit 0/1/2/3/4 remapping +// DATA 4 DDR_PHY_DX2DQMAP1_0 #N/A // DQ bit 5/6/7 and DM remapping +// DATA 4 DDR_PHY_DX3DQMAP0_0 #N/A // DQ bit 0/1/2/3/4 remapping +// DATA 4 DDR_PHY_DX3DQMAP1_0 #N/A // DQ bit 5/6/7 and DM remapping +// DATA 4 DDR_PHY_DX4DQMAP0_0 #N/A // DQ bit 0/1/2/3/4 remapping (commented out, disabled, when ECC disabled) +// DATA 4 DDR_PHY_DX4DQMAP1_0 #N/A // DQ bit 5/6/7 and DM remapping (commented out, disabled, when ECC disabled) +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F0E207 // Set tREFPRD +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x3A61D310 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x2D98106A // tPLLLOCK, tPLLRST +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x011C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x011C0000 +SET_BIT 4 DDR_PHY_DX8SL1PLLCR0_0 0x20000000 // uncommented to disable byte lanes 2 and 3 PLL when configured for 16-bit data bus +SET_BIT 4 DDR_PHY_DX8SL2PLLCR0_0 0x20000000 // uncommented to disable byte lanes 4 and 5 PLL when configured for 16-bit data bus + +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2858 // Set ODT_MODE=0b10(DDR3 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x77BB // Optimal setting based on factory testing +DATA 4 DDR_PHY_ZQ1PR0_0 0x77BB // Optimal setting based on factory testing +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x72 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x73 + + +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR0_0 0x00000014 +DATA 4 DDR_PHY_MR1_0 0x00000006 +DATA 4 DDR_PHY_MR2_0 0x00000020 +DATA 4 DDR_PHY_MR3_0 0x00000000 + +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x061F0D08 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28210300 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x01060200 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x02000000 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x01470C17 // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x002C0D09 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00071FA6 // tDINIT0 +DATA 4 DDR_PHY_PTR4_0 0x00000147 // tDINIT1 +DATA 4 DDR_PHY_PTR5_0 0x0002D976 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x040003A7 // tDINIT4, tDINIT3 + + +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00010000 // ODT of rank1 disabled + + +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070400 // PNUM2 (i.e.DDR3) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x00000000 // I/O mode = DDR3 +DATA 4 DDR_PHY_IOVCR0_0 0x03000000 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 + +// Byte lanes 2 and 3 are commented out when configured for 16-bit data bus. Byte lane 4 commented out when ECC disabled +DATA 4 DDR_PHY_DX0GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +// DATA 4 DDR_PHY_DX2GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +// DATA 4 DDR_PHY_DX3GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +// DATA 4 DDR_PHY_DX4GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// DATA 4 DDR_PHY_DX2GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// DATA 4 DDR_PHY_DX3GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// DATA 4 DDR_PHY_DX4GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults + +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x00000000 // I/O mode = DDR3 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in DDR3 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x800031CF // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00010237 // Set RANKEN=3 + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +// Write leveling adjust, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0000F800 +DATA 4 DDR_PHY_PIR_0 0x0000F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=0, PUBMODE=0 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 + +#endif + +// ECC Support (the following lines are uncommented when ECC is enabled) +// DATA 4 DDRC_PCTRL_0_0 0x00000000 // Disable Port 0 +// DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_mode = 1 +// DATA 4 DDRC_SBRWDATA0_0 0x55AA55AA // SBRWDATA0 = 55AA55AA +// DATA 4 DDRC_SBRCTL_0 0x00000015 // Scrub_en = 1 +// CHECK_BITS_SET 4 DDRC_SBRSTAT_0 0x2 // Wait for Scrub done +// CHECK_BITS_CLR 4 DDRC_SBRSTAT_0 0x1 // Wait for Scrub done +// DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_en = 0 +// DATA 4 DDRC_SBRCTL_0 0x00000110 // Scrub_interval = 1 +// DATA 4 DDRC_SBRCTL_0 0x00000111 // Scrub_en = 1 +// DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable Port 0 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_dcd_1.2GHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_dcd_1.2GHz.cfg new file mode 100755 index 0000000..e16e2ec --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_dcd_1.2GHz.cfg @@ -0,0 +1,332 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +/* For 1200MHz DDR, DRC 600MHz operation */ +DATA 4 0xff190000 0x00000CC8 /* DRC0 bringup */ +#else +/* Set the DRC rate to 1.2GHz. */ +uint32_t rate2 = SC_600MHZ; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 + +DATA 4 0x41C80040 0xb + +DATA 4 0x41C80204 0x1 + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x004800A9 // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x4003049A // pre_cke = 2ms is too long - LPDDR4 model hacked for 20us +DATA 4 DDRC_INIT1_0 0x007A0000 // dram_rstn - LPDDR4 model hacked for 20us; +DATA 4 DDRC_INIT3_0 0x00440024 // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +//DATA 4 DDRC_INIT4_0 0x00310000 // MR3, MR13 +DATA 4 DDRC_INIT4_0 0x00F10000 // MR3=0xF1: DBI-WR=DBI-RD=1, PU-CAL=VDDQ/3 PDDS=RZQ/6, MR13 +//DATA 4 DDRC_RANKCTL_0 0x0000075f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_RANKCTL_0 0x0000066f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd, waiting for SNPS feedback +DATA 4 DDRC_DRAMTMG0_0 0x1619141a // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x00050527 // tXP, rd2pre, tRC +//DATA 4 DDRC_DRAMTMG2_0 0x060c1011 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG2_0 0x060E1111 // WL, RL (DBI enabled, 28), rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x0090900a // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_0 0x0c04070c // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x02040a05 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_0 0x00000401 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD (=tXP?) +DATA 4 DDRC_DRAMTMG13_0 0x0b100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_0 0x000000ae // txsr +DATA 4 DDRC_ZQCTL0_0 0x425b0013 // tZQCAL, tZQLAT + +DATA 4 DDRC_ZQCTL1_0 0x01f00100 // tZQReset, tzq_short_interval + +//DATA 4 DDRC_DFITMG0_0 0x0495820a // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG0_0 0x0499820a // dfi_t_ctrl_delay, dfi_t_rddata_en RL=28 with DBI enabled, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +//DATA 4 DDRC_DFITMG2_0 0x00001308 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat RL=28 with DBI enabled, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en + +DATA 4 DDRC_ADDRMAP0_0 0x00000015 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated + +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x48080707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 + +DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 + +DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 +DATA 4 DDRC_HWLPCTL_0 0x0FFF0003 //Enable Hardware idle period - 96 * 32 DFI clk cycles + + //Enables DFI Low Power interface +DATA 4 DDRC_DFILPCFG0_0 0x07009100 // dfi_lp_en_sr=1, dfi_lp_wakeup_sr=0x9 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x10A +DATA 4 DDRC_PWRTMG_0 0xFF201F + +DATA 4 0x41C80208 0x1 + +DATA 4 0x41C80040 0xf + +DATA 4 0x41C80204 0x1 + + //------------------------------------------- + // Configure registers for PHY initialization + // Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) + //-------------------------------=------------ + + // Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank + + // Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_0 0x000F000A // Set BSWAPMSB='b1001 (byte 0 and 1 are swapped) +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00061032 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004578 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00071032 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004685 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00016578 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004203 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00015867 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004320 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_0 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY + + // Set-up PHY General Configuration Register + // PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F0A190 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity + + // Set-up PHY Timing Register + // PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x3AA01520 // tPLLLOCK reduced to 4.3us, tPLLRST=9us + + // Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x000E0000 // FREQSEL=0 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x000E0000 + + // Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) + + // ZPROG_DRAM_ODT and ZPROG_HOST_ODT = 60ohm +//DATA 4 DDR_PHY_ZQ0PR0_0 0x0B7BB // comment is wrong => PU_DRV_ADJUST 3b001 = Adjust calibrated drive strength by 2/8 to obtain 1.25x of original strength +//DATA 4 DDR_PHY_ZQ1PR0_0 0x0B7BB +//DATA 4 DDR_PHY_ZQ2PR0_0 0x0B7BB +//DATA 4 DDR_PHY_ZQ3PR0_0 0x0B7BB +DATA 4 DDR_PHY_ZQ0PR0_0 0x1B7BB // PU_DRV_ADJUST 3b001 = Adjust calibrated drive strength by 2/8 to obtain 1.25x of original strength +DATA 4 DDR_PHY_ZQ1PR0_0 0x1B7BB +DATA 4 DDR_PHY_ZQ2PR0_0 0x1B7BB +DATA 4 DDR_PHY_ZQ3PR0_0 0x1B7BB + + + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x32 + + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x33 + + //------------------------------------------- + // Configure registers for DRAM initialization + //------------------------------------------- + + // Set-up Mode Register + // MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR=24, RPST +DATA 4 DDR_PHY_MR2_0 0x24 // Set RL=14/WL=8 +//DATA 4 DDR_PHY_MR3_0 0x31 // Set drive strength (40 Ohms by default) +DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength (40 Ohms by default), DBI_RD=DBI_WR=1 +DATA 4 DDR_PHY_MR11_0 0x05 // Set CA ODT=Disable DQ_ODT=RZQ/5 +DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks), SoC ODT = RZQ/5 + +/* LPDDR4 mode register writes for CA and DQ VREF settings; range=1, 27.2% */ +DATA 4 DDR_PHY_MR12_0 0x48 +DATA 4 DDR_PHY_MR14_0 0x48 + + // Set-up DRAM Timing Parameters Register + // DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x0d331a09 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28310411 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x006a615a // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x01512b0D // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x194c160d // tRC, tRCD, tWTR + + // Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00249F80 // tDINIT0 - 2ms +DATA 4 DDR_PHY_PTR4_0 0x00000970 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_0 0x0003A9A0 // tDINIT2 - normally 200us but memory model hacked to 20us +DATA 4 DDR_PHY_PTR6_0 0x027004B5 // tDINIT4 (30ns), tDINIT3 (1us) + + // RDIMMGCR0-2 RDIMMGCR0-4?? + + // Set-up DATX8 Common Configuration Register + // DXCCR is untouched + + // Set-up DDR System General Configuration Register + // DSGCR is untouched + + // Set-up ODT Configuration Register + // DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 1 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_0 0 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled + + // Set-up Anti-Aging Control Register + // AACR is untouched + + // Set-up Data Training Address Register + // DTAR0-3 are untouched + // !! DTAR3 is not described in spec !! + + // Set-up AC I/O Configuration Register + // ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 + // Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 + + // IOVCR0-1, DXnGCR0-4??, CALBYP + + // Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_0 0xF0032019 // CK1, CK0 +DATA 4 DDR_PHY_VTCR1_0 0x07F00193 // HVIO=1, SHREN=1, SHRNK=0 + + // Set-up DATX8 General Configuration Registers + // DXnGCR0-3 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 +DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit + +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults + + // Set-up DATX8 DX Control Register 2 + // PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 + + //Enable PHY PLL to go into power down on DFI low power request +DATA 4 DDR_PHY_PGCR4_0 0x001900A1 + + // Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 + +#if DDR_TRAIN_IN_DCD + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + + // Launch DRAM initialization +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + + // Launch a second time DRAM initialization due to following Synopsys PHY bug: + // Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" + // Workaround: "Run DRAM Initialization twice" +DATA 4 DDR_PHY_PIR_0 0x100 +DATA 4 DDR_PHY_PIR_0 0x101 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + + // Set-up Data Training Configuration Register + // Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys + // case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). + // (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x000071CF // Set DTRPTN to 0xF. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00030236 // Set RANKEN=3 + +CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF + +/* -- Write leveling */ +DATA 4 DDR_PHY_PIR_0 0x00000200 +DATA 4 DDR_PHY_PIR_0 0x00000201 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// -- Read DQS training +// Set DQS/DQSn glitch suppression resistor for training +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012240F7 + +/* Launch training for DRC_0 */ +DATA 4 DDR_PHY_PIR_0 0x00000400 +DATA 4 DDR_PHY_PIR_0 0x00000401 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 + +/* Remove DQS/DQSn glitch suppression resistor */ +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01224000 + +/* DQS2DQ training, Write leveling, Deskew and eye trainings */ +DATA 4 DDR_PHY_PIR_0 0x0010F800 +DATA 4 DDR_PHY_PIR_0 0x0010F801 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + +/* VREF training for DRC_0 */ +DATA 4 DDR_PHY_PIR_0 0x00020000 +DATA 4 DDR_PHY_PIR_0 0x00020001 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 + + //Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 + +//DQS Drift Registers +CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 +DATA 4 DDR_PHY_DQSDR0_0 0x20188004 +//DATA 4 DDR_PHY_DQSDR1_0 0xA8770100 +//DATA 4 DDR_PHY_DQSDR2_0 0x00062000 +DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 // SNPS recommendation +DATA 4 DDR_PHY_DQSDR2_0 0x00070200 // SNPS recommendation + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_dcd_16bit_1.2GHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_dcd_16bit_1.2GHz.cfg new file mode 100644 index 0000000..ec7cae3 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_dcd_16bit_1.2GHz.cfg @@ -0,0 +1,338 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +/* For 1200MHz DDR, DRC 600MHz operation */ +DATA 4 0xff190000 0x00000CC8 /* DRC0 bringup */ +#else +/* Set the DRC rate to 1.2GHz. */ +uint32_t rate2 = SC_600MHZ; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 + +DATA 4 0x41C80040 0xb + +DATA 4 0x41C80204 0x1 + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0xC3081020 // Set LPDDR4, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x004800A9 // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x4003049A // pre_cke = 2ms is too long - LPDDR4 model hacked for 20us +DATA 4 DDRC_INIT1_0 0x007A0000 // dram_rstn - LPDDR4 model hacked for 20us; +DATA 4 DDRC_INIT3_0 0x00440024 // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +//DATA 4 DDRC_INIT4_0 0x00310000 // MR3, MR13 +DATA 4 DDRC_INIT4_0 0x00F10000 // MR3=0xF1: DBI-WR=DBI-RD=1, PU-CAL=VDDQ/3 PDDS=RZQ/6, MR13 +//DATA 4 DDRC_RANKCTL_0 0x0000075f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_RANKCTL_0 0x0000066f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd, waiting for SNPS feedback +DATA 4 DDRC_DRAMTMG0_0 0x1619141a // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x00050527 // tXP, rd2pre, tRC +//DATA 4 DDRC_DRAMTMG2_0 0x060c1011 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG2_0 0x060E1111 // WL, RL (DBI enabled, 28), rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x0090900a // tmrw, tmrd, tmod +DATA 4 DDRC_DRAMTMG4_0 0x0c04070c // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x02040a05 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_DRAMTMG7_0 0x00000401 // tckpde, tckpdx +DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD (=tXP?) +DATA 4 DDRC_DRAMTMG13_0 0x0b100002 // tODTLoff, tCCDMW, tPPD +DATA 4 DDRC_DRAMTMG14_0 0x000000ae // txsr +DATA 4 DDRC_ZQCTL0_0 0x025b0013 // tZQCAL, tZQLAT + +DATA 4 DDRC_ZQCTL1_0 0x01f00100 // tZQReset, tzq_short_interval + +//DATA 4 DDRC_DFITMG0_0 0x0495820a // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG0_0 0x0499820a // dfi_t_ctrl_delay, dfi_t_rddata_en RL=28 with DBI enabled, dfi_tphy_wrdata, dfi_tphy_wrlat +DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +//DATA 4 DDRC_DFITMG2_0 0x00001308 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat RL=28 with DBI enabled, dfi_tphy_wrcslat +DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en + +DATA 4 DDRC_ADDRMAP0_0 0x00000014 // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated + +DATA 4 DDRC_ADDRMAP1_0 0x00070707 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x06060606 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x07070606 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 + +DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 + +DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x10D + +DATA 4 0x41C80208 0x1 + +DATA 4 0x41C80040 0xf + +DATA 4 0x41C80204 0x1 + + //------------------------------------------- + // Configure registers for PHY initialization + // Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) + //-------------------------------=------------ + + // Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank + + // Set-up byte and bit swapping registers +DATA 4 DDR_PHY_PGCR8_0 0x000F000A // Set BSWAPMSB='b1001 (byte 0 and 1 are swapped) +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00061032 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004578 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00071032 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004685 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00016578 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004203 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00015867 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004320 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +DATA 4 DDR_PHY_CATR1_0 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY + + // Set-up PHY General Configuration Register + // PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +CLR_BIT 4 DDR_PHY_DX2GCR1_0 0x000000FF +CLR_BIT 4 DDR_PHY_DX3GCR1_0 0x000000FF +DATA 4 DDR_PHY_PGCR2_0 0x00F0A190 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity + + // Set-up PHY Timing Register + // PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x3AA01520 // tPLLLOCK reduced to 4.3us, tPLLRST=9us + + // Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x000E0000 // FREQSEL=0 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x000E0000 + + // Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) + + // ZPROG_DRAM_ODT and ZPROG_HOST_ODT = 60ohm +//DATA 4 DDR_PHY_ZQ0PR0_0 0x0B7BB // comment is wrong => PU_DRV_ADJUST 3b001 = Adjust calibrated drive strength by 2/8 to obtain 1.25x of original strength +//DATA 4 DDR_PHY_ZQ1PR0_0 0x0B7BB +//DATA 4 DDR_PHY_ZQ2PR0_0 0x0B7BB +//DATA 4 DDR_PHY_ZQ3PR0_0 0x0B7BB +DATA 4 DDR_PHY_ZQ0PR0_0 0x1B7BB // PU_DRV_ADJUST 3b001 = Adjust calibrated drive strength by 2/8 to obtain 1.25x of original strength +DATA 4 DDR_PHY_ZQ1PR0_0 0x1B7BB +DATA 4 DDR_PHY_ZQ2PR0_0 0x1B7BB +DATA 4 DDR_PHY_ZQ3PR0_0 0x1B7BB + + + // Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x32 + + // Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x33 + + //------------------------------------------- + // Configure registers for DRAM initialization + //------------------------------------------- + + // Set-up Mode Register + // MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR=24, RPST +DATA 4 DDR_PHY_MR2_0 0x24 // Set RL=14/WL=8 +//DATA 4 DDR_PHY_MR3_0 0x31 // Set drive strength (40 Ohms by default) +DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength (40 Ohms by default), DBI_RD=DBI_WR=1 +DATA 4 DDR_PHY_MR11_0 0x05 // Set CA ODT=Disable DQ_ODT=RZQ/5 +DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks), SoC ODT = RZQ/5 + +/* LPDDR4 mode register writes for CA and DQ VREF settings; range=1, 27.2% */ +DATA 4 DDR_PHY_MR12_0 0x48 +DATA 4 DDR_PHY_MR14_0 0x48 + + // Set-up DRAM Timing Parameters Register + // DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x0d331a09 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28310411 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x006a615a // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x01512b0D // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x194c160d // tRC, tRCD, tWTR + + // Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00249F80 // tDINIT0 - 2ms +DATA 4 DDR_PHY_PTR4_0 0x00000970 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_0 0x0003A9A0 // tDINIT2 - normally 200us but memory model hacked to 20us +DATA 4 DDR_PHY_PTR6_0 0x027004B5 // tDINIT4 (30ns), tDINIT3 (1us) + + // RDIMMGCR0-2 RDIMMGCR0-4?? + + // Set-up DATX8 Common Configuration Register + // DXCCR is untouched + + // Set-up DDR System General Configuration Register + // DSGCR is untouched + + // Set-up ODT Configuration Register + // DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 1 // Select rank 1 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +DATA 4 DDR_PHY_RANKIDR_0 0 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled + + // Set-up Anti-Aging Control Register + // AACR is untouched + + // Set-up Data Training Address Register + // DTAR0-3 are untouched + // !! DTAR3 is not described in spec !! + + // Set-up AC I/O Configuration Register + // ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 + // Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 + + // IOVCR0-1, DXnGCR0-4??, CALBYP + + // Set-up VREF Training Control Registers +DATA 4 DDR_PHY_VTCR0_0 0xF0032019 // CK1, CK0 +DATA 4 DDR_PHY_VTCR1_0 0x07F00193 // HVIO=1, SHREN=1, SHRNK=0 + + // Set-up DATX8 General Configuration Registers + // DXnGCR0-4 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 +DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit + +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults + + // Set-up DATX8 DX Control Register 2 + // PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 + + // Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 + +#if 1 +/* DDR training is performed in FW, remove here */ + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + + // Launch DRAM initialization +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + + // Launch a second time DRAM initialization due to following Synopsys PHY bug: + // Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" + // Workaround: "Run DRAM Initialization twice" +DATA 4 DDR_PHY_PIR_0 0x100 +DATA 4 DDR_PHY_PIR_0 0x101 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + + // Set-up Data Training Configuration Register + // Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys + // case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). + // (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x000071CF // Set DTRPTN to 0xF. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00030236 // Set RANKEN=3 + +CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF + +/* -- Write leveling */ +DATA 4 DDR_PHY_PIR_0 0x00000200 +DATA 4 DDR_PHY_PIR_0 0x00000201 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// -- Read DQS training +// Set DQS/DQSn glitch suppression resistor for training +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 + +/* Launch training for DRC_0 */ +DATA 4 DDR_PHY_PIR_0 0x00000400 +DATA 4 DDR_PHY_PIR_0 0x00000401 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 + +/* Remove DQS/DQSn glitch suppression resistor */ +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +/* DQS2DQ training, Write leveling, Deskew and eye trainings */ +DATA 4 DDR_PHY_PIR_0 0x0010F800 +DATA 4 DDR_PHY_PIR_0 0x0010F801 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +/* VREF training for DRC_0 */ +DATA 4 DDR_PHY_PIR_0 0x00020000 +DATA 4 DDR_PHY_PIR_0 0x00020001 + + // Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 + // Check that no error occured +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 + + //Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 + +SET_BIT 4 DDR_PHY_DX8SL1PLLCR0_0 0x20000000 +SET_BIT 4 DDR_PHY_DX8SL2PLLCR0_0 0x20000000 + +//DQS Drift Registers +CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 +CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 +DATA 4 DDR_PHY_DQSDR0_0 0x20188005 +//DATA 4 DDR_PHY_DQSDR1_0 0xA8770100 +//DATA 4 DDR_PHY_DQSDR2_0 0x00062000 +DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 // SNPS recommendation +DATA 4 DDR_PHY_DQSDR2_0 0x00070200 // SNPS recommendation + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_1066MHz_ecc.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_1066MHz_ecc.cfg new file mode 100644 index 0000000..3d8fe87 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_1066MHz_ecc.cfg @@ -0,0 +1,243 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +// Set DRAM clock frequency for the following operation: 1066MHz +DATA 4 0xff190000 0x00000CB1 /* DRC0 bringup */ +#else +/* Set the DRC rate to achieve a DRAM rate as close as possible to 1066MHz. */ +uint32_t rate2 = 531000000; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 +DATA 4 0x41C80040 0xb // Assert uMCTL2 core reset +DATA 4 0x41C80204 0x1 // Start functional clocks. + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0x81040001 // Set DDR3l, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x0082008B // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x40030106 // pre_cke +DATA 4 DDRC_INIT1_0 0x006A0000 // dram_rstn +DATA 4 DDRC_INIT3_0 0x00240006 // MR0, MR1 +DATA 4 DDRC_INIT4_0 0x00280000 // MR2, MR3 +DATA 4 DDRC_INIT5_0 0x000C0000 // ZQINIT +DATA 4 DDRC_RANKCTL_0 0x0000072F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x0F132412 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x000D0419 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x0507060B // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00002008 // T_MOD, T_MRD +DATA 4 DDRC_DRAMTMG4_0 0x07020408 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x06060403 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG8_0 0x03030906 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_ZQCTL0_0 0x40AB002B // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02000083 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x048A8207 +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000805 +DATA 4 DDRC_DFIMISC_0 0x00000001 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0xE0400018 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x001A0057 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +DATA 4 DDRC_ECCCFG0_0 0x044FFFC4 // ecc support (uncommented when ECC is enabled) + +DATA 4 DDRC_ODTCFG_0 0x06000610 +DATA 4 DDRC_ODTMAP_0 0x00000001 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x00000000 + +DATA 4 0x41c80208 0x1 +DATA 4 0x41c80040 0xf +DATA 4 0x41c80204 0x1 + +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for 1066MHz DRAM operation +//-------------------------------------------- +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040B // DDR3 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00071628 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004053 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00073826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004150 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053608 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004170 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX4DQMAP0_0 0x00005281 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX4DQMAP1_0 0x00004736 // DQ bit 5/6/7 and DM remapping +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F1024C // Set tREFPRD +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x42C21550 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x340F12BE // tPLLLOCK, tPLLRST +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x011C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x011C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2858 // Set ODT_MODE=0b10(DDR3 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x77BB // Optimal setting based on factory testing +DATA 4 DDR_PHY_ZQ1PR0_0 0x77BB // Optimal setting based on factory testing +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x72 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x73 + + +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR0_0 0x00000024 +DATA 4 DDR_PHY_MR1_0 0x00000006 +DATA 4 DDR_PHY_MR2_0 0x00000028 +DATA 4 DDR_PHY_MR3_0 0x00000000 + +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x07240E08 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28260400 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x01060200 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x02000000 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x01160C1A // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x00320E09 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x0008223A // tDINIT0 +DATA 4 DDR_PHY_PTR4_0 0x00000116 // tDINIT1 +DATA 4 DDR_PHY_PTR5_0 0x000340E4 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x0400042C // tDINIT4, tDINIT3 + + +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00010000 // ODT of rank1 disabled + + +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070400 // PNUM2 (i.e.DDR3) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x00000000 // I/O mode = DDR3 +DATA 4 DDR_PHY_IOVCR0_0 0x03000000 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX4GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX4GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x00000000 // I/O mode = DDR3 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in DDR3 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x800031CF // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00010237 // Set RANKEN=3 + +// CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 (this line is commented out when ECC is enabled) + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +// DQS2DQ training, Write leveling, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0000F800 +DATA 4 DDR_PHY_PIR_0 0x0000F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=0, PUBMODE=0 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 + +#endif + +// ECC Support (the following lines are uncommented when ECC is enabled) +DATA 4 DDRC_PCTRL_0_0 0x00000000 // Disable Port 0 +DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_mode = 1 +DATA 4 DDRC_SBRWDATA0_0 0x55AA55AA // SBRWDATA0 = 55AA55AA +DATA 4 DDRC_SBRCTL_0 0x00000015 // Scrub_en = 1 +CHECK_BITS_SET 4 DDRC_SBRSTAT_0 0x2 // Wait for Scrub done +CHECK_BITS_CLR 4 DDRC_SBRSTAT_0 0x1 // Wait for Scrub done +DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_en = 0 +DATA 4 DDRC_SBRCTL_0 0x000FFF10 // Scrub_interval = 1 +DATA 4 DDRC_SBRCTL_0 0x000FFF11 // Scrub_en = 1 +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable Port 0 + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_800MHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_800MHz.cfg new file mode 100644 index 0000000..c68cb3d --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_800MHz.cfg @@ -0,0 +1,275 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +/* For 800MHz DDR, DRC 400MHz operation */ +//DATA 4 0xff190000 0x00000C84 /* DRC0 bringup */ +DATA 4 0xff190000 0x00000C85 /* DRC0 bringup */ +#else +/* Set the DRC rate to 400MHz, the PHY PLL will double this for the DRAM rate. */ +uint32_t rate2 = SC_400MHZ; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 +DATA 4 0x41C80040 0xb // Assert uMCTL2 core reset +DATA 4 0x41C80204 0x1 // Start functional clocks. + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0x81040001 // Set DDR3l, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x0081008B // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x40030002 // pre_cke = 2ms is too long - DDR3 model hacked for 20us +DATA 4 DDRC_INIT1_0 0x00690000 // dram_rstn - DDR3 model hacked for 20us; +DATA 4 DDRC_INIT3_0 0x00240006 // MR0, MR1 +DATA 4 DDRC_INIT4_0 0x00280000 // MR2, MR3 +DATA 4 DDRC_INIT5_0 0x0009000F // ZQINIT +DATA 4 DDRC_RANKCTL_0 0x0000072F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x0F132412 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x000D0419 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x0507090B // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00002008 // T_MOD, T_MRD +DATA 4 DDRC_DRAMTMG4_0 0x07020408 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x0B0B0403 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG8_0 0x04043D07 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_ZQCTL0_0 0x40AB002B // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x15500083 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x048A8207 +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000805 +DATA 4 DDRC_DFIMISC_0 0x00000001 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0xE0400018 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x001A0057 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +//DATA 4 DDRC_ECCCFG0 0x044FFFC4 // ecc support +//DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 +DATA 4 DDRC_ODTCFG_0 0x06000610 +DATA 4 DDRC_ODTMAP_0 0x00000001 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +//DATA 4 DDRC_PWRCTL_0 0x0000000B + +DATA 4 0x41c80208 0x1 +DATA 4 0x41c80040 0xf +DATA 4 0x41c80204 0x1 + +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for 800MHz DRAM operation +//-------------------------------------------- +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040B // DDR3 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00061032 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004578 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00071032 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004685 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00016578 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004203 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00015867 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004320 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX4DQMAP0_0 0x00015867 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX4DQMAP1_0 0x00004320 // DQ bit 5/6/7 and DM remapping +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) and WDQSEXT=1 +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F030C0 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x42C21590 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x341E12C8 // tPLLLOCK reduced to 4.3us, tPLLRST=9us +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x011C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x011C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2858 // Set ODT_MODE=0b10(DDR3 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x77BB // Optimal setting based on factory testing +DATA 4 DDR_PHY_ZQ1PR0_0 0x77BB // Optimal setting based on factory testing +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x72 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x73 + + +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR0_0 0x0024 // Set BL, WR-PRE, nWR, RPST +DATA 4 DDR_PHY_MR1_0 0x0006 // Set RL, WL +DATA 4 DDR_PHY_MR2_0 0x0028 // Set drive strength +DATA 4 DDR_PHY_MR3_0 0x0000 + +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x08250E09 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28260500 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x01060200 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x02000000 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x018A0C1A // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x00320E09 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00082472 // tDINIT0 - 2ms +DATA 4 DDR_PHY_PTR4_0 0x00000181 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_0 0x000341C8 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x0400042C // tDINIT4 (30ns), tDINIT3 (1us) + + +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00010000 // ODT of rank1 disabled + + +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070400 // PNUM2 (i.e.DDR3) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x00000000 // I/O mode = DDR3 +//DATA 4 DDR_PHY_ACIOCR1_0 0x80000000 +DATA 4 DDR_PHY_IOVCR0_0 0x03000000 // DDR_PHY_IOVCR0 + +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +SET_BIT 4 DDR_PHY_PGCR5_0 0x4 +//DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX4GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX4GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x00000000 // I/O mode = DDR3 + +// ECC Support +//DATA 4 DDRC_PCTRL_0_0 0x00000000 // Disable Port 0 +//DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_mode = 1 +//DATA 4 DDRC_SBRWDATA0_0 0x55AA55AA // SBRWDATA0 = 55AA55AA +//DATA 4 DDRC_SBRCTL_0 0x00000015 // Scrub_en = 1 +//CHECK_BITS_CLR 4 DDRC_SBRSTAT_0 0x1 // Wait for Scrub done +//DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_en = 0 +//DATA 4 DDRC_SBRCTL_0 0x00000110 // Scrub_interval = 1 +//DATA 4 DDRC_SBRCTL_0 0x00000111 // Scrub_en = 1 +//DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable Port 0 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +// Launch a second time DRAM initialization due to following Synopsys PHY bug: +// Title: "PUB does not program DDR3 DRAM MR22 prior to running DRAM ZQ calibration" +// Workaround: "Run DRAM Initialization twice" +//DATA 4 DDR_PHY_PIR_0 0x100 +//DATA 4 DDR_PHY_PIR_0 0x101 + +// Wait (second time) DRAM 0 initialization end +//CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +//CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// configure PHY for data training +// The following register writes are recommended by SNPS prior to running training +//CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 // Disable drift +//SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 // Disable VT compensation +//CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 // Disable VT compensation +//SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 +// Per SNPS initialize BIST registers for VREF training +//DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +//DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +//DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) + +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in DDR3 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x800031CF // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00010236 // Set RANKEN=3 + +CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +// DQS2DQ training, Write leveling, Deskew and eye trainings +//DATA 4 DDR_PHY_PIR_0 0x0010F800 +//DATA 4 DDR_PHY_PIR_0 0x0010F801 +DATA 4 DDR_PHY_PIR_0 0x0000F800 +DATA 4 DDR_PHY_PIR_0 0x0000F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +// Launch VREF training +//DATA 4 DDR_PHY_PIR_0 0x00020000 +//DATA 4 DDR_PHY_PIR_0 0x00020001 +// Wait for training to complete +//CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +//CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=0, PUBMODE=0 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_800MHz_ecc.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_800MHz_ecc.cfg new file mode 100644 index 0000000..fdf6710 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_800MHz_ecc.cfg @@ -0,0 +1,243 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +// Set DRAM clock frequency for the following operation: 800MHz +DATA 4 0xff190000 0x00000C85 /* DRC0 bringup */ +#else +/* Set the DRC rate to achieve a DRAM rate as close as possible to 800MHz. */ +uint32_t rate2 = SC_400MHz; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 +DATA 4 0x41C80040 0xb // Assert uMCTL2 core reset +DATA 4 0x41C80204 0x1 // Start functional clocks. + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0x81040001 // Set DDR3l, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x00620068 // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x400300C5 // pre_cke +DATA 4 DDRC_INIT1_0 0x00500000 // dram_rstn +DATA 4 DDRC_INIT3_0 0x00700006 // MR0, MR1 +DATA 4 DDRC_INIT4_0 0x00180000 // MR2, MR3 +DATA 4 DDRC_INIT5_0 0x00090000 // ZQINIT +DATA 4 DDRC_RANKCTL_0 0x0000072F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x0C0E1B0E // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x000A0313 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x04060609 // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00002006 // T_MOD, T_MRD +DATA 4 DDRC_DRAMTMG4_0 0x06020306 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x04040403 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG8_0 0x03030905 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_ZQCTL0_0 0x40800020 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02000062 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x04878205 +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000503 +DATA 4 DDRC_DFIMISC_0 0x00000001 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0xE0400018 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x001A0057 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +DATA 4 DDRC_ECCCFG0_0 0x044FFFC4 // ecc support (uncommented when ECC is enabled) + +DATA 4 DDRC_ODTCFG_0 0x06000610 +DATA 4 DDRC_ODTMAP_0 0x00000001 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x00000000 + +DATA 4 0x41c80208 0x1 +DATA 4 0x41c80040 0xf +DATA 4 0x41c80204 0x1 + +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for 800MHz DRAM operation +//-------------------------------------------- +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040B // DDR3 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00071628 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004053 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00073826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004150 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053608 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004170 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX4DQMAP0_0 0x00005281 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX4DQMAP1_0 0x00004736 // DQ bit 5/6/7 and DM remapping +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F0C170 // Set tREFPRD +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x32019010 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x27100E10 // tPLLLOCK, tPLLRST +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x011C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x011C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2858 // Set ODT_MODE=0b10(DDR3 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x77BB // Optimal setting based on factory testing +DATA 4 DDR_PHY_ZQ1PR0_0 0x77BB // Optimal setting based on factory testing +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x72 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x73 + + +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR0_0 0x00000070 +DATA 4 DDR_PHY_MR1_0 0x00000006 +DATA 4 DDR_PHY_MR2_0 0x00000018 +DATA 4 DDR_PHY_MR3_0 0x00000000 + +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x051B0B06 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x281C0000 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x01060200 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x02000000 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x00D00C14 // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x00250B07 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00061A80 // tDINIT0 +DATA 4 DDR_PHY_PTR4_0 0x000000D0 // tDINIT1 +DATA 4 DDR_PHY_PTR5_0 0x00027100 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x04000321 // tDINIT4, tDINIT3 + + +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00010000 // ODT of rank1 disabled + + +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070400 // PNUM2 (i.e.DDR3) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x00000000 // I/O mode = DDR3 +DATA 4 DDR_PHY_IOVCR0_0 0x03000000 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX4GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX4GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x00000000 // I/O mode = DDR3 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in DDR3 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x800031CF // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00010237 // Set RANKEN=3 + +// CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 (this line is commented out when ECC is enabled) + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +// DQS2DQ training, Write leveling, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0000F800 +DATA 4 DDR_PHY_PIR_0 0x0000F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=0, PUBMODE=0 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 + +#endif + +// ECC Support (the following lines are uncommented when ECC is enabled) +DATA 4 DDRC_PCTRL_0_0 0x00000000 // Disable Port 0 +DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_mode = 1 +DATA 4 DDRC_SBRWDATA0_0 0x55AA55AA // SBRWDATA0 = 55AA55AA +DATA 4 DDRC_SBRCTL_0 0x00000015 // Scrub_en = 1 +CHECK_BITS_SET 4 DDRC_SBRSTAT_0 0x2 // Wait for Scrub done +CHECK_BITS_CLR 4 DDRC_SBRSTAT_0 0x1 // Wait for Scrub done +DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_en = 0 +DATA 4 DDRC_SBRCTL_0 0x000FFF10 // Scrub_interval = 1 +DATA 4 DDRC_SBRCTL_0 0x000FFF11 // Scrub_en = 1 +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable Port 0 + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_933MHz.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_933MHz.cfg new file mode 100644 index 0000000..5f09f04 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_933MHz.cfg @@ -0,0 +1,244 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +//DATA 4 0xff190000 0x00000C84 /* DRC0 bringup */ +/* For 800MHz DDR, DRC 400MHz operation */ +//DATA 4 0xff190000 0x00000C85 /* DRC0 bringup */ +/* For 933MHz DDR, DRC 465MHz operation */ +DATA 4 0xff190000 0x00000C9B /* DRC0 bringup */ +#else +/* Set the DRC rate to 465MHz, the PHY PLL will double this for the DRAM rate. */ +uint32_t rate2 = SC_465MHZ; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 +DATA 4 0x41C80040 0xb // Assert uMCTL2 core reset +DATA 4 0x41C80204 0x1 // Start functional clocks. + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0x81040001 // Set DDR3l, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x0072007A // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x400300E5 // pre_cke = 2ms is too long - DDR3 model hacked for 20us +DATA 4 DDRC_INIT1_0 0x005D0000 // dram_rstn - DDR3 model hacked for 20us; +DATA 4 DDRC_INIT3_0 0x00140006 // MR0, MR1 +DATA 4 DDRC_INIT4_0 0x00200000 // MR2, MR3 +DATA 4 DDRC_INIT5_0 0x000B0000 // ZQINIT +DATA 4 DDRC_RANKCTL_0 0x0000072F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x0E112010 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x000C0416 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x0507090B // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00002008 // T_MOD, T_MRD +DATA 4 DDRC_DRAMTMG4_0 0x07020307 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x05050403 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG8_0 0x03030905 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_ZQCTL0_0 0x40960026 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02000072 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x04898206 +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000704 +DATA 4 DDRC_DFIMISC_0 0x00000001 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0xE0400018 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x001A0057 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +// DATA 4 DDRC_ECCCFG0 0x044FFFC0 // ecc support + +DATA 4 DDRC_ODTCFG_0 0x06000610 +DATA 4 DDRC_ODTMAP_0 0x00000001 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x00000000 + +DATA 4 0x41c80208 0x1 +DATA 4 0x41c80040 0xf +DATA 4 0x41c80204 0x1 + +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for 933MHz DRAM operation +//-------------------------------------------- +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040B // DDR3 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00071628 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004053 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00073826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004150 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053608 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004170 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX4DQMAP0_0 0x00005281 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX4DQMAP1_0 0x00004736 // DQ bit 5/6/7 and DM remapping +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F0E207 // Set tREFPRD (9*3.904us - 600) +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x3A61D310 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x2D98106A // tPLLLOCK reduced to 4.3us, tPLLRST=9us +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x011C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x011C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2858 // Set ODT_MODE=0b10(DDR3 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x77BB // Optimal setting based on factory testing +DATA 4 DDR_PHY_ZQ1PR0_0 0x77BB // Optimal setting based on factory testing +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x72 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x73 + + +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR0_0 0x00000014 +DATA 4 DDR_PHY_MR1_0 0x00000006 +DATA 4 DDR_PHY_MR2_0 0x00000020 +DATA 4 DDR_PHY_MR3_0 0x00000000 + +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x061F0D08 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28210300 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x01060200 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x02000000 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x00F30C17 // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x002C0D09 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00071FA6 // tDINIT0 - 2ms +DATA 4 DDR_PHY_PTR4_0 0x000000F3 // tDINIT1 (2000ns) +DATA 4 DDR_PHY_PTR5_0 0x0002D976 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x040003A7 // tDINIT4 (30ns), tDINIT3 (1us) + + +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00010000 // ODT of rank1 disabled + + +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070400 // PNUM2 (i.e.DDR3) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x00000000 // I/O mode = DDR3 +DATA 4 DDR_PHY_IOVCR0_0 0x03000000 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX4GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX4GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x00000000 // I/O mode = DDR3 + +// ECC Support +//DATA 4 DDRC_PCTRL_0_0 0x00000000 // Disable Port 0 +//DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_mode = 1 +//DATA 4 DDRC_SBRWDATA0_0 0x55AA55AA // SBRWDATA0 = 55AA55AA +//DATA 4 DDRC_SBRCTL_0 0x00000015 // Scrub_en = 1 +//CHECK_BITS_CLR 4 DDRC_SBRSTAT_0 0x1 // Wait for Scrub done +//DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_en = 0 +//DATA 4 DDRC_SBRCTL_0 0x00000110 // Scrub_interval = 1 +//DATA 4 DDRC_SBRCTL_0 0x00000111 // Scrub_en = 1 +//DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable Port 0 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in DDR3 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x800031CF // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00010237 // Set RANKEN=3 + +CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +// DQS2DQ training, Write leveling, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0000F800 +DATA 4 DDR_PHY_PIR_0 0x0000F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=0, PUBMODE=0 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_933MHz_ecc.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_933MHz_ecc.cfg new file mode 100644 index 0000000..5026496 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/imx8qx_ddr3_dcd_933MHz_ecc.cfg @@ -0,0 +1,243 @@ +#define __ASSEMBLY__ + +#include +#include + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +#ifndef SCFW_DCD +// Set DRAM clock frequency for the following operation: 933MHz +DATA 4 0xff190000 0x00000C9B /* DRC0 bringup */ +#else +/* Set the DRC rate to achieve a DRAM rate as close as possible to 933MHz. */ +uint32_t rate2 = 465000000; +pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +#endif + +DATA 4 0x41C80208 0x1 +DATA 4 0x41C80040 0xb // Assert uMCTL2 core reset +DATA 4 0x41C80204 0x1 // Start functional clocks. + +/* DRAM 0 controller configuration begin */ +DATA 4 DDRC_MSTR_0 0x81040001 // Set DDR3l, BL = 16 and active ranks +DATA 4 DDRC_RFSHTMG_0 0x0072007A // tREFI, tRFC +DATA 4 DDRC_INIT0_0 0x400300E5 // pre_cke +DATA 4 DDRC_INIT1_0 0x005D0000 // dram_rstn +DATA 4 DDRC_INIT3_0 0x00140006 // MR0, MR1 +DATA 4 DDRC_INIT4_0 0x00200000 // MR2, MR3 +DATA 4 DDRC_INIT5_0 0x000B0000 // ZQINIT +DATA 4 DDRC_RANKCTL_0 0x0000072F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +DATA 4 DDRC_DRAMTMG0_0 0x0E112010 // wr2pr, tFAW, tRASmax, tRASmin +DATA 4 DDRC_DRAMTMG1_0 0x000C0416 // tXP, rd2pre, tRC +DATA 4 DDRC_DRAMTMG2_0 0x0507060B // WL, RL, rd2wr, wr2rd +DATA 4 DDRC_DRAMTMG3_0 0x00002008 // T_MOD, T_MRD +DATA 4 DDRC_DRAMTMG4_0 0x07020307 // trcd, tccd, trrd, trp +DATA 4 DDRC_DRAMTMG5_0 0x05050403 // tCKCKEH, tCKCKEL, tckesr, tcke +DATA 4 DDRC_DRAMTMG8_0 0x03030905 // tckdpde, tckdpdx, tckcsx +DATA 4 DDRC_ZQCTL0_0 0x40960026 // tZQCAL, tZQLAT +DATA 4 DDRC_ZQCTL1_0 0x02000072 // tZQReset, tzq_short_interval +DATA 4 DDRC_DFITMG0_0 0x04898206 +DATA 4 DDRC_DFITMG1_0 0x00060303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +DATA 4 DDRC_DFITMG2_0 0x00000704 +DATA 4 DDRC_DFIMISC_0 0x00000001 // dfi_data_cs_polarity +DATA 4 DDRC_DFIUPD0_0 0xE0400018 // Disable the automatic dfi_ctrlupd_req generation +DATA 4 DDRC_DFIUPD1_0 0x001A0057 // dfi_ctrlupd_req generation interval generation (min and max) +DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +DATA 4 DDRC_ECCCFG0_0 0x044FFFC4 // ecc support (uncommented when ECC is enabled) + +DATA 4 DDRC_ODTCFG_0 0x06000610 +DATA 4 DDRC_ODTMAP_0 0x00000001 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 + +DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 + +DATA 4 DDRC_PWRCTL_0 0x00000000 + +DATA 4 0x41c80208 0x1 +DATA 4 0x41c80040 0xf +DATA 4 0x41c80204 0x1 + +//------------------------------------------- +// Configure registers for PHY initialization +// Timings are computed for 933MHz DRAM operation +//-------------------------------------------- +// Set-up DRAM Configuration Register +DATA 4 DDR_PHY_DCR_0 0x0000040B // DDR3 selection with 8 bank +// Set-up byte and bit swapping registers +DATA 4 DDR_PHY_DX0DQMAP0_0 0x00071628 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004053 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX1DQMAP0_0 0x00073826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004150 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053608 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004271 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053826 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004170 // DQ bit 5/6/7 and DM remapping +DATA 4 DDR_PHY_DX4DQMAP0_0 0x00005281 // DQ bit 0/1/2/3/4 remapping +DATA 4 DDR_PHY_DX4DQMAP1_0 0x00004736 // DQ bit 5/6/7 and DM remapping +// Set-up PHY General Configuration Register +// PGCR1,4,5,6,7 are untouched +SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +DATA 4 DDR_PHY_PGCR0_0 0x07001E00 // Set ADCP=1 (Address Copy) +DATA 4 DDR_PHY_PGCR2_0 0x00F0E207 // Set tREFPRD +DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +// Set-up PHY Timing Register +// PTR2 is untouched +DATA 4 DDR_PHY_PTR0_0 0x3A61D310 // tPLLPD, tPLLGS, tPHYRST +DATA 4 DDR_PHY_PTR1_0 0x2D98106A // tPLLLOCK, tPLLRST +// Set-up PLL Control Register +DATA 4 DDR_PHY_PLLCR0_0 0x011C0000 +DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x011C0000 +// Set-up Impedance Control Register +DATA 4 DDR_PHY_ZQCR_0 0x008A2858 // Set ODT_MODE=0b10(DDR3 stype pullup) +// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +DATA 4 DDR_PHY_ZQ0PR0_0 0x77BB // Optimal setting based on factory testing +DATA 4 DDR_PHY_ZQ1PR0_0 0x77BB // Optimal setting based on factory testing +// Set-up PHY Initialization Register +DATA 4 DDR_PHY_PIR_0 0x72 +// Launch initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x73 + + +//------------------------------------------- +// Configure registers for DRAM initialization +//------------------------------------------- +// Set-up Mode Register +// MR0, MR3, MR4, MR5 MR6 are untouched +DATA 4 DDR_PHY_MR0_0 0x00000014 +DATA 4 DDR_PHY_MR1_0 0x00000006 +DATA 4 DDR_PHY_MR2_0 0x00000020 +DATA 4 DDR_PHY_MR3_0 0x00000000 + +// Set-up DRAM Timing Parameters Register +// DTPR6 is untouched +DATA 4 DDR_PHY_DTPR0_0 0x061F0D08 // tRRD, tRAS, tRP, tRTP +DATA 4 DDR_PHY_DTPR1_0 0x28210300 // tWLMRD, tFAW, tODTUP, tMRD +DATA 4 DDR_PHY_DTPR2_0 0x01060200 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +DATA 4 DDR_PHY_DTPR3_0 0x02000000 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +DATA 4 DDR_PHY_DTPR4_0 0x00F30C17 // tRFC, tWLO, tXP +DATA 4 DDR_PHY_DTPR5_0 0x002C0D09 // tRC, tRCD, tWTR +// Set-up PHY Timing Register +DATA 4 DDR_PHY_PTR3_0 0x00071FA6 // tDINIT0 +DATA 4 DDR_PHY_PTR4_0 0x000000F3 // tDINIT1 +DATA 4 DDR_PHY_PTR5_0 0x0002D976 // tDINIT2 +DATA 4 DDR_PHY_PTR6_0 0x040003A7 // tDINIT4, tDINIT3 + + +// Set-up ODT Configuration Register +// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +DATA 4 DDR_PHY_ODTCR_0 0x00010000 // ODT of rank1 disabled + + +// Set-up AC I/O Configuration Register +// ACIOCR1-4 are untouched +DATA 4 DDR_PHY_ACIOCR0_0 0x30070400 // PNUM2 (i.e.DDR3) selection [10:11] = 0x2 +DATA 4 DDR_PHY_ACIOCR5_0 0x00000000 // I/O mode = DDR3 +DATA 4 DDR_PHY_IOVCR0_0 0x03000000 +// Set-up DATX8 General Configuration Registers +// DXnGCR0-4 are untouched +DATA 4 DDR_PHY_PGCR5_0 0x01010004 +// Set-up DATX8 General Configuration Registers +DATA 4 DDR_PHY_DX0GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX1GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX2GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX3GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX4GCR5_0 0x09090930 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +DATA 4 DDR_PHY_DX0GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX1GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX2GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX3GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +DATA 4 DDR_PHY_DX4GCR4_0 0x020BBF04 // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +// Set-up DATX8 DX Control Register 2 +// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +// Set-up DATX8 IO Control Register +DATA 4 DDR_PHY_DX8SLbIOCR_0 0x00000000 // I/O mode = DDR3 + +#if DDR_TRAIN_IN_DCD +// Wait PHY initialization end then launch DRAM initialization +// Wait for bit 0 of PGSR0 to be '1' +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured + +// Launch DRAM 0 initialization (set bit 0) +DATA 4 DDR_PHY_PIR_0 0x180 +DATA 4 DDR_PHY_PIR_0 0x181 + +// DRAM 0 initialization end +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//---------------------------------------------------------------// +// DATA training +//---------------------------------------------------------------// +// Set-up Data Training Configuration Register +// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +// case 9001045655: Design limitation in DDR3 mode: REFRESH must be disabled during DQS2DQ training). +// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +DATA 4 DDR_PHY_DTCR0_0 0x800031CF // Set DTRPTN to 0x7. RFSHDT=0 +DATA 4 DDR_PHY_DTCR1_0 0x00010237 // Set RANKEN=3 + +// CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 (this line is commented out when ECC is enabled) + +// Launch Write leveling +DATA 4 DDR_PHY_PIR_0 0x200 +DATA 4 DDR_PHY_PIR_0 0x201 +// Wait Write leveling to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 + +// Set DQS/DQSn glitch suppression resistor for training PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +// Launch Read DQS training +DATA 4 DDR_PHY_PIR_0 0x400 +DATA 4 DDR_PHY_PIR_0 0x401 +// Wait Read DQS training to complete PHY0 +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +// Remove DQS/DQSn glitch suppression resistor PHY0 +DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 + +// DQS2DQ training, Write leveling, Deskew and eye trainings +DATA 4 DDR_PHY_PIR_0 0x0000F800 +DATA 4 DDR_PHY_PIR_0 0x0000F801 +// Wait for training to complete +CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 + +//Re-allow uMCTL2 to send commands to DDR +CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=0, PUBMODE=0 + +//Check that controller is ready to operate +CHECK_BITS_SET 4 DDRC_STAT_0 0x1 + +#endif + +// ECC Support (the following lines are uncommented when ECC is enabled) +DATA 4 DDRC_PCTRL_0_0 0x00000000 // Disable Port 0 +DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_mode = 1 +DATA 4 DDRC_SBRWDATA0_0 0x55AA55AA // SBRWDATA0 = 55AA55AA +DATA 4 DDRC_SBRCTL_0 0x00000015 // Scrub_en = 1 +CHECK_BITS_SET 4 DDRC_SBRSTAT_0 0x2 // Wait for Scrub done +CHECK_BITS_CLR 4 DDRC_SBRSTAT_0 0x1 // Wait for Scrub done +DATA 4 DDRC_SBRCTL_0 0x00000014 // Scrub_en = 0 +DATA 4 DDRC_SBRCTL_0 0x000FFF10 // Scrub_interval = 1 +DATA 4 DDRC_SBRCTL_0 0x000FFF11 // Scrub_en = 1 +DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable Port 0 + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/lib/ddr_phy_mem_map.h b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/lib/ddr_phy_mem_map.h new file mode 100644 index 0000000..54308b6 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/lib/ddr_phy_mem_map.h @@ -0,0 +1,1928 @@ +/* +** ################################################################### +** +** Copyright (c) 2016 Freescale Semiconductor, Inc. +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** +** o Redistributions of source code must retain the above copyright notice, this list +** of conditions and the following disclaimer. +** +** o Redistributions in binary form must reproduce the above copyright notice, this +** list of conditions and the following disclaimer in the documentation and/or +** other materials provided with the distribution. +** +** o Neither the name of Freescale Semiconductor, Inc. nor the names of its +** contributors may be used to endorse or promote products derived from this +** software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +** http: www.freescale.com +** mail: support@freescale.com +** +** ################################################################### +*/ + +#ifndef __DDR_PHY_MEM_MAP_H__ +#define __DDR_PHY_MEM_MAP_H__ + +//JDG change base addr for DDR_PHY +//#define DDR_PHY_BASE_ADDR(X) 0x5c000000 + ((X & 1) * 0x20000) + ((X & 2) * 0x30000) + 0x10000 +#define DDR_PHY_BASE_ADDR(X) 0x5c000000 + ((X * 0x100000) + 0x10000) + +// Following defines registers offset of the Synopsys DesignWare Cores LPDDR4 multiPHY Utility Block (PUB) +#define DDR_PHY_RIDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x000) +#define DDR_PHY_RIDR_0 0x5c010000 +#define DDR_PHY_RIDR_1 0x5c110000 +#define DDR_PHY_PIR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x001) +#define DDR_PHY_PIR_0 0x5c010004 +#define DDR_PHY_PIR_1 0x5c110004 +#define DDR_PHY_PGCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x004) +#define DDR_PHY_PGCR0_0 0x5c010010 +#define DDR_PHY_PGCR0_1 0x5c110010 +#define DDR_PHY_PGCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x005) +#define DDR_PHY_PGCR1_0 0x5c010014 +#define DDR_PHY_PGCR1_1 0x5c110014 +#define DDR_PHY_PGCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x006) +#define DDR_PHY_PGCR2_0 0x5c010018 +#define DDR_PHY_PGCR2_1 0x5c110018 +#define DDR_PHY_PGCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x007) +#define DDR_PHY_PGCR3_0 0x5c01001c +#define DDR_PHY_PGCR3_1 0x5c11001c +#define DDR_PHY_PGCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x008) +#define DDR_PHY_PGCR4_0 0x5c010020 +#define DDR_PHY_PGCR4_1 0x5c110020 +#define DDR_PHY_PGCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x009) +#define DDR_PHY_PGCR5_0 0x5c010024 +#define DDR_PHY_PGCR5_1 0x5c110024 +#define DDR_PHY_PGCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00A) +#define DDR_PHY_PGCR6_0 0x5c010028 +#define DDR_PHY_PGCR6_1 0x5c110028 +#define DDR_PHY_PGCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00B) +#define DDR_PHY_PGCR7_0 0x5c01002c +#define DDR_PHY_PGCR7_1 0x5c11002c +#define DDR_PHY_PGSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00C) +#define DDR_PHY_PGSR0_0 0x5c010030 +#define DDR_PHY_PGSR0_1 0x5c110030 +#define DDR_PHY_PGSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00D) +#define DDR_PHY_PGSR1_0 0x5c010034 +#define DDR_PHY_PGSR1_1 0x5c110034 +#define DDR_PHY_PGSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x00E) +#define DDR_PHY_PGSR2_0 0x5c010038 +#define DDR_PHY_PGSR2_1 0x5c110038 +#define DDR_PHY_PTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x010) +#define DDR_PHY_PTR0_0 0x5c010040 +#define DDR_PHY_PTR0_1 0x5c110040 +#define DDR_PHY_PTR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x011) +#define DDR_PHY_PTR1_0 0x5c010044 +#define DDR_PHY_PTR1_1 0x5c110044 +#define DDR_PHY_PTR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x012) +#define DDR_PHY_PTR2_0 0x5c010048 +#define DDR_PHY_PTR2_1 0x5c110048 +#define DDR_PHY_PTR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x013) +#define DDR_PHY_PTR3_0 0x5c01004c +#define DDR_PHY_PTR3_1 0x5c11004c +#define DDR_PHY_PTR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x014) +#define DDR_PHY_PTR4_0 0x5c010050 +#define DDR_PHY_PTR4_1 0x5c110050 +#define DDR_PHY_PTR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x015) +#define DDR_PHY_PTR5_0 0x5c010054 +#define DDR_PHY_PTR5_1 0x5c110054 +#define DDR_PHY_PTR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x016) +#define DDR_PHY_PTR6_0 0x5c010058 +#define DDR_PHY_PTR6_1 0x5c110058 +#define DDR_PHY_PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01A) +#define DDR_PHY_PLLCR0_0 0x5c010068 +#define DDR_PHY_PLLCR0_1 0x5c110068 +#define DDR_PHY_PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01B) +#define DDR_PHY_PLLCR1_0 0x5c01006c +#define DDR_PHY_PLLCR1_1 0x5c11006c +#define DDR_PHY_PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01C) +#define DDR_PHY_PLLCR2_0 0x5c010070 +#define DDR_PHY_PLLCR2_1 0x5c110070 +#define DDR_PHY_PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01D) +#define DDR_PHY_PLLCR3_0 0x5c010074 +#define DDR_PHY_PLLCR3_1 0x5c110074 +#define DDR_PHY_PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01E) +#define DDR_PHY_PLLCR4_0 0x5c010078 +#define DDR_PHY_PLLCR4_1 0x5c110078 +#define DDR_PHY_PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x01F) +#define DDR_PHY_PLLCR5_0 0x5c01007c +#define DDR_PHY_PLLCR5_1 0x5c11007c +#define DDR_PHY_DXCCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x022) +#define DDR_PHY_DXCCR_0 0x5c010088 +#define DDR_PHY_DXCCR_1 0x5c110088 +#define DDR_PHY_DSGCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x024) +#define DDR_PHY_DSGCR_0 0x5c010090 +#define DDR_PHY_DSGCR_1 0x5c110090 +#define DDR_PHY_ODTCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x026) +#define DDR_PHY_ODTCR_0 0x5c010098 +#define DDR_PHY_ODTCR_1 0x5c110098 +#define DDR_PHY_AACR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x028) +#define DDR_PHY_AACR_0 0x5c0100a0 +#define DDR_PHY_AACR_1 0x5c1100a0 +#define DDR_PHY_GPR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x030) +#define DDR_PHY_GPR0_0 0x5c0100c0 +#define DDR_PHY_GPR0_1 0x5c1100c0 +#define DDR_PHY_GPR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x031) +#define DDR_PHY_GPR1_0 0x5c0100c4 +#define DDR_PHY_GPR1_1 0x5c1100c4 +#define DDR_PHY_DCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x040) +#define DDR_PHY_DCR_0 0x5c010100 +#define DDR_PHY_DCR_1 0x5c110100 +#define DDR_PHY_DTPR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x044) +#define DDR_PHY_DTPR0_0 0x5c010110 +#define DDR_PHY_DTPR0_1 0x5c110110 +#define DDR_PHY_DTPR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x045) +#define DDR_PHY_DTPR1_0 0x5c010114 +#define DDR_PHY_DTPR1_1 0x5c110114 +#define DDR_PHY_DTPR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x046) +#define DDR_PHY_DTPR2_0 0x5c010118 +#define DDR_PHY_DTPR2_1 0x5c110118 +#define DDR_PHY_DTPR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x047) +#define DDR_PHY_DTPR3_0 0x5c01011c +#define DDR_PHY_DTPR3_1 0x5c11011c +#define DDR_PHY_DTPR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x048) +#define DDR_PHY_DTPR4_0 0x5c010120 +#define DDR_PHY_DTPR4_1 0x5c110120 +#define DDR_PHY_DTPR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x049) +#define DDR_PHY_DTPR5_0 0x5c010124 +#define DDR_PHY_DTPR5_1 0x5c110124 +#define DDR_PHY_RDIMMGCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x050) +#define DDR_PHY_RDIMMGCR0_0 0x5c010140 +#define DDR_PHY_RDIMMGCR0_1 0x5c110140 +#define DDR_PHY_RDIMMGCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x051) +#define DDR_PHY_RDIMMGCR1_0 0x5c010144 +#define DDR_PHY_RDIMMGCR1_1 0x5c110144 +#define DDR_PHY_RDIMMGCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x052) +#define DDR_PHY_RDIMMGCR2_0 0x5c010148 +#define DDR_PHY_RDIMMGCR2_1 0x5c110148 +#define DDR_PHY_RDIMMCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x054) +#define DDR_PHY_RDIMMCR0_0 0x5c010150 +#define DDR_PHY_RDIMMCR0_1 0x5c110150 +#define DDR_PHY_RDIMMCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x055) +#define DDR_PHY_RDIMMCR1_0 0x5c010154 +#define DDR_PHY_RDIMMCR1_1 0x5c110154 +#define DDR_PHY_RDIMMCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x056) +#define DDR_PHY_RDIMMCR2_0 0x5c010158 +#define DDR_PHY_RDIMMCR2_1 0x5c110158 +#define DDR_PHY_RDIMMCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x057) +#define DDR_PHY_RDIMMCR3_0 0x5c01015c +#define DDR_PHY_RDIMMCR3_1 0x5c11015c +#define DDR_PHY_RDIMMCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x058) +#define DDR_PHY_RDIMMCR4_0 0x5c010160 +#define DDR_PHY_RDIMMCR4_1 0x5c110160 +#define DDR_PHY_SCHCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x05A) +#define DDR_PHY_SCHCR0_0 0x5c010168 +#define DDR_PHY_SCHCR0_1 0x5c110168 +#define DDR_PHY_SCHCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x05B) +#define DDR_PHY_SCHCR1_0 0x5c01016c +#define DDR_PHY_SCHCR1_1 0x5c11016c +#define DDR_PHY_MR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x060) +#define DDR_PHY_MR0_0 0x5c010180 +#define DDR_PHY_MR0_1 0x5c110180 +#define DDR_PHY_MR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x061) +#define DDR_PHY_MR1_0 0x5c010184 +#define DDR_PHY_MR1_1 0x5c110184 +#define DDR_PHY_MR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x062) +#define DDR_PHY_MR2_0 0x5c010188 +#define DDR_PHY_MR2_1 0x5c110188 +#define DDR_PHY_MR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x063) +#define DDR_PHY_MR3_0 0x5c01018c +#define DDR_PHY_MR3_1 0x5c11018c +#define DDR_PHY_MR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x064) +#define DDR_PHY_MR4_0 0x5c010190 +#define DDR_PHY_MR4_1 0x5c110190 +#define DDR_PHY_MR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x065) +#define DDR_PHY_MR5_0 0x5c010194 +#define DDR_PHY_MR5_1 0x5c110194 +#define DDR_PHY_MR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x066) +#define DDR_PHY_MR6_0 0x5c010198 +#define DDR_PHY_MR6_1 0x5c110198 +#define DDR_PHY_MR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x067) +#define DDR_PHY_MR7_0 0x5c01019c +#define DDR_PHY_MR7_1 0x5c11019c +#define DDR_PHY_MR11(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06B) +#define DDR_PHY_MR11_0 0x5c0101ac +#define DDR_PHY_MR11_1 0x5c1101ac +#define DDR_PHY_MR12(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06C) +#define DDR_PHY_MR12_0 0x5c0101b0 +#define DDR_PHY_MR12_1 0x5c1101b0 +#define DDR_PHY_MR13(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06D) +#define DDR_PHY_MR13_0 0x5c0101b4 +#define DDR_PHY_MR13_1 0x5c1101b4 +#define DDR_PHY_MR14(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x06E) +#define DDR_PHY_MR14_0 0x5c0101b8 +#define DDR_PHY_MR14_1 0x5c1101b8 +#define DDR_PHY_MR22(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x076) +#define DDR_PHY_MR22_0 0x5c0101d8 +#define DDR_PHY_MR22_1 0x5c1101d8 +#define DDR_PHY_DTCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x080) +#define DDR_PHY_DTCR0_0 0x5c010200 +#define DDR_PHY_DTCR0_1 0x5c110200 +#define DDR_PHY_DTCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x081) +#define DDR_PHY_DTCR1_0 0x5c010204 +#define DDR_PHY_DTCR1_1 0x5c110204 +#define DDR_PHY_DTAR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x082) +#define DDR_PHY_DTAR0_0 0x5c010208 +#define DDR_PHY_DTAR0_1 0x5c110208 +#define DDR_PHY_DTAR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x083) +#define DDR_PHY_DTAR1_0 0x5c01020c +#define DDR_PHY_DTAR1_1 0x5c11020c +#define DDR_PHY_DTAR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x084) +#define DDR_PHY_DTAR2_0 0x5c010210 +#define DDR_PHY_DTAR2_1 0x5c110210 +#define DDR_PHY_DTDR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x086) +#define DDR_PHY_DTDR0_0 0x5c010218 +#define DDR_PHY_DTDR0_1 0x5c110218 +#define DDR_PHY_DTDR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x087) +#define DDR_PHY_DTDR1_0 0x5c01021c +#define DDR_PHY_DTDR1_1 0x5c11021c +#define DDR_PHY_DTEDR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08C) +#define DDR_PHY_DTEDR0_0 0x5c010230 +#define DDR_PHY_DTEDR0_1 0x5c110230 +#define DDR_PHY_DTEDR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08C) +#define DDR_PHY_DTEDR1_0 0x5c010230 +#define DDR_PHY_DTEDR1_1 0x5c110230 +#define DDR_PHY_DTEDR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08C) +#define DDR_PHY_DTEDR2_0 0x5c010230 +#define DDR_PHY_DTEDR2_1 0x5c110230 +#define DDR_PHY_VTDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x08F) +#define DDR_PHY_VTDR_0 0x5c01023c +#define DDR_PHY_VTDR_1 0x5c11023c +#define DDR_PHY_CATR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x090) +#define DDR_PHY_CATR0_0 0x5c010240 +#define DDR_PHY_CATR0_1 0x5c110240 +#define DDR_PHY_CATR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x091) +#define DDR_PHY_CATR1_0 0x5c010244 +#define DDR_PHY_CATR1_1 0x5c110244 +#define DDR_PHY_PGCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x092) +#define DDR_PHY_PGCR8_0 0x5c010248 +#define DDR_PHY_PGCR8_1 0x5c110248 +#define DDR_PHY_DQSDR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x094) +#define DDR_PHY_DQSDR0_0 0x5c010250 +#define DDR_PHY_DQSDR0_1 0x5c110250 +#define DDR_PHY_DQSDR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x095) +#define DDR_PHY_DQSDR1_0 0x5c010254 +#define DDR_PHY_DQSDR1_1 0x5c110254 +#define DDR_PHY_DQSDR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x096) +#define DDR_PHY_DQSDR2_0 0x5c010258 +#define DDR_PHY_DQSDR2_1 0x5c110258 +#define DDR_PHY_DCUAR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C0) +#define DDR_PHY_DCUAR_0 0x5c010300 +#define DDR_PHY_DCUAR_1 0x5c110300 +#define DDR_PHY_DCUDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C1) +#define DDR_PHY_DCUDR_0 0x5c010304 +#define DDR_PHY_DCUDR_1 0x5c110304 +#define DDR_PHY_DCURR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C2) +#define DDR_PHY_DCURR_0 0x5c010308 +#define DDR_PHY_DCURR_1 0x5c110308 +#define DDR_PHY_DCULR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C3) +#define DDR_PHY_DCULR_0 0x5c01030c +#define DDR_PHY_DCULR_1 0x5c11030c +#define DDR_PHY_DCUGCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C4) +#define DDR_PHY_DCUGCR_0 0x5c010310 +#define DDR_PHY_DCUGCR_1 0x5c110310 +#define DDR_PHY_DCUTPR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C5) +#define DDR_PHY_DCUTPR_0 0x5c010314 +#define DDR_PHY_DCUTPR_1 0x5c110314 +#define DDR_PHY_DCUSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C6) +#define DDR_PHY_DCUSR0_0 0x5c010318 +#define DDR_PHY_DCUSR0_1 0x5c110318 +#define DDR_PHY_DCUSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x0C7) +#define DDR_PHY_DCUSR1_0 0x5c01031c +#define DDR_PHY_DCUSR1_1 0x5c11031c +#define DDR_PHY_BISTRR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x100) +#define DDR_PHY_BISTRR_0 0x5c010400 +#define DDR_PHY_BISTRR_1 0x5c110400 +#define DDR_PHY_BISTWCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x101) +#define DDR_PHY_BISTWCR_0 0x5c010404 +#define DDR_PHY_BISTWCR_1 0x5c110404 +#define DDR_PHY_BISTMSKR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x102) +#define DDR_PHY_BISTMSKR0_0 0x5c010408 +#define DDR_PHY_BISTMSKR0_1 0x5c110408 +#define DDR_PHY_BISTMSKR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x103) +#define DDR_PHY_BISTMSKR1_0 0x5c01040c +#define DDR_PHY_BISTMSKR1_1 0x5c11040c +#define DDR_PHY_BISTMSKR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x104) +#define DDR_PHY_BISTMSKR2_0 0x5c010410 +#define DDR_PHY_BISTMSKR2_1 0x5c110410 +#define DDR_PHY_BISTLSR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x105) +#define DDR_PHY_BISTLSR_0 0x5c010414 +#define DDR_PHY_BISTLSR_1 0x5c110414 +#define DDR_PHY_BISTAR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x106) +#define DDR_PHY_BISTAR0_0 0x5c010418 +#define DDR_PHY_BISTAR0_1 0x5c110418 +#define DDR_PHY_BISTAR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x107) +#define DDR_PHY_BISTAR1_0 0x5c01041c +#define DDR_PHY_BISTAR1_1 0x5c11041c +#define DDR_PHY_BISTAR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x108) +#define DDR_PHY_BISTAR2_0 0x5c010420 +#define DDR_PHY_BISTAR2_1 0x5c110420 +#define DDR_PHY_BISTAR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x109) +#define DDR_PHY_BISTAR3_0 0x5c010424 +#define DDR_PHY_BISTAR3_1 0x5c110424 +#define DDR_PHY_BISTAR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10A) +#define DDR_PHY_BISTAR4_0 0x5c010428 +#define DDR_PHY_BISTAR4_1 0x5c110428 +#define DDR_PHY_BISTUDPR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10B) +#define DDR_PHY_BISTUDPR_0 0x5c01042c +#define DDR_PHY_BISTUDPR_1 0x5c11042c +#define DDR_PHY_BISTGSR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10C) +#define DDR_PHY_BISTGSR_0 0x5c010430 +#define DDR_PHY_BISTGSR_1 0x5c110430 +#define DDR_PHY_BISTWER0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10D) +#define DDR_PHY_BISTWER0_0 0x5c010434 +#define DDR_PHY_BISTWER0_1 0x5c110434 +#define DDR_PHY_BISTWER1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10E) +#define DDR_PHY_BISTWER1_0 0x5c010438 +#define DDR_PHY_BISTWER1_1 0x5c110438 +#define DDR_PHY_BISTBER0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x10F) +#define DDR_PHY_BISTBER0_0 0x5c01043c +#define DDR_PHY_BISTBER0_1 0x5c11043c +#define DDR_PHY_BISTBER1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x110) +#define DDR_PHY_BISTBER1_0 0x5c010440 +#define DDR_PHY_BISTBER1_1 0x5c110440 +#define DDR_PHY_BISTBER2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x111) +#define DDR_PHY_BISTBER2_0 0x5c010444 +#define DDR_PHY_BISTBER2_1 0x5c110444 +#define DDR_PHY_BISTBER3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x112) +#define DDR_PHY_BISTBER3_0 0x5c010448 +#define DDR_PHY_BISTBER3_1 0x5c110448 +#define DDR_PHY_BISTBER4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x113) +#define DDR_PHY_BISTBER4_0 0x5c01044c +#define DDR_PHY_BISTBER4_1 0x5c11044c +#define DDR_PHY_BISTWCSR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x114) +#define DDR_PHY_BISTWCSR_0 0x5c010450 +#define DDR_PHY_BISTWCSR_1 0x5c110450 +#define DDR_PHY_BISTFWR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x115) +#define DDR_PHY_BISTFWR0_0 0x5c010454 +#define DDR_PHY_BISTFWR0_1 0x5c110454 +#define DDR_PHY_BISTFWR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x116) +#define DDR_PHY_BISTFWR1_0 0x5c010458 +#define DDR_PHY_BISTFWR1_1 0x5c110458 +#define DDR_PHY_BISTFWR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x117) +#define DDR_PHY_BISTFWR2_0 0x5c01045c +#define DDR_PHY_BISTFWR2_1 0x5c11045c +#define DDR_PHY_BISTBER5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x118) +#define DDR_PHY_BISTBER5_0 0x5c010460 +#define DDR_PHY_BISTBER5_1 0x5c110460 +#define DDR_PHY_RANKIDR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x137) +#define DDR_PHY_RANKIDR_0 0x5c0104dc +#define DDR_PHY_RANKIDR_1 0x5c1104dc +#define DDR_PHY_RIOCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x138) +#define DDR_PHY_RIOCR0_0 0x5c0104e0 +#define DDR_PHY_RIOCR0_1 0x5c1104e0 +#define DDR_PHY_RIOCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x139) +#define DDR_PHY_RIOCR1_0 0x5c0104e4 +#define DDR_PHY_RIOCR1_1 0x5c1104e4 +#define DDR_PHY_RIOCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13A) +#define DDR_PHY_RIOCR2_0 0x5c0104e8 +#define DDR_PHY_RIOCR2_1 0x5c1104e8 +#define DDR_PHY_RIOCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13B) +#define DDR_PHY_RIOCR3_0 0x5c0104ec +#define DDR_PHY_RIOCR3_1 0x5c1104ec +#define DDR_PHY_RIOCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13C) +#define DDR_PHY_RIOCR4_0 0x5c0104f0 +#define DDR_PHY_RIOCR4_1 0x5c1104f0 +#define DDR_PHY_RIOCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x13D) +#define DDR_PHY_RIOCR5_0 0x5c0104f4 +#define DDR_PHY_RIOCR5_1 0x5c1104f4 +#define DDR_PHY_ACIOCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x140) +#define DDR_PHY_ACIOCR0_0 0x5c010500 +#define DDR_PHY_ACIOCR0_1 0x5c110500 +#define DDR_PHY_ACIOCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x141) +#define DDR_PHY_ACIOCR1_0 0x5c010504 +#define DDR_PHY_ACIOCR1_1 0x5c110504 +#define DDR_PHY_ACIOCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x142) +#define DDR_PHY_ACIOCR2_0 0x5c010508 +#define DDR_PHY_ACIOCR2_1 0x5c110508 +#define DDR_PHY_ACIOCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x143) +#define DDR_PHY_ACIOCR3_0 0x5c01050c +#define DDR_PHY_ACIOCR3_1 0x5c11050c +#define DDR_PHY_ACIOCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x144) +#define DDR_PHY_ACIOCR4_0 0x5c010510 +#define DDR_PHY_ACIOCR4_1 0x5c110510 +#define DDR_PHY_ACIOCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x145) +#define DDR_PHY_ACIOCR5_0 0x5c010514 +#define DDR_PHY_ACIOCR5_1 0x5c110514 +#define DDR_PHY_IOVCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x148) +#define DDR_PHY_IOVCR0_0 0x5c010520 +#define DDR_PHY_IOVCR0_1 0x5c110520 +#define DDR_PHY_IOVCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x149) +#define DDR_PHY_IOVCR1_0 0x5c010524 +#define DDR_PHY_IOVCR1_1 0x5c110524 +#define DDR_PHY_VTCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x14A) +#define DDR_PHY_VTCR0_0 0x5c010528 +#define DDR_PHY_VTCR0_1 0x5c110528 +#define DDR_PHY_VTCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x14B) +#define DDR_PHY_VTCR1_0 0x5c01052c +#define DDR_PHY_VTCR1_1 0x5c11052c +#define DDR_PHY_ACBDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x150) +#define DDR_PHY_ACBDLR0_0 0x5c010540 +#define DDR_PHY_ACBDLR0_1 0x5c110540 +#define DDR_PHY_ACBDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x151) +#define DDR_PHY_ACBDLR1_0 0x5c010544 +#define DDR_PHY_ACBDLR1_1 0x5c110544 +#define DDR_PHY_ACBDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x152) +#define DDR_PHY_ACBDLR2_0 0x5c010548 +#define DDR_PHY_ACBDLR2_1 0x5c110548 +#define DDR_PHY_ACBDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x153) +#define DDR_PHY_ACBDLR3_0 0x5c01054c +#define DDR_PHY_ACBDLR3_1 0x5c11054c +#define DDR_PHY_ACBDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x154) +#define DDR_PHY_ACBDLR4_0 0x5c010550 +#define DDR_PHY_ACBDLR4_1 0x5c110550 +#define DDR_PHY_ACBDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x155) +#define DDR_PHY_ACBDLR5_0 0x5c010554 +#define DDR_PHY_ACBDLR5_1 0x5c110554 +#define DDR_PHY_ACBDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x156) +#define DDR_PHY_ACBDLR6_0 0x5c010558 +#define DDR_PHY_ACBDLR6_1 0x5c110558 +#define DDR_PHY_ACBDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x157) +#define DDR_PHY_ACBDLR7_0 0x5c01055c +#define DDR_PHY_ACBDLR7_1 0x5c11055c +#define DDR_PHY_ACBDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x158) +#define DDR_PHY_ACBDLR8_0 0x5c010560 +#define DDR_PHY_ACBDLR8_1 0x5c110560 +#define DDR_PHY_ACBDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x159) +#define DDR_PHY_ACBDLR9_0 0x5c010564 +#define DDR_PHY_ACBDLR9_1 0x5c110564 +#define DDR_PHY_ACBDLR10(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15A) +#define DDR_PHY_ACBDLR10_0 0x5c010568 +#define DDR_PHY_ACBDLR10_1 0x5c110568 +#define DDR_PHY_ACBDLR11(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15B) +#define DDR_PHY_ACBDLR11_0 0x5c01056c +#define DDR_PHY_ACBDLR11_1 0x5c11056c +#define DDR_PHY_ACBDLR12(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15C) +#define DDR_PHY_ACBDLR12_0 0x5c010570 +#define DDR_PHY_ACBDLR12_1 0x5c110570 +#define DDR_PHY_ACBDLR13(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15D) +#define DDR_PHY_ACBDLR13_0 0x5c010574 +#define DDR_PHY_ACBDLR13_1 0x5c110574 +#define DDR_PHY_ACBDLR14(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15E) +#define DDR_PHY_ACBDLR14_0 0x5c010578 +#define DDR_PHY_ACBDLR14_1 0x5c110578 +#define DDR_PHY_ACBDLR15(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x15F) +#define DDR_PHY_ACBDLR15_0 0x5c01057c +#define DDR_PHY_ACBDLR15_1 0x5c11057c +#define DDR_PHY_ACBDLR16(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x160) +#define DDR_PHY_ACBDLR16_0 0x5c010580 +#define DDR_PHY_ACBDLR16_1 0x5c110580 +#define DDR_PHY_ACLCDLR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x161) +#define DDR_PHY_ACLCDLR_0 0x5c010584 +#define DDR_PHY_ACLCDLR_1 0x5c110584 +#define DDR_PHY_ACMDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x168) +#define DDR_PHY_ACMDLR0_0 0x5c0105a0 +#define DDR_PHY_ACMDLR0_1 0x5c1105a0 +#define DDR_PHY_ACMDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x169) +#define DDR_PHY_ACMDLR1_0 0x5c0105a4 +#define DDR_PHY_ACMDLR1_1 0x5c1105a4 +#define DDR_PHY_ZQCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A0) +#define DDR_PHY_ZQCR_0 0x5c010680 +#define DDR_PHY_ZQCR_1 0x5c110680 +#define DDR_PHY_ZQ0PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A1) +#define DDR_PHY_ZQ0PR0_0 0x5c010684 +#define DDR_PHY_ZQ0PR0_1 0x5c110684 +#define DDR_PHY_ZQ0PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A2) +#define DDR_PHY_ZQ0PR1_0 0x5c010688 +#define DDR_PHY_ZQ0PR1_1 0x5c110688 +#define DDR_PHY_ZQ0DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A3) +#define DDR_PHY_ZQ0DR0_0 0x5c01068c +#define DDR_PHY_ZQ0DR0_1 0x5c11068c +#define DDR_PHY_ZQ0DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A4) +#define DDR_PHY_ZQ0DR1_0 0x5c010690 +#define DDR_PHY_ZQ0DR1_1 0x5c110690 +#define DDR_PHY_ZQ0OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A5) +#define DDR_PHY_ZQ0OR0_0 0x5c010694 +#define DDR_PHY_ZQ0OR0_1 0x5c110694 +#define DDR_PHY_ZQ0OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A6) +#define DDR_PHY_ZQ0OR1_0 0x5c010698 +#define DDR_PHY_ZQ0OR1_1 0x5c110698 +#define DDR_PHY_ZQ0SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A7) +#define DDR_PHY_ZQ0SR_0 0x5c01069c +#define DDR_PHY_ZQ0SR_1 0x5c11069c +#define DDR_PHY_ZQ1PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1A9) +#define DDR_PHY_ZQ1PR0_0 0x5c0106a4 +#define DDR_PHY_ZQ1PR0_1 0x5c1106a4 +#define DDR_PHY_ZQ1PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AA) +#define DDR_PHY_ZQ1PR1_0 0x5c0106a8 +#define DDR_PHY_ZQ1PR1_1 0x5c1106a8 +#define DDR_PHY_ZQ1DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AB) +#define DDR_PHY_ZQ1DR0_0 0x5c0106ac +#define DDR_PHY_ZQ1DR0_1 0x5c1106ac +#define DDR_PHY_ZQ1DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AC) +#define DDR_PHY_ZQ1DR1_0 0x5c0106b0 +#define DDR_PHY_ZQ1DR1_1 0x5c1106b0 +#define DDR_PHY_ZQ1OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AD) +#define DDR_PHY_ZQ1OR0_0 0x5c0106b4 +#define DDR_PHY_ZQ1OR0_1 0x5c1106b4 +#define DDR_PHY_ZQ1OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AE) +#define DDR_PHY_ZQ1OR1_0 0x5c0106b8 +#define DDR_PHY_ZQ1OR1_1 0x5c1106b8 +#define DDR_PHY_ZQ1SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1AF) +#define DDR_PHY_ZQ1SR_0 0x5c0106bc +#define DDR_PHY_ZQ1SR_1 0x5c1106bc +#define DDR_PHY_ZQ2PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B1) +#define DDR_PHY_ZQ2PR0_0 0x5c0106c4 +#define DDR_PHY_ZQ2PR0_1 0x5c1106c4 +#define DDR_PHY_ZQ2PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B2) +#define DDR_PHY_ZQ2PR1_0 0x5c0106c8 +#define DDR_PHY_ZQ2PR1_1 0x5c1106c8 +#define DDR_PHY_ZQ2DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B3) +#define DDR_PHY_ZQ2DR0_0 0x5c0106cc +#define DDR_PHY_ZQ2DR0_1 0x5c1106cc +#define DDR_PHY_ZQ2DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B4) +#define DDR_PHY_ZQ2DR1_0 0x5c0106d0 +#define DDR_PHY_ZQ2DR1_1 0x5c1106d0 +#define DDR_PHY_ZQ2OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B5) +#define DDR_PHY_ZQ2OR0_0 0x5c0106d4 +#define DDR_PHY_ZQ2OR0_1 0x5c1106d4 +#define DDR_PHY_ZQ2OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B6) +#define DDR_PHY_ZQ2OR1_0 0x5c0106d8 +#define DDR_PHY_ZQ2OR1_1 0x5c1106d8 +#define DDR_PHY_ZQ2SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B7) +#define DDR_PHY_ZQ2SR_0 0x5c0106dc +#define DDR_PHY_ZQ2SR_1 0x5c1106dc +#define DDR_PHY_ZQ3PR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1B9) +#define DDR_PHY_ZQ3PR0_0 0x5c0106e4 +#define DDR_PHY_ZQ3PR0_1 0x5c1106e4 +#define DDR_PHY_ZQ3PR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BA) +#define DDR_PHY_ZQ3PR1_0 0x5c0106e8 +#define DDR_PHY_ZQ3PR1_1 0x5c1106e8 +#define DDR_PHY_ZQ3DR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BB) +#define DDR_PHY_ZQ3DR0_0 0x5c0106ec +#define DDR_PHY_ZQ3DR0_1 0x5c1106ec +#define DDR_PHY_ZQ3DR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BC) +#define DDR_PHY_ZQ3DR1_0 0x5c0106f0 +#define DDR_PHY_ZQ3DR1_1 0x5c1106f0 +#define DDR_PHY_ZQ3OR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BD) +#define DDR_PHY_ZQ3OR0_0 0x5c0106f4 +#define DDR_PHY_ZQ3OR0_1 0x5c1106f4 +#define DDR_PHY_ZQ3OR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BE) +#define DDR_PHY_ZQ3OR1_0 0x5c0106f8 +#define DDR_PHY_ZQ3OR1_1 0x5c1106f8 +#define DDR_PHY_ZQ3SR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1BF) +#define DDR_PHY_ZQ3SR_0 0x5c0106fc +#define DDR_PHY_ZQ3SR_1 0x5c1106fc +#define DDR_PHY_DX0GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C0) +#define DDR_PHY_DX0GCR0_0 0x5c010700 +#define DDR_PHY_DX0GCR0_1 0x5c110700 +#define DDR_PHY_DX0GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C1) +#define DDR_PHY_DX0GCR1_0 0x5c010704 +#define DDR_PHY_DX0GCR1_1 0x5c110704 +#define DDR_PHY_DX0GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C2) +#define DDR_PHY_DX0GCR2_0 0x5c010708 +#define DDR_PHY_DX0GCR2_1 0x5c110708 +#define DDR_PHY_DX0GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C3) +#define DDR_PHY_DX0GCR3_0 0x5c01070c +#define DDR_PHY_DX0GCR3_1 0x5c11070c +#define DDR_PHY_DX0GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C4) +#define DDR_PHY_DX0GCR4_0 0x5c010710 +#define DDR_PHY_DX0GCR4_1 0x5c110710 +#define DDR_PHY_DX0GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C5) +#define DDR_PHY_DX0GCR5_0 0x5c010714 +#define DDR_PHY_DX0GCR5_1 0x5c110714 +#define DDR_PHY_DX0GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C6) +#define DDR_PHY_DX0GCR6_0 0x5c010718 +#define DDR_PHY_DX0GCR6_1 0x5c110718 +#define DDR_PHY_DX0GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C7) +#define DDR_PHY_DX0GCR7_0 0x5c01071c +#define DDR_PHY_DX0GCR7_1 0x5c11071c +#define DDR_PHY_DX0GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C8) +#define DDR_PHY_DX0GCR8_0 0x5c010720 +#define DDR_PHY_DX0GCR8_1 0x5c110720 +#define DDR_PHY_DX0GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1C9) +#define DDR_PHY_DX0GCR9_0 0x5c010724 +#define DDR_PHY_DX0GCR9_1 0x5c110724 +#define DDR_PHY_DX0DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1CA) +#define DDR_PHY_DX0DQMAP0_0 0x5c010728 +#define DDR_PHY_DX0DQMAP0_1 0x5c110728 +#define DDR_PHY_DX0DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1CB) +#define DDR_PHY_DX0DQMAP1_0 0x5c01072c +#define DDR_PHY_DX0DQMAP1_1 0x5c11072c +#define DDR_PHY_DX0BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D0) +#define DDR_PHY_DX0BDLR0_0 0x5c010740 +#define DDR_PHY_DX0BDLR0_1 0x5c110740 +#define DDR_PHY_DX0BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D1) +#define DDR_PHY_DX0BDLR1_0 0x5c010744 +#define DDR_PHY_DX0BDLR1_1 0x5c110744 +#define DDR_PHY_DX0BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D2) +#define DDR_PHY_DX0BDLR2_0 0x5c010748 +#define DDR_PHY_DX0BDLR2_1 0x5c110748 +#define DDR_PHY_DX0BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D4) +#define DDR_PHY_DX0BDLR3_0 0x5c010750 +#define DDR_PHY_DX0BDLR3_1 0x5c110750 +#define DDR_PHY_DX0BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D5) +#define DDR_PHY_DX0BDLR4_0 0x5c010754 +#define DDR_PHY_DX0BDLR4_1 0x5c110754 +#define DDR_PHY_DX0BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D6) +#define DDR_PHY_DX0BDLR5_0 0x5c010758 +#define DDR_PHY_DX0BDLR5_1 0x5c110758 +#define DDR_PHY_DX0BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D8) +#define DDR_PHY_DX0BDLR6_0 0x5c010760 +#define DDR_PHY_DX0BDLR6_1 0x5c110760 +#define DDR_PHY_DX0BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1D9) +#define DDR_PHY_DX0BDLR7_0 0x5c010764 +#define DDR_PHY_DX0BDLR7_1 0x5c110764 +#define DDR_PHY_DX0BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1DA) +#define DDR_PHY_DX0BDLR8_0 0x5c010768 +#define DDR_PHY_DX0BDLR8_1 0x5c110768 +#define DDR_PHY_DX0BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1DB) +#define DDR_PHY_DX0BDLR9_0 0x5c01076c +#define DDR_PHY_DX0BDLR9_1 0x5c11076c +#define DDR_PHY_DX0LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E0) +#define DDR_PHY_DX0LCDLR0_0 0x5c010780 +#define DDR_PHY_DX0LCDLR0_1 0x5c110780 +#define DDR_PHY_DX0LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E1) +#define DDR_PHY_DX0LCDLR1_0 0x5c010784 +#define DDR_PHY_DX0LCDLR1_1 0x5c110784 +#define DDR_PHY_DX0LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E2) +#define DDR_PHY_DX0LCDLR2_0 0x5c010788 +#define DDR_PHY_DX0LCDLR2_1 0x5c110788 +#define DDR_PHY_DX0LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E3) +#define DDR_PHY_DX0LCDLR3_0 0x5c01078c +#define DDR_PHY_DX0LCDLR3_1 0x5c11078c +#define DDR_PHY_DX0LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E4) +#define DDR_PHY_DX0LCDLR4_0 0x5c010790 +#define DDR_PHY_DX0LCDLR4_1 0x5c110790 +#define DDR_PHY_DX0LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E5) +#define DDR_PHY_DX0LCDLR5_0 0x5c010794 +#define DDR_PHY_DX0LCDLR5_1 0x5c110794 +#define DDR_PHY_DX0MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E8) +#define DDR_PHY_DX0MDLR0_0 0x5c0107a0 +#define DDR_PHY_DX0MDLR0_1 0x5c1107a0 +#define DDR_PHY_DX0MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1E9) +#define DDR_PHY_DX0MDLR1_0 0x5c0107a4 +#define DDR_PHY_DX0MDLR1_1 0x5c1107a4 +#define DDR_PHY_DX0GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F0) +#define DDR_PHY_DX0GTR0_0 0x5c0107c0 +#define DDR_PHY_DX0GTR0_1 0x5c1107c0 +#define DDR_PHY_DX0RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F4) +#define DDR_PHY_DX0RSR0_0 0x5c0107d0 +#define DDR_PHY_DX0RSR0_1 0x5c1107d0 +#define DDR_PHY_DX0RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F5) +#define DDR_PHY_DX0RSR1_0 0x5c0107d4 +#define DDR_PHY_DX0RSR1_1 0x5c1107d4 +#define DDR_PHY_DX0RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F6) +#define DDR_PHY_DX0RSR2_0 0x5c0107d8 +#define DDR_PHY_DX0RSR2_1 0x5c1107d8 +#define DDR_PHY_DX0RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F7) +#define DDR_PHY_DX0RSR3_0 0x5c0107dc +#define DDR_PHY_DX0RSR3_1 0x5c1107dc +#define DDR_PHY_DX0GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F8) +#define DDR_PHY_DX0GSR0_0 0x5c0107e0 +#define DDR_PHY_DX0GSR0_1 0x5c1107e0 +#define DDR_PHY_DX0GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1F9) +#define DDR_PHY_DX0GSR1_0 0x5c0107e4 +#define DDR_PHY_DX0GSR1_1 0x5c1107e4 +#define DDR_PHY_DX0GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FA) +#define DDR_PHY_DX0GSR2_0 0x5c0107e8 +#define DDR_PHY_DX0GSR2_1 0x5c1107e8 +#define DDR_PHY_DX0GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FB) +#define DDR_PHY_DX0GSR3_0 0x5c0107ec +#define DDR_PHY_DX0GSR3_1 0x5c1107ec +#define DDR_PHY_DX0GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FC) +#define DDR_PHY_DX0GSR4_0 0x5c0107f0 +#define DDR_PHY_DX0GSR4_1 0x5c1107f0 +#define DDR_PHY_DX0GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FD) +#define DDR_PHY_DX0GSR5_0 0x5c0107f4 +#define DDR_PHY_DX0GSR5_1 0x5c1107f4 +#define DDR_PHY_DX0GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x1FE) +#define DDR_PHY_DX0GSR6_0 0x5c0107f8 +#define DDR_PHY_DX0GSR6_1 0x5c1107f8 +#define DDR_PHY_DX1GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x200) +#define DDR_PHY_DX1GCR0_0 0x5c010800 +#define DDR_PHY_DX1GCR0_1 0x5c110800 +#define DDR_PHY_DX1GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x201) +#define DDR_PHY_DX1GCR1_0 0x5c010804 +#define DDR_PHY_DX1GCR1_1 0x5c110804 +#define DDR_PHY_DX1GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x202) +#define DDR_PHY_DX1GCR2_0 0x5c010808 +#define DDR_PHY_DX1GCR2_1 0x5c110808 +#define DDR_PHY_DX1GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x203) +#define DDR_PHY_DX1GCR3_0 0x5c01080c +#define DDR_PHY_DX1GCR3_1 0x5c11080c +#define DDR_PHY_DX1GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x204) +#define DDR_PHY_DX1GCR4_0 0x5c010810 +#define DDR_PHY_DX1GCR4_1 0x5c110810 +#define DDR_PHY_DX1GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x205) +#define DDR_PHY_DX1GCR5_0 0x5c010814 +#define DDR_PHY_DX1GCR5_1 0x5c110814 +#define DDR_PHY_DX1GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x206) +#define DDR_PHY_DX1GCR6_0 0x5c010818 +#define DDR_PHY_DX1GCR6_1 0x5c110818 +#define DDR_PHY_DX1GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x207) +#define DDR_PHY_DX1GCR7_0 0x5c01081c +#define DDR_PHY_DX1GCR7_1 0x5c11081c +#define DDR_PHY_DX1GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x208) +#define DDR_PHY_DX1GCR8_0 0x5c010820 +#define DDR_PHY_DX1GCR8_1 0x5c110820 +#define DDR_PHY_DX1GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x209) +#define DDR_PHY_DX1GCR9_0 0x5c010824 +#define DDR_PHY_DX1GCR9_1 0x5c110824 +#define DDR_PHY_DX1DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x20A) +#define DDR_PHY_DX1DQMAP0_0 0x5c010828 +#define DDR_PHY_DX1DQMAP0_1 0x5c110828 +#define DDR_PHY_DX1DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x20B) +#define DDR_PHY_DX1DQMAP1_0 0x5c01082c +#define DDR_PHY_DX1DQMAP1_1 0x5c11082c +#define DDR_PHY_DX1BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x210) +#define DDR_PHY_DX1BDLR0_0 0x5c010840 +#define DDR_PHY_DX1BDLR0_1 0x5c110840 +#define DDR_PHY_DX1BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x211) +#define DDR_PHY_DX1BDLR1_0 0x5c010844 +#define DDR_PHY_DX1BDLR1_1 0x5c110844 +#define DDR_PHY_DX1BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x212) +#define DDR_PHY_DX1BDLR2_0 0x5c010848 +#define DDR_PHY_DX1BDLR2_1 0x5c110848 +#define DDR_PHY_DX1BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x214) +#define DDR_PHY_DX1BDLR3_0 0x5c010850 +#define DDR_PHY_DX1BDLR3_1 0x5c110850 +#define DDR_PHY_DX1BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x215) +#define DDR_PHY_DX1BDLR4_0 0x5c010854 +#define DDR_PHY_DX1BDLR4_1 0x5c110854 +#define DDR_PHY_DX1BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x216) +#define DDR_PHY_DX1BDLR5_0 0x5c010858 +#define DDR_PHY_DX1BDLR5_1 0x5c110858 +#define DDR_PHY_DX1BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x218) +#define DDR_PHY_DX1BDLR6_0 0x5c010860 +#define DDR_PHY_DX1BDLR6_1 0x5c110860 +#define DDR_PHY_DX1BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x219) +#define DDR_PHY_DX1BDLR7_0 0x5c010864 +#define DDR_PHY_DX1BDLR7_1 0x5c110864 +#define DDR_PHY_DX1BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x21A) +#define DDR_PHY_DX1BDLR8_0 0x5c010868 +#define DDR_PHY_DX1BDLR8_1 0x5c110868 +#define DDR_PHY_DX1BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x21B) +#define DDR_PHY_DX1BDLR9_0 0x5c01086c +#define DDR_PHY_DX1BDLR9_1 0x5c11086c +#define DDR_PHY_DX1LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x220) +#define DDR_PHY_DX1LCDLR0_0 0x5c010880 +#define DDR_PHY_DX1LCDLR0_1 0x5c110880 +#define DDR_PHY_DX1LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x221) +#define DDR_PHY_DX1LCDLR1_0 0x5c010884 +#define DDR_PHY_DX1LCDLR1_1 0x5c110884 +#define DDR_PHY_DX1LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x222) +#define DDR_PHY_DX1LCDLR2_0 0x5c010888 +#define DDR_PHY_DX1LCDLR2_1 0x5c110888 +#define DDR_PHY_DX1LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x223) +#define DDR_PHY_DX1LCDLR3_0 0x5c01088c +#define DDR_PHY_DX1LCDLR3_1 0x5c11088c +#define DDR_PHY_DX1LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x224) +#define DDR_PHY_DX1LCDLR4_0 0x5c010890 +#define DDR_PHY_DX1LCDLR4_1 0x5c110890 +#define DDR_PHY_DX1LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x225) +#define DDR_PHY_DX1LCDLR5_0 0x5c010894 +#define DDR_PHY_DX1LCDLR5_1 0x5c110894 +#define DDR_PHY_DX1MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x228) +#define DDR_PHY_DX1MDLR0_0 0x5c0108a0 +#define DDR_PHY_DX1MDLR0_1 0x5c1108a0 +#define DDR_PHY_DX1MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x229) +#define DDR_PHY_DX1MDLR1_0 0x5c0108a4 +#define DDR_PHY_DX1MDLR1_1 0x5c1108a4 +#define DDR_PHY_DX1GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x230) +#define DDR_PHY_DX1GTR0_0 0x5c0108c0 +#define DDR_PHY_DX1GTR0_1 0x5c1108c0 +#define DDR_PHY_DX1RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x234) +#define DDR_PHY_DX1RSR0_0 0x5c0108d0 +#define DDR_PHY_DX1RSR0_1 0x5c1108d0 +#define DDR_PHY_DX1RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x235) +#define DDR_PHY_DX1RSR1_0 0x5c0108d4 +#define DDR_PHY_DX1RSR1_1 0x5c1108d4 +#define DDR_PHY_DX1RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x236) +#define DDR_PHY_DX1RSR2_0 0x5c0108d8 +#define DDR_PHY_DX1RSR2_1 0x5c1108d8 +#define DDR_PHY_DX1RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x237) +#define DDR_PHY_DX1RSR3_0 0x5c0108dc +#define DDR_PHY_DX1RSR3_1 0x5c1108dc +#define DDR_PHY_DX1GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x238) +#define DDR_PHY_DX1GSR0_0 0x5c0108e0 +#define DDR_PHY_DX1GSR0_1 0x5c1108e0 +#define DDR_PHY_DX1GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x239) +#define DDR_PHY_DX1GSR1_0 0x5c0108e4 +#define DDR_PHY_DX1GSR1_1 0x5c1108e4 +#define DDR_PHY_DX1GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23A) +#define DDR_PHY_DX1GSR2_0 0x5c0108e8 +#define DDR_PHY_DX1GSR2_1 0x5c1108e8 +#define DDR_PHY_DX1GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23B) +#define DDR_PHY_DX1GSR3_0 0x5c0108ec +#define DDR_PHY_DX1GSR3_1 0x5c1108ec +#define DDR_PHY_DX1GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23C) +#define DDR_PHY_DX1GSR4_0 0x5c0108f0 +#define DDR_PHY_DX1GSR4_1 0x5c1108f0 +#define DDR_PHY_DX1GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23D) +#define DDR_PHY_DX1GSR5_0 0x5c0108f4 +#define DDR_PHY_DX1GSR5_1 0x5c1108f4 +#define DDR_PHY_DX1GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x23E) +#define DDR_PHY_DX1GSR6_0 0x5c0108f8 +#define DDR_PHY_DX1GSR6_1 0x5c1108f8 +#define DDR_PHY_DX2GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x240) +#define DDR_PHY_DX2GCR0_0 0x5c010900 +#define DDR_PHY_DX2GCR0_1 0x5c110900 +#define DDR_PHY_DX2GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x241) +#define DDR_PHY_DX2GCR1_0 0x5c010904 +#define DDR_PHY_DX2GCR1_1 0x5c110904 +#define DDR_PHY_DX2GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x242) +#define DDR_PHY_DX2GCR2_0 0x5c010908 +#define DDR_PHY_DX2GCR2_1 0x5c110908 +#define DDR_PHY_DX2GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x243) +#define DDR_PHY_DX2GCR3_0 0x5c01090c +#define DDR_PHY_DX2GCR3_1 0x5c11090c +#define DDR_PHY_DX2GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x244) +#define DDR_PHY_DX2GCR4_0 0x5c010910 +#define DDR_PHY_DX2GCR4_1 0x5c110910 +#define DDR_PHY_DX2GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x245) +#define DDR_PHY_DX2GCR5_0 0x5c010914 +#define DDR_PHY_DX2GCR5_1 0x5c110914 +#define DDR_PHY_DX2GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x246) +#define DDR_PHY_DX2GCR6_0 0x5c010918 +#define DDR_PHY_DX2GCR6_1 0x5c110918 +#define DDR_PHY_DX2GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x247) +#define DDR_PHY_DX2GCR7_0 0x5c01091c +#define DDR_PHY_DX2GCR7_1 0x5c11091c +#define DDR_PHY_DX2GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x248) +#define DDR_PHY_DX2GCR8_0 0x5c010920 +#define DDR_PHY_DX2GCR8_1 0x5c110920 +#define DDR_PHY_DX2GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x249) +#define DDR_PHY_DX2GCR9_0 0x5c010924 +#define DDR_PHY_DX2GCR9_1 0x5c110924 +#define DDR_PHY_DX2DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x24A) +#define DDR_PHY_DX2DQMAP0_0 0x5c010928 +#define DDR_PHY_DX2DQMAP0_1 0x5c110928 +#define DDR_PHY_DX2DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x24B) +#define DDR_PHY_DX2DQMAP1_0 0x5c01092c +#define DDR_PHY_DX2DQMAP1_1 0x5c11092c +#define DDR_PHY_DX2BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x250) +#define DDR_PHY_DX2BDLR0_0 0x5c010940 +#define DDR_PHY_DX2BDLR0_1 0x5c110940 +#define DDR_PHY_DX2BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x251) +#define DDR_PHY_DX2BDLR1_0 0x5c010944 +#define DDR_PHY_DX2BDLR1_1 0x5c110944 +#define DDR_PHY_DX2BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x252) +#define DDR_PHY_DX2BDLR2_0 0x5c010948 +#define DDR_PHY_DX2BDLR2_1 0x5c110948 +#define DDR_PHY_DX2BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x254) +#define DDR_PHY_DX2BDLR3_0 0x5c010950 +#define DDR_PHY_DX2BDLR3_1 0x5c110950 +#define DDR_PHY_DX2BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x255) +#define DDR_PHY_DX2BDLR4_0 0x5c010954 +#define DDR_PHY_DX2BDLR4_1 0x5c110954 +#define DDR_PHY_DX2BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x256) +#define DDR_PHY_DX2BDLR5_0 0x5c010958 +#define DDR_PHY_DX2BDLR5_1 0x5c110958 +#define DDR_PHY_DX2BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x258) +#define DDR_PHY_DX2BDLR6_0 0x5c010960 +#define DDR_PHY_DX2BDLR6_1 0x5c110960 +#define DDR_PHY_DX2BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x259) +#define DDR_PHY_DX2BDLR7_0 0x5c010964 +#define DDR_PHY_DX2BDLR7_1 0x5c110964 +#define DDR_PHY_DX2BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x25A) +#define DDR_PHY_DX2BDLR8_0 0x5c010968 +#define DDR_PHY_DX2BDLR8_1 0x5c110968 +#define DDR_PHY_DX2BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x25B) +#define DDR_PHY_DX2BDLR9_0 0x5c01096c +#define DDR_PHY_DX2BDLR9_1 0x5c11096c +#define DDR_PHY_DX2LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x260) +#define DDR_PHY_DX2LCDLR0_0 0x5c010980 +#define DDR_PHY_DX2LCDLR0_1 0x5c110980 +#define DDR_PHY_DX2LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x261) +#define DDR_PHY_DX2LCDLR1_0 0x5c010984 +#define DDR_PHY_DX2LCDLR1_1 0x5c110984 +#define DDR_PHY_DX2LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x262) +#define DDR_PHY_DX2LCDLR2_0 0x5c010988 +#define DDR_PHY_DX2LCDLR2_1 0x5c110988 +#define DDR_PHY_DX2LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x263) +#define DDR_PHY_DX2LCDLR3_0 0x5c01098c +#define DDR_PHY_DX2LCDLR3_1 0x5c11098c +#define DDR_PHY_DX2LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x264) +#define DDR_PHY_DX2LCDLR4_0 0x5c010990 +#define DDR_PHY_DX2LCDLR4_1 0x5c110990 +#define DDR_PHY_DX2LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x265) +#define DDR_PHY_DX2LCDLR5_0 0x5c010994 +#define DDR_PHY_DX2LCDLR5_1 0x5c110994 +#define DDR_PHY_DX2MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x268) +#define DDR_PHY_DX2MDLR0_0 0x5c0109a0 +#define DDR_PHY_DX2MDLR0_1 0x5c1109a0 +#define DDR_PHY_DX2MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x269) +#define DDR_PHY_DX2MDLR1_0 0x5c0109a4 +#define DDR_PHY_DX2MDLR1_1 0x5c1109a4 +#define DDR_PHY_DX2GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x270) +#define DDR_PHY_DX2GTR0_0 0x5c0109c0 +#define DDR_PHY_DX2GTR0_1 0x5c1109c0 +#define DDR_PHY_DX2RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x274) +#define DDR_PHY_DX2RSR0_0 0x5c0109d0 +#define DDR_PHY_DX2RSR0_1 0x5c1109d0 +#define DDR_PHY_DX2RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x275) +#define DDR_PHY_DX2RSR1_0 0x5c0109d4 +#define DDR_PHY_DX2RSR1_1 0x5c1109d4 +#define DDR_PHY_DX2RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x276) +#define DDR_PHY_DX2RSR2_0 0x5c0109d8 +#define DDR_PHY_DX2RSR2_1 0x5c1109d8 +#define DDR_PHY_DX2RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x277) +#define DDR_PHY_DX2RSR3_0 0x5c0109dc +#define DDR_PHY_DX2RSR3_1 0x5c1109dc +#define DDR_PHY_DX2GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x278) +#define DDR_PHY_DX2GSR0_0 0x5c0109e0 +#define DDR_PHY_DX2GSR0_1 0x5c1109e0 +#define DDR_PHY_DX2GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x279) +#define DDR_PHY_DX2GSR1_0 0x5c0109e4 +#define DDR_PHY_DX2GSR1_1 0x5c1109e4 +#define DDR_PHY_DX2GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27A) +#define DDR_PHY_DX2GSR2_0 0x5c0109e8 +#define DDR_PHY_DX2GSR2_1 0x5c1109e8 +#define DDR_PHY_DX2GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27B) +#define DDR_PHY_DX2GSR3_0 0x5c0109ec +#define DDR_PHY_DX2GSR3_1 0x5c1109ec +#define DDR_PHY_DX2GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27C) +#define DDR_PHY_DX2GSR4_0 0x5c0109f0 +#define DDR_PHY_DX2GSR4_1 0x5c1109f0 +#define DDR_PHY_DX2GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27D) +#define DDR_PHY_DX2GSR5_0 0x5c0109f4 +#define DDR_PHY_DX2GSR5_1 0x5c1109f4 +#define DDR_PHY_DX2GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x27E) +#define DDR_PHY_DX2GSR6_0 0x5c0109f8 +#define DDR_PHY_DX2GSR6_1 0x5c1109f8 +#define DDR_PHY_DX3GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x280) +#define DDR_PHY_DX3GCR0_0 0x5c010a00 +#define DDR_PHY_DX3GCR0_1 0x5c110a00 +#define DDR_PHY_DX3GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x281) +#define DDR_PHY_DX3GCR1_0 0x5c010a04 +#define DDR_PHY_DX3GCR1_1 0x5c110a04 +#define DDR_PHY_DX3GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x282) +#define DDR_PHY_DX3GCR2_0 0x5c010a08 +#define DDR_PHY_DX3GCR2_1 0x5c110a08 +#define DDR_PHY_DX3GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x283) +#define DDR_PHY_DX3GCR3_0 0x5c010a0c +#define DDR_PHY_DX3GCR3_1 0x5c110a0c +#define DDR_PHY_DX3GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x284) +#define DDR_PHY_DX3GCR4_0 0x5c010a10 +#define DDR_PHY_DX3GCR4_1 0x5c110a10 +#define DDR_PHY_DX3GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x285) +#define DDR_PHY_DX3GCR5_0 0x5c010a14 +#define DDR_PHY_DX3GCR5_1 0x5c110a14 +#define DDR_PHY_DX3GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x286) +#define DDR_PHY_DX3GCR6_0 0x5c010a18 +#define DDR_PHY_DX3GCR6_1 0x5c110a18 +#define DDR_PHY_DX3GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x287) +#define DDR_PHY_DX3GCR7_0 0x5c010a1c +#define DDR_PHY_DX3GCR7_1 0x5c110a1c +#define DDR_PHY_DX3GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x288) +#define DDR_PHY_DX3GCR8_0 0x5c010a20 +#define DDR_PHY_DX3GCR8_1 0x5c110a20 +#define DDR_PHY_DX3GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x289) +#define DDR_PHY_DX3GCR9_0 0x5c010a24 +#define DDR_PHY_DX3GCR9_1 0x5c110a24 +#define DDR_PHY_DX3DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x28A) +#define DDR_PHY_DX3DQMAP0_0 0x5c010a28 +#define DDR_PHY_DX3DQMAP0_1 0x5c110a28 +#define DDR_PHY_DX3DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x28B) +#define DDR_PHY_DX3DQMAP1_0 0x5c010a2c +#define DDR_PHY_DX3DQMAP1_1 0x5c110a2c +#define DDR_PHY_DX3BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x290) +#define DDR_PHY_DX3BDLR0_0 0x5c010a40 +#define DDR_PHY_DX3BDLR0_1 0x5c110a40 +#define DDR_PHY_DX3BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x291) +#define DDR_PHY_DX3BDLR1_0 0x5c010a44 +#define DDR_PHY_DX3BDLR1_1 0x5c110a44 +#define DDR_PHY_DX3BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x292) +#define DDR_PHY_DX3BDLR2_0 0x5c010a48 +#define DDR_PHY_DX3BDLR2_1 0x5c110a48 +#define DDR_PHY_DX3BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x294) +#define DDR_PHY_DX3BDLR3_0 0x5c010a50 +#define DDR_PHY_DX3BDLR3_1 0x5c110a50 +#define DDR_PHY_DX3BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x295) +#define DDR_PHY_DX3BDLR4_0 0x5c010a54 +#define DDR_PHY_DX3BDLR4_1 0x5c110a54 +#define DDR_PHY_DX3BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x296) +#define DDR_PHY_DX3BDLR5_0 0x5c010a58 +#define DDR_PHY_DX3BDLR5_1 0x5c110a58 +#define DDR_PHY_DX3BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x298) +#define DDR_PHY_DX3BDLR6_0 0x5c010a60 +#define DDR_PHY_DX3BDLR6_1 0x5c110a60 +#define DDR_PHY_DX3BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x299) +#define DDR_PHY_DX3BDLR7_0 0x5c010a64 +#define DDR_PHY_DX3BDLR7_1 0x5c110a64 +#define DDR_PHY_DX3BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x29A) +#define DDR_PHY_DX3BDLR8_0 0x5c010a68 +#define DDR_PHY_DX3BDLR8_1 0x5c110a68 +#define DDR_PHY_DX3BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x29B) +#define DDR_PHY_DX3BDLR9_0 0x5c010a6c +#define DDR_PHY_DX3BDLR9_1 0x5c110a6c +#define DDR_PHY_DX3LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A0) +#define DDR_PHY_DX3LCDLR0_0 0x5c010a80 +#define DDR_PHY_DX3LCDLR0_1 0x5c110a80 +#define DDR_PHY_DX3LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A1) +#define DDR_PHY_DX3LCDLR1_0 0x5c010a84 +#define DDR_PHY_DX3LCDLR1_1 0x5c110a84 +#define DDR_PHY_DX3LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A2) +#define DDR_PHY_DX3LCDLR2_0 0x5c010a88 +#define DDR_PHY_DX3LCDLR2_1 0x5c110a88 +#define DDR_PHY_DX3LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A3) +#define DDR_PHY_DX3LCDLR3_0 0x5c010a8c +#define DDR_PHY_DX3LCDLR3_1 0x5c110a8c +#define DDR_PHY_DX3LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A4) +#define DDR_PHY_DX3LCDLR4_0 0x5c010a90 +#define DDR_PHY_DX3LCDLR4_1 0x5c110a90 +#define DDR_PHY_DX3LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A5) +#define DDR_PHY_DX3LCDLR5_0 0x5c010a94 +#define DDR_PHY_DX3LCDLR5_1 0x5c110a94 +#define DDR_PHY_DX3MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A8) +#define DDR_PHY_DX3MDLR0_0 0x5c010aa0 +#define DDR_PHY_DX3MDLR0_1 0x5c110aa0 +#define DDR_PHY_DX3MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2A9) +#define DDR_PHY_DX3MDLR1_0 0x5c010aa4 +#define DDR_PHY_DX3MDLR1_1 0x5c110aa4 +#define DDR_PHY_DX3GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B0) +#define DDR_PHY_DX3GTR0_0 0x5c010ac0 +#define DDR_PHY_DX3GTR0_1 0x5c110ac0 +#define DDR_PHY_DX3RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B4) +#define DDR_PHY_DX3RSR0_0 0x5c010ad0 +#define DDR_PHY_DX3RSR0_1 0x5c110ad0 +#define DDR_PHY_DX3RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B5) +#define DDR_PHY_DX3RSR1_0 0x5c010ad4 +#define DDR_PHY_DX3RSR1_1 0x5c110ad4 +#define DDR_PHY_DX3RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B6) +#define DDR_PHY_DX3RSR2_0 0x5c010ad8 +#define DDR_PHY_DX3RSR2_1 0x5c110ad8 +#define DDR_PHY_DX3RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B7) +#define DDR_PHY_DX3RSR3_0 0x5c010adc +#define DDR_PHY_DX3RSR3_1 0x5c110adc +#define DDR_PHY_DX3GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B8) +#define DDR_PHY_DX3GSR0_0 0x5c010ae0 +#define DDR_PHY_DX3GSR0_1 0x5c110ae0 +#define DDR_PHY_DX3GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2B9) +#define DDR_PHY_DX3GSR1_0 0x5c010ae4 +#define DDR_PHY_DX3GSR1_1 0x5c110ae4 +#define DDR_PHY_DX3GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BA) +#define DDR_PHY_DX3GSR2_0 0x5c010ae8 +#define DDR_PHY_DX3GSR2_1 0x5c110ae8 +#define DDR_PHY_DX3GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BB) +#define DDR_PHY_DX3GSR3_0 0x5c010aec +#define DDR_PHY_DX3GSR3_1 0x5c110aec +#define DDR_PHY_DX3GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BC) +#define DDR_PHY_DX3GSR4_0 0x5c010af0 +#define DDR_PHY_DX3GSR4_1 0x5c110af0 +#define DDR_PHY_DX3GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BD) +#define DDR_PHY_DX3GSR5_0 0x5c010af4 +#define DDR_PHY_DX3GSR5_1 0x5c110af4 +#define DDR_PHY_DX3GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2BE) +#define DDR_PHY_DX3GSR6_0 0x5c010af8 +#define DDR_PHY_DX3GSR6_1 0x5c110af8 +#define DDR_PHY_DX4GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C0) +#define DDR_PHY_DX4GCR0_0 0x5c010b00 +#define DDR_PHY_DX4GCR0_1 0x5c110b00 +#define DDR_PHY_DX4GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C1) +#define DDR_PHY_DX4GCR1_0 0x5c010b04 +#define DDR_PHY_DX4GCR1_1 0x5c110b04 +#define DDR_PHY_DX4GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C2) +#define DDR_PHY_DX4GCR2_0 0x5c010b08 +#define DDR_PHY_DX4GCR2_1 0x5c110b08 +#define DDR_PHY_DX4GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C3) +#define DDR_PHY_DX4GCR3_0 0x5c010b0c +#define DDR_PHY_DX4GCR3_1 0x5c110b0c +#define DDR_PHY_DX4GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C4) +#define DDR_PHY_DX4GCR4_0 0x5c010b10 +#define DDR_PHY_DX4GCR4_1 0x5c110b10 +#define DDR_PHY_DX4GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C5) +#define DDR_PHY_DX4GCR5_0 0x5c010b14 +#define DDR_PHY_DX4GCR5_1 0x5c110b14 +#define DDR_PHY_DX4GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C6) +#define DDR_PHY_DX4GCR6_0 0x5c010b18 +#define DDR_PHY_DX4GCR6_1 0x5c110b18 +#define DDR_PHY_DX4GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C7) +#define DDR_PHY_DX4GCR7_0 0x5c010b1c +#define DDR_PHY_DX4GCR7_1 0x5c110b1c +#define DDR_PHY_DX4GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C8) +#define DDR_PHY_DX4GCR8_0 0x5c010b20 +#define DDR_PHY_DX4GCR8_1 0x5c110b20 +#define DDR_PHY_DX4GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2C9) +#define DDR_PHY_DX4GCR9_0 0x5c010b24 +#define DDR_PHY_DX4GCR9_1 0x5c110b24 +#define DDR_PHY_DX4DQMAP0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2CA) +#define DDR_PHY_DX4DQMAP0_0 0x5c010b28 +#define DDR_PHY_DX4DQMAP0_1 0x5c110b28 +#define DDR_PHY_DX4DQMAP1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2CB) +#define DDR_PHY_DX4DQMAP1_0 0x5c010b2c +#define DDR_PHY_DX4DQMAP1_1 0x5c110b2c +#define DDR_PHY_DX4BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D0) +#define DDR_PHY_DX4BDLR0_0 0x5c010b40 +#define DDR_PHY_DX4BDLR0_1 0x5c110b40 +#define DDR_PHY_DX4BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D1) +#define DDR_PHY_DX4BDLR1_0 0x5c010b44 +#define DDR_PHY_DX4BDLR1_1 0x5c110b44 +#define DDR_PHY_DX4BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D2) +#define DDR_PHY_DX4BDLR2_0 0x5c010b48 +#define DDR_PHY_DX4BDLR2_1 0x5c110b48 +#define DDR_PHY_DX4BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D4) +#define DDR_PHY_DX4BDLR3_0 0x5c010b50 +#define DDR_PHY_DX4BDLR3_1 0x5c110b50 +#define DDR_PHY_DX4BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D5) +#define DDR_PHY_DX4BDLR4_0 0x5c010b54 +#define DDR_PHY_DX4BDLR4_1 0x5c110b54 +#define DDR_PHY_DX4BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D6) +#define DDR_PHY_DX4BDLR5_0 0x5c010b58 +#define DDR_PHY_DX4BDLR5_1 0x5c110b58 +#define DDR_PHY_DX4BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D8) +#define DDR_PHY_DX4BDLR6_0 0x5c010b60 +#define DDR_PHY_DX4BDLR6_1 0x5c110b60 +#define DDR_PHY_DX4BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2D9) +#define DDR_PHY_DX4BDLR7_0 0x5c010b64 +#define DDR_PHY_DX4BDLR7_1 0x5c110b64 +#define DDR_PHY_DX4BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2DA) +#define DDR_PHY_DX4BDLR8_0 0x5c010b68 +#define DDR_PHY_DX4BDLR8_1 0x5c110b68 +#define DDR_PHY_DX4BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2DB) +#define DDR_PHY_DX4BDLR9_0 0x5c010b6c +#define DDR_PHY_DX4BDLR9_1 0x5c110b6c +#define DDR_PHY_DX4LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E0) +#define DDR_PHY_DX4LCDLR0_0 0x5c010b80 +#define DDR_PHY_DX4LCDLR0_1 0x5c110b80 +#define DDR_PHY_DX4LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E1) +#define DDR_PHY_DX4LCDLR1_0 0x5c010b84 +#define DDR_PHY_DX4LCDLR1_1 0x5c110b84 +#define DDR_PHY_DX4LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E2) +#define DDR_PHY_DX4LCDLR2_0 0x5c010b88 +#define DDR_PHY_DX4LCDLR2_1 0x5c110b88 +#define DDR_PHY_DX4LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E3) +#define DDR_PHY_DX4LCDLR3_0 0x5c010b8c +#define DDR_PHY_DX4LCDLR3_1 0x5c110b8c +#define DDR_PHY_DX4LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E4) +#define DDR_PHY_DX4LCDLR4_0 0x5c010b90 +#define DDR_PHY_DX4LCDLR4_1 0x5c110b90 +#define DDR_PHY_DX4LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E5) +#define DDR_PHY_DX4LCDLR5_0 0x5c010b94 +#define DDR_PHY_DX4LCDLR5_1 0x5c110b94 +#define DDR_PHY_DX4MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E8) +#define DDR_PHY_DX4MDLR0_0 0x5c010ba0 +#define DDR_PHY_DX4MDLR0_1 0x5c110ba0 +#define DDR_PHY_DX4MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2E9) +#define DDR_PHY_DX4MDLR1_0 0x5c010ba4 +#define DDR_PHY_DX4MDLR1_1 0x5c110ba4 +#define DDR_PHY_DX4GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F0) +#define DDR_PHY_DX4GTR0_0 0x5c010bc0 +#define DDR_PHY_DX4GTR0_1 0x5c110bc0 +#define DDR_PHY_DX4RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F4) +#define DDR_PHY_DX4RSR0_0 0x5c010bd0 +#define DDR_PHY_DX4RSR0_1 0x5c110bd0 +#define DDR_PHY_DX4RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F5) +#define DDR_PHY_DX4RSR1_0 0x5c010bd4 +#define DDR_PHY_DX4RSR1_1 0x5c110bd4 +#define DDR_PHY_DX4RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F6) +#define DDR_PHY_DX4RSR2_0 0x5c010bd8 +#define DDR_PHY_DX4RSR2_1 0x5c110bd8 +#define DDR_PHY_DX4RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F7) +#define DDR_PHY_DX4RSR3_0 0x5c010bdc +#define DDR_PHY_DX4RSR3_1 0x5c110bdc +#define DDR_PHY_DX4GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F8) +#define DDR_PHY_DX4GSR0_0 0x5c010be0 +#define DDR_PHY_DX4GSR0_1 0x5c110be0 +#define DDR_PHY_DX4GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2F9) +#define DDR_PHY_DX4GSR1_0 0x5c010be4 +#define DDR_PHY_DX4GSR1_1 0x5c110be4 +#define DDR_PHY_DX4GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FA) +#define DDR_PHY_DX4GSR2_0 0x5c010be8 +#define DDR_PHY_DX4GSR2_1 0x5c110be8 +#define DDR_PHY_DX4GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FB) +#define DDR_PHY_DX4GSR3_0 0x5c010bec +#define DDR_PHY_DX4GSR3_1 0x5c110bec +#define DDR_PHY_DX4GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FC) +#define DDR_PHY_DX4GSR4_0 0x5c010bf0 +#define DDR_PHY_DX4GSR4_1 0x5c110bf0 +#define DDR_PHY_DX4GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FD) +#define DDR_PHY_DX4GSR5_0 0x5c010bf4 +#define DDR_PHY_DX4GSR5_1 0x5c110bf4 +#define DDR_PHY_DX4GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x2FE) +#define DDR_PHY_DX4GSR6_0 0x5c010bf8 +#define DDR_PHY_DX4GSR6_1 0x5c110bf8 +#define DDR_PHY_DX5GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x300) +#define DDR_PHY_DX5GCR0_0 0x5c010c00 +#define DDR_PHY_DX5GCR0_1 0x5c110c00 +#define DDR_PHY_DX5GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x301) +#define DDR_PHY_DX5GCR1_0 0x5c010c04 +#define DDR_PHY_DX5GCR1_1 0x5c110c04 +#define DDR_PHY_DX5GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x302) +#define DDR_PHY_DX5GCR2_0 0x5c010c08 +#define DDR_PHY_DX5GCR2_1 0x5c110c08 +#define DDR_PHY_DX5GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x303) +#define DDR_PHY_DX5GCR3_0 0x5c010c0c +#define DDR_PHY_DX5GCR3_1 0x5c110c0c +#define DDR_PHY_DX5GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x304) +#define DDR_PHY_DX5GCR4_0 0x5c010c10 +#define DDR_PHY_DX5GCR4_1 0x5c110c10 +#define DDR_PHY_DX5GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x305) +#define DDR_PHY_DX5GCR5_0 0x5c010c14 +#define DDR_PHY_DX5GCR5_1 0x5c110c14 +#define DDR_PHY_DX5GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x306) +#define DDR_PHY_DX5GCR6_0 0x5c010c18 +#define DDR_PHY_DX5GCR6_1 0x5c110c18 +#define DDR_PHY_DX5GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x307) +#define DDR_PHY_DX5GCR7_0 0x5c010c1c +#define DDR_PHY_DX5GCR7_1 0x5c110c1c +#define DDR_PHY_DX5GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x308) +#define DDR_PHY_DX5GCR8_0 0x5c010c20 +#define DDR_PHY_DX5GCR8_1 0x5c110c20 +#define DDR_PHY_DX5GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x309) +#define DDR_PHY_DX5GCR9_0 0x5c010c24 +#define DDR_PHY_DX5GCR9_1 0x5c110c24 +#define DDR_PHY_DX5BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x310) +#define DDR_PHY_DX5BDLR0_0 0x5c010c40 +#define DDR_PHY_DX5BDLR0_1 0x5c110c40 +#define DDR_PHY_DX5BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x311) +#define DDR_PHY_DX5BDLR1_0 0x5c010c44 +#define DDR_PHY_DX5BDLR1_1 0x5c110c44 +#define DDR_PHY_DX5BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x312) +#define DDR_PHY_DX5BDLR2_0 0x5c010c48 +#define DDR_PHY_DX5BDLR2_1 0x5c110c48 +#define DDR_PHY_DX5BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x314) +#define DDR_PHY_DX5BDLR3_0 0x5c010c50 +#define DDR_PHY_DX5BDLR3_1 0x5c110c50 +#define DDR_PHY_DX5BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x315) +#define DDR_PHY_DX5BDLR4_0 0x5c010c54 +#define DDR_PHY_DX5BDLR4_1 0x5c110c54 +#define DDR_PHY_DX5BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x316) +#define DDR_PHY_DX5BDLR5_0 0x5c010c58 +#define DDR_PHY_DX5BDLR5_1 0x5c110c58 +#define DDR_PHY_DX5BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x318) +#define DDR_PHY_DX5BDLR6_0 0x5c010c60 +#define DDR_PHY_DX5BDLR6_1 0x5c110c60 +#define DDR_PHY_DX5BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x319) +#define DDR_PHY_DX5BDLR7_0 0x5c010c64 +#define DDR_PHY_DX5BDLR7_1 0x5c110c64 +#define DDR_PHY_DX5BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x31A) +#define DDR_PHY_DX5BDLR8_0 0x5c010c68 +#define DDR_PHY_DX5BDLR8_1 0x5c110c68 +#define DDR_PHY_DX5BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x31B) +#define DDR_PHY_DX5BDLR9_0 0x5c010c6c +#define DDR_PHY_DX5BDLR9_1 0x5c110c6c +#define DDR_PHY_DX5LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x320) +#define DDR_PHY_DX5LCDLR0_0 0x5c010c80 +#define DDR_PHY_DX5LCDLR0_1 0x5c110c80 +#define DDR_PHY_DX5LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x321) +#define DDR_PHY_DX5LCDLR1_0 0x5c010c84 +#define DDR_PHY_DX5LCDLR1_1 0x5c110c84 +#define DDR_PHY_DX5LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x322) +#define DDR_PHY_DX5LCDLR2_0 0x5c010c88 +#define DDR_PHY_DX5LCDLR2_1 0x5c110c88 +#define DDR_PHY_DX5LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x323) +#define DDR_PHY_DX5LCDLR3_0 0x5c010c8c +#define DDR_PHY_DX5LCDLR3_1 0x5c110c8c +#define DDR_PHY_DX5LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x324) +#define DDR_PHY_DX5LCDLR4_0 0x5c010c90 +#define DDR_PHY_DX5LCDLR4_1 0x5c110c90 +#define DDR_PHY_DX5LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x325) +#define DDR_PHY_DX5LCDLR5_0 0x5c010c94 +#define DDR_PHY_DX5LCDLR5_1 0x5c110c94 +#define DDR_PHY_DX5MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x328) +#define DDR_PHY_DX5MDLR0_0 0x5c010ca0 +#define DDR_PHY_DX5MDLR0_1 0x5c110ca0 +#define DDR_PHY_DX5MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x329) +#define DDR_PHY_DX5MDLR1_0 0x5c010ca4 +#define DDR_PHY_DX5MDLR1_1 0x5c110ca4 +#define DDR_PHY_DX5GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x330) +#define DDR_PHY_DX5GTR0_0 0x5c010cc0 +#define DDR_PHY_DX5GTR0_1 0x5c110cc0 +#define DDR_PHY_DX5RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x334) +#define DDR_PHY_DX5RSR0_0 0x5c010cd0 +#define DDR_PHY_DX5RSR0_1 0x5c110cd0 +#define DDR_PHY_DX5RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x335) +#define DDR_PHY_DX5RSR1_0 0x5c010cd4 +#define DDR_PHY_DX5RSR1_1 0x5c110cd4 +#define DDR_PHY_DX5RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x336) +#define DDR_PHY_DX5RSR2_0 0x5c010cd8 +#define DDR_PHY_DX5RSR2_1 0x5c110cd8 +#define DDR_PHY_DX5RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x337) +#define DDR_PHY_DX5RSR3_0 0x5c010cdc +#define DDR_PHY_DX5RSR3_1 0x5c110cdc +#define DDR_PHY_DX5GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x338) +#define DDR_PHY_DX5GSR0_0 0x5c010ce0 +#define DDR_PHY_DX5GSR0_1 0x5c110ce0 +#define DDR_PHY_DX5GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x339) +#define DDR_PHY_DX5GSR1_0 0x5c010ce4 +#define DDR_PHY_DX5GSR1_1 0x5c110ce4 +#define DDR_PHY_DX5GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33A) +#define DDR_PHY_DX5GSR2_0 0x5c010ce8 +#define DDR_PHY_DX5GSR2_1 0x5c110ce8 +#define DDR_PHY_DX5GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33B) +#define DDR_PHY_DX5GSR3_0 0x5c010cec +#define DDR_PHY_DX5GSR3_1 0x5c110cec +#define DDR_PHY_DX5GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33C) +#define DDR_PHY_DX5GSR4_0 0x5c010cf0 +#define DDR_PHY_DX5GSR4_1 0x5c110cf0 +#define DDR_PHY_DX5GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33D) +#define DDR_PHY_DX5GSR5_0 0x5c010cf4 +#define DDR_PHY_DX5GSR5_1 0x5c110cf4 +#define DDR_PHY_DX5GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x33E) +#define DDR_PHY_DX5GSR6_0 0x5c010cf8 +#define DDR_PHY_DX5GSR6_1 0x5c110cf8 +#define DDR_PHY_DX6GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x340) +#define DDR_PHY_DX6GCR0_0 0x5c010d00 +#define DDR_PHY_DX6GCR0_1 0x5c110d00 +#define DDR_PHY_DX6GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x341) +#define DDR_PHY_DX6GCR1_0 0x5c010d04 +#define DDR_PHY_DX6GCR1_1 0x5c110d04 +#define DDR_PHY_DX6GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x342) +#define DDR_PHY_DX6GCR2_0 0x5c010d08 +#define DDR_PHY_DX6GCR2_1 0x5c110d08 +#define DDR_PHY_DX6GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x343) +#define DDR_PHY_DX6GCR3_0 0x5c010d0c +#define DDR_PHY_DX6GCR3_1 0x5c110d0c +#define DDR_PHY_DX6GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x344) +#define DDR_PHY_DX6GCR4_0 0x5c010d10 +#define DDR_PHY_DX6GCR4_1 0x5c110d10 +#define DDR_PHY_DX6GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x345) +#define DDR_PHY_DX6GCR5_0 0x5c010d14 +#define DDR_PHY_DX6GCR5_1 0x5c110d14 +#define DDR_PHY_DX6GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x346) +#define DDR_PHY_DX6GCR6_0 0x5c010d18 +#define DDR_PHY_DX6GCR6_1 0x5c110d18 +#define DDR_PHY_DX6GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x347) +#define DDR_PHY_DX6GCR7_0 0x5c010d1c +#define DDR_PHY_DX6GCR7_1 0x5c110d1c +#define DDR_PHY_DX6GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x348) +#define DDR_PHY_DX6GCR8_0 0x5c010d20 +#define DDR_PHY_DX6GCR8_1 0x5c110d20 +#define DDR_PHY_DX6GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x349) +#define DDR_PHY_DX6GCR9_0 0x5c010d24 +#define DDR_PHY_DX6GCR9_1 0x5c110d24 +#define DDR_PHY_DX6BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x350) +#define DDR_PHY_DX6BDLR0_0 0x5c010d40 +#define DDR_PHY_DX6BDLR0_1 0x5c110d40 +#define DDR_PHY_DX6BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x351) +#define DDR_PHY_DX6BDLR1_0 0x5c010d44 +#define DDR_PHY_DX6BDLR1_1 0x5c110d44 +#define DDR_PHY_DX6BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x352) +#define DDR_PHY_DX6BDLR2_0 0x5c010d48 +#define DDR_PHY_DX6BDLR2_1 0x5c110d48 +#define DDR_PHY_DX6BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x354) +#define DDR_PHY_DX6BDLR3_0 0x5c010d50 +#define DDR_PHY_DX6BDLR3_1 0x5c110d50 +#define DDR_PHY_DX6BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x355) +#define DDR_PHY_DX6BDLR4_0 0x5c010d54 +#define DDR_PHY_DX6BDLR4_1 0x5c110d54 +#define DDR_PHY_DX6BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x356) +#define DDR_PHY_DX6BDLR5_0 0x5c010d58 +#define DDR_PHY_DX6BDLR5_1 0x5c110d58 +#define DDR_PHY_DX6BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x358) +#define DDR_PHY_DX6BDLR6_0 0x5c010d60 +#define DDR_PHY_DX6BDLR6_1 0x5c110d60 +#define DDR_PHY_DX6BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x359) +#define DDR_PHY_DX6BDLR7_0 0x5c010d64 +#define DDR_PHY_DX6BDLR7_1 0x5c110d64 +#define DDR_PHY_DX6BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x35A) +#define DDR_PHY_DX6BDLR8_0 0x5c010d68 +#define DDR_PHY_DX6BDLR8_1 0x5c110d68 +#define DDR_PHY_DX6BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x35B) +#define DDR_PHY_DX6BDLR9_0 0x5c010d6c +#define DDR_PHY_DX6BDLR9_1 0x5c110d6c +#define DDR_PHY_DX6LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x360) +#define DDR_PHY_DX6LCDLR0_0 0x5c010d80 +#define DDR_PHY_DX6LCDLR0_1 0x5c110d80 +#define DDR_PHY_DX6LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x361) +#define DDR_PHY_DX6LCDLR1_0 0x5c010d84 +#define DDR_PHY_DX6LCDLR1_1 0x5c110d84 +#define DDR_PHY_DX6LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x362) +#define DDR_PHY_DX6LCDLR2_0 0x5c010d88 +#define DDR_PHY_DX6LCDLR2_1 0x5c110d88 +#define DDR_PHY_DX6LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x363) +#define DDR_PHY_DX6LCDLR3_0 0x5c010d8c +#define DDR_PHY_DX6LCDLR3_1 0x5c110d8c +#define DDR_PHY_DX6LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x364) +#define DDR_PHY_DX6LCDLR4_0 0x5c010d90 +#define DDR_PHY_DX6LCDLR4_1 0x5c110d90 +#define DDR_PHY_DX6LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x365) +#define DDR_PHY_DX6LCDLR5_0 0x5c010d94 +#define DDR_PHY_DX6LCDLR5_1 0x5c110d94 +#define DDR_PHY_DX6MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x368) +#define DDR_PHY_DX6MDLR0_0 0x5c010da0 +#define DDR_PHY_DX6MDLR0_1 0x5c110da0 +#define DDR_PHY_DX6MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x369) +#define DDR_PHY_DX6MDLR1_0 0x5c010da4 +#define DDR_PHY_DX6MDLR1_1 0x5c110da4 +#define DDR_PHY_DX6GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x370) +#define DDR_PHY_DX6GTR0_0 0x5c010dc0 +#define DDR_PHY_DX6GTR0_1 0x5c110dc0 +#define DDR_PHY_DX6RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x374) +#define DDR_PHY_DX6RSR0_0 0x5c010dd0 +#define DDR_PHY_DX6RSR0_1 0x5c110dd0 +#define DDR_PHY_DX6RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x375) +#define DDR_PHY_DX6RSR1_0 0x5c010dd4 +#define DDR_PHY_DX6RSR1_1 0x5c110dd4 +#define DDR_PHY_DX6RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x376) +#define DDR_PHY_DX6RSR2_0 0x5c010dd8 +#define DDR_PHY_DX6RSR2_1 0x5c110dd8 +#define DDR_PHY_DX6RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x377) +#define DDR_PHY_DX6RSR3_0 0x5c010ddc +#define DDR_PHY_DX6RSR3_1 0x5c110ddc +#define DDR_PHY_DX6GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x378) +#define DDR_PHY_DX6GSR0_0 0x5c010de0 +#define DDR_PHY_DX6GSR0_1 0x5c110de0 +#define DDR_PHY_DX6GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x379) +#define DDR_PHY_DX6GSR1_0 0x5c010de4 +#define DDR_PHY_DX6GSR1_1 0x5c110de4 +#define DDR_PHY_DX6GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37A) +#define DDR_PHY_DX6GSR2_0 0x5c010de8 +#define DDR_PHY_DX6GSR2_1 0x5c110de8 +#define DDR_PHY_DX6GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37B) +#define DDR_PHY_DX6GSR3_0 0x5c010dec +#define DDR_PHY_DX6GSR3_1 0x5c110dec +#define DDR_PHY_DX6GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37C) +#define DDR_PHY_DX6GSR4_0 0x5c010df0 +#define DDR_PHY_DX6GSR4_1 0x5c110df0 +#define DDR_PHY_DX6GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37D) +#define DDR_PHY_DX6GSR5_0 0x5c010df4 +#define DDR_PHY_DX6GSR5_1 0x5c110df4 +#define DDR_PHY_DX6GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x37E) +#define DDR_PHY_DX6GSR6_0 0x5c010df8 +#define DDR_PHY_DX6GSR6_1 0x5c110df8 +#define DDR_PHY_DX7GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x380) +#define DDR_PHY_DX7GCR0_0 0x5c010e00 +#define DDR_PHY_DX7GCR0_1 0x5c110e00 +#define DDR_PHY_DX7GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x381) +#define DDR_PHY_DX7GCR1_0 0x5c010e04 +#define DDR_PHY_DX7GCR1_1 0x5c110e04 +#define DDR_PHY_DX7GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x382) +#define DDR_PHY_DX7GCR2_0 0x5c010e08 +#define DDR_PHY_DX7GCR2_1 0x5c110e08 +#define DDR_PHY_DX7GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x383) +#define DDR_PHY_DX7GCR3_0 0x5c010e0c +#define DDR_PHY_DX7GCR3_1 0x5c110e0c +#define DDR_PHY_DX7GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x384) +#define DDR_PHY_DX7GCR4_0 0x5c010e10 +#define DDR_PHY_DX7GCR4_1 0x5c110e10 +#define DDR_PHY_DX7GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x385) +#define DDR_PHY_DX7GCR5_0 0x5c010e14 +#define DDR_PHY_DX7GCR5_1 0x5c110e14 +#define DDR_PHY_DX7GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x386) +#define DDR_PHY_DX7GCR6_0 0x5c010e18 +#define DDR_PHY_DX7GCR6_1 0x5c110e18 +#define DDR_PHY_DX7GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x387) +#define DDR_PHY_DX7GCR7_0 0x5c010e1c +#define DDR_PHY_DX7GCR7_1 0x5c110e1c +#define DDR_PHY_DX7GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x388) +#define DDR_PHY_DX7GCR8_0 0x5c010e20 +#define DDR_PHY_DX7GCR8_1 0x5c110e20 +#define DDR_PHY_DX7GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x389) +#define DDR_PHY_DX7GCR9_0 0x5c010e24 +#define DDR_PHY_DX7GCR9_1 0x5c110e24 +#define DDR_PHY_DX7BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x390) +#define DDR_PHY_DX7BDLR0_0 0x5c010e40 +#define DDR_PHY_DX7BDLR0_1 0x5c110e40 +#define DDR_PHY_DX7BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x391) +#define DDR_PHY_DX7BDLR1_0 0x5c010e44 +#define DDR_PHY_DX7BDLR1_1 0x5c110e44 +#define DDR_PHY_DX7BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x392) +#define DDR_PHY_DX7BDLR2_0 0x5c010e48 +#define DDR_PHY_DX7BDLR2_1 0x5c110e48 +#define DDR_PHY_DX7BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x394) +#define DDR_PHY_DX7BDLR3_0 0x5c010e50 +#define DDR_PHY_DX7BDLR3_1 0x5c110e50 +#define DDR_PHY_DX7BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x395) +#define DDR_PHY_DX7BDLR4_0 0x5c010e54 +#define DDR_PHY_DX7BDLR4_1 0x5c110e54 +#define DDR_PHY_DX7BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x396) +#define DDR_PHY_DX7BDLR5_0 0x5c010e58 +#define DDR_PHY_DX7BDLR5_1 0x5c110e58 +#define DDR_PHY_DX7BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x398) +#define DDR_PHY_DX7BDLR6_0 0x5c010e60 +#define DDR_PHY_DX7BDLR6_1 0x5c110e60 +#define DDR_PHY_DX7BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x399) +#define DDR_PHY_DX7BDLR7_0 0x5c010e64 +#define DDR_PHY_DX7BDLR7_1 0x5c110e64 +#define DDR_PHY_DX7BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x39A) +#define DDR_PHY_DX7BDLR8_0 0x5c010e68 +#define DDR_PHY_DX7BDLR8_1 0x5c110e68 +#define DDR_PHY_DX7BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x39B) +#define DDR_PHY_DX7BDLR9_0 0x5c010e6c +#define DDR_PHY_DX7BDLR9_1 0x5c110e6c +#define DDR_PHY_DX7LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A0) +#define DDR_PHY_DX7LCDLR0_0 0x5c010e80 +#define DDR_PHY_DX7LCDLR0_1 0x5c110e80 +#define DDR_PHY_DX7LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A1) +#define DDR_PHY_DX7LCDLR1_0 0x5c010e84 +#define DDR_PHY_DX7LCDLR1_1 0x5c110e84 +#define DDR_PHY_DX7LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A2) +#define DDR_PHY_DX7LCDLR2_0 0x5c010e88 +#define DDR_PHY_DX7LCDLR2_1 0x5c110e88 +#define DDR_PHY_DX7LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A3) +#define DDR_PHY_DX7LCDLR3_0 0x5c010e8c +#define DDR_PHY_DX7LCDLR3_1 0x5c110e8c +#define DDR_PHY_DX7LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A4) +#define DDR_PHY_DX7LCDLR4_0 0x5c010e90 +#define DDR_PHY_DX7LCDLR4_1 0x5c110e90 +#define DDR_PHY_DX7LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A5) +#define DDR_PHY_DX7LCDLR5_0 0x5c010e94 +#define DDR_PHY_DX7LCDLR5_1 0x5c110e94 +#define DDR_PHY_DX7MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A8) +#define DDR_PHY_DX7MDLR0_0 0x5c010ea0 +#define DDR_PHY_DX7MDLR0_1 0x5c110ea0 +#define DDR_PHY_DX7MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3A9) +#define DDR_PHY_DX7MDLR1_0 0x5c010ea4 +#define DDR_PHY_DX7MDLR1_1 0x5c110ea4 +#define DDR_PHY_DX7GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B0) +#define DDR_PHY_DX7GTR0_0 0x5c010ec0 +#define DDR_PHY_DX7GTR0_1 0x5c110ec0 +#define DDR_PHY_DX7RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B4) +#define DDR_PHY_DX7RSR0_0 0x5c010ed0 +#define DDR_PHY_DX7RSR0_1 0x5c110ed0 +#define DDR_PHY_DX7RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B5) +#define DDR_PHY_DX7RSR1_0 0x5c010ed4 +#define DDR_PHY_DX7RSR1_1 0x5c110ed4 +#define DDR_PHY_DX7RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B6) +#define DDR_PHY_DX7RSR2_0 0x5c010ed8 +#define DDR_PHY_DX7RSR2_1 0x5c110ed8 +#define DDR_PHY_DX7RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B7) +#define DDR_PHY_DX7RSR3_0 0x5c010edc +#define DDR_PHY_DX7RSR3_1 0x5c110edc +#define DDR_PHY_DX7GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B8) +#define DDR_PHY_DX7GSR0_0 0x5c010ee0 +#define DDR_PHY_DX7GSR0_1 0x5c110ee0 +#define DDR_PHY_DX7GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3B9) +#define DDR_PHY_DX7GSR1_0 0x5c010ee4 +#define DDR_PHY_DX7GSR1_1 0x5c110ee4 +#define DDR_PHY_DX7GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BA) +#define DDR_PHY_DX7GSR2_0 0x5c010ee8 +#define DDR_PHY_DX7GSR2_1 0x5c110ee8 +#define DDR_PHY_DX7GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BB) +#define DDR_PHY_DX7GSR3_0 0x5c010eec +#define DDR_PHY_DX7GSR3_1 0x5c110eec +#define DDR_PHY_DX7GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BC) +#define DDR_PHY_DX7GSR4_0 0x5c010ef0 +#define DDR_PHY_DX7GSR4_1 0x5c110ef0 +#define DDR_PHY_DX7GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BD) +#define DDR_PHY_DX7GSR5_0 0x5c010ef4 +#define DDR_PHY_DX7GSR5_1 0x5c110ef4 +#define DDR_PHY_DX7GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3BE) +#define DDR_PHY_DX7GSR6_0 0x5c010ef8 +#define DDR_PHY_DX7GSR6_1 0x5c110ef8 +#define DDR_PHY_DX8GCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C0) +#define DDR_PHY_DX8GCR0_0 0x5c010f00 +#define DDR_PHY_DX8GCR0_1 0x5c110f00 +#define DDR_PHY_DX8GCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C1) +#define DDR_PHY_DX8GCR1_0 0x5c010f04 +#define DDR_PHY_DX8GCR1_1 0x5c110f04 +#define DDR_PHY_DX8GCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C2) +#define DDR_PHY_DX8GCR2_0 0x5c010f08 +#define DDR_PHY_DX8GCR2_1 0x5c110f08 +#define DDR_PHY_DX8GCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C3) +#define DDR_PHY_DX8GCR3_0 0x5c010f0c +#define DDR_PHY_DX8GCR3_1 0x5c110f0c +#define DDR_PHY_DX8GCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C4) +#define DDR_PHY_DX8GCR4_0 0x5c010f10 +#define DDR_PHY_DX8GCR4_1 0x5c110f10 +#define DDR_PHY_DX8GCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C5) +#define DDR_PHY_DX8GCR5_0 0x5c010f14 +#define DDR_PHY_DX8GCR5_1 0x5c110f14 +#define DDR_PHY_DX8GCR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C6) +#define DDR_PHY_DX8GCR6_0 0x5c010f18 +#define DDR_PHY_DX8GCR6_1 0x5c110f18 +#define DDR_PHY_DX8GCR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C7) +#define DDR_PHY_DX8GCR7_0 0x5c010f1c +#define DDR_PHY_DX8GCR7_1 0x5c110f1c +#define DDR_PHY_DX8GCR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C8) +#define DDR_PHY_DX8GCR8_0 0x5c010f20 +#define DDR_PHY_DX8GCR8_1 0x5c110f20 +#define DDR_PHY_DX8GCR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3C9) +#define DDR_PHY_DX8GCR9_0 0x5c010f24 +#define DDR_PHY_DX8GCR9_1 0x5c110f24 +#define DDR_PHY_DX8BDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D0) +#define DDR_PHY_DX8BDLR0_0 0x5c010f40 +#define DDR_PHY_DX8BDLR0_1 0x5c110f40 +#define DDR_PHY_DX8BDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D1) +#define DDR_PHY_DX8BDLR1_0 0x5c010f44 +#define DDR_PHY_DX8BDLR1_1 0x5c110f44 +#define DDR_PHY_DX8BDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D2) +#define DDR_PHY_DX8BDLR2_0 0x5c010f48 +#define DDR_PHY_DX8BDLR2_1 0x5c110f48 +#define DDR_PHY_DX8BDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D4) +#define DDR_PHY_DX8BDLR3_0 0x5c010f50 +#define DDR_PHY_DX8BDLR3_1 0x5c110f50 +#define DDR_PHY_DX8BDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D5) +#define DDR_PHY_DX8BDLR4_0 0x5c010f54 +#define DDR_PHY_DX8BDLR4_1 0x5c110f54 +#define DDR_PHY_DX8BDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D6) +#define DDR_PHY_DX8BDLR5_0 0x5c010f58 +#define DDR_PHY_DX8BDLR5_1 0x5c110f58 +#define DDR_PHY_DX8BDLR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D8) +#define DDR_PHY_DX8BDLR6_0 0x5c010f60 +#define DDR_PHY_DX8BDLR6_1 0x5c110f60 +#define DDR_PHY_DX8BDLR7(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3D9) +#define DDR_PHY_DX8BDLR7_0 0x5c010f64 +#define DDR_PHY_DX8BDLR7_1 0x5c110f64 +#define DDR_PHY_DX8BDLR8(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3DA) +#define DDR_PHY_DX8BDLR8_0 0x5c010f68 +#define DDR_PHY_DX8BDLR8_1 0x5c110f68 +#define DDR_PHY_DX8BDLR9(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3DB) +#define DDR_PHY_DX8BDLR9_0 0x5c010f6c +#define DDR_PHY_DX8BDLR9_1 0x5c110f6c +#define DDR_PHY_DX8LCDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E0) +#define DDR_PHY_DX8LCDLR0_0 0x5c010f80 +#define DDR_PHY_DX8LCDLR0_1 0x5c110f80 +#define DDR_PHY_DX8LCDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E1) +#define DDR_PHY_DX8LCDLR1_0 0x5c010f84 +#define DDR_PHY_DX8LCDLR1_1 0x5c110f84 +#define DDR_PHY_DX8LCDLR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E2) +#define DDR_PHY_DX8LCDLR2_0 0x5c010f88 +#define DDR_PHY_DX8LCDLR2_1 0x5c110f88 +#define DDR_PHY_DX8LCDLR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E3) +#define DDR_PHY_DX8LCDLR3_0 0x5c010f8c +#define DDR_PHY_DX8LCDLR3_1 0x5c110f8c +#define DDR_PHY_DX8LCDLR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E4) +#define DDR_PHY_DX8LCDLR4_0 0x5c010f90 +#define DDR_PHY_DX8LCDLR4_1 0x5c110f90 +#define DDR_PHY_DX8LCDLR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E5) +#define DDR_PHY_DX8LCDLR5_0 0x5c010f94 +#define DDR_PHY_DX8LCDLR5_1 0x5c110f94 +#define DDR_PHY_DX8MDLR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E8) +#define DDR_PHY_DX8MDLR0_0 0x5c010fa0 +#define DDR_PHY_DX8MDLR0_1 0x5c110fa0 +#define DDR_PHY_DX8MDLR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3E9) +#define DDR_PHY_DX8MDLR1_0 0x5c010fa4 +#define DDR_PHY_DX8MDLR1_1 0x5c110fa4 +#define DDR_PHY_DX8GTR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F0) +#define DDR_PHY_DX8GTR0_0 0x5c010fc0 +#define DDR_PHY_DX8GTR0_1 0x5c110fc0 +#define DDR_PHY_DX8RSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F4) +#define DDR_PHY_DX8RSR0_0 0x5c010fd0 +#define DDR_PHY_DX8RSR0_1 0x5c110fd0 +#define DDR_PHY_DX8RSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F5) +#define DDR_PHY_DX8RSR1_0 0x5c010fd4 +#define DDR_PHY_DX8RSR1_1 0x5c110fd4 +#define DDR_PHY_DX8RSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F6) +#define DDR_PHY_DX8RSR2_0 0x5c010fd8 +#define DDR_PHY_DX8RSR2_1 0x5c110fd8 +#define DDR_PHY_DX8RSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F7) +#define DDR_PHY_DX8RSR3_0 0x5c010fdc +#define DDR_PHY_DX8RSR3_1 0x5c110fdc +#define DDR_PHY_DX8GSR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F8) +#define DDR_PHY_DX8GSR0_0 0x5c010fe0 +#define DDR_PHY_DX8GSR0_1 0x5c110fe0 +#define DDR_PHY_DX8GSR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3F9) +#define DDR_PHY_DX8GSR1_0 0x5c010fe4 +#define DDR_PHY_DX8GSR1_1 0x5c110fe4 +#define DDR_PHY_DX8GSR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FA) +#define DDR_PHY_DX8GSR2_0 0x5c010fe8 +#define DDR_PHY_DX8GSR2_1 0x5c110fe8 +#define DDR_PHY_DX8GSR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FB) +#define DDR_PHY_DX8GSR3_0 0x5c010fec +#define DDR_PHY_DX8GSR3_1 0x5c110fec +#define DDR_PHY_DX8GSR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FC) +#define DDR_PHY_DX8GSR4_0 0x5c010ff0 +#define DDR_PHY_DX8GSR4_1 0x5c110ff0 +#define DDR_PHY_DX8GSR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FD) +#define DDR_PHY_DX8GSR5_0 0x5c010ff4 +#define DDR_PHY_DX8GSR5_1 0x5c110ff4 +#define DDR_PHY_DX8GSR6(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x3FE) +#define DDR_PHY_DX8GSR6_0 0x5c010ff8 +#define DDR_PHY_DX8GSR6_1 0x5c110ff8 +#define DDR_PHY_DX8SL0OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x500) +#define DDR_PHY_DX8SL0OSC_0 0x5c011400 +#define DDR_PHY_DX8SL0OSC_1 0x5c111400 +#define DDR_PHY_DX8SL0PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x501) +#define DDR_PHY_DX8SL0PLLCR0_0 0x5c011404 +#define DDR_PHY_DX8SL0PLLCR0_1 0x5c111404 +#define DDR_PHY_DX8SL0PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x502) +#define DDR_PHY_DX8SL0PLLCR1_0 0x5c011408 +#define DDR_PHY_DX8SL0PLLCR1_1 0x5c111408 +#define DDR_PHY_DX8SL0PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x503) +#define DDR_PHY_DX8SL0PLLCR2_0 0x5c01140c +#define DDR_PHY_DX8SL0PLLCR2_1 0x5c11140c +#define DDR_PHY_DX8SL0PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x504) +#define DDR_PHY_DX8SL0PLLCR3_0 0x5c011410 +#define DDR_PHY_DX8SL0PLLCR3_1 0x5c111410 +#define DDR_PHY_DX8SL0PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x505) +#define DDR_PHY_DX8SL0PLLCR4_0 0x5c011414 +#define DDR_PHY_DX8SL0PLLCR4_1 0x5c111414 +#define DDR_PHY_DX8SL0PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x506) +#define DDR_PHY_DX8SL0PLLCR5_0 0x5c011418 +#define DDR_PHY_DX8SL0PLLCR5_1 0x5c111418 +#define DDR_PHY_DX8SL0DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x507) +#define DDR_PHY_DX8SL0DQSCTL_0 0x5c01141c +#define DDR_PHY_DX8SL0DQSCTL_1 0x5c11141c +#define DDR_PHY_DX8SL0TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x508) +#define DDR_PHY_DX8SL0TRNCTL_0 0x5c011420 +#define DDR_PHY_DX8SL0TRNCTL_1 0x5c111420 +#define DDR_PHY_DX8SL0DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x509) +#define DDR_PHY_DX8SL0DDLCTL_0 0x5c011424 +#define DDR_PHY_DX8SL0DDLCTL_1 0x5c111424 +#define DDR_PHY_DX8SL0DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x50A) +#define DDR_PHY_DX8SL0DXCTL1_0 0x5c011428 +#define DDR_PHY_DX8SL0DXCTL1_1 0x5c111428 +#define DDR_PHY_DX8SL0DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x50B) +#define DDR_PHY_DX8SL0DXCTL2_0 0x5c01142c +#define DDR_PHY_DX8SL0DXCTL2_1 0x5c11142c +#define DDR_PHY_DX8SL0IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x50C) +#define DDR_PHY_DX8SL0IOCR_0 0x5c011430 +#define DDR_PHY_DX8SL0IOCR_1 0x5c111430 +#define DDR_PHY_DX8SL1OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x510) +#define DDR_PHY_DX8SL1OSC_0 0x5c011440 +#define DDR_PHY_DX8SL1OSC_1 0x5c111440 +#define DDR_PHY_DX8SL1PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x511) +#define DDR_PHY_DX8SL1PLLCR0_0 0x5c011444 +#define DDR_PHY_DX8SL1PLLCR0_1 0x5c111444 +#define DDR_PHY_DX8SL1PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x512) +#define DDR_PHY_DX8SL1PLLCR1_0 0x5c011448 +#define DDR_PHY_DX8SL1PLLCR1_1 0x5c111448 +#define DDR_PHY_DX8SL1PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x513) +#define DDR_PHY_DX8SL1PLLCR2_0 0x5c01144c +#define DDR_PHY_DX8SL1PLLCR2_1 0x5c11144c +#define DDR_PHY_DX8SL1PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x514) +#define DDR_PHY_DX8SL1PLLCR3_0 0x5c011450 +#define DDR_PHY_DX8SL1PLLCR3_1 0x5c111450 +#define DDR_PHY_DX8SL1PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x515) +#define DDR_PHY_DX8SL1PLLCR4_0 0x5c011454 +#define DDR_PHY_DX8SL1PLLCR4_1 0x5c111454 +#define DDR_PHY_DX8SL1PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x516) +#define DDR_PHY_DX8SL1PLLCR5_0 0x5c011458 +#define DDR_PHY_DX8SL1PLLCR5_1 0x5c111458 +#define DDR_PHY_DX8SL1DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x517) +#define DDR_PHY_DX8SL1DQSCTL_0 0x5c01145c +#define DDR_PHY_DX8SL1DQSCTL_1 0x5c11145c +#define DDR_PHY_DX8SL1TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x518) +#define DDR_PHY_DX8SL1TRNCTL_0 0x5c011460 +#define DDR_PHY_DX8SL1TRNCTL_1 0x5c111460 +#define DDR_PHY_DX8SL1DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x519) +#define DDR_PHY_DX8SL1DDLCTL_0 0x5c011464 +#define DDR_PHY_DX8SL1DDLCTL_1 0x5c111464 +#define DDR_PHY_DX8SL1DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x51A) +#define DDR_PHY_DX8SL1DXCTL1_0 0x5c011468 +#define DDR_PHY_DX8SL1DXCTL1_1 0x5c111468 +#define DDR_PHY_DX8SL1DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x51B) +#define DDR_PHY_DX8SL1DXCTL2_0 0x5c01146c +#define DDR_PHY_DX8SL1DXCTL2_1 0x5c11146c +#define DDR_PHY_DX8SL1IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x51C) +#define DDR_PHY_DX8SL1IOCR_0 0x5c011470 +#define DDR_PHY_DX8SL1IOCR_1 0x5c111470 +#define DDR_PHY_DX8SL2OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x520) +#define DDR_PHY_DX8SL2OSC_0 0x5c011480 +#define DDR_PHY_DX8SL2OSC_1 0x5c111480 +#define DDR_PHY_DX8SL2PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x521) +#define DDR_PHY_DX8SL2PLLCR0_0 0x5c011484 +#define DDR_PHY_DX8SL2PLLCR0_1 0x5c111484 +#define DDR_PHY_DX8SL2PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x522) +#define DDR_PHY_DX8SL2PLLCR1_0 0x5c011488 +#define DDR_PHY_DX8SL2PLLCR1_1 0x5c111488 +#define DDR_PHY_DX8SL2PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x523) +#define DDR_PHY_DX8SL2PLLCR2_0 0x5c01148c +#define DDR_PHY_DX8SL2PLLCR2_1 0x5c11148c +#define DDR_PHY_DX8SL2PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x524) +#define DDR_PHY_DX8SL2PLLCR3_0 0x5c011490 +#define DDR_PHY_DX8SL2PLLCR3_1 0x5c111490 +#define DDR_PHY_DX8SL2PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x525) +#define DDR_PHY_DX8SL2PLLCR4_0 0x5c011494 +#define DDR_PHY_DX8SL2PLLCR4_1 0x5c111494 +#define DDR_PHY_DX8SL2PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x526) +#define DDR_PHY_DX8SL2PLLCR5_0 0x5c011498 +#define DDR_PHY_DX8SL2PLLCR5_1 0x5c111498 +#define DDR_PHY_DX8SL2DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x527) +#define DDR_PHY_DX8SL2DQSCTL_0 0x5c01149c +#define DDR_PHY_DX8SL2DQSCTL_1 0x5c11149c +#define DDR_PHY_DX8SL2TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x528) +#define DDR_PHY_DX8SL2TRNCTL_0 0x5c0114a0 +#define DDR_PHY_DX8SL2TRNCTL_1 0x5c1114a0 +#define DDR_PHY_DX8SL2DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x529) +#define DDR_PHY_DX8SL2DDLCTL_0 0x5c0114a4 +#define DDR_PHY_DX8SL2DDLCTL_1 0x5c1114a4 +#define DDR_PHY_DX8SL2DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x52A) +#define DDR_PHY_DX8SL2DXCTL1_0 0x5c0114a8 +#define DDR_PHY_DX8SL2DXCTL1_1 0x5c1114a8 +#define DDR_PHY_DX8SL2DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x52B) +#define DDR_PHY_DX8SL2DXCTL2_0 0x5c0114ac +#define DDR_PHY_DX8SL2DXCTL2_1 0x5c1114ac +#define DDR_PHY_DX8SL2IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x52C) +#define DDR_PHY_DX8SL2IOCR_0 0x5c0114b0 +#define DDR_PHY_DX8SL2IOCR_1 0x5c1114b0 +#define DDR_PHY_DX8SL3OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x530) +#define DDR_PHY_DX8SL3OSC_0 0x5c0114c0 +#define DDR_PHY_DX8SL3OSC_1 0x5c1114c0 +#define DDR_PHY_DX8SL3PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x531) +#define DDR_PHY_DX8SL3PLLCR0_0 0x5c0114c4 +#define DDR_PHY_DX8SL3PLLCR0_1 0x5c1114c4 +#define DDR_PHY_DX8SL3PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x532) +#define DDR_PHY_DX8SL3PLLCR1_0 0x5c0114c8 +#define DDR_PHY_DX8SL3PLLCR1_1 0x5c1114c8 +#define DDR_PHY_DX8SL3PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x533) +#define DDR_PHY_DX8SL3PLLCR2_0 0x5c0114cc +#define DDR_PHY_DX8SL3PLLCR2_1 0x5c1114cc +#define DDR_PHY_DX8SL3PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x534) +#define DDR_PHY_DX8SL3PLLCR3_0 0x5c0114d0 +#define DDR_PHY_DX8SL3PLLCR3_1 0x5c1114d0 +#define DDR_PHY_DX8SL3PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x535) +#define DDR_PHY_DX8SL3PLLCR4_0 0x5c0114d4 +#define DDR_PHY_DX8SL3PLLCR4_1 0x5c1114d4 +#define DDR_PHY_DX8SL3PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x536) +#define DDR_PHY_DX8SL3PLLCR5_0 0x5c0114d8 +#define DDR_PHY_DX8SL3PLLCR5_1 0x5c1114d8 +#define DDR_PHY_DX8SL3DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x537) +#define DDR_PHY_DX8SL3DQSCTL_0 0x5c0114dc +#define DDR_PHY_DX8SL3DQSCTL_1 0x5c1114dc +#define DDR_PHY_DX8SL3TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x538) +#define DDR_PHY_DX8SL3TRNCTL_0 0x5c0114e0 +#define DDR_PHY_DX8SL3TRNCTL_1 0x5c1114e0 +#define DDR_PHY_DX8SL3DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x539) +#define DDR_PHY_DX8SL3DDLCTL_0 0x5c0114e4 +#define DDR_PHY_DX8SL3DDLCTL_1 0x5c1114e4 +#define DDR_PHY_DX8SL3DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x53A) +#define DDR_PHY_DX8SL3DXCTL1_0 0x5c0114e8 +#define DDR_PHY_DX8SL3DXCTL1_1 0x5c1114e8 +#define DDR_PHY_DX8SL3DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x53B) +#define DDR_PHY_DX8SL3DXCTL2_0 0x5c0114ec +#define DDR_PHY_DX8SL3DXCTL2_1 0x5c1114ec +#define DDR_PHY_DX8SL3IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x53C) +#define DDR_PHY_DX8SL3IOCR_0 0x5c0114f0 +#define DDR_PHY_DX8SL3IOCR_1 0x5c1114f0 +#define DDR_PHY_DX8SL4OSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x540) +#define DDR_PHY_DX8SL4OSC_0 0x5c011500 +#define DDR_PHY_DX8SL4OSC_1 0x5c111500 +#define DDR_PHY_DX8SL4PLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x541) +#define DDR_PHY_DX8SL4PLLCR0_0 0x5c011504 +#define DDR_PHY_DX8SL4PLLCR0_1 0x5c111504 +#define DDR_PHY_DX8SL4PLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x542) +#define DDR_PHY_DX8SL4PLLCR1_0 0x5c011508 +#define DDR_PHY_DX8SL4PLLCR1_1 0x5c111508 +#define DDR_PHY_DX8SL4PLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x543) +#define DDR_PHY_DX8SL4PLLCR2_0 0x5c01150c +#define DDR_PHY_DX8SL4PLLCR2_1 0x5c11150c +#define DDR_PHY_DX8SL4PLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x544) +#define DDR_PHY_DX8SL4PLLCR3_0 0x5c011510 +#define DDR_PHY_DX8SL4PLLCR3_1 0x5c111510 +#define DDR_PHY_DX8SL4PLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x545) +#define DDR_PHY_DX8SL4PLLCR4_0 0x5c011514 +#define DDR_PHY_DX8SL4PLLCR4_1 0x5c111514 +#define DDR_PHY_DX8SL4PLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x546) +#define DDR_PHY_DX8SL4PLLCR5_0 0x5c011518 +#define DDR_PHY_DX8SL4PLLCR5_1 0x5c111518 +#define DDR_PHY_DX8SL4DQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x547) +#define DDR_PHY_DX8SL4DQSCTL_0 0x5c01151c +#define DDR_PHY_DX8SL4DQSCTL_1 0x5c11151c +#define DDR_PHY_DX8SL4TRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x548) +#define DDR_PHY_DX8SL4TRNCTL_0 0x5c011520 +#define DDR_PHY_DX8SL4TRNCTL_1 0x5c111520 +#define DDR_PHY_DX8SL4DDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x549) +#define DDR_PHY_DX8SL4DDLCTL_0 0x5c011524 +#define DDR_PHY_DX8SL4DDLCTL_1 0x5c111524 +#define DDR_PHY_DX8SL4DXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x54A) +#define DDR_PHY_DX8SL4DXCTL1_0 0x5c011528 +#define DDR_PHY_DX8SL4DXCTL1_1 0x5c111528 +#define DDR_PHY_DX8SL4DXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x54B) +#define DDR_PHY_DX8SL4DXCTL2_0 0x5c01152c +#define DDR_PHY_DX8SL4DXCTL2_1 0x5c11152c +#define DDR_PHY_DX8SL4IOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x54C) +#define DDR_PHY_DX8SL4IOCR_0 0x5c011530 +#define DDR_PHY_DX8SL4IOCR_1 0x5c111530 +#define DDR_PHY_DX8SLbOSC(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F0) +#define DDR_PHY_DX8SLbOSC_0 0x5c0117c0 +#define DDR_PHY_DX8SLbOSC_1 0x5c1117c0 +#define DDR_PHY_DX8SLbPLLCR0(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F1) +#define DDR_PHY_DX8SLbPLLCR0_0 0x5c0117c4 +#define DDR_PHY_DX8SLbPLLCR0_1 0x5c1117c4 +#define DDR_PHY_DX8SLbPLLCR1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F2) +#define DDR_PHY_DX8SLbPLLCR1_0 0x5c0117c8 +#define DDR_PHY_DX8SLbPLLCR1_1 0x5c1117c8 +#define DDR_PHY_DX8SLbPLLCR2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F3) +#define DDR_PHY_DX8SLbPLLCR2_0 0x5c0117cc +#define DDR_PHY_DX8SLbPLLCR2_1 0x5c1117cc +#define DDR_PHY_DX8SLbPLLCR3(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F4) +#define DDR_PHY_DX8SLbPLLCR3_0 0x5c0117d0 +#define DDR_PHY_DX8SLbPLLCR3_1 0x5c1117d0 +#define DDR_PHY_DX8SLbPLLCR4(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F5) +#define DDR_PHY_DX8SLbPLLCR4_0 0x5c0117d4 +#define DDR_PHY_DX8SLbPLLCR4_1 0x5c1117d4 +#define DDR_PHY_DX8SLbPLLCR5(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F6) +#define DDR_PHY_DX8SLbPLLCR5_0 0x5c0117d8 +#define DDR_PHY_DX8SLbPLLCR5_1 0x5c1117d8 +#define DDR_PHY_DX8SLbDQSCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F7) +#define DDR_PHY_DX8SLbDQSCTL_0 0x5c0117dc +#define DDR_PHY_DX8SLbDQSCTL_1 0x5c1117dc +#define DDR_PHY_DX8SLbTRNCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F8) +#define DDR_PHY_DX8SLbTRNCTL_0 0x5c0117e0 +#define DDR_PHY_DX8SLbTRNCTL_1 0x5c1117e0 +#define DDR_PHY_DX8SLbDDLCTL(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5F9) +#define DDR_PHY_DX8SLbDDLCTL_0 0x5c0117e4 +#define DDR_PHY_DX8SLbDDLCTL_1 0x5c1117e4 +#define DDR_PHY_DX8SLbDXCTL1(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FA) +#define DDR_PHY_DX8SLbDXCTL1_0 0x5c0117e8 +#define DDR_PHY_DX8SLbDXCTL1_1 0x5c1117e8 +#define DDR_PHY_DX8SLbDXCTL2(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FB) +#define DDR_PHY_DX8SLbDXCTL2_0 0x5c0117ec +#define DDR_PHY_DX8SLbDXCTL2_1 0x5c1117ec +#define DDR_PHY_DX8SLbIOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FC) +#define DDR_PHY_DX8SLbIOCR_0 0x5c0117f0 +#define DDR_PHY_DX8SLbIOCR_1 0x5c1117f0 +#define DDR_PHY_DX4SLbIOCR(X) REG32(DDR_PHY_BASE_ADDR(X) + 4*0x5FD) +#define DDR_PHY_DX4SLbIOCR_0 0x5c0117f4 +#define DDR_PHY_DX4SLbIOCR_1 0x5c1117f4 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/lib/ddrc_mem_map.h b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/lib/ddrc_mem_map.h new file mode 100644 index 0000000..5e70ccc --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/lib/ddrc_mem_map.h @@ -0,0 +1,650 @@ +/* +** ################################################################### +** +** Copyright (c) 2016 Freescale Semiconductor, Inc. +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** +** o Redistributions of source code must retain the above copyright notice, this list +** of conditions and the following disclaimer. +** +** o Redistributions in binary form must reproduce the above copyright notice, this +** list of conditions and the following disclaimer in the documentation and/or +** other materials provided with the distribution. +** +** o Neither the name of Freescale Semiconductor, Inc. nor the names of its +** contributors may be used to endorse or promote products derived from this +** software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +** http: www.freescale.com +** mail: support@freescale.com +** +** ################################################################### +*/ + +#ifndef __DDRC_MEM_MAP_H__ +#define __DDRC_MEM_MAP_H__ + +//JDG change base addr for DDRC +//#define DDRC_BASE_ADDR(X) 0x5c000000 + ((X & 1) * 0x20000) + ((X & 2) * 0x30000) +#define DDRC_BASE_ADDR(X) 0x5c000000 + ((X * 0x100000)) + +#define DDRC_MSTR(X) REG32(DDRC_BASE_ADDR(X) + 0x00) +#define DDRC_MSTR_0 0x5c000000 +#define DDRC_MSTR_1 0x5c100000 +#define DDRC_STAT(X) REG32(DDRC_BASE_ADDR(X) + 0x04) +#define DDRC_STAT_0 0x5c000004 +#define DDRC_STAT_1 0x5c100004 +#define DDRC_MRCTRL0(X) REG32(DDRC_BASE_ADDR(X) + 0x10) +#define DDRC_MRCTRL0_0 0x5c000010 +#define DDRC_MRCTRL0_1 0x5c100010 +#define DDRC_MRCTRL1(X) REG32(DDRC_BASE_ADDR(X) + 0x14) +#define DDRC_MRCTRL1_0 0x5c000014 +#define DDRC_MRCTRL1_1 0x5c100014 +#define DDRC_MRSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x18) +#define DDRC_MRSTAT_0 0x5c000018 +#define DDRC_MRSTAT_1 0x5c100018 +#define DDRC_MRCTRL2(X) REG32(DDRC_BASE_ADDR(X) + 0x1c) +#define DDRC_MRCTRL2_0 0x5c00001c +#define DDRC_MRCTRL2_1 0x5c10001c +#define DDRC_DERATEEN(X) REG32(DDRC_BASE_ADDR(X) + 0x20) +#define DDRC_DERATEEN_0 0x5c000020 +#define DDRC_DERATEEN_1 0x5c100020 +#define DDRC_DERATEINT(X) REG32(DDRC_BASE_ADDR(X) + 0x24) +#define DDRC_DERATEINT_0 0x5c000024 +#define DDRC_DERATEINT_1 0x5c100024 +#define DDRC_PWRCTL(X) REG32(DDRC_BASE_ADDR(X) + 0x30) +#define DDRC_PWRCTL_0 0x5c000030 +#define DDRC_PWRCTL_1 0x5c100030 +#define DDRC_PWRTMG(X) REG32(DDRC_BASE_ADDR(X) + 0x34) +#define DDRC_PWRTMG_0 0x5c000034 +#define DDRC_PWRTMG_1 0x5c100034 +#define DDRC_HWLPCTL(X) REG32(DDRC_BASE_ADDR(X) + 0x38) +#define DDRC_HWLPCTL_0 0x5c000038 +#define DDRC_HWLPCTL_1 0x5c100038 +#define DDRC_RFSHCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0x50) +#define DDRC_RFSHCTL0_0 0x5c000050 +#define DDRC_RFSHCTL0_1 0x5c100050 +#define DDRC_RFSHCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0x54) +#define DDRC_RFSHCTL1_0 0x5c000054 +#define DDRC_RFSHCTL1_1 0x5c100054 +#define DDRC_RFSHCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0x58) +#define DDRC_RFSHCTL2_0 0x5c000058 +#define DDRC_RFSHCTL2_1 0x5c100058 +#define DDRC_RFSHCTL3(X) REG32(DDRC_BASE_ADDR(X) + 0x60) +#define DDRC_RFSHCTL3_0 0x5c000060 +#define DDRC_RFSHCTL3_1 0x5c100060 +#define DDRC_RFSHTMG(X) REG32(DDRC_BASE_ADDR(X) + 0x64) +#define DDRC_RFSHTMG_0 0x5c000064 +#define DDRC_RFSHTMG_1 0x5c100064 +#define DDRC_ECCCFG0(X) REG32(DDRC_BASE_ADDR(X) + 0x70) +#define DDRC_ECCCFG0_0 0x5c000070 +#define DDRC_ECCCFG0_1 0x5c100070 +#define DDRC_ECCCFG1(X) REG32(DDRC_BASE_ADDR(X) + 0x74) +#define DDRC_ECCCFG1_0 0x5c000074 +#define DDRC_ECCCFG1_1 0x5c100074 +#define DDRC_ECCSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x78) +#define DDRC_ECCSTAT_0 0x5c000078 +#define DDRC_ECCSTAT_1 0x5c100078 +#define DDRC_ECCCLR(X) REG32(DDRC_BASE_ADDR(X) + 0x7c) +#define DDRC_ECCCLR_0 0x5c00007c +#define DDRC_ECCCLR_1 0x5c10007c +#define DDRC_ECCERRCNT(X) REG32(DDRC_BASE_ADDR(X) + 0x80) +#define DDRC_ECCERRCNT_0 0x5c000080 +#define DDRC_ECCERRCNT_1 0x5c100080 +#define DDRC_ECCCADDR0(X) REG32(DDRC_BASE_ADDR(X) + 0x84) +#define DDRC_ECCCADDR0_0 0x5c000084 +#define DDRC_ECCCADDR0_1 0x5c100084 +#define DDRC_ECCCADDR1(X) REG32(DDRC_BASE_ADDR(X) + 0x88) +#define DDRC_ECCCADDR1_0 0x5c000088 +#define DDRC_ECCCADDR1_1 0x5c100088 +#define DDRC_ECCCSYN0(X) REG32(DDRC_BASE_ADDR(X) + 0x8c) +#define DDRC_ECCCSYN0_0 0x5c00008c +#define DDRC_ECCCSYN0_1 0x5c10008c +#define DDRC_ECCCSYN1(X) REG32(DDRC_BASE_ADDR(X) + 0x90) +#define DDRC_ECCCSYN1_0 0x5c000090 +#define DDRC_ECCCSYN1_1 0x5c100090 +#define DDRC_ECCCSYN2(X) REG32(DDRC_BASE_ADDR(X) + 0x94) +#define DDRC_ECCCSYN2_0 0x5c000094 +#define DDRC_ECCCSYN2_1 0x5c100094 +#define DDRC_ECCBITMASK0(X) REG32(DDRC_BASE_ADDR(X) + 0x98) +#define DDRC_ECCBITMASK0_0 0x5c000098 +#define DDRC_ECCBITMASK0_1 0x5c100098 +#define DDRC_ECCBITMASK1(X) REG32(DDRC_BASE_ADDR(X) + 0x9c) +#define DDRC_ECCBITMASK1_0 0x5c00009c +#define DDRC_ECCBITMASK1_1 0x5c10009c +#define DDRC_ECCBITMASK2(X) REG32(DDRC_BASE_ADDR(X) + 0xa0) +#define DDRC_ECCBITMASK2_0 0x5c0000a0 +#define DDRC_ECCBITMASK2_1 0x5c1000a0 +#define DDRC_ECCUADDR0(X) REG32(DDRC_BASE_ADDR(X) + 0xa4) +#define DDRC_ECCUADDR0_0 0x5c0000a4 +#define DDRC_ECCUADDR0_1 0x5c1000a4 +#define DDRC_ECCUADDR1(X) REG32(DDRC_BASE_ADDR(X) + 0xa8) +#define DDRC_ECCUADDR1_0 0x5c0000a8 +#define DDRC_ECCUADDR1_1 0x5c1000a8 +#define DDRC_ECCUSYN0(X) REG32(DDRC_BASE_ADDR(X) + 0xac) +#define DDRC_ECCUSYN0_0 0x5c0000ac +#define DDRC_ECCUSYN0_1 0x5c1000ac +#define DDRC_ECCUSYN1(X) REG32(DDRC_BASE_ADDR(X) + 0xb0) +#define DDRC_ECCUSYN1_0 0x5c0000b0 +#define DDRC_ECCUSYN1_1 0x5c1000b0 +#define DDRC_ECCUSYN2(X) REG32(DDRC_BASE_ADDR(X) + 0xb4) +#define DDRC_ECCUSYN2_0 0x5c0000b4 +#define DDRC_ECCUSYN2_1 0x5c1000b4 +#define DDRC_ECCPOISONADDR0(X) REG32(DDRC_BASE_ADDR(X) + 0xb8) +#define DDRC_ECCPOISONADDR0_0 0x5c0000b8 +#define DDRC_ECCPOISONADDR0_1 0x5c1000b8 +#define DDRC_ECCPOISONADDR1(X) REG32(DDRC_BASE_ADDR(X) + 0xbc) +#define DDRC_ECCPOISONADDR1_0 0x5c0000bc +#define DDRC_ECCPOISONADDR1_1 0x5c1000bc +#define DDRC_CRCPARCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0xc0) +#define DDRC_CRCPARCTL0_0 0x5c0000c0 +#define DDRC_CRCPARCTL0_1 0x5c1000c0 +#define DDRC_CRCPARCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0xc4) +#define DDRC_CRCPARCTL1_0 0x5c0000c4 +#define DDRC_CRCPARCTL1_1 0x5c1000c4 +#define DDRC_CRCPARCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0xc8) +#define DDRC_CRCPARCTL2_0 0x5c0000c8 +#define DDRC_CRCPARCTL2_1 0x5c1000c8 +#define DDRC_CRCPARSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0xcc) +#define DDRC_CRCPARSTAT_0 0x5c0000cc +#define DDRC_CRCPARSTAT_1 0x5c1000cc +#define DDRC_INIT0(X) REG32(DDRC_BASE_ADDR(X) + 0xd0) +#define DDRC_INIT0_0 0x5c0000d0 +#define DDRC_INIT0_1 0x5c1000d0 +#define DDRC_INIT1(X) REG32(DDRC_BASE_ADDR(X) + 0xd4) +#define DDRC_INIT1_0 0x5c0000d4 +#define DDRC_INIT1_1 0x5c1000d4 +#define DDRC_INIT2(X) REG32(DDRC_BASE_ADDR(X) + 0xd8) +#define DDRC_INIT2_0 0x5c0000d8 +#define DDRC_INIT2_1 0x5c1000d8 +#define DDRC_INIT3(X) REG32(DDRC_BASE_ADDR(X) + 0xdc) +#define DDRC_INIT3_0 0x5c0000dc +#define DDRC_INIT3_1 0x5c1000dc +#define DDRC_INIT4(X) REG32(DDRC_BASE_ADDR(X) + 0xe0) +#define DDRC_INIT4_0 0x5c0000e0 +#define DDRC_INIT4_1 0x5c1000e0 +#define DDRC_INIT5(X) REG32(DDRC_BASE_ADDR(X) + 0xe4) +#define DDRC_INIT5_0 0x5c0000e4 +#define DDRC_INIT5_1 0x5c1000e4 +#define DDRC_INIT6(X) REG32(DDRC_BASE_ADDR(X) + 0xe8) +#define DDRC_INIT6_0 0x5c0000e8 +#define DDRC_INIT6_1 0x5c1000e8 +#define DDRC_INIT7(X) REG32(DDRC_BASE_ADDR(X) + 0xec) +#define DDRC_INIT7_0 0x5c0000ec +#define DDRC_INIT7_1 0x5c1000ec +#define DDRC_DIMMCTL(X) REG32(DDRC_BASE_ADDR(X) + 0xf0) +#define DDRC_DIMMCTL_0 0x5c0000f0 +#define DDRC_DIMMCTL_1 0x5c1000f0 +#define DDRC_RANKCTL(X) REG32(DDRC_BASE_ADDR(X) + 0xf4) +#define DDRC_RANKCTL_0 0x5c0000f4 +#define DDRC_RANKCTL_1 0x5c1000f4 +#define DDRC_DRAMTMG0(X) REG32(DDRC_BASE_ADDR(X) + 0x100) +#define DDRC_DRAMTMG0_0 0x5c000100 +#define DDRC_DRAMTMG0_1 0x5c100100 +#define DDRC_DRAMTMG1(X) REG32(DDRC_BASE_ADDR(X) + 0x104) +#define DDRC_DRAMTMG1_0 0x5c000104 +#define DDRC_DRAMTMG1_1 0x5c100104 +#define DDRC_DRAMTMG2(X) REG32(DDRC_BASE_ADDR(X) + 0x108) +#define DDRC_DRAMTMG2_0 0x5c000108 +#define DDRC_DRAMTMG2_1 0x5c100108 +#define DDRC_DRAMTMG3(X) REG32(DDRC_BASE_ADDR(X) + 0x10c) +#define DDRC_DRAMTMG3_0 0x5c00010c +#define DDRC_DRAMTMG3_1 0x5c10010c +#define DDRC_DRAMTMG4(X) REG32(DDRC_BASE_ADDR(X) + 0x110) +#define DDRC_DRAMTMG4_0 0x5c000110 +#define DDRC_DRAMTMG4_1 0x5c100110 +#define DDRC_DRAMTMG5(X) REG32(DDRC_BASE_ADDR(X) + 0x114) +#define DDRC_DRAMTMG5_0 0x5c000114 +#define DDRC_DRAMTMG5_1 0x5c100114 +#define DDRC_DRAMTMG6(X) REG32(DDRC_BASE_ADDR(X) + 0x118) +#define DDRC_DRAMTMG6_0 0x5c000118 +#define DDRC_DRAMTMG6_1 0x5c100118 +#define DDRC_DRAMTMG7(X) REG32(DDRC_BASE_ADDR(X) + 0x11c) +#define DDRC_DRAMTMG7_0 0x5c00011c +#define DDRC_DRAMTMG7_1 0x5c10011c +#define DDRC_DRAMTMG8(X) REG32(DDRC_BASE_ADDR(X) + 0x120) +#define DDRC_DRAMTMG8_0 0x5c000120 +#define DDRC_DRAMTMG8_1 0x5c100120 +#define DDRC_DRAMTMG9(X) REG32(DDRC_BASE_ADDR(X) + 0x124) +#define DDRC_DRAMTMG9_0 0x5c000124 +#define DDRC_DRAMTMG9_1 0x5c100124 +#define DDRC_DRAMTMG10(X) REG32(DDRC_BASE_ADDR(X) + 0x128) +#define DDRC_DRAMTMG10_0 0x5c000128 +#define DDRC_DRAMTMG10_1 0x5c100128 +#define DDRC_DRAMTMG11(X) REG32(DDRC_BASE_ADDR(X) + 0x12c) +#define DDRC_DRAMTMG11_0 0x5c00012c +#define DDRC_DRAMTMG11_1 0x5c10012c +#define DDRC_DRAMTMG12(X) REG32(DDRC_BASE_ADDR(X) + 0x130) +#define DDRC_DRAMTMG12_0 0x5c000130 +#define DDRC_DRAMTMG12_1 0x5c100130 +#define DDRC_DRAMTMG13(X) REG32(DDRC_BASE_ADDR(X) + 0x134) +#define DDRC_DRAMTMG13_0 0x5c000134 +#define DDRC_DRAMTMG13_1 0x5c100134 +#define DDRC_DRAMTMG14(X) REG32(DDRC_BASE_ADDR(X) + 0x138) +#define DDRC_DRAMTMG14_0 0x5c000138 +#define DDRC_DRAMTMG14_1 0x5c100138 +#define DDRC_DRAMTMG15(X) REG32(DDRC_BASE_ADDR(X) + 0x13C) +#define DDRC_DRAMTMG15_0 0x5c00013c +#define DDRC_DRAMTMG15_1 0x5c10013c +#define DDRC_DRAMTMG16(X) REG32(DDRC_BASE_ADDR(X) + 0x140) +#define DDRC_DRAMTMG16_0 0x5c000140 +#define DDRC_DRAMTMG16_1 0x5c100140 +// +#define DDRC_ZQCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0x180) +#define DDRC_ZQCTL0_0 0x5c000180 +#define DDRC_ZQCTL0_1 0x5c100180 +#define DDRC_ZQCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0x184) +#define DDRC_ZQCTL1_0 0x5c000184 +#define DDRC_ZQCTL1_1 0x5c100184 +#define DDRC_ZQCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0x188) +#define DDRC_ZQCTL2_0 0x5c000188 +#define DDRC_ZQCTL2_1 0x5c100188 +#define DDRC_ZQSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x18c) +#define DDRC_ZQSTAT_0 0x5c00018c +#define DDRC_ZQSTAT_1 0x5c10018c +#define DDRC_DFITMG0(X) REG32(DDRC_BASE_ADDR(X) + 0x190) +#define DDRC_DFITMG0_0 0x5c000190 +#define DDRC_DFITMG0_1 0x5c100190 +#define DDRC_DFITMG1(X) REG32(DDRC_BASE_ADDR(X) + 0x194) +#define DDRC_DFITMG1_0 0x5c000194 +#define DDRC_DFITMG1_1 0x5c100194 +#define DDRC_DFILPCFG0(X) REG32(DDRC_BASE_ADDR(X) + 0x198) +#define DDRC_DFILPCFG0_0 0x5c000198 +#define DDRC_DFILPCFG0_1 0x5c100198 +#define DDRC_DFILPCFG1(X) REG32(DDRC_BASE_ADDR(X) + 0x19c) +#define DDRC_DFILPCFG1_0 0x5c00019c +#define DDRC_DFILPCFG1_1 0x5c10019c +#define DDRC_DFIUPD0(X) REG32(DDRC_BASE_ADDR(X) + 0x1a0) +#define DDRC_DFIUPD0_0 0x5c0001a0 +#define DDRC_DFIUPD0_1 0x5c1001a0 +#define DDRC_DFIUPD1(X) REG32(DDRC_BASE_ADDR(X) + 0x1a4) +#define DDRC_DFIUPD1_0 0x5c0001a4 +#define DDRC_DFIUPD1_1 0x5c1001a4 +#define DDRC_DFIUPD2(X) REG32(DDRC_BASE_ADDR(X) + 0x1a8) +#define DDRC_DFIUPD2_0 0x5c0001a8 +#define DDRC_DFIUPD2_1 0x5c1001a8 +//#define DDRC_DFIUPD3(X) REG32(DDRC_BASE_ADDR(X) + 0x1ac) // iMX8 hasn't it +#define DDRC_DFIMISC(X) REG32(DDRC_BASE_ADDR(X) + 0x1b0) +#define DDRC_DFIMISC_0 0x5c0001b0 +#define DDRC_DFIMISC_1 0x5c1001b0 +#define DDRC_DFITMG2(X) REG32(DDRC_BASE_ADDR(X) + 0x1b4) +#define DDRC_DFITMG2_0 0x5c0001b4 +#define DDRC_DFITMG2_1 0x5c1001b4 +#define DDRC_DFITMG3(X) REG32(DDRC_BASE_ADDR(X) + 0x1b8) +#define DDRC_DFITMG3_0 0x5c0001b8 +#define DDRC_DFITMG3_1 0x5c1001b8 +// +#define DDRC_DBICTL(X) REG32(DDRC_BASE_ADDR(X) + 0x1c0) +#define DDRC_DBICTL_0 0x5c0001c0 +#define DDRC_DBICTL_1 0x5c1001c0 +#define DDRC_TRAINCTL0(X) REG32(DDRC_BASE_ADDR(X) + 0x1d0) +#define DDRC_TRAINCTL0_0 0x5c0001d0 +#define DDRC_TRAINCTL0_1 0x5c1001d0 +#define DDRC_TRAINCTL1(X) REG32(DDRC_BASE_ADDR(X) + 0x1d4) +#define DDRC_TRAINCTL1_0 0x5c0001d4 +#define DDRC_TRAINCTL1_1 0x5c1001d4 +#define DDRC_TRAINCTL2(X) REG32(DDRC_BASE_ADDR(X) + 0x1d8) +#define DDRC_TRAINCTL2_0 0x5c0001d8 +#define DDRC_TRAINCTL2_1 0x5c1001d8 +#define DDRC_TRAINSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x1dc) +#define DDRC_TRAINSTAT_0 0x5c0001dc +#define DDRC_TRAINSTAT_1 0x5c1001dc +#define DDRC_ADDRMAP0(X) REG32(DDRC_BASE_ADDR(X) + 0x200) +#define DDRC_ADDRMAP0_0 0x5c000200 +#define DDRC_ADDRMAP0_1 0x5c100200 +#define DDRC_ADDRMAP1(X) REG32(DDRC_BASE_ADDR(X) + 0x204) +#define DDRC_ADDRMAP1_0 0x5c000204 +#define DDRC_ADDRMAP1_1 0x5c100204 +#define DDRC_ADDRMAP2(X) REG32(DDRC_BASE_ADDR(X) + 0x208) +#define DDRC_ADDRMAP2_0 0x5c000208 +#define DDRC_ADDRMAP2_1 0x5c100208 +#define DDRC_ADDRMAP3(X) REG32(DDRC_BASE_ADDR(X) + 0x20c) +#define DDRC_ADDRMAP3_0 0x5c00020c +#define DDRC_ADDRMAP3_1 0x5c10020c +#define DDRC_ADDRMAP4(X) REG32(DDRC_BASE_ADDR(X) + 0x210) +#define DDRC_ADDRMAP4_0 0x5c000210 +#define DDRC_ADDRMAP4_1 0x5c100210 +#define DDRC_ADDRMAP5(X) REG32(DDRC_BASE_ADDR(X) + 0x214) +#define DDRC_ADDRMAP5_0 0x5c000214 +#define DDRC_ADDRMAP5_1 0x5c100214 +#define DDRC_ADDRMAP6(X) REG32(DDRC_BASE_ADDR(X) + 0x218) +#define DDRC_ADDRMAP6_0 0x5c000218 +#define DDRC_ADDRMAP6_1 0x5c100218 +#define DDRC_ADDRMAP7(X) REG32(DDRC_BASE_ADDR(X) + 0x21c) +#define DDRC_ADDRMAP7_0 0x5c00021c +#define DDRC_ADDRMAP7_1 0x5c10021c +#define DDRC_ADDRMAP8(X) REG32(DDRC_BASE_ADDR(X) + 0x220) +#define DDRC_ADDRMAP8_0 0x5c000220 +#define DDRC_ADDRMAP8_1 0x5c100220 +#define DDRC_ADDRMAP9(X) REG32(DDRC_BASE_ADDR(X) + 0x224) +#define DDRC_ADDRMAP9_0 0x5c000224 +#define DDRC_ADDRMAP9_1 0x5c100224 +#define DDRC_ADDRMAP10(X) REG32(DDRC_BASE_ADDR(X) + 0x228) +#define DDRC_ADDRMAP10_0 0x5c000228 +#define DDRC_ADDRMAP10_1 0x5c100228 +#define DDRC_ADDRMAP11(X) REG32(DDRC_BASE_ADDR(X) + 0x22c) +#define DDRC_ADDRMAP11_0 0x5c00022c +#define DDRC_ADDRMAP11_1 0x5c10022c +// +#define DDRC_ODTCFG(X) REG32(DDRC_BASE_ADDR(X) + 0x240) +#define DDRC_ODTCFG_0 0x5c000240 +#define DDRC_ODTCFG_1 0x5c100240 +#define DDRC_ODTMAP(X) REG32(DDRC_BASE_ADDR(X) + 0x244) +#define DDRC_ODTMAP_0 0x5c000244 +#define DDRC_ODTMAP_1 0x5c100244 +#define DDRC_SCHED(X) REG32(DDRC_BASE_ADDR(X) + 0x250) +#define DDRC_SCHED_0 0x5c000250 +#define DDRC_SCHED_1 0x5c100250 +#define DDRC_SCHED1(X) REG32(DDRC_BASE_ADDR(X) + 0x254) +#define DDRC_SCHED1_0 0x5c000254 +#define DDRC_SCHED1_1 0x5c100254 +#define DDRC_PERFHPR1(X) REG32(DDRC_BASE_ADDR(X) + 0x25c) +#define DDRC_PERFHPR1_0 0x5c00025c +#define DDRC_PERFHPR1_1 0x5c10025c +#define DDRC_PERFLPR1(X) REG32(DDRC_BASE_ADDR(X) + 0x264) +#define DDRC_PERFLPR1_0 0x5c000264 +#define DDRC_PERFLPR1_1 0x5c100264 +#define DDRC_PERFWR1(X) REG32(DDRC_BASE_ADDR(X) + 0x26c) +#define DDRC_PERFWR1_0 0x5c00026c +#define DDRC_PERFWR1_1 0x5c10026c +#define DDRC_PERFVPR1(X) REG32(DDRC_BASE_ADDR(X) + 0x274) +#define DDRC_PERFVPR1_0 0x5c000274 +#define DDRC_PERFVPR1_1 0x5c100274 +// +#define DDRC_PERFVPW1(X) REG32(DDRC_BASE_ADDR(X) + 0x278) +#define DDRC_PERFVPW1_0 0x5c000278 +#define DDRC_PERFVPW1_1 0x5c100278 +// +#define DDRC_DQMAP0(X) REG32(DDRC_BASE_ADDR(X) + 0x280) +#define DDRC_DQMAP0_0 0x5c000280 +#define DDRC_DQMAP0_1 0x5c100280 +#define DDRC_DQMAP1(X) REG32(DDRC_BASE_ADDR(X) + 0x284) +#define DDRC_DQMAP1_0 0x5c000284 +#define DDRC_DQMAP1_1 0x5c100284 +#define DDRC_DQMAP2(X) REG32(DDRC_BASE_ADDR(X) + 0x288) +#define DDRC_DQMAP2_0 0x5c000288 +#define DDRC_DQMAP2_1 0x5c100288 +#define DDRC_DQMAP3(X) REG32(DDRC_BASE_ADDR(X) + 0x28c) +#define DDRC_DQMAP3_0 0x5c00028c +#define DDRC_DQMAP3_1 0x5c10028c +#define DDRC_DQMAP4(X) REG32(DDRC_BASE_ADDR(X) + 0x290) +#define DDRC_DQMAP4_0 0x5c000290 +#define DDRC_DQMAP4_1 0x5c100290 +#define DDRC_DQMAP5(X) REG32(DDRC_BASE_ADDR(X) + 0x294) +#define DDRC_DQMAP5_0 0x5c000294 +#define DDRC_DQMAP5_1 0x5c100294 +#define DDRC_DBG0(X) REG32(DDRC_BASE_ADDR(X) + 0x300) +#define DDRC_DBG0_0 0x5c000300 +#define DDRC_DBG0_1 0x5c100300 +#define DDRC_DBG1(X) REG32(DDRC_BASE_ADDR(X) + 0x304) +#define DDRC_DBG1_0 0x5c000304 +#define DDRC_DBG1_1 0x5c100304 +#define DDRC_DBGCAM(X) REG32(DDRC_BASE_ADDR(X) + 0x308) +#define DDRC_DBGCAM_0 0x5c000308 +#define DDRC_DBGCAM_1 0x5c100308 +#define DDRC_DBGCMD(X) REG32(DDRC_BASE_ADDR(X) + 0x30c) +#define DDRC_DBGCMD_0 0x5c00030c +#define DDRC_DBGCMD_1 0x5c10030c +#define DDRC_DBGSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x310) +#define DDRC_DBGSTAT_0 0x5c000310 +#define DDRC_DBGSTAT_1 0x5c100310 +// +#define DDRC_SWCTL(X) REG32(DDRC_BASE_ADDR(X) + 0x320) +#define DDRC_SWCTL_0 0x5c000320 +#define DDRC_SWCTL_1 0x5c100320 +#define DDRC_SWSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x324) +#define DDRC_SWSTAT_0 0x5c000324 +#define DDRC_SWSTAT_1 0x5c100324 +#define DDRC_OCPARCFG0(X) REG32(DDRC_BASE_ADDR(X) + 0x330) +#define DDRC_OCPARCFG0_0 0x5c000330 +#define DDRC_OCPARCFG0_1 0x5c100330 +#define DDRC_OCPARCFG1(X) REG32(DDRC_BASE_ADDR(X) + 0x334) +#define DDRC_OCPARCFG1_0 0x5c000334 +#define DDRC_OCPARCFG1_1 0x5c100334 +#define DDRC_OCPARCFG2(X) REG32(DDRC_BASE_ADDR(X) + 0x338) +#define DDRC_OCPARCFG2_0 0x5c000338 +#define DDRC_OCPARCFG2_1 0x5c100338 +#define DDRC_OCPARCFG3(X) REG32(DDRC_BASE_ADDR(X) + 0x33c) +#define DDRC_OCPARCFG3_0 0x5c00033c +#define DDRC_OCPARCFG3_1 0x5c10033c +#define DDRC_OCPARSTAT0(X) REG32(DDRC_BASE_ADDR(X) + 0x340) +#define DDRC_OCPARSTAT0_0 0x5c000340 +#define DDRC_OCPARSTAT0_1 0x5c100340 +#define DDRC_OCPARSTAT1(X) REG32(DDRC_BASE_ADDR(X) + 0x344) +#define DDRC_OCPARSTAT1_0 0x5c000344 +#define DDRC_OCPARSTAT1_1 0x5c100344 +#define DDRC_OCPARWLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x348) +#define DDRC_OCPARWLOG0_0 0x5c000348 +#define DDRC_OCPARWLOG0_1 0x5c100348 +#define DDRC_OCPARWLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x34c) +#define DDRC_OCPARWLOG1_0 0x5c00034c +#define DDRC_OCPARWLOG1_1 0x5c10034c +#define DDRC_OCPARWLOG2(X) REG32(DDRC_BASE_ADDR(X) + 0x350) +#define DDRC_OCPARWLOG2_0 0x5c000350 +#define DDRC_OCPARWLOG2_1 0x5c100350 +#define DDRC_OCPARAWLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x354) +#define DDRC_OCPARAWLOG0_0 0x5c000354 +#define DDRC_OCPARAWLOG0_1 0x5c100354 +#define DDRC_OCPARAWLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x358) +#define DDRC_OCPARAWLOG1_0 0x5c000358 +#define DDRC_OCPARAWLOG1_1 0x5c100358 +#define DDRC_OCPARRLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x35c) +#define DDRC_OCPARRLOG0_0 0x5c00035c +#define DDRC_OCPARRLOG0_1 0x5c10035c +#define DDRC_OCPARRLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x360) +#define DDRC_OCPARRLOG1_0 0x5c000360 +#define DDRC_OCPARRLOG1_1 0x5c100360 +#define DDRC_OCPARARLOG0(X) REG32(DDRC_BASE_ADDR(X) + 0x364) +#define DDRC_OCPARARLOG0_0 0x5c000364 +#define DDRC_OCPARARLOG0_1 0x5c100364 +#define DDRC_OCPARARLOG1(X) REG32(DDRC_BASE_ADDR(X) + 0x368) +#define DDRC_OCPARARLOG1_0 0x5c000368 +#define DDRC_OCPARARLOG1_1 0x5c100368 + +#define DDRC_PSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0x3fc) +#define DDRC_PSTAT_0 0x5c0003fc +#define DDRC_PSTAT_1 0x5c1003fc +#define DDRC_PCCFG(X) REG32(DDRC_BASE_ADDR(X) + 0x400) +#define DDRC_PCCFG_0 0x5c000400 +#define DDRC_PCCFG_1 0x5c100400 +#define DDRC_PCFGR_0(X) REG32(DDRC_BASE_ADDR(X) + 0x404) +#define DDRC_PCFGR_0_0 0x5c000404 +#define DDRC_PCFGR_0_1 0x5c100404 +#define DDRC_PCFGR_1(X) REG32(DDRC_BASE_ADDR(X) + 1*0xb0+0x404) +#define DDRC_PCFGR_1_0 0x5c0004b4 +#define DDRC_PCFGR_1_1 0x5c1004b4 +#define DDRC_PCFGR_2(X) REG32(DDRC_BASE_ADDR(X) + 2*0xb0+0x404) +#define DDRC_PCFGR_2_0 0x5c000564 +#define DDRC_PCFGR_2_1 0x5c100564 +#define DDRC_PCFGR_3(X) REG32(DDRC_BASE_ADDR(X) + 3*0xb0+0x404) +#define DDRC_PCFGR_3_0 0x5c000614 +#define DDRC_PCFGR_3_1 0x5c100614 +#define DDRC_PCFGW_0(X) REG32(DDRC_BASE_ADDR(X) + 0x408) +#define DDRC_PCFGW_0_0 0x5c000408 +#define DDRC_PCFGW_0_1 0x5c100408 +#define DDRC_PCFGW_1(X) REG32(DDRC_BASE_ADDR(X) + 1*0xb0+0x408) +#define DDRC_PCFGW_1_0 0x5c0004b8 +#define DDRC_PCFGW_1_1 0x5c1004b8 +#define DDRC_PCFGW_2(X) REG32(DDRC_BASE_ADDR(X) + 2*0xb0+0x408) +#define DDRC_PCFGW_2_0 0x5c000568 +#define DDRC_PCFGW_2_1 0x5c100568 +#define DDRC_PCFGW_3(X) REG32(DDRC_BASE_ADDR(X) + 3*0xb0+0x408) +#define DDRC_PCFGW_3_0 0x5c000618 +#define DDRC_PCFGW_3_1 0x5c100618 +#define DDRC_PCFGC_0(X) REG32(DDRC_BASE_ADDR(X) + 0x40c) +#define DDRC_PCFGC_0_0 0x5c00040c +#define DDRC_PCFGC_0_1 0x5c10040c +#define DDRC_PCFGIDMASKCH(X) REG32(DDRC_BASE_ADDR(X) + 0x410) +#define DDRC_PCFGIDMASKCH_0 0x5c000410 +#define DDRC_PCFGIDMASKCH_1 0x5c100410 +#define DDRC_PCFGIDVALUECH(X) REG32(DDRC_BASE_ADDR(X) + 0x414) +#define DDRC_PCFGIDVALUECH_0 0x5c000414 +#define DDRC_PCFGIDVALUECH_1 0x5c100414 +#define DDRC_PCTRL_0(X) REG32(DDRC_BASE_ADDR(X) + 0x490) +#define DDRC_PCTRL_0_0 0x5c000490 +#define DDRC_PCTRL_0_1 0x5c100490 +#define DDRC_PCTRL_1(X) REG32(DDRC_BASE_ADDR(X) + 0x490 + 1*0xb0) +#define DDRC_PCTRL_1_0 0x5c000540 +#define DDRC_PCTRL_1_1 0x5c100540 +#define DDRC_PCTRL_2(X) REG32(DDRC_BASE_ADDR(X) + 0x490 + 2*0xb0) +#define DDRC_PCTRL_2_0 0x5c0005f0 +#define DDRC_PCTRL_2_1 0x5c1005f0 +#define DDRC_PCTRL_3(X) REG32(DDRC_BASE_ADDR(X) + 0x490 + 3*0xb0) +#define DDRC_PCTRL_3_0 0x5c0006a0 +#define DDRC_PCTRL_3_1 0x5c1006a0 +#define DDRC_PCFGQOS0_0(X) REG32(DDRC_BASE_ADDR(X) + 0x494) +#define DDRC_PCFGQOS0_0_0 0x5c000494 +#define DDRC_PCFGQOS0_0_1 0x5c100494 +#define DDRC_PCFGQOS1_0(X) REG32(DDRC_BASE_ADDR(X) + 0x498) +#define DDRC_PCFGQOS1_0_0 0x5c000498 +#define DDRC_PCFGQOS1_0_1 0x5c100498 +#define DDRC_PCFGWQOS0_0(X) REG32(DDRC_BASE_ADDR(X) + 0x49c) +#define DDRC_PCFGWQOS0_0_0 0x5c00049c +#define DDRC_PCFGWQOS0_0_1 0x5c10049c +#define DDRC_PCFGWQOS1_0(X) REG32(DDRC_BASE_ADDR(X) + 0x4a0) +#define DDRC_PCFGWQOS1_0_0 0x5c0004a0 +#define DDRC_PCFGWQOS1_0_1 0x5c1004a0 +#define DDRC_SARBASE0(X) REG32(DDRC_BASE_ADDR(X) + 0xf04) +#define DDRC_SARBASE0_0 0x5c000f04 +#define DDRC_SARBASE0_1 0x5c100f04 +#define DDRC_SARSIZE0(X) REG32(DDRC_BASE_ADDR(X) + 0xf08) +#define DDRC_SARSIZE0_0 0x5c000f08 +#define DDRC_SARSIZE0_1 0x5c100f08 +#define DDRC_SBRCTL(X) REG32(DDRC_BASE_ADDR(X) + 0xf24) +#define DDRC_SBRCTL_0 0x5c000f24 +#define DDRC_SBRCTL_1 0x5c100f24 +#define DDRC_SBRSTAT(X) REG32(DDRC_BASE_ADDR(X) + 0xf28) +#define DDRC_SBRSTAT_0 0x5c000f28 +#define DDRC_SBRSTAT_1 0x5c100f28 +#define DDRC_SBRWDATA0(X) REG32(DDRC_BASE_ADDR(X) + 0xf2c) +#define DDRC_SBRWDATA0_0 0x5c000f2c +#define DDRC_SBRWDATA0_1 0x5c100f2c +#define DDRC_SBRWDATA1(X) REG32(DDRC_BASE_ADDR(X) + 0xf30) +#define DDRC_SBRWDATA1_0 0x5c000f30 +#define DDRC_SBRWDATA1_1 0x5c100f30 +#define DDRC_PDCH(X) REG32(DDRC_BASE_ADDR(X) + 0xf34) +#define DDRC_PDCH_0 0x5c000f34 +#define DDRC_PDCH_1 0x5c100f34 + +#define DDRC_PCFGW_0_0_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(0))) +#define DDRC_PCFGW_0_1_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(1))) +#define DDRC_PCFGW_0_2_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(2))) +#define DDRC_PCFGW_0_3_ADDR ((vuint8_t*)&(DDRC_PCFGW_0(3))) + +#define DDRC_MRCTRL1_0_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(0))) +#define DDRC_MRCTRL1_1_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(1))) +#define DDRC_MRCTRL1_2_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(2))) +#define DDRC_MRCTRL1_3_ADDR ((vuint8_t*)&(DDRC_MRCTRL1(3))) + + +// SHADOW registers + +#define DDRC_DERATEEN_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2020) +#define DDRC_DERATEEN_SHADOW_0 0x5c002020 +#define DDRC_DERATEEN_SHADOW_1 0x5c102020 +#define DDRC_DERATEINT_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2024) +#define DDRC_DERATEINT_SHADOW_0 0x5c002024 +#define DDRC_DERATEINT_SHADOW_1 0x5c102024 +#define DDRC_RFSHCTL0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2050) +#define DDRC_RFSHCTL0_SHADOW_0 0x5c002050 +#define DDRC_RFSHCTL0_SHADOW_1 0x5c102050 +#define DDRC_RFSHTMG_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2064) +#define DDRC_RFSHTMG_SHADOW_0 0x5c002064 +#define DDRC_RFSHTMG_SHADOW_1 0x5c102064 +#define DDRC_INIT3_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20dc) +#define DDRC_INIT3_SHADOW_0 0x5c0020dc +#define DDRC_INIT3_SHADOW_1 0x5c1020dc +#define DDRC_INIT4_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20e0) +#define DDRC_INIT4_SHADOW_0 0x5c0020e0 +#define DDRC_INIT4_SHADOW_1 0x5c1020e0 +#define DDRC_INIT6_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20e8) +#define DDRC_INIT6_SHADOW_0 0x5c0020e8 +#define DDRC_INIT6_SHADOW_1 0x5c1020e8 +#define DDRC_INIT7_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x20ec) +#define DDRC_INIT7_SHADOW_0 0x5c0020ec +#define DDRC_INIT7_SHADOW_1 0x5c1020ec +#define DDRC_DRAMTMG0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2100) +#define DDRC_DRAMTMG0_SHADOW_0 0x5c002100 +#define DDRC_DRAMTMG0_SHADOW_1 0x5c102100 +#define DDRC_DRAMTMG1_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2104) +#define DDRC_DRAMTMG1_SHADOW_0 0x5c002104 +#define DDRC_DRAMTMG1_SHADOW_1 0x5c102104 +#define DDRC_DRAMTMG2_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2108) +#define DDRC_DRAMTMG2_SHADOW_0 0x5c002108 +#define DDRC_DRAMTMG2_SHADOW_1 0x5c102108 +#define DDRC_DRAMTMG3_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x210c) +#define DDRC_DRAMTMG3_SHADOW_0 0x5c00210c +#define DDRC_DRAMTMG3_SHADOW_1 0x5c10210c +#define DDRC_DRAMTMG4_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2110) +#define DDRC_DRAMTMG4_SHADOW_0 0x5c002110 +#define DDRC_DRAMTMG4_SHADOW_1 0x5c102110 +#define DDRC_DRAMTMG5_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2114) +#define DDRC_DRAMTMG5_SHADOW_0 0x5c002114 +#define DDRC_DRAMTMG5_SHADOW_1 0x5c102114 +#define DDRC_DRAMTMG6_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2118) +#define DDRC_DRAMTMG6_SHADOW_0 0x5c002118 +#define DDRC_DRAMTMG6_SHADOW_1 0x5c102118 +#define DDRC_DRAMTMG7_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x211c) +#define DDRC_DRAMTMG7_SHADOW_0 0x5c00211c +#define DDRC_DRAMTMG7_SHADOW_1 0x5c10211c +#define DDRC_DRAMTMG8_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2120) +#define DDRC_DRAMTMG8_SHADOW_0 0x5c002120 +#define DDRC_DRAMTMG8_SHADOW_1 0x5c102120 +#define DDRC_DRAMTMG9_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2124) +#define DDRC_DRAMTMG9_SHADOW_0 0x5c002124 +#define DDRC_DRAMTMG9_SHADOW_1 0x5c102124 +#define DDRC_DRAMTMG10_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2128) +#define DDRC_DRAMTMG10_SHADOW_0 0x5c002128 +#define DDRC_DRAMTMG10_SHADOW_1 0x5c102128 +#define DDRC_DRAMTMG11_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x212c) +#define DDRC_DRAMTMG11_SHADOW_0 0x5c00212c +#define DDRC_DRAMTMG11_SHADOW_1 0x5c10212c +#define DDRC_DRAMTMG12_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2130) +#define DDRC_DRAMTMG12_SHADOW_0 0x5c002130 +#define DDRC_DRAMTMG12_SHADOW_1 0x5c102130 +#define DDRC_DRAMTMG13_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2134) +#define DDRC_DRAMTMG13_SHADOW_0 0x5c002134 +#define DDRC_DRAMTMG13_SHADOW_1 0x5c102134 +#define DDRC_DRAMTMG14_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2138) +#define DDRC_DRAMTMG14_SHADOW_0 0x5c002138 +#define DDRC_DRAMTMG14_SHADOW_1 0x5c102138 +#define DDRC_DRAMTMG15_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x213C) +#define DDRC_DRAMTMG15_SHADOW_0 0x5c00213c +#define DDRC_DRAMTMG15_SHADOW_1 0x5c10213c +#define DDRC_DRAMTMG16_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2140) +#define DDRC_DRAMTMG16_SHADOW_0 0x5c002140 +#define DDRC_DRAMTMG16_SHADOW_1 0x5c102140 +#define DDRC_ZQCTL0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2180) +#define DDRC_ZQCTL0_SHADOW_0 0x5c002180 +#define DDRC_ZQCTL0_SHADOW_1 0x5c102180 +#define DDRC_DFITMG0_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2190) +#define DDRC_DFITMG0_SHADOW_0 0x5c002190 +#define DDRC_DFITMG0_SHADOW_1 0x5c102190 +#define DDRC_DFITMG1_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2194) +#define DDRC_DFITMG1_SHADOW_0 0x5c002194 +#define DDRC_DFITMG1_SHADOW_1 0x5c102194 +#define DDRC_DFITMG2_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x21b4) +#define DDRC_DFITMG2_SHADOW_0 0x5c0021b4 +#define DDRC_DFITMG2_SHADOW_1 0x5c1021b4 +#define DDRC_DFITMG3_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x21b8) +#define DDRC_DFITMG3_SHADOW_0 0x5c0021b8 +#define DDRC_DFITMG3_SHADOW_1 0x5c1021b8 +#define DDRC_ODTCFG_SHADOW(X) REG32(DDRC_BASE_ADDR(X) + 0x2240) +#define DDRC_ODTCFG_SHADOW_0 0x5c002240 +#define DDRC_ODTCFG_SHADOW_1 0x5c102240 + +#endif diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/mkimage_fit_atf.sh b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/mkimage_fit_atf.sh new file mode 100755 index 0000000..b88a069 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/mkimage_fit_atf.sh @@ -0,0 +1,107 @@ +#!/bin/sh +# +# script to generate FIT image source for i.MX8MQ boards with +# ARM Trusted Firmware and multiple device trees (given on the command line) +# + +[ -z "$BL31" ] && BL31="bl31.bin" +# keep backward compatibility +[ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000" + +if [ ! -f $BL31 ]; then + echo "ERROR: BL31 file $BL31 NOT found" >&2 + exit 0 +else + echo "bl31.bin size: " >&2 + ls -lct bl31.bin | awk '{print $5}' >&2 +fi + +BL32="tee.bin" + +if [ ! -f $BL32 ]; then + BL32=/dev/null +else + echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 + echo "tee.bin size: " >&2 + ls -lct tee.bin | awk '{print $5}' >&2 +fi + +BL33="u-boot-hash.bin" + +if [ ! -f $BL33 ]; then + echo "ERROR: $BL33 file NOT found" >&2 + exit 0 +else + echo "$BL33 size: " >&2 + ls -lct u-boot-hash.bin | awk '{print $5}' >&2 +fi + +cat << __HEADER_EOF +/dts-v1/; + +/ { + description = "Configuration to load ATF before U-Boot"; + + images { + uboot@1 { + description = "U-Boot (64-bit)"; + data = /incbin/("$BL33"); + type = "standalone"; + arch = "arm64"; + compression = "none"; + load = <0x80020000>; + }; + atf@1 { + description = "ARM Trusted Firmware"; + data = /incbin/("$BL31"); + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <0x80000000>; + entry = <0x80000000>; + }; +__HEADER_EOF + +if [ -f $BL32 ]; then +cat << __HEADER_EOF + tee@1 { + description = "TEE firmware"; + data = /incbin/("$BL32"); + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <$TEE_LOAD_ADDR>; + entry = <$TEE_LOAD_ADDR>; + }; +__HEADER_EOF +fi + +cat << __CONF_HEADER_EOF + }; + configurations { + default = "config@1"; + +__CONF_HEADER_EOF + +if [ -f $BL32 ]; then +cat << __CONF_SECTION1_EOF + config@1 { + description = "fsl-imx8qxp-mek"; + firmware = "uboot@1"; + loadables = "atf@1", "tee@1"; + }; +__CONF_SECTION1_EOF +else +cat << __CONF_SECTION1_EOF + config@1 { + description = "fsl-imx8qxp-mek"; + firmware = "uboot@1"; + loadables = "atf@1"; + }; +__CONF_SECTION1_EOF +fi + +cat << __ITS_EOF + }; +}; +__ITS_EOF diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/soc.mak b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/soc.mak new file mode 100644 index 0000000..1d850cc --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8QX/soc.mak @@ -0,0 +1,309 @@ +MKIMG = ../mkimage_imx8 +DCD_CFG_SRC = imx8qx_dcd_1.2GHz.cfg +DCD_CFG = imx8qx_dcd.cfg.tmp + +DCD_CFG_16BIT_SRC = imx8qx_dcd_16bit_1.2GHz.cfg +DCD_16BIT_CFG = imx8qx_16bit_dcd.cfg.tmp + +DCD_CFG_DDR3_SRC = imx8qx_ddr3_dcd_1066MHz_ecc.cfg +DCD_DDR3_CFG = imx8qx_ddr3_dcd_1066MHz_ecc.cfg.tmp + +DCD_CFG_DX_DDR3_SRC = imx8dx_ddr3_dcd_16bit_933MHz.cfg +DCD_DX_DDR3_CFG = imx8dx_ddr3_dcd_16bit_933MHz.cfg.tmp + +CC ?= gcc +REVISION ?= A0 +CFLAGS ?= -O2 -Wall -std=c99 -static +INCLUDE = ./lib + +#set default DDR_training to be in DCDs + +DDR3_DCD ?= 0 +DX ?= 0 +DDR_TRAIN ?= 1 +WGET = /usr/bin/wget +N ?= latest +SERVER=http://yb2.am.freescale.net +DIR = internal-only/Linux_IMX_Rocko_MX8/$(N)/common_bsp + +#define the F(Q)SPI header file +QSPI_HEADER = ../scripts/fspi_header +QSPI_PACKER = ../scripts/fspi_packer.sh +PAD_IMAGE = ../scripts/pad_image.sh + +ifeq ($(DDR3_DCD), 1) + ifeq ($(DX), 1) + DCD_CFG_SRC = imx8dx_ddr3_dcd_16bit_933MHz.cfg + else + DCD_CFG_SRC = imx8qx_ddr3_dcd_1066MHz_ecc.cfg + endif +endif + +ifneq ($(wildcard /usr/bin/rename.ul),) + RENAME = rename.ul +else + RENAME = rename +endif + +$(DCD_CFG): FORCE + @echo "Converting iMX8 DCD file" + $(CC) -E -Wp,-MD,.imx8qx_dcd.cfg.cfgtmp.d -nostdinc -Iinclude -I$(INCLUDE) -DDDR_TRAIN_IN_DCD=$(DDR_TRAIN) -x c -o $(DCD_CFG) $(DCD_CFG_SRC) + $(CC) -E -Wp,-MD,.imx8qx_dcd.cfg.cfgtmp.d -nostdinc -Iinclude -I$(INCLUDE) -DDDR_TRAIN_IN_DCD=$(DDR_TRAIN) -x c -o $(DCD_16BIT_CFG) $(DCD_CFG_16BIT_SRC) + $(CC) -E -Wp,-MD,.imx8qx_dcd.cfg.cfgtmp.d -nostdinc -Iinclude -I$(INCLUDE) -DDDR_TRAIN_IN_DCD=$(DDR_TRAIN) -x c -o $(DCD_DDR3_CFG) $(DCD_CFG_DDR3_SRC) + $(CC) -E -Wp,-MD,.imx8dx_dcd.cfg.cfgtmp.d -nostdinc -Iinclude -I$(INCLUDE) -DDDR_TRAIN_IN_DCD=$(DDR_TRAIN) -x c -o $(DCD_DX_DDR3_CFG) $(DCD_CFG_DX_DDR3_SRC) +FORCE: + +u-boot-hash.bin: u-boot.bin + ./$(MKIMG) -commit > head.hash + @cat u-boot.bin head.hash > u-boot-hash.bin + +u-boot-atf.bin: u-boot-hash.bin bl31.bin + @cp bl31.bin u-boot-atf.bin + @dd if=u-boot-hash.bin of=u-boot-atf.bin bs=1K seek=128 + +u-boot-atf.itb: u-boot-hash.bin bl31.bin + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-hash.bin + ./mkimage_fit_atf.sh > u-boot.its; + ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot-atf.itb; + @rm -f u-boot.its + +u-boot-atf-container.img: bl31.bin u-boot-hash.bin + if [ -f tee.bin ]; then \ + ./$(MKIMG) -soc QX -rev B0 -c -ap bl31.bin a35 0x80000000 -ap u-boot-hash.bin a35 0x80020000 -ap tee.bin a35 0xFE000000 -out u-boot-atf-container.img; \ + else \ + ./$(MKIMG) -soc QX -rev B0 -c -ap bl31.bin a35 0x80000000 -ap u-boot-hash.bin a35 0x80020000 -out u-boot-atf-container.img; \ + fi + +Image0: Image + @dd if=Image of=Image0 bs=10M count=1 +Image1: Image + @dd if=Image of=Image1 bs=10M skip=1 + +.PHONY: clean nightly +clean: + @rm -f $(MKIMG) $(DCD_CFG) .imx8qx_dcd.cfg.cfgtmp.d u-boot-atf-container.img Image0 Image1 + +flash_cm4 flash_b0_cm4: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x34FE0000 -out flash.bin + +flash_cm4ddr flash_b0_cm4ddr: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x88000000 -out flash.bin + +flash_uboot_cm4ddr flash_b0_uboot_cm4ddr: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin m4_image.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -m4 m4_image.bin 0 0x88000000 -out flash.bin + +flash_uboot_cm4 flash_b0_uboot_cm4: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin m4_image.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -m4 m4_image.bin 0 0x34FE0000 -out flash.bin + +flash_scfw_a0: $(MKIMG) scfw_tcm.bin + ./$(MKIMG) -soc QX -c -scfw scfw_tcm.bin -out flash.bin + +flash_dcd_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_16bit_dcd_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_16BIT_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_ddr3_dcd_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_DDR3_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_dx_ddr3_dcd_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_DX_DDR3_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_a0: $(MKIMG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -c -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_early_a0: $(MKIMG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -c -flags 0x00400000 -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_flexspi_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -dev flexspi -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_flexspi: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin $(QSPI_HEADER) + ./$(MKIMG) -soc QX -rev B0 -dev flexspi -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_cm4flexspi flash_b0_cm4flexspi: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin m4_image.bin $(QSPI_HEADER) + ./$(MKIMG) -soc QX -rev B0 -dev flexspi -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -fileoff 0x80000 -p1 -m4 m4_image.bin 0 0x08081000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_flexspi_all : $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin m4_image.bin $(QSPI_HEADER) + ./$(MKIMG) -soc QX -rev B0 -dev flexspi -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -fileoff 0x80000 -m4 m4_image.bin 0 0x08081000 -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_multi_cores_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m40_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -m4 m40_tcm.bin 0 0x34FE0000 -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_nand_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -dev nand -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -c -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_nand: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -rev B0 -dev nand 16K -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -out flash_fw.bin + +flash_nand_fw: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_cm4_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x34FE0000 -out flash.bin + +flash flash_b0: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_spl_fit: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.itb u-boot-spl.bin + ./$(MKIMG) -soc QX -rev B0 -dcd skip -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.itb at $$pad_cnt KB"; \ + dd if=u-boot-atf.itb of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf.itb; + +flash_spl_container: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-spl.bin u-boot-atf-container.img + ./$(MKIMG) -soc QX -rev B0 -dcd skip -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf-container.img at $$pad_cnt KB"; \ + dd if=u-boot-atf-container.img of=flash.bin bs=1K seek=$$pad_cnt; + +flash_all_spl_fit: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.itb CM4.bin u-boot-spl.bin + ./$(MKIMG) -soc QX -rev B0 -dcd skip -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.itb at $$pad_cnt KB"; \ + dd if=u-boot-atf.itb of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf.itb; + +flash_all_spl_container: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf-container.img CM4.bin u-boot-spl.bin + ./$(MKIMG) -soc QX -rev B0 -dcd skip -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf-container.img at $$pad_cnt KB"; \ + dd if=u-boot-atf-container.img of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf-container.img; + +flash_spl: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin u-boot-spl.bin + ./$(MKIMG) -soc QX -rev B0 -dcd skip -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.bin at $$pad_cnt KB"; \ + dd if=u-boot-atf.bin of=flash.bin bs=1K seek=$$pad_cnt + +flash_spl_flexspi_fit: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.itb u-boot-spl.bin + ./$(MKIMG) -soc QX -rev B0 -dev flexspi -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.itb at $$pad_cnt KB"; \ + dd if=u-boot-atf.itb of=flash.bin bs=1K seek=$$pad_cnt; \ + rm -f u-boot-atf.itb; + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_spl_flexspi_container: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-spl.bin u-boot-atf-container.img + ./$(MKIMG) -soc QX -rev B0 -dev flexspi -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf-container.img at $$pad_cnt KB"; \ + dd if=u-boot-atf-container.img of=flash.bin bs=1K seek=$$pad_cnt; + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_spl_flexspi: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin u-boot-spl.bin + ./$(MKIMG) -soc QX -rev B0 -dev flexspi -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x400 - 1) / 0x400)); \ + echo "append u-boot-atf.bin at $$pad_cnt KB"; \ + dd if=u-boot-atf.bin of=flash.bin bs=1K seek=$$pad_cnt + ./$(QSPI_PACKER) $(QSPI_HEADER) + +flash_nand_spl: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin u-boot-spl.bin + ./$(MKIMG) -soc QX -rev B0 -dev nand 16K -dcd skip -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-spl.bin a35 0x00100000 -out flash.bin + @flashbin_size=`wc -c flash.bin | awk '{print $$1}'`; \ + pad_cnt=$$(((flashbin_size + 0x4000 - 1) / 0x4000)); page=16;\ + echo "append u-boot-atf.bin at $$((pad_cnt * page)) a $$pad_cnt b $$page KB"; \ + dd if=u-boot-atf.bin of=flash.bin bs=1K seek=$$((pad_cnt * page)) + +flash_all flash_b0_all: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin CM4.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + +flash_all_trusty flash_b0_all_trusty: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin CM4.bin tee.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -data tee.bin 0x84000000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + +flash_ddrstress flash_b0_ddrstress: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin mx8qx_ddr_stress_test.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -flags 0x00800000 -scfw scfw_tcm.bin -ap mx8qxb0_ddr_stress_test.bin a35 0x00100000 -out flash.bin + +flash_test_build_nand_4K flash_b0_test_build_nand_4K: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot.bin CM4.bin + ./$(MKIMG) -soc QX -rev B0 -dev nand 4K -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot.bin a35 0x80000000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + +flash_test_build_nand_8K flash_b0_test_build_nand_8K: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot.bin CM4.bin + ./$(MKIMG) -soc QX -rev B0 -dev nand 8K -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot.bin a35 0x80000000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + +flash_test_build_nand_16K flash_b0_test_build_nand_16K: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot.bin CM4.bin + ./$(MKIMG) -soc QX -rev B0 -dev nand 16K -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot.bin a35 0x80000000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + +flash_test_build flash_b0_test_build: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot.bin CM4.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot.bin a35 0x80000000 -m4 CM4.bin 0 0x34FE0000 -out flash.bin + +flash_scfw flash_b0_scfw: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin + ./$(MKIMG) -soc QX -rev B0 -dcd skip -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -out flash.bin + +flash_secofw flash_b0_secofw: $(MKIMG) ahabfw.bin + ./$(MKIMG) -soc QX -rev B0 -c -seco ahabfw.bin -out flash.bin + +flash_msg_block: + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -msg_blk test_block.bin field 0x83000000 -out flash.bin + +flash_linux flash_b0_linux: $(MKIMG) Image fsl-imx8qxp-lpddr4-arm2.dtb + ./$(MKIMG) -soc QX -rev B0 -c -ap Image a35 0x80280000 --data fsl-imx8qxp-lpddr4-arm2.dtb 0x83000000 -out flash.bin + +flash_test_build_mfg flash_b0_test_build_mfg: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin dummy_ddr.bin u-boot.bin CM4.bin kernel.bin initramfs.bin board.dtb + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot.bin a35 0x80000000 -m4 CM4.bin 0 0x34FE0000 -data kernel.bin 0x80280000 -data initramfs.bin 0x83100000 -data board.dtb 0x83000000 -out flash.bin + +flash_mfg flash_b0_mfg: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin Image fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot board.dtb Image0 Image1 + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -data board.dtb 0x83000000 -data fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot 0x83100000 -data Image0 0x80280000 -data Image1 0x80c80000 -out flash_mfg.bin + +flash_nand_mfg flash_nand_b0_mfg: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin Image fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot board-nand.dtb Image0 Image1 + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -data board-nand.dtb 0x83000000 -data fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot 0x83100000 -data Image0 0x80280000 -data Image1 0x80c80000 -out flash_mfg.bin + +flash_all_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m4_image.bin u-boot-atf.bin scd.bin csf.bin csf_ap.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -m4 m4_image.bin 0 0x34FE0000 -scd scd.bin -csf csf.bin -c -ap u-boot-atf.bin a35 0x80000000 -csf csf_ap.bin -out flash.bin + +flash_ca35_ddrstress_a0: $(MKIMG) scfw_tcm.bin mx8qx_ddr_stress_test.bin + ./$(MKIMG) -soc QX -c -flags 0x00800000 -scfw scfw_tcm.bin -c -ap mx8qx_ddr_stress_test.bin a35 0x00112000 -out flash.bin + +flash_ca35_ddrstress_dcd_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin mx8qx_ddr_stress_test.bin + ./$(MKIMG) -soc QX -c -flags 0x00800000 -dcd $(DCD_CFG) -scfw scfw_tcm.bin -c -ap mx8qx_ddr_stress_test.bin a35 0x00112000 -out flash.bin + +flash_cm4ddr_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin m4_image.bin + ./$(MKIMG) -soc QX -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -p1 -m4 m4_image.bin 0 0x88000000 -out flash.bin + +flash_fastboot_a0: $(MKIMG) $(DCD_CFG) scfw_tcm.bin u-boot-atf.bin + ./$(MKIMG) -soc QX -dev emmc_fast -c -dcd $(DCD_CFG) -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -out flash.bin + +flash_linux_m4: $(MKIMG) mx8qx-ahab-container.img scfw_tcm.bin u-boot-atf.bin m4_image.bin + ./$(MKIMG) -soc QX -rev B0 -append mx8qx-ahab-container.img -c -flags 0x00200000 -scfw scfw_tcm.bin -ap u-boot-atf.bin a35 0x80000000 -p3 -m4 m4_image.bin 0 0x34FE0000 -out flash.bin + +nightly : + @rm -rf boot + @echo "Pulling nightly for Validation board from $(SERVER)/$(DIR)" + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/mx8qx-ahab-container.img -O mx8qx-ahab-container.img + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/mx8qx-val-scfw-tcm.bin -O scfw_tcm.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/bl31-imx8qxp.bin -O bl31.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/u-boot-imx8qxplpddr4arm2.bin-sd -O u-boot.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/CM4.bin -O u-boot.bin -O CM4.bin + @$(WGET) -qr -nd -l1 -np $(SERVER)/$(DIR)/imx_dtbs -P boot -A "Image-fsl-imx8qxp-*.dtb" + @$(WGET) -q $(SERVER)/$(DIR)/Image-imx8_all.bin -O Image + @mv -f Image boot + @$(RENAME) "Image-" "" boot/*.dtb + +nightly_mek : + @rm -rf boot + @echo "Pulling nightly for MEK board from $(SERVER)/$(DIR)" + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/mx8qx-ahab-container.img -O mx8qx-ahab-container.img + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/mx8qx-mek-scfw-tcm.bin -O scfw_tcm.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/bl31-imx8qxp.bin -O bl31.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/u-boot-imx8qxpmek.bin-sd -O u-boot.bin + @$(WGET) -q $(SERVER)/$(DIR)/imx-boot/imx-boot-tools/imx8qx/CM4.bin -O u-boot.bin -O CM4.bin + @$(WGET) -qr -nd -l1 -np $(SERVER)/$(DIR)/imx_dtbs -P boot -A "Image-fsl-imx8qxp-*.dtb" + @$(WGET) -q $(SERVER)/$(DIR)/Image-imx8_all.bin -O Image + @mv -f Image boot + @$(RENAME) "Image-" "" boot/*.dtb + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/imx8dv_dcd.cfg b/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/imx8dv_dcd.cfg new file mode 100644 index 0000000..3c38ee5 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/imx8dv_dcd.cfg @@ -0,0 +1,346 @@ +/* + * Copyright (C) 2016 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + * + * Refer doc/README.imximage for more details about how-to configure + * and create imximage boot image + * + * The syntax is taken as close as possible with the kwbimage + */ +/* image version */ + +#define __ASSEMBLY__ + +IMAGE_VERSION 2 + +/* + * Boot Device : + * sd/mmc: flash_offset: 0x4000 + */ +BOOT_OFFSET 0x4000 + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +DATA 4 0x41B60500 0x07C03E00 +DATA 4 0x41B80500 0x07C03E00 +DATA 4 0x41E20500 0x07C03E00 +DATA 4 0x41E40500 0x07C03E00 + +DATA 4 0x5C000000 0x03040008 +DATA 4 0x5C0001A0 0x80400003 +DATA 4 0x5C0001A4 0x00010002 +DATA 4 0x5C0001A8 0x80100020 + +DATA 4 0x5C000050 0x00210000 +DATA 4 0x5C000064 0x00300054 + +DATA 4 0x5C0000D0 0x00010001 +DATA 4 0x5C0000DC 0x0043001A +DATA 4 0x5C0000E0 0x00020000 +DATA 4 0x5C0000E4 0x00190008 +DATA 4 0x5C0000F4 0x0000033F +DATA 4 0x5C000100 0x0C141A11 +/* Update tRC */ +DATA 4 0x5C000104 0x0003031A +/* Update WR2RD */ +DATA 4 0x5C000108 0x03060809 +DATA 4 0x5C00010C 0x0100600C +/* Update Update tCCD and tRP */ +DATA 4 0x5C000110 0x0802040A +DATA 4 0x5C000114 0x02020606 +DATA 4 0x5C000118 0x02020004 +DATA 4 0x5C00011C 0x00000202 +DATA 4 0x5C000120 0x00000008 +DATA 4 0x5C000138 0x00000058 +DATA 4 0x5C000180 0x20900024 +DATA 4 0x5C000184 0x01400100 +DATA 4 0x5C000190 0x020A8205 +DATA 4 0x5C000194 0x00030303 +DATA 4 0x5C000200 0x00000016 +DATA 4 0x5C000204 0x00080808 +DATA 4 0x5C000214 0x07070707 +DATA 4 0x5C000218 0x0F070707 +DATA 4 0x5C000240 0x06000601 +DATA 4 0x5C000244 0x00001323 +DATA 4 0x5C000250 0x00001F05 +DATA 4 0x5C000254 0x00000080 +DATA 4 0x5C000274 0x00000010 +DATA 4 0x5C000490 0x00000001 +DATA 4 0x5C000494 0x01120E07 +DATA 4 0x5C000498 0x00000070 +DATA 4 0x5C000540 0x00000001 +DATA 4 0x5C000544 0x01120E07 +DATA 4 0x5C000548 0x00000070 +DATA 4 0x5C0005F0 0x00000001 +DATA 4 0x5C0005F4 0x01120E07 +DATA 4 0x5C0005F8 0x00000070 +DATA 4 0x5C0006A0 0x00000001 +DATA 4 0x5C0006A4 0x01120E07 +DATA 4 0x5C0006A8 0x00000020 +DATA 4 0x5C020000 0x03040008 +DATA 4 0x5C0201A0 0x80400003 +DATA 4 0x5C0201A4 0x00010002 +DATA 4 0x5C0201A8 0x80100020 + +DATA 4 0x5C020050 0x00210000 +DATA 4 0x5C020064 0x00300054 + +DATA 4 0x5C0200D0 0x00010001 +DATA 4 0x5C0200DC 0x0043001A +DATA 4 0x5C0200E0 0x00020000 +DATA 4 0x5C0200E4 0x00190008 +DATA 4 0x5C0200F4 0x0000033F +DATA 4 0x5C020100 0x0C141A11 +/* Update tRC */ +DATA 4 0x5C020104 0x0003031A +/* Update WR2RD */ +DATA 4 0x5C020108 0x03060809 +DATA 4 0x5C02010C 0x0100600C +/* Update Update tCCD and tRP */ +DATA 4 0x5C020110 0x0802040A +DATA 4 0x5C020114 0x02020606 +DATA 4 0x5C020118 0x02020004 +DATA 4 0x5C02011C 0x00000202 +DATA 4 0x5C020120 0x00000008 +DATA 4 0x5C020138 0x00000058 +DATA 4 0x5C020180 0x20900024 +DATA 4 0x5C020184 0x01400100 +DATA 4 0x5C020190 0x020A8205 +DATA 4 0x5C020194 0x00030303 +DATA 4 0x5C020200 0x00000016 +DATA 4 0x5C020204 0x00080808 +DATA 4 0x5C020214 0x07070707 +DATA 4 0x5C020218 0x0F070707 +DATA 4 0x5C020240 0x06000601 +DATA 4 0x5C020244 0x00001323 +DATA 4 0x5C020250 0x00001F05 +DATA 4 0x5C020254 0x00000080 +DATA 4 0x5C020274 0x00000010 +DATA 4 0x5C020490 0x00000001 +DATA 4 0x5C020494 0x01120E07 +DATA 4 0x5C020498 0x00000070 +DATA 4 0x5C020540 0x00000001 +DATA 4 0x5C020544 0x01120E07 +DATA 4 0x5C020548 0x00000070 +DATA 4 0x5C0205F0 0x00000001 +DATA 4 0x5C0205F4 0x01120E07 +DATA 4 0x5C0205F8 0x00000070 +DATA 4 0x5C0206A0 0x00000001 +DATA 4 0x5C0206A4 0x01120E07 +DATA 4 0x5C0206A8 0x00000020 +DATA 4 0x41B60040 0xFFFFFFFF +DATA 4 0x41B80040 0xFFFFFFFF +DATA 4 0x5C010000 0x17421E40 +DATA 4 0x5C010004 0x20210100 +DATA 4 0x5C010008 0x00010004 +DATA 4 0x5C010010 0x0007080C +DATA 4 0x5C01009C 0x0DB60DB6 +DATA 4 0x5C0100C0 0x0C487304 +DATA 4 0x5C0100C0 0x0C4C7304 +DATA 4 0x5C0100C0 0x0C4C7306 + +CHECK_BITS_SET 4 0x5c0100c4 1 + +DATA 4 0x5C0100C0 0x0C487304 + +DATA 4 0x5C0100B0 0x1010007E +DATA 4 0x5C01001C 0x00010000 + +DATA 4 0x5C010020 0x00000000 +DATA 4 0x5C010030 0x08080808 + +DATA 4 0x5C010050 0x01000008 +DATA 4 0x5C010050 0x00000008 +DATA 4 0x5C010018 0x0000000F +DATA 4 0x5C030000 0x17421E40 +DATA 4 0x5C030004 0x20210100 +DATA 4 0x5C030008 0x00010004 +DATA 4 0x5C030010 0x0007080C +DATA 4 0x5C03009C 0x0DB60DB6 +DATA 4 0x5C0300C0 0x0C487304 +DATA 4 0x5C0300C0 0x0C4C7304 +DATA 4 0x5C0300C0 0x0C4C7306 + +CHECK_BITS_SET 4 0x5c0300c4 1 + +DATA 4 0x5C0300C0 0x0C487304 + +DATA 4 0x5C0300B0 0x1010007E +DATA 4 0x5C03001C 0x00010000 + +DATA 4 0x5C030020 0x00000000 +DATA 4 0x5C030030 0x08080808 + +DATA 4 0x5C030050 0x01000008 +DATA 4 0x5C030050 0x00000008 +DATA 4 0x5C030018 0x0000000F +DATA 4 0x5C060000 0x03040008 +DATA 4 0x5C0601A0 0x80400003 +DATA 4 0x5C0601A4 0x00010002 +DATA 4 0x5C0601A8 0x80100020 + +DATA 4 0x5C060050 0x00210000 +DATA 4 0x5C060064 0x00300054 + +DATA 4 0x5C0600D0 0x00010001 +DATA 4 0x5C0600DC 0x0043001A +DATA 4 0x5C0600E0 0x00020000 +DATA 4 0x5C0600E4 0x00190008 +DATA 4 0x5C0600F4 0x0000033F +DATA 4 0x5C060100 0x0C141A11 +/* Update tRC */ +DATA 4 0x5C060104 0x0003031A +/* Update WR2RD */ +DATA 4 0x5C060108 0x03060809 +DATA 4 0x5C06010C 0x0100600C +/* Update Update tCCD and tRP */ +DATA 4 0x5C060110 0x0802040A +DATA 4 0x5C060114 0x02020606 +DATA 4 0x5C060118 0x02020004 +DATA 4 0x5C06011C 0x00000202 +DATA 4 0x5C060120 0x00000008 +DATA 4 0x5C060138 0x00000058 +DATA 4 0x5C060180 0x20900024 +DATA 4 0x5C060184 0x01400100 +DATA 4 0x5C060190 0x020A8205 +DATA 4 0x5C060194 0x00030303 +DATA 4 0x5C060200 0x00000016 +DATA 4 0x5C060204 0x00080808 +DATA 4 0x5C060214 0x07070707 +DATA 4 0x5C060218 0x0F070707 +DATA 4 0x5C060240 0x06000601 +DATA 4 0x5C060244 0x00001323 +DATA 4 0x5C060250 0x00001F05 +DATA 4 0x5C060254 0x00000080 +DATA 4 0x5C060274 0x00000010 +DATA 4 0x5C060490 0x00000001 +DATA 4 0x5C060494 0x01120E07 +DATA 4 0x5C060498 0x00000070 +DATA 4 0x5C060540 0x00000001 +DATA 4 0x5C060544 0x01120E07 +DATA 4 0x5C060548 0x00000070 +DATA 4 0x5C0605F0 0x00000001 +DATA 4 0x5C0605F4 0x01120E07 +DATA 4 0x5C0605F8 0x00000070 +DATA 4 0x5C0606A0 0x00000001 +DATA 4 0x5C0606A4 0x01120E07 +DATA 4 0x5C0606A8 0x00000020 +DATA 4 0x5C080000 0x03040008 +DATA 4 0x5C0801A0 0x80400003 +DATA 4 0x5C0801A4 0x00010002 +DATA 4 0x5C0801A8 0x80100020 + +DATA 4 0x5C080050 0x00210000 +DATA 4 0x5C080064 0x00300054 + +DATA 4 0x5C0800D0 0x00010001 +DATA 4 0x5C0800DC 0x0043001A +DATA 4 0x5C0800E0 0x00020000 +DATA 4 0x5C0800E4 0x00190008 +DATA 4 0x5C0800F4 0x0000033F +DATA 4 0x5C080100 0x0C141A11 +/* Update tRC */ +DATA 4 0x5C080104 0x0003031A +/* Update WR2RD */ +DATA 4 0x5C080108 0x03060809 +DATA 4 0x5C08010C 0x0100600C +/* Update Update tCCD and tRP */ +DATA 4 0x5C080110 0x0802040A +DATA 4 0x5C080114 0x02020606 +DATA 4 0x5C080118 0x02020004 +DATA 4 0x5C08011C 0x00000202 +DATA 4 0x5C080120 0x00000008 +DATA 4 0x5C080138 0x00000058 +DATA 4 0x5C080180 0x20900024 +DATA 4 0x5C080184 0x01400100 +DATA 4 0x5C080190 0x020A8205 +DATA 4 0x5C080194 0x00030303 +DATA 4 0x5C080200 0x00000016 +DATA 4 0x5C080204 0x00080808 +DATA 4 0x5C080214 0x07070707 +DATA 4 0x5C080218 0x0F070707 +DATA 4 0x5C080240 0x06000601 +DATA 4 0x5C080244 0x00001323 +DATA 4 0x5C080250 0x00001F05 +DATA 4 0x5C080254 0x00000080 +DATA 4 0x5C080274 0x00000010 +DATA 4 0x5C080490 0x00000001 +DATA 4 0x5C080494 0x01120E07 +DATA 4 0x5C080498 0x00000070 +DATA 4 0x5C080540 0x00000001 +DATA 4 0x5C080544 0x01120E07 +DATA 4 0x5C080548 0x00000070 +DATA 4 0x5C0805F0 0x00000001 +DATA 4 0x5C0805F4 0x01120E07 +DATA 4 0x5C0805F8 0x00000070 +DATA 4 0x5C0806A0 0x00000001 +DATA 4 0x5C0806A4 0x01120E07 +DATA 4 0x5C0806A8 0x00000020 +DATA 4 0x41E40040 0xFFFFFFFF +DATA 4 0x41E20040 0xFFFFFFFF +DATA 4 0x5C070000 0x17421E40 +DATA 4 0x5C070004 0x20210100 +DATA 4 0x5C070008 0x00010004 +DATA 4 0x5C070010 0x0007080C +DATA 4 0x5C07009C 0x0DB60DB6 +DATA 4 0x5C0700C0 0x0C487304 +DATA 4 0x5C0700C0 0x0C4C7304 +DATA 4 0x5C0700C0 0x0C4C7306 + +CHECK_BITS_SET 4 0x5c0700c4 1 + +DATA 4 0x5C0700C0 0x0C487304 + +DATA 4 0x5C0700B0 0x1010007E +DATA 4 0x5C07001C 0x00010000 + +DATA 4 0x5C070020 0x00000000 +DATA 4 0x5C070030 0x08080808 + +DATA 4 0x5C070050 0x01000008 +DATA 4 0x5C070050 0x00000008 +DATA 4 0x5C070018 0x0000000F +DATA 4 0x5C090000 0x17421E40 +DATA 4 0x5C090004 0x20210100 +DATA 4 0x5C090008 0x00010004 +DATA 4 0x5C090010 0x0007080C +DATA 4 0x5C09009C 0x0DB60DB6 +DATA 4 0x5C0900C0 0x0C487304 +DATA 4 0x5C0900C0 0x0C4C7304 +DATA 4 0x5C0900C0 0x0C4C7306 + +CHECK_BITS_SET 4 0x5c0900c4 1 + +DATA 4 0x5C0900C0 0x0C487304 + +DATA 4 0x5C0900B0 0x1010007E +DATA 4 0x5C09001C 0x00010000 + +DATA 4 0x5C090020 0x00000000 +DATA 4 0x5C090030 0x08080808 + +DATA 4 0x5C090050 0x01000008 +DATA 4 0x5C090050 0x00000008 +DATA 4 0x5C090018 0x0000000F + +DATA 4 0x41B60504 0x01000100 +CHECK_BITS_SET 4 0x5c000004 1 +DATA 4 0x41E40504 0x01000100 +CHECK_BITS_SET 4 0x5c060004 1 +DATA 4 0x41B80504 0x01000100 +CHECK_BITS_SET 4 0x5c020004 1 +DATA 4 0x41E20504 0x01000100 +CHECK_BITS_SET 4 0x5c080004 1 + +DATA 4 0x33BA0510 0x00000000 diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/mkimage_imx8.c b/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/mkimage_imx8.c new file mode 100755 index 0000000..ae26f88 --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/mkimage_imx8.c @@ -0,0 +1,875 @@ +/* + * Copyright (C) 2016 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + * derived from u-boot's mkimage utility + * + */ + +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +typedef struct { + uint32_t addr; + uint32_t value; +} dcd_addr_data_t; + +typedef struct { + uint8_t tag; + uint16_t length; + uint8_t version; +} __attribute__((packed)) ivt_header_t; + +typedef struct { + uint8_t tag; + uint16_t length; + uint8_t param; +} __attribute__((packed)) write_dcd_command_t; + +#define MAX_NUM_IMGS 3 +#define MAX_HW_CFG_SIZE_V2 359 +struct dcd_v2_cmd { + write_dcd_command_t write_dcd_command; /*4*/ + dcd_addr_data_t addr_data[MAX_HW_CFG_SIZE_V2]; /*2872*/ +} __attribute__((packed)); + +typedef struct { + ivt_header_t header; /*4*/ + struct dcd_v2_cmd dcd_cmd; /*2876*/ +} __attribute__((packed)) dcd_v2_t; /*2880*/ + +typedef struct { + uint64_t src; /*8*/ + uint64_t dst; /*8*/ + uint64_t entry; /*8*/ + uint32_t size; /*4*/ + uint32_t flags; /*4*/ +} __attribute__((packed)) boot_img_t;; /*32*/ + +#define CORE_SC 1 +#define CORE_CM4_0 2 +#define CORE_CM4_1 3 +#define CORE_CA53 4 +#define CORE_CA72 5 + +#define BOOT_IMG_FLAGS_CORE_MASK 0xF +#define BOOT_IMG_FLAGS_CPU_RID_MASK 0x3FF0 +#define BOOT_IMG_FLAGS_CPU_RID_SHIFT 4 +#define BOOT_IMG_FLAGS_MU_RID_MASK 0xFFC000 +#define BOOT_IMG_FLAGS_MU_RID_SHIFT 14 +#define BOOT_IMG_FLAGS_PARTITION_ID_MASK 0x1F000000 +#define BOOT_IMG_FLAGS_PARTITION_ID_SHIFT 24 + +#define SC_R_A53_0 1 +#define SC_R_A72_0 6 +#define SC_R_MU_0A 213 +#define SC_R_M4_0_PID0 278 +#define SC_R_M4_0_MU_1A 297 +#define SC_R_M4_1_PID0 298 +#define SC_R_M4_1_MU_1A 317 +#define PARTITION_ID_M4 0 +#define PARTITION_ID_AP 1 + +typedef struct { + uint32_t num_images; /*4*/ + uint32_t bd_size; /*4*/ + uint32_t bd_flags; /*4*/ + uint32_t reserved; /*4*/ + boot_img_t img[MAX_NUM_IMGS]; /*96*/ + uint32_t padding[4]; /* end up on an 8-byte boundary */ +} __attribute__((packed)) boot_data_v3_t; /*128*/ + +typedef struct { + ivt_header_t header; /*4*/ + uint32_t reserved1; /*4*/ + uint64_t dcd_ptr; /*8*/ + uint64_t boot_data_ptr; /*8*/ + uint64_t self; /*8*/ + uint64_t csf; /*8*/ + uint64_t scd; /*8*/ + uint64_t reserved2; /*8*/ + uint64_t reserved3; /*8*/ +} __attribute__((packed)) flash_header_v3_t; /*64*/ + +typedef struct { + flash_header_v3_t fhdr; /*64*/ + boot_data_v3_t boot_data; /*128*/ + dcd_v2_t dcd_table; /*2880*/ +} __attribute__((packed)) imx_header_v3_t; /*3072*/ + +/* Command tags and parameters */ +#define IVT_HEADER_TAG 0xD1 +#define IVT_VERSION 0x43 +#define DCD_HEADER_TAG 0xD2 +#define DCD_VERSION 0x43 +#define DCD_WRITE_DATA_COMMAND_TAG 0xCC +#define DCD_WRITE_DATA_PARAM 0x4 +#define DCD_WRITE_CLR_BIT_PARAM 0xC +#define DCD_CHECK_DATA_COMMAND_TAG 0xCF +#define DCD_CHECK_BITS_SET_PARAM 0x14 +#define DCD_CHECK_BITS_CLR_PARAM 0x04 + +#define ALIGN(x,a) __ALIGN_MASK((x),(__typeof__(x))(a)-1) +#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) + +#define uswap_16(x) \ + ((((x) & 0xff00) >> 8) | \ + (((x) & 0x00ff) << 8)) +#define uswap_32(x) \ + ((((x) & 0xff000000) >> 24) | \ + (((x) & 0x00ff0000) >> 8) | \ + (((x) & 0x0000ff00) << 8) | \ + (((x) & 0x000000ff) << 24)) +#define _uswap_64(x, sfx) \ + ((((x) & 0xff00000000000000##sfx) >> 56) | \ + (((x) & 0x00ff000000000000##sfx) >> 40) | \ + (((x) & 0x0000ff0000000000##sfx) >> 24) | \ + (((x) & 0x000000ff00000000##sfx) >> 8) | \ + (((x) & 0x00000000ff000000##sfx) << 8) | \ + (((x) & 0x0000000000ff0000##sfx) << 24) | \ + (((x) & 0x000000000000ff00##sfx) << 40) | \ + (((x) & 0x00000000000000ff##sfx) << 56)) + +#if defined(__GNUC__) +# define uswap_64(x) _uswap_64(x, ull) +#else +#error +# define uswap_64(x) _uswap_64(x, ) +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +# define cpu_to_le16(x) (x) +# define cpu_to_le32(x) (x) +# define cpu_to_le64(x) (x) +# define le16_to_cpu(x) (x) +# define le32_to_cpu(x) (x) +# define le64_to_cpu(x) (x) +# define cpu_to_be16(x) uswap_16(x) +# define cpu_to_be32(x) uswap_32(x) +# define cpu_to_be64(x) uswap_64(x) +# define be16_to_cpu(x) uswap_16(x) +# define be32_to_cpu(x) uswap_32(x) +# define be64_to_cpu(x) uswap_64(x) +#else +#error +# define cpu_to_le16(x) uswap_16(x) +# define cpu_to_le32(x) uswap_32(x) +# define cpu_to_le64(x) uswap_64(x) +# define le16_to_cpu(x) uswap_16(x) +# define le32_to_cpu(x) uswap_32(x) +# define le64_to_cpu(x) uswap_64(x) +# define cpu_to_be16(x) (x) +# define cpu_to_be32(x) (x) +# define cpu_to_be64(x) (x) +# define be16_to_cpu(x) (x) +# define be32_to_cpu(x) (x) +# define be64_to_cpu(x) (x) +#endif + +#define UNDEFINED 0xFFFFFFFF + +static void +copy_file (int ifd, const char *datafile, int pad, int offset) +{ + int dfd; + struct stat sbuf; + unsigned char *ptr; + int tail; + int zero = 0; + uint8_t zeros[4096]; + int size; + + memset(zeros, 0, sizeof(zeros)); + + if ((dfd = open(datafile, O_RDONLY|O_BINARY)) < 0) { + fprintf (stderr, "Can't open %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + if (fstat(dfd, &sbuf) < 0) { + fprintf (stderr, "Can't stat %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, dfd, 0); + if (ptr == MAP_FAILED) { + fprintf (stderr, "Can't read %s: %s\n", + datafile, strerror(errno)); + exit (EXIT_FAILURE); + } + + size = sbuf.st_size; + lseek(ifd, offset, SEEK_SET); + if (write(ifd, ptr, size) != size) { + fprintf (stderr, "Write error %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + + tail = size % 4; + pad = pad - size; + if ((pad == 1) && (tail != 0)) { + + if (write(ifd, (char *)&zero, 4-tail) != 4-tail) { + fprintf (stderr, "Write error on %s\n", + strerror(errno)); + exit (EXIT_FAILURE); + } + } else if (pad > 1) { + while (pad > 0) { + int todo = sizeof(zeros); + + if (todo > pad) + todo = pad; + if (write(ifd, (char *)&zeros, todo) != todo) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + } + pad -= todo; + } + } + + (void) munmap((void *)ptr, sbuf.st_size); + (void) close (dfd); +} + +enum imximage_fld_types { + CFG_INVALID = -1, + CFG_COMMAND, + CFG_REG_SIZE, + CFG_REG_ADDRESS, + CFG_REG_VALUE +}; + +enum imximage_cmd { + CMD_INVALID, + CMD_IMAGE_VERSION, + CMD_BOOT_FROM, + CMD_BOOT_OFFSET, + CMD_WRITE_DATA, + CMD_WRITE_CLR_BIT, + CMD_CHECK_BITS_SET, + CMD_CHECK_BITS_CLR, + CMD_CSF, + CMD_PLUGIN, +}; + +typedef struct table_entry { + int id; + char *sname; /* short (input) name to find table entry */ + char *lname; /* long (output) name to print for messages */ +} table_entry_t; + +/* + * Supported commands for configuration file + */ +static table_entry_t imximage_cmds[] = { + {CMD_BOOT_FROM, "BOOT_FROM", "boot command", }, + {CMD_BOOT_OFFSET, "BOOT_OFFSET", "Boot offset", }, + {CMD_WRITE_DATA, "DATA", "Reg Write Data", }, + {CMD_WRITE_CLR_BIT, "CLR_BIT", "Reg clear bit", }, + {CMD_CHECK_BITS_SET, "CHECK_BITS_SET", "Reg Check bits set", }, + {CMD_CHECK_BITS_CLR, "CHECK_BITS_CLR", "Reg Check bits clr", }, + {CMD_CSF, "CSF", "Command Sequence File", }, + {CMD_IMAGE_VERSION, "IMAGE_VERSION", "image version", }, + {-1, "", "", }, +}; + +static uint32_t imximage_version; +static struct dcd_v2_cmd *gd_last_cmd; +static uint32_t imximage_ivt_offset = UNDEFINED; +static uint32_t imximage_csf_size = UNDEFINED; + +int get_table_entry_id(const table_entry_t *table, + const char *table_name, const char *name) +{ + const table_entry_t *t; + + for (t = table; t->id >= 0; ++t) { + if (t->sname && strcasecmp(t->sname, name) == 0) + return (t->id); + } + + return -1; +} + +static uint32_t get_cfg_value(char *token, char *name, int linenr) +{ + char *endptr; + uint32_t value; + + errno = 0; + value = strtoul(token, &endptr, 16); + if (errno || (token == endptr)) { + fprintf(stderr, "Error: %s[%d] - Invalid hex data(%s)\n", + name, linenr, token); + exit(EXIT_FAILURE); + } + return value; +} + +static void set_imx_hdr_v3(imx_header_v3_t *imxhdr, uint32_t dcd_len, + uint32_t flash_offset) +{ + flash_header_v3_t *fhdr_v3 = &imxhdr->fhdr; + uint32_t hdr_base = 0; + + /* Set magic number */ + fhdr_v3->header.tag = IVT_HEADER_TAG; /* 0xD1 */ + fhdr_v3->header.length = cpu_to_be16(sizeof(flash_header_v3_t)); + fhdr_v3->header.version = IVT_VERSION; /* 0x40 */ + + fhdr_v3->reserved1 = fhdr_v3->reserved2 = fhdr_v3->reserved3 = 0; + + fhdr_v3->self = hdr_base; + if (dcd_len > 0) + fhdr_v3->dcd_ptr = hdr_base + + offsetof(imx_header_v3_t, dcd_table); + else + fhdr_v3->dcd_ptr = 0; + fhdr_v3->boot_data_ptr = hdr_base + + offsetof(imx_header_v3_t, boot_data); + + fhdr_v3->csf = 0; +} + +static void set_dcd_param_v2(imx_header_v3_t *imxhdr, uint32_t dcd_len, + int32_t cmd) +{ + dcd_v2_t *dcd_v2 = &imxhdr->dcd_table; + struct dcd_v2_cmd *d = gd_last_cmd; + struct dcd_v2_cmd *d2; + int len; + + if (!d) + d = &dcd_v2->dcd_cmd; + d2 = d; + len = be16_to_cpu(d->write_dcd_command.length); + if (len > 4) + d2 = (struct dcd_v2_cmd *)(((char *)d) + len); + + switch (cmd) { + case CMD_WRITE_DATA: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_DATA_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_DATA_PARAM; + break; + case CMD_WRITE_CLR_BIT: + if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) && + (d->write_dcd_command.param == DCD_WRITE_CLR_BIT_PARAM)) + break; + d = d2; + d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_WRITE_CLR_BIT_PARAM; + break; + /* + * Check data command only supports one entry, + */ + case CMD_CHECK_BITS_SET: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_BITS_SET_PARAM; + break; + case CMD_CHECK_BITS_CLR: + d = d2; + d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG; + d->write_dcd_command.length = cpu_to_be16(4); + d->write_dcd_command.param = DCD_CHECK_BITS_CLR_PARAM; + break; + default: + break; + } + gd_last_cmd = d; +} + +static void set_dcd_val_v2(imx_header_v3_t *imxhdr, char *name, int lineno, + int fld, uint32_t value, uint32_t off) +{ + struct dcd_v2_cmd *d = gd_last_cmd; + int len; + + len = be16_to_cpu(d->write_dcd_command.length); + off = (len - 4) >> 3; + + switch (fld) { + case CFG_REG_ADDRESS: + d->addr_data[off].addr = cpu_to_be32(value); + break; + case CFG_REG_VALUE: + d->addr_data[off].value = cpu_to_be32(value); + off++; + d->write_dcd_command.length = cpu_to_be16((off << 3) + 4); + break; + default: + break; + + } +} + +static void set_dcd_rst_v2(imx_header_v3_t *imxhdr, uint32_t dcd_len, + char *name, int lineno) +{ + dcd_v2_t *dcd_v2 = &imxhdr->dcd_table; + struct dcd_v2_cmd *d = gd_last_cmd; + int len; + + if (!d) + d = &dcd_v2->dcd_cmd; + len = be16_to_cpu(d->write_dcd_command.length); + if (len > 4) + d = (struct dcd_v2_cmd *)(((char *)d) + len); + + len = (char *)d - (char *)&dcd_v2->header; + + dcd_v2->header.tag = DCD_HEADER_TAG; + dcd_v2->header.length = cpu_to_be16(len); + dcd_v2->header.version = DCD_VERSION; +} + +static void parse_cfg_cmd(imx_header_v3_t *imxhdr, int32_t cmd, char *token, + char *name, int lineno, int fld, int dcd_len) +{ + int value; + static int cmd_ver_first = ~0; + + switch (cmd) { + case CMD_IMAGE_VERSION: + imximage_version = get_cfg_value(token, name, lineno); + if (cmd_ver_first == 0) { + fprintf(stderr, "Error: %s[%d] - IMAGE_VERSION " + "command need be the first before other " + "valid command in the file\n", name, lineno); + exit(EXIT_FAILURE); + } + cmd_ver_first = 1; + break; + case CMD_BOOT_OFFSET: + imximage_ivt_offset = get_cfg_value(token, name, lineno); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + case CMD_WRITE_DATA: + case CMD_WRITE_CLR_BIT: + case CMD_CHECK_BITS_SET: + case CMD_CHECK_BITS_CLR: + value = get_cfg_value(token, name, lineno); + set_dcd_param_v2(imxhdr, dcd_len, cmd); + set_dcd_val_v2(imxhdr, name, lineno, fld, value, dcd_len); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + case CMD_CSF: + if (imximage_version != 2) { + fprintf(stderr, + "Error: %s[%d] - CSF only supported for VERSION 2(%s)\n", + name, lineno, token); + exit(EXIT_FAILURE); + } + imximage_csf_size = get_cfg_value(token, name, lineno); + if (cmd_ver_first != 1) + cmd_ver_first = 0; + break; + } +} + +static void parse_cfg_fld(imx_header_v3_t *imxhdr, int32_t *cmd, + char *token, char *name, int lineno, int fld, int *dcd_len) +{ + int value; + + switch (fld) { + case CFG_COMMAND: + *cmd = get_table_entry_id(imximage_cmds, + "imximage commands", token); + if (*cmd < 0) { + fprintf(stderr, "Error: %s[%d] - Invalid command" + "(%s)\n", name, lineno, token); + exit(EXIT_FAILURE); + } + break; + case CFG_REG_SIZE: + parse_cfg_cmd(imxhdr, *cmd, token, name, lineno, fld, *dcd_len); + break; + case CFG_REG_ADDRESS: + case CFG_REG_VALUE: + switch(*cmd) { + case CMD_WRITE_DATA: + case CMD_WRITE_CLR_BIT: + case CMD_CHECK_BITS_SET: + case CMD_CHECK_BITS_CLR: + + value = get_cfg_value(token, name, lineno); + set_dcd_param_v2(imxhdr, *dcd_len, *cmd); + set_dcd_val_v2(imxhdr, name, lineno, fld, value, + *dcd_len); + + if (fld == CFG_REG_VALUE) { + (*dcd_len)++; + if (*dcd_len > MAX_HW_CFG_SIZE_V2) { + fprintf(stderr, "Error: %s[%d] -" + "DCD table exceeds maximum size(%d)\n", + name, lineno, MAX_HW_CFG_SIZE_V2); + exit(EXIT_FAILURE); + } + } + break; + default: + break; + } + break; + default: + break; + } +} + +static uint32_t parse_cfg_file(imx_header_v3_t *imxhdr, char *name) +{ + FILE *fd = NULL; + char *line = NULL; + char *token, *saveptr1, *saveptr2; + int lineno = 0; + int fld; + size_t len; + int dcd_len = 0; + int32_t cmd; + + fd = fopen(name, "r"); + if (fd == 0) { + fprintf(stderr, "Error: %s - Can't open DCD file\n", name); + exit(EXIT_FAILURE); + } + + /* + * Very simple parsing, line starting with # are comments + * and are dropped + */ + while ((getline(&line, &len, fd)) > 0) { + lineno++; + + token = strtok_r(line, "\r\n", &saveptr1); + if (token == NULL) + continue; + + /* Check inside the single line */ + for (fld = CFG_COMMAND, cmd = CMD_INVALID, + line = token; ; line = NULL, fld++) { + token = strtok_r(line, " \t", &saveptr2); + if (token == NULL) + break; + + /* Drop all text starting with '#' as comments */ + if (token[0] == '#') + break; + + parse_cfg_fld(imxhdr, &cmd, token, name, + lineno, fld, &dcd_len); + } + + } + + set_dcd_rst_v2(imxhdr, dcd_len, name, lineno); + fclose(fd); + + /* Exit if there is no BOOT_FROM field specifying the flash_offset */ + if (imximage_ivt_offset == UNDEFINED) { + fprintf(stderr, "Error: No BOOT_FROM tag in %s\n", name); + exit(EXIT_FAILURE); + } + return dcd_len; +} + +int main(int argc, char **argv) +{ + int c, scfw_file_size, cm4_file_size = 0, scfw_fd = -1, cm4_fd = -1, ap_fd = -1, ofd = -1; + unsigned int dcd_len = 0, cm4_core = 0, cm4_start_addr = 0, ap_start_addr = 0, ap_core = 0; + char *ofname=NULL, *scfw_img = NULL, *dcd_img = NULL, *cm4_img = NULL, *ap_img = NULL; + uint32_t flags = 0; + static imx_header_v3_t imx_header; + struct stat sbuf; + + static struct option long_options[] = + { + {"scfw", required_argument, NULL, 's'}, + {"m4", required_argument, NULL, 'm'}, + {"ap", required_argument, NULL, 'a'}, + {"dcd", required_argument, NULL, 'd'}, + {"out", required_argument, NULL, 'o'}, + {"flags", required_argument, NULL, 'f'}, + {NULL, 0, NULL, 0} + }; + + + //fprintf(stderr, "imx_header_v3_t size %lu boot_data_v3_t = %lu flash_header_v3_t = %lu\n", + // sizeof(imx_header_v3_t), sizeof(boot_data_v3_t), sizeof(flash_header_v3_t)); + + while(1) + { + /* getopt_long stores the option index here. */ + int option_index = 0; + + c = getopt_long_only (argc, argv, ":s:d:m:a:o:f:", + long_options, &option_index); + + /* Detect the end of the options. */ + if (c == -1) + break; + + switch (c) + { + case 0: + fprintf(stderr, "option %s", long_options[option_index].name); + if (optarg) + fprintf(stderr, " with arg %s", optarg); + fprintf(stderr, "\n"); + break; + case 's': + fprintf(stderr, "SCFW:\t%s\n", optarg); + scfw_img = optarg; + break; + case 'd': + fprintf(stderr, "DCD:\t%s\n", optarg); + dcd_img = optarg; + break; + case 'm': + fprintf(stderr, "CM4:\t%s", optarg); + cm4_img = optarg; + if ((optind < argc && *argv[optind] != '-') && (optind+1 < argc &&*argv[optind+1] != '-' )) { + cm4_core = strtol(argv[optind++], NULL, 0); + cm4_start_addr = (uint32_t) strtoll(argv[optind++], NULL, 0); + fprintf(stderr, "\tcore: %d", cm4_core); + fprintf(stderr, " addr: 0x%08x\n", cm4_start_addr); + } else { + fprintf(stderr, "\n-m4 option require THREE arguments: filename, core: 0/1, start address in hex\n\n"); + exit(1); + } + break; + case 'a': + fprintf(stderr, "AP:\t%s", optarg); + ap_img = optarg; + if ((optind < argc && *argv[optind] != '-') && (optind+1 < argc &&*argv[optind+1] != '-' )) { + if(!strncmp(argv[optind++], "a53", 3)) + ap_core = CORE_CA53; + else + ap_core = CORE_CA72; + + ap_start_addr = (uint32_t) strtoll(argv[optind++], NULL, 0); + + fprintf(stderr, "\tcore: %s", (ap_core == CORE_CA53)? "a53":"a72"); + fprintf(stderr, " addr: 0x%08x\n", ap_start_addr); + } else { + fprintf(stderr, "\n-ap option require THREE arguments: filename, a53/a72, start address in hex\n\n"); + exit(1); + } + break; + case 'f': + fprintf(stderr, "FLAG:\t%s\n", optarg); + flags = (uint32_t) strtoll(optarg, NULL, 0); + break; + case 'o': + fprintf(stderr, "Output:\t%s\n", optarg); + ofname = optarg; + break; + case ':': + fprintf(stderr, "option %c missing arguments\n", optopt); + break; + case '?': + default: + /* invalid option */ + fprintf(stderr, "option '%c' is invalid: ignored\n", + optopt); + exit(1); + } + } + + if((scfw_img == NULL) || (ofname == NULL)) + { + fprintf(stderr, "mandatory args scfw and output file name missing! abort\n"); + exit(1); + } + + scfw_fd = open(scfw_img, O_RDONLY | O_BINARY); + if (scfw_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + scfw_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(scfw_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + scfw_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(scfw_fd); + + if(dcd_img) { + dcd_len = parse_cfg_file(&imx_header, dcd_img); + fprintf(stderr, "dcd len = %d\n", dcd_len); + } + + set_imx_hdr_v3(&imx_header, dcd_len, 0); + + scfw_file_size = sbuf.st_size; + fprintf(stderr, "scfw size = %d\n", scfw_file_size); + + imx_header.boot_data.img[0].src = ALIGN(sizeof(imx_header_v3_t), 512); + imx_header.boot_data.img[0].dst = 0x30fe0000; + imx_header.boot_data.img[0].entry = 0x1ffe0000; + imx_header.boot_data.img[0].size = scfw_file_size; + imx_header.boot_data.img[0].flags = 0; + imx_header.boot_data.img[0].flags = (CORE_SC & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data.num_images++; + imx_header.boot_data.bd_size = sizeof(boot_data_v3_t); + imx_header.boot_data.bd_flags = flags; + + if(cm4_img) { + cm4_fd = open(cm4_img, O_RDONLY | O_BINARY); + if (cm4_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + cm4_img, strerror(errno)); + exit(EXIT_FAILURE); + } + + if (fstat(cm4_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + cm4_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(cm4_fd); + + cm4_file_size = sbuf.st_size; + //fprintf(stderr, "cm4 size = %d\n", (int)sbuf.st_size); + + imx_header.boot_data.img[1].src = imx_header.boot_data.img[0].src + ALIGN(scfw_file_size, 512); + imx_header.boot_data.img[1].dst = cm4_start_addr; + imx_header.boot_data.img[1].entry = cm4_start_addr; + imx_header.boot_data.img[1].size = sbuf.st_size; + imx_header.boot_data.num_images++; + + if(cm4_core == 0) { + if(cm4_start_addr == 0x38fe0000) { + fprintf(stderr, "! Invalid CM4_0 start address\n"); + exit(EXIT_FAILURE); + } + imx_header.boot_data.img[1].flags = (CORE_CM4_0 & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data.img[1].flags |= (SC_R_M4_0_PID0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + imx_header.boot_data.img[1].flags |= (SC_R_M4_0_MU_1A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + imx_header.boot_data.img[1].flags |= (PARTITION_ID_M4 << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + } + else { + if(cm4_start_addr == 0x34fe0000) { + fprintf(stderr, "! Invalid CM4_1 start address\n"); + exit(EXIT_FAILURE); + } + imx_header.boot_data.img[1].flags = (CORE_CM4_1 & BOOT_IMG_FLAGS_CORE_MASK); + imx_header.boot_data.img[1].flags |= (SC_R_M4_1_PID0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + imx_header.boot_data.img[1].flags |= (SC_R_M4_1_MU_1A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + imx_header.boot_data.img[1].flags |= (PARTITION_ID_M4 << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + } + } + + if((ap_core == CORE_CA72) || (ap_core == CORE_CA53)) + { + //printf("Note: Ignoring CM4_0 and CA53 images\n"); + //printf("Special case for DDR stress test tool\n"); + + if(strncmp(ap_img, "null", 4)) { + ap_fd = open(ap_img, O_RDONLY | O_BINARY); + if (ap_fd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + ap_img, strerror(errno)); + exit(EXIT_FAILURE); + } + if (fstat(ap_fd, &sbuf) < 0) { + fprintf(stderr, "%s: Can't stat: %s\n", + ap_img, strerror(errno)); + exit(EXIT_FAILURE); + } + close(ap_fd); + + imx_header.boot_data.img[2].src = imx_header.boot_data.img[0].src + ALIGN(scfw_file_size, 512) + ALIGN(cm4_file_size, 512); + imx_header.boot_data.img[2].dst = ap_start_addr; + imx_header.boot_data.img[2].size = sbuf.st_size; + imx_header.boot_data.img[2].entry = ap_start_addr; + imx_header.boot_data.num_images++; + //fprintf(stderr, "ap img size = %d\n", (int)sbuf.st_size); + } + else { + imx_header.boot_data.img[2].src = 0; + imx_header.boot_data.img[2].dst = 0; + imx_header.boot_data.img[2].size = 0; + imx_header.boot_data.img[2].entry = 0; + } + + imx_header.boot_data.img[2].flags = (ap_core & BOOT_IMG_FLAGS_CORE_MASK); + if (ap_core == CORE_CA53) + imx_header.boot_data.img[2].flags |= (SC_R_A53_0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + else + imx_header.boot_data.img[2].flags |= (SC_R_A72_0 << BOOT_IMG_FLAGS_CPU_RID_SHIFT); + + imx_header.boot_data.img[2].flags |= (SC_R_MU_0A << BOOT_IMG_FLAGS_MU_RID_SHIFT); + imx_header.boot_data.img[2].flags |= (PARTITION_ID_AP << BOOT_IMG_FLAGS_PARTITION_ID_SHIFT); + } + + /* Open output file */ + ofd = open (ofname, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666); + if (ofd < 0) { + fprintf(stderr, "%s: Can't open: %s\n", + ofname, strerror(errno)); + exit(EXIT_FAILURE); + } + + /* Write image header */ + if (write(ofd, &imx_header, sizeof(imx_header_v3_t)) != sizeof(imx_header_v3_t)) { + fprintf(stderr, "error writing image hdr\n"); + exit(1); + } + + /* Write SCFW after header */ + copy_file(ofd, scfw_img, 0, imx_header.boot_data.img[0].src); + + /* Write CM4 image after SCFW */ + if(cm4_img) { + copy_file(ofd, cm4_img, 0, imx_header.boot_data.img[1].src); + } + + /* Write AP image (if present) after CM4 */ + if(ap_img && strncmp(ap_img, "null", 4)) { + copy_file(ofd, ap_img, 0, imx_header.boot_data.img[2].src); + } + + /* Close output file */ + close(ofd); + + fprintf(stderr, "done.\n"); + + return 0; +} + diff --git a/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/soc.mak b/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/soc.mak new file mode 100644 index 0000000..97fd8da --- /dev/null +++ b/embedian/smarc-imx8mm/imx-mkimage/iMX8dv/soc.mak @@ -0,0 +1,25 @@ +MKIMG = mkimage_imx8 + +CC ?= gcc +CFLAGS ?= -O2 -Wall -std=c99 -static + +$(MKIMG): mkimage_imx8.c imx8dv_dcd.cfg + $(CC) -E -Wp,-MD,.imx8dv_dcd.cfg.cfgtmp.d -nostdinc -Iinclude -x c -o imx8dv_dcd.cfg.tmp imx8dv_dcd.cfg + $(CC) $(CFLAGS) -o $@ mkimage_imx8.c + +.PHONY: clean + +clean: + @rm -f mkimage_imx8 imx8dv_dcd.cfg.tmp .imx8dv_dcd.cfg.cfgtmp.d + +flash: $(MKIMG) + ./mkimage_imx8 -dcd imx8dv_dcd.cfg.tmp -scfw scfw_tcm.bin -ap u-boot.bin a53 0x80000000 -out flash.bin + +flash_ca72: $(MKIMG) + ./mkimage_imx8 -dcd imx8dv_dcd.cfg.tmp -scfw scfw_tcm.bin -ap u-boot.bin a72 0x80000000 -out flash.bin + +flash_cm4_0: $(MKIMG) + ./mkimage_imx8 -dcd imx8dv_dcd.cfg.tmp -scfw scfw_tcm.bin -m4 m4_image.bin 0 0x34FE0000 -out flash.bin + +flash_cm4_1: $(MKIMG) + ./mkimage_imx8 -dcd imx8dv_dcd.cfg.tmp -scfw scfw_tcm.bin -m4 m4_image.bin 1 0x38FE0000 -out flash.bin diff --git a/embedian/smarc-imx8mm/imx-mkimage/mkimage_imx8 b/embedian/smarc-imx8mm/imx-mkimage/mkimage_imx8 new file mode 100755 index 0000000000000000000000000000000000000000..3f2c4a4be9ab4197a1a1f222c1108692844b3e03 GIT binary patch literal 1091728 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�p6$&ZYYQT1wZU*od4k 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