MOTOROLA
Appendix D. Initialization Example
D-9
;# or r4, r4, r0 # sets the desired bits
;# stwbrx r4, 0, r2 # write the modified data to CONFIG_DATA
;#
;#
;# For MDC2, 32MB total of EDO DRAM
;#
;# Bank0 = 0x 0000 0000 - 0x 007f ffff start=00 ext=00 end=07 extend=00
;# Bank1 = not implemented
;# Bank2 = 0x 0080 0000 - 0x 00ff ffff start=08 ext=00 end=0f extend=00
;# Bank3 = not implemented
;# Bank4 = 0x 0100 0000 - 0x 017f ffff start=10 ext=00 end=17 extend=00
;# Bank5 = not implemented
;# Bank6 = 0x 0180 0000 - 0x 01ff ffff start=18 ext=00 end=1f extend=00
;# Bank7 = not implemented
;#
lis r3, MPC106_REG # start building new register number
ori r3, r3, MEM_STA_03 # register number 0x80
stwbrx r3, 0, r1 # write this value to CONFIG_ADDR
lis r4, 0xed08 # Each bank on MDC2 is 8MB
ori r4, r4, 0xed00 # (no reserved bits)
stwbrx r4, 0, r2 # write the modified data to CONFIG_DATA
;#
lis r3, MPC106_REG # start building new register number
ori r3, r3, MEM_STA_47 # register number 0x84
stwbrx r3, 0, r1 # write this value to CONFIG_ADDR
lis r4, 0xed18 # Each bank on MDC2 is 8MB
ori r4, r4, 0xed10 # (no reserved bits)
stwbrx r4, 0, r2 # write the modified data to CONFIG_DATA
;#
lis r3, MPC106_REG # start building new register number
ori r3, r3, EXT_MEM_STA_03 # register number 0x88
stwbrx r3, 0, r1 # write this value to CONFIG_ADDR
lwbrx r4, 0, r2 # load r4 from CONFIG_DATA
lis r0, 0xfcfc # Each bank on MDC2 is 8MB
ori r0, r0, 0xfcfc #
and r4, r4, r0 # clears all non-reserved bits
stwbrx r4, 0, r2 # write the modified data to CONFIG_DATA
;#
lis r3, MPC106_REG # start building new register number
ori r3, r3, EXT_MEM_STA_47 # register number 0x8c
stwbrx r3, 0, r1 # write this value to CONFIG_ADDR
lwbrx r4, 0, r2 # load r4 from CONFIG_DATA
lis r0, 0xfcfc # Each bank on MDC2 is 8MB