[ARM] 5480/1: U300-v5 integrate into the ARM architecture
authorLinus Walleij <linus.walleij@stericsson.com>
Mon, 27 Apr 2009 09:21:46 +0000 (10:21 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 28 Apr 2009 21:44:29 +0000 (22:44 +0100)
This hooks the U300 support into Kbuild and makes a small hook
in mmu.c for supporting an odd memory alignment with shared memory
on these systems.

This is rebased to RMK:s GIT HEAD. This patch tries to add the
Kconfig option in alphabetic order by option text and the Makefile
entry after config symbol.

Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mm/mmu.c

index a930e5c..44456e1 100644 (file)
@@ -594,6 +594,20 @@ config ARCH_LH7A40X
          core with a wide array of integrated devices for
          hand-held and low-power applications.
 
+config ARCH_U300
+       bool "ST-Ericsson U300 Series"
+       depends on MMU
+       select CPU_ARM926T
+       select ARM_AMBA
+       select ARM_VIC
+       select GENERIC_TIME
+       select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
+       select COMMON_CLKDEV
+       select GENERIC_GPIO
+       help
+         Support for ST-Ericsson U300 series mobile platforms.
+
 config ARCH_DAVINCI
        bool "TI DaVinci"
        select CPU_ARM926T
@@ -705,6 +719,8 @@ source "arch/arm/mach-ks8695/Kconfig"
 
 source "arch/arm/mach-msm/Kconfig"
 
+source "arch/arm/mach-u300/Kconfig"
+
 source "arch/arm/mach-w90x900/Kconfig"
 
 # Definitions to make life easier
index 885a837..20084c5 100644 (file)
@@ -149,6 +149,7 @@ machine-$(CONFIG_ARCH_S3C24A0)              := s3c24a0
 machine-$(CONFIG_ARCH_S3C64XX)         := s3c6400 s3c6410
 machine-$(CONFIG_ARCH_SA1100)          := sa1100
 machine-$(CONFIG_ARCH_SHARK)           := shark
+machine-$(CONFIG_ARCH_U300)            := u300
 machine-$(CONFIG_ARCH_VERSATILE)       := versatile
 machine-$(CONFIG_ARCH_W90X900)         := w90x900
 machine-$(CONFIG_FOOTBRIDGE)           := footbridge
index e6344ec..39fca4e 100644 (file)
@@ -839,6 +839,20 @@ void __init reserve_node_zero(pg_data_t *pgdat)
                reserve_bootmem_node(pgdat, 0xa0200000, 0x1000,
                                BOOTMEM_EXCLUSIVE);
 
+       /*
+        * U300 - This platform family can share physical memory
+        * between two ARM cpus, one running Linux and the other
+        * running another OS.
+        */
+       if (machine_is_u300()) {
+#ifdef CONFIG_MACH_U300_SINGLE_RAM
+#if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) &&   \
+       CONFIG_MACH_U300_2MB_ALIGNMENT_FIX
+               res_size = 0x00100000;
+#endif
+#endif
+       }
+
 #ifdef CONFIG_SA1111
        /*
         * Because of the SA1111 DMA bug, we want to preserve our