diff options
author | viresh kumar <viresh.kumar@st.com> | 2010-04-01 07:31:29 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-04-14 06:34:38 -0400 |
commit | 70f4c0bf9e4d067744ee453bc37c0c4adcea6e53 (patch) | |
tree | 0918b10d980c503c258687a0c65b8d0428d3a455 /arch/arm/mach-spear3xx/spear320_evb.c | |
parent | b77932a4d265586748f05a8c8fad7ef4174c0296 (diff) |
ARM: 6020/1: ST SPEAr: Adding gpio pad multiplexing support
GPIO Pads in spear platform are are multiplexed in various machines.
This patch adds support for this pad multiplexing.
Reviewed-by: Linus Walleij <linux.walleij@stericsson.com>
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-spear3xx/spear320_evb.c')
-rw-r--r-- | arch/arm/mach-spear3xx/spear320_evb.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-spear3xx/spear320_evb.c b/arch/arm/mach-spear3xx/spear320_evb.c index 85bc4d226212..62ac685a4135 100644 --- a/arch/arm/mach-spear3xx/spear320_evb.c +++ b/arch/arm/mach-spear3xx/spear320_evb.c | |||
@@ -16,6 +16,27 @@ | |||
16 | #include <mach/generic.h> | 16 | #include <mach/generic.h> |
17 | #include <mach/spear.h> | 17 | #include <mach/spear.h> |
18 | 18 | ||
19 | /* padmux devices to enable */ | ||
20 | static struct pmx_dev *pmx_devs[] = { | ||
21 | /* spear3xx specific devices */ | ||
22 | &pmx_i2c, | ||
23 | &pmx_ssp, | ||
24 | &pmx_mii, | ||
25 | &pmx_uart0, | ||
26 | |||
27 | /* spear320 specific devices */ | ||
28 | &pmx_fsmc, | ||
29 | &pmx_sdio, | ||
30 | &pmx_i2s, | ||
31 | &pmx_uart1, | ||
32 | &pmx_uart2, | ||
33 | &pmx_can, | ||
34 | &pmx_pwm0, | ||
35 | &pmx_pwm1, | ||
36 | &pmx_pwm2, | ||
37 | &pmx_mii1, | ||
38 | }; | ||
39 | |||
19 | static struct amba_device *amba_devs[] __initdata = { | 40 | static struct amba_device *amba_devs[] __initdata = { |
20 | /* spear3xx specific devices */ | 41 | /* spear3xx specific devices */ |
21 | &gpio_device, | 42 | &gpio_device, |
@@ -37,6 +58,12 @@ static void __init spear320_evb_init(void) | |||
37 | /* call spear320 machine init function */ | 58 | /* call spear320 machine init function */ |
38 | spear320_init(); | 59 | spear320_init(); |
39 | 60 | ||
61 | /* padmux initialization */ | ||
62 | pmx_driver.mode = &auto_net_mii_mode; | ||
63 | pmx_driver.devs = pmx_devs; | ||
64 | pmx_driver.devs_count = ARRAY_SIZE(pmx_devs); | ||
65 | spear320_pmx_init(); | ||
66 | |||
40 | /* Add Platform Devices */ | 67 | /* Add Platform Devices */ |
41 | platform_add_devices(plat_devs, ARRAY_SIZE(plat_devs)); | 68 | platform_add_devices(plat_devs, ARRAY_SIZE(plat_devs)); |
42 | 69 | ||