RS_Keyboard controller
RM0082
810/844
Doc ID 018672 Rev 1
35 RS_Keyboard
controller
35.1 Overview
Within its Reconfigurable Array Subsystem, SPEAr300 provides a GPIO/Keyboard block
which is a two-mode input and output port.
In summary, it provides:
●
18 bit general-purpose parallel port with input or output single pin programmability.
●
81 key Keyboard (9x9 matrix).
The selection between the two modes is an APB Bus programmable bit.
35.2 Functional
description
This section describes the functioning of the keyboard controller.
Figure 107. Keyboard controller block diagram
35.2.1
General purpose input output interface
When GPIO mode is selected, it is possible to program through APB Bus each of the 18
signals available, as output or not (they are always inputs). Once programmed, each pin
maintains its identity as an input or output. The default on power up is that all pins are set to
inputs.
The Mode Control bits in the Mode Control Register must be set to [01] to enable the GPIO
mode.
The ARM may read or write to the Port register at any time. Reading this register shall
provide the status/values on all of the pins, inputs and outputs.
AP
B
+WR
A
P
P
E
R
Reg_In_Enable
PARALLEL/
KPT Port
Interrupts
Clock
Reset
KEY SWITCH
MATRIX
REG
OUT
REG
IN
ST_1-ST_6
KBD_1-KBD_6
CLK
CLK
DOUT
DIN
Reg_Out_Enable
LOAD/LATCH
20
20