Keyboard Controller Data Sheet: Revision 1.1 Dec. 2008
Keyboard Controller Data Sheet: Revision 1.1 Dec. 2008
Keyboard Controller
Data Sheet
Revision 1.1
Dec. 2008
ENE RESERVES THE RIGHT TO AMEND THIS DOCUMENT WITHOUT NOTICE AT ANY TIME. ENE
ASSUMES NO RESPONSIBILITY FOR ANY ERRORS APPEAR IN THE DOCUMENT, AND ENE DISCLAIMS
ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF ENE PRODUCTS
INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, OR
INFRINGEMENT OF ANY PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS.
Headquarters
4F-1, No.9, Prosperity Rd.,
Science-based Industrial Park,
Hsinchu City, Taiwan, R.O.C
TEL: 886-3-6662888
FAX: 886-3-6662999
http://www.ene.com.tw
Copyright2008, ENE Technology Inc. All rights reserved.
Taipei Office
4F, No.88, Bauchiau Rd.
Shindian City, Taipei,
Taiwan, R.O.C.
TEL: 886-2-89111525
FAX: 886-2-89111523
This document is the property of ENE Technology Corp. It should be returned once unused.
Please do not make any copy of this document and deliver to others.
ii
Revision
Revision
Description
Date
0.1
0.2
1. First Release
1. Fix some ESB description, decoding rangeetc
2. ECCFG[1] reserved
1. Change part number to D1
1. Update power-on state of GPIO0B(Pin 17)
1. The register PLLCFG reset value is 0x70 and the output
frequency is 38MHz
1. Adding programming model/sample code
2008/4
2008/4
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
2008/4
2008/5
2008/6
2008/7
2008/8
2008/8
2008/9
2008/10
2008/12
ii
CONTENT
CONTENT ............................................................................................................... III
1. GENERAL DESCRIPTION .................................................................................. 0
1.1 OVERVIEW ........................................................................................................ 0
1.2 FEATURES ........................................................................................................ 1
1.3 COMPARISON (KB926C VS. KB926D ) .............................................................. 6
1.4 BLOCK DIAGRAM .............................................................................................. 7
2. PIN ASSIGNMENT AND DESCRIPTION ............................................................ 8
2.1 KB926D 128-PIN LQFP DIAGRAM TOP VIEW ..................................................... 8
2.2 KB926D 128 LFBGA BALL MAP ...................................................................... 9
2.3 KB926D PIN ASSIGNMENT SIDE A ................................................................... 10
2.4 KB926D PIN ASSIGNMENT SIDE B................................................................... 11
2.5 KB926D PIN ASSIGNMENT SIDE C................................................................... 12
2.6 KB926D PIN ASSIGNMENT SIDE D................................................................... 13
2.7 I/O CELL DESCRIPTIONS .................................................................................. 14
2.7.1 I/O Buffer Table ..................................................................................... 14
3. PIN DESCRIPTIONS ......................................................................................... 15
3.1 HARDWARE TRAP ........................................................................................... 15
3.2 PIN DESCRIPTIONS BY FUNCTIONS ................................................................... 16
3.2.1 Low Pin Count I/F Descriptions. ......................................................... 16
3.2.2 SPI Flash I/F Descriptions ................................................................... 16
3.2.3 PS/2 I/F Descriptions............................................................................ 16
3.2.4 Internal Keyboard Encoder (IKB) Descriptions ................................. 17
3.2.5 SMBus Descriptions ............................................................................ 17
3.2.6 FAN Descriptions ................................................................................. 17
3.2.7 Pulse Width Modulation (PWM) Descriptions .................................... 17
3.2.8 Analog-to-Digital Converter Descriptions .......................................... 17
3.2.9 Digital-to-Analog Converter Descriptions .......................................... 17
3.2.10 8051 External I/F Descriptions .......................................................... 18
3.2.11 External Clock Descriptions .............................................................. 18
3.2.12 Miscellaneous Signals Descriptions ................................................ 18
3.2.13 Power Pins Descriptions ................................................................... 18
Copyright2008, ENE Technology Inc.
iii
iv
vi
vii
1. General Description
1.1 Overview
The KB926D is an embedded controller with LPC interface to connect with host. The
embedded controller contains industrial standard 8051 microprocessor and provides function of
i8042 keyboard controller basically. The KB926D is designed with Shared-ROM architecture with
SPI flash. The EC firmware and system BIOS will exist in one SPI flash. The embedded controller
also features rich interfaces for applications, such as PS/2 interface, Keyboard Matrix, PWM, A/D
converter, D/A converter, Fan controller, SMBus controller, GPIO controllers and extension interface
for future applications. The chapter 1.2 highlights of all features in the KB926D.
1.2 Features
LPC Low Pin Count Interface
SIRQ supporting IRQ1, IRQ12, SCI or SMI# interrupt and one programmable
IRQ provided.
I/O Address Decoding:
Legacy KBC I/O port 60h/64h
Programmable EC I/O port, 62h/66h(recommend)
I/O port 68h/6Ch (sideband)
2 Programmable 4-byte Index-I/O ports to access internal EC registers.
1 Programmable extended (debug) port I/O.
Memory Decoding:
Firmware Hub decode
LPC memory decode
Compatible with LPC specification v1.1
8051 Microprocessor
Compatible with industrial 8051 instructions with 3 cycles.
8051 runs at 8/16/22 MHz, programmable.
128 bytes internal RAM.
24 extended interrupt sources.
Two 16-bit timers.
Full duplex UART integrated.
Supports idle and stop mode.
Enhanced embedded debug interface.
PS/2 Controller
Support at most 3 external PS/2 devices.
External PS/2 device operation in firmware mode.
FAN Controller
Two fan controllers with tachometer inputs.
Automatic fan control support.
12-bit FANPWM support.
Consumer IR (CIR)
Several protocols decoded/encoded by hardware.
Interrupt for CIR application.
Support wide/narrow band receiver.
Transmit/Receive simultaneously.
Remote power-on support.
Power Management
Sleep mode: 8051 program counter (PC) stops and enters idle mode.
Deep sleep mode: All clocks stop except external 32.768KHz OSC. 8051
enters stop mode.
Package
128-pin LQFP package, Lead Free (RoHS).
128-ball LFBGA package, Lead Free (RoHS).
EDI
ESB
SDI
Package
Dimension
KB926C
8051
2KB
2 index-I/O sets
SPI ROM: 4MB
KB926D
8051
2KB
2 index-I/O sets
SPI ROM: 4MB
Enhanced pre-fetch mechanism.
Support
Six 10-bit ADC channels
Four 8-bit DAC channels
20 bit
6 sets
PWM0/1
8 bit
PWM2/3
14 bit
FANPWM0/1 12 bit
3
Programmable Bi-direction I/O
GPIO pass through : 1 pair
Max GPIO: 100(926D)
18x8
2
4
2
Byte mode support
Hardware encode/decode
IRQ and I/O port support
Carrier frequency calculation
TX with carrier modulation
Learning mode support
TX/RX simultaneously
Support
Support and Enhanced
Support
128 LQFP
14mmx14mm
support
Six 10-bit ADC channels
Four 8-bit DAC channels
20 bit
6 sets
PWM0/1
8 bit
PWM2/3
14 bit
FANPWM0/1 12 bit
3
Programmable Bi-direction I/O
GPIO pass through : 1 pair
Max GPIO: 100(926C)
18x8
2
4
2
Byte mode support
Hardware encode/decode
IRQ and I/O port support
Carrier frequency calculation
TX with carrier modulation
Learning mode support
None
Support
Support
128 LQFP
14mmx14mm
SERIRQ
LFRAME#
LAD3
GPIO04
LAD2
LAD1
VCC
LAD0
GND
PCICLK
PCIRST#
18
19
20
21
22
23
GPIO0D
SCI#
PWM0
VCC
PWM1
28
29
30
31
32
FANFB0
FANFB1
GPIO16
GPIO17
GPIO18
27
26
FANPWM0
FANPWM1
25
24
GPIO11
GND
17
GPIO0C
16
GPIO08
GPIO0A
GPIO0B
15
14
KBRST#
GPIO07
GA20
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
VCC
AD2
AD3
AVCC
DA0
AGND
DA1
DA2
DA3
GPIO40
GPIO41
GPI 4 2
GPI 43
SCL0
SDA0
SCL1
SDA1
KSO16
KSO17
PSCLK0
PSDAT0
PSCLK1
PSDAT1
PSCLK2
PSDAT2
GPIO50
GPIO52
GPIO53
GPIO55
GPIO54
GND
GPIO56
KB926D
Pin No.
BGA
Name
GPIO
Alt
Alt.
Output
Input
Default
ECRST#
IO CELL
M2
GA20
GA20
GPIO00
HiZ / HiZ
BQC04HIV
L2
KBRST#
KBRST#
GPIO01
HiZ / HiZ
BQC04HIV
M3
SERIRQ
HiZ / HiZ
BCC16HI
K4
LFRAME#
HiZ / HiZ
BCC16HI
N3
LAD3
HiZ / HiZ
BCC16HI
J5
GPIO04
HiZ / HiZ
BQC04HIV
M4
LAD2
HiZ / HiZ
BCC16HI
K5
LAD1
HiZ / HiZ
BCC16HI
J7/K12/M12
VCC
10
N4
LAD0
11
J8/J9/N13
GND
12
N5
PCICLK
13
M5
PCIRST#
14
N9
GPIO07
GPIO07
15
L13
GPIO08
GPIO08
16
K6
GPIO0A
GPIO0A
17
N7
GPIO0B
GPIO0B
ESB_CLK
18
M7
GPIO0C
GPIO0C
ESB_DAT_O
19
N8
GPIO0D
GPIO0D
20
N6
SCI#
21
M9
22
L/H
GPIO04
VCC
HiZ / HiZ
BCC16HI
GND
IE/IE
BCC16HI
GPIO05
HiZ / IE
BCC16HI
i_clk_8051
GPIO07
HiZ / HiZ
BQC04HIV
i_clk_peri
GPIO08
HiZ / HiZ
BQC04HIV
GPIO0A
HiZ / HiZ
BQC04HIV
GPIO0B
PU / PU
BQCW16HIV
GPIO0C
HiZ / HiZ
BQCW16HIV
RLC_TX2
GPIO0D
HiZ / HiZ
BQC04HIV
GPIO0E
SCI#
GPIO0E
HiZ / HiZ
BQC04HIV
PWM0
GPIO0F
PWM0
GPIO0F
HiZ / HiZ
BQC04HI
K7
VCC
VCC
23
M8
PWM1
GPIO10
24
J10
GND
GND
25
K8
GPIO11
GPIO11
PWM2
GPIO11
HiZ / HiZ
BQC04HIV
26
M10
FANPWM0
GPIO12
FANPWM0
GPIO12
HiZ / HiZ
BQC04HI
27
N10
FANPWM1
GPIO13
FANPWM1
GPIO13
HiZ / HiZ
BQC04HI
28
M11
FANFB0
GPIO14
FANFB0
GPIO14
HiZ / HiZ
BQC04HI
29
N11
FANFB1
GPIO15
FANFB1
GPIO15
HiZ / HiZ
BQC04HI
30
K10
GPIO16
GPIO16
E51TXD
GPIO16
HiZ / HiZ
BQC04HI
31
K9
GPIO17
GPIO17
E51CLK
GPIO17
HiZ / HiZ
BQC04HI
32
N12
GPIO18
GPIO18
GPIO18
HiZ / HiZ
BQC04HIV
PCIRST#
RLC_RX2
ESB_DAT_I
VCC
PWM1
GPIO10
HiZ / HiZ
BQC04HI
GND
E51RXD
10
KB926D
Name
GPIO
Alt
Alt.
Pin No.
BGA
Output
Input
33
J7/K12/M12
VCC
34
M13
GPIO19
35
J8/J9/N13
GND
36
L12
GPIO1A
37
K13
ECRST#
38
M6
CLKRUN#
GPIO1D
CLKRUN#
CLKRUN#
39
J13
KSO0
GPIO20
KSO0
40
J12
KSO1
GPIO21
41
H12
KSO2
42
H13
43
Default
ECRST#
IO CELL
L/H
VCC
GPIO19
PWM3
GPIO19
HiZ / HiZ
BCC16HI
GND
GPIO1A
HiZ / HiZ
BCC16HI
IE / IE
BQC04HIV
GPIO1D
HiZ / HiZ
BCC16HI
TP_TEST
GPIO20
IE(PU)/IE(PU)
BQC04HIV
KSO1
TP_PLL
GPIO21
IE(PU)/IE(PU)
BQC04HIV
GPIO22
KSO2
TP_ANA_TEST
GPIO22
IE(PU)/IE(PU)
BQC04HIV
KSO3
GPIO23
KSO3
TP_ISP
GPIO23
IE(PU)/IE(PU)
BQC04HIV
H10
KSO4
GPIO24
KSO4
GPIO24
HiZ / HiZ
BQC04HIV
44
H9
KSO5
GPIO25
KSO5
GPIO25
HiZ / HiZ
BQC04HIV
45
G9
KSO6
GPIO26
KSO6
GPIO26
HiZ / HiZ
BQC04HIV
46
G10
KSO7
GPIO27
KSO7
GPIO27
HiZ / HiZ
BQC04HIV
47
G13
KSO8
GPIO28
KSO8
GPIO28
HiZ / HiZ
BQC04HIV
48
G12
KSO9
GPIO29
KSO9
GPIO29
HiZ / HiZ
BQC04HIV
49
F13
KSO10
GPIO2A
KSO10
GPIO2A
HiZ / HiZ
BQC04HIV
50
F12
KSO11
GPIO2B
KSO11
GPIO2B
HiZ / HiZ
BQC04HIV
51
F10
KSO12
GPIO2C
KSO12
GPIO2C
HiZ / HiZ
BQC04HIV
52
F9
KSO13
GPIO2D
KSO13
GPIO2D
HiZ / HiZ
BQC04HIV
53
E10
KSO14
GPIO2E
KSO14
GPIO2E
HiZ / HiZ
BQC04HIV
54
E9
KSO15
GPIO2F
KSO15
E51_RXD(ISP)
GPIO2F
HiZ / HiZ
BQC04HIV
55
D9
KSI0
GPIO30
E51_TXD(ISP)
KSI0
GPIO30
IE(PU)/IE(PU)
BQC04HIV
56
E12
KSI1
GPIO31
KSI1
GPIO31
IE(PU)/IE(PU)
BQC04HIV
57
E13
KSI2
GPIO32
KSI2
GPIO32
IE(PU)/IE(PU)
BQC04HIV
58
D12
KSI3
GPIO33
KSI3
GPIO33
IE(PU)/IE(PU)
BQC04HIV
59
D13
KSI4
GPIO34
KSI4/EDI_CS
GPIO34
IE(PU)/IE(PU)
BQC04HIV
60
C12
KSI5
GPIO35
KSI5/EDI_CLK
GPIO35
IE(PU)/IE(PU)
BQC04HIV
61
C13
KSI6
GPIO36
KSI6/EDI_DIN
GPIO36
IE(PU)/IE(PU)
BQC04HIV
62
D10
KSI7
GPIO37
KSI7
GPIO37
IE(PU)/IE(PU)
BQC04HIV
63
B13
AD0
GPI38
AD0
GPI38
HiZ / HiZ
IQTHI
64
A13
AD1
GPI39
AD1
GPI39
HiZ / HiZ
IQTHI
NUMLED#
GPIO1A
EDI_DO
11
KB926D
Name
GPIO
Alt
Alt.
Output
Input
Default
ECRST#
IO CELL
Pin No.
BGA
65
B12
AD2
GPI3A
AD2
GPI3A
HiZ / HiZ
IQTHI
66
A12
AD3
GPI3B
AD3
GPI3B
HiZ / HiZ
IQTHI
67
B11
AVCC
68
B10
DA0
69
A11
AGND
70
A9
DA1
GPO3D
DA1
GPO3D
HiZ / HiZ
OCT04H
71
A10
DA2
GPO3E
DA2
GPO3E
HiZ / HiZ
OCT04H
72
B9
DA3
GPO3F
DA3
GPO3F
HiZ / HiZ
OCT04H
73
B6
GPIO40
GPIO40
GPIO40
HiZ / HiZ
BQC04HI
74
B7
GPIO41
GPIO41
GPIO41
HiZ / HiZ
BQC04HIV
75
E7
AD4
GPI42
AD4
GPI42
HiZ / HiZ
IQTHI
76
D7
AD5
GPI43
AD5
GPI43
HiZ / HiZ
IQTHI
77
A8
SCL0
GPIO44
SCL0
GPIO44
HiZ / HiZ
BQC04HI
78
A7
SDA0
GPIO45
SDA0
GPIO45
HiZ / HiZ
BQC04HI
79
B8
SCL1
GPIO46
SCL1
GPIO46
HiZ / HiZ
BQC04HI
80
A6
SDA1
GPIO47
SDA1
GPIO47
HiZ / HiZ
BQC04HI
81
E8
KSO16
GPIO48
KSO16
GPIO48
HiZ / HiZ
BQC04HIV
82
D8
KSO17
GPIO49
KSO17
GPIO49
HiZ / HiZ
BQC04HIV
83
D6
PSCLK0
GPIO4A
PSCLK0/P80CLK
GPIO4A
HiZ / HiZ
BQC04HI
84
E6
PSDAT0
GPIO4B
PSDAT0/P80DAT
GPIO4B
HiZ / HiZ
BQC04HI
85
E5
PSCLK1
GPIO4C
PSCLK1
GPIO4C
HiZ / HiZ
BCC16HI
86
D5
PSDAT1
GPIO4D
PSDAT1
GPIO4D
HiZ / HiZ
BCC16HI
87
A5
PSCLK2
GPIO4E
PSCLK2
GPIO4E
HiZ / HiZ
BQC04HI
88
B5
PSDAT2
GPIO4F
PSDAT2
GPIO4F
HiZ / HiZ
BQC04HI
89
B4
GPIO50
GPIO50
GPIO50
HiZ / HiZ
BQC04HI
90
A4
GPIO52
GPIO52
E51CS#
GPIO52
HiZ / HiZ
BCC16HI
91
B3
GPIO53
GPIO53
CAPSLED#
E51TMR1
GPIO53
HiZ / HiZ
BCC16HI
92
A3
GPIO54
GPIO54
WDT_LED#
E51TMR0
GPIO54
HiZ / HiZ
BCC16HI
93
A2
GPIO55
GPIO55
SCROLED#
E51INT0
GPIO55
HiZ / HiZ
BCC16HI
94
J8/J9/N13
GND
95
B2
GPIO56
96
J7/K12/M12
VCC
L/H
AVCC
GPO3C
DA0
GPO3C
HiZ / HiZ
OCT04H
AGND
CIR_RX
CIR_RLC_TX
GND
GPIO56
E51INT1
GPIO56
HiZ / HiZ
BQC04HIV
VCC
12
KB926D
Pin No.
BGA
97
B1
GPXIOA00
GPXIOA00
SDICS#
HiZ / HiZ
BQC04HIV
98
A1
GPXIOA01
GPXIOA01
SDICLK
HiZ / HiZ
BQC04HIV
99
C1
GPXIOA02
GPXIOA02
SDIMOSI
HiZ / HiZ
BQC04HIV
100
D4
GPXIOA03
GPXIOA03
HiZ / HiZ
BQC04HIV
101
D1
GPXIOA04
GPXIOA04
HiZ / HiZ
BQC04HIV
102
D2
GPXIOA05
GPXIOA05
HiZ / HiZ
BQC04HIV
103
E2
GPXIOA06
GPXIOA06
HiZ / HiZ
BQC04HIV
104
E4
GPXIOA07
GPXIOA07
HiZ / HiZ
BQC04HIV
105
E1
GPXIOA08
GPXIOA08
HiZ / HiZ
BQCZ16HIV
106
F4
GPXIOA09
GPXIOA09
HiZ / HiZ
BQCZ16HIV
107
F2
GPXIOA10
GPXIOA10
HiZ / HiZ
BQCZ16HIV
108
F1
GPXIOA11
GPXIOA11
HiZ / HiZ
BQCZ16HIV
109
C2
GPXIOD0
GPXIOD0
HiZ / HiZ
BQC04HIV
110
F5
GPXIOD1
GPXIOD1
HiZ / HiZ
BQC04HIV
111
J6
VCC
HiZ / HiZ
VCC
112
G1
GPXIOD2
HiZ / HiZ
BQC04HIV
113
G2
GND
HiZ / HiZ
GND
114
G5
GPXIOD3
GPXIOD3
HiZ / HiZ
BQC04HIV
115
H1
GPXIOD4
GPXIOD4
HiZ / HiZ
BQC04HIV
116
G4
GPXIOD5
GPXIOD5
HiZ / HiZ
BQC04HIV
117
H4
GPXIOD6
GPXIOD6
HiZ / HiZ
BQC04HIV
118
H2
GPXIOD7
GPXIOD7
HiZ / HiZ
BQC04HIV
119
K2
MISO
MISO
HiZ / IE
BQC04HI
120
J2
MOSI
MOSI
MOSI
HiZ / Ox
BQCZ16HIV
121
H5
GPIO57
XCLK32K
GPIO57
HiZ / HiZ
BQC04HIV
122
J1
XCLKI
123
K1
XCLKO
124
L1
V18R
125
J4
VCC
126
M1
SPICLK
GPIO58
GPIO59
GPIO59
127
Name
GPIO
Alt
Alt.
Output
Input
GPXIOD2
MISO
GPIO57
N2
ECRST#
IO CELL
L/H
SDIMISO
VCC
SPICLK
TEST_CLK
N1
128
Default
SPICLK
HiZ / Ox
BQCW16HIV
GPIO59
IE / IE
BQC04HIV
SPICS#
HiZ / Ox
BQCZ16HIV
SPICLKI
SPICS#
SPICS#
13
Description
Application
GPIO
Schmitt trigger, 4mA Output / Sink Current, Input / Output / Pull Up Enable(40K
GPIO
), 5 V Tolerance
BQCW16HIV
Schmitt trigger, 16mA Output / Sink Current, 5 V Tolerance, Input / Output / Pull
Up Enable
ESB_CLK/
ESB_DAT/
SPI_CLK
BCC16HI
LPC I/F
BQC04HI
GPIO
IQTHI
ADC, GPI
OCT04H
Mixed mode IO, DAC Enable, with GPO, 4mA Output Current, Output Enable
DAC, GPO
14
3. Pin Descriptions
3.1 Hardware Trap
Hardware trap pins are used to latch external signal at rising edge of ECRST#. The hardware
trap pins are for some special purpose which should be defined while boot-up. The following table
gives the collection of hardware trap pins. Please note, all the following hardware trap pins are
pull-high internally after reset.
Trap Name
TP_TEST
Pin No.
Description
39
While this trap is asserted to be low, the internal DPLL circuit uses other clock source
for reference, instead of 32KHz oscillator.
Low: test clock mode enable
High: normal mode using 32KHz oscillator.
TP_PLL
40
While this trap is asserted to be low, some DPLL related signals can be output for
test.
Low: DPLL test mode enable.
High: DPLL test mode disable
TP_ANA_TEST
41
While this trap is asserted to be low, some ADC related signals can be output for
test.
Low: ADC test mode enable.
High: ADC test mode disable
TP_ISP
42
While this trap is asserted to be low, SPI Flash can be programmed via RS232 I/F,
i.e., TX and RX. Please note, while entering ISP mode, the TX/RX pins are linked to
GPIO30/GPIO2F
Low: SPI flash programming in ISP mode enable
High: SPI flash programming in ISP mode disable
Please note while TP_ANA_TEST and TP_ISP keep low at the same time, a mechanism called FlashDirectAccess will
enable. That is, users can flush and program a SPI flash via specific IKB pins with external tool.
FlashDirectAccess:
The KBC provides a new interface to program SPI flash via IKB interface. With this feature, users can easily utilize 4 pins
from keyboard matrix (IKB) without disassembly whole machine. These 4 pins are connected directly to external SPI
programmer. The following table shows the pins mapping while entering FlashDirectAccess mode.
Pin No.
Normal Mode
FlashDirectAccess Mode
47
KSO8 (O)
FDA_SPICLK (I)
48
KSO9 (O)
FDA_SPICS
(I)
49
KSO10 (O)
FDA_SPIDI
(I)
50
KSO11 (O)
FDA_SPIDO (O)
Comment
15
Pin No.
Direction
5, 7,8,10
I/O
LFARAME#
PCIRST#
13
PCICLK
12
SERIRQ
I/O
CLKRUN#
38
I/OD
LAD[3:0]
Description
LPC address bus.
Serial IRQ
Clock run control
Pin No.
Direction
Description
MISO
119
MOSI
120
SPICLK
126
SPICS#
128
Pin No.
Direction
PSCLK0
83
I/OD
PSDAT0
84
I/OD
PSCLK1
85
I/OD
PSDAT1
86
I/OD
PSCLK2
87
I/OD
PSDAT2
88
I/OD
Description
16
Pin No.
Direction
Description
82,81,54-39
62-55
Keyboard Scan In
Pin No.
Direction
Description
SCL0
77
I/OD
SDA0
78
I/OD
SCL1
79
I/OD
SDA1
80
I/OD
Pin No.
Direction
Description
FANPWM0
26
FANPWM0 output
FANPWM1
27
FANPWM1 output
FANFB0
28
FANFB1
29
Pin No.
Direction
23, 21
Description
PWM pulse output
Pin No.
Direction
Description
AD[3:0]
66-63
AD[5:4]
76,75
Pin No.
Direction
72-70,68
Description
8bit D/A converter output
17
Pin No.
Direction
Description
E51TXD
30
E51RXD
31
E51CLK
31
E51CS#
90
E51TMR0
92
E51INT0
93
E51TMR1
91
E51INT1
95
Pin No.
Direction
Description
XCLKI
122
32.768KHz input
XCLKO
123
32.768KHz output
Pin No.
Direction
Description
GA20
KBRST#
SCI#
20
ECRST#
37
Pin No.
Direction
Description
VCC
9,22,33,96,111,125
GND
11,24,35,94,113
AVCC
67
AGND
69
18
4. Module Descriptions
4.1 Chip Architecture
4.1.1 Power Planes
Two power planes are in the KBC. One is for digital logic and the other is for analog
circuit. Both power planes are 10% tolerance for recommend operation condition, The KBC
provides V1.8 power plane for different generation.
Power Plane
Description
Power
Ground
Digital Plane
This power provides power for all digital logic no matter what
power mode is.
VCC
GND
Analog Plane
This power provides power for all analog logic, such as A/D
and D/A converter.
AVCC
AGND
Digital V1.8
V1.8
GND
19
Description
PCICLK
DPLL_CLK
Main clock for 8051/peripheral. DPLL clock can be generated with or without XCLK for
reference. DPLL clock can be divided for different applications. Fig. 4-1 gives an example for
illustration.
XCLKI
The following figure shows more detail about the operation in the KBC. The external
32.768KHz is provided for two purposes. One is to provide an accurate reference for internal DPLL
module, and the other one is to provide another clock source for watchdog timer.
CLKCFG[6]=1
(X,Y,Z)=(4,8,16) *
(X,Y,Z)=(1,8,16)
CLKCFG[3:2]=1
(X,Y,Z)=(2,4,8)
(X,Y,Z)=(1,4,8)
CLKCFG[3:2]=2
(X,Y,Z)=(2,3,8)
(X,Y,Z)=(1,3,8)
CLKCFG[3:2]=3
(X,Y,Z)=(2,2,4)
(X,Y,Z)=(1,2,4)
CLKCFG[3:2]=0(default)
* While power on default, no matter what value of CLKCFG[3:2] and CLKCFG[6] are,
the (X,Y,Z) is always (4, 8, 16)
20
21
Module
Descriptions
Address Range
Size (Byte)
Flash
0x0000~0xF3FF
61K
XRAM
Embedded SRAM
0xF400~0xFBFF
2K
GPIO
0xFC00~0xFC7F
128
KBC
Keyboard controller
0xFC80~0xFC8F
16
ESB
0xFC90~0xFC9F
16
IKB
0xFCA0~0xFCAF
16
RSV
Reserved
0xFCB0~0xFCBF
16
RSV
Reserved
0xFCC0~0xFCCF
16
RSV
Reserved
0xFCD0~0xFCDF
16
10
RSV
Reserved
0xFCE0~0xFCEF
16
11
RSV
Reserved
0xFCF0~0xFDFF
272
12
PWM
0xFE00~0xFE1F
32
13
FAN
Fan controller
0xFE20~0xFE4F
48
14
GPT
0xFE50~0xFE6F
32
15
SDI
0xFE70~0xFE7F
16
16
WDT
Watchdog timer
0xFE80~0xFE8F
16
17
LPC
0xFE90~0xFE9F
16
18
XBI
X-bus interface
0xFEA0~0xFEBF
32
19
CIR
Consumer IR controller
0xFEC0~0xFECF
16
20
RSV
Reserved
0xFED0~0xFEDFh
16
21
PS2
PS/2 interface
0xFEE0~0xFEFF
32
22
EC
Embedded controller
0xFF00~0xFF1F
32
23
GPWU
0xFF20~0xFF7F
96
24
SMBus
0xFF80~0xFFFF
128
22
1K
4.2 GPIO
4.2.1 GPIO Function Description
The GPIO module is flexible for different applications. Each GPIO pin can be configured
as alternative input or alternative output mode. The alternative function can be selected by register
setting. A summary table is given as below for more detail.
GPIO
Alt. Output
GPIO00
GPIO01
GA20
GPIO00
GPIOFS00.[0]
KBRST#
GPIO01
GPIOFS00.[1]
GPIO02
GPIO02
GPIOFS00.[2]
GPIO03
GPIO03
GPIOFS00.[3]
GPIO04
GPIO04
GPIOFS00.[4]
GPIO05
GPIOFS00.[5]
GPIO06
GPIOFS00.[6]
GPIO05
Alt. Input
PCIRST#
GPIO06
GPIO07
i_clk(8051)
GPIO07
GPIOFS00.[7]
GPIO08
i_clk(peripheral)
GPIO08
GPIOFS08.[0]
GPIO09
GPIOFS08.[1]
GPIO09
GPIO0A
RLC_RX2
GPIO0A
GPIOFS08.[2]
GPIO0B
GPIOFS08.[3]
GPIO0C
GPIOFS08.[4]
RLC_TX2
GPIO0D
GPIOFS08.[5]
GPIO0E
SCI#
GPIO0E
GPIOFS08.[6]
GPIO0F
PWM0
GPIO0F
GPIOFS08.[7]
GPIO10
PWM1
GPIO10
GPIOFS10.[0]
GPIO11
PWM2
GPIO11
GPIOFS10.[1]
GPIO12
FANPWM0
GPIO12
GPIOFS10.[2]
GPIO13
FANPWM1
GPIO13
GPIOFS10.[3]
GPIO0B
ESB_CLK
GPIO0C
ESB_DAT
GPIO0D
ESB_DAT_I
GPIO14
FANFB0
GPIO14
GPIOFS10.[4]
GPIO15
FANFB1
GPIO15
GPIOFS10.[5]
GPIO16
GPIOFS10.[6]
GPIO17
GPIOFS10.[7]
GPIO16
E51TXD
GPIO17
E51CLK
E51RXD
GPIO18
GPIO18
GPIOFS18.[0]
GPIO19
PWM3
GPIO19
GPIOFS18.[1]
GPIO1A
NUMLED#
GPIO1A
GPIOFS18.[2]
GPIO1B
GPIO1B
GPIOFS18.[3]
GPIO1C
GPIO1C
GPIOFS18.[4]
GPIO1D
GPIOFS18.[5]
GPIO1E
GPIO1E
GPIOFS18.[6]
GPIO1F
GPIO1F
GPIOFS18.[7]
GPIO1D
CLKRUN#
CLKRUN#
GPIO20
KSO00
TP_TEST
GPIO20
GPIOFS20.[0]
GPIO21
KSO01
TP_PLL
GPIO21
GPIOFS20.[1]
GPIO22
KSO02
TP_ANA_TEST
GPIO22
GPIOFS20.[2]
23
Alt. Output
Alt. Input
GPIO23
KSO03
TP_ISP
GPIO23
GPIOFS20.[3]
GPIO24
KSO04
GPIO24
GPIOFS20.[4]
GPIO25
KSO05
GPIO25
GPIOFS20.[5]
GPIO26
KSO06
GPIO26
GPIOFS20.[6]
GPIO27
KSO07
GPIO27
GPIOFS20.[7]
GPIO28
KSO08
GPIO28
GPIOFS28.[0]
GPIO29
KSO09
GPIO29
GPIOFS28.[1]
GPIO2A
KSO10
GPIO2A
GPIOFS28.[2]
GPIO2B
KSO11
GPIO2B
GPIOFS28.[3]
GPIO2C
KSO12
GPIO2C
GPIOFS28.[4]
GPIO2D
KSO13
GPIO2D
GPIOFS28.[5]
GPIO2E
KSO14
GPIO2E
GPIOFS28.[6]
GPIO2F
KSO15
E51_RXD(ISP)
GPIO2F
GPIOFS28.[7]
GPIO30
E51_TXD(ISP)
KSI0
GPIO30
GPIOFS30.[0]
GPIO31
KSI1
GPIO31
GPIOFS30.[1]
GPIO32
KSI2
GPIO32
GPIOFS30.[2]
GPIO33
KSI3
GPIO33
GPIOFS30.[3]
GPIO34
KSI4
GPIO34
GPIOFS30.[4]
GPIO35
KSI5
GPIO35
GPIOFS30.[5]
GPIO36
KSI6
GPIO36
GPIOFS30.[6]
GPIO37
KSI7
GPIO37
GPIOFS30.[7]
GPI38
AD0
GPIOFS38.[0]
GPI39
AD1
GPIOFS38.[1]
GPI3A
AD2
GPIOFS38.[2]
GPI3B
AD3
GPIOFS38.[3]
GPO3C
DA0
GPIO3C
GPIOFS38.[4]
GPO3D
DA1
GPIO3D
GPIOFS38.[5]
GPO3E
DA2
GPIO3E
GPIOFS38.[6]
GPO3F
DA3
GPIO3F
GPIOFS38.[7]
GPIO40
GPIOFS40.[0]
GPIO41
GPIOFS40.[1]
GPIO40
GPIO41
CIR_RX
CIR_RLC_TX
GPIO42
AD4
GPIOFS40.[2]
GPIO43
AD5
GPIOFS40.[3]
GPIO44
SCL0
GPIO44
GPIOFS40.[4]
GPIO45
SDA0
GPIO45
GPIOFS40.[5]
GPIO46
SCL1
GPIO46
GPIOFS40.[6]
GPIO47
SDA1
GPIO47
GPIOFS40.[7]
GPIO48
KSO16
GPIO48
GPIOFS48.[0]
GPIO49
KSO17
GPIO49
GPIOFS48.[1]
GPIO4A
PSCLK0/P80CLK
GPIO4A
GPIOFS48.[2]
GPIO4B
PSDAT0/P80DAT
GPIO4B
GPIOFS48.[3]
GPIO4C
PSCLK1
GPIO4C
GPIOFS48.[4]
24
Alt. Output
GPIO4D
Alt. Input
PSDAT1
GPIO4D
GPIOFS48.[5]
GPIO4E
PSCLK2
GPIO4E
GPIOFS48.[6]
GPIO4F
PSDAT2
GPIO4F
GPIOFS48.[7]
GPIO50
GPIO50
GPIOFS50.[0]
GPIO51
GPIO51
GPIOFS50.[1]
GPIO52
GPIOFS50.[2]
GPIO52
E51CS#
GPIO53
CAPSLED#
E51TMR1
GPIO53
GPIOFS50.[3]
GPIO54
WDT_LED#
E51TMR0
GPIO54
GPIOFS50.[4]
GPIO55
SCORLED#
E51INT0
GPIO55
GPIOFS50.[5]
E51INT1
GPIO56
GPIOFS50.[6]
GPIO56
GPIO57
XCLK32K
GPIO57
GPIOFS50.[7]
GPIO58
SPICLK
GPIO58
GPIOFS58.[0]
GPIO59
TEST_CLK/SPICLK
GPIO59
GPIOFS58.[1]
GPXIOA00
SDICS#
GPIO_MISC.[2]
GPXIOA01
SDICLK
GPIO_MISC.[2]
GPXIOA02
SDIDO
GPIO_MISC.[2]
GPXIOA03
GPXIOA04
GPXIOA05
GPXIOA06
GPXIOA07
GPXIOA08
GPXIOA09
GPXIOA10
GPXIOA11
GPXIOA12
GPXIOA13
GPXIOA14
GPXIOA15
GPXIOA16
GPXIOA17
GPXIOA18
GPXIOD00
SDIDI
GPXIOD01
GPXIOD02
GPXIOD03
GPXIOD04
GPXIOD05
GPXIOD06
GPXIOD07
In KB926D, these GPIO pins no more exist. The corresponding register bits do not work.
If DAC function selected, please do not set this register bit.
25
26
Alt.
Alt.
Default
Alt. Selection
Input
Output
Pull Up
Open
Output
Output
Input
Alt. Output
Reg.
Enable
Enable
(40K)
Drain
Current
GPIO00
GA20
GPIO00
GPIOFS00.[0]
2-4mA
GPIO01
KBRST#
GPIO01
GPIOFS00.[1]
2-4mA
GPIO02
GPIO02
GPIOFS00.[2]
GPIO03
GPIO03
GPIOFS00.[3]
GPIO04
GPIOFS00.[4]
2-4mA
GPIO05
GPIOFS00.[5]
8-16mA
GPIO06
GPIOFS00.[6]
GPIO04
GPIO05
PCIRST#
GPIO06
GPIO07
i_clk(8051)
GPIO07
GPIOFS00.[7]
2-4mA
GPIO08
i_clk(peripheral)
GPIO08
GPIOFS08.[0]
2-4mA
2-4mA
GPIO09
GPIOFS08.[1]
RLC_RX2
GPIO0A
GPIOFS08.[2]
GPIO0B
GPIOFS08.[3]
8-16mA
ESB_DAT_I
GPIO0C
GPIOFS08.[4]
2-4mA
GPIOFS08.[5]
2-4mA
GPIO09
GPIO0A
GPIO0B
ESB_CLK
GPIO0C
ESB_DAT
GPIO0D
RLC_TX2
GPIO0D
GPIO0E
SCI#
GPIO0E
GPIOFS08.[6]
2-4mA
GPIO0F
PWM0
GPIO0F
GPIOFS08.[7]
2-4mA
GPIO10
PWM1
GPIO10
GPIOFS10.[0]
2-4mA
GPIO11
PWM2
GPIO11
GPIOFS10.[1]
2-4mA
GPIO12
FANPWM0
GPIO12
GPIOFS10.[2]
2-4mA
GPIO13
FANPWM1
GPIO13
GPIOFS10.[3]
2-4mA
2-4mA
GPIO14
FANFB0
GPIO14
GPIOFS10.[4]
GPIO15
FANFB1
GPIO15
GPIOFS10.[5]
2-4mA
GPIO16
GPIOFS10.[6]
2-4mA
GPIO16
E51TXD
GPIO17
E51CLK
E51RXD
GPIO18
GPIO17
GPIOFS10.[7]
GPIO18
GPIOFS18.[0]
2-4mA
2-4mA
GPIO19
PWM3
GPIO19
GPIOFS18.[1]
8-16mA
GPIO1A
NUMLED#
GPIO1A
GPIOFS18.[2]
8-16mA
GPIO1B
GPIOFS18.[3]
GPIO1C
GPIOFS18.[4]
GPIO1D
GPIOFS18.[5]
8-16mA
GPIO1B
GPIO1C
GPIO1D
CLKRUN#
CLKRUN#
GPIO1E
GPIO1E
GPIOFS18.[6]
GPIO1F
GPIO1F
GPIOFS18.[7]
GPIO20
KSO00
TP_TEST
GPIO20
GPIOFS20.[0]
2-4mA
GPIO21
KSO01
TP_PLL
GPIO21
GPIOFS20.[1]
2-4mA
GPIO22
KSO02
TP_ANA_TEST
GPIO22
GPIOFS20.[2]
2-4mA
GPIO23
KSO03
TP_ISP
GPIO23
GPIOFS20.[3]
2-4mA
GPIO24
KSO04
GPIO24
GPIOFS20.[4]
2-4mA
GPIO25
KSO05
GPIO25
GPIOFS20.[5]
2-4mA
GPIO26
KSO06
GPIO26
GPIOFS20.[6]
2-4mA
GPIO27
KSO07
GPIO27
GPIOFS20.[7]
2-4mA
GPIO28
KSO08
GPIO28
GPIOFS28.[0]
2-4mA
GPIO29
KSO09
GPIO29
GPIOFS28.[1]
2-4mA
GPIO2A
KSO10
GPIO2A
GPIOFS28.[2]
2-4mA
GPIO2B
KSO11
GPIO2B
GPIOFS28.[3]
2-4mA
GPIO2C
KSO12
GPIO2C
GPIOFS28.[4]
2-4mA
GPIO2D
KSO13
GPIO2D
GPIOFS28.[5]
2-4mA
27
Alt.
Alt.
Default
Alt. Selection
Input
Output
Pull Up
Open
Output
Output
Input
Alt. Output
Reg.
Enable
Enable
(40K)
Drain
Current
GPIO2E
KSO14
GPIO2E
GPIOFS28.[6]
2-4mA
GPIO2F
KSO15
E51_RXD(ISP)
GPIO2F
GPIOFS28.[7]
2-4mA
GPIO30
E51_TXD(ISP)
KSI0
GPIO30
GPIOFS30.[0]
2-4mA
GPIO31
KSI1
GPIO31
GPIOFS30.[1]
2-4mA
GPIO32
KSI2
GPIO32
GPIOFS30.[2]
2-4mA
GPIO33
KSI3
GPIO33
GPIOFS30.[3]
2-4mA
GPIO34
KSI4
GPIO34
GPIOFS30.[4]
2-4mA
GPIO35
KSI5
GPIO35
GPIOFS30.[5]
2-4mA
GPIO36
KSI6
GPIO36
GPIOFS30.[6]
2-4mA
GPIO37
KSI7
GPIO37
GPIOFS30.[7]
2-4mA
GPI38
AD0
GPIOFS38.[0]
GPI39
AD1
GPIOFS38.[1]
GPI3A
AD2
GPIOFS38.[2]
GPI3B
AD3
GPIOFS38.[3]
GPO3C
DA0
GPO3C
GPIOFS38.[4]
2-4mA
GPO3D
DA1
GPO3D
GPIOFS38.[5]
2-4mA
GPO3E
DA2
GPO3E
GPIOFS38.[6]
2-4mA
GPO3F
DA3
GPO3F
GPIOFS38.[7]
CIR_RX
GPIO40
GPIOFS40.[0]
GPIO41
GPIO42
AD4
GPIO42
GPIO43
AD5
GPIO43
GPIO40
GPIO41
CIR_RLC_TX
2-4mA
GPIOFS40.[1]
GPIOFS40.[2]
2-4mA
GPIOFS40.[3]
2-4mA
2-4mA
2-4mA
GPIO44
SCL0
GPIO44
GPIOFS40.[4]
GPIO45
SDA0
GPIO45
GPIOFS40.[5]
2-4mA
2-4mA
GPIO46
SCL1
GPIO46
GPIOFS40.[6]
2-4mA
GPIO47
SDA1
GPIO47
GPIOFS40.[7]
2-4mA
GPIO48
KSO16
GPIO48
GPIOFS48.[0]
2-4mA
GPIO49
KSO17
GPIO49
GPIOFS48.[1]
2-4mA
GPIO4A
PSCLK0/
GPIO4A
GPIOFS48.[2]
2-4mA
GPIO4B
GPIOFS48.[3]
2-4mA
P80CLK
GPIO4B
PSDAT0/
P80DAT
GPIO4C
PSCLK1
GPIO4C
GPIOFS48.[4]
8-16mA
GPIO4D
PSDAT1
GPIO4D
GPIOFS48.[5]
8-16mA
GPIO4E
PSCLK2
GPIO4E
GPIOFS48.[6]
2-4mA
GPIO4F
PSDAT2
GPIO4F
GPIOFS48.[7]
2-4mA
GPIO50
GPIOFS50.[0]
2-4mA
GPIO51
GPIOFS50.[1]
GPIO50
GPIO51
GPIO52
E51CS#
GPIO52
GPIO53
CAPSLED#
GPIOFS50.[2]
8-16mA
E51TMR1
GPIO53
GPIOFS50.[3]
8-16mA
GPIO54
GPIO55
WDT_LED#
E51TMR0
GPIO54
GPIOFS50.[4]
8-16mA
SCORLED#
E51INT0
GPIO55
GPIOFS50.[5]
8-16mA
2-4mA
GPIO56
GPIO56
GPIOFS50.[6]
GPIO57
XCLK32K
E51INT1
GPIO57
GPIOFS50.[7]
2-4mA
GPIO58
SPICLK
GPIO58
GPIOFS58.[0]
8-16mA
GPIO59
GPIOFS58.[1]
8-16mA
GPIO59
TEST_CLK/
SPICLK
GPXIOA00
SDICS#
GPIO_MISC.[2]
2-4mA
GPXIOA01
SDICLK
GPIO_MISC.[2]
2-4mA
28
GPXIOA02
Alt.
Alt.
Default
Alt. Selection
Input
Output
Pull Up
Open
Output
Output
Input
Alt. Output
Reg.
Enable
Enable
(40K)
Drain
Current
2-4mA
GPXIOA03
SDIDO
GPIO_MISC.[2]
2-4mA
GPXIOA04
2-4mA
GPXIOA05
2-4mA
GPXIOA06
2-4mA
GPXIOA07
2-4mA
GPXIOA08
8-16mA
GPXIOA09
8-16mA
GPXIOA10
8-16mA
GPXIOA11
8-16mA
2-4mA
GPXIOD01
2-4mA
GPXIOD02
2-4mA
GPXIOD03
2-4mA
GPXIOD04
2-4mA
GPXIOD05
2-4mA
GPXIOD06
2-4mA
GPXIOD07
2-4mA
GPXIOA12
GPXIOA13
GPXIOA14
GPXIOA15
GPXIOA16
GPXIOA17
GPXIOA18
GPXIOD00
SDIDI
29
Name
GPIOFS00
Type.
R/W
Description
GPIO00~GPIO07 Function Selection
Default
Bank
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x02
0xFC
0x00
0xFC
GPIOFS08
R/W
0x02
GPIOFS10
R/W
0x03
GPIOFS18
R/W
0x04
GPIOFS20
R/W
0x05
GPIOFS28
R/W
0x06
GPIOFS30
R/W
0x07
GPIOFS38
R/W
GPIOFS40
R/W
GPIOFS48
R/W
0x0A
GPIOFS50
R/W
0x0B
GPIOFS58
R/W
30
Name
GPIOOE00
Type.
R/W
Description
GPIO00~GPIO07 Output Enable
Default
Bank
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x02
0xFC
GPIOOE08
R/W
0x12
GPIOOE10
R/W
0x13
GPIOOE18
R/W
0x14
GPIOOE20
R/W
0x15
GPIOOE28
R/W
0x16
GPIOOE30
R/W
0x17
GPIOOE38
R/W
0x18
GPIOOE40
R/W
GPIOOE48
R/W
0x1A
GPIOOE50
R/W
31
0x1B
GPIOOE58
R/W
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
GPXAOE00
R/W
0x1D
GPXAOE08
R/W
0x1E
GPXAOE16
R/W
0x1F
GPXDOE00
R/W
32
Name
Type.
0x20
GPIOD00
R/W
Description
GPIO00~GPIO07 Output Data Port for output function.
Default
Bank
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
GPIOD08
R/W
0x22
GPIOD10
R/W
0x23
GPIOD18
R/W
0x24
GPIOD20
R/W
0x25
GPIOD28
R/W
0x26
GPIOD30
R/W
0x27
GPIOD38
R/W
0x28
GPIOD40
R/W
0x29
GPIOD48
R/W
0x2A
GPIOD50
R/W
0x2B
GPIOD58
R/W
0x2C
GPXAD00
R/W
0x2D
GPXAD08
R/W
0x2E
GPXAD16
R/W
0x2F
GPXDD00
R/W
33
Name
GPIOIN00
Type.
R
Description
GPIO00~GPIO07 Input Data Port for input function.
Default
Bank
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
0xFF
0xFC
GPIOIN08
0x32
GPIOIN10
0x33
GPIOIN18
0x34
GPIOIN20
0x35
GPIOIN28
0x36
GPIOIN30
0x37
GPIOIN38
0x38
GPIOIN40
0x39
GPIOIN48
0x3A
GPIOIN50
0x3B
GPIOIN58
GPXAIN00
0x3D
GPXAIN08
0x3E
GPXAIN16
0x3F
GPXDIN00
34
Name
Type.
Description
Default
Bank
0x40
GPIOPU00
R/W
0x00
0xFC
0x08
0xFC
0x00
0xFC
0x00
0xFC
0x0F
0xFC
0x00
0xFC
0xFF
0xFC
GPIOPU08
R/W
0x42
GPIOPU10
R/W
0x43
GPIOPU18
R/W
0x44
GPIOPU20
R/W
0x45
GPIOPU28
R/W
0x46
GPIOPU30
R/W
0x47
RSV
RSV
Reserved
0x48
GPIOPU40
R/W
0xFC
0x00
0xFC
0x00
0xFC
GPIOPU48
R/W
35
0x4A
GPIOPU50
R/W
0x00
0xFC
0x00
0xFC
GPIOPU58
R/W
36
Name
Type.
0x50
GPIOOD00
R/W0C
Description
GPIO00~GPIO07 Open Drain Enable for output function
Default
Bank
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
GPIOOD08
R/W0C
0x52
GPIOOD10
R/W0C
0x53
GPIOOD18
R/W0C
0x54
GPIOOD20
R/W0C
0x55
GPIOOD28
R/W0C
0x56
GPIOOD30
R/W0C
0x57
RSV
RSV
0x58
GPIOOD40
R/W0C
RSV
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
GPIOOD48
R/W0C
0x5A
GPIOOD50
R/W0C
0x5B
GPIOOD58
R/W0C
37
Name
Type.
0x60
GPIOIE00
R/W
Description
GPIO00~GPIO07 Input Enable for input function
Default
Bank
0x20
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x0F
0xFC
0x00
0xFC
0xFF
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
GPIOIE08
R/W
0x62
GPIOIE10
R/W
0x63
GPIOIE18
R/W
0x64
GPIOIE20
R/W
0x65
GPIOIE28
R/W
0x66
GPIOIE30
R/W
0x67
GPIOIE38
R/W
0x68
GPIOIE40
R/W
0x69
GPIOIE48
R/W
0x6A
GPIOIE50
R/W
38
GPIOEE58
R/W
0x03
0xFC
0x01
0xFC
0x00
0xFC
0x00
0xFC
0x00
0xFC
GPXAIE00
R/W
0x6D
GPXAIE08
R/W
0x6E
GPXAIE16
R/W
0x6F
GPXDIE00
R/W
39
Name
Bit
Type
0x70
GPIO_MISC
R/W
Description
ESB_DAT(GPIO0C) output current selection
0: 8mA
1: 16mA
R/W
R/W
RSV
Reserved
R/W
R/W
R/W
R/W
GPIO12 = PWM2
GPIO16(input) GPIO17(input)
40
Default
Bank
0x0
0xFC
Function
GPIO00 (GA20)
Output
GPIO01 (KBRST#)
Output
GPIO02 (GPIO)
Input
GPIO03 (GPIO)
Input
GPIO04 (GPIO)
Output
GPIO05 (PCIRST#)
Input
GPIO06 (GPIO)
Input
GPIO07 (GPIO)
Output
Programming model
1. set function selection register.
GPIOFS00 (0xFC00) = 0x03
2. set related pins to be output enable.
GPIOOE00 (0xFC10) = 0x93
3. set related pins to be input enable.
GPIOIE00 (0xFC60) = 0x6C
41
Access
Type
Register
Flag
Comment
60h
I/O Write
Data
KBCDAT (0xFC85)
IBF
64h
I/O Write
Command
KBCCMD (0xFC84)
IBF
60h
I/O Read
Data
KBCDAT (0xFC85)
OBF
64h
I/O Read
Status
KBCSTS (0xFC86)
KBC data register, KBCDAT, keeps data from host or data written by KBC firmware.
Bit
Name
4
3
2
Keyboard/Mouse Data Register
KBC command register, KBCCMD, is used to keep the command from host. This register is
read only.
Bit
Name
5
4
3
2
Keyboard/Mouse Command Register
KBC status register, KBCSTS, keeps the status as the following table. For more detail please
refer to the section, KBC Registers Description.
Bit
Name
Parity Error
Time Out
Uninhibited
Address (A2)
System Flag
IBF
OBF
42
Name
Bit
Type
0x80
KBCCB
R/W
Description
PS/2 hardware mode enable.
0: Disable
1: Enable
If the host issues command 20h via port 64h, and the KBC
returns data via port 60h. This bit will always be read as zero.
R/W
R/W
R/W
R/W
Inhibit Override
0: Disable
1: Enable
R/W
R/W
IRQ12 Enable
While KBCSTS[5]=1(Auxiliary Data Flag) and KBCSTS[0]=1
(OBF), then IRQ12 will issue.
0: Disable
1: Enable
R/W
IRQ1 Enable
While KBCSTS[5]=0 (Auxiliary Data Flag) and KBCSTS[0]=1
(OBF), then IRQ1 will issue.
0: Disable
1: Enable
43
Default
Bank
0x40
0xFC
KBC Configuration
Offset
Name
Bit
Type
0x81
KBCCFG
R/W
Description
Keyboard lock enable
0: Disable
1: Enable
R/W
R/W
R/W
R/W
R/W
R/W
(IBF from 0 to 1)
0: Disable
1: Enable
0
R/W
44
(OBF from 1 to 0)
Default
Bank
0x00
0xFC
Name
Bit
Type
0x82
KBCIF
7-3
RSV
R/W1C
Description
Reserved
Status of KBC command handled by firmware
While receiving KBC commands which need firmware to
handle, the hardware will set this bit. Then the firmware will
deal with all the following command until this bit is clear by
firmware.
R/W1C
R/W1C
45
Default
Bank
0x00
0xFC
Name
Bit
Type
0x83
KBCHWEN
R/W
Description
KBC hardware command set (FEh) enable
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
0: Disable
1: Enable
6
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Name
Bit
Type
0x84
KBCCMD
7-0
RO
Description
Command written to port 64h will be stored in this register
Name
Bit
Type
0x85
KBCDAT
7-0
R/W
Description
Data written to this register to make OBF set (OBF=1).
The host read this register via port 60h.
46
Name
Bit
Type
0x86
KBCSTS
R/W
Description
Parity error
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
R/W
Timeout
0: No timeout occurs in PS/2 protocol
1: Timeout occurs in PS/2 protocol.
R/W
RO
Uninhibited
0: keyboard inhibited
1: keyboard not inhibited
RO
Address (A2)
0: output buffer data from 60h
1: output buffer data from 64h
RO
System flag
R/W1C
IBF
R/W1C
OBF
Reserved
Offset
Name
Bit
Type
0x88
RSV
7-0
RSV
Offset
Name
Bit
Type
0x88
RSV
7-0
RSV
Offset
Name
Bit
Type
0x89
RSV
7-0
RSV
Description
Reserved
Reserved
Description
Reserved
Reserved
Description
Reserved
Name
Bit
Type
0x8A
KBCDATR
7-0
RO
Description
Read back port of KBCDAT, 0xFC85
47
0xFCA0~0xFCAF
Range2
0xFCB0~0xFCBF
Range3
0xFCC0~0xFCCF
Range4
0xFEE0~0xFEFF
In the ESB architecture, external ESB devices are supported. And each device can be
configured with interrupt capability. A figure gives the topology of ENE Serial Bus as following.
48
Name
ESBCFG
Bit
Type
R/W
Description
Loop back test enable
0: Disable
1: Enable
6-5
R/W
R/W
R/W
R/W
R/W
R/W
49
Default
Bank
0x00
0xFC
Name
Bit
Type
0x91
ESBCS
RSV
R/W1C
Description
Reserved
Device resume signal flag.
0: no event
1: event occurs.
R/W1C
R/W1C
1-0
R/W
50
Default
Bank
0x00
0xFC
Name
Bit
Type
Description
0x92
ESBINTE
RSV
Reserved
R/W
Default
Bank
0x00
0xFC
0: Disable
1: Enable
5
R/W
R/W
R/W
R/W
R/W
R/W
Name
Bit
0x93
ESBCA
7-0
Type
R/W
Description
External ESB device address to be accessed. (when
ESBCFG[3]=1)
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Name
ESBCD
Bit
Type
7-0
R/W
Bit
Type
7-0
R/W
Description
Write data port to external ESB device (when ESBCFG[3]=1)
Name
ESBRD
Description
Read data port to external ESB device (when ESBCFG[3]=1)
If loop back test enabled, ESBCFG[7]=1, the register will be
writable, otherwise, read-only.
51
Name
Bit
Type
0x96
ESBED
7-5
RSV
R/W
Description
Reserved
Low clock mode enable (clock source 32KHz)
For performance and power saving consideration, while low
clock mode enabled, please set the query function off.
0: Disable
1: Enable
R/W
R/W
R/W
R/W
52
Default
Bank
0x00
0xFC
Name
Bit
Type
0x97
ESBINT
R/W1C
Description
Interrupt event pending flag of IRQ7 (cascade mode only)
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
0: no event
1: event occurs
6
R/W1C
R/W1C
R/W1C
R/W1C
R/W1C
R/W1C
R/W1C
Name
Bit
Type
0x98
ESBCAS
R/W
Description
Interrupt enable of IRQ7 for external chip
0: disable
1: enable
R/W
R/W
R/W
3-1
RSV
Reserved
R/W
53
GPIOIE08[4] (0xFC61[4]) = 1b
; enable ESB
54
55
Name
Bit
Type
Description
0xA0
IKBCFG
R/W
R/W
IKB PS/2 wait time setting. The IKB makes sure PS/2 bus idle
for specific time and then transmit the scan codes.
0: 8 s
1: 64s
RSV
Reserved
WO
RSV
Reserved
R/W
R/W
R/W
56
Default
Bank
0x00
0xFC
Name
Bit
Type
0xA1
IKBLED
R/W
Description
NumLock key
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
0: Fn-Lock
1: NumLock =Fn-Lock
6
R/W
R/W
R/W
RSV
Reserved
R/W
R/W
R/W
Name
Bit
Type
0xA2
IKBTYPEC
RSV
6-5
R/W
Description
Reserved
st
4-0
R/W
10h: 10 char/sec
1Bh: 3 char/sec
0Dh: 12 char/sec
18h: 4 char/sec
0Bh: 15 char/sec
17h: 5 char/sec
08h: 16 char/sec
15h: 6 char/sec
05h: 20 char/sec
13h: 8 char/sec
00h: 30 char/sec
57
Name
Bit
Type
Description
0xA3
IKBIE
7-6
RSV
Reserved
R/W
R/W
R/W
R/W
R/W
R/W
58
Default
Bank
0x00
0xFC
Name
Bit
Type
0xA4
IKBPF
WO
Description
Force the IKB controller enter idle mode.
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
R/W1C
R/W1C
R/W1C
R/W1C
R/W1C
R/W1C
R/W1C
Name
Bit
Type
0xA5
IKBTXDAT
7-0
R/W
Description
The IKB port to transmit data to PS/2 controller
Writing to this port, the data will be delivered to PS/2 controller.
After transmission completes and a TX finished interrupt
issues.
Name
Bit
Type
0xA6
IKBRXDAT
7-0
R/W
Description
The IKB port to receive data from PS/2 controller.
After receiving data from PS/2 controller, a RX finished
interrupt issues.
59
Name
Bit
Type
Description
0xA7
IKBHCFG
7-3
RSV
Reserved
R/W
Default
Bank
0x00
0xFC
R/W
R/W
Name
Bit
Type
0xA8
IKBKSI
7-0
RO
Description
IKB scan input buffer
Default
Bank
0x00
0xFC
Name
Bit
Type
0xA9
IKBSADR
7-0
RO
Description
IKB scan address of current key
Default
Bank
0x00
0xFC
Default
Bank
0xF7
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Name
Bit
Type
0xAA
IKBSDB
7-4
R/W
3-0
R/W
Description
KSO release (floating) time
Time = (value + 1) * 8s
KSO drive low time
Time = (value + 1) * 8s
Name
IKBMK
Bit
Type
7-0
RO
Description
The scan controller places make key in this register.
If hotkey occurs, the register contains the matrix value.
Name
Bit
Type
0xAC
IKBBK
7-0
RO
Description
The scan controller places break key in this register.
If hotkey occurs, the register contains the matrix value.
Reserved
Offset
Name
Bit
Type
0xAD
RSV
7-0
RSV
Description
Reserved
60
Name
IKBMTA
Bit
Type
7-3
RSV
RSV
Description
2-0
R/W
4: 0xF800~0xF8FF
1: 0xF500~0xF5FF
5: 0xF900~0xF9FF
2: 0xF600~0xF6FF
6: 0xFA00~0xFAFF
3: 0xF700~0xF7FF
7: 0xFB00~0xFBFF
Default
Bank
0x00
0xFC
Default
Bank
0x00
0xFC
Name
Bit
Type
0xAF
IKBKGENFG
7-3
RSV
RO
Description
IKB code buffer full flag. When the code buffer full, this flag will
be set.
0: not over 8 keys in the code buffer.
1: 8 keys in the code buffer..
R/W1C
R/W1C
IKB make key scan flag. If this bit is set to 1, all the make
keys will be ignored.
0: not over 5 make key occur at a time
1: over 5 make key occur at a time
61
Standard Keys
Matrix
Value
Description
(set 2)
Scan Code
(set 1)
Matrix
Value
Description
(set 2)
(set 1)
00h
Error(overrun)
FFh
40h
01h
F9
43h
41h
02h
F7
41h
42h
25h
03h
F5
3Fh
43h
17h
04h
F3
3Dh
44h
18h
05h
F1
3Bh
45h
0Bh
06h
F2
3Ch
46h
0Ah
07h
F12
58h
47h
Reserved
60h
08h
Reserved
64h
48h
Reserved
6Ch
09h
F10
44h
49h
>
34h
0Ah
F8
42h
4Ah
35h
0Bh
F6
40h
4Bh
0Ch
F4
3Eh
4Ch
0Dh
Tab
0Fh
4Dh
0Eh
29h
4Eh
0Fh
Reserved
59h
4Fh
Reserved
61h
10h
Reserved
65h
50h
Reserved
6Dh
11h
Left Alt
38h
51h
Reserved
73h
12h
Left Shift
2Ah
52h
13h
Reserved
70h
53h
14h
Left Ctrl
1Dh
54h
1Ah
15h
10h
55h
0Dh
02h
56h
Reserved
62h
16h
Reserved
Scan Code
<
L
:
33h
26h
;
27h
0Ch
P
_
6Bh
19h
Reserved
28h
74h
17h
Reserved
5Ah
57h
Reserved
6Eh
18h
Reserved
66h
58h
Caps Lock
3Ah
19h
Reserved
71h
59h
Right Shift
36h
1Ah
2Ch
5Ah
Return
1Ch
1Bh
1Fh
5Bh
1Ch
1Eh
5Ch
Reserved
75h
1Dh
11h
5Dh
2Bh
03h
5Eh
Reserved
63h
1Eh
1Bh
1Fh
Reserved
5Bh
5Fh
Reserved
76h
20h
Reserved
67h
60h
Fn (PTL)
55h
21h
2Eh
61h
|\(102-key)
56h
62
2Dh
62h
Reserved
77h
23h
20h
63h
Reserved
78h
24h
12h
64h
Reserved
79h
25h
5Ch
65h
Reserved
7Ah
26h
04h
66h
Backspace
0Eh
27h
Reserved
05h
67h
Reserved
7Bh
28h
Reserved
68h
68h
Reserved
7Ch
29h
Space
39h
69h
2Ah
2Fh
6Ah
Reserved
2Bh
21h
6Bh
2Ch
14h
6Ch
2Dh
13h
2Eh
End
4Fh
7Dh
Left Arrow
4Bh
Home
47h
6Dh
Reserved
7Eh
06h
6Eh
Reserved
7Fh
Reserved
6Fh
2Fh
Reserved
5Dh
6Fh
30h
Reserved
69h
70h
Ins
52h
31h
31h
71h
Del
53h
32h
30h
72h
Down Arrow
50h
33h
23h
73h
34h
22h
74h
35h
15h
75h
36h
^ 6
07h
37h
Reserved
38h
39h
5
6
4Ch
Right Arrow
4Dh
Up Arrow
48h
76h
ESC
01h
5Eh
77h
Num Lock
45h
Reserved
6Ah
78h
F11
57h
Reserved
72h
79h
4Eh
3Ah
32h
7Ah
PgDn
51h
3Bh
24h
7Bh
4Ah
3Ch
16h
7Ch
37h
PgUp
49h
3Dh
&
08h
7Dh
3Eh
09h
7Eh
Scroll Lock
46h
5Fh
7Fh
54h
3Fh
Reserved
63
Multimedia Keys
Matrix
Value
Description
(set 2)
Scan Code
(set 1)
Matrix
Value
Description
(set 2)
Scan Code
(set 1)
00h 7Fh
Standard Keys
See table
above
9Ah
ACPI Sleep
E0 5F
80h
Left Shift
2Ah
9Bh
ACPI Wake
E0 63
81h
Left Ctrl
1Dh
9Ch
Left Window
E0 5B
82h
Left Alt
38h
9Dh
Right Window
E0 5C
83h
F7
41h
9Eh
Windows App
E0 5D
84h
SysReq
54h
9Fh
Break
1D E0 46
85h
Right Shift
36h
A0h
Volume Up
E0h 30h
86h
Right Ctrl
E0h 1Dh
A1h
Volume Down
E0h 2Eh
87h
Right Alt
E0h 38h
A2h
Next
E0h 19h
88h
Print Screen
A3h
Previous
E0h 10h
89h
Pause
A4h
Stop
E0h 24h
8Ah
Insert
E0h 52h
A5h
Play/Pause
E0h 22h
8Bh
Home
E0h 47h
A6h
Mute
E0h 20h
8Ch
Page Up
E0h 49h
A7h
Media Select
E0h 6Dh
8Dh
Delete
E0h 53h
A8h
Email Reader
E0h 6Ch
8Eh
End
E0h 4Fh
A9h
Calculator
E0h 21h
8Fh
Page Down
E0h 51h
Aah
My Computer
E0h 6Bh
90h
Up Arrow
E0h 48h
Abh
WWW Search
E0h 65h
91h
Left Arrow
E0h 41h
Ach
WWW Home
E0h 32h
92h
Down Arrow
E0h 50h
Adh
WWW Back
E0h 6Ah
93h
Right Arrow
E0h 4Dh
Aeh
WWW Forward
E0h 69h
94h
E0h 35h
Afh
WWW Stop
E0h 68h
95h
Enter
E0h 1Ch
B0h
WWW Refresh
E0h 67h
96h
Fn Shift
No scan
code
B1h
WWW Favor
E0h 66h
97h
Fn Lock
No scan
code
B2h
OADG
45h/46h
98h
Num/Fn Lock
45h
B3h
Empty Key
No scan
code
99h
ACPI Power
E0h 5Eh
B4h FFh
Hot Key
64
. The duty cycle of PWM can be illustrated as the above figure. The following
summarizes the relationship about the applications with the definition in the PWM registers
description.
Definition
Duty Cycle
Cycle Length
Cycle Length
Formula
Comment
For 8-bit
For 14-bit
For the limitation of current design, in some critical cases, the PWM output will be the
one as the following table.
Condition
PWM Output
H>C
Always 1 (High)
H=0x00 and C=0x00
Always 1 (High)
H=0x00 and C=0xFF
A Short Pulse
H=0xFF and C=0x00
Always 1 (High)
Switch to GPIO mode and output low
Always 0 (Low)
H= High Period Length (PWMHIGH) , C= Cycle Period Length (PWMCYCL)
65
Name
PWMCFG
Bit
Type
7-6
R/W
Description
PWM1 clock source selection
Default
Bank
0x00
0xFE
0: 0.976s (1s)
1: 62.5s (64s)
2: 250s (2561s)
3: 3.99ms (4ms)
5
RSV
R/W
Reserved
PWM1 Enable
0: Disable
1: Enable
3-2
R/W
RSV
Reserved
R/W
PWM0 Enable
0: Disable
1: Enable
Name
Bit
Type
Description
Default
Bank
0x01
PWMHIGH0
7-0
R/W
0x00
0xFE
Bit
Type
Description
Default
Bank
7-0
R/W
0x00
0xFE
Name
PWMCYC0
Name
PWMHIGH1
Bit
Type
Description
Default
Bank
7-0
R/W
0x00
0xFE
Description
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Name
Bit
Type
0x04
PWMCYC1
7-0
R/W
Reserved
Offset
Name
Bit
Type
0x05
RSV
7-0
RSV
Description
RSV
66
PWM2 Configuration
Offset
Name
Bit
Type
0x06
PWMCFG2
R/W
Description
PWM2 Enable
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0: Disable
1: Enable
6
R/W
5-0
R/W
PWM3 Configuration
Offset
0x07
Name
PWMCFG3
Bit
Type
R/W
Description
PWM3 Enable
0: Disable
1: Enable
R/W
5-0
R/W
Name
Bit
Type
Description
0x08
PWMHIGH2H
5-0
R/W
0x00
0xFE
0x09
PWMHIGH2L
7-0
R/W
0x00
0xFE
Default
Bank
Name
Bit
Type
Description
0x0A
PWMCYC2H
5-0
R/W
0x00
0xFE
0x0B
PWMCYC2L
7-0
R/W
0x00
0xFE
Default
Bank
Name
Bit
Type
Description
0x0C
PWMHIGH3H
5-0
R/W
0x00
0xFE
0x0D
PWMHIGH3L
7-0
R/W
0x00
0xFE
Name
0x0E
PWMCYC3H
0x0F
PWMCYC3L
Bit
Type
Default
Bank
5-0
R/W
0x00
0xFE
7-0
R/W
0x00
0xFE
Description
67
40 m s
Programming model
1. set related GPIO function selection register.
GPIOFS08[7] (0xFC01[7]) = 1b
2. clock selection = 4ms
PWMCFG[3:0] (0xFE00[3:0]) = 1101b
3. cycle = 4ms * (24+1)
PWMCYCL0 (0xFE02) = 0x18
4. duty cycle = (9+1)/(24+1) = 40%
PWMHIGH0 (0xFE01) = 0x09
68
Here a RPM table is given for programmers. In this table, the information between RPM
and value for fan speed set is shown.
RPM
Round/1min
Round/1sec
s/Round
6000
6000
100
10000
160 (10000/62.5)
5000
5000
83.33
12000
192 (12000/62.5)
4000
4000
66.667
15000
240 (15000/62.5)
3000
3000
50
20000
320 (20000/62.5)
2000
2000
33.333
30000
480 (30000/62.5)
1000
1000
16.667
60000
960 (60000/62.5)
500
500
8.3
120000
1920(120000/62.5)
69
70
Name
FANCFG0
Bit
Type
R/W
Description
FAN0 monitor clock selection.
0: peripheral clock
1: fixed 62.5s (64s)
R/W
R/W
R/W
FANPWM0 enable.
0: Disable
1: Enable
R/W
R/W
R/W
R/W
71
Default
Bank
0x00
0xFE
Name
Bit
Type
0x21
FANSTS0
R/W
Description
Fan auto-load FANCPWM function enable. (FAN0)
Default
Bank
0x00
0xFE
0: Disable
1: Enable
6-5
RSV
Reserved
R/W
3-2
RSV
R/W1C
Reserved
Flag of FAN0 speed monitor timeout error
0: no timeout error
1: timeout error event
R/W1C
Name
Bit
Type
Default
Bank
0x0F
0xFE
0xFF
0xFE
Default
Bank
0x22
FANMONH0
3-0
RO
0x23
FANMONL0
7-0
RO
Description
Name
Bit
Type
Description
0x24
FANSETH0
3-0
R/W
0x00
0xFE
0x25
FANSETL0
7-0
R/W
0x00
0xFE
Name
Bit
Type
Description
Default
Bank
0x26
FANPWMH0
3-0
R/W
0x00
0xFE
0x00
0xFE
FANPWML0
7-0
R/W
Name
Bit
Type
Default
Bank
0x28
FANCPWMH0
3-0
RO
0x00
0xFE
0x29
FANCPWML0
7-0
RO
0x00
0xFE
Description
72
Name
0x2A
FANPWMCH0
Bit
Type
3-0
R/W
Description
High 4 bits of Cycle length of FANPWM0 (FANCFG0[5]=1)
Default
Bank
0x00
0xFE
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
FANPWMCHL0
7-0
R/W
Name
Bit
Type
Description
0x2C
FANUPWM0
7-4
RSV
Reserved
3-0
R/W
Bit
Type
R/W
Fan1 Configuration
Offset
0x30
Name
FANCFG1
Description
FAN1 monitor clock selection.
0: peripheral clock
1: fixed 64s
R/W
R/W
R/W
FANPWM1 enable.
0: Disable
1: Enable
R/W
R/W
R/W
R/W
73
Name
Bit
Type
0x31
FANSTS1
R/W
Description
Fan auto-load FANCPWM function enable. (FAN1)
Default
Bank
0x00
0xFE
0: Disable
1: Enable
6-5
R/W
Reserved
R/W
3-2
R/W
Reserved
R/W
R/W
Name
Bit
Type
Default
Bank
0x0F
0xFE
0xFF
0xFE
Default
Bank
0x32
FANMONH1
3-0
R/W
0x33
FANMONL1
7-0
R/W
Description
Name
Bit
Type
Description
0x34
FANSETH1
3-0
R/W
0x00
0xFE
0x35
FANSETL1
7-0
R/W
0x00
0xFE
Name
Bit
Type
Description
Default
Bank
0x36
FANPWMH1
3-0
R/W
0x00
0xFE
0x00
0xFE
FANPWML1
7-0
R/W
Name
Bit
Type
Default
Bank
0x38
FANCPWMH1
3-0
RO
0x00
0xFE
0x39
FANCPWML1
7-0
RO
0x00
0xFE
Description
74
Name
Bit
Type
0x3A
FANPWMCH1
3-0
R/W
Description
High 4 bits of Cycle length of FANPWM1 (FANCFG1[5]=1)
Default
Bank
0x00
0xFE
0x00
0xFE
Default
Bank
0x00
0xFE
FANPWMCHL1
7-0
R/W
Name
Bit
Type
0x3C
FANUPWM1
7-4
RSV
Reserved
3-0
R/W
Description
75
For FAN1:
1. set related GPIO function select register to enable alternative output.
GPIOFS10[3] (0xFC02[3]) = 1b
2. set FAN1 configuration register
FANCFG1 (0xFE30) = 0x90
3. set FAN1 speed monitor counter value
FANPWMH1 (0xFE36) = 0x03
FANPWML2 (0xFE37) = 0xE8
76
Name
GPTCFG
Bit
Type
7-5
RSV
Reserved
Description
R/W
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
R/W
R/W
R/W
R/W
Name
Bit
Type
0x51
GPTPF
WO
WO
WO
WO
R/W1C
R/W1C
R/W1C
R/W1C
Description
77
Reserved
Offset
Name
Bit
Type
0x52
RSV
7-0
RSV
Description
Reserved
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
0x00
0xFE
Default
Bank
0x00
0xFE
0x00
0xFE
Name
Bit
Type
0x53
GPT0
7-0
R/W
Description
Once GPT0 counter meets this value, an interrupt issues.
GPT0 restart to count from zero.
Reserved
Offset
Name
Bit
Type
0x54
RSV
7-0
RSV
Description
Reserved
Name
Bit
Type
0x55
GPT1
7-0
R/W
Description
Once GPT1 counter meets this value, an interrupt issues.
GPT1 restart to count from zero.
Name
Bit
Type
0x56
GPT2H
7-0
R/W
Description
High byte of GPT2 counter value.
Once GPT2 counter meets this 16-bit value, an interrupt
issues.
GPT2 restart to count from zero.
0x57
GPT2L
7-0
R/W
Name
GPT3H
Bit
Type
7-0
R/W
Description
High byte of GPT3 counter value.
Once GPT3 counter meets this 16-bit value, an interrupt
issues.
GPT3 restart to count from zero.
0x59
GPT3L
7-0
R/W
78
79
To support more SPI applications, the KBC introduces a SPI master interface, called SDI
(Serial Device Interface). With simple programming interface, the F/W can easily communicate with
SPI slave devices.
80
Name
SDICSR
Bit
Type
RO
Description
SDI Idle flag. If this bit set, the SDI is in an idle state.
Default
Bank
0x00
0xFE
0: busy
1: idle
6-4
RSV
3-2
R/W
Reserved
SDICCLK divider.
SDICLK frequency = peripheral clock / [( divider +1)*2]
R/W
SDIDO/SDIDI Timing.
0: SDIDO changes data at rising edge of SDICLK. (device
latches at falling edge of SDICLK)
SDIDI latch data at rising edge of SDICLK. (device changes
at falling edge of SDICLK).
1: SDIDO changes data at falling edge of SDICLK. (device
latches at rising edge of SDICLK)
SDIDI latch data at falling edge of SDICLK. (device
changes at rising edge of SDICLK).
R/W
Name
SDIBO
Bit
Type
Description
Default
Bank
7-0
R/W
0x00
0xFE
Description
Default
Bank
0x00
0xFE
Name
Bit
Type
0x72
SDIBI
7-0
RO
81
Programming model
GPXAFS00[2:0] (0xFC0C[2:0]) = 111b;
Wait SDICSR[7]
(0xFE70[7]) = 1b;
//Transfer dummy byte to device and //device sends status byte to SDI
82
Name
Bit
Type
0x80
WDTCFG
R/W
Description
WDT clock source selection
0: internal 32.768KHz
1: external 32.768KHz OSC.
6-3
R/W
R/W
R/W
R/W
83
Default
Bank
0x00
0xFE
Name
Bit
Type
0x81
WDTPF
7-5
RSV
R/W1C
Description
Reserved
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
R/W1C
Name
Bit
Type
Description
0x82
WDT
7-0
R/W
Name
Bit
Type
0x83
LEDCFG
7-3
RSV
2-0
R/W
Description
Reserved
LED Blinking configuration.
0: LED output keeps high
1: LED output keeps low 500ms for every 1 sec.
2: LED output keeps low 500ms for every 2 sec
3: LED output keeps low 500ms for every 4 sec
4: LED output keeps low 500ms for every 8 sec
84
Name
Bit
Type
0x84
TMR_CFG
R/W
Description
TMR enable
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
0: Disbale/reset TMR
1:Enable TMR
6:3
RSV
Reserved
RO
R/W1C
R/W
Name
0x85
TMR_MATCH
Bit
Type
7-0
R/W
Description
Name
TMR_V1
Bit
Type
7-0
RO
Description
Value for TMR counter[23:16]
Name
TMR_V2
Bit
Type
7-0
RO
Description
Value for TMR counter[15:8]
85
; set WDT=512ms
86
Address
Data
16-bit
8-bit
16-bit
8-bit
32-bit
8-bit
32-bit
8-bit
FWH Read
28-bit
8-bit
FWH Write
28-bit
8-bit
Port
Comment
Keyboard Controller
60h/64h
Embedded Controller
62h/66h (default)
Legacy I/O
68h/6Ch, 2Eh/2Fh
EC Index-I/O
FF29h~FF2Bh/FF2Dh~FF2Fh(default)
2 Sets, Programmable.
Debug Port
80h
Programmable
Size
Setting
(LPCSCFG[3],LPCFWH[7:6])
000C_0000 ~ 000F_FFFF
256K (default)
0b,00b
512K
0b,01b
1M
0b,10b
2M
0b,11b
4M
1b,00b
FFFC_0000 ~ FFFF_FFFF
000C_0000 ~ 000F_FFFF
FFF8_0000 ~ FFFF_FFFF
000C_0000 ~ 000F_FFFF
FFF0_0000 ~ FFFF_FFFF
000C_0000 ~ 000F_FFFF
FFE0_0000 ~ FFFF_FFFF
000C_0000 ~ 000F_FFFF
FFC0_0000 ~ FFFF_FFFF
LPC module decodes low memory address only in 256K range.
87
Size
Setting
(LPCSCFG[3],LPCFWH[7:6])
00C_0000 ~ 00F_FFFF
256K (default)
0b,00b
512K
0b,01b
1M
0b,10b
2M
0b,11b
4M
1b,00b
FFC_0000 ~ FFF_FFFF
00C_0000 ~ 00F_FFFF
FF8_0000 ~ FFF_FFFF
00C_0000 ~ 00F_FFFF
FF0_0000 ~ FFF_FFFF
00C_0000 ~ 00F_FFFF
FE0_0000 ~ FFF_FFFF
00C_0000 ~ 00F_FFFF
FC0_0000 ~ FFF_FFFF
LPC module decodes low memory address only in 256K range.
io_base+1
io_base+5
io_base+2
io_base+6
io_base+3
io_base+7
88
2.
Host software
1.
2.
3.
If the 2
nd
Index-I/O required.
89
Name
LPCSCFG
Bit
Type
7-6
RSV
Reserved
Description
R/W
R/W
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
nd
Switch between CIR and User defined SIRQ, and the SIRQ
channel is defined in LPCTCFG[3:0]
0: User defined SIRQ
1: CIR SIRQ
3
R/W
R/W
R/W
WO
Name
LPCSIRQ
Bit
Type
R/W
Description
Ignore A22 of FWH cycle.
0: Disable
1: Enable
R/W
R/W
R/W
3-0
R/W
90
Name
LPCIBAH
LPCIBAL
Bit
Type
Default
Bank
7-0
R/W
Description
0xFF
0xFE
7-0
R/W
0x2C
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x80
0xFE
Name
LPCFWH
Bit
Type
7-6
R/W
Description
Memory size selection (LPC/FWH)
00b: 256KB
01b: 512KB
10b: 1MB
11b: 2MB
R/W
R/W
3-0
R/W
FWH ID
LPC Configuration
Offset
Name
Bit
Type
0x95
LPCCFG
R/W
Description
LPC memory write protection (including FWH)
0: Disable
1: Enable
R/W
R/W
R/W
R/W
R/W
R/W
R/W
91
Name
Bit
Type
0x96
LPCXBAH
7-0
R/W
0x97
LPCXBAL
7-0
R/W
Description
Default
Bank
0x00
0xFE
0x80
0xFE
Default
Bank
Name
Bit
Type
Description
0x98
LPCEBAH
7-0
R/W
0x00
0xFE
0x99
LPCEBAL
7-0
R/W
0x62
0xFE
Default
Bank
0x00
0xFE
Name
Bit
Type
Description
0x9A
LPC2ECFG
7-4
RSV
Reserved
RO
R/W1C
R/W
R/W
92
Name
Bit
Type
Description
0x9B
LPCTCFG
7-6
RSV
Reserved
R/W
Default
Bank
0x00
0xFE
0: Low
1: High
4
R/W
3-0
R/W
Name
Bit
Type
Description
Default
Bank
0x9B
LPCTCFG
7-0
RO
Host writes data to I/O port 0x2E, EC F/W could read data from
this register.
0x00
0xFE
Name
Bit
Type
Description
Default
Bank
0x9C
LPC2FDAT
7-0
Host writes data to I/O port 0x2F, EC F/W could read data from
this register.
0x00
0xFE
7-0
If host issue any read access to I/O port 0x2F, the host will get
the data which kept in this register
0x9C
Name
Bit
Type
Description
0x9D
LPC68CFG
R/W
6-2
RSV
Reserved
R/W
R/W
93
Default
Bank
0x00
0xFE
Name
Bit
Type
0x9E
LPC68CSR
R/W1C
Description
I/O 68h/6Ch busy flag.
Default
Bank
0x00
0xFE
RO
5-4
RSV
R/W1C
Reserved
IBF interrupt flag
Interrupt flag while IBF rising (LPC write I/O 68h/6Ch)
0: no event
1: event occurs
R/W1C
R/W1C
R/W1C
Name
Bit
Type
Description
Default
Bank
0x9F
LPC68DAT
7-0
Host writes data to I/O port 68h/6Ch, EC F/W could read data
from this register.
0x00
0xFE
7-0
If host issue any read access to I/O port 68h/6Ch, the host will
get the data which kept in this register
0x9F
94
The XBI module also takes the responsibility for the In-System-Programming (ISP)
mechanism to update system BIOS. The detail steps to update system BIOS via ISP mode, please
refer to the section of ISP. Here gives the feature of XBI module.
- Two 8051 code segments, one for 16K and the other for 48K.
- XBI arbiter to handle the transaction of 8051 and LPC request.
- XBI pre-fetch code mechanism support for better performance.
- Flash write-protection support.
- ISP flash update support.
95
96
Command byte=0x31, A23~A17=0 and A16=1. (2nd 64KB code segment selected)
97
98
99
Name
XBISEG0
Bit
Type
R/W
Description
8051 code segment SEG0 remapping enable.
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
0: Disable
1: Enable
6
RSV
5-0
R/W
Reserved
SEG0 XBI Address
SEG0 XBI Address = XBISEG0[5:0]*16K + 8051 Address[13:0]
Name
Bit
Type
0xA1
XBISEG1
R/W
Description
8051 code segment SEG1 remapping enable.
0: Disable
1: Enable
6-4
RSV
3-0
R/W
Reserved
SEG1 XBI Address
SEG1 XBI Address = XBISEG1[3:0]*64K + 8051 Address[15:0]
Reserved
Offset
Name
Bit
Type
0xA2
RSV
7-0
RSV
Description
Reserved
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Name
Bit
Type
0xA3
XBI_LPBCFG
R/W
Description
LPC buffer read enable
0: disable (default)
1: enable
R/W
5-0
RSV
Reserved
Bit
Type
7-0
RSV
Bit
Type
RSV
Reserved
R/W
Name
RSV
Description
Reserved
XBI Configuration
Offset
0xA5
Name
XBICFG
Description
0: Disable
1: Enable
5-0
RSV
Reserved
100
101
Name
Bit
Type
Description
0xA6
XBICS
7-6
RSV
Reserved
R/W
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0: Disable
1: Enable
4
R/W
R/W
R/W
R/W
RSV
Bit
Type
7-0
R/W
Reserved
Name
XBIWE
Description
XBI write command.
00h: exit SRAM test mode
C5h: enter SRAM test mode
Name
Bit
Type
Description
0xA8
SPIA0
7-0
R/W
0x00
0xFE
0xA9
SPIA1
7-0
R/W
0x00
0xFE
0xAA
SPIA2
5-0
R/W
0x00
0xFE
Default
Bank
0x00
0xFE
Name
Bit
Type
0xAB
SPIDAT
7-0
R/W
Description
Input (read) / Output (write) data port of SPI flash interface.
102
Name
Bit
Type
Description
Default
Bank
0xAC
SPICMD
7-0
R/W
Commands support for SPI flash. Writing this register will force
the SPI protocol start. Please note, the address phases must
be prior to command phase.
0x00
0xFE
103
Name
Bit
Type
0xAD
SPICFG
R/W
Description
Fast read dual output mode enable.
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x03
0xFE
R/W
R/W
R/W
R/W
R/W
RO
R/W
Name
SPIDATR
Bit
Type
7-0
R/W
Description
Reflection of SPIDAT ,0xFEAB register.
Name
SPICFG2
Bit
Type
7-4
RSV
Reserved
3-0
R/W
Description
104
925B/926B
V
X
RC5/RC6/NEC/RLC
RLC
X
926D
V
V
RC5/RC6/NEC/RLC
RLC
V
A SIRQ channel can be assigned for CIR application. The related programming registers
are summarized as following table.
Register
LPCSCFG[4] (0xFE90[4])
Description
SIRQ selection for LPCTCFG[3:0] (0xFE9B[3:0])
0: User defined IRQ
1: CIR IRQ enable
LPCTCFG[3:0] (0xFE9B[3:0])
0x0F: IRQ15
Wide range of carrier frequency support, 15K~1MHz. (The carrier frequency is 30K~60KHz in
normal application)
More flexible in carrier sample frequency, 1s.~128s (The sample frequencies are 25, 50
and 100s for normal application).
105
The following figure shows an example how a CIR controller works with narrow band receiver.
For Transmit
1.
1.
2.
2.
3.
3.
4.
4.
5.
106
GPIOFS08[5]=1b, GPIOFS[1]=0b
CIRCFG2[5]=0b
(RX,TX)=(GPIO40,GPIO41 )
(RX,TX)=(GPIO40,GPIO0D )
CIRCFG2[5]=1b
(RX,TX)=(GPIO0A, GPIO41)
(RX,TX)=(GPIO0A, GPIO0D )
The CIR controller could detect the carrier frequency and demodulate the carrier. This
provides a learning feature for CIR application. The frequency detection range is from 15.75KHz to
1MHz. After demodulation, the CIR controller handles remote signals with hardware decoder which
supports RC5/RC6/NEC/RLC protocols. If transmit function needed, the CIR controller could
modulate the carrier and send it out via GPIO41/GPIO0D. The output carrier frequency range is the
same as input, that is, 15.75KHz~1MHz. The RX and TX can work simultaneously in the current
design. The following diagram gives more detail about CIR controller.
107
Bit2
Bit3
S1
S2
Bit4
Bit5
Bit6
Bit7
Bit8
Bit9
Bit10
Address
Bit12
Command
Bit11
108
Bit13
Bit14
SB
MB2
MB1
MB0
A
7
A
6
A
5
Header
A
4
A
3
A
2
A
1
Control
A
0
C
7
C
6
C
5
C
4
C
3
C
2
C
1
C
0
Information
SF
space
Address
Address
Command
Command
9ms
4.5ms
8bit
8bit
8bit
8bit
109
Here gives an example as the above waveform. Bit stream with 38KHz carrier is shown as bit-0.
Each bit is 0.56ms in length and 38KHz carrier period is 26.3s, that is, there will be about 21
carrier pulses in a bit. If CIRCAR_PULS[7:4]=5 and CIRCAR_PULS[3:0]=10, once the detection
enabled, the CIR controller will get 6th carrier pulse as the first one and analyze the sequential 10
pluses. The detection result can be obtained via register CIRCAR_PRD.
110
The related registers for automatic carrier frequency detection are listed as following.
Register
Address
CIRCFG2[5:4]
0xFEC1[5:4]
Description
Bit5=1, select wide-band as bit-decoder input.
Bit4=1, enable wide-band frequency detection
CIRCAR_PULS
0xFECB
CIRCAR_PRD
0xFECC
CIRCAR_HPRD
0xFECD
The KBC provides the modulation ability for RLC transmit. The carrier frequency of
modulation can be programmable. Before the carrier modulation, the programmer should notice the
modulation polarity. That is, if the data bus (TX) is kept low in idle state, only data in high state will
be modulated and the bit, CIRMOD_PRD[7], should be 1.
The related registers for RLC modulation is summarized as below.
Register
Address
Description
CIRCFG[7]
0xFEC0
CIRMOD_PRD
0xFECE
CIRMOD_HPRD
0xFECF
111
Name
CIRCFG
Bit
Type
Description
R/W
R/W
R/W
R/W
R/W
R/W
R/W
b.
0: Disable
1: Enable
0
R/W
112
Default
Bank
0x00
0xFE
CIR Configuration 2
Offset
Name
Bit
Type
Description
Default
Bank
0xC1
CIRCFG2
R/W
Fast sample (data phase, not leader phase) enable for input
signal. If this bit set, the sample period changes.
0x00
0xFE
R/W
R/W
R/W
3-0
R/W
113
Name
Bit
Type
0xC2
CIRPF
RO
Description
Hardware RX idle state.
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
R/W
5-4
RSV
R/W1C
Reserved
Pending flag of RLC transmit complete
0: no event
1: event occurs
R/W1C
R/W1C
R/W1C
Name
Bit
Type
0xC3
CIRHIGH
5-0
R/W
Description
This register determines the high pulse width of a logic bit.
High pulse width = Decoder sample period * CIRHIGH
Name
CIRBIT
Bit
Type
Description
Default
Bank
6-0
R/W
0x00
0xFE
Default
Bank
0x00
0xFE
Name
Bit
Type
0xC5
CIRSTART
6-0
R/W
Description
This register determines the leader pulse width for normal
packet (RC6/ENC)
Leader pulse width = Decoder sample period * CIRSTART
114
Value for Tailer Bit Width (RC6) / Leader Width of Repeat Packet (NEC)
Offset
Name
Bit
Type
0xC6
CIRSTART2
6-0
R/W
Description
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x44
0xFE
(NEC)
Name
Bit
Type
0xC7
CIRDAT_IN
7-0
RO
Description
Received data to decode.
Name
Bit
Type
0xC8
CIRRLC_CFG
R/W
Description
Counter overflow control bit.
0: if overflow, the counter will stop.
1: if overflow, an interrupt issues and the counter keeps
counting.
6-0
R/W
Name
0xC9
CIRRLC_OUT0
Bit
Type
Description
7-0
R/W
st
Name
0xCA
CIRRLC_OUT1
Bit
Type
Description
7-0
R/W
nd
CIR Carrier Discard/Average Pulse Number Setting for Automatic Carrier Detection.
Offset
Name
0xCB
CIRCAR_PULS
Bit
Type
7-4
R/W
Description
Discard carrier pulse number
F/W should specify the number of pulse to discard
3-0
R/W
115
Name
Bit
Type
0xCC
CIRCAR_PRD
RO
Description
Detected carrier period valid.
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
RO
Name
Bit
Type
0xCD
CIRCAR_HPRD
Description
RSV
Reserved
6-0
R/W
Name
Bit
Type
0xCE
CIRMOD_PRD
R/W
Description
Carrier modulation selection.
0: If TX idle state is high, Low signal in TX will be modulated.
1: If TX idle state is low, High signal in TX will be modulated
6-0
R/W
Name
Bit
Type
Description
0xCF
CIRMOD_HPRD
R/W
Reserved
6-0
R/W
116
= 1;
CIRBIT
CIRSTART
(0xFEC4) = 0x22;
(0xFEC5) = 0x3B;
117
Name
PS2CFG
Bit
Type
R/W
Description
PS/2 port3 (TX/RX) enable. If disable, PS3CLK will be low.
0: Disable
1: Enable
R/W
R/W
R/W
R/W
R/W
R/W
R/W
118
Default
Bank
0x00
0xFE
Name
Bit
Type
0xE1
PS2PF
RO
Description
Flag of PS/2 port3 received one byte.
0: no event
1: event occurs
RO
RO
RO
R/W1C
R/W1C
R/W1C
R/W1C
119
Default
Bank
0x00
0xFE
Name
Bit
Type
0xE2
PS2CTRL
R/W
Description
Data port
Default
Bank
0x00
0xFE
Default
Bank
0x00
0xFE
0: Disconnect
1: Connect
6
R/W
Data port
0: Disconnect
1: Connect
5
R/W
Data port
0: Disconnect
1: Connect
4
R/W
Data port
0: Disconnect
1: Connect
3
WO
WO
RO
RSV
(a)
(b)
(c)
Reserved
Name
Bit
Type
0xE3
PS2DATA
7-0
R/W
Description
EC F/W gets/writes data from/to host via this register.
120
PS/2 Configuration 2
Offset
Name
Bit
Type
0xE4
PS2CFG2
R/W
Description
PS/2 port3 hardware mode enable.
Default
Bank
0x00
0xFE
0: Disable
1: Enable
6
R/W
R/W
R/W
R/W
R/W
RSV
Reserved.
R/W
Name
Bit
Type
0xE5
PS2PINS
RO
RO
RO
RO
RO
RO
RO
RO
Description
121
Default
Bank
0x00
0xFE
Name
Bit
Type
0xE6
PS2PINO
RO
RO
RO
RO
RO
RO
RO
RO
Reserved
Description
122
Default
Bank
0x00
0xFE
The host queries (read) EC status and issues (write) EC command via port 66h. The EC data
port is 62h. The status of EC is defined as the below table:
Status Bit
Name
Description
RSV
Reserved
RSV
Reserved
SCI
SCI event flag. Please note, this bit will not be set if standard EC commands
(80h~84h) issued by host.
0: No SCI event occurs
1: SCI event occurs
Burst Enable
Command/Data Flag
RSV
Reserved
IBF
OBF
The EC commands are defined as following, for more detail please refer to ACPI, Advanced
Configuration Power Interface Specification. 2.0
Value
Command
Description
80h
EC Read
81h
EC Write
82h
EC Burst Enable
83h
EC Burst Disable
84h
EC Query
Firmware Command
Others
123
Command
80h
EC Read
81h
82h
83h
84h
EC Write
Burst Enable
Burst Disable
Query EC
Program Sequence
1.
2.
3.
4.
5.
1.
2.
3.
4.
5.
6.
1.
2.
3.
1.
2.
1.
2.
3.
Host reads data via port 62h. The data obtained is SCI_ID number.
124
SCI ID
Event
Switch
Applications
Priority
00h
Nothing
N/A
01h-07h
RSV
N/A
Reserved
08h
WDT
SCIE0[0]
Watchdog
09h
LPC_IO2F
SCIE0[1]
0Ah
PS2
SCIE0[2]
PS/2 event
0Bh
KBC
SCIE0[3]
0(Highest)
IKB
SCIE0[4]
IKB
0Dh
LPC_IO686C
SCIE0[5]
LPC_IO6266
SCIE0[6]
FW_SCI
SCIE0[7]
10h
FAN0
SCIE1[0]
10
11h
FAN1
SCIE1[1]
11
12h
SMBus
SCIE1[2]
SMBus events
12
13h
CIR
SCIE1[3]
CIR events
13
14h
GPT0
SCIE1[4]
GPT0 event
14
15h
GPT1
SCIE1[5]
GPT1 event
15
16h
GPT2
SCIE1[6]
GPT2 event
16
17h
GPT3
SCIE1[7]
GPT3 event
17
18h
EXTWIO
SCIE3[0]
18
19h
GPIO00~GPIO0F
SCIE3[1]
GPIO00~GPIO0F
19
1Ah
GPIO10~GPIO1F
SCIE3[2]
GPIO10~GPIO1F
20
1Bh
GPIO20~GPIO2F
SCIE3[3]
GPIO20~GPIO2F
21
1Ch
GPIO30~GPIO3F
SCIE3[4]
GPIO30~GPIO3F
22
1Dh
GPIO40~GPIO4F
SCIE3[5]
GPIO40~GPIO4F
23
1Eh
GPIO50~GPIO5F
SCIE3[6]
GPIO50~GPIO59 / GPXIOD00~GPXIOD07
24
1Fh
ADC
SCIE3[7]
ADC update
125
25(Lowest)
The SCI pulse width is programmable for different applications. Two unit basis, 16s and 64
s can be chosen. To change the SCI pulse width, register PXCFG[2] (0xFF14) is for the unit
selection and the width can be controlled via register SCICFG[3:0] (0xFF03). The equation shows
the relationship. For more detail please refer to these 2 registers description.
SCI Pulse Width = SCICFG[3:0] * Unit ( 16s or 64 s)
Address
ADDAEN[3:0]
0xFF15
Description
ADC Function Enable bits of ADC3~ADC0
Bit3: ADC3
Bit2: ADC2
Bit1: ADC1
Bit0: ADC0
ADCTRL[6:5]
0xFF18
ADCTRL[4:2]
0xFF18
Select ADC channels to convert and output data in ADCDAT and ECIF[7:6]
ADCDAT
0xFF19
ECIF[7:6]
0xFF1A
126
127
Address
ADDAEN[7:4]
0xFF15
Description
DAC Function Enable bits of DAC3~DAC0
Bit7: DAC3
Bit6: DAC2
Bit5: DAC1
Bit4: DAC0
If DAC selected, please do not set related GPIO function selection register.
DAC0
0xFF10
DAC1
0xFF11
DAC2
0xFF12
DAC3
0xFF13
128
Description
STOP
All clock sources stop, except external PCI clock and 32.768KHz.
IDLE
RUN
OFF
The diagram below shows the relationship between each power mode.
129
Name
ECHV
Bit
Type
7-0
RO
Description
EC Hardware version
Default
Bank
0xD2
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x0F
0xFF
Default
Bank
0x90
0xFF
EC Firmware Revision ID
Offset
0x01
Name
ECFV
Bit
Type
7-0
R/W
Description
EC firmware version
This register will be a data port, ADC_test_data[7:0]
test mode (ADCTR[1]=1).
in ADC
EC High Address
Offset
Name
Bit
Type
Description
0x02
ECHA
7-6
R/W
R/W
in
0: writable.
1: write protection.
4
R/W
3-0
RSV
Reserved
EC SCI Configuration
Offset
0x03
Name
SCICFG
Bit
Type
R/W
Description
Standard EC commands generate SCI.
0: Disable
1: Enable
R/W
R/W
SCI polarity
0: Low active (default)
1: High active
R/W
3-0
R/W
130
EC Configuration
Offset
Name
Bit
Type
0x04
ECCFG
R/W
Description
EPB fast access enable. To enhance EPB performance.
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
0x00
0xFF
0x00
0xFF
0: Disable
1: Enable
6
R/W
5-3
RSV
Reserved
R/W
R/W
R/W
Name
Bit
Type
0x05
SCIE0
7-0
R/W
Description
SCI Event0 enable
0: Disable
1: Enable
0x06
SCIE1
7-0
R/W
0x07
SCIE3
7-0
R/W
131
Name
Bit
Type
0x08
ECIF0
7-0
R/W1C
Description
SCI Event0 flag
Default
Bank
0x00
0xFF
0x00
0xFF
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x2F
0xFF
0: no event
1: event occurs
0x09
ECIF1
7-0
R/W1C
0x0A
ECIF3
7-0
R/W1C
Name
Bit
Type
0x0B
SCID
7-0
R/W
Description
Firmware SCI write port
EC PMU Control/Configuration
Offset
Name
Bit
Type
Description
0x0C
PMUCFG
WO
WO
R/W
R/W
R/W
R/W
R/W
R/W
132
EC Clock Configuration
Offset
Name
Bit
Type
0x0D
CLKCFG
R/W
Description
Flash clock from external clock (GPIO59).
Default
Bank
0x00
0xFF
0: Disable
1: Enable
6
R/W
R/W
R/W
3-2
R/W
R/W
R/W
Name
EXTIOW
Bit
Type
Description
Default
Bank
7-0
R/W
0x00
0xFF
Description
Default
Bank
0xE0
0xFF
EC PLL Configuration
Offset
Name
Bit
Type
0x0F
PLLCFG
7-0
R/W
133
Name
Bit
Type
0x10
DAC0
7-0
R/W
0x10
EXTCMD
7-0
R/W
Description
Default
Bank
0x00
0xFF
0x00
0xFF
Name
DAC1
EXTARG0
Bit
Type
Default
Bank
7-0
R/W
Description
0x00
0xFF
7-0
R/W
0x00
0xFF
Name
DAC2
EXTARG1
Bit
Type
Default
Bank
7-0
R/W
Description
0x00
0xFF
7-0
R/W
0x00
0xFF
Name
Bit
Type
Default
Bank
0x00
0xFF
0x00
0xFF
Default
Bank
0x00
0xFF
0x13
DAC3
7-0
R/W
0x13
EXTARG2
7-0
R/W
Description
Name
Bit
Type
Description
0x14
PXCFG
7-3
RSV
Reserved
R/W
R/W
R/W
134
Name
Bit
Type
0x15
ADDAEN
7-4
R/W
Description
DAC3~DAC0 Function Enable
Default
Bank
0x00
0xFF
Default
Bank
0x3E
0xFF
Default
Bank
0x83
0xFF
R/W
Name
Bit
Type
0x16
PLLFRH
7-0
R/W
Description
DPLL frequency = 32.768KHz(external) * PLLFR
PLLFR[11:0] =( PLLFRH[7:0] : PLLFRL[7:4] )
To generate 32.768MHz, PLLFR = 1000 (decimal) = 0x3E8
i.e., PLLFRH=0x3E
Name
Bit
Type
0x17
PLLFRL
7-4
R/W
Description
DPLL frequency = 32.768KHz * PLLFR
PLLFR[11:0] =( PLLFRH[7:0] : PLLFRL[7:4] )
To generate 32.768MHz, PLLFR = 1000 (decimal) = 0x3E8
i.e., PLLFRL[7:4]=0x8
R/W
R/W
1-0
RSV
Reserved
135
Name
Bit
Type
Description
0x18
ADCTRL
RSV
Reserved
6-5
R/W
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
4-2
R/W
1: ADC1
2: ADC2
3: ADC3
4: ADC4
5: ADC5
R/W
Name
Bit
Type
0x19
ADCDAT
7-0
RO
Description
Converted data by ADC. ADC output[9:2]=ADCDAT[7:0]
Name
Bit
Type
Description
0x1A
ECIF
7-6
RO
5-3
RSV
Reserved
R/W1C
R/W1C
R/W1C
EC Data Port
Offset
Name
Bit
Type
0x1B
ECDAT
7-0
R/W
Description
EC data port.
If ECDAT written, ECSTS[0] (OBF) becomes 1.
EC Command Port
Offset
0x1C
Name
ECCMD
Bit
Type
7-0
RO
Description
This register keeps EC command issued by the host.
136
Name
Bit
Type
Description
0x1D
ECSTS
R/W
Reserved
R/W
Reserved
RO
Default
Bank
0x00
0xFF
Default
Bank
0: no event
1: event occurs
4
R/W
R/W
R/W
R/W1C
R/W1C
EC Clock Configuration 2
Offset
Name
Bit
Type
0x1E
CHIPID_H
7-0
R/W
0x39
0xFF
7-0
R/W
0x1F
0xFF
0x1E
CLKCFG2
Description
to generate 1s (ECSTS[2]=1)
137
EC PLL Configuration 2
Offset
Name
Bit
Type
0x1F
CHIPID_L
7-0
R/W
0x1F
PLLCFG2
7-6
R/W
Description
Default
Bank
0x26
0xFF
0x21
0xFF
Default
Bank
0x00
0xFF
R/W
R/W
3-0
R/W
EC MISC Configuration
Offset
0x20
Name
ECMISC
Bit
Type
R/W
Description
8051 state.
0: Idle state
1: Normal state
6-3
R/W
Reserved
R/W
R/W
R/W
Name
Bit
Type
Description
Default
Bank
0x21
EXTIOR
7-0
R/W
The host reads extended I/O port and gets data from this
register. No interrupt occurs.
0x00
0xFF
Default
Bank
0x00
0xFF
Name
Bit
Type
0x22
EDIF
R/W
Description
EDI feature enable
0: disable
1: enable
6-0
RSV
Reserved
138
Name
Bit
Type
0x23
EDIAS
R/W
Description
EDI active status
Default
Bank
0x00
0xFF
Default
Bank
0x01
0xFF
0: not active
1: active
6-0
RSV
Reserved
Name
EDIID
Bit
Type
7-0
RO
Description
EDI version
139
Polarity
Edge/Level
Toggle
0: Disable
0:/ L
0: Edge
0: Disable
1: Enable
1:/ H
1: Level
1: Enable
140
Description
Name
GPWUEN00
Bit
Type
7-0
R/W
Description
GPIO00~GPIO07 Wakeup Event Switch
Default
Bank
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
GPWUEN08
7-0
R/W
0x32
GPWUEN10
7-0
R/W
0x33
GPWUEN18
7-0
R/W
0x34
GPWUEN20
7-0
R/W
0x35
GPWUEN28
7-0
R/W
0x36
GPWUEN30
7-0
R/W
0x37
GPWUEN38
7-0
R/W
0x38
GPWUEN40
7-0
R/W
0x39
GPWUEN48
7-0
R/W
141
0x3A
GPWUEN50
7-0
R/W
0x00
0xFF
0x00
0xFF
0x00
0xFF
GPWUEN58
7-0
R/W
0x3C
GPWUEN60
7-0
R/W
142
Name
Bit
Type
0x40
GPWUPF00
7-0
R/W1C
Description
GPIO00~GPIO07 Wakeup Event Pending Flag
Default
Bank
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
GPWUPF08
7-0
R/W1C
0x42
GPWUPF10
7-0
R/W1C
0x43
GPWUPF18
7-0
R/W1C
0x44
GPWUPF20
7-0
R/W1C
0x45
GPWUPF28
7-0
R/W1C
0x46
GPWUPF30
7-0
R/W1C
0x47
GPWUPF38
7-0
R/W1C
0x48
GPWUPF40
7-0
R/W1C
0x49
GPWUPF48
7-0
R/W1C
0x4A
GPWUPf50
7-0
R/W1C
143
GPWUPF58
7-0
R/W1C
0x4C
GXWUPF00
7-0
R/W1C
144
0x00
0xFF
Name
Bit
Type
0x50
GPWUPS00
7-0
R/W
Description
GPIO00~GPIO07 Wakeup Polarity Selection
Default
Bank
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
GPWUPS08
7-0
R/W
0x52
GPWUPS10
7-0
R/W
0x53
GPWUPS18
7-0
R/W
0x54
GPWUPS20
7-0
R/W
0x55
GPWUPS28
7-0
R/W
0x56
GPWUPS30
7-0
R/W
0x57
GPWUPS38
7-0
R/W
0x58
GPWUPS40
7-0
R/W
0x59
GPWUPS48
7-0
R/W
0x5A
GPWUPS50
7-0
R/W
145
GPWUPS58
7-0
R/W
0x5C
GXWUPS00
7-0
R/W
146
0x00
0xFF
Name
Bit
Type
0x60
GPWUEL00
7-0
R/W
Description
GPIO00~GPIO07 Wakeup Level/Edge Selection
Default
Bank
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
GPWUEL08
7-0
R/W
0x62
GPWUEL10
7-0
R/W
0x63
GPWUEL18
7-0
R/W
0x64
GPWUEL20
7-0
R/W
0x65
GPWUEL28
7-0
R/W
0x66
GPWUEL30
7-0
R/W
0x67
GPWUEL38
7-0
R/W
0x68
GPWUEL40
7-0
R/W
0x69
GPWUEL48
7-0
R/W
0x6A
GPWUEL50
7-0
R/W
147
GPWUEL58
7-0
R/W
0x6C
GXWUEL00
7-0
R/W
148
0x00
0xFF
Name
Bit
Type
0x70
GPWUCHG00
7-0
R/W
Description
GPIO00~GPIO07 Wakeup Input Change (Toggle) Trigger
Default
Bank
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
GPWUCHG08
7-0
R/W
0x72
GPWUCHG10
7-0
R/W
0x73
GPWUCHG18
7-0
R/W
0x74
GPWUCHG20
7-0
R/W
0x75
GPWUCHG28
7-0
R/W
0x76
GPWUCHG30
7-0
R/W
0x77
GPWUCHG38
7-0
R/W
149
0x78
GPWUCHG40
7-0
R/W
0x00
0xFF
0x00
0xFF
0x00
0xFF
0x00
0xFF
GPWUCHG48
7-0
R/W
0x7A
GPWUCHG50
7-0
R/W
0x7B
GPWUCHG58
7-0
R/W
0x7C
GXWUCHG00
7-0
R/W
150
Function
GPIO02
GPIO03
GPIO05
GPIO06
Programming model
1. set related wakeup enable register.
GPIWUEN00 (0xFF30) = 0x6C
2. set related wakeup polarity register
GPWUPS00 (0xFF50) = 0x08
3. set related wakeup edge/level trigger register
GPWUEL00 (0xFC60) = 0x04
4.
151
Command
Command Byte
Command
02h
Quick Write
08h
Write Word
03h
Quick Read
09h
Read Word
04h
Send Byte
0Ah
Write Block
05h
Receive Byte
0Bh
Read Block
06h
Write Byte
0Ch
Word Process
07h
Read Byte
0Dh
Block Process
The SMBus introduces new mechanism to communicate with I2C devices, called Byte
mode. If the SMBus operates in this mode, only 3 protocols are supported, 05h (Receive Byte),
0Ah (Write Block) and 0Bh (Read Block). Here gives the brief programming guide of how to use
Byte mode as following table.
05h, Receive Byte
1.
1.
1.
2.
2.
2.
3.
3.
3.
4.
4.
5.
152
The SMBus controller works as a host (master). The controller can be programmed to
enable slave mode. In slave mode, the controller will response to its slave address which is
programmable. A slave device could communicate with the SMBus host controller via SMBus Alert
or Host Notify protocols. The SMBus Alert protocol can be implemented via optional SMBAlert#
signal or periodical ARA (Alert Response Address) command. As to Host Notify protocol, The
controller provides registers for F/W to achieve different applications. The following gives the brief
summary between Host Notify protocol and SMBus register interface.
1bit
7bit
1bit
1bit
7bit
1bit
8bit
1bit
8bit
1bit
1bit
Wr
Device Addr.
P: Stop bit
153
Name
SMBTCRC
Bit
Type
7-0
RO
Bit
Type
R/W
Description
SMBus CRC value.
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x06
0xFF
Name
SMBPIN
Description
SMBus data line forced to low.
Write 0 to force SDA0 or SDA1 low.
R/W
RO
RO
R/W
R/W
R/W
R/W
SMBus Configuration
Offset
Name
Bit
Type
0x94
SMBCFG
R/W
Description
SMBus master disable
0: Enable master function.
1: Disable master function
R/W
RSV
Reserved
4-0
R/W
154
Name
Bit
Type
0x95
SMBEN
RO
Description
SMBus host controller status
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
0: not busy
1: busy
6-4
RSV
Reserved
R/W
R/W
R/W
R/W
Name
Bit
Type
Description
0x96
SMBPF
RSV
Reserved
R/W
R/W1C
RO
R/W1C
2-0
RSV
Reserved
Name
SMBRCRC
Bit
Type
7-0
RO
Description
The CRC value received from SMBus slave device.
155
SMBus Protocol
Offset
Name
Bit
Type
0x98
SMBPRTCL
R/W
Description
SMBus transaction with PEC (Packet Error Check)
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
0: Disable
1: Enable.
6-0
R/W
Command protocol.
02h: Quick Write
03h: Quick Read
04h: Send Byte
05h: Receive Byte / Receive Byte (Byte Mode)
06h: Write Byte
07h: Read Byte
08h: Write Word
09h: Read Word
0Ah: Write Block / Write Block (Byte Mode)
0Bh: Write Read / Read Block (Byte Mode)
0Ch: Word Process
0Dh: Block Process
others: Reserved
SMBus Status
Offset
Name
Bit
Type
0x99
SMBSTS
R/W
Description
SMBus command done flag
0: no event (Write 0 to clear)
1: event occurs
R/W
R/W
SMBus block data array protocol control. F/W could control the
protocol progress via this bit.
0: Block Data Array protocol keeps going.
1: Block Data Array protocol stops
4-0
R/W
Error code.
00h: no error
07h: unknown address failure.
10h: device address no ACK
12h: command no ACK
13h: device data no ACK
17h: device access deny
18h: SMBus timeout
19h: unsupported protocol
1Ah: SMBus busy
1Fh: PEC (Packet Error Check) error
others: Reserved
156
Name
Bit
Type
Description
0x9A
SMBADR
7-0
R/W
0x9A
SMBADR
7-1
R/W
(SMBPIN[3]=1)
R/W
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
0: Write
1: Read
Name
SMBCMD
Bit
Type
7-0
R/W
Description
SMBus command port
Name
SMBDAT0
Bit
Type
7-0
R/W
Description
0x9D
SMBDAT1
7-0
R/W
0x00
0xFF
0x9E
SMBDAT2
7-0
R/W
0x00
0xFF
0x9F
SMBDAT3
7-0
R/W
0x00
0xFF
0xA0
SMBDAT4
7-0
R/W
0x00
0xFF
0xA1
SMBDAT5
7-0
R/W
0x00
0xFF
0xA2
SMBDAT6
7-0
R/W
0x00
0xFF
0xA3
SMBDAT7
7-0
R/W
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Default
Bank
0x00
0xFF
Name
Bit
Type
0xA4
SMBRSA
7-0
R/W
Description
SMBus slave address (7-bits long), bit0 ignores.
Name
Bit
Type
0xBC
SMBCNT
7-0
R/W
Description
Smbus block count.
If 0x00, it means 32-byte length in a block transfer.
Bit7~Bit5 are ignored
Name
SMBAADR
Bit
Type
7-0
R/W
Description
This register is alarm address.
Name
SMBDAT0
Bit
Type
7-0
R/W
Description
Alarm data (low byte)
157
Name
Bit
Type
0xBF
SMBDAT1
7-0
R/W
Description
Alarm data (high byte)
158
Default
Bank
0x00
0xFF
; battery address
; command complete
; no error
159
160
OpCode
Arithmetic
Mnemonic
OpCode
INC
DPTR
A3
AB
ADD
A, #data
24
MUL
A4
ADD
A, direct
25
SUBB
A, #data
94
ADD
A, @ R0
26
SUBB
A, direct
95
ADD
A, @ R1
27
SUBB
A, @ R0
96
ADD
A, R0
28
SUBB
A, @ R1
97
ADD
A, R1
29
SUBB
A, R0
98
ADD
A, R2
2A
SUBB
A, R1
99
ADD
A, R3
2B
SUBB
A, R2
9A
ADD
A, R4
2C
SUBB
A, R3
9B
ADD
A, R5
2D
SUBB
A, R4
9C
ADD
A, R6
2E
SUBB
A, R5
9D
ADD
A, R7
2F
SUBB
A, R6
9E
ADDC A, #data
34
SUBB
A, R7
9F
ADDC A, direct
35
ADDC A, @ R0
36
ADDC A, @ R1
37
ANL
direct, A
52
ADDC A, R0
38
ANL
direct, #data
53
ADDC A, R1
39
ANL
A, #data
54
ADDC A, R2
3A
ANL
A, direct
55
ADDC A, R3
3B
ANL
A, @ R0
56
ADDC A, R4
3C
ANL
A, @ R1
57
ADDC A, R5
3D
ANL
A, R0
58
ADDC A, R6
3E
ANL
A, R1
59
ADDC A, R7
3F
ANL
A, R2
5A
DEC
14
ANL
A, R3
5B
DEC
direct
15
ANL
A, R4
5C
DEC
@ R0
16
ANL
A, R5
5D
DEC
@ R1
17
ANL
A, R6
5E
DEC
R0
18
ANL
A, R7
5F
DEC
R1
19
CLR
E4
DEC
R2
1A
CPL
F4
DEC
R3
1B
ORL
direct, A
42
DEC
R4
1C
ORL
direct, #data
43
DEC
R5
1D
ORL
A, #data
44
DEC
R6
1E
ORL
A, direct
45
DEC
R7
1F
ORL
A, @ R0
46
161
OpCode
Mnemonic
OpCode
DIV
AB
84
ORL
A, @ R1
47
DA
D4
ORL
A, R0
48
INC
04
ORL
A, R1
49
INC
direct
05
ORL
A, R2
4A
INC
@ R0
06
ORL
A, R3
4B
INC
@ R1
07
ORL
A, R4
4C
INC
R0
08
ORL
A, R5
4D
INC
R1
09
ORL
A, R6
4E
INC
R2
0A
ORL
A, R7
4F
INC
R3
0B
RL
23
INC
R4
0C
RLC
33
INC
R5
0D
RR
03
INC
R6
0E
RRC
13
INC
R7
0F
SWAP A
C4
Data Movement
XRL
direct, A
62
MOV
direct, R7
8F
XRL
direct, #data
63
MOV
@ R0, direct
A6
XRL
A, #data
64
MOV
@ R1, direct
A7
XRL
A, direct
65
MOV
R0, direct
A8
XRL
A, @ R0
66
MOV
R1, direct
A9
XRL
A, @ R1
67
MOV
R2, direct
AA
XRL
A, R0
68
MOV
R3, direct
AB
XRL
A, R1
69
MOV
R4, direct
AC
XRL
A, R2
6A
MOV
R5, direct
AD
XRL
A, R3
6B
MOV
R6, direct
AE
XRL
A, R4
6C
MOV
R7, direct
AF
XRL
A, R5
6D
MOV
A, direct
E5
XRL
A, R6
6E
MOV
A, @ R0
E6
XRL
A, R7
6F
MOV
A, @ R1
E7
MOV
A, R0
E8
MOV
A, R1
E9
Bit Operation
ANL
C, bit
82
MOV
A, R2
EA
ANL
C, /bit
B0
MOV
A, R3
EB
CLR
bit
C2
MOV
A, R4
EC
CLR
C3
MOV
A, R5
ED
CPL
bit
B2
MOV
A, R6
EE
CPL
B3
MOV
A, R7
EF
20
MOV
direct, A
F5
10
MOV
@ R0, A
F6
40
MOV
@ R1, A
F7
JB
bit, relative
JBC
JC
bit, relative
relative
JNB
bit, relative
30
MOV
R0, A
F8
JNC
relative
50
MOV
R1, A
F9
MOV
C, bit
92
MOV
R2, A
FA
162
OpCode
Mnemonic
OpCode
MOV
bit, C
A2
MOV
R3, A
FB
ORL
C, bit
72
MOV
R4, A
FC
ORL
C, /bit
A0
MOV
R5, A
FD
SETB
bit
D2
MOV
R6, A
FE
SETB
D3
MOV
R7, A
FF
MOV
DPTR, #data16
90
MOVC
A, @ A+PC
83
>33
A, @ A+DPTR
93
>33
Data Movement
MOV
A, #data
74
MOVC
MOV
direct, #data
75
MOVX
A, @ DPTR
E0
>=5
MOV
@ R0, #data
76
MOVX
A, @ R0
E2
>=5
MOV
@ R1, #data
77
MOVX
A, @ R1
E3
>=5
MOV
R0, #data
78
MOVX
@ DPTR, A
F0
>=4
MOV
R1, #data
79
MOVX
@ R0, A
F2
>=4
MOV
R2, #data
7A
MOVX
@ R1, A
F3
>=4
MOV
R3, #data
7B
POP
D0
MOV
R4, #data
7C
PUSH
direct
C0
MOV
R5, #data
7D
XCH
A, direct
C5
MOV
R6, #data
7E
XCH
A, @ R0
C6
MOV
R7, #data
7F
XCH
A, @ R1
C7
MOV
direct, direct
85
XCH
A, R0
C8
MOV
direct, @ R0
86
XCH
A, R1
C9
MOV
direct, @ R1
87
XCH
A, R2
CA
MOV
direct, R0
88
XCH
A, R3
CB
MOV
direct, R1
89
XCH
A, R4
CC
MOV
direct, R2
8A
XCH
A, R5
CD
MOV
direct, R3
8B
XCH
A, R6
CE
MOV
direct, R4
8C
XCH
A, R7
CF
MOV
direct, R5
8D
XCHD
A, @ R0
D6
MOV
direct, R6
8E
XCHD
A, @ R1
D7
DJNZ
direct, relative
D5
Program Branching
ACALL
address11
direct
bbb1 0001
DJNZ
R0, relative
D8
bbb0 0001
DJNZ
R1, relative
D9
AJMP
address11
CJNE
A, #data, relative
B4
DJNZ
R2, relative
DA
CJNE
A, direct, relative
B5
DJNZ
R3, relative
DB
B6
DJNZ
R4, relative
DC
B7
DJNZ
R5, relative
DD
CJNE
B8
DJNZ
R6, relative
DE
CJNE
B9
DJNZ
R7, relative
DF
CJNE
BA
JMP
@ A+DPTR
73
CJNE
BB
JNZ
relative
70
CJNE
BC
JZ
relative
60
CJNE
BD
LCALL
12
CJNE
BE
LJMP
02
163
OpCode
BF
RET
22
RETI
32
CJNE
Mnemonic
SJMP
80
00
Special Instruction
NOP
OpCode
164
Vector Address
Applications
IE0
0x0003
TF0
0x000B
8051 Timer 0
IE1
0x0013
TF1
0x001B
8051 Timer 1
RI & TI
0x0023
P0I[0]
0x0043
Watchdog
P0I[1]
0x004B
P0I[2]
0x0053
PS/2 event
P0I[3]
0x005B
KBC
P0I[4]
0x0063
IKB
P0I[5]
0x006B
68h/6Ch ports
10
P0I[6]
0x0073
EC
11
P0I[7]
0x007B
ESB events
12
P1I[0]
0x0083
13
P1I[1]
0x008B
14
P1I[2]
0x0093
SMBus events
15
P1I[3]
0x009B
CIR events
16
P1I[4]
0x00A3
GPT0 event
17
P1I[5]
0x00AB
GPT1 event
18
P1I[6]
0x00B3
GPT2 event
19
P1I[7]
0x00BB
GPT3 event
20
P3I[0]
0x00C3
21
P3I[1]
0x00CB
GPIO00~GPIO0F
22
P3I[2]
0x00D3
GPIO10~GPIO1F
23
P3I[3]
0x00DB
GPIO20~GPIO2F
24
P3I[4]
0x00E3
GPIO30~GPIO3F
25
P3I[5]
0x00EB
GPIO40~GPIO4F
26
P3I[6]
0x00F3
GPIO50~GPIO59 / GPXIOD00~GPXIOD07
27
P3I[7]
0x00FB
ADC update
Priority
0(Highest)
28(Lowest)
165
Pending Flag
address
bit
behavior
address
bit
type
A8h
88h
8051 Timer0
A8h
88h
A8h
88h
8051 Timer1
A8h
88h
A8h
98h
1~0
FE80h
FE81h
FE81h
WDT
RTC
FE84h
7,0
FE84h
FF20h
FF9Ah
FE9Ah
PS/2
FEE0h
3~0
FEE1h
3~0
KBC
FC81h
1,0
FC82h
1,0
IKB
FCA3h
5~0
FCA4h
5~0
LPC 68h/6Ch
IBF_Rising
OBF_Falling
FE9Dh
1,0
FE9Eh
1,0
FE9Eh
3,2
EC host interrupt
FF04h
FF1Ah
FF04h
FF1Ah
FC90h
FC92h
6~4
FC91h
6~4
FC92h
3~0
FC97h
7~0
FC98h
7~4
FC97h
FE20h
3,2
FE21h
1,0
FE30h
3,2
FE31h
1,0
FF95h
FF99h
7,5
FF96h
ESB
FAN
SMBus
FF95h
FF99h
FF95h
FF96h
CIR TX
FEC0h
FEC2h
CIR RX
FEC0h
FEC2h
2~0
GPT0~GPT3
FE50h
3~0
FE51h
3~0
FE95h
GPWU
FF3Xh
7~0
FF4Xh
7~0
ADC
FF18h
behavior
166
Pending Flag(PF)
=>
167
P0IE
SP
DPL
DPH
PCON2
88
TCON
TMOD
TL0
TL1
90
P1IE
98
SCON
A0
P2
A7
A8
IE
AF
B0
P3IE
B7
B8
IP
BF
TH0
TH1
PCON
87
8F
97
SBUF
SCON2
SCON3
9F
C0
C7
C8
CF
D0
PSW
D7
D8
P0IF
DF
E0
ACC
E7
E8
P1IF
EF
F0
F7
F8
P3IF
FF
1. The blue parts are changed from standard features and the green ones are the new design for special features.
And all the others are the standard features of conventional 8051.
2. The registers listed in the column with
168
Name
Bit
Type
0x80
P0IE
7-0
R/W
Description
P0 interrupt enable.
Default
0x00
Stack Pointer
Address
Name
Bit
Type
0x81
SP
7-0
R/W
Description
8051 stack pointer register
Default
0x07
Name
Bit
Type
0x82
DPL
7-0
R/W
Description
Low byte of DPTR
Default
0x00
Name
Bit
Type
0x83
DPH
7-0
R/W
Address
Name
Bit
Type
0x84
RSV
7-0
RSV
Address
Name
Bit
Type
0x85
RSV
7-0
RSV
Description
High byte of DPTR
Default
0x00
Reserved
Description
Reserved
Default
0x00
Reserved
Description
Reserved
Default
0x00
169
Name
Bit
Type
Description
0x86
PCON2
R/W
R/W
Default
0x20
0: Disable
1: Enable
5
R/W
Reserved
R/W
R/WC0
2-1
RSV
R/W
Reserved
Not fetching instruction while in idle loop.
0: Disable
1: Enable
Name
Bit
Type
0x87
PCON
7-6
RSV
Reserved
Description
R/W
0x00
R/W
R/W
R/W
WO
WO
Default
170
Name
Bit
Type
0x88
TCON
R/W1C
Description
TF1, Timer1 overflow flag
0: no event
1: event occurs
R/W
R/W1C
R/W
R/W1C
R/W
R/W1C
R/W
171
Default
0x00
Name
Bit
Type
0x89
TMOD
R/W
Description
GATE1, this bit is the gate control of TR1 and INT1
Default
0x00
0: Disable
1: Enable
6
R/W
5-4
R/W
R/W
R/W
1-0
R/W
Name
Bit
Type
0x8A
TL0
7-0
R/W
Description
Low byte of timer 0
Default
0x00
Name
Bit
Type
0x8B
TL1
7-0
R/W
Description
Low byte of timer 1.
Default
0x00
Name
Bit
Type
0x8C
TH0
7-0
R/W
Description
High byte of timer 0
Default
0x00
Name
Bit
Type
0x8D
TH1
7-0
R/W
Description
High byte of timer 1
Default
0x00
172
Name
Bit
Type
0x90
P1IE
7-0
R/W
Description
Port 1 interrupt enable.
Default
0x00
Reserved
Address
Name
Bit
Type
0x91-0x97
N/A
7-0
RSV
Description
Reserved
Default
0x00
Name
Bit
Type
0x98
SCON
7-6
R/W
Description
SM1,SM0, serial port mode
Default
0x50
RSV
Reserved
R/W
R/W
R/W
R/W0C
th
R/W0C
Name
SBUF
Bit
Type
7-0
R/W
Description
Serial port data buffer
Default
0x00
Name
SCON2
Bit
Type
7-0
R/W
Description
High byte of 16-bit counter for baud rate
Default
0x00
Name
SCON3
Bit
Type
7-0
R/W
Description
Low byte of 16-bit counter for baud rate
173
Default
0x00
Port 2 Register
Address
0xA0
Name
P2
Bit
Type
7-0
R/W
Description
Port 2 register
Default
0x00
Name
IE
Bit
Type
R/W
Description
EA, all interrupts enable.
Default
0x00
0: Disable
1: Enable
6-5
RSV
Reserved
R/W
R/W
R/W
R/W
R/W
Name
Bit
Type
0xB0
P3IE
7-0
R/W
Description
Port 3 interrupt enable.
Bit0~Bit7 stand for P3[0]~P3[7] respectively
0: Disable
1: Enable
174
Default
0x00
Name
Bit
Type
Description
0xB8
IP
7-5
RSV
Reserved
R/W
Default
0x00
0: Low
1: High
3
R/W
R/W
R/W
R/W
Name
Bit
Type
Description
0xD0
PSW
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
P, parity flag
Default
0x00
Name
P0IF
Bit
Type
7-0
R/W
Bit
Type
7-0
R/W
Description
Port 0 interrupt flag.
Default
0x00
Accumulator, ACC
Address
0xE0
Name
ACC
Description
Accumulator
Default
0x00
175
Name
Bit
Type
0xE8
P1IF
7-0
R/W
Address
Name
Bit
Type
0xF0
7-0
R/W
Description
Port 1 interrupt flag.
Default
0x00
B Register
Description
B register, for MUL and DIV instructions.
Default
0x00
Name
Bit
Type
0xF8
P3IF
7-0
R/W
Description
Port 3 interrupt flag.
Default
0x00
176
5. Electrical Characteristics
5.1 Absolute Maximum Rating
Symbol
VCC
Parameter
Power Source Voltage
Condition
All voltages are referred to GND.
Rating
Unit
-0.3 ~ 3.6
Vi
Input Voltage
-0.3 ~ 3.6
Vo
Output Voltage
-0.3 ~ 3.6
Storage Temperature
-65 ~ 150
TSTG
ESD Tolerance
CZAP = 100pF
RZAP = 1.5K
Symbol
Min
VIL
Max
Unit
Condition
-0.3
VCC*0.3
VCC=3.0~3.6V
VIH
VCC*0.7
VCC*1.1
VCC=3.0~3.6V
VIH
VCC*0.7
5.5
VCC=3.0~3.6V
VOL
0.4
VOH
2.8
Vt-
1.14
Vt+
1.94
Hysteresis
VTH
0.8
IIL
No pull-up
IOZ
No pull-up
RPU
VI=0V
Input Capacitance
CPU
5.5
pF
Output Capacitance
COUT
5.5
pF
Bi-directional Capacitance
CBID
5.5
pF
Typ.
30K
40K
177
50K
Limits
Min
Typ
Unit
Max
Resolution
10
Bit
LSB
LSB
Offset Error
LSB
Gain Error
LSB
0.1Vcca
0.9Vcca
<0.1
V
uA
10
pF
MHz
us
178
Parameter
Limits
Unit
Min
Typ
Max
3.0
3.3
3.6
GND
Ground Voltage
-0.3
0.3
VCCA
3.0
3.3
3.6
Vcc
Top
Operating Temperature
0
0
25
V
70
Parameter
Limits
Unit
Typ
Icc
Typical current
consumption in operating
state under Windows
environment. All clock
domains are running, and
no keyboard/mouse
activities.
20
mA
ThetaJA @ 1 m/s
ThetaJA @ 2 m/s
128-Pin LQFP
59.1
53.3
51.4
128 LFBGA
50.9
48.7
45.5
179
tCLL
SPICLK
tCLH
tOSU
MOSI
tOH
tDSU
MISO
tDH
tSLCH
tCHSH
tSHSL
SPICS#
Parameter
Symbol
Spec.
Typ.
Min.
Max.
Condition
Unit
SPICLK period
tSCLK
tCLH
tCLL
tOSU
15.2
*1
--
4
4
tOH
--
ns
--
--
--
--
tSCLK/2
*2
-5
tSCLK/2
*2
+5
--
--
---
tSLCH
--
tSCLK
--
tCHSH
--
tSCLK/2
--
tSHSL
110
--
--
tDSU
--
--
tSCLK/2 4
--
--
tDH
1.
2.
180
= 15.2ns,
CL=12pF
tSCLK = 15.2ns,
CL=12pF
tSCLK
ns
ns
ns
ns
ns
ns
ns
ns
ns
CL=12pF
CL=12pF
6. Package Information
6.1 LQFP 128-Pin Outline Diagram
6.1.1 Top View
181
182
183
Min.
Typ.
Max.
DIM
Min.
Typ.
Max.
1.6
E1
A1
0.05
0.15
A2
1.35
1.4
1.45
L1
0.13
0.16
0.23
R1
0.08
b1
0.13
0.19
R2
0.08
0.2
0.09
0.2
0.2
c1
0.09
0.16
14 BSC
0.45
0.6
0.75
1 REF
3.5
16 BSC
D1
14 BSC
11
12
13
0.4 BSC
11
12
13
16 BSC
Unit
Package
mm
14x14x1.4
Pitch POD
0.4
Footprint
2mm
184
185
186
187
Min.
Nor.
1.3
A1
0.16
0.26
A2
0.21
A3
0.7
0.27
0.37
0.5
D1
E1
Unit
mm
Package
7mm * 7 mm
Max.
188
Package Size
KB926QF D2
Lead Free
KB926QF D3
Lead Free
189