Product specifications
VT8235 V-Link South Bridge
Revision 1.22 October 24, 2002 -37- Legacy I/O Registers
Keyboard Controller I/O Registers
The keyboard controller handles the keyboard and mouse
interfaces. Two ports are used: port 60 and port 64. Reads
from port 64 return a status byte. Writes to port 64h are
command codes (see command code list following the register
descriptions). Input and output data is transferred via port 60.
A “Control” register is also available. It is accessable by
writing commands 20h / 60h to the command port (port 64h);
The control byte is written by first sending 60h to the
command port, then sending the control byte value. The
control register may be read by sending a command of 20h to
port 64h, waiting for “Output Buffer Full” status = 1, then
reading the control byte value from port 60h.
Traditional (non-integrated) keyboard controllers have an
“Input Port” and an “Output Port” that control pins dedicated
to specific functions. In the integrated version, connections
are hard wired as listed below. Outputs are “open-collector”
so to allow input on one of these pins, the output value for that
pin would be set high (non-driving) and the desired input
value read on the input port. These ports are defined as
follows:
Bit
Input Port
0 Keyboard Data In
1 Mouse Data In
Bit
Output Port
0 System Reset (1 = Execute Reset)
1 Gaste A20 (1 = A20 Enabled)
2 Mouse Data Out
3 Mouse Clock Out
6 Keyboard Clock Out
7 Keyboard Data Out
Bit
Test Port
0 Keyboard Clock In
1 Mouse Clock In
Hardwired Internal Connections
Keyboard Data Out (Open Collector) <=> Keyboard Data In
Keyboard Clock Out (Open Collector) <=> Keyboard Clk In
Mouse Data Out (Open Collector) <=> Mouse Data In
Mouse Clock Out (Open Collector) <=> Mouse Clock In
Keyboard OBF Interrupt => IRQ1
Mouse OBF Interrupt => IRQ12
Input / Output / Test Port Command Codes
C0h transfers input port data to the output buffer.
D0h copies output port values to the output buffer.
E0h transfers test input port data to the output buffer.
The above definitions are provided for reference only as actual
keyboard and mouse control is no longer performed bit-by bit
using the above ports but controlled directly by keyboard /
mouse controller internal logic. Data is sent and received
using the command codes listed on the following page.
Port 60 - Keyboard Controller Input Buffer..................WO
Only write to port 60h if port 64h bit-1 = 0 (1=full).
Port 60 - Keyboard Controller Output Buffer................RO
Only read from port 60h if port 64h bit-0 = 1 (0=empty).
Port 64 - Keyboard / Mouse Status ..................................RO
7 Parity Error
0 No parity error (odd parity received).....default
1 Even parity occurred on last byte received
from keyboard / mouse
6 General Receive / Transmit Timeout
0 No error .................................................default
1 Error
5 Mouse Output Buffer Full
0 Mouse output buffer empty....................default
1 Mouse output buffer holds mouse data
4 Keylock Status
0 Locked
1 Free
3 Command / Data
0 Last write was data write .......................default
1 Last write was command write
2 System Flag
0 Power-On Default..................................default
1 Self Test Successful
1 Input Buffer Full
0 Input Buffer Empty................................default
1 Input Buffer Full
0 Keyboard Output Buffer Full
0 Keyboard Output Buffer Empty ............default
1 Keyboard Output Buffer Full
KBC Control Register..........(R/W via Commands 20h/60h)
7 Reserved ........................................always reads 0
6 PC Compatibility
0 Disable scan conversion
1 Convert scan codes to PC format; convert 2-
byte break sequences to 1-byte PC-compatible
break codes ............................................ default
5 Mouse Interface
0 Enable....................................................default
1 Disable
4 Keyboard Interface
0 Enable....................................................default
1 Disable
3 Reserved ........................................always reads 0
2 System Flag ................................................default=0
This bit may be read back as status register bit-2
1 Mouse Interrupts
0 Disable...................................................default
1 Enable - Generate interrupt on IRQ12 when
mouse data comes into output buffer
0 Keyboard Interrupts
0 Disable...................................................default
1 Enable - Generate interrupt on IRQ1 when
output buffer has been written.