Page 20 Epson Research and Development
Vancouver Design Center
S1D13504 Interfacing to the Motorola MPC821 Microprocessor
X19A-G-010-05 Issue Date: 01/02/02
4.6 Test Software
The test software used to exercise this interface is ve ry simple. It carries out the following
functions:
1. Configures chip select 4 on the MPC821 to map the S1D13504 to an unused 4M byte
block of address space.
2. Loads the appropriate values into the option register for CS4.
3. Enables the S1D13504 host bus interface by writing the value 0 to REG[1Bh].
At that point the software runs in a tight loop which reads the S1D13504 Revision Code
Register REG[00h]. This allows monitoring of the bus timing on a logic analyzer.
This source code for the following t est routine was entered into the mem ory of the
MPC821ADS using the line-by-line assembler in MPC8BUG (the debugger provided with
the ADS board). It was run on the ADS and a logic analyzer was used to verify operation
of the interface hardware.

4.6.1 Source Code

BR4 equ $120 ; CS4 base register
OR4 equ $124 ; CS4 option register
MemStart equ $40 ; upper word of S1D13504 start address
DisableReg equ $1b ; address of S1D13504 Disable Register
RevCodeReg equ 0 ; address of Revision Code Register
Start mfspr r1,IMMR ; get base address of internal registers
andis. r1,r1,$ffff ; clear lower 16 bits to 0
andis. r2,r0,0 ; clear r2
oris r2,r2,MemStart ; write base address
ori r2,r2,$0801 ; port size 16 bits; select GPCM; enable
stw r2,BR4(r1) ; write value to base register
andis. r2,r0,0 ; clear r2
oris r2,r2,$ffc0 ; address mask – use upper 10 bits
ori r2,r2,$0708 ; normal CS negation; delay CS ½ clock;
; inhibit burst
stw r2,OR4(r1) ; write to option register
andis. r1,r0,0 ; clear r1
oris r1,r1,MemStart ; point r1 to start of S1D13504 mem space
stb r1,DisableReg(r1) ; write 0 to disable register
Loop lbz r0,RevCodeReg(r1) ; read revision code into r1
b Loop ; branch forever
end