| ================================================= |
| Msc Keyboard Scan Expansion/GPIO Expansion device |
| ================================================= |
| |
| What is smsc-ece1099? |
| ---------------------- |
| |
| The ECE1099 is a 40-Pin 3.3V Keyboard Scan Expansion |
| or GPIO Expansion device. The device supports a keyboard |
| scan matrix of 23x8. The device is connected to a Master |
| via the SMSC BC-Link interface or via the SMBus. |
| Keypad scan Input(KSI) and Keypad Scan Output(KSO) signals |
| are multiplexed with GPIOs. |
| |
| Interrupt generation |
| -------------------- |
| |
| Interrupts can be generated by an edge detection on a GPIO |
| pin or an edge detection on one of the bus interface pins. |
| Interrupts can also be detected on the keyboard scan interface. |
| The bus interrupt pin (BC_INT# or SMBUS_INT#) is asserted if |
| any bit in one of the Interrupt Status registers is 1 and |
| the corresponding Interrupt Mask bit is also 1. |
| |
| In order for software to determine which device is the source |
| of an interrupt, it should first read the Group Interrupt Status Register |
| to determine which Status register group is a source for the interrupt. |
| Software should read both the Status register and the associated Mask register, |
| then AND the two values together. Bits that are 1 in the result of the AND |
| are active interrupts. Software clears an interrupt by writing a 1 to the |
| corresponding bit in the Status register. |
| |
| Communication Protocol |
| ---------------------- |
| |
| - SMbus slave Interface |
| The host processor communicates with the ECE1099 device |
| through a series of read/write registers via the SMBus |
| interface. SMBus is a serial communication protocol between |
| a computer host and its peripheral devices. The SMBus data |
| rate is 10KHz minimum to 400 KHz maximum |
| |
| - Slave Bus Interface |
| The ECE1099 device SMBus implementation is a subset of the |
| SMBus interface to the host. The device is a slave-only SMBus device. |
| The implementation in the device is a subset of SMBus since it |
| only supports four protocols. |
| |
| The Write Byte, Read Byte, Send Byte, and Receive Byte protocols are the |
| only valid SMBus protocols for the device. |
| |
| - BC-LinkTM Interface |
| The BC-Link is a proprietary bus that allows communication |
| between a Master device and a Companion device. The Master |
| device uses this serial bus to read and write registers |
| located on the Companion device. The bus comprises three signals, |
| BC_CLK, BC_DAT and BC_INT#. The Master device always provides the |
| clock, BC_CLK, and the Companion device is the source for an |
| independent asynchronous interrupt signal, BC_INT#. The ECE1099 |
| supports BC-Link speeds up to 24MHz. |