linux/include/asm-arm/arch-imx/hardware.h
<<
>>
Prefs
   1/*
   2 *  linux/include/asm-arm/arch-imx/hardware.h
   3 *
   4 *  Copyright (C) 1999 ARM Limited.
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License as published by
   8 * the Free Software Foundation; either version 2 of the License, or
   9 * (at your option) any later version.
  10 *
  11 * This program is distributed in the hope that it will be useful,
  12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14 * GNU General Public License for more details.
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * along with this program; if not, write to the Free Software
  18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19 */
  20#ifndef __ASM_ARCH_HARDWARE_H
  21#define __ASM_ARCH_HARDWARE_H
  22
  23#include <asm/sizes.h>
  24#include "imx-regs.h"
  25
  26#ifndef __ASSEMBLY__
  27# define __REG(x)       (*((volatile u32 *)IO_ADDRESS(x)))
  28
  29# define __REG2(x,y)        (*(volatile u32 *)((u32)&__REG(x) + (y)))
  30#endif
  31
  32/*
  33 * Memory map
  34 */
  35
  36#define IMX_IO_PHYS             0x00200000
  37#define IMX_IO_SIZE             0x00100000
  38#define IMX_IO_BASE             0xe0000000
  39
  40#define IMX_CS0_PHYS            0x10000000
  41#define IMX_CS0_SIZE            0x02000000
  42#define IMX_CS0_VIRT            0xe8000000
  43
  44#define IMX_CS1_PHYS            0x12000000
  45#define IMX_CS1_SIZE            0x01000000
  46#define IMX_CS1_VIRT            0xea000000
  47
  48#define IMX_CS2_PHYS            0x13000000
  49#define IMX_CS2_SIZE            0x01000000
  50#define IMX_CS2_VIRT            0xeb000000
  51
  52#define IMX_CS3_PHYS            0x14000000
  53#define IMX_CS3_SIZE            0x01000000
  54#define IMX_CS3_VIRT            0xec000000
  55
  56#define IMX_CS4_PHYS            0x15000000
  57#define IMX_CS4_SIZE            0x01000000
  58#define IMX_CS4_VIRT            0xed000000
  59
  60#define IMX_CS5_PHYS            0x16000000
  61#define IMX_CS5_SIZE            0x01000000
  62#define IMX_CS5_VIRT            0xee000000
  63
  64#define IMX_FB_VIRT             0xF1000000
  65#define IMX_FB_SIZE             (256*1024)
  66
  67/* macro to get at IO space when running virtually */
  68#define IO_ADDRESS(x) ((x) | IMX_IO_BASE)
  69
  70#ifndef __ASSEMBLY__
  71/*
  72 * Handy routine to set GPIO functions
  73 */
  74extern void imx_gpio_mode( int gpio_mode );
  75
  76/* get frequencies in Hz */
  77extern unsigned int imx_get_system_clk(void);
  78extern unsigned int imx_get_mcu_clk(void);
  79extern unsigned int imx_get_perclk1(void); /* UART[12], Timer[12], PWM */
  80extern unsigned int imx_get_perclk2(void); /* LCD, SD, SPI[12]         */
  81extern unsigned int imx_get_perclk3(void); /* SSI                      */
  82extern unsigned int imx_get_hclk(void);    /* SDRAM, CSI, Memory Stick,*/
  83                                           /* I2C, DMA                 */
  84#endif
  85
  86#define MAXIRQNUM                       62
  87#define MAXFIQNUM                       62
  88#define MAXSWINUM                       62
  89
  90/*
  91 * Use SDRAM for memory
  92 */
  93#define MEM_SIZE                0x01000000
  94
  95#ifdef CONFIG_ARCH_MX1ADS
  96#include "mx1ads.h"
  97#endif
  98
  99#endif
 100
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.