/* linux/arch/arm/mach-s5pc100/include/mach/map.h
 *
 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com/
 *
 * Copyright 2009 Samsung Electronics Co.
 *	Byungho Min <bhmin@samsung.com>
 *
 * S5PC100 - Memory map definitions
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

#ifndef __ASM_ARCH_MAP_H
#define __ASM_ARCH_MAP_H __FILE__

#include <plat/map-base.h>
#include <plat/map-s5p.h>

#define S5PC100_PA_SDRAM		0x20000000

#define S5PC100_PA_ONENAND		0xE7100000
#define S5PC100_PA_ONENAND_BUF		0xB0000000

#define S5PC100_PA_CHIPID		0xE0000000

#define S5PC100_PA_SYSCON		0xE0100000

#define S5PC100_PA_OTHERS		0xE0200000

#define S5PC100_PA_GPIO			0xE0300000

#define S5PC100_PA_VIC0			0xE4000000
#define S5PC100_PA_VIC1			0xE4100000
#define S5PC100_PA_VIC2			0xE4200000

#define S5PC100_PA_SROMC		0xE7000000

#define S5PC100_PA_CFCON		0xE7800000

#define S5PC100_PA_MDMA			0xE8100000
#define S5PC100_PA_PDMA0		0xE9000000
#define S5PC100_PA_PDMA1		0xE9200000

#define S5PC100_PA_TIMER		0xEA000000
#define S5PC100_PA_SYSTIMER		0xEA100000
#define S5PC100_PA_WATCHDOG		0xEA200000
#define S5PC100_PA_RTC			0xEA300000

#define S5PC100_PA_UART			0xEC000000

#define S5PC100_PA_IIC0			0xEC100000
#define S5PC100_PA_IIC1			0xEC200000

#define S5PC100_PA_SPI0			0xEC300000
#define S5PC100_PA_SPI1			0xEC400000
#define S5PC100_PA_SPI2			0xEC500000

#define S5PC100_PA_USB_HSOTG		0xED200000
#define S5PC100_PA_USB_HSPHY		0xED300000

#define S5PC100_PA_HSMMC(x)		(0xED800000 + ((x) * 0x100000))

#define S5PC100_PA_FB			0xEE000000

#define S5PC100_PA_FIMC0		0xEE200000
#define S5PC100_PA_FIMC1		0xEE300000
#define S5PC100_PA_FIMC2		0xEE400000

#define S5PC100_PA_I2S0			0xF2000000
#define S5PC100_PA_I2S1			0xF2100000
#define S5PC100_PA_I2S2			0xF2200000

#define S5PC100_PA_AC97			0xF2300000

#define S5PC100_PA_PCM0			0xF2400000
#define S5PC100_PA_PCM1			0xF2500000

#define S5PC100_PA_SPDIF		0xF2600000

#define S5PC100_PA_TSADC		0xF3000000

#define S5PC100_PA_KEYPAD		0xF3100000

/* Compatibiltiy Defines */

#define S3C_PA_FB			S5PC100_PA_FB
#define S3C_PA_HSMMC0			S5PC100_PA_HSMMC(0)
#define S3C_PA_HSMMC1			S5PC100_PA_HSMMC(1)
#define S3C_PA_HSMMC2			S5PC100_PA_HSMMC(2)
#define S3C_PA_IIC			S5PC100_PA_IIC0
#define S3C_PA_IIC1			S5PC100_PA_IIC1
#define S3C_PA_KEYPAD			S5PC100_PA_KEYPAD
#define S3C_PA_ONENAND			S5PC100_PA_ONENAND
#define S3C_PA_ONENAND_BUF		S5PC100_PA_ONENAND_BUF
#define S3C_PA_RTC			S5PC100_PA_RTC
#define S3C_PA_TSADC			S5PC100_PA_TSADC
#define S3C_PA_USB_HSOTG		S5PC100_PA_USB_HSOTG
#define S3C_PA_USB_HSPHY		S5PC100_PA_USB_HSPHY
#define S3C_PA_WDT			S5PC100_PA_WATCHDOG
#define S3C_PA_SPI0			S5PC100_PA_SPI0
#define S3C_PA_SPI1			S5PC100_PA_SPI1
#define S3C_PA_SPI2			S5PC100_PA_SPI2

#define S5P_PA_CHIPID			S5PC100_PA_CHIPID
#define S5P_PA_FIMC0			S5PC100_PA_FIMC0
#define S5P_PA_FIMC1			S5PC100_PA_FIMC1
#define S5P_PA_FIMC2			S5PC100_PA_FIMC2
#define S5P_PA_SDRAM			S5PC100_PA_SDRAM
#define S5P_PA_SROMC			S5PC100_PA_SROMC
#define S5P_PA_SYSCON			S5PC100_PA_SYSCON
#define S5P_PA_TIMER			S5PC100_PA_TIMER

#define SAMSUNG_PA_ADC			S5PC100_PA_TSADC
#define SAMSUNG_PA_CFCON		S5PC100_PA_CFCON
#define SAMSUNG_PA_KEYPAD		S5PC100_PA_KEYPAD
#define SAMSUNG_PA_TIMER		S5PC100_PA_TIMER

#define S5PC100_VA_OTHERS		(S3C_VA_SYS + 0x10000)

#define S3C_SZ_ONENAND_BUF		(SZ_256M - SZ_32M)

/* UART */

#define S3C_PA_UART			S5PC100_PA_UART

#define S5P_PA_UART(x)			(S3C_PA_UART + ((x) * S3C_UART_OFFSET))
#define S5P_PA_UART0			S5P_PA_UART(0)
#define S5P_PA_UART1			S5P_PA_UART(1)
#define S5P_PA_UART2			S5P_PA_UART(2)
#define S5P_PA_UART3			S5P_PA_UART(3)

#define S5P_SZ_UART			SZ_256

#endif /* __ASM_ARCH_MAP_H */
