Init sequence Init State SDRAM Flash IS Other -------------------------------------------------------------------------------- $000000-$0FFFBF Wait for Vcc Wait for Vcc 0 $000000 NOP CKE /CS hi, CLK lo ... $0FFF90 NOP CKE /CS hi, CLK lo InitActv <= ~BODf .... $0FFFA0 NOP CKE /CS lo, CLK lo ... $0FFFAF NOP CKE /CS lo, CLK lo $0FFFB0-$0FFFBF Init: Precharge Send read cmd ($03) 1 $0FFFB0 NOP CKE CLK lo, MOSI 0 (b7) $0FFFB1 NOP CKE CLK hi $0FFFB2 NOP CKE CLK lo, MOSI 0 (b6) $0FFFB3 PC all CLK hi $0FFFB4 NOP CKE CLK lo, MOSI 0 (b5) $0FFFB5 NOP CKE CLK hi $0FFFB6 NOP CKE CLK lo, MOSI 0 (b4) $0FFFB7 NOP CKE CLK hi $0FFFB8 NOP CKE CLK lo, MOSI 0 (b3) $0FFFB9 NOP CKE CLK hi $0FFFBA NOP CKE CLK lo, MOSI 0 (b2) $0FFFBB Load mode CLK hi $0FFFBC NOP CKE CLK lo, MOSI 1 (b1) $0FFFBD NOP CKE CLK hi $0FFFBE NOP CKE CLK lo, MOSI 1 (b0) $0FFFBF NOP CKE CLK hi $0FFFC0-$0FFFEF Init: mode & ref Send address ($000000) 2 $0FFFC0 NOP CKE CLK lo, MOSI 0 (b23) $0FFFC1 NOP CKE CLK hi $0FFFC2 NOP CKE CLK lo, MOSI 0 (b22) $0FFFC3 AREF CLK hi $0FFFC4 NOP CKE CLK lo, MOSI Firmware[1] (b21) $0FFFC5 NOP CKE CLK hi $0FFFC6 NOP CKE CLK lo, MOSI Firmware[0] (b20) $0FFFC7 NOP CKE CLK hi $0FFFC8 NOP CKE CLK lo, MOSI 0 (b19) $0FFFC9 NOP CKE CLK hi $0FFFCA NOP CKE CLK lo, MOSI 0 (b18) $0FFFCB AREF CLK hi $0FFFCC NOP CKE CLK lo, MOSI 0 (b17) $0FFFCD NOP CKE CLK hi $0FFFCE NOP CKE CLK lo, MOSI 0 (b16) $0FFFCF NOP CKE CLK hi $0FFFD0 NOP CKE CLK lo, MOSI 0 (b15) $0FFFD1 NOP CKE CLK hi $0FFFD2 NOP CKE CLK lo, MOSI 0 (b14) $0FFFD3 AREF CLK hi $0FFFD4 NOP CKE CLK lo, MOSI 0 (b13) $0FFFD5 NOP CKE CLK hi $0FFFD6 NOP CKE CLK lo, MOSI 0 (b12) $0FFFD7 NOP CKE CLK hi $0FFFD8 NOP CKE CLK lo, MOSI 0 (b11) $0FFFD9 NOP CKE CLK hi $0FFFDA NOP CKE CLK lo, MOSI 0 (b10) $0FFFDB AREF CLK hi $0FFFDC NOP CKE CLK lo, MOSI 0 (b9) $0FFFDD NOP CKE CLK hi $0FFFDE NOP CKE CLK lo, MOSI 0 (b8) $0FFFDF NOP CKE CLK hi $0FFFE0 NOP CKE CLK lo, MOSI 0 (b7) $0FFFE1 NOP CKE CLK hi $0FFFE2 NOP CKE CLK lo, MOSI 0 (b6) $0FFFE3 AREF CLK hi $0FFFE4 NOP CKE CLK lo, MOSI 0 (b5) $0FFFE5 NOP CKE CLK hi $0FFFE6 NOP CKE CLK lo, MOSI 0 (b4) $0FFFE7 NOP CKE CLK hi $0FFFE8 NOP CKE CLK lo, MOSI 0 (b3) $0FFFE9 NOP CKE CLK hi $0FFFEA NOP CKE CLK lo, MOSI 0 (b2) $0FFFEB AREF CLK hi $0FFFEC NOP CKE CLK lo, MOSI 0 (b1) $0FFFED NOP CKE CLK hi $0FFFEE NOP CKE CLK lo, MOSI 0 (b0) $0FFFEF NOP CKE CLK hi $0FFFF0-$0FFFFF Init: mode & ref 8 dummy clocks 2 $0FFFF0 NOP CKE CLK lo, MOSIOE 0 $0FFFF1 NOP CKE CLK hi $0FFFF2 NOP CKE CLK lo $0FFFF3 AREF CLK hi $0FFFF4 NOP CKE CLK lo $0FFFF5 NOP CKE CLK hi $0FFFF6 NOP CKE CLK lo $0FFFF7 NOP CKE CLK hi $0FFFF8 NOP CKE CLK lo $0FFFF9 NOP CKE CLK hi $0FFFFA NOP CKE CLK lo $0FFFFB AREF CLK hi $0FFFFC NOP CKE CLK lo $0FFFFD NOP CKE CLK hi $0FFFFE NOP CKE CLK lo $0FFFFF NOP CKE CLK hi $100000-$503FFF Write ROM data Shift in read data 3 $100000 NOP CKE CLK lo $100001 NOP CKE CLK hi, get b7:6 of $000000 $100002 NOP CKE CLK lo $100003 AREF CLK hi, get b5:4 of $000000 $100004 NOP CKE CLK lo $100005 ACT CLK hi, get b3:2 of $000000 $100006 NOP CKE CLK lo $100007 WR AP CLK hi, get b1:0 of $000000 $100008 NOP CKE CLK lo $100009 NOP CKE CLK hi, get b7:6 of $000001 $10000A NOP CKE CLK lo $10000B AREF CLK hi, get b5:4 of $000001 $10000C NOP CKE CLK lo $10000D ACT CLK hi, get b3:2 of $000001 $10000E NOP CKE CLK lo $10000F WR AP CLK hi, get b1:0 of $000001 ... $503FF0 NOP CKE CLK lo $503FF1 NOP CKE CLK hi, get b7:6 of $0807FE $503FF2 NOP CKE CLK lo $503FF3 AREF CLK hi, get b5:4 of $0807FE $503FF4 NOP CKE CLK lo $503FF5 ACT CLK hi, get b3:2 of $0807FE $503FF6 NOP CKE CLK lo $503FF7 WR AP CLK hi, get b1:0 of $0807FE $503FF8 NOP CKE CLK lo $503FF9 NOP CKE CLK hi, get b7:6 of $0807FF $503FFA NOP CKE CLK lo $503FFB AREF CLK hi, get b5:4 of $0807FF $503FFC NOP CKE CLK lo $503FFD ACT CLK hi, get b3:2 of $0807FF $503FFE NOP CKE CLK lo $503FFF WR AP CLK hi, get b1:0 of $0807FF $504000 NOP CKE CLK lo, /CS hi 3 $504001 NOP CKE CLK lo, /CS hi 3 $504002 NOP CKE CLK lo, /CS hi 3 SDRAMActv <= InitActv && ~InitInterrupted ... $5F5E0F flip 1hz, wrap Init sequence Init State SDRAM Flash IS Other -------------------------------------------------------------------------------- $00000-$0FFBF Nothing Nothing 0 $00000 NOP CKE /CS hi, CLK lo ... $0FF90 NOP CKE /CS hi, CLK lo InitActv <= ~BODf .... $0FFA0 NOP CKE /CS lo, CLK lo ... $0FFAF NOP CKE /CS lo, CLK lo $0FFB0-$0FFBF Init: Precharge Send read cmd ($03) 1 $0FFB0 NOP CKE CLK lo, MOSI 0 (b7) $0FFB1 NOP CKE CLK hi $0FFB2 NOP CKE CLK lo, MOSI 0 (b6) $0FFB3 PC all CLK hi $0FFB4 NOP CKE CLK lo, MOSI 0 (b5) $0FFB5 NOP CKE CLK hi $0FFB6 NOP CKE CLK lo, MOSI 0 (b4) $0FFB7 NOP CKE CLK hi $0FFB8 NOP CKE CLK lo, MOSI 0 (b3) $0FFB9 NOP CKE CLK hi $0FFBA NOP CKE CLK lo, MOSI 0 (b2) $0FFBB Load mode CLK hi $0FFBC NOP CKE CLK lo, MOSI 1 (b1) $0FFBD NOP CKE CLK hi $0FFBE NOP CKE CLK lo, MOSI 1 (b0) $0FFBF NOP CKE CLK hi $0FFC0-$0FFEF Init: mode & ref Send address ($000000) 2 $0FFC0 NOP CKE CLK lo, MOSI 0 (b23) $0FFC1 NOP CKE CLK hi $0FFC2 NOP CKE CLK lo, MOSI 0 (b22) $0FFC3 AREF CLK hi $0FFC4 NOP CKE CLK lo, MOSI Firmware[1] (b21) $0FFC5 NOP CKE CLK hi $0FFC6 NOP CKE CLK lo, MOSI Firmware[0] (b20) $0FFC7 NOP CKE CLK hi $0FFC8 NOP CKE CLK lo, MOSI 0 (b19) $0FFC9 NOP CKE CLK hi $0FFCA NOP CKE CLK lo, MOSI 0 (b18) $0FFCB AREF CLK hi $0FFCC NOP CKE CLK lo, MOSI 0 (b17) $0FFCD NOP CKE CLK hi $0FFCE NOP CKE CLK lo, MOSI 0 (b16) $0FFCF NOP CKE CLK hi $0FFD0 NOP CKE CLK lo, MOSI 0 (b15) $0FFD1 NOP CKE CLK hi $0FFD2 NOP CKE CLK lo, MOSI 0 (b14) $0FFD3 AREF CLK hi $0FFD4 NOP CKE CLK lo, MOSI 0 (b13) $0FFD5 NOP CKE CLK hi $0FFD6 NOP CKE CLK lo, MOSI 0 (b12) $0FFD7 NOP CKE CLK hi $0FFD8 NOP CKE CLK lo, MOSI 0 (b11) $0FFD9 NOP CKE CLK hi $0FFDA NOP CKE CLK lo, MOSI 0 (b10) $0FFDB AREF CLK hi $0FFDC NOP CKE CLK lo, MOSI 0 (b9) $0FFDD NOP CKE CLK hi $0FFDE NOP CKE CLK lo, MOSI 0 (b8) $0FFDF NOP CKE CLK hi $0FFE0 NOP CKE CLK lo, MOSI 0 (b7) $0FFE1 NOP CKE CLK hi $0FFE2 NOP CKE CLK lo, MOSI 0 (b6) $0FFE3 AREF CLK hi $0FFE4 NOP CKE CLK lo, MOSI 0 (b5) $0FFE5 NOP CKE CLK hi $0FFE6 NOP CKE CLK lo, MOSI 0 (b4) $0FFE7 NOP CKE CLK hi $0FFE8 NOP CKE CLK lo, MOSI 0 (b3) $0FFE9 NOP CKE CLK hi $0FFEA NOP CKE CLK lo, MOSI 0 (b2) $0FFEB AREF CLK hi $0FFEC NOP CKE CLK lo, MOSI 0 (b1) $0FFED NOP CKE CLK hi $0FFEE NOP CKE CLK lo, MOSI 0 (b0) $0FFEF NOP CKE CLK hi $0FFF0-$0FFFF Init: mode & ref 8 dummy clocks 2 $0FFF0 NOP CKE CLK lo, MOSIOE 0 $0FFF1 NOP CKE CLK hi $0FFF2 NOP CKE CLK lo $0FFF3 AREF CLK hi $0FFF4 NOP CKE CLK lo $0FFF5 NOP CKE CLK hi $0FFF6 NOP CKE CLK lo $0FFF7 NOP CKE CLK hi $0FFF8 NOP CKE CLK lo $0FFF9 NOP CKE CLK hi $0FFFA NOP CKE CLK lo $0FFFB AREF CLK hi $0FFFC NOP CKE CLK lo $0FFFD NOP CKE CLK hi $0FFFE NOP CKE CLK lo $0FFFF NOP CKE CLK hi $10000-$2FFFF Write ROM data Shift in read data 3 $10000 NOP CKE CLK lo $10001 NOP CKE CLK hi, get b7:6 of $000000 $10002 NOP CKE CLK lo $10003 AREF CLK hi, get b5:4 of $000000 $10004 NOP CKE CLK lo $10005 ACT CLK hi, get b3:2 of $000000 $10006 NOP CKE CLK lo $10007 WR AP CLK hi, get b1:0 of $000000 $10008 NOP CKE CLK lo $10009 NOP CKE CLK hi, get b7:6 of $000001 $1000A NOP CKE CLK lo $1000B AREF CLK hi, get b5:4 of $000001 $1000C NOP CKE CLK lo $1000D ACT CLK hi, get b3:2 of $000001 $1000E NOP CKE CLK lo $1000F WR AP CLK hi, get b1:0 of $000001 ... $2FFF0 NOP CKE CLK lo $2FFF1 NOP CKE CLK hi, get b7:6 of $003FFE $2FFF2 NOP CKE CLK lo $2FFF3 AREF CLK hi, get b5:4 of $003FFE $2FFF4 NOP CKE CLK lo $2FFF5 ACT CLK hi, get b3:2 of $003FFE $2FFF6 NOP CKE CLK lo $2FFF7 WR AP CLK hi, get b1:0 of $003FFE $2FFF8 NOP CKE CLK lo $2FFF9 NOP CKE CLK hi, get b7:6 of $003FFF $2FFFA NOP CKE CLK lo $2FFFB AREF CLK hi, get b5:4 of $003FFF $2FFFC NOP CKE CLK lo $2FFFD ACT CLK hi, get b3:2 of $003FFF $2FFFE NOP CKE CLK lo $2FFFF WR AP CLK hi, get b1:0 of $003FFF $30000 NOP CKE CLK lo, /CS hi 3 $30001 NOP CKE CLK lo, /CS hi 3 $30002 NOP CKE CLK lo, /CS hi 3 SDRAMActv <= InitActv && ~InitInterrupted