![Chandrabhanu Mahapatra](/assets/img/avatar_default.png)
TCA6424 is a low voltage 24 bit I2C and SMBus I/O expander of pca953x family similar to its 16 bit predecessor TCA6416. It comes with three 8-bit active Input, Output, Polarity Inversion and Configuration registers each. The polarity of Input ports can be reversed by setting the appropiate bit in Polarity Inversion registers. The variables corresponding to Input, Output and Configuration registers have already been updated to support 24 bit values. This patch thus updates the invert variable of PCA953X platform data to support 24 bit. Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
31 lines
651 B
C
31 lines
651 B
C
#ifndef _LINUX_PCA953X_H
|
|
#define _LINUX_PCA953X_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/i2c.h>
|
|
|
|
/* platform data for the PCA9539 16-bit I/O expander driver */
|
|
|
|
struct pca953x_platform_data {
|
|
/* number of the first GPIO */
|
|
unsigned gpio_base;
|
|
|
|
/* initial polarity inversion setting */
|
|
u32 invert;
|
|
|
|
/* interrupt base */
|
|
int irq_base;
|
|
|
|
void *context; /* param to setup/teardown */
|
|
|
|
int (*setup)(struct i2c_client *client,
|
|
unsigned gpio, unsigned ngpio,
|
|
void *context);
|
|
int (*teardown)(struct i2c_client *client,
|
|
unsigned gpio, unsigned ngpio,
|
|
void *context);
|
|
const char *const *names;
|
|
};
|
|
|
|
#endif /* _LINUX_PCA953X_H */
|