forked from Minki/linux
9f639269ed
Three new system-on-chip models are supported: the st-ericsson u9540 in ux500, the sam9n12 in at91 and the emma ev2 in shmobile. Emma is a little bit special because it is completely unrelated to the classic shmobile models, but the new Renesas rmobile SoCs are a combination of things from both Emma and shmobile, so it was decided to have them all live in one directory. This also contains updates to existing shmobile soc code as well as some related board changes due to dependencies. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJPuerfAAoJEIwa5zzehBx3hi4P/AsoiLW4VqN67zMmiaGC5Nwe X5nAeaaU0Oo4I9W2QD37V0BShk+yOE9xx7I0TOx7xE6/DpkJ3DhNlUOIvJSbtVD9 vOHF0pSu4huwmqMQmSS8qk5imYMVNGcDmNPVJsPdMCpC2PeCjNY5PxzX4PA18GxZ 9WaPClAP2vqSf/WewiFs73HE70TPL9DuMnAaA2QLBfeu6Cj5K401sc0sdJnBKJFc W7T8qo1LJ98wEWeGW1Qks2mhtwlRf3S20t6aYQi0Bm9znaHMRomdaWdkrXLUYxiO l8EHkCzgggXhdaqvqp15M3AFGgDsw+713UQ0n7tMGvIXv+Oc9ctriK0vcjIXHzH/ Ifz+4KvqYPo47ha0vSUpoRx29ThXO/zKDlzOUdh48JUWqBN6IDw+5H93ghI5SWGu 2h9RuAHIRxumtVe1Qb2dh2SzByxfqJJs7fkASXqWfucYgEi4vhylQdS7akCZ5ycq 35MOTS3v8rwxemTAR0NZKguRwVfUDnHGpyehumY5b/dp8nF0uHNaF8dRpnDC04Ty 4AHSquNmujQ0fqSJfcDCNT9V4vhrbdnW0YqhpCNFYLWBWnybJwjWDriWgt3Cc9tL BMApWGprknKjxH/LeoZHIr0cHGjhZ0iRgoX+av7mPbNUcW/T64HEIs1Yyo4dbE2w ffQN5xWomW+8VdZ1qf+w =5TAz -----END PGP SIGNATURE----- Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull support for new arm SoCs from Olof Johansson: "Three new system-on-chip models are supported: the st-ericsson u9540 in ux500, the sam9n12 in at91 and the emma ev2 in shmobile. Emma is a little bit special because it is completely unrelated to the classic shmobile models, but the new Renesas rmobile SoCs are a combination of things from both Emma and shmobile, so it was decided to have them all live in one directory. This also contains updates to existing shmobile soc code as well as some related board changes due to dependencies." * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits) mach-shmobile: Use DT_MACHINE for KZM9D V3 mach-shmobile: Emma Mobile EV2 DT support V3 mach-shmobile: KZM9D board Ethernet support V3 mach-shmobile: Emma Mobile EV2 GPIO support V3 mach-shmobile: Emma Mobile EV2 SMP support V3 mach-shmobile: KZM9D board support V3 mach-shmobile: Emma Mobile EV2 SoC base support V3 gpio: Emma Mobile GPIO driver V2 ARM: mach-shmobile: sh73a0: fixup PINT/IRQ16-IRQ31 irq number conflict ARM: mach-shmobile: clock-r8a7740: use followparent_recalc on usb24s ARM: mach-shmobile: clock-r8a7740: add MMCIF clock ARM: mach-shmobile: clock-r8a7740: add SDHI clock ARM: mach-shmobile: clock-r8a7740: add USB clock ARM: mach-shmobile: clock-r8a7740: add FSI clock ARM: mach-shmobile: r8a7740: cleanup I2C workaround method ARM: mach-shmobile: r8a7740: add gpio_irq support ARM: mach-shmobile: sh7372: Add FSI DMAEngine support ARM / mach-shmobile: Use preset_lpj with calibrate_delay() ARM: ux500: ioremap differences for DB9540 ARM: ux500: core U9540 support ...
111 lines
2.9 KiB
C
111 lines
2.9 KiB
C
/*
|
|
* arch/arm/mach-at91/include/mach/hardware.h
|
|
*
|
|
* Copyright (C) 2003 SAN People
|
|
* Copyright (C) 2003 ATMEL
|
|
*
|
|
* 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 __ASM_ARCH_HARDWARE_H
|
|
#define __ASM_ARCH_HARDWARE_H
|
|
|
|
#include <asm/sizes.h>
|
|
|
|
/* DBGU base */
|
|
/* rm9200, 9260/9g20, 9261/9g10, 9rl */
|
|
#define AT91_BASE_DBGU0 0xfffff200
|
|
/* 9263, 9g45 */
|
|
#define AT91_BASE_DBGU1 0xffffee00
|
|
|
|
#if defined(CONFIG_ARCH_AT91X40)
|
|
#include <mach/at91x40.h>
|
|
#else
|
|
#include <mach/at91rm9200.h>
|
|
#include <mach/at91sam9260.h>
|
|
#include <mach/at91sam9261.h>
|
|
#include <mach/at91sam9263.h>
|
|
#include <mach/at91sam9rl.h>
|
|
#include <mach/at91sam9g45.h>
|
|
#include <mach/at91sam9x5.h>
|
|
#include <mach/at91sam9n12.h>
|
|
|
|
/*
|
|
* On all at91 except rm9200 and x40 have the System Controller starts
|
|
* at address 0xffffc000 and has a size of 16KiB.
|
|
*
|
|
* On rm9200 it's start at 0xfffe4000 of 111KiB with non reserved data starting
|
|
* at 0xfffff000
|
|
*
|
|
* Removes the individual definitions of AT91_BASE_SYS and
|
|
* replaces them with a common version at base 0xfffffc000 and size 16KiB
|
|
* and map the same memory space
|
|
*/
|
|
#define AT91_BASE_SYS 0xffffc000
|
|
#endif
|
|
|
|
/*
|
|
* On all at91 have the Advanced Interrupt Controller starts at address
|
|
* 0xfffff000 and the Power Management Controller starts at 0xfffffc00
|
|
*/
|
|
#define AT91_AIC 0xfffff000
|
|
#define AT91_PMC 0xfffffc00
|
|
|
|
/*
|
|
* Peripheral identifiers/interrupts.
|
|
*/
|
|
#define AT91_ID_FIQ 0 /* Advanced Interrupt Controller (FIQ) */
|
|
#define AT91_ID_SYS 1 /* System Peripherals */
|
|
|
|
#ifdef CONFIG_MMU
|
|
/*
|
|
* Remap the peripherals from address 0xFFF78000 .. 0xFFFFFFFF
|
|
* to 0xFEF78000 .. 0xFF000000. (544Kb)
|
|
*/
|
|
#define AT91_IO_PHYS_BASE 0xFFF78000
|
|
#define AT91_IO_VIRT_BASE (0xFF000000 - AT91_IO_SIZE)
|
|
#else
|
|
/*
|
|
* Identity mapping for the non MMU case.
|
|
*/
|
|
#define AT91_IO_PHYS_BASE AT91_BASE_SYS
|
|
#define AT91_IO_VIRT_BASE AT91_IO_PHYS_BASE
|
|
#endif
|
|
|
|
#define AT91_IO_SIZE (0xFFFFFFFF - AT91_IO_PHYS_BASE + 1)
|
|
|
|
/* Convert a physical IO address to virtual IO address */
|
|
#define AT91_IO_P2V(x) ((x) - AT91_IO_PHYS_BASE + AT91_IO_VIRT_BASE)
|
|
|
|
/*
|
|
* Virtual to Physical Address mapping for IO devices.
|
|
*/
|
|
#define AT91_VA_BASE_SYS AT91_IO_P2V(AT91_BASE_SYS)
|
|
|
|
/* Internal SRAM is mapped below the IO devices */
|
|
#define AT91_SRAM_MAX SZ_1M
|
|
#define AT91_VIRT_BASE (AT91_IO_VIRT_BASE - AT91_SRAM_MAX)
|
|
|
|
/* Serial ports */
|
|
#define ATMEL_MAX_UART 7 /* 6 USART3's and one DBGU port (SAM9260) */
|
|
|
|
/* External Memory Map */
|
|
#define AT91_CHIPSELECT_0 0x10000000
|
|
#define AT91_CHIPSELECT_1 0x20000000
|
|
#define AT91_CHIPSELECT_2 0x30000000
|
|
#define AT91_CHIPSELECT_3 0x40000000
|
|
#define AT91_CHIPSELECT_4 0x50000000
|
|
#define AT91_CHIPSELECT_5 0x60000000
|
|
#define AT91_CHIPSELECT_6 0x70000000
|
|
#define AT91_CHIPSELECT_7 0x80000000
|
|
|
|
/* Clocks */
|
|
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
|
|
|
|
|
#endif
|