linux/arch/arm/plat-samsung/include/plat/map-s3c.h
<<
>>
Prefs
   1/* linux/arch/arm/plat-samsung/include/plat/map-s3c.h
   2 *
   3 * Copyright (c) 2008 Simtec Electronics
   4 *      Ben Dooks <ben@simtec.co.uk>
   5 *
   6 * S3C24XX - Memory map definitions
   7 *
   8 * This program is free software; you can redistribute it and/or modify
   9 * it under the terms of the GNU General Public License version 2 as
  10 * published by the Free Software Foundation.
  11*/
  12
  13#ifndef __ASM_PLAT_MAP_S3C_H
  14#define __ASM_PLAT_MAP_S3C_H __FILE__
  15
  16#define S3C24XX_VA_IRQ          S3C_VA_IRQ
  17#define S3C24XX_VA_MEMCTRL      S3C_VA_MEM
  18#define S3C24XX_VA_UART         S3C_VA_UART
  19
  20#define S3C24XX_VA_TIMER        S3C_VA_TIMER
  21#define S3C24XX_VA_CLKPWR       S3C_VA_SYS
  22#define S3C24XX_VA_WATCHDOG     S3C_VA_WATCHDOG
  23
  24#define S3C2412_VA_SSMC         S3C_ADDR_CPU(0x00000000)
  25#define S3C2412_VA_EBI          S3C_ADDR_CPU(0x00100000)
  26
  27#define S3C2410_PA_UART         (0x50000000)
  28#define S3C24XX_PA_UART         S3C2410_PA_UART
  29
  30/*
  31 * GPIO ports
  32 *
  33 * the calculation for the VA of this must ensure that
  34 * it is the same distance apart from the UART in the
  35 * phsyical address space, as the initial mapping for the IO
  36 * is done as a 1:1 mapping. This puts it (currently) at
  37 * 0xFA800000, which is not in the way of any current mapping
  38 * by the base system.
  39*/
  40
  41#define S3C2410_PA_GPIO         (0x56000000)
  42#define S3C24XX_PA_GPIO         S3C2410_PA_GPIO
  43
  44#define S3C24XX_VA_GPIO         ((S3C24XX_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART)
  45#define S3C64XX_VA_GPIO         S3C_ADDR_CPU(0x00000000)
  46
  47#define S3C64XX_VA_MODEM        S3C_ADDR_CPU(0x00100000)
  48#define S3C64XX_VA_USB_HSPHY    S3C_ADDR_CPU(0x00200000)
  49
  50#define S3C_VA_USB_HSPHY        S3C64XX_VA_USB_HSPHY
  51
  52/*
  53 * ISA style IO, for each machine to sort out mappings for,
  54 * if it implements it. We reserve two 16M regions for ISA.
  55 */
  56
  57#define S3C2410_ADDR(x)         S3C_ADDR(x)
  58
  59#define S3C24XX_VA_ISA_WORD     S3C2410_ADDR(0x02000000)
  60#define S3C24XX_VA_ISA_BYTE     S3C2410_ADDR(0x03000000)
  61
  62/* deal with the registers that move under the 2412/2413 */
  63
  64#if defined(CONFIG_CPU_S3C2412)
  65#ifndef __ASSEMBLY__
  66extern void __iomem *s3c24xx_va_gpio2;
  67#endif
  68#ifdef CONFIG_CPU_S3C2412_ONLY
  69#define S3C24XX_VA_GPIO2        (S3C24XX_VA_GPIO + 0x10)
  70#else
  71#define S3C24XX_VA_GPIO2 s3c24xx_va_gpio2
  72#endif
  73#else
  74#define s3c24xx_va_gpio2 S3C24XX_VA_GPIO
  75#define S3C24XX_VA_GPIO2 S3C24XX_VA_GPIO
  76#endif
  77
  78#include <plat/map-s5p.h>
  79
  80#endif /* __ASM_PLAT_MAP_S3C_H */
  81