| 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. |