cns3xxx: Fix GPIO configuration for Gateworks Laguna boards

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>

SVN-Revision: 33684
owl
Felix Fietkau 2012-10-10 11:39:02 +00:00
parent 6bb7409e5a
commit 85871f283a
1 changed files with 23 additions and 0 deletions

View File

@ -963,3 +963,26 @@
obj-$(CONFIG_SMP) += platsmp.o headsmp.o obj-$(CONFIG_SMP) += platsmp.o headsmp.o
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
obj-$(CONFIG_LOCAL_TIMERS) += localtimer.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));