4.10.1.2 EC Status Register.............................................................................................................................26
4.10.1.4 EC Command Program Sequence ...................................................................................................27
4.10.1.5 EC Index IO Mode............................................................................................................................27
Programmable 4-byte Index I/O ports to access internal registers
One Programmable I/O write byte-address decoding
X-Bus Interface (XBI)
SPI Flash support, the operation frequency runs at least 50MHz.
Addressable Memory range up to 24MB.
8051 64KB code memory can be mapped into 4 independent 16KB pages.
KB3700 Keyboard Controller Datasheet
8051 Microprocessor
Industry 8051 Instruction set complaint with 3~5 cycles per instruction.
Programmable 8/16/32 MHz clock
Fast instruction fetching from XBI Interface
128 bytes and 2KB tightly-coupled SRAM
24 extended interrupt sources.
Two 16-bit tightly-coupled timer
8042 Keyboard Controller
8 Standard keyboard commands processed by hardware
Each hardware command can be optionally processed by firmware
Embedded Controller (EC)
Five EC Standard Commands can be processed by hardware
ACPI Specification 2.0 compliant
Support customer command by firmware
Programmable EC I/O port addressing (default 62h/66h)
Analog To Digital Converter (ADC)
6 built-in ADCs with 8-bit resolution.
The ADC pins can be alternatively configured as General Purpose Inputs (GPI).
5 built-in PWMs
Selectable clock sources: 1MHz/64KHz/4KHz/256Hz.
Configurable cycle time (up to 1 sec) and duty cycle.
Watchdog Timer (WDT)
32.768KHz input clock with 20-bit time scale.
8-bit watchdog timer interrupt and reset setting
General Purpose Timer (GPT)
Two 16-bit, two 8-bit general purpose timers with 32.768KHz resolution
General Purpose Wake-Up (GPWU)
All General Purpose Input pins can be configured to generate interrupts or
wake-up event.
General Purpose Input/Output (GPIO)
All I/O pins are bi-direction and configurable
All outputs can be optionally tri-stated
All inputs equipped with pull-up, high/low active, edge/level trigger selection
All GPIO pins are bi-direction, input and output.
Max. 43 GPIOs
Power Management
Sleep State: 8051 Program Counter (PC) stopped
Deep Sleep State: Stop all internal clocks. Target power consumption ~10uA.
Hardware trap pins will latch the external signal levels at the rising edge of ECRST#. Either a High
or Low value will be stored internally to serve as control signals as described below.
For normal application, there is no application component required for selecting the normal mode
because KB3700 build-in internal pull up resistor to select the right operation mode.
After KB3700 booted, the pull up resistor may be disabled by GPIO register setting.
Pin name 64 Pins
TP_TEST
48
(GPIO16)
TP_PLL
53
(GPIO17)
TP_TEST: Clock Test Mode (for testing and ISP Mode)
Low: Clock Test Mode Enable. (all internal logic will use GPIO15 as clock
source)
TP_PLL: PLL Test Mode (for testing)
There are 2 power planes in this chip. One is used for all logic, the other is used for Analog
parts (ADC).
4.1.2 Clock Domains
There are 4 clock domain in KB3700.
Flash chip interface clock. The clock default in 16MHz, and can be to 32MHz or 64MHz.
8051 / XBI use high clock (setting in CLKCFG, FF0Dh), ranges from 22~4MHz.
WDT uses 32.768KHz clock. WDT default use internal 32KHz clock. The WDTCFG bit 7
options can switch WDT clock to external 32KHz clock oscillator.
Other peripherals (GPWU, PWM,.) use low clock (setting in CLKCFG, FF0Dh), ranges
from 8~2MHz.
4.1.3 Reset Domains
KB3700 Keyboard Controller Datasheet
This chip builds in power on reset. There is also a input reset signal (ECRST#) for global reset.
WDT reset can reset almost all logic, except WDT and GPIO modules. The WDT reset can be
set to only reset 8051 by EC register (PXCFG, FF14h).
There is additional 8051 reset source from EC register (PXCFG, FF14h).
4.2 GPIO
4.2.1 GPIO Functional Description
Multi-function pin Output Function Selection (FS) bit = 0, is set for GPIO Output Function,
and FS bit = 1, is set for Alternative Output. The alternative input function is enabled by Input
Enable register (IE), and is not affected by FS register.
Offset
00
~
03
10
~
15
20
~
Register
Abbreviation
GPIOFS00
GPIOFS08
GPIOFS10
GPIOFS18
GPIOOE00
GPIOOE08
GPIOOE10
GPIOOE18
GPIOEOE0
GPIOEOE8
GPIOD08
Register Full Name
Bit Attr Description
GPIO 00~1B Output Function Selection (0: GPO, 1: Alternative Output)
01h: GPIOFS08 for GPIO08~0F 0
02h: GPIOFS10 for GPIO10~17 0
03h: GPIOFS18 for GPIO18~1B 0
10h: GPIOOE00 for GPIO00~07 0
11h: GPIOOE08 for GPIO08~0F 0
12h: GPIOOE10 for GPIO10~17 0
13h: GPIOOE18 for GPIO18~1B 0
14h: GPIOEOE0 for GPIOE0~7 0
15h: GPIOEOE8 for GPIOE8~F (GPIOE9~A is N.A.) 0
21h: GPIOD08 for GPIO08~0F 0
22h: GPIOD10 for GPIO10~17 0
23h: GPIOD18 for GPIO18~1B 0
24h: GPIOED0 for GPIOE0~7 0
25h: GPIOED8 for GPIOE8~F (GPIOE9~A is N.A.) 0
GPIO 00~1B Input Status
30h: GPIOIN00 for GPIO00~07
31h: GPIOIN08 for GPIO08~0F
32h: GPIOIN10 for GPIO10~17
7~0 R/W
GPIO 00~1B Pull Up Enable
R/WC
7~0
1
GPIO 00~1B Open Drain Enable
7~0 R/W
GPIO 00~1B Input Enable
7~0 R/W
GPIO MISC
33h: GPIOIN18 for GPIO18~1B
34h: GPIOEIN0 for GPIOEIN0~7
35h: GPIOEIN8 for GPIOEIN8~F (GPIOEIN9~A is N.A.)
36h: GPIAD0 for GPIAD0~5
40h: GPIOPU00 for GPIO00~07 0
41h: GPIOPU08 for GPIO08~0F 20
42h: GPIOPU10 for GPIO10~17 E0
43h: GPIOPU18 for GPIO18~1B 03
44h: GPIOEPU0 for GPIOE0~7 0
45h: GPIOEPU8 for GPIOE8~F (GPIOE9~A is N.A.) 0
50h: GPIOOD00 for GPIO00~07 0
51h: GPIOOD08 for GPIO08~0F 0
52h: GPIOOD10 for GPIO10~17 0
53h: GPIOOD18 for GPIO18~1F 0
60h: GPIOIE00 for GPIO00~07 0
61h: GPIOIE08 for GPIO08~0F 20
62h: GPIOIE10 for GPIO10~17 E0
63h: GPIOIE18 for GPIO18~1B 03
64h: GPIOEIN0 for GPIOE0~7 0
65h: GPIOEIN8 for GPIOE8~F (GPIOE9~A is N.A.) 0
66h: GPIAD0 for GPIAD0~5 0
FC
0
FC
FC
FC
70 GPIOMISC
7~2 RSV 0
FC
1 R/W Select GPIO07 as E51_CLK. 0
0 R/W Select GPIO06 as E51_TXD. 0