blob: aba3bb4e3412c7f2fac817d02803c7c6e4e912c6 [file] [log] [blame]
Byungho Minff54b452009-06-23 21:39:49 +09001/* linux/arch/arm/mach-s5pc100/include/mach/map.h
2 *
3 * Copyright 2009 Samsung Electronics Co.
4 * Byungho Min <bhmin@samsung.com>
5 *
6 * Based on mach-s3c6400/include/mach/map.h
7 *
8 * S5PC1XX - Memory map definitions
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13*/
14
15#ifndef __ASM_ARCH_MAP_H
16#define __ASM_ARCH_MAP_H __FILE__
17
18#include <plat/map-base.h>
19
Kyungmin Parkb0cc3032009-11-17 08:41:11 +010020/*
21 * map-base.h has already defined virtual memory address
22 * S3C_VA_IRQ S3C_ADDR(0x00000000) irq controller(s)
23 * S3C_VA_SYS S3C_ADDR(0x00100000) system control
24 * S3C_VA_MEM S3C_ADDR(0x00200000) system control (not used)
25 * S3C_VA_TIMER S3C_ADDR(0x00300000) timer block
26 * S3C_VA_WATCHDOG S3C_ADDR(0x00400000) watchdog
27 * S3C_VA_UART S3C_ADDR(0x01000000) UART
28 *
29 * S5PC100 specific virtual memory address can be defined here
30 * S5PC1XX_VA_GPIO S3C_ADDR(0x00500000) GPIO
31 *
32 */
Byungho Minff54b452009-06-23 21:39:49 +090033
Marek Szyprowski999304b2010-05-20 08:59:05 +020034#define S5PC100_PA_ONENAND_BUF (0xB0000000)
35#define S5PC100_SZ_ONENAND_BUF (SZ_256M - SZ_32M)
36
Byungho Minff54b452009-06-23 21:39:49 +090037/* Chip ID */
38#define S5PC100_PA_CHIPID (0xE0000000)
39#define S5PC1XX_PA_CHIPID S5PC100_PA_CHIPID
40#define S5PC1XX_VA_CHIPID S3C_VA_SYS
41
42/* System */
Kyungmin Parkb0cc3032009-11-17 08:41:11 +010043#define S5PC100_PA_CLK (0xE0100000)
44#define S5PC100_PA_CLK_OTHER (0xE0200000)
45#define S5PC100_PA_PWR (0xE0108000)
Byungho Minff54b452009-06-23 21:39:49 +090046#define S5PC1XX_PA_CLK S5PC100_PA_CLK
47#define S5PC1XX_PA_PWR S5PC100_PA_PWR
Kyungmin Parkb0cc3032009-11-17 08:41:11 +010048#define S5PC1XX_PA_CLK_OTHER S5PC100_PA_CLK_OTHER
Byungho Minff54b452009-06-23 21:39:49 +090049#define S5PC1XX_VA_CLK (S3C_VA_SYS + 0x10000)
50#define S5PC1XX_VA_PWR (S3C_VA_SYS + 0x20000)
Kyungmin Parkb0cc3032009-11-17 08:41:11 +010051#define S5PC1XX_VA_CLK_OTHER (S3C_VA_SYS + 0x30000)
52
53/* GPIO */
54#define S5PC100_PA_GPIO (0xE0300000)
55#define S5PC1XX_PA_GPIO S5PC100_PA_GPIO
56#define S5PC1XX_VA_GPIO S3C_ADDR(0x00500000)
Byungho Minff54b452009-06-23 21:39:49 +090057
58/* Interrupt */
59#define S5PC100_PA_VIC (0xE4000000)
60#define S5PC100_VA_VIC S3C_VA_IRQ
61#define S5PC100_PA_VIC_OFFSET 0x100000
62#define S5PC100_VA_VIC_OFFSET 0x10000
63#define S5PC1XX_PA_VIC(x) (S5PC100_PA_VIC + ((x) * S5PC100_PA_VIC_OFFSET))
64#define S5PC1XX_VA_VIC(x) (S5PC100_VA_VIC + ((x) * S5PC100_VA_VIC_OFFSET))
65
Marek Szyprowski999304b2010-05-20 08:59:05 +020066#define S5PC100_PA_ONENAND (0xE7100000)
67
Kyungmin Parkb0cc3032009-11-17 08:41:11 +010068/* DMA */
69#define S5PC100_PA_MDMA (0xE8100000)
70#define S5PC100_PA_PDMA0 (0xE9000000)
71#define S5PC100_PA_PDMA1 (0xE9200000)
72
Byungho Minff54b452009-06-23 21:39:49 +090073/* Timer */
74#define S5PC100_PA_TIMER (0xEA000000)
75#define S5PC1XX_PA_TIMER S5PC100_PA_TIMER
76#define S5PC1XX_VA_TIMER S3C_VA_TIMER
77
Kyungmin Parkb0cc3032009-11-17 08:41:11 +010078/* RTC */
79#define S5PC100_PA_RTC (0xEA300000)
80
Byungho Minff54b452009-06-23 21:39:49 +090081/* UART */
82#define S5PC100_PA_UART (0xEC000000)
83#define S5PC1XX_PA_UART S5PC100_PA_UART
84#define S5PC1XX_VA_UART S3C_VA_UART
85
Kyungmin Parkb0cc3032009-11-17 08:41:11 +010086/* I2C */
87#define S5PC100_PA_I2C (0xEC100000)
88#define S5PC100_PA_I2C1 (0xEC200000)
89
90/* USB HS OTG */
91#define S5PC100_PA_USB_HSOTG (0xED200000)
92#define S5PC100_PA_USB_HSPHY (0xED300000)
93
94/* SD/MMC */
95#define S5PC100_PA_HSMMC(x) (0xED800000 + ((x) * 0x100000))
96#define S5PC100_PA_HSMMC0 S5PC100_PA_HSMMC(0)
97#define S5PC100_PA_HSMMC1 S5PC100_PA_HSMMC(1)
98#define S5PC100_PA_HSMMC2 S5PC100_PA_HSMMC(2)
99
100/* LCD */
101#define S5PC100_PA_FB (0xEE000000)
102
103/* Multimedia */
104#define S5PC100_PA_G2D (0xEE800000)
105#define S5PC100_PA_JPEG (0xEE500000)
106#define S5PC100_PA_ROTATOR (0xEE100000)
107#define S5PC100_PA_G3D (0xEF000000)
108
109/* I2S */
110#define S5PC100_PA_I2S0 (0xF2000000)
111#define S5PC100_PA_I2S1 (0xF2100000)
112#define S5PC100_PA_I2S2 (0xF2200000)
113
114/* KEYPAD */
115#define S5PC100_PA_KEYPAD (0xF3100000)
116
117/* ADC & TouchScreen */
118#define S5PC100_PA_TSADC (0xF3000000)
Byungho Minff54b452009-06-23 21:39:49 +0900119
120/* ETC */
121#define S5PC100_PA_SDRAM (0x20000000)
Kyungmin Parkb0cc3032009-11-17 08:41:11 +0100122#define S5PC1XX_PA_SDRAM S5PC100_PA_SDRAM
Byungho Minff54b452009-06-23 21:39:49 +0900123
124/* compatibility defines. */
Kyungmin Parkb0cc3032009-11-17 08:41:11 +0100125#define S3C_PA_RTC S5PC100_PA_RTC
Byungho Minff54b452009-06-23 21:39:49 +0900126#define S3C_PA_UART S5PC100_PA_UART
127#define S3C_PA_UART0 (S5PC100_PA_UART + 0x0)
128#define S3C_PA_UART1 (S5PC100_PA_UART + 0x400)
129#define S3C_PA_UART2 (S5PC100_PA_UART + 0x800)
130#define S3C_PA_UART3 (S5PC100_PA_UART + 0xC00)
131#define S3C_VA_UART0 (S3C_VA_UART + 0x0)
132#define S3C_VA_UART1 (S3C_VA_UART + 0x400)
133#define S3C_VA_UART2 (S3C_VA_UART + 0x800)
134#define S3C_VA_UART3 (S3C_VA_UART + 0xC00)
135#define S3C_UART_OFFSET 0x400
Kyungmin Parkb0cc3032009-11-17 08:41:11 +0100136#define S3C_VA_UARTx(x) (S3C_VA_UART + ((x) * S3C_UART_OFFSET))
137#define S3C_PA_FB S5PC100_PA_FB
138#define S3C_PA_G2D S5PC100_PA_G2D
139#define S3C_PA_G3D S5PC100_PA_G3D
140#define S3C_PA_JPEG S5PC100_PA_JPEG
141#define S3C_PA_ROTATOR S5PC100_PA_ROTATOR
Byungho Minff54b452009-06-23 21:39:49 +0900142#define S3C_VA_VIC0 (S3C_VA_IRQ + 0x0)
143#define S3C_VA_VIC1 (S3C_VA_IRQ + 0x10000)
144#define S3C_VA_VIC2 (S3C_VA_IRQ + 0x20000)
Kyungmin Parkb0cc3032009-11-17 08:41:11 +0100145#define S3C_PA_IIC S5PC100_PA_I2C
146#define S3C_PA_IIC1 S5PC100_PA_I2C1
147#define S3C_PA_USB_HSOTG S5PC100_PA_USB_HSOTG
148#define S3C_PA_USB_HSPHY S5PC100_PA_USB_HSPHY
149#define S3C_PA_HSMMC0 S5PC100_PA_HSMMC0
150#define S3C_PA_HSMMC1 S5PC100_PA_HSMMC1
151#define S3C_PA_HSMMC2 S5PC100_PA_HSMMC2
152#define S3C_PA_KEYPAD S5PC100_PA_KEYPAD
153#define S3C_PA_TSADC S5PC100_PA_TSADC
Marek Szyprowski999304b2010-05-20 08:59:05 +0200154#define S3C_PA_ONENAND S5PC100_PA_ONENAND
155#define S3C_PA_ONENAND_BUF S5PC100_PA_ONENAND_BUF
156#define S3C_SZ_ONENAND_BUF S5PC100_SZ_ONENAND_BUF
Byungho Minff54b452009-06-23 21:39:49 +0900157
158#endif /* __ASM_ARCH_C100_MAP_H */