diff options
author | Greg Ungerer <gerg@snapgear.com> | 2007-06-04 01:46:26 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-07-12 06:11:25 -0400 |
commit | feb47225525a4194e7f6db5e745265793626ceb0 (patch) | |
tree | 97d615b9a72a046db1fd1b9737075e600fba0502 | |
parent | 70672224009bc3d4d6713337b3456bc7ab71d52b (diff) |
[ARM] 4428/1: modify at91 includes to handle non-MMU at91x40 family
Modify the common at91 hardware support to deal with the non-MMU
at91x40 family. The base RAM (which is most likely not DRAM) is
set to the configured value. Virtual IO device mapping is set
to be 1 to 1 with the physical addresses.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | include/asm-arm/arch-at91/hardware.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/include/asm-arm/arch-at91/hardware.h b/include/asm-arm/arch-at91/hardware.h index 46835e945aea..8f1cdd38a969 100644 --- a/include/asm-arm/arch-at91/hardware.h +++ b/include/asm-arm/arch-at91/hardware.h | |||
@@ -26,18 +26,29 @@ | |||
26 | #include <asm/arch/at91sam9263.h> | 26 | #include <asm/arch/at91sam9263.h> |
27 | #elif defined(CONFIG_ARCH_AT91SAM9RL) | 27 | #elif defined(CONFIG_ARCH_AT91SAM9RL) |
28 | #include <asm/arch/at91sam9rl.h> | 28 | #include <asm/arch/at91sam9rl.h> |
29 | #elif defined(CONFIG_ARCH_AT91X40) | ||
30 | #include <asm/arch/at91x40.h> | ||
29 | #else | 31 | #else |
30 | #error "Unsupported AT91 processor" | 32 | #error "Unsupported AT91 processor" |
31 | #endif | 33 | #endif |
32 | 34 | ||
33 | 35 | ||
36 | #ifdef CONFIG_MMU | ||
34 | /* | 37 | /* |
35 | * Remap the peripherals from address 0xFFF78000 .. 0xFFFFFFFF | 38 | * Remap the peripherals from address 0xFFF78000 .. 0xFFFFFFFF |
36 | * to 0xFEF78000 .. 0xFF000000. (544Kb) | 39 | * to 0xFEF78000 .. 0xFF000000. (544Kb) |
37 | */ | 40 | */ |
38 | #define AT91_IO_PHYS_BASE 0xFFF78000 | 41 | #define AT91_IO_PHYS_BASE 0xFFF78000 |
39 | #define AT91_IO_SIZE (0xFFFFFFFF - AT91_IO_PHYS_BASE + 1) | ||
40 | #define AT91_IO_VIRT_BASE (0xFF000000 - AT91_IO_SIZE) | 42 | #define AT91_IO_VIRT_BASE (0xFF000000 - AT91_IO_SIZE) |
43 | #else | ||
44 | /* | ||
45 | * Identity mapping for the non MMU case. | ||
46 | */ | ||
47 | #define AT91_IO_PHYS_BASE AT91_BASE_SYS | ||
48 | #define AT91_IO_VIRT_BASE AT91_IO_PHYS_BASE | ||
49 | #endif | ||
50 | |||
51 | #define AT91_IO_SIZE (0xFFFFFFFF - AT91_IO_PHYS_BASE + 1) | ||
41 | 52 | ||
42 | /* Convert a physical IO address to virtual IO address */ | 53 | /* Convert a physical IO address to virtual IO address */ |
43 | #define AT91_IO_P2V(x) ((x) - AT91_IO_PHYS_BASE + AT91_IO_VIRT_BASE) | 54 | #define AT91_IO_P2V(x) ((x) - AT91_IO_PHYS_BASE + AT91_IO_VIRT_BASE) |
@@ -66,7 +77,11 @@ | |||
66 | #define AT91_CHIPSELECT_7 0x80000000 | 77 | #define AT91_CHIPSELECT_7 0x80000000 |
67 | 78 | ||
68 | /* SDRAM */ | 79 | /* SDRAM */ |
80 | #ifdef CONFIG_DRAM_BASE | ||
81 | #define AT91_SDRAM_BASE CONFIG_DRAM_BASE | ||
82 | #else | ||
69 | #define AT91_SDRAM_BASE AT91_CHIPSELECT_1 | 83 | #define AT91_SDRAM_BASE AT91_CHIPSELECT_1 |
84 | #endif | ||
70 | 85 | ||
71 | /* Clocks */ | 86 | /* Clocks */ |
72 | #define AT91_SLOW_CLOCK 32768 /* slow clock */ | 87 | #define AT91_SLOW_CLOCK 32768 /* slow clock */ |