diff options
Diffstat (limited to 'arch/arm/mach-gemini/include/mach/hardware.h')
| -rw-r--r-- | arch/arm/mach-gemini/include/mach/hardware.h | 75 | 
1 files changed, 75 insertions, 0 deletions
| diff --git a/arch/arm/mach-gemini/include/mach/hardware.h b/arch/arm/mach-gemini/include/mach/hardware.h new file mode 100644 index 000000000000..de6752674c05 --- /dev/null +++ b/arch/arm/mach-gemini/include/mach/hardware.h @@ -0,0 +1,75 @@ +/* + *  This file contains the hardware definitions for Gemini. + * + *  Copyright (C) 2001-2006 Storlink, Corp. + *  Copyright (C) 2008-2009 Paulius Zaleckas <[email protected]> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ +#ifndef __MACH_HARDWARE_H +#define __MACH_HARDWARE_H + +/* + * Memory Map definitions + */ +/* FIXME: Does it really swap SRAM like this? */ +#ifdef CONFIG_GEMINI_MEM_SWAP +# define GEMINI_DRAM_BASE	0x00000000 +# define GEMINI_SRAM_BASE	0x20000000 +#else +# define GEMINI_SRAM_BASE	0x00000000 +# define GEMINI_DRAM_BASE	0x10000000 +#endif +#define GEMINI_FLASH_BASE	0x30000000 +#define GEMINI_GLOBAL_BASE	0x40000000 +#define GEMINI_WAQTCHDOG_BASE	0x41000000 +#define GEMINI_UART_BASE	0x42000000 +#define GEMINI_TIMER_BASE	0x43000000 +#define GEMINI_LCD_BASE		0x44000000 +#define GEMINI_RTC_BASE		0x45000000 +#define GEMINI_SATA_BASE	0x46000000 +#define GEMINI_LPC_HOST_BASE	0x47000000 +#define GEMINI_LPC_IO_BASE	0x47800000 +#define GEMINI_INTERRUPT_BASE	0x48000000 +/* TODO: Different interrupt controlers when SMP + * #define GEMINI_INTERRUPT0_BASE	0x48000000 + * #define GEMINI_INTERRUPT1_BASE	0x49000000 + */ +#define GEMINI_SSP_CTRL_BASE	0x4A000000 +#define GEMINI_POWER_CTRL_BASE	0x4B000000 +#define GEMINI_CIR_BASE		0x4C000000 +#define GEMINI_GPIO_BASE(x)	(0x4D000000 + (x) * 0x1000000) +#define GEMINI_PCI_IO_BASE	0x50000000 +#define GEMINI_PCI_MEM_BASE	0x58000000 +#define GEMINI_TOE_BASE		0x60000000 +#define GEMINI_GMAC0_BASE	0x6000A000 +#define GEMINI_GMAC1_BASE	0x6000E000 +#define GEMINI_SECURITY_BASE	0x62000000 +#define GEMINI_IDE0_BASE	0x63000000 +#define GEMINI_IDE1_BASE	0x63400000 +#define GEMINI_RAID_BASE	0x64000000 +#define GEMINI_FLASH_CTRL_BASE	0x65000000 +#define GEMINI_DRAM_CTRL_BASE	0x66000000 +#define GEMINI_GENERAL_DMA_BASE	0x67000000 +#define GEMINI_USB0_BASE	0x68000000 +#define GEMINI_USB1_BASE	0x69000000 +#define GEMINI_BIG_ENDIAN_BASE	0x80000000 + +#define GEMINI_TIMER1_BASE	GEMINI_TIMER_BASE +#define GEMINI_TIMER2_BASE	(GEMINI_TIMER_BASE + 0x10) +#define GEMINI_TIMER3_BASE	(GEMINI_TIMER_BASE + 0x20) + +/* + * UART Clock when System clk is 150MHz + */ +#define UART_CLK	48000000 + +/* + * macro to get at IO space when running virtually + */ +#define IO_ADDRESS(x)	((((x) & 0xFFF00000) >> 4) | ((x) & 0x000FFFFF) | 0xF0000000) + +#endif |