2012-05-18 23:10:53 +03:00
|
|
|
--- a/arch/arm/mach-cns3xxx/Kconfig
|
|
|
|
+++ b/arch/arm/mach-cns3xxx/Kconfig
|
|
|
|
@@ -11,4 +11,14 @@ config MACH_CNS3420VB
|
|
|
|
This is a platform with an on-board ARM11 MPCore and has support
|
|
|
|
for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, etc.
|
|
|
|
|
|
|
|
+config MACH_GW2388
|
|
|
|
+ bool "Support for Gateworks Laguna Platform"
|
|
|
|
+ select HAVE_ARM_SCU if SMP
|
|
|
|
+ select MIGHT_HAVE_PCI
|
|
|
|
+ help
|
|
|
|
+ Include support for the Gateworks Laguna Platform
|
|
|
|
+
|
|
|
|
+ This is a platform with an on-board ARM11 MPCore and has support
|
|
|
|
+ for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, I2C, GIG, etc.
|
|
|
|
+
|
|
|
|
endmenu
|
|
|
|
--- a/arch/arm/mach-cns3xxx/Makefile
|
|
|
|
+++ b/arch/arm/mach-cns3xxx/Makefile
|
|
|
|
@@ -1,6 +1,7 @@
|
|
|
|
obj-$(CONFIG_ARCH_CNS3XXX) += core.o pm.o devices.o
|
|
|
|
obj-$(CONFIG_PCI) += pcie.o
|
|
|
|
obj-$(CONFIG_MACH_CNS3420VB) += cns3420vb.o
|
|
|
|
+obj-$(CONFIG_MACH_GW2388) += laguna.o
|
|
|
|
obj-$(CONFIG_SMP) += platsmp.o headsmp.o
|
|
|
|
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
|
|
|
|
obj-$(CONFIG_LOCAL_TIMERS) += localtimer.o
|
2012-10-10 14:39:02 +03:00
|
|
|
--- 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));
|