aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/include/mach/hardware.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-at91/include/mach/hardware.h')
-rw-r--r--arch/arm/mach-at91/include/mach/hardware.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/include/mach/hardware.h b/arch/arm/mach-at91/include/mach/hardware.h
index 56338245653a..d84776f6b8ac 100644
--- a/arch/arm/mach-at91/include/mach/hardware.h
+++ b/arch/arm/mach-at91/include/mach/hardware.h
@@ -19,8 +19,10 @@
19/* DBGU base */ 19/* DBGU base */
20/* rm9200, 9260/9g20, 9261/9g10, 9rl */ 20/* rm9200, 9260/9g20, 9261/9g10, 9rl */
21#define AT91_BASE_DBGU0 0xfffff200 21#define AT91_BASE_DBGU0 0xfffff200
22/* 9263, 9g45 */ 22/* 9263, 9g45, sama5d3 */
23#define AT91_BASE_DBGU1 0xffffee00 23#define AT91_BASE_DBGU1 0xffffee00
24/* sama5d4 */
25#define AT91_BASE_DBGU2 0xfc069000
24 26
25#if defined(CONFIG_ARCH_AT91X40) 27#if defined(CONFIG_ARCH_AT91X40)
26#include <mach/at91x40.h> 28#include <mach/at91x40.h>
@@ -34,6 +36,7 @@
34#include <mach/at91sam9x5.h> 36#include <mach/at91sam9x5.h>
35#include <mach/at91sam9n12.h> 37#include <mach/at91sam9n12.h>
36#include <mach/sama5d3.h> 38#include <mach/sama5d3.h>
39#include <mach/sama5d4.h>
37 40
38/* 41/*
39 * On all at91 except rm9200 and x40 have the System Controller starts 42 * On all at91 except rm9200 and x40 have the System Controller starts
@@ -47,6 +50,11 @@
47 * and map the same memory space 50 * and map the same memory space
48 */ 51 */
49#define AT91_BASE_SYS 0xffffc000 52#define AT91_BASE_SYS 0xffffc000
53
54/*
55 * On sama5d4 there is no system controller, we map some needed peripherals
56 */
57#define AT91_ALT_BASE_SYS 0xfc069000
50#endif 58#endif
51 59
52/* 60/*
@@ -69,6 +77,13 @@
69 */ 77 */
70#define AT91_IO_PHYS_BASE 0xFFF78000 78#define AT91_IO_PHYS_BASE 0xFFF78000
71#define AT91_IO_VIRT_BASE IOMEM(0xFF000000 - AT91_IO_SIZE) 79#define AT91_IO_VIRT_BASE IOMEM(0xFF000000 - AT91_IO_SIZE)
80
81/*
82 * On sama5d4, remap the peripherals from address 0xFC069000 .. 0xFC06F000
83 * to 0xFB069000 .. 0xFB06F000. (24Kb)
84 */
85#define AT91_ALT_IO_PHYS_BASE AT91_ALT_BASE_SYS
86#define AT91_ALT_IO_VIRT_BASE IOMEM(0xFB069000)
72#else 87#else
73/* 88/*
74 * Identity mapping for the non MMU case. 89 * Identity mapping for the non MMU case.
@@ -81,11 +96,13 @@
81 96
82 /* Convert a physical IO address to virtual IO address */ 97 /* Convert a physical IO address to virtual IO address */
83#define AT91_IO_P2V(x) ((x) - AT91_IO_PHYS_BASE + AT91_IO_VIRT_BASE) 98#define AT91_IO_P2V(x) ((x) - AT91_IO_PHYS_BASE + AT91_IO_VIRT_BASE)
99#define AT91_ALT_IO_P2V(x) ((x) - AT91_ALT_IO_PHYS_BASE + AT91_ALT_IO_VIRT_BASE)
84 100
85/* 101/*
86 * Virtual to Physical Address mapping for IO devices. 102 * Virtual to Physical Address mapping for IO devices.
87 */ 103 */
88#define AT91_VA_BASE_SYS AT91_IO_P2V(AT91_BASE_SYS) 104#define AT91_VA_BASE_SYS AT91_IO_P2V(AT91_BASE_SYS)
105#define AT91_ALT_VA_BASE_SYS AT91_ALT_IO_P2V(AT91_ALT_BASE_SYS)
89 106
90 /* Internal SRAM is mapped below the IO devices */ 107 /* Internal SRAM is mapped below the IO devices */
91#define AT91_SRAM_MAX SZ_1M 108#define AT91_SRAM_MAX SZ_1M