ARM: S3C: Update CPU register mapping practices.
authorBen Dooks <ben@simtec.co.uk>
Thu, 30 Jul 2009 22:23:35 +0000 (23:23 +0100)
committerBen Dooks <ben-linux@fluff.org>
Thu, 30 Jul 2009 22:22:54 +0000 (23:22 +0100)
Currently map-base.h defines the main virtual address mappings made
for all the support S3C SoC series, but does not then define any base
for per-cpu mappings to be made from.

Add S3C_ADDR_CPU() macro to define an virtual address as an offset
from the last of the core mappings.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
arch/arm/mach-s3c6400/include/mach/map.h
arch/arm/plat-s3c/include/plat/map-base.h

index 5057d9948d3588ceb784b179bbfad3ed3cdae6d9..e02e6c38a396d0dad7e950811b139307aea01d58 100644 (file)
@@ -49,7 +49,7 @@
 #define S3C64XX_PA_IIC1                (0x7F00F000)
 
 #define S3C64XX_PA_GPIO                (0x7F008000)
-#define S3C64XX_VA_GPIO                S3C_ADDR(0x00500000)
+#define S3C64XX_VA_GPIO                S3C_ADDR_CPU(0x00000000)
 #define S3C64XX_SZ_GPIO                SZ_4K
 
 #define S3C64XX_PA_SDRAM       (0x50000000)
@@ -57,7 +57,7 @@
 #define S3C64XX_PA_VIC1                (0x71300000)
 
 #define S3C64XX_PA_MODEM       (0x74108000)
-#define S3C64XX_VA_MODEM       S3C_ADDR(0x00600000)
+#define S3C64XX_VA_MODEM       S3C_ADDR_CPU(0x00100000)
 
 #define S3C64XX_PA_USBHOST     (0x74300000)
 
index b84289d32a5463f90d8ce30e7fd6483d5dc3b4f8..250be311c85b1b8945eaf42ba00a3d8fbefdbad5 100644 (file)
 
 #define S3C_VA_IRQ     S3C_ADDR(0x00000000)    /* irq controller(s) */
 #define S3C_VA_SYS     S3C_ADDR(0x00100000)    /* system control */
-#define S3C_VA_MEM     S3C_ADDR(0x00200000)    /* system control */
+#define S3C_VA_MEM     S3C_ADDR(0x00200000)    /* memory control */
 #define S3C_VA_TIMER   S3C_ADDR(0x00300000)    /* timer block */
 #define S3C_VA_WATCHDOG        S3C_ADDR(0x00400000)    /* watchdog */
 #define S3C_VA_UART    S3C_ADDR(0x01000000)    /* UART */
 
+/* This is used for the CPU specific mappings that may be needed, so that
+ * they do not need to directly used S3C_ADDR() and thus make it easier to
+ * modify the space for mapping.
+ */
+#define S3C_ADDR_CPU(x)        S3C_ADDR(0x00500000 + (x))
+
 #endif /* __ASM_PLAT_MAP_H */