0001 What is smsc-ece1099?
0004 The ECE1099 is a 40-Pin 3.3V Keyboard Scan Expansion
0005 or GPIO Expansion device. The device supports a keyboard
0006 scan matrix of 23x8. The device is connected to a Master
0007 via the SMSC BC-Link interface or via the SMBus.
0008 Keypad scan Input(KSI) and Keypad Scan Output(KSO) signals
0009 are multiplexed with GPIOs.
0011 Interrupt generation
0014 Interrupts can be generated by an edge detection on a GPIO
0015 pin or an edge detection on one of the bus interface pins.
0016 Interrupts can also be detected on the keyboard scan interface.
0017 The bus interrupt pin (BC_INT# or SMBUS_INT#) is asserted if
0018 any bit in one of the Interrupt Status registers is 1 and
0019 the corresponding Interrupt Mask bit is also 1.
0021 In order for software to determine which device is the source
0022 of an interrupt, it should first read the Group Interrupt Status Register
0023 to determine which Status register group is a source for the interrupt.
0024 Software should read both the Status register and the associated Mask register,
0025 then AND the two values together. Bits that are 1 in the result of the AND
0026 are active interrupts. Software clears an interrupt by writing a 1 to the
0027 corresponding bit in the Status register.
0029 Communication Protocol
0032 - SMbus slave Interface
0033 The host processor communicates with the ECE1099 device
0034 through a series of read/write registers via the SMBus
0035 interface. SMBus is a serial communication protocol between
0036 a computer host and its peripheral devices. The SMBus data
0037 rate is 10KHz minimum to 400 KHz maximum
0039 - Slave Bus Interface
0040 The ECE1099 device SMBus implementation is a subset of the
0041 SMBus interface to the host. The device is a slave-only SMBus device.
0042 The implementation in the device is a subset of SMBus since it
0043 only supports four protocols.
0045 The Write Byte, Read Byte, Send Byte, and Receive Byte protocols are the
0046 only valid SMBus protocols for the device.
0048 - BC-LinkTM Interface
0049 The BC-Link is a proprietary bus that allows communication
0050 between a Master device and a Companion device. The Master
0051 device uses this serial bus to read and write registers
0052 located on the Companion device. The bus comprises three signals,
0053 BC_CLK, BC_DAT and BC_INT#. The Master device always provides the
0054 clock, BC_CLK, and the Companion device is the source for an
0055 independent asynchronous interrupt signal, BC_INT#. The ECE1099
0056 supports BC-Link speeds up to 24MHz.