]> git.karo-electronics.de Git - linux-beck.git/commitdiff
[ARM] 5523/1: ep93xx phys offset selection
authorRyan Mallon <ryan@bluewatersys.com>
Thu, 21 May 2009 21:11:52 +0000 (22:11 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 24 May 2009 18:21:32 +0000 (19:21 +0100)
This patch adds a Kconfig option to select between ep93xx boards which
boot from the SDRAM bank at 0x00000000 (SDCE3/SyncBoot) and those which
boot from 0xc0000000 (SDCE0). This corrects a problem which causes
invalid images to be built for boards which boot from 0xc0000000.

Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-ep93xx/Kconfig
arch/arm/mach-ep93xx/Makefile.boot
arch/arm/mach-ep93xx/include/mach/memory.h

index 9414eb641311ab7834ea2cb8dbae7e4003bdf49a..d7291c682a64622f45e5a243aebfab1384538017 100644 (file)
@@ -9,18 +9,37 @@ config CRUNCH
 
 comment "EP93xx Platforms"
 
+choice
+       prompt "EP93xx first SDRAM bank selection"
+       default EP93XX_SDCE3_SYNC_PHYS_OFFSET
+
+config EP93XX_SDCE3_SYNC_PHYS_OFFSET
+       bool "0x00000000 - SDCE3/SyncBoot"
+       help
+         Select this option if you want support for EP93xx boards with the
+         first SDRAM bank at 0x00000000
+
+config EP93XX_SDCE0_PHYS_OFFSET
+       bool "0xc0000000 - SDCEO"
+       help
+         Select this option if you want support for EP93xx boards with the
+         first SDRAM bank at 0xc0000000
+
+endchoice
+
 config MACH_ADSSPHERE
        bool "Support ADS Sphere"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        help
          Say 'Y' here if you want your kernel to support the ADS
          Sphere board.
 
 config MACH_EDB93XX
        bool
-       default n
 
 config MACH_EDB9301
        bool "Support Cirrus Logic EDB9301"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
@@ -28,6 +47,7 @@ config MACH_EDB9301
 
 config MACH_EDB9302
        bool "Support Cirrus Logic EDB9302"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
@@ -35,6 +55,7 @@ config MACH_EDB9302
 
 config MACH_EDB9302A
        bool "Support Cirrus Logic EDB9302A"
+       depends on EP93XX_SDCE0_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
@@ -42,6 +63,7 @@ config MACH_EDB9302A
 
 config MACH_EDB9307
        bool "Support Cirrus Logic EDB9307"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
@@ -49,6 +71,7 @@ config MACH_EDB9307
 
 config MACH_EDB9307A
        bool "Support Cirrus Logic EDB9307A"
+       depends on EP93XX_SDCE0_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
@@ -56,6 +79,7 @@ config MACH_EDB9307A
 
 config MACH_EDB9312
        bool "Support Cirrus Logic EDB9312"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
@@ -63,6 +87,7 @@ config MACH_EDB9312
 
 config MACH_EDB9315
        bool "Support Cirrus Logic EDB9315"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
@@ -70,12 +95,14 @@ config MACH_EDB9315
 
 config MACH_EDB9315A
        bool "Support Cirrus Logic EDB9315A"
+       depends on EP93XX_SDCE0_PHYS_OFFSET
        select MACH_EDB93XX
        help
          Say 'Y' here if you want your kernel to support the Cirrus
          Logic EDB9315A Evaluation Board.
 
 config MACH_GESBC9312
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        bool "Support Glomation GESBC-9312-sx"
        help
          Say 'Y' here if you want your kernel to support the Glomation
@@ -83,10 +110,10 @@ config MACH_GESBC9312
 
 config MACH_MICRO9
        bool
-       default n
 
 config MACH_MICRO9H
        bool "Support Contec Hypercontrol Micro9-H"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_MICRO9
        help
          Say 'Y' here if you want your kernel to support the
@@ -94,6 +121,7 @@ config MACH_MICRO9H
 
 config MACH_MICRO9M
        bool "Support Contec Hypercontrol Micro9-M"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_MICRO9
        help
          Say 'Y' here if you want your kernel to support the
@@ -101,6 +129,7 @@ config MACH_MICRO9M
 
 config MACH_MICRO9L
        bool "Support Contec Hypercontrol Micro9-L"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        select MACH_MICRO9
        help
          Say 'Y' here if you want your kernel to support the
@@ -108,6 +137,7 @@ config MACH_MICRO9L
 
 config MACH_TS72XX
        bool "Support Technologic Systems TS-72xx SBC"
+       depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
        help
          Say 'Y' here if you want your kernel to support the
          Technologic Systems TS-72xx board.
index d5561ad15badcef26897b1f938355c05b5c6a592..27a085a8f12a8020e237517809f3f65cabeccf21 100644 (file)
@@ -1,2 +1,5 @@
-   zreladdr-y  := 0x00008000
-params_phys-y  := 0x00000100
+   zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)    := 0x00008000
+params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)    := 0x00000100
+
+   zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)         := 0xc0008000
+params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)         := 0xc0000100
index 5c80c3c8158dc01145f14cd2964b2e25463ee3e4..925b12ea0990bde4d9df1500854717877d9f8b0f 100644 (file)
@@ -5,6 +5,12 @@
 #ifndef __ASM_ARCH_MEMORY_H
 #define __ASM_ARCH_MEMORY_H
 
+#if defined(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
 #define PHYS_OFFSET            UL(0x00000000)
+#elif defined(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
+#define PHYS_OFFSET            UL(0xc0000000)
+#else
+#error "Kconfig bug: No EP93xx PHYS_OFFSET set"
+#endif
 
 #endif