- •Preface
- •About this document
- •Intended audience
- •Organization
- •Typographical conventions
- •Timing diagram conventions
- •Further reading
- •ARM publications
- •Other publications
- •Feedback
- •Feedback on this document
- •Feedback on the ARM PrimeCell PS2 Keyboard/Mouse Interface (PL050)
- •1 Introduction
- •1.1 About the ARM PrimeCell PS2 Keyboard/Mouse Interface (PL050)
- •1.1.1 Features of the PrimeCell KMI
- •1.2 AMBA compatibility
- •2 Functional Overview
- •2.1 ARM PrimeCell PS2 Keyboard/Mouse Interface (PL050) overview
- •2.2 PrimeCell KMI functional description
- •2.2.1 AMBA APB interface and register block
- •2.2.2 Transmit block
- •2.2.3 Receive block
- •2.2.4 Controller block
- •2.2.5 Timer/clock divider blocks
- •2.2.6 Synchronization logic
- •2.2.7 Test registers and logic
- •2.3 PrimeCell KMI operation
- •2.3.1 Interface reset
- •2.3.2 Clock signals
- •2.3.3 Keyboard clock and data signals
- •2.3.4 Keyboard/mouse data output
- •2.3.5 Keyboard data input
- •2.3.6 Timing requirements
- •3 Programmer’s Model
- •3.1 About the programmer’s model
- •3.2 Summary of PrimeCell KMI registers
- •3.3 Register descriptions
- •3.3.1 KMICR: [6] (+ 0x00)
- •3.3.3 KMIDATA: [8] (+ 0x08)
- •3.3.4 KMICLKDIV: [4] (+ 0x0C)
- •3.3.5 KMIIR: [2] (+ 0x10)
- •3.4 Interrupts
- •3.4.1 Interrupt generation logic
- •4 Programmer’s Model for Test
- •4.1 PrimeCell KMI test harness overview
- •4.2 Scan testing
- •4.3 Test registers
- •4.3.2 KMITCR [5] (+0x80)
- •4.3.3 KMITMR [4] (+0x84)
- •4.3.4 KMITISR [2] (+0x88)
- •4.3.5 KMITOCR [3] (+0x8c)
- •4.3.6 KMISTG1 [6] (+0x90)
- •4.3.7 KMISTG2 [5] (+0x94)
- •4.3.8 KMISTG3 [8] (+0x98)
- •4.3.9 KMISTATE [4] (+0x9c)
- •A.1 AMBA APB signals
- •A.2 On-chip signals
- •A.3 Signals to pads
Chapter 3
Programmer’s Model
This chapter describes the ARM PrimeCell PS2 Keyboard/Mouse Interface (PL050) registers and provides details needed when programming the microcontroller. It contains the following sections:
•About the programmer’s model on page 3-2
•Summary of PrimeCell KMI registers on page 3-3
•Register descriptions on page 3-4
•Interrupts on page 3-8.
DDI 0143C |
© Copyright ARM Limited 1999. All rights reserved. |
3-1 |
Programmer’s Model
3.1About the programmer’s model
The base address of the PrimeCell KMI is not fixed, and may be different for any particular system implementation. However, the offset of any particular register from the base address is fixed.
The following locations are reserved, and must not be used during normal operation:
•locations at offsets 0x14–0x3c and 0xa0–0xff are reserved for possible future extensions
•locations at offsets +0x40 through +0x9c are reserved for test purposes.
3-2 |
© Copyright ARM Limited 1999. All rights reserved. |
DDI 0143C |
Programmer’s Model
3.2Summary of PrimeCell KMI registers
The PrimeCell KMI registers are shown in Table 3-1.
|
|
|
|
Table 3-1 PrimeCell KMI register summary |
||
|
|
|
|
|
|
|
Address |
Type |
Width |
Reset |
Name |
Description |
|
value |
||||||
|
|
|
|
|
||
|
|
|
|
|
|
|
KMI Base + 0x00 |
Read/ |
6 |
0x00 |
KMICR |
Control register. |
|
|
write |
|
|
|
|
|
|
|
|
|
|
|
|
KMI Base + 0x04 |
Read |
7 |
0x43 |
KMISTAT |
Status register. |
|
|
|
|
|
|
|
|
KMI Base + 0x08 |
Read/ |
8/ |
0x00 |
KMIDATA |
Received data (read)/ |
|
|
write |
8 |
|
|
Data to be transmitted (write). |
|
|
|
|
|
|
|
|
KMI Base + 0x0c |
Read/ |
4 |
0x00 |
KMICLKDIV |
Clock divisor register. |
|
|
write |
|
|
|
|
|
|
|
|
|
|
|
|
KMI Base + 0x10 |
Read |
2 |
0x00 |
KMIIR |
Interrupt status register. |
|
|
|
|
|
|
|
|
KMI Base + 0x14–0x3c |
- |
- |
- |
- |
Reserved. |
|
|
|
|
|
|
|
|
KMI Base + 0x40–9c |
- |
- |
- |
- |
Reserved (for test purposes). |
|
|
|
|
|
|
|
|
KMI Base + 0xa0–ff |
- |
- |
- |
- |
Reserved. |
|
|
|
|
|
|
|
DDI 0143C |
© Copyright ARM Limited 1999. All rights reserved. |
3-3 |