diff options
Diffstat (limited to 'arch/arm/mach-at91/include/mach/hardware.h')
-rw-r--r-- | arch/arm/mach-at91/include/mach/hardware.h | 19 |
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 |