aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mmp
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-05-04 15:34:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-04 15:34:30 -0400
commit150a8dcf109f68f322bf112c7604f2d950303f00 (patch)
treed2219f3de4facbcd34625c733b6fae85ea3b7b8c /arch/arm/mach-mmp
parente3d98847ded1d183111ff7c4d1ef56b161c7f13e (diff)
parent21bdcc1a2ffce8c9bc7caad711401fff47f99c00 (diff)
Merge tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board specific changes (part 1) from Olof Johansson: "These changes are all for board specific files. These used to make up a large portion of the ARM changes in the past, but as we are generalizing the support and moving to device tree probing, this has gotten significantly smaller. The only platform actually adding new code here at the moment is Renesas shmobile, as they are still busy converting their code to device tree and have not come far enough to not need it." * tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits) ARM: msm: USB_MSM_OTG needs USB_PHY ARM: davinci: da850 evm: fix const qualifier placement ARM: davinci: da850 board: add remoteproc support ARM: pxa: move debug uart code ARM: pxa: select PXA935 on saar & tavorevb ARM: mmp: add more compatible names in gpio driver ARM: pxa: move PXA_GPIO_TO_IRQ macro ARM: pxa: remove cpu_is_xxx in gpio driver ARM: Kirkwood: update Network Space Mini v2 description ARM: Kirkwood: DT board setup for CloudBox ARM: Kirkwood: sort board entries by ASCII-code order ARM: OMAP: board-4430sdp: Provide regulator to pwm-backlight ARM: OMAP: zoom: Use pwm stack for lcd and keyboard backlight ARM: OMAP2+: omap2plus_defconfig: Add support for BMP085 pressure sensor omap2+: Remove useless Makefile line omap2+: Remove useless Makefile line ARM: OMAP: RX-51: add missing regulator supply definitions for lis3lv02d ARM: OMAP1: fix omap_udc registration ARM: davinci: use is IS_ENABLED macro ARM: kirkwood: add MACH_GURUPLUG_DT to defconfig ...
Diffstat (limited to 'arch/arm/mach-mmp')
-rw-r--r--arch/arm/mach-mmp/aspenite.c7
-rw-r--r--arch/arm/mach-mmp/avengers_lite.c7
-rw-r--r--arch/arm/mach-mmp/brownstone.c7
-rw-r--r--arch/arm/mach-mmp/clock-mmp2.c2
-rw-r--r--arch/arm/mach-mmp/clock-pxa168.c2
-rw-r--r--arch/arm/mach-mmp/clock-pxa910.c2
-rw-r--r--arch/arm/mach-mmp/flint.c7
-rw-r--r--arch/arm/mach-mmp/gplugd.c7
-rw-r--r--arch/arm/mach-mmp/include/mach/debug-macro.S30
-rw-r--r--arch/arm/mach-mmp/jasper.c8
-rw-r--r--arch/arm/mach-mmp/mmp-dt.c4
-rw-r--r--arch/arm/mach-mmp/mmp2-dt.c2
-rw-r--r--arch/arm/mach-mmp/mmp2.c2
-rw-r--r--arch/arm/mach-mmp/pxa168.c2
-rw-r--r--arch/arm/mach-mmp/pxa910.c2
-rw-r--r--arch/arm/mach-mmp/tavorevb.c7
-rw-r--r--arch/arm/mach-mmp/teton_bga.c7
-rw-r--r--arch/arm/mach-mmp/ttc_dkb.c7
18 files changed, 73 insertions, 39 deletions
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
index 76901f4ce611..5b660ec09ef5 100644
--- a/arch/arm/mach-mmp/aspenite.c
+++ b/arch/arm/mach-mmp/aspenite.c
@@ -9,6 +9,7 @@
9 * publishhed by the Free Software Foundation. 9 * publishhed by the Free Software Foundation.
10 */ 10 */
11#include <linux/gpio.h> 11#include <linux/gpio.h>
12#include <linux/gpio-pxa.h>
12#include <linux/init.h> 13#include <linux/init.h>
13#include <linux/kernel.h> 14#include <linux/kernel.h>
14#include <linux/platform_device.h> 15#include <linux/platform_device.h>
@@ -110,6 +111,10 @@ static unsigned long common_pin_config[] __initdata = {
110 GPIO121_KP_MKIN4, 111 GPIO121_KP_MKIN4,
111}; 112};
112 113
114static struct pxa_gpio_platform_data pxa168_gpio_pdata = {
115 .irq_base = MMP_GPIO_TO_IRQ(0),
116};
117
113static struct smc91x_platdata smc91x_info = { 118static struct smc91x_platdata smc91x_info = {
114 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, 119 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
115}; 120};
@@ -242,6 +247,8 @@ static void __init common_init(void)
242 pxa168_add_nand(&aspenite_nand_info); 247 pxa168_add_nand(&aspenite_nand_info);
243 pxa168_add_fb(&aspenite_lcd_info); 248 pxa168_add_fb(&aspenite_lcd_info);
244 pxa168_add_keypad(&aspenite_keypad_info); 249 pxa168_add_keypad(&aspenite_keypad_info);
250 platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata,
251 sizeof(struct pxa_gpio_platform_data));
245 platform_device_register(&pxa168_device_gpio); 252 platform_device_register(&pxa168_device_gpio);
246 253
247 /* off-chip devices */ 254 /* off-chip devices */
diff --git a/arch/arm/mach-mmp/avengers_lite.c b/arch/arm/mach-mmp/avengers_lite.c
index 1f94957b56ae..a451a0f4d512 100644
--- a/arch/arm/mach-mmp/avengers_lite.c
+++ b/arch/arm/mach-mmp/avengers_lite.c
@@ -12,6 +12,7 @@
12 12
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/gpio-pxa.h>
15#include <linux/platform_device.h> 16#include <linux/platform_device.h>
16 17
17#include <asm/mach-types.h> 18#include <asm/mach-types.h>
@@ -32,12 +33,18 @@ static unsigned long avengers_lite_pin_config_V16F[] __initdata = {
32 GPIO89_UART2_RXD, 33 GPIO89_UART2_RXD,
33}; 34};
34 35
36static struct pxa_gpio_platform_data pxa168_gpio_pdata = {
37 .irq_base = MMP_GPIO_TO_IRQ(0),
38};
39
35static void __init avengers_lite_init(void) 40static void __init avengers_lite_init(void)
36{ 41{
37 mfp_config(ARRAY_AND_SIZE(avengers_lite_pin_config_V16F)); 42 mfp_config(ARRAY_AND_SIZE(avengers_lite_pin_config_V16F));
38 43
39 /* on-chip devices */ 44 /* on-chip devices */
40 pxa168_add_uart(2); 45 pxa168_add_uart(2);
46 platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata,
47 sizeof(struct pxa_gpio_platform_data));
41 platform_device_register(&pxa168_device_gpio); 48 platform_device_register(&pxa168_device_gpio);
42} 49}
43 50
diff --git a/arch/arm/mach-mmp/brownstone.c b/arch/arm/mach-mmp/brownstone.c
index 2358011c7d8e..ac25544b8cdb 100644
--- a/arch/arm/mach-mmp/brownstone.c
+++ b/arch/arm/mach-mmp/brownstone.c
@@ -14,6 +14,7 @@
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/platform_device.h> 15#include <linux/platform_device.h>
16#include <linux/io.h> 16#include <linux/io.h>
17#include <linux/gpio-pxa.h>
17#include <linux/regulator/machine.h> 18#include <linux/regulator/machine.h>
18#include <linux/regulator/max8649.h> 19#include <linux/regulator/max8649.h>
19#include <linux/regulator/fixed.h> 20#include <linux/regulator/fixed.h>
@@ -104,6 +105,10 @@ static unsigned long brownstone_pin_config[] __initdata = {
104 GPIO89_GPIO, 105 GPIO89_GPIO,
105}; 106};
106 107
108static struct pxa_gpio_platform_data mmp2_gpio_pdata = {
109 .irq_base = MMP_GPIO_TO_IRQ(0),
110};
111
107static struct regulator_consumer_supply max8649_supply[] = { 112static struct regulator_consumer_supply max8649_supply[] = {
108 REGULATOR_SUPPLY("vcc_core", NULL), 113 REGULATOR_SUPPLY("vcc_core", NULL),
109}; 114};
@@ -202,6 +207,8 @@ static void __init brownstone_init(void)
202 /* on-chip devices */ 207 /* on-chip devices */
203 mmp2_add_uart(1); 208 mmp2_add_uart(1);
204 mmp2_add_uart(3); 209 mmp2_add_uart(3);
210 platform_device_add_data(&mmp2_device_gpio, &mmp2_gpio_pdata,
211 sizeof(struct pxa_gpio_platform_data));
205 platform_device_register(&mmp2_device_gpio); 212 platform_device_register(&mmp2_device_gpio);
206 mmp2_add_twsi(1, NULL, ARRAY_AND_SIZE(brownstone_twsi1_info)); 213 mmp2_add_twsi(1, NULL, ARRAY_AND_SIZE(brownstone_twsi1_info));
207 mmp2_add_sdhost(0, &mmp2_sdh_platdata_mmc0); /* SD/MMC */ 214 mmp2_add_sdhost(0, &mmp2_sdh_platdata_mmc0); /* SD/MMC */
diff --git a/arch/arm/mach-mmp/clock-mmp2.c b/arch/arm/mach-mmp/clock-mmp2.c
index 21d22002cd19..53d77cbd6000 100644
--- a/arch/arm/mach-mmp/clock-mmp2.c
+++ b/arch/arm/mach-mmp/clock-mmp2.c
@@ -98,7 +98,7 @@ static struct clk_lookup mmp2_clkregs[] = {
98 INIT_CLKREG(&clk_twsi5, "pxa2xx-i2c.4", NULL), 98 INIT_CLKREG(&clk_twsi5, "pxa2xx-i2c.4", NULL),
99 INIT_CLKREG(&clk_twsi6, "pxa2xx-i2c.5", NULL), 99 INIT_CLKREG(&clk_twsi6, "pxa2xx-i2c.5", NULL),
100 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), 100 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL),
101 INIT_CLKREG(&clk_gpio, "pxa-gpio", NULL), 101 INIT_CLKREG(&clk_gpio, "mmp2-gpio", NULL),
102 INIT_CLKREG(&clk_sdh0, "sdhci-pxav3.0", "PXA-SDHCLK"), 102 INIT_CLKREG(&clk_sdh0, "sdhci-pxav3.0", "PXA-SDHCLK"),
103 INIT_CLKREG(&clk_sdh1, "sdhci-pxav3.1", "PXA-SDHCLK"), 103 INIT_CLKREG(&clk_sdh1, "sdhci-pxav3.1", "PXA-SDHCLK"),
104 INIT_CLKREG(&clk_sdh2, "sdhci-pxav3.2", "PXA-SDHCLK"), 104 INIT_CLKREG(&clk_sdh2, "sdhci-pxav3.2", "PXA-SDHCLK"),
diff --git a/arch/arm/mach-mmp/clock-pxa168.c b/arch/arm/mach-mmp/clock-pxa168.c
index 5e6c18ccebd4..c572f219ae26 100644
--- a/arch/arm/mach-mmp/clock-pxa168.c
+++ b/arch/arm/mach-mmp/clock-pxa168.c
@@ -78,7 +78,7 @@ static struct clk_lookup pxa168_clkregs[] = {
78 INIT_CLKREG(&clk_ssp5, "pxa168-ssp.4", NULL), 78 INIT_CLKREG(&clk_ssp5, "pxa168-ssp.4", NULL),
79 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), 79 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL),
80 INIT_CLKREG(&clk_lcd, "pxa168-fb", NULL), 80 INIT_CLKREG(&clk_lcd, "pxa168-fb", NULL),
81 INIT_CLKREG(&clk_gpio, "pxa-gpio", NULL), 81 INIT_CLKREG(&clk_gpio, "mmp-gpio", NULL),
82 INIT_CLKREG(&clk_keypad, "pxa27x-keypad", NULL), 82 INIT_CLKREG(&clk_keypad, "pxa27x-keypad", NULL),
83 INIT_CLKREG(&clk_eth, "pxa168-eth", "MFUCLK"), 83 INIT_CLKREG(&clk_eth, "pxa168-eth", "MFUCLK"),
84 INIT_CLKREG(&clk_usb, NULL, "PXA168-USBCLK"), 84 INIT_CLKREG(&clk_usb, NULL, "PXA168-USBCLK"),
diff --git a/arch/arm/mach-mmp/clock-pxa910.c b/arch/arm/mach-mmp/clock-pxa910.c
index 933ea71d0b56..379e1df61c70 100644
--- a/arch/arm/mach-mmp/clock-pxa910.c
+++ b/arch/arm/mach-mmp/clock-pxa910.c
@@ -56,7 +56,7 @@ static struct clk_lookup pxa910_clkregs[] = {
56 INIT_CLKREG(&clk_pwm3, "pxa910-pwm.2", NULL), 56 INIT_CLKREG(&clk_pwm3, "pxa910-pwm.2", NULL),
57 INIT_CLKREG(&clk_pwm4, "pxa910-pwm.3", NULL), 57 INIT_CLKREG(&clk_pwm4, "pxa910-pwm.3", NULL),
58 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), 58 INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL),
59 INIT_CLKREG(&clk_gpio, "pxa-gpio", NULL), 59 INIT_CLKREG(&clk_gpio, "mmp-gpio", NULL),
60 INIT_CLKREG(&clk_u2o, NULL, "U2OCLK"), 60 INIT_CLKREG(&clk_u2o, NULL, "U2OCLK"),
61 INIT_CLKREG(&clk_rtc, "sa1100-rtc", NULL), 61 INIT_CLKREG(&clk_rtc, "sa1100-rtc", NULL),
62}; 62};
diff --git a/arch/arm/mach-mmp/flint.c b/arch/arm/mach-mmp/flint.c
index 754c352dd02b..6291c33d83e2 100644
--- a/arch/arm/mach-mmp/flint.c
+++ b/arch/arm/mach-mmp/flint.c
@@ -16,6 +16,7 @@
16#include <linux/smc91x.h> 16#include <linux/smc91x.h>
17#include <linux/io.h> 17#include <linux/io.h>
18#include <linux/gpio.h> 18#include <linux/gpio.h>
19#include <linux/gpio-pxa.h>
19#include <linux/interrupt.h> 20#include <linux/interrupt.h>
20 21
21#include <asm/mach-types.h> 22#include <asm/mach-types.h>
@@ -77,6 +78,10 @@ static unsigned long flint_pin_config[] __initdata = {
77 GPIO160_ND_RDY1, 78 GPIO160_ND_RDY1,
78}; 79};
79 80
81static struct pxa_gpio_platform_data mmp2_gpio_pdata = {
82 .irq_base = MMP_GPIO_TO_IRQ(0),
83};
84
80static struct smc91x_platdata flint_smc91x_info = { 85static struct smc91x_platdata flint_smc91x_info = {
81 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, 86 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
82}; 87};
@@ -111,6 +116,8 @@ static void __init flint_init(void)
111 /* on-chip devices */ 116 /* on-chip devices */
112 mmp2_add_uart(1); 117 mmp2_add_uart(1);
113 mmp2_add_uart(2); 118 mmp2_add_uart(2);
119 platform_device_add_data(&mmp2_device_gpio, &mmp2_gpio_pdata,
120 sizeof(struct pxa_gpio_platform_data));
114 platform_device_register(&mmp2_device_gpio); 121 platform_device_register(&mmp2_device_gpio);
115 122
116 /* off-chip devices */ 123 /* off-chip devices */
diff --git a/arch/arm/mach-mmp/gplugd.c b/arch/arm/mach-mmp/gplugd.c
index f62b68d926f4..d81b2475e67e 100644
--- a/arch/arm/mach-mmp/gplugd.c
+++ b/arch/arm/mach-mmp/gplugd.c
@@ -11,6 +11,7 @@
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/platform_device.h> 12#include <linux/platform_device.h>
13#include <linux/gpio.h> 13#include <linux/gpio.h>
14#include <linux/gpio-pxa.h>
14 15
15#include <asm/mach/arch.h> 16#include <asm/mach/arch.h>
16#include <asm/mach-types.h> 17#include <asm/mach-types.h>
@@ -128,6 +129,10 @@ static unsigned long gplugd_pin_config[] __initdata = {
128 GPIO116_I2S_TXD 129 GPIO116_I2S_TXD
129}; 130};
130 131
132static struct pxa_gpio_platform_data pxa168_gpio_pdata = {
133 .irq_base = MMP_GPIO_TO_IRQ(0),
134};
135
131static struct i2c_board_info gplugd_i2c_board_info[] = { 136static struct i2c_board_info gplugd_i2c_board_info[] = {
132 { 137 {
133 .type = "isl1208", 138 .type = "isl1208",
@@ -186,6 +191,8 @@ static void __init gplugd_init(void)
186 pxa168_add_uart(3); 191 pxa168_add_uart(3);
187 pxa168_add_ssp(1); 192 pxa168_add_ssp(1);
188 pxa168_add_twsi(0, NULL, ARRAY_AND_SIZE(gplugd_i2c_board_info)); 193 pxa168_add_twsi(0, NULL, ARRAY_AND_SIZE(gplugd_i2c_board_info));
194 platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata,
195 sizeof(struct pxa_gpio_platform_data));
189 platform_device_register(&pxa168_device_gpio); 196 platform_device_register(&pxa168_device_gpio);
190 197
191 pxa168_add_eth(&gplugd_eth_platform_data); 198 pxa168_add_eth(&gplugd_eth_platform_data);
diff --git a/arch/arm/mach-mmp/include/mach/debug-macro.S b/arch/arm/mach-mmp/include/mach/debug-macro.S
deleted file mode 100644
index 5c3cc29688ab..000000000000
--- a/arch/arm/mach-mmp/include/mach/debug-macro.S
+++ /dev/null
@@ -1,30 +0,0 @@
1/* arch/arm/mach-mmp/include/mach/debug-macro.S
2 *
3 * Debugging macro include header
4 *
5 * Copied from arch/arm/mach-pxa/include/mach/debug.S
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#if defined(CONFIG_DEBUG_MMP_UART2)
13#define MMP_UART_OFFSET 0x00017000
14#elif defined(CONFIG_DEBUG_MMP_UART3)
15#define MMP_UART_OFFSET 0x00018000
16#else
17#error "Select uart for DEBUG_LL"
18#endif
19
20#include <mach/addr-map.h>
21
22 .macro addruart, rp, rv, tmp
23 ldr \rp, =APB_PHYS_BASE @ physical
24 ldr \rv, =APB_VIRT_BASE @ virtual
25 orr \rp, \rp, #MMP_UART_OFFSET
26 orr \rv, \rv, #MMP_UART_OFFSET
27 .endm
28
29#define UART_SHIFT 2
30#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-mmp/jasper.c b/arch/arm/mach-mmp/jasper.c
index 66634fd0ecb0..0e9e5c05b37c 100644
--- a/arch/arm/mach-mmp/jasper.c
+++ b/arch/arm/mach-mmp/jasper.c
@@ -12,6 +12,7 @@
12 12
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/gpio-pxa.h>
15#include <linux/platform_device.h> 16#include <linux/platform_device.h>
16#include <linux/io.h> 17#include <linux/io.h>
17#include <linux/regulator/machine.h> 18#include <linux/regulator/machine.h>
@@ -99,6 +100,10 @@ static unsigned long jasper_pin_config[] __initdata = {
99 GPIO151_MMC3_CLK, 100 GPIO151_MMC3_CLK,
100}; 101};
101 102
103static struct pxa_gpio_platform_data mmp2_gpio_pdata = {
104 .irq_base = MMP_GPIO_TO_IRQ(0),
105};
106
102static struct regulator_consumer_supply max8649_supply[] = { 107static struct regulator_consumer_supply max8649_supply[] = {
103 REGULATOR_SUPPLY("vcc_core", NULL), 108 REGULATOR_SUPPLY("vcc_core", NULL),
104}; 109};
@@ -165,6 +170,9 @@ static void __init jasper_init(void)
165 mmp2_add_uart(1); 170 mmp2_add_uart(1);
166 mmp2_add_uart(3); 171 mmp2_add_uart(3);
167 mmp2_add_twsi(1, NULL, ARRAY_AND_SIZE(jasper_twsi1_info)); 172 mmp2_add_twsi(1, NULL, ARRAY_AND_SIZE(jasper_twsi1_info));
173 platform_device_add_data(&mmp2_device_gpio, &mmp2_gpio_pdata,
174 sizeof(struct pxa_gpio_platform_data));
175 platform_device_register(&mmp2_device_gpio);
168 mmp2_add_sdhost(0, &mmp2_sdh_platdata_mmc0); /* SD/MMC */ 176 mmp2_add_sdhost(0, &mmp2_sdh_platdata_mmc0); /* SD/MMC */
169 177
170 regulator_has_full_constraints(); 178 regulator_has_full_constraints();
diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index d063efa0a4f1..b37915dc4470 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -28,7 +28,7 @@ static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
28 OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL), 28 OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4026000, "pxa2xx-uart.2", NULL),
29 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL), 29 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
30 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL), 30 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
31 OF_DEV_AUXDATA("mrvl,mmp-gpio", 0xd4019000, "pxa-gpio", NULL), 31 OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
32 OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL), 32 OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
33 {} 33 {}
34}; 34};
@@ -39,7 +39,7 @@ static const struct of_dev_auxdata pxa910_auxdata_lookup[] __initconst = {
39 OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL), 39 OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4036000, "pxa2xx-uart.2", NULL),
40 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL), 40 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
41 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL), 41 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4037000, "pxa2xx-i2c.1", NULL),
42 OF_DEV_AUXDATA("mrvl,mmp-gpio", 0xd4019000, "pxa-gpio", NULL), 42 OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp-gpio", NULL),
43 OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL), 43 OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
44 {} 44 {}
45}; 45};
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index fad431aa6e09..4ac256720f7d 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -31,7 +31,7 @@ static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
31 OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL), 31 OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4016000, "pxa2xx-uart.3", NULL),
32 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL), 32 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4011000, "pxa2xx-i2c.0", NULL),
33 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL), 33 OF_DEV_AUXDATA("mrvl,mmp-twsi", 0xd4025000, "pxa2xx-i2c.1", NULL),
34 OF_DEV_AUXDATA("mrvl,mmp-gpio", 0xd4019000, "pxa-gpio", NULL), 34 OF_DEV_AUXDATA("marvell,mmp-gpio", 0xd4019000, "mmp2-gpio", NULL),
35 OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL), 35 OF_DEV_AUXDATA("mrvl,mmp-rtc", 0xd4010000, "sa1100-rtc", NULL),
36 {} 36 {}
37}; 37};
diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c
index d94d114eef7b..c7592f168bbd 100644
--- a/arch/arm/mach-mmp/mmp2.c
+++ b/arch/arm/mach-mmp/mmp2.c
@@ -164,7 +164,7 @@ struct resource mmp2_resource_gpio[] = {
164}; 164};
165 165
166struct platform_device mmp2_device_gpio = { 166struct platform_device mmp2_device_gpio = {
167 .name = "pxa-gpio", 167 .name = "mmp2-gpio",
168 .id = -1, 168 .id = -1,
169 .num_resources = ARRAY_SIZE(mmp2_resource_gpio), 169 .num_resources = ARRAY_SIZE(mmp2_resource_gpio),
170 .resource = mmp2_resource_gpio, 170 .resource = mmp2_resource_gpio,
diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c
index 9bc7b86a86a7..a30dcf3b7d9e 100644
--- a/arch/arm/mach-mmp/pxa168.c
+++ b/arch/arm/mach-mmp/pxa168.c
@@ -125,7 +125,7 @@ struct resource pxa168_resource_gpio[] = {
125}; 125};
126 126
127struct platform_device pxa168_device_gpio = { 127struct platform_device pxa168_device_gpio = {
128 .name = "pxa-gpio", 128 .name = "mmp-gpio",
129 .id = -1, 129 .id = -1,
130 .num_resources = ARRAY_SIZE(pxa168_resource_gpio), 130 .num_resources = ARRAY_SIZE(pxa168_resource_gpio),
131 .resource = pxa168_resource_gpio, 131 .resource = pxa168_resource_gpio,
diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c
index 36cb321a3d70..ce6393acad86 100644
--- a/arch/arm/mach-mmp/pxa910.c
+++ b/arch/arm/mach-mmp/pxa910.c
@@ -152,7 +152,7 @@ struct resource pxa910_resource_gpio[] = {
152}; 152};
153 153
154struct platform_device pxa910_device_gpio = { 154struct platform_device pxa910_device_gpio = {
155 .name = "pxa-gpio", 155 .name = "mmp-gpio",
156 .id = -1, 156 .id = -1,
157 .num_resources = ARRAY_SIZE(pxa910_resource_gpio), 157 .num_resources = ARRAY_SIZE(pxa910_resource_gpio),
158 .resource = pxa910_resource_gpio, 158 .resource = pxa910_resource_gpio,
diff --git a/arch/arm/mach-mmp/tavorevb.c b/arch/arm/mach-mmp/tavorevb.c
index 4c127d23955d..cdfc9bfee1a4 100644
--- a/arch/arm/mach-mmp/tavorevb.c
+++ b/arch/arm/mach-mmp/tavorevb.c
@@ -8,6 +8,7 @@
8 * publishhed by the Free Software Foundation. 8 * publishhed by the Free Software Foundation.
9 */ 9 */
10#include <linux/gpio.h> 10#include <linux/gpio.h>
11#include <linux/gpio-pxa.h>
11#include <linux/init.h> 12#include <linux/init.h>
12#include <linux/kernel.h> 13#include <linux/kernel.h>
13#include <linux/platform_device.h> 14#include <linux/platform_device.h>
@@ -60,6 +61,10 @@ static unsigned long tavorevb_pin_config[] __initdata = {
60 DF_RDY0_DF_RDY0, 61 DF_RDY0_DF_RDY0,
61}; 62};
62 63
64static struct pxa_gpio_platform_data pxa910_gpio_pdata = {
65 .irq_base = MMP_GPIO_TO_IRQ(0),
66};
67
63static struct smc91x_platdata tavorevb_smc91x_info = { 68static struct smc91x_platdata tavorevb_smc91x_info = {
64 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, 69 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
65}; 70};
@@ -93,6 +98,8 @@ static void __init tavorevb_init(void)
93 98
94 /* on-chip devices */ 99 /* on-chip devices */
95 pxa910_add_uart(1); 100 pxa910_add_uart(1);
101 platform_device_add_data(&pxa910_device_gpio, &pxa910_gpio_pdata,
102 sizeof(struct pxa_gpio_platform_data));
96 platform_device_register(&pxa910_device_gpio); 103 platform_device_register(&pxa910_device_gpio);
97 104
98 /* off-chip devices */ 105 /* off-chip devices */
diff --git a/arch/arm/mach-mmp/teton_bga.c b/arch/arm/mach-mmp/teton_bga.c
index 8609967975ed..e4d95b4c6bb2 100644
--- a/arch/arm/mach-mmp/teton_bga.c
+++ b/arch/arm/mach-mmp/teton_bga.c
@@ -16,6 +16,7 @@
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/platform_device.h> 17#include <linux/platform_device.h>
18#include <linux/gpio.h> 18#include <linux/gpio.h>
19#include <linux/gpio-pxa.h>
19#include <linux/input.h> 20#include <linux/input.h>
20#include <linux/platform_data/keypad-pxa27x.h> 21#include <linux/platform_data/keypad-pxa27x.h>
21#include <linux/i2c.h> 22#include <linux/i2c.h>
@@ -49,6 +50,10 @@ static unsigned long teton_bga_pin_config[] __initdata = {
49 GPIO78_GPIO, 50 GPIO78_GPIO,
50}; 51};
51 52
53static struct pxa_gpio_platform_data pxa168_gpio_pdata = {
54 .irq_base = MMP_GPIO_TO_IRQ(0),
55};
56
52static unsigned int teton_bga_matrix_key_map[] = { 57static unsigned int teton_bga_matrix_key_map[] = {
53 KEY(0, 6, KEY_ESC), 58 KEY(0, 6, KEY_ESC),
54 KEY(0, 7, KEY_ENTER), 59 KEY(0, 7, KEY_ENTER),
@@ -79,6 +84,8 @@ static void __init teton_bga_init(void)
79 pxa168_add_uart(1); 84 pxa168_add_uart(1);
80 pxa168_add_keypad(&teton_bga_keypad_info); 85 pxa168_add_keypad(&teton_bga_keypad_info);
81 pxa168_add_twsi(0, NULL, ARRAY_AND_SIZE(teton_bga_i2c_info)); 86 pxa168_add_twsi(0, NULL, ARRAY_AND_SIZE(teton_bga_i2c_info));
87 platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata,
88 sizeof(struct pxa_gpio_platform_data));
82 platform_device_register(&pxa168_device_gpio); 89 platform_device_register(&pxa168_device_gpio);
83} 90}
84 91
diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c
index 6528a5fa6a26..8483906d4308 100644
--- a/arch/arm/mach-mmp/ttc_dkb.c
+++ b/arch/arm/mach-mmp/ttc_dkb.c
@@ -17,6 +17,7 @@
17#include <linux/interrupt.h> 17#include <linux/interrupt.h>
18#include <linux/i2c/pca953x.h> 18#include <linux/i2c/pca953x.h>
19#include <linux/gpio.h> 19#include <linux/gpio.h>
20#include <linux/gpio-pxa.h>
20#include <linux/mfd/88pm860x.h> 21#include <linux/mfd/88pm860x.h>
21#include <linux/platform_data/mv_usb.h> 22#include <linux/platform_data/mv_usb.h>
22#include <linux/spi/spi.h> 23#include <linux/spi/spi.h>
@@ -75,6 +76,10 @@ static unsigned long ttc_dkb_pin_config[] __initdata = {
75 DF_RDY0_DF_RDY0, 76 DF_RDY0_DF_RDY0,
76}; 77};
77 78
79static struct pxa_gpio_platform_data pxa910_gpio_pdata = {
80 .irq_base = MMP_GPIO_TO_IRQ(0),
81};
82
78static struct mtd_partition ttc_dkb_onenand_partitions[] = { 83static struct mtd_partition ttc_dkb_onenand_partitions[] = {
79 { 84 {
80 .name = "bootloader", 85 .name = "bootloader",
@@ -278,6 +283,8 @@ static void __init ttc_dkb_init(void)
278 283
279 /* off-chip devices */ 284 /* off-chip devices */
280 pxa910_add_twsi(0, NULL, ARRAY_AND_SIZE(ttc_dkb_i2c_info)); 285 pxa910_add_twsi(0, NULL, ARRAY_AND_SIZE(ttc_dkb_i2c_info));
286 platform_device_add_data(&pxa910_device_gpio, &pxa910_gpio_pdata,
287 sizeof(struct pxa_gpio_platform_data));
281 platform_add_devices(ARRAY_AND_SIZE(ttc_dkb_devices)); 288 platform_add_devices(ARRAY_AND_SIZE(ttc_dkb_devices));
282 289
283#ifdef CONFIG_USB_MV_UDC 290#ifdef CONFIG_USB_MV_UDC