add gpio expander pca9554 driver

This commit is contained in:
谢修鑫
2010-05-25 14:24:18 +00:00
committed by 黄涛
parent b6f280b8c2
commit 3c3682a34c

View File

@@ -74,6 +74,32 @@ struct rk2818bl_info{
struct notifier_block freq_transition;
};
struct rk2818_gpio_expander_info {
unsigned int gpio_num;// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>pin <20>ź궨<C5BA><EAB6A8> <20>磺RK2818_PIN_PI0
unsigned int pin_type;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>pin Ϊ<><CEAA><EFBFBD><EFBFBD>pin<69><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pin <20>磺GPIO_IN
unsigned int pin_value;//<2F><><EFBFBD><EFBFBD>Ϊ output pin <20><><EFBFBD>õ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>磺GPIO_HIGH
};
struct pca9554_platform_data {
/* the first extern gpio number in all of gpio groups */
unsigned gpio_base;
unsigned gpio_pin_num;
/* the first gpio irq number in all of irq source */
unsigned gpio_irq_start;
unsigned irq_pin_num; //<2F>жϵĸ<CFB5><C4B8><EFBFBD>
unsigned pca9954_irq_pin; //<2F><>չIO<49><4F><EFBFBD>жϹ<D0B6><CFB9><EFBFBD><EFBFBD>ĸ<EFBFBD>gpio
/* initial polarity inversion setting */
uint16_t invert;
struct rk2818_gpio_expander_info *settinginfo;
int settinginfolen;
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);
char **names;
};
/* common init routines for use by arch/arm/mach-msm/board-*.c */
void __init rk2818_add_devices(void);
void __init rk2818_map_common_io(void);