
D-2
MPC106 PCIB/MC User's Manual
MOTOROLA
;# -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
;# This small section of code speeds up accesses to the Boot ROM, but
;# is written SPECIFICALLY FOR VERY FAST ROM or SRAM.
;#
lis r3, MPC106_REG # start building new register number
ori r3, r3, MCCR1 # register number 0xf0
stwbrx r3, 0, r1 # write this value to CONFIG_ADDR
;#
lwbrx r4, 0, r2 # load r4 from CONFIG_DATA
lis r0, 0x0016 # REDUCE WAIT STATES FOR ROM ACCESSES
ori r0, r0, 0x5555 # (contains no reserved bits)
and r4, r4, r0 # clears the desired bits
or r4, r4, r0 # sets the desired bits
stwbrx r4, 0, r2 # write the modified data to CONFIG_DATA
;#
;# End of Boot ROM speed-up.
;# -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
;#
;# This section of code initializes the MPC106's PCI Interface Registers
;#
initpci:
;#
lis r3, MPC106_REG # start building new register number
ori r3, r3, PCI_CMD # register number 0x0004
stwbrx r3, 0, r1 # write this value to CONFIG_ADDR
lhbrx r4, 0, r2 # load r4 from CONFIG_DATA
lis r0, 0x0000 #
ori r0, r0, 0x0106 #
or r4, r4, r0 # sets the desired bits
sthbrx r4, 0, r2 # write the modified data to CONFIG_DATA
;#
lis r3, MPC106_REG # start building new register number
ori r3, r3, PCI_STAT # register number 0x0006
stwbrx r3, 0, r1 # write this value to CONFIG_ADDR
li r3, 0x0002
lhbrx r4, r3, r2 # load r4 from CONFIG_DATA
ori r4, r4, 0xffff # Writing all ones will clear all bits in PCI_STAT
sthbrx r4, r3, r2 # write the modified data to CONFIG_DATA
;#
;#=====================================================================================
;#
;# This section of code initializes the MPC106's Processor Interface Registers
;# for use with the PDC4 (single 603/604 and 512 kB of pipeline
;# or flowthrough L2) at 60 - 66 MHz.
;#
initproc: