aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap1/gpio15xx.c4
-rw-r--r--arch/arm/mach-omap1/gpio16xx.c5
-rw-r--r--arch/arm/mach-omap1/gpio7xx.c4
-rw-r--r--arch/arm/mach-omap2/gpio.c6
-rw-r--r--arch/arm/plat-omap/include/plat/gpio.h5
5 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/gpio15xx.c b/arch/arm/mach-omap1/gpio15xx.c
index 487a08749655..91756245e860 100644
--- a/arch/arm/mach-omap1/gpio15xx.c
+++ b/arch/arm/mach-omap1/gpio15xx.c
@@ -39,6 +39,8 @@ static struct omap_gpio_reg_offs omap15xx_mpuio_regs = {
39 .datain = OMAP_MPUIO_INPUT_LATCH, 39 .datain = OMAP_MPUIO_INPUT_LATCH,
40 .dataout = OMAP_MPUIO_OUTPUT, 40 .dataout = OMAP_MPUIO_OUTPUT,
41 .irqstatus = OMAP_MPUIO_GPIO_INT, 41 .irqstatus = OMAP_MPUIO_GPIO_INT,
42 .irqenable = OMAP_MPUIO_GPIO_MASKIT,
43 .irqenable_inv = true,
42}; 44};
43 45
44static struct __initdata omap_gpio_platform_data omap15xx_mpu_gpio_config = { 46static struct __initdata omap_gpio_platform_data omap15xx_mpu_gpio_config = {
@@ -77,6 +79,8 @@ static struct omap_gpio_reg_offs omap15xx_gpio_regs = {
77 .datain = OMAP1510_GPIO_DATA_INPUT, 79 .datain = OMAP1510_GPIO_DATA_INPUT,
78 .dataout = OMAP1510_GPIO_DATA_OUTPUT, 80 .dataout = OMAP1510_GPIO_DATA_OUTPUT,
79 .irqstatus = OMAP1510_GPIO_INT_STATUS, 81 .irqstatus = OMAP1510_GPIO_INT_STATUS,
82 .irqenable = OMAP1510_GPIO_INT_MASK,
83 .irqenable_inv = true,
80}; 84};
81 85
82static struct __initdata omap_gpio_platform_data omap15xx_gpio_config = { 86static struct __initdata omap_gpio_platform_data omap15xx_gpio_config = {
diff --git a/arch/arm/mach-omap1/gpio16xx.c b/arch/arm/mach-omap1/gpio16xx.c
index 3e52b7f3d9cb..a6d4a71ea4af 100644
--- a/arch/arm/mach-omap1/gpio16xx.c
+++ b/arch/arm/mach-omap1/gpio16xx.c
@@ -42,6 +42,8 @@ static struct omap_gpio_reg_offs omap16xx_mpuio_regs = {
42 .datain = OMAP_MPUIO_INPUT_LATCH, 42 .datain = OMAP_MPUIO_INPUT_LATCH,
43 .dataout = OMAP_MPUIO_OUTPUT, 43 .dataout = OMAP_MPUIO_OUTPUT,
44 .irqstatus = OMAP_MPUIO_GPIO_INT, 44 .irqstatus = OMAP_MPUIO_GPIO_INT,
45 .irqenable = OMAP_MPUIO_GPIO_MASKIT,
46 .irqenable_inv = true,
45}; 47};
46 48
47static struct __initdata omap_gpio_platform_data omap16xx_mpu_gpio_config = { 49static struct __initdata omap_gpio_platform_data omap16xx_mpu_gpio_config = {
@@ -82,6 +84,9 @@ static struct omap_gpio_reg_offs omap16xx_gpio_regs = {
82 .datain = OMAP1610_GPIO_DATAIN, 84 .datain = OMAP1610_GPIO_DATAIN,
83 .dataout = OMAP1610_GPIO_DATAOUT, 85 .dataout = OMAP1610_GPIO_DATAOUT,
84 .irqstatus = OMAP1610_GPIO_IRQSTATUS1, 86 .irqstatus = OMAP1610_GPIO_IRQSTATUS1,
87 .irqenable = OMAP1610_GPIO_IRQENABLE1,
88 .set_irqenable = OMAP1610_GPIO_SET_IRQENABLE1,
89 .clr_irqenable = OMAP1610_GPIO_CLEAR_IRQENABLE1,
85}; 90};
86 91
87static struct __initdata omap_gpio_platform_data omap16xx_gpio1_config = { 92static struct __initdata omap_gpio_platform_data omap16xx_gpio1_config = {
diff --git a/arch/arm/mach-omap1/gpio7xx.c b/arch/arm/mach-omap1/gpio7xx.c
index 35e8b31688d0..12bcd9f2864a 100644
--- a/arch/arm/mach-omap1/gpio7xx.c
+++ b/arch/arm/mach-omap1/gpio7xx.c
@@ -44,6 +44,8 @@ static struct omap_gpio_reg_offs omap7xx_mpuio_regs = {
44 .datain = OMAP_MPUIO_INPUT_LATCH / 2, 44 .datain = OMAP_MPUIO_INPUT_LATCH / 2,
45 .dataout = OMAP_MPUIO_OUTPUT / 2, 45 .dataout = OMAP_MPUIO_OUTPUT / 2,
46 .irqstatus = OMAP_MPUIO_GPIO_INT / 2, 46 .irqstatus = OMAP_MPUIO_GPIO_INT / 2,
47 .irqenable = OMAP_MPUIO_GPIO_MASKIT / 2,
48 .irqenable_inv = true,
47}; 49};
48 50
49static struct __initdata omap_gpio_platform_data omap7xx_mpu_gpio_config = { 51static struct __initdata omap_gpio_platform_data omap7xx_mpu_gpio_config = {
@@ -82,6 +84,8 @@ static struct omap_gpio_reg_offs omap7xx_gpio_regs = {
82 .datain = OMAP7XX_GPIO_DATA_INPUT, 84 .datain = OMAP7XX_GPIO_DATA_INPUT,
83 .dataout = OMAP7XX_GPIO_DATA_OUTPUT, 85 .dataout = OMAP7XX_GPIO_DATA_OUTPUT,
84 .irqstatus = OMAP7XX_GPIO_INT_STATUS, 86 .irqstatus = OMAP7XX_GPIO_INT_STATUS,
87 .irqenable = OMAP7XX_GPIO_INT_MASK,
88 .irqenable_inv = true,
85}; 89};
86 90
87static struct __initdata omap_gpio_platform_data omap7xx_gpio1_config = { 91static struct __initdata omap_gpio_platform_data omap7xx_gpio1_config = {
diff --git a/arch/arm/mach-omap2/gpio.c b/arch/arm/mach-omap2/gpio.c
index 7c5e67d0b635..cc26677a12f8 100644
--- a/arch/arm/mach-omap2/gpio.c
+++ b/arch/arm/mach-omap2/gpio.c
@@ -78,6 +78,9 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
78 pdata->regs->clr_dataout = OMAP24XX_GPIO_CLEARDATAOUT; 78 pdata->regs->clr_dataout = OMAP24XX_GPIO_CLEARDATAOUT;
79 pdata->regs->irqstatus = OMAP24XX_GPIO_IRQSTATUS1; 79 pdata->regs->irqstatus = OMAP24XX_GPIO_IRQSTATUS1;
80 pdata->regs->irqstatus2 = OMAP24XX_GPIO_IRQSTATUS2; 80 pdata->regs->irqstatus2 = OMAP24XX_GPIO_IRQSTATUS2;
81 pdata->regs->irqenable = OMAP24XX_GPIO_IRQENABLE1;
82 pdata->regs->set_irqenable = OMAP24XX_GPIO_SETIRQENABLE1;
83 pdata->regs->clr_irqenable = OMAP24XX_GPIO_CLEARIRQENABLE1;
81 break; 84 break;
82 case 2: 85 case 2:
83 pdata->bank_type = METHOD_GPIO_44XX; 86 pdata->bank_type = METHOD_GPIO_44XX;
@@ -88,6 +91,9 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
88 pdata->regs->clr_dataout = OMAP4_GPIO_CLEARDATAOUT; 91 pdata->regs->clr_dataout = OMAP4_GPIO_CLEARDATAOUT;
89 pdata->regs->irqstatus = OMAP4_GPIO_IRQSTATUS0; 92 pdata->regs->irqstatus = OMAP4_GPIO_IRQSTATUS0;
90 pdata->regs->irqstatus2 = OMAP4_GPIO_IRQSTATUS1; 93 pdata->regs->irqstatus2 = OMAP4_GPIO_IRQSTATUS1;
94 pdata->regs->irqenable = OMAP4_GPIO_IRQSTATUSSET0;
95 pdata->regs->set_irqenable = OMAP4_GPIO_IRQSTATUSSET0;
96 pdata->regs->clr_irqenable = OMAP4_GPIO_IRQSTATUSCLR0;
91 break; 97 break;
92 default: 98 default:
93 WARN(1, "Invalid gpio bank_type\n"); 99 WARN(1, "Invalid gpio bank_type\n");
diff --git a/arch/arm/plat-omap/include/plat/gpio.h b/arch/arm/plat-omap/include/plat/gpio.h
index aedd732ef464..c7e3a56340c0 100644
--- a/arch/arm/plat-omap/include/plat/gpio.h
+++ b/arch/arm/plat-omap/include/plat/gpio.h
@@ -182,6 +182,11 @@ struct omap_gpio_reg_offs {
182 u16 clr_dataout; 182 u16 clr_dataout;
183 u16 irqstatus; 183 u16 irqstatus;
184 u16 irqstatus2; 184 u16 irqstatus2;
185 u16 irqenable;
186 u16 set_irqenable;
187 u16 clr_irqenable;
188
189 bool irqenable_inv;
185}; 190};
186 191
187struct omap_gpio_platform_data { 192struct omap_gpio_platform_data {