Donnerstag, 3. Januar 2013

AR1021 I2C Ubuntu 12.04

Microchip AR1021 I2C Touchcontroller  OMAP4 Board-File Changes:

#define GPIO_AR1020_IRQ 116 /*AR1021 IRQ*/
-------------------------------------------------------------------------------------------------------------------------
static struct omap_board_mux.....
.....
OMAP4_MUX(ABE_MCBSP1_DX, OMAP_PIN_INPUT | OMAP_MUX_MODE3), /*AR1020 IRQ Pin GPIO_116*/
....
-------------------------------------------------------------------------------------------------------------------------
static struct i2c_board_info __initdata omap4_i2c_4_boardinfo[] = {
{
I2C_BOARD_INFO("ar1020_i2c", 0x4d),
.irq = OMAP_GPIO_IRQ(GPIO_AR1020_IRQ),
},
};
-------------------------------------------------------------------------------------------------------------------------
static int AR1020_init_irq(void)
{
int ret = 0;
ret = gpio_request(GPIO_AR1020_IRQ, "GPIO_AR1020_IRQ-irq");
if (ret < 0) {
pr_err("%s: failed to request GPIO#%d: %d\n",
__func__, GPIO_AR1020_IRQ, ret);
return ret;
}
if (gpio_direction_input(GPIO_AR1020_IRQ)) {
pr_err("%s: GPIO#%d cannot be configured as input\n",
__func__, GPIO_AR1020_IRQ);
return -ENXIO;
}
return ret;
}
-------------------------------------------------------------------------------------------------------------------------
i2c_init(void)
.....
omap4_i2c_4_boardinfo[0].irq = gpio_to_irq(GPIO_AR1020_IRQ);
......
-------------------------------------------------------------------------------------------------------------------------
board__init(void)
.....
AR1020_init_irq();
.....

Keine Kommentare:

Kommentar veröffentlichen