00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 function oldone($width,$bus,$raw=0) {
00040 send_i2c_4($width,$bus,0x0827,0x00000000,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00041 send_i2c_4($width,$bus,0x0827,0x00000001,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00042
00043 send_i2c_4($width,$bus,0x082c,0x00004000,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00044 send_i2c_4($width,$bus,0x082d,0x000001f0,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00045 send_i2c_4($width,$bus,0x082e,0x00000005,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00046
00047 send_i2c_4($width,$bus,0x0827,0x00000021,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00048
00049 send_i2c_4($width,$bus,0x0831,0x01020304,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00050 send_i2c_4($width,$bus,0x0831,0x05060708,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00051 send_i2c_4($width,$bus,0x0831,0x090a0b0c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00052 send_i2c_4($width,$bus,0x0831,0x0d0e0f10,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00053
00054 send_i2c_4($width,$bus,0x0831,0x11121314,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00055 send_i2c_4($width,$bus,0x0831,0x15161718,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00056 send_i2c_4($width,$bus,0x0831,0x191a1b1c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00057 send_i2c_4($width,$bus,0x0831,0x1d1e1f20,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00058
00059 send_i2c_4($width,$bus,0x0831,0x21222324,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00060 send_i2c_4($width,$bus,0x0831,0x25262728,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00061 send_i2c_4($width,$bus,0x0831,0x292a2b2c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00062 send_i2c_4($width,$bus,0x0831,0x2d2e2f30,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00063
00064 send_i2c_4($width,$bus,0x0831,0x31323334,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00065 send_i2c_4($width,$bus,0x0831,0x35363738,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00066 send_i2c_4($width,$bus,0x0831,0x393a3b3c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00067 send_i2c_4($width,$bus,0x0831,0x3d3e3f40,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00068
00069 send_i2c_4($width,$bus,0x0831,0x41424344,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00070 send_i2c_4($width,$bus,0x0831,0x45464748,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00071 send_i2c_4($width,$bus,0x0831,0x494a4b4c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00072 send_i2c_4($width,$bus,0x0831,0x4d4e4f50,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00073
00074 send_i2c_4($width,$bus,0x0831,0x51525354,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00075 send_i2c_4($width,$bus,0x0831,0x55565758,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00076 send_i2c_4($width,$bus,0x0831,0x595a5b5c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00077 send_i2c_4($width,$bus,0x0831,0x5d5e5f60,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00078
00079 send_i2c_4($width,$bus,0x0831,0x61626364,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00080 send_i2c_4($width,$bus,0x0831,0x65666768,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00081 send_i2c_4($width,$bus,0x0831,0x696a6b6c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00082 send_i2c_4($width,$bus,0x0831,0x6d6e6f70,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00083
00084 send_i2c_4($width,$bus,0x0831,0x71727374,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00085 send_i2c_4($width,$bus,0x0831,0x75767778,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00086 send_i2c_4($width,$bus,0x0831,0x797a7b7c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00087 send_i2c_4($width,$bus,0x0831,0x7d7e7f80,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00088
00089 send_i2c_4($width,$bus,0x0831,0x01020304,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00090 send_i2c_4($width,$bus,0x0831,0x05060708,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00091 send_i2c_4($width,$bus,0x0831,0x090a0b0c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00092 send_i2c_4($width,$bus,0x0831,0x0d0e0f10,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00093
00094 send_i2c_4($width,$bus,0x0831,0x11121314,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00095 send_i2c_4($width,$bus,0x0831,0x15161718,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00096 send_i2c_4($width,$bus,0x0831,0x191a1b1c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00097 send_i2c_4($width,$bus,0x0831,0x1d1e1f20,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00098
00099 send_i2c_4($width,$bus,0x0831,0x21222324,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00100 send_i2c_4($width,$bus,0x0831,0x25262728,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00101 send_i2c_4($width,$bus,0x0831,0x292a2b2c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00102 send_i2c_4($width,$bus,0x0831,0x2d2e2f30,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00103
00104 send_i2c_4($width,$bus,0x0831,0x31323334,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00105 send_i2c_4($width,$bus,0x0831,0x35363738,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00106 send_i2c_4($width,$bus,0x0831,0x393a3b3c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00107 send_i2c_4($width,$bus,0x0831,0x3d3e3f40,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00108
00109 send_i2c_4($width,$bus,0x0831,0x41424344,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00110 send_i2c_4($width,$bus,0x0831,0x45464748,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00111 send_i2c_4($width,$bus,0x0831,0x494a4b4c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00112 send_i2c_4($width,$bus,0x0831,0x4d4e4f50,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00113
00114 send_i2c_4($width,$bus,0x0831,0x51525354,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00115 send_i2c_4($width,$bus,0x0831,0x55565758,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00116 send_i2c_4($width,$bus,0x0831,0x595a5b5c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00117 send_i2c_4($width,$bus,0x0831,0x5d5e5f60,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00118
00119 send_i2c_4($width,$bus,0x0831,0x61626364,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00120 send_i2c_4($width,$bus,0x0831,0x65666768,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00121 send_i2c_4($width,$bus,0x0831,0x696a6b6c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00122 send_i2c_4($width,$bus,0x0831,0x6d6e6f70,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00123
00124 send_i2c_4($width,$bus,0x0831,0x71727374,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00125 send_i2c_4($width,$bus,0x0831,0x75767778,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00126 send_i2c_4($width,$bus,0x0831,0x797a7b7c,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00127 send_i2c_4($width,$bus,0x0831,0x7d7e7f80,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00128
00129
00130
00131 printf("\n");
00132
00133 send_i2c_4($width,$bus,0x0834,0x11223344,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00134
00135 $data=receive_i2c_4($width,$bus,$adr,$raw=0);
00136 printf("i2c_4 read slave 0x%04x ",0x0860);
00137 printf("acquired data is 0x%08x\n",$data);
00138
00139 $data=receive_i2c_4($width,$bus,0x0841,$raw=0);
00140 printf("i2c_4 read slave 0x%04x ",0x0841);
00141 printf("acquired data is 0x%08x\n",$data);
00142
00143 $data=receive_i2c_4($width,$bus,0x0844,$raw=0);
00144 printf("i2c_4 read slave 0x%04x ",0x0844);
00145 printf("acquired data is 0x%08x\n",$data);
00146
00147 $data=receive_i2c_4($width,$bus,$adr,$raw=0);
00148 printf("i2c_4 read slave 0x%04x ",0x0860);
00149 printf("acquired data is 0x%08x\n",$data);
00150
00151
00152
00153 send_i2c_4($width,$bus,0x082c,0x00000000,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00154 send_i2c_4($width,$bus,0x082d,0x000001f0,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00155 send_i2c_4($width,$bus,0x082e,0x00000005,$raw=0); printf("sent %d\n",$cnt); $cnt++;
00156
00157
00158
00159 $data=receive_i2c_4($width,$bus,$adr,$raw=0);
00160 printf("i2c_4 read slave 0x%04x ",0x0860);
00161 printf("acquired data is 0x%08x\n",$data);
00162
00163
00164
00165 $data=receive_i2c_4($width,$bus,$adr,$raw=0);
00166 printf("i2c_4 read slave 0x%04x ",0x0860);
00167 printf("acquired data is 0x%08x\n",$data);
00168
00169 $data_array=receive_i2c_n($width,$bus,0x0833,$raw=0);
00170
00171
00172
00173 for ($i=0,$index=count($data_array); $i<$index;$i++)
00174 {
00175 printf("acquired data is 0x%08x\n",$data_array[$i]);
00176 }
00177
00178 printf("\n");
00179 }
00180
00181 function send_i2c($width,$bus,$a,$d,$raw=0) {
00182 $w=($width==16)?2:1;
00183 $i2c_fn='/dev/xi2c'.($raw?'raw':(($w==2)?'16':'8')).(($bus==0)?'':'_aux');
00184 $i2c = fopen($i2c_fn, 'w');
00185 fseek ($i2c, $w*$a) ;
00186 if ($w==1) $res=fwrite($i2c, chr ($d));
00187 else $res=fwrite($i2c, chr (floor($d/256)).chr ($d-256*floor($d/256)));
00188 fclose($i2c);
00189 return $res;
00190 }
00191
00192 function receive_i2c($width,$bus,$a,$raw=0) {
00193 $w=($width==16)?2:1;
00194 $i2c_fn='/dev/xi2c'.($raw?'raw':(($w==2)?'16':'8')).(($bus==0)?'':'_aux');
00195 $i2c = fopen($i2c_fn, 'r');
00196 fseek ($i2c, $w*$a);
00197 $data = fread($i2c, $w);
00198 fclose($i2c);
00199 if (strlen($data)<$w) return -1;
00200 $v=unpack(($w==1)?'C':'n1',$data);
00201 return $v[1];
00202 }
00203
00204 function receive_i2c_4($width,$bus,$a,$raw=0) {
00205 $w=($width==16)?2:1;
00206 $i2c_fn='/dev/xi2c'.($raw?'raw':(($w==2)?'16':'8')).(($bus==0)?'':'_aux');
00207 $i2c = fopen($i2c_fn, 'r');
00208 fseek ($i2c, 4, SEEK_END);
00209 fseek ($i2c, $w*$a);
00210
00211 $data = fread($i2c, 2*$w);
00212 fclose($i2c);
00213 if (strlen($data)<2*$w) return -1;
00214 $v=unpack(($w==1)?'C*':'N*',$data);
00215
00216
00217 return $v[1];
00218 }
00219
00220 function receive_i2c_n($width,$bus,$a,$raw=0) {
00221 $w=($width==16)?2:1;
00222 $i2c_fn='/dev/xi2c'.($raw?'raw':(($w==2)?'16':'8')).(($bus==0)?'':'_aux');
00223 $i2c = fopen($i2c_fn, 'r');
00224 fseek ($i2c, 16*4, SEEK_END);
00225 fseek ($i2c, $w*$a);
00226
00227 $data = fread($i2c, 2*$w*4*4);
00228 fclose($i2c);
00229 if (strlen($data)<2*$w) return -1;
00230 $v=unpack(($w==1)?'C*':'N*',$data);
00231
00232
00233 return array($v[1],$v[2],$v[3],$v[4],$v[5],$v[6],$v[7],$v[8],$v[9],$v[10],$v[11],$v[12],$v[13],$v[14],$v[15],$v[16]);
00234 }
00235
00236 function send_i2c_4($width,$bus,$a,$d,$raw=0) {
00237 $w=($width==16)?2:1;
00238 $i2c_fn='/dev/xi2c'.($raw?'raw':(($w==2)?'16':'8')).(($bus==0)?'':'_aux');
00239 $i2c = fopen($i2c_fn, 'w');
00240 fseek ($i2c, $w*$a) ;
00241 if ($w==1) $res=fwrite($i2c, chr ($d));
00242 else $res=fwrite($i2c, chr (floor($d/(256*256*256))).chr (($d - 256*256*256*floor($d/(256*256*256)))/(256*256)).chr (($d - 256*256*floor($d/(256*256)))/256).chr ($d - 256*floor($d/(256))) );
00243
00244
00245 printf("0x%02x%02x%02x%02x ",(floor($d/(256*256*256))),(($d - 256*256*256*floor($d/(256*256*256)))/(256*256)),(($d - 256*256*floor($d/(256*256)))/256),($d - 256*floor($d/(256))));
00246
00247
00248 fclose($i2c);
00249 return $res;
00250 }
00251
00252 function send_i2c_4a($width,$bus,$a,$d,$raw=0) {
00253 $w=($width==16)?2:1;
00254 $i2c_fn='/dev/xi2c'.($raw?'raw':(($w==2)?'16':'8')).(($bus==0)?'':'_aux');
00255 $i2c = fopen($i2c_fn, 'w');
00256 fseek ($i2c, $w*$a) ;
00257 if ($w==1) $res=fwrite($i2c, chr ($d));
00258 else $res=fwrite($i2c, chr (floor($d/(256*256*256))).chr (($d - 256*256*256*floor($d/(256*256*256)))/(256*256)).chr (($d - 256*256*floor($d/(256*256)))/256).chr ($d - 256*floor($d/(256))) );
00259
00260
00261 printf("%02x%02x%02x%02x ",(floor($d/(256*256*256))),(($d - 256*256*256*floor($d/(256*256*256)))/(256*256)),(($d - 256*256*floor($d/(256*256)))/256),($d - 256*floor($d/(256))));
00262
00263
00264 fclose($i2c);
00265 return $res;
00266 }
00267
00268 function send_i2c_4_nc($width,$bus,$a,$d,$raw=0) {
00269 $w=($width==16)?2:1;
00270 $i2c_fn='/dev/xi2c'.($raw?'raw':(($w==2)?'16':'8')).(($bus==0)?'':'_aux');
00271 $i2c = fopen($i2c_fn, 'w');
00272 fseek ($i2c, $w*$a) ;
00273 if ($w==1) $res=fwrite($i2c, chr ($d));
00274 else $res=fwrite($i2c, chr (floor($d/(256*256*256))).chr (($d - 256*256*256*floor($d/(256*256*256)))/(256*256)).chr (($d - 256*256*floor($d/(256*256)))/256).chr ($d - 256*floor($d/(256))) );
00275
00276
00277
00278
00279
00280 fclose($i2c);
00281 return $res;
00282 }
00283
00284 function dcm_reset($width,$bus,$raw=0){
00285
00286 printf("sent 0x%04x ",0x0810); send_i2c_4($width,$bus,0x0810,0xffffffff,$raw=0);
00287 printf("\nsent 0x%04x ",0x0810); send_i2c_4($width,$bus,0x0810,0x00000000,$raw=0);
00288
00289 }
00290
00291 function ramb_check($width,$bus,$raw=0){
00292 printf("Data sent: ");
00293
00294 send_i2c_4($width,0,0x0801,0x01020343,$raw=0);
00295 send_i2c_4($width,0,0x0801,0x05060787,$raw=0);
00296 send_i2c_4($width,0,0x0801,0x090a0bcb,$raw=0);
00297 send_i2c_4($width,0,0x0801,0x0d0e0f0f,$raw=0);
00298
00299 send_i2c_4($width,$bus,0x0801,0x11121314,$raw=0);
00300 send_i2c_4($width,$bus,0x0801,0x15161718,$raw=0);
00301 send_i2c_4($width,$bus,0x0801,0x191a1b1c,$raw=0);
00302 send_i2c_4($width,$bus,0x0801,0x1d1e1f20,$raw=0);
00303
00304 send_i2c_4($width,$bus,0x0801,0x21222324,$raw=0);
00305 send_i2c_4($width,$bus,0x0801,0x25262728,$raw=0);
00306 send_i2c_4($width,$bus,0x0801,0x292a2b2c,$raw=0);
00307 send_i2c_4($width,$bus,0x0801,0x2d2e2f30,$raw=0);
00308
00309 send_i2c_4($width,$bus,0x0801,0x31323334,$raw=0);
00310 send_i2c_4($width,$bus,0x0801,0x35363738,$raw=0);
00311 send_i2c_4($width,$bus,0x0801,0x393a3b3c,$raw=0);
00312 send_i2c_4($width,$bus,0x0801,0x3d3e3f40,$raw=0);
00313
00314 printf("\nData received: ");
00315 for ($i=0;$i<16;$i++)
00316 {
00317 $data=receive_i2c_4($width,$bus,0x0868,$raw=0);
00318 printf("0x%08x ",$data);
00319 }
00320 }
00321
00322 function ddr_init($width,$bus,$raw=0){
00323
00324 printf("sent 0x%04x ",0x0827); send_i2c_4($width,$bus,0x0827,0x00000000,$raw=0); printf("\n");
00325
00326 printf("sent 0x%04x ",0x0823); send_i2c_4($width,$bus,0x0823,0x00017fff,$raw=0);
00327
00328 $data=receive_i2c_4($width,$bus,0x0841,$raw=0);
00329 printf("read 0x%04x 0x%08x\n",0x0841,$data);
00330
00331 printf("sent 0x%04x ",0x0823); send_i2c_4($width,$bus,0x0823,0x00002002,$raw=0);
00332
00333 $data=receive_i2c_4($width,$bus,0x0841,$raw=0);
00334 printf("read 0x%04x 0x%08x\n",0x0841,$data);
00335
00336 printf("sent 0x%04x ",0x0823); send_i2c_4($width,$bus,0x0823,0x00000163,$raw=0);
00337
00338 $data=receive_i2c_4($width,$bus,0x0841,$raw=0);
00339 printf("read 0x%04x 0x%08x\n",0x0841,$data);
00340
00341 printf("sent 0x%04x ",0x0823); send_i2c_4($width,$bus,0x0823,0x00008000,$raw=0);
00342
00343 $data=receive_i2c_4($width,$bus,0x0841,$raw=0);
00344 printf("read 0x%04x 0x%08x\n",0x0841,$data);
00345
00346 printf("sent 0x%04x ",0x0823); send_i2c_4($width,$bus,0x0823,0x00008000,$raw=0);
00347
00348 $data=receive_i2c_4($width,$bus,0x0841,$raw=0);
00349 printf("read 0x%04x 0x%08x\n",0x0841,$data);
00350
00351 printf("sent 0x%04x ",0x0823); send_i2c_4($width,$bus,0x0823,0x00017fff,$raw=0);
00352
00353 $data=receive_i2c_4($width,$bus,0x0841,$raw=0);
00354 printf("read 0x%04x 0x%08x\n",0x0841,$data);
00355
00356 }
00357
00358 function ddr_write($width,$bus,$sa,$raw=0){
00359
00360 send_i2c_4_nc($width,$bus,0x0827,0x00000000,$raw=0);
00361 send_i2c_4_nc($width,$bus,0x0827,0x00000001,$raw=0);
00362
00363 send_i2c_4_nc($width,$bus,0x082c,0x00004000+4*$sa,$raw=0);
00364 send_i2c_4_nc($width,$bus,0x082d,0x000001f0,$raw=0);
00365
00366
00367 send_i2c_4_nc($width,$bus,0x082e,0x00000003,$raw=0);
00368
00369 send_i2c_4_nc($width,$bus,0x0827,0x00000021,$raw=0);
00370
00371 printf("Sent array to Row 0x%08x\n",$sa);
00372
00373 printf("<font color=DARKBLUE>");
00374
00375 $aha1=0;
00376 for($aha=0;$aha<512;$aha++){
00377
00378 $aha2=$aha+0x01000000*$sa;
00379
00380 printf("%08x ",$aha2);
00381
00382 send_i2c_4_nc($width,$bus,0x0831,$aha2,$raw=0);
00383
00384 if ($aha1==15) {$aha1=0; printf("\n");}
00385 else {$aha1++;}
00386
00387 }
00388
00389 printf("</font>");
00390
00391 send_i2c_4_nc($width,$bus,0x0834,0x11223344,$raw=0);
00392 send_i2c_4_nc($width,$bus,0x0834,0x11223344,$raw=0);
00393 send_i2c_4_nc($width,$bus,0x0834,0x11223344,$raw=0);
00394 send_i2c_4_nc($width,$bus,0x0834,0x11223344,$raw=0); printf("\n");
00395
00396 }
00397
00398 function ddr_page_read($width,$bus,$rra,$raw=0){
00399
00400 send_i2c_4_nc($width,$bus,0x0827,0x00000021,$raw=0);
00401
00402 send_i2c_4_nc($width,$bus,0x082d,0x000001f0,$raw=0);
00403 send_i2c_4_nc($width,$bus,0x082e,0x00000003,$raw=0);
00404
00405 printf("Acquired data from row 0x%08x\n",$rra);
00406
00407 send_i2c_4_nc($width,$bus,0x082c,4*$rra,$raw=0);
00408
00409 printf("<font color=\"#0000FF\">");
00410 for($g=0;$g<32;$g++){
00411 $data_array=receive_i2c_n($width,$bus,0x0833,$raw=0);
00412 $j=0;
00413
00414 for ($i=0,$index=count($data_array); $i<$index;$i++)
00415 {
00416 printf("%08x ",$data_array[$i]);
00417 if ($j==15) {$j=0; printf("\n");}
00418 else {$j++; }
00419 }
00420 }
00421 printf("\n</font>");
00422
00423 }
00424
00425 $width=16;
00426 $bus=0;
00427 $raw=0;
00428
00429 $phase_shift=0;
00430 $row_adr=0x3ff;
00431 $N=0;
00432 $N_shifts=1;
00433
00434 printf("<pre>");
00435 foreach($_GET as $key=>$value) {
00436 switch($key) {
00437 case "phase_shift": $phase_shift=$value+0; break;
00438 case "row_adr" : $row_adr=$value+0; break;
00439 case "N" : $N=$value+0; break;
00440 case "N_shifts" : $N_shifts=$value+0; break;
00441 }
00442 }
00443
00444 if ($phase_shift==0) {
00445 printf("<h3>Reset DCM</h3>");
00446 dcm_reset($width,$bus,$raw=0);
00447 }else{
00448 printf("<h3>Phase Shift DCM</h3>");
00449 for($i=1;$i<$N_shifts;$i++){
00450 send_i2c_4($width,$bus,0x0808,$phase_shift,$raw=0);
00451 sleep(1);
00452 }
00453 }
00454
00455 printf("<h3>RAMB & I2C test</h3>");
00456 ramb_check($width,$bus,$raw=0);
00457
00458 printf("<h3>DDR Initialization sequence</h3>");
00459 ddr_init($width,$bus,$raw=0);
00460
00461 printf("<h3>Read DDR</h3>");
00462 for($i=$row_adr;$i<=$row_adr+$N;$i++){
00463 ddr_page_read($width,$bus,$i,$raw=0);
00464 }
00465 printf("</pre>");
00466
00467 ?>