SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
Figure 28-5 shows the functional specification block diagram of the keyboard controller.
The keyboard controller detects events issued on any key of the connected keyboard and generates an interrupt to alert the host processor. The built-in hardware-scan algorithm decodes the pressed keys, including multikey combinations.
To reduce MPU software overhead, the hardware performs detecting and decoding in the keyboard controller state-machine. However, hardware decoding can be deactivated so that software handles the scanning algorithm.
The value of the columns output is determined in the KBD_COLUMNOUTPUTS[8:0] KBC_REG bit field. To activate a keypad row-column connection, the corresponding bit must be 0b0.
The following sections describe subfunctions and subfunction interactions (control and data paths).