MAX7370
8 x 8 Key-Switch Controller and LED Driver/GPIOs
with I2C Interface and High Level of ESD Protection
12Maxim Integrated
GPO Output Mode 1 and 2 Registers (0x36, 0x37)
These registers configure the pin as an open-drain
or push-pull output. GPO Output Mode 1 register bits
D[7:0] correspond with ROW7–ROW0. See Table 17.
GPO Output Mode 2 register bits D[7:0] correspond with
COL7–COL0. See Table 18. Set the corresponding bit to
0 to configure the output mode as open-drain and 1 to
configure the output mode as push-pull.
GPIO Supply Voltage 1 and 2
Registers (0x38, 0x39)
These registers configure input and output voltages to
be referenced to VCC or VLA. GPIO Supply Voltage 1
register bits D[7:0] correspond with ROW7–ROW0. See
Table 19. GPIO Supply Voltage 2 register bits D[7:0] cor-
respond with COL7–COL0. See Table 20. Set the bit to 0
for input/output voltages referenced to VCC or set the bit
to 1 for the input/output voltage referenced to VLA.
GPIO Values 1 and 2 Registers (0x3A, 0x3B)
The GPIO Values 1 and 2 registers contain the debounced
input data for all the GPIOs for ROW7–ROW0 and COL7–
COL0, respectively. See Tables 21 and 22. There is one
debounce period delay prior to detecting a transition on
the input port. This prevents a false interrupt from occur-
ring when changing a port from an output to an input. The
GPIO Values 1 and 2 registers report the state of all input
ports regardless of any interrupt mask settings.
When writing to the GPIO Values 1 and 2 registers, the
corresponding port voltage is set high when written 1 or
cleared when written 0. Reading the port when config-
ured as an output always returns the value 0 for the cor-
responding port regardless of the output value.
GPIO Level-Shifter Enable Register (0x3C)
Enabling bit D_ in this register enables the direct level
shifter between GPIO pins COL_ and ROW_. See
Table 23. As an example, setting D5 to logic-high
enables level shifting between COL5 and ROW5. The
direction of the level shifter is controlled by the GPIO
Direction 2 register (0x35). When setting the correspond-
ing bit in the GPIO Direction 2 register to 0, COL_ are
inputs, and ROW_ are outputs. When setting the bit to 1,
ROW_ become inputs and COL_ become outputs.
GPIO Global Configuration Register (0x40)
The GPIO Global Configuration register controls the main
settings for the GPIO ports. See Table 24. Bit D5 enables
interrupt generation for I2C timeouts. D4 is the main
enable/shutdown bit for the GPIOs. Bit D3 functions as a
software reset for the GPIO registers (0x31 to 0x5B). Bits
D[2:0] set the fade-in/out time for the LED drivers.
GPIO Debounce Configuration Register (0x42)
The GPIO Debounce Configuration Register sets the
amount of time a GPIO must be held in order for the
device to register a logic transition. See Table 25. The
GPIO debounce setting is independent of the key-switch
debounce setting. Five bits (D[4:0]) set 32 possible
debounce times from 9ms up to 40ms.
LED Constant-Current Setting Register (0x43)
The LED Constant-Current Setting register sets the global
constant-current amount. See Table 26. Bit D0 selects
the global current values between 10mA and 20mA.
This setting only applies to the LED driver-enabled pins,
COL7–COL4.
Common PWM Ratio Register (0x45)
The Common PWM Ratio register stores the common
constant-current output PWM duty cycle. See Table 27.
The values stored in this register translate over to a PWM
ratio in the same manner as the individual PWM ratio reg-
isters (0x50 to 0x53). Ports can use their own individual
PWM value or the common PWM value. Write to this reg-
ister to change the PWM ratio of several ports at once.
I2C Timeout Flag Register (0x48) (Read Only)
The I2C Timeout Flag register contains a single bit
(D0) that indicates if an I2C timeout has occurred. See
Table 28. Read this register to clear an I2C timeout-
initiated interrupt.
COL4–COL7 Individual PWM Ratio
Registers (0x50 to 0x53)
Each LED driver port has an individual PWM ratio register,
0x50 to 0x53. See Table 29. Use values 0x00 to 0xFE in
these registers to configure the number of cycles out of
256 the output sinks current (LED is on), from 0 cycles to
254 cycles. Use 0xFF to have an output continuously sink
current (always on). For applications requiring multiple
ports to have the same intensity, program a particular
port’s configuration register (0x54 to 0x57) to use the
Common PWM Ratio register (0x45). New PWM settings
take place at the beginning of a PWM cycle, to allow
changes from common intensity to individual intensity with
no interruption in the PWM cycle.