aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Mallon <rmallon@gmail.com>2012-01-10 17:58:30 -0500
committerRyan Mallon <rmallon@gmail.com>2012-03-13 20:42:30 -0400
commit08932d81961b1c57870949d069ce2dad235da443 (patch)
treecd1a70688920cd83632c116019dd6e7d9152f00a
parenta05baf335b8bc25e0fab0fd1821e796174f98ea1 (diff)
ep93xx: Configure GPIO ports in core code
Move the pinmux setting of the EP93xx GPIOs to the core code. This removes the need for the GPIO driver to have access to the system controller registers. Signed-off-by: Ryan Mallon <rmallon@gmail.com> Cc: Grant Likely <grant.likely@secretlab.ca> Reviewed-by: Mika Westerberg <mika.westerberg@iki.fi> Acked-by: Hartley Sweeten <hsweeten@visionengravers.com>
-rw-r--r--arch/arm/mach-ep93xx/core.c7
-rw-r--r--drivers/gpio/gpio-ep93xx.c7
2 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
index 776b34619901..bab6e470cbd7 100644
--- a/arch/arm/mach-ep93xx/core.c
+++ b/arch/arm/mach-ep93xx/core.c
@@ -909,6 +909,13 @@ void __init ep93xx_init_devices(void)
909 /* Disallow access to MaverickCrunch initially */ 909 /* Disallow access to MaverickCrunch initially */
910 ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_CPENA); 910 ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_CPENA);
911 911
912 /* Default all ports to GPIO */
913 ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_KEYS |
914 EP93XX_SYSCON_DEVCFG_GONK |
915 EP93XX_SYSCON_DEVCFG_EONIDE |
916 EP93XX_SYSCON_DEVCFG_GONIDE |
917 EP93XX_SYSCON_DEVCFG_HONIDE);
918
912 /* Get the GPIO working early, other devices need it */ 919 /* Get the GPIO working early, other devices need it */
913 platform_device_register(&ep93xx_gpio_device); 920 platform_device_register(&ep93xx_gpio_device);
914 921
diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
index 1c0fc3756cb1..4ca5642e9776 100644
--- a/drivers/gpio/gpio-ep93xx.c
+++ b/drivers/gpio/gpio-ep93xx.c
@@ -378,13 +378,6 @@ static int __devinit ep93xx_gpio_probe(struct platform_device *pdev)
378 } 378 }
379 ep93xx_gpio->mmio_base = mmio; 379 ep93xx_gpio->mmio_base = mmio;
380 380
381 /* Default all ports to GPIO */
382 ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_KEYS |
383 EP93XX_SYSCON_DEVCFG_GONK |
384 EP93XX_SYSCON_DEVCFG_EONIDE |
385 EP93XX_SYSCON_DEVCFG_GONIDE |
386 EP93XX_SYSCON_DEVCFG_HONIDE);
387
388 for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++) { 381 for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++) {
389 struct bgpio_chip *bgc = &ep93xx_gpio->bgc[i]; 382 struct bgpio_chip *bgc = &ep93xx_gpio->bgc[i];
390 struct ep93xx_gpio_bank *bank = &ep93xx_gpio_banks[i]; 383 struct ep93xx_gpio_bank *bank = &ep93xx_gpio_banks[i];