Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e13cf03e authored by Ben Dooks's avatar Ben Dooks Committed by Ben Dooks
Browse files

ARM: S3C: Update CPU register mapping practices.



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: default avatarBen Dooks <ben@simtec.co.uk>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent 78ddb278
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -49,7 +49,7 @@
#define S3C64XX_PA_IIC1		(0x7F00F000)
#define S3C64XX_PA_IIC1		(0x7F00F000)


#define S3C64XX_PA_GPIO		(0x7F008000)
#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_SZ_GPIO		SZ_4K


#define S3C64XX_PA_SDRAM	(0x50000000)
#define S3C64XX_PA_SDRAM	(0x50000000)
@@ -57,7 +57,7 @@
#define S3C64XX_PA_VIC1		(0x71300000)
#define S3C64XX_PA_VIC1		(0x71300000)


#define S3C64XX_PA_MODEM	(0x74108000)
#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)
#define S3C64XX_PA_USBHOST	(0x74300000)


+7 −1
Original line number Original line Diff line number Diff line
@@ -32,9 +32,15 @@


#define S3C_VA_IRQ	S3C_ADDR(0x00000000)	/* irq controller(s) */
#define S3C_VA_IRQ	S3C_ADDR(0x00000000)	/* irq controller(s) */
#define S3C_VA_SYS	S3C_ADDR(0x00100000)	/* system control */
#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_TIMER	S3C_ADDR(0x00300000)	/* timer block */
#define S3C_VA_WATCHDOG	S3C_ADDR(0x00400000)	/* watchdog */
#define S3C_VA_WATCHDOG	S3C_ADDR(0x00400000)	/* watchdog */
#define S3C_VA_UART	S3C_ADDR(0x01000000)	/* UART */
#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 */
#endif /* __ASM_PLAT_MAP_H */