diff options
| author | Lucas Correia Villa Real <lucasvr@gobolinux.org> | 2006-01-26 10:20:50 -0500 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-26 10:20:50 -0500 |
| commit | 0367a8d37af6028b64127ac70922717575b81113 (patch) | |
| tree | c61c592d68ce6a582a3508220bec1bd004764c0a /include | |
| parent | c43e6f027de1092678980e9e2494a6f9b051b93f (diff) | |
[ARM] 3266/1: S3C2400 - adds macro S3C24XX
Patch from Lucas Correia Villa Real
This patch defines S3C2400 memory map and adds a S3C24XX macro for
common resources between S3C2400, S3C2410 and S3C2440 cpus.
Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-arm/arch-s3c2410/debug-macro.S | 6 | ||||
| -rw-r--r-- | include/asm-arm/arch-s3c2410/map.h | 38 | ||||
| -rw-r--r-- | include/asm-arm/arch-s3c2410/regs-serial.h | 6 | ||||
| -rw-r--r-- | include/asm-arm/arch-s3c2410/uncompress.h | 6 |
4 files changed, 47 insertions, 9 deletions
diff --git a/include/asm-arm/arch-s3c2410/debug-macro.S b/include/asm-arm/arch-s3c2410/debug-macro.S index abfbe45cd17c..5f8223e700d3 100644 --- a/include/asm-arm/arch-s3c2410/debug-macro.S +++ b/include/asm-arm/arch-s3c2410/debug-macro.S | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | .macro addruart, rx | 25 | .macro addruart, rx |
| 26 | mrc p15, 0, \rx, c1, c0 | 26 | mrc p15, 0, \rx, c1, c0 |
| 27 | tst \rx, #1 | 27 | tst \rx, #1 |
| 28 | ldreq \rx, = S3C2410_PA_UART | 28 | ldreq \rx, = S3C24XX_PA_UART |
| 29 | ldrne \rx, = S3C24XX_VA_UART | 29 | ldrne \rx, = S3C24XX_VA_UART |
| 30 | #if CONFIG_DEBUG_S3C2410_UART != 0 | 30 | #if CONFIG_DEBUG_S3C2410_UART != 0 |
| 31 | add \rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C2410_UART) | 31 | add \rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C2410_UART) |
| @@ -44,7 +44,7 @@ | |||
| 44 | 1003: | 44 | 1003: |
| 45 | mrc p15, 0, \rd, c1, c0 | 45 | mrc p15, 0, \rd, c1, c0 |
| 46 | tst \rd, #1 | 46 | tst \rd, #1 |
| 47 | addeq \rd, \rx, #(S3C2410_PA_GPIO - S3C2410_PA_UART) | 47 | addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) |
| 48 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) | 48 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) |
| 49 | bic \rd, \rd, #0xff000 | 49 | bic \rd, \rd, #0xff000 |
| 50 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] | 50 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] |
| @@ -75,7 +75,7 @@ | |||
| 75 | 1003: | 75 | 1003: |
| 76 | mrc p15, 0, \rd, c1, c0 | 76 | mrc p15, 0, \rd, c1, c0 |
| 77 | tst \rd, #1 | 77 | tst \rd, #1 |
| 78 | addeq \rd, \rx, #(S3C2410_PA_GPIO - S3C2410_PA_UART) | 78 | addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) |
| 79 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) | 79 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) |
| 80 | bic \rd, \rd, #0xff000 | 80 | bic \rd, \rd, #0xff000 |
| 81 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] | 81 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] |
diff --git a/include/asm-arm/arch-s3c2410/map.h b/include/asm-arm/arch-s3c2410/map.h index 1833ea5c4220..c380d264a847 100644 --- a/include/asm-arm/arch-s3c2410/map.h +++ b/include/asm-arm/arch-s3c2410/map.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | * 06-Jan-2003 BJD Linux 2.6.0 version, moved bast specifics out | 14 | * 06-Jan-2003 BJD Linux 2.6.0 version, moved bast specifics out |
| 15 | * 10-Feb-2005 BJD Added CAMIF definition from guillaume.gourat@nexvision.tv | 15 | * 10-Feb-2005 BJD Added CAMIF definition from guillaume.gourat@nexvision.tv |
| 16 | * 10-Mar-2005 LCVR Added support to S3C2400, changed {VA,SZ} names | 16 | * 10-Mar-2005 LCVR Added support to S3C2400, changed {VA,SZ} names |
| 17 | * 15-Jan-2006 LCVR Added S3C24XX_PA macros for common S3C24XX resources | ||
| 17 | */ | 18 | */ |
| 18 | 19 | ||
| 19 | #ifndef __ASM_ARCH_MAP_H | 20 | #ifndef __ASM_ARCH_MAP_H |
| @@ -188,5 +189,42 @@ | |||
| 188 | 189 | ||
| 189 | #define S3C2400_SDRAM_PA (S3C2400_CS6) | 190 | #define S3C2400_SDRAM_PA (S3C2400_CS6) |
| 190 | 191 | ||
| 192 | /* Use a single interface for common resources between S3C24XX cpus */ | ||
| 193 | |||
| 194 | #ifdef CONFIG_CPU_S3C2400 | ||
| 195 | #define S3C24XX_PA_IRQ S3C2400_PA_IRQ | ||
| 196 | #define S3C24XX_PA_MEMCTRL S3C2400_PA_MEMCTRL | ||
| 197 | #define S3C24XX_PA_USBHOST S3C2400_PA_USBHOST | ||
| 198 | #define S3C24XX_PA_DMA S3C2400_PA_DMA | ||
| 199 | #define S3C24XX_PA_CLKPWR S3C2400_PA_CLKPWR | ||
| 200 | #define S3C24XX_PA_LCD S3C2400_PA_LCD | ||
| 201 | #define S3C24XX_PA_UART S3C2400_PA_UART | ||
| 202 | #define S3C24XX_PA_TIMER S3C2400_PA_TIMER | ||
| 203 | #define S3C24XX_PA_USBDEV S3C2400_PA_USBDEV | ||
| 204 | #define S3C24XX_PA_WATCHDOG S3C2400_PA_WATCHDOG | ||
| 205 | #define S3C24XX_PA_IIC S3C2400_PA_IIC | ||
| 206 | #define S3C24XX_PA_IIS S3C2400_PA_IIS | ||
| 207 | #define S3C24XX_PA_GPIO S3C2400_PA_GPIO | ||
| 208 | #define S3C24XX_PA_RTC S3C2400_PA_RTC | ||
| 209 | #define S3C24XX_PA_ADC S3C2400_PA_ADC | ||
| 210 | #define S3C24XX_PA_SPI S3C2400_PA_SPI | ||
| 211 | #else | ||
| 212 | #define S3C24XX_PA_IRQ S3C2410_PA_IRQ | ||
| 213 | #define S3C24XX_PA_MEMCTRL S3C2410_PA_MEMCTRL | ||
| 214 | #define S3C24XX_PA_USBHOST S3C2410_PA_USBHOST | ||
| 215 | #define S3C24XX_PA_DMA S3C2410_PA_DMA | ||
| 216 | #define S3C24XX_PA_CLKPWR S3C2410_PA_CLKPWR | ||
| 217 | #define S3C24XX_PA_LCD S3C2410_PA_LCD | ||
| 218 | #define S3C24XX_PA_UART S3C2410_PA_UART | ||
| 219 | #define S3C24XX_PA_TIMER S3C2410_PA_TIMER | ||
| 220 | #define S3C24XX_PA_USBDEV S3C2410_PA_USBDEV | ||
| 221 | #define S3C24XX_PA_WATCHDOG S3C2410_PA_WATCHDOG | ||
| 222 | #define S3C24XX_PA_IIC S3C2410_PA_IIC | ||
| 223 | #define S3C24XX_PA_IIS S3C2410_PA_IIS | ||
| 224 | #define S3C24XX_PA_GPIO S3C2410_PA_GPIO | ||
| 225 | #define S3C24XX_PA_RTC S3C2410_PA_RTC | ||
| 226 | #define S3C24XX_PA_ADC S3C2410_PA_ADC | ||
| 227 | #define S3C24XX_PA_SPI S3C2410_PA_SPI | ||
| 228 | #endif | ||
| 191 | 229 | ||
| 192 | #endif /* __ASM_ARCH_MAP_H */ | 230 | #endif /* __ASM_ARCH_MAP_H */ |
diff --git a/include/asm-arm/arch-s3c2410/regs-serial.h b/include/asm-arm/arch-s3c2410/regs-serial.h index ce1bbbaad6d3..83b01254c4ac 100644 --- a/include/asm-arm/arch-s3c2410/regs-serial.h +++ b/include/asm-arm/arch-s3c2410/regs-serial.h | |||
| @@ -39,9 +39,9 @@ | |||
| 39 | #define S3C24XX_VA_UART1 (S3C24XX_VA_UART + 0x4000 ) | 39 | #define S3C24XX_VA_UART1 (S3C24XX_VA_UART + 0x4000 ) |
| 40 | #define S3C24XX_VA_UART2 (S3C24XX_VA_UART + 0x8000 ) | 40 | #define S3C24XX_VA_UART2 (S3C24XX_VA_UART + 0x8000 ) |
| 41 | 41 | ||
| 42 | #define S3C2410_PA_UART0 (S3C2410_PA_UART) | 42 | #define S3C2410_PA_UART0 (S3C24XX_PA_UART) |
| 43 | #define S3C2410_PA_UART1 (S3C2410_PA_UART + 0x4000 ) | 43 | #define S3C2410_PA_UART1 (S3C24XX_PA_UART + 0x4000 ) |
| 44 | #define S3C2410_PA_UART2 (S3C2410_PA_UART + 0x8000 ) | 44 | #define S3C2410_PA_UART2 (S3C24XX_PA_UART + 0x8000 ) |
| 45 | 45 | ||
| 46 | #define S3C2410_URXH (0x24) | 46 | #define S3C2410_URXH (0x24) |
| 47 | #define S3C2410_UTXH (0x20) | 47 | #define S3C2410_UTXH (0x20) |
diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h index ddd1578a7ee0..4367ec054b51 100644 --- a/include/asm-arm/arch-s3c2410/uncompress.h +++ b/include/asm-arm/arch-s3c2410/uncompress.h | |||
| @@ -35,13 +35,13 @@ | |||
| 35 | #undef S3C2410_GPIOREG | 35 | #undef S3C2410_GPIOREG |
| 36 | #undef S3C2410_WDOGREG | 36 | #undef S3C2410_WDOGREG |
| 37 | 37 | ||
| 38 | #define S3C2410_GPIOREG(x) ((S3C2410_PA_GPIO + (x))) | 38 | #define S3C2410_GPIOREG(x) ((S3C24XX_PA_GPIO + (x))) |
| 39 | #define S3C2410_WDOGREG(x) ((S3C2410_PA_WATCHDOG + (x))) | 39 | #define S3C2410_WDOGREG(x) ((S3C24XX_PA_WATCHDOG + (x))) |
| 40 | 40 | ||
| 41 | /* how many bytes we allow into the FIFO at a time in FIFO mode */ | 41 | /* how many bytes we allow into the FIFO at a time in FIFO mode */ |
| 42 | #define FIFO_MAX (14) | 42 | #define FIFO_MAX (14) |
| 43 | 43 | ||
| 44 | #define uart_base S3C2410_PA_UART + (0x4000*CONFIG_S3C2410_LOWLEVEL_UART_PORT) | 44 | #define uart_base S3C24XX_PA_UART + (0x4000*CONFIG_S3C2410_LOWLEVEL_UART_PORT) |
| 45 | 45 | ||
| 46 | static __inline__ void | 46 | static __inline__ void |
| 47 | uart_wr(unsigned int reg, unsigned int val) | 47 | uart_wr(unsigned int reg, unsigned int val) |
