English
Language : 

PC87570 Datasheet, PDF (165/168 Pages) National Semiconductor (TI) – PC87570 Keyboard and Power Management Controller
Bootloader Description
Name
Pin No.
Type 176-Pin 160-Pin
TQFP PQFP
Definition
PH.3 Input
101
PC.0 Output 61
0=8-bit External Memory bus
91
1=16-bit External Memory bus
0=Accepts only limited commands on port 64h during EXT_Mem_Fail routine
55
1=Bootload successful
B.3.2 On-Chip RAM
On-chip RAM is used for variable storage, interrupt dispatch table and stack usage. The addresses used are:
F000h - F00Fh variables (16 bytes)
F010h - F06Fh Interrupt Dispatch Table (96 bytes)
F070h - F3BFh User-assignable
F3C0h - F3DFh Interrupt Stack (32 bytes)
F3E0h - F3FFh Program Stack (32 bytes)
B.4 BOOTLOADER PROGRAM OPERATION
Begin Bootload
If MCFG.6 = 1 (Test Mode)
If PH.3 =1 (16-bit wide bus)
set MCFG.EXM16 (configure MCFG Register for 16-bit bus, SZCFG0.BW = 1 after reset)
Else reset SZCFG0.BW (configure for 8-bit bus, MCFG.EXM16 = 0 after reset)
Jump PC+0x10000 (jump to upper copy of this program)
Set MCFG.SHOFF (turn off Base Memory Shadow which allows access to external memory)
Jump 0 (go to external test routine at address 0 of external memory)
Else (Not in Test Mode)
Reset PSR (clear Program Status Register)
Set DBGCFG.ON (enables debug of boot code when using an ICE)
Jump PC+0x10000 (jump to upper copy of this program)
Initialize SP & ISP (see RAM memory map)
Copy Dispatch Table from this ROM into RAM (RAM address F010 to F06F, 96 bytes)
Initialize INTBASE to point to the Dispatch Table
Set MCFG.SHOFF (turn off Base Memory Shadow which allows access to external memory)
If PH.3 =1 (16-bit wide bus)
Set MCFG.EXM16 (configure MCFG Register for 16-bit bus, SZCFG0.BW = 1 after reset)
Else reset SZCFG0.BW (configure for 8-bit bus, MCFG.EXM16 = 0 after reset)
If STRPST.SHBM = 1 (read Strap Register, Shared BIOS Memory bit)
Set PEALT.1 (Enable A18 External Address Line)
Set MCFG.A15E (A15 External Address Line Enable)
If the four signature bytes in the external memory configuration block are not valid, jump to Config_Mem_Fail
Get address of KBC header
Initialize configuration registers
Copy MCFG data from Config Block into MCFG Register (only CLKOE, EXIOE & EXMA15 bits are copied)
Copy SZCGF0 value from Config Block into SZCFG0 Register (BW bit is not copied)
Copy SZCGF1 value from Config Block into SZCFG1 Register (BW bit is set, Zone 1 always 16-bit wide)
Copy IOCFG value from Config Block into IOCFG Register
Copy BCFG value from Config Block into BCFG Register
Copy PEALT value from Config Block into PEALT Register
Copy Page value from Config Block into Page Register (External memory access now restricted to KBC code)
165
www.national.com