Here is NXTV's ramini.c to be placed in version 1 of linuxbios src/northbridge/via/vt8623/raminit.inc
It was written by Felipe Rodriguez for NXTV and is now being contributed back to the linuxbios project. His email address is included in the comments in the file.
It assumes the SPD contents on the module are valid, and it sets up the CLE266 DDR controller appropriately.
Features: o Detects number of ram banks o Properly tunes tunables o Detects column and row address sizes o Works for every 128M DDR module we've tried as well as one 256M module, correctly setting the available memory in linux. o Lots of comments for reference
Now if someone else wants to convert this X86 code to C code for romcc in version 2, that would be great.
Enjoy!
-Dave
begin 644 raminit.inc.gz M'XL(",-`F4$``W)A;6EN:70N:6YC`.T[^W/;QM$_$W_%-HG'9#Z*Q).BE#I3 M6I(=345)):7&GL2#P>,HP@$!%@#U%_?W3N"4)B7'\SG:G:>,B[O=V]O7W< M[AZ'/TKP(T36R@N\9.`%SC'`21@LO+M-Q.`^&8\T#2)VY\4)BV*$%?_OW"R] M&-91>(=+`3\N(L8@#A?)@Q6QG^`IW(!C!;C2Q9619V\2!EX"5N`.PPA6H>LM MG@@/CFT"ET60+!D@B54,X8)_>7]Y"^]9P"++A^N-[7L.7'@."V(&%I*FD7C) M7+`Y'EKQCGB8ISS`NQ`16XD7!C!\W`^@GO<`GX'-:.1(NQ#&!&2KI40YQ&$ M:UK70W:?P+>28NE@Q_:+7;K@!1SW,ESCCI:($O?XX/D^V`PV,5ML_#ZA0&#X M]?SFEZO;&YA<?H1?)[/9Y/+FXT(G"Q#G&7W3*#R5FO?0\RXK@*DB=DGS!, MSV8GO^"2R=OSB_.;C[@)>'=^<WDVG.[JQE,X'HRNSD_N;V8S.#Z=G9]-3; M`,P9L<4(08N(%_R44(PN2RS/C[.-?\2#C9$[WX6E=<_P@!WFW2-O%CCA^NGY MPR,DEA&=WR;"%P(\B?P%A"$21>(@_U)0EAZUAI>7&R?3@/G$$?1H<&3*TX MALD]'N:)M;(CS[W#C],)R*JB'?7A=CX9%.I[BK+UP_6*!0FQ/+^!6N3A`<. M5WV(UV$0X^Y)N^#RP\T_.9UT[62#QQ,==]XQW,CG@Q@%KH1&@S[`G]=1-GG MOP6/R?W`"5<_<X*H1<?0N0SO095EO:Q&3NB22L>;%4/E#QB<GL[@]'PZ)3/9 M^$P(ZM[R/9<SBENW$)[6QYOU.HP2P2?)ZI^>!6?7YY.#*=BA%;G$\U"2OG?9 MPD/,?ABND3S(#:LBQ7QA4QKN*$)'4^K]:=U"M(G4','!(W?#>(PM6`&/A. MDB+/=*Q8.<9IU'T\T.].)G-02&,0G+F#WZ/?@^]2,+4&INX`,^IP`Z,94JL! M:@U@FX`@2X"W@=BP"[0$1;IA`Q"KQ0%DB]U_Q:;+?.NIM/CT'W-`LURC9?(I M$&`LBD@;2C0LV^?*2PQ%*Y)O?2F:X6U,T,B.M?&3$E4_?##M,'!KA'$8:#@E MNO3NEDU@-)[!X;FM(W;OA9L8#TN<Y;'4\8*$^::S]-;F.HP3<V4Y4=B5'S6C MATM.YN:OL_.;LRZJPJ'1)XV0QS0Q_!%BEFS6X*PWI%,52$/FD`Y"5L<5/NZR M^K@JX!?U<8V/C[?PI)SHG,6KR_G5Q9EY?OGNRKSY8*(/G'5_>'WPNK=S3FZ9 M<UOFVG#^'K5-!C@I#='(>]T-IF2)YI::[AY0I<!Z'[0&X(,<+58H%C!&$L" M-%>9%4/W^P26ZT8LYKIB6S$J;BA"@G`-K^,,#E5_&81^>/=$,9;CXL'BCI&/ M2]W^#==,_>"(?-XYZ0$B&*NZKKW_P-T*!E1DAGQ_[O8YJK=6`<H0YEVL<)= M)'P7R/5OAP?&IRH(>KP5LH!W"G3A!**7`+2ANHU#.U!J(%LXY$^2X&3&+.$% M[2><4@[[<+E9V1B@<4<V+B</"G,N<9<+>2"1LJ[">[^#&J0HJ*JOF/V()S>Y MN)A?=^.5O8G-"-&:A)(4[#&,[,XKQ^_C?U+'6:UM6BJK_5<6?O_\I8,G9DXG M:#EKDW;1Z0R'H(RF=G[B52ZU,I,1&G)ZJ"RN,B=K+V`N9=-V?$[>*DP1[JI MJ&-NUIR=D3[$[U,;ND@PAK^^`47M[>!/00:O(V]EH1YQR3UX;K*L>;NPYN> MBZJ=MT=NT$B#+QO+)'$.HAIE<>8+"$63'NAE"3NAOUD%-2'7^#B62EO3]]G: M4;ZU`,W4M+W$1((F42M!63E4PH)=0/9+@,8Y$$/?GE3!I/I"].^HO.0K1ZDP MN6[*0T4!A"/9@""``1YJ>BQ)6ULJ.DE?$<OP;7-;H%,+2$;5Y%)4@W3<2T4 MC/N`:WO2<+CE?'\Y^S#N\LFJ[R7'`+'WA:5^4!]H`P76=Z`90IL,Z^!GPP7: M!`5NAJXG51_N#)GE+#D27"_D^.8-&?S;=#&$21D=W.O/_@:V(0:<Z2/^H M8L9MF*%_M*KG6J1:2C*K^1<%IN*FR-&X>,WVDJ<V;>86AWK5?V6C;J&GS3T< M?4]8G%0&R@9*WS'P@<2.=DDP7*;??]V-VJECEJIHM9;42LMJ#.F<M390(9: M;45M*.IT-W*]CERO(5?:16*,6I"K=>1J#3D9?XM0T"7N1J[4D2MUY'H;\I'> M@COCJSC-<0VWVH9;:Y-XQE:!6Z_A5EJ%@@*'(>B%PN1+:/J,+NM]2L.SJ[?P M-P62X]V.Q?;KUU(+?1$?%7NQ_3R`Q9@<EV*,43+>W&X-@.\I8*V73['G8*;, M+S"[[3:EXG")<2KHH1),4TO26BR0I=(UA5`J?&-2QV5.9><]/_K:/8Y8W3$ MSY[QUVGH-H56#=W+LK9QMUK67BZA03*M+F$O9[:-O-V9[>6&MY&WN^&]PD># M6-HT99^@UR"4/1R-5%V.%QL<L.DVP]U(X8F4_3V1+3Q1IS;L9`ZJ,NJFHSRK MK^4"8UX/N<#$*W">H'(#45]P3][3X$FH5/;9WY"SE<;^=IHNU1IJ"?.;V?GE M^^X/>?&H)TIA`IR7NUH7$42OI`^RR"$)!1VN&UDK,_$PP;^3>%&LX014+2L/ M(!@X?NC`<Z30R4E;\7`2N#DX@,<@#PPJL=S^,(T!M+2#@I,9`>:-OWE"UUI MQ;@BR]-E^MV2*</$'#P3=?O>U5[5F;3MW7A6DJK1J[J/%G3:L]BT$C*M!9DP MP]+(<369N.&##36<D9ZFIICAKR-VX"RMZ(Y1]OK;H:AOS-"RKC=^S$2&33,C M,5.V.9'Q_F;T]4"(?^;G\Z`*L/IB(QTE1O<)`-*``J#:@WZ8B"(!H?&1CY M&$(=T`?M1LI8&A)Q4='DA-52,8:*1)'/J-*/,TH_K,4A:JHNEVNI-UD=MT3 M@*1=J$VH2YJ#9.4@%L-"R8!JA\AA-CP:\5'2Q#$"&3C<D.ZKAWUN'`VD:^4> M>X_47G,*F^`GO8C8OS;\2-ZDV^#&T,GKNF9DQ682DG:):C%/<(M21BD-S<5% M.H`I9B%SE-7)Z;<4UE&[L';OIEPD4?:I__Q)2:[)-$QN&KD@*5#L%N2Z9$PH MQ\E\2X[J".4X#D17<79=$Z>F8OZ]+4[=!CC<(4YT'6EED4O5<A+OGE?[GY=M M:7\5T;(]1*N.]A8MW2A,+S?D7+3Z3AWEM_O2BJ^HO.YDHR*!EU1E&XJ+-92F M_D`FV%"PK0.J'##S_M$CN>XFF.-"#Y5JQ.!KFNB7EJBI?#/XXUI_9:2_J)25 MME[$<?.J.6H;]0BI-&7Y:=JXU9,9B9Z,;*4H^/))9'M)Q'NG%,CP]+:6B5:+ M5JH6GUS?4A,V5;,B&6]BS3NU<"R/P/#7W_T"<`.PR1&XNN8+C'RHR-#5VAL MKU2JVT1Q`CX+[M"DW"8KS<^25L=)YVSR>0>S[:1C?GV>I33N!J\3_AU:FL+ MHR,IAQG2/N(U8Z[@?W24\M\5<=!*LAL]!6&)2&\V,!)&"11Z/LH510"_`PJ M7YTV2&JS?WD#.LVFW1'.W?@/6%OH/^CV+RAKI5E]:S:-U%/DQ5OC+8U/KZB= M3+/RMM1&1WW1X\UT@D>@G]^02T0?:2WHJ0,G5ARDY7[>Q$D_+9PJ^#^-2J>* MN'V>GEU,/G;3_G&*]4QT0$_^?K:M739G0,E`3[V8PW*:$4-G%B^W%UE"D[-% M<SPQ-R*W2Q:@"'=%!@'=M,,UT`=JG[C4Y=XV.K?<3"Q/'`K5)XOY3Y=N,"E) MRS.OF/.88G_%K$?[GJBZ40#L=>G?\1&%W@)9?9FL<!36>$AT`L2-%S?PH\5 MREDB4,J"<B\HB^22W.#:MQQFEK":86`2-NZ<TP+1RV`E$L=YX.`>*<7EI^$( M#8>'I7BW$C%Z&L-?D21+*"3JC`MK5*]-;-ACCJN%?Q'CN@)Z]S23\N4CF$Z MZ5-SO0_3TR'J6^-!&X98>7(,9U;D/Z4Y5<Q\YB2T?-J'D_GWA$.2VK==]^!, MRS+IW,N@&E*C'7U$[$2>+=X#T;.,M^=7>/L/HX2RA_<;SZ5NQ/4=J&/HHKI2 M2Z)'!BNY;F12]D%H#[&>U6H#)=7U^A#1%\TM;`=UB53"HHK2/_``C?<$/!# M&+FH4>&*OVK*VAOI>QW76ZWR;!*H""C+<I<TL8<[1#4M6[J:6^(DC3YP';'T M[O-"%M-,4=!2:K0X[NE]AP2K;1/RA!E>5G>A+JUAP)X7(,=-[$PR8/KU^U/ M;4)^\G8&)SRO?P:57B[4C/GE,JZ>E;;[K+A7+B#U%T,:+X8<O1CR,60]>/8 M#7GT8DCK&<@]M*[21]^R+R2&>9JWJ&3U*CW/HU<V<G5X8&11>G8V.177PMZN MDI8FUYQ[5B?_TN'!1K!B$BNF**LU#E/I)14+\E,52G;!#<)HA1Z9UT'H2M&, MJ4"DU!"):V=2^;+^'!Z99O2A66'L`UZ>R2)*XA)#Y_$*ZHB/R4KY;/\C567 MOXW#2V9(D;+TX*HW2.\OY&=5NAFH1]LT1YRFKH@;^?;[(R4SQ86''L`/'S`N M\=66YC&^8VE^IJDE`_E#[VDIOM_^9%1RW30.OW]Z[0DZXL./K+T%6&XB%% M`+QATR@40(JJZ<;H<"Q.D0-RF5(Q,)O+</+K"W0)8X]#+CS?K\P)QX[3E5&U M<51K'-7ST99]#E[S"'_/(GI5+):+59E6H'XL+T_J@7C93FRO+@XD&<HI?CS MK7T[$NJW)Z%]>Q)ZC<2^-':6=<NO)1M>XA49]%>\X.-^&-(6C;,43UV*AYW% M.TR)GEB6&2?GY`4.-_V\19&U;DE;\0Z+"LO?F]Q%F(71,V"I$R^I>)"Z]<)U M4'>HM1NT[7]$WR>+%+POS`L8@54N#N5RYHY_PR,?%0$+"!1SOKGBV>E_Q^Z* MXWEF>SMFMBHVPJ\K2H/>E-62OPGN9=J"`R*"T5-,TPE1_9&(5`X&9<%^JVCP M0R4:C!NCP?A_T8"?UX)^8E"V[F\0$OXTG3WCPI^FLV=P^--TZA%B)YU",1?X M)Z<:G"HFBZR8-2GCM]/!SN<\7I4#08,@JF9]>O;V]GWJX32U2WC;#!=>-SU[ M+_N;G,XWBX/<D_'&*/>7Z:?CK(R8=0[4H48EA6[^.X0N$H:#_.<+76?9Z^75 M*@JI:74JWMC95QY1J!R6"ESH1#K@@'W,4?@I^^=^%=1=8=7+@ZX'LV[E7E* MJ'@<_QH"5C,!\9;C/T%@\3("XKLMOF=.G*I-F;"EDI2S=VG-<3GG1)S%DE[I MEJ(TI"_;FN*P:%&T*:=(P'8JYG*W[D&+7G:;YI[7]=[7_:)#VA',MRX*HZ(2 MU_1#ED->8L;S\D4G[D>JB7.'1CFT:&DXE%FNZ5=MW@*R6FE6:.:E6JH<D^_M MU$N&M??/66%=_)QBJ_EAB>;'+2[F!4%E)):5WI[$`X"NR*#U].GT4=IKG3V. MCJ";]R)[-&*,H4O/[/G/4OA(1B3KS!9_^>/^_`\O)Z,=P*HQ&M)3,;L$K&N5 MKFX[YI&Q`[@)LZ;6:S-4C@?T8SE[*TE1JM4QB;B,6G7C2V,\2B[%&;@>`!4 MI*FNK5?`Q6*="D^E=<>2+YKQ]LJ0!R*YM]8K>G?H=:LEX="7PUYZS=@2O[+ M+DX,G<9ZZ3DQ6&MT(_0;8?I9TA9]1=!QY5[QA*5B!Z.#]0X?5AJ$^W\P1H* +4_HWRK@*]<````` ` end
dave, this is great, it is what this project is all about.
Many thanks!
ron
From: "Dave Ashley" linuxbios@xdr.com To: linuxbios@clustermatic.org Sent: Monday, November 15, 2004 3:58 PM Subject: [PATCH] SPD autoconfigure logic for EPIA-M
Here is NXTV's ramini.c to be placed in version 1 of linuxbios src/northbridge/via/vt8623/raminit.inc
It was written by Felipe Rodriguez for NXTV and is now being contributed back to the linuxbios project. His email address is included in the comments in the file.
It assumes the SPD contents on the module are valid, and it sets up the CLE266 DDR controller appropriately.
Features: o Detects number of ram banks o Properly tunes tunables o Detects column and row address sizes o Works for every 128M DDR module we've tried as well as one 256M module, correctly setting the available memory in linux. o Lots of comments for reference
Now if someone else wants to convert this X86 code to C code for romcc in version 2, that would be great.
Enjoy!
Dave, Thank you so much for contributing it back. Any news in VGA stuff for CLE266 ? Dmitry/