cns3xxx: Fix GPIO configuration for Gateworks Laguna boards
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Oct 2012 11:39:02 +0000 (11:39 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Oct 2012 11:39:02 +0000 (11:39 +0000)
The Laguna boards do not use all the same pins for SDHCI as the Cavium
reference board.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33684 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/cns3xxx/patches-3.3/300-laguna_support.patch

index a4602f9..b42606b 100644 (file)
  obj-$(CONFIG_SMP)                     += platsmp.o headsmp.o
  obj-$(CONFIG_HOTPLUG_CPU)             += hotplug.o
  obj-$(CONFIG_LOCAL_TIMERS)            += localtimer.o
+--- a/arch/arm/mach-cns3xxx/devices.c
++++ b/arch/arm/mach-cns3xxx/devices.c
+@@ -19,6 +19,7 @@
+ #include <mach/cns3xxx.h>
+ #include <mach/irqs.h>
+ #include <mach/pm.h>
++#include <asm/mach-types.h>
+ #include "core.h"
+ #include "devices.h"
+@@ -102,7 +103,11 @@ void __init cns3xxx_sdhci_init(void)
+       u32 gpioa_pins = __raw_readl(gpioa);
+       /* MMC/SD pins share with GPIOA */
+-      gpioa_pins |= 0x1fff0004;
++      if (machine_is_gw2388()) {
++              gpioa_pins |= 0x1fff0000;
++      } else {
++              gpioa_pins |= 0x1fff0004;
++      }
+       __raw_writel(gpioa_pins, gpioa);
+       cns3xxx_pwr_clk_en(CNS3XXX_PWR_CLK_EN(SDIO));