diff options
-rw-r--r-- | arch/arm/mach-ep93xx/adssphere.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/edb93xx.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/gesbc9312.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | 34 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/micro9.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/simone.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/snappercl15.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/soc.h | 50 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/ts72xx.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/vision_ep9307.c | 2 |
10 files changed, 61 insertions, 34 deletions
diff --git a/arch/arm/mach-ep93xx/adssphere.c b/arch/arm/mach-ep93xx/adssphere.c index 681e939407d4..2d45947a3034 100644 --- a/arch/arm/mach-ep93xx/adssphere.c +++ b/arch/arm/mach-ep93xx/adssphere.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
21 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
22 | 22 | ||
23 | #include "soc.h" | ||
23 | 24 | ||
24 | static struct ep93xx_eth_data __initdata adssphere_eth_data = { | 25 | static struct ep93xx_eth_data __initdata adssphere_eth_data = { |
25 | .phy_id = 1, | 26 | .phy_id = 1, |
diff --git a/arch/arm/mach-ep93xx/edb93xx.c b/arch/arm/mach-ep93xx/edb93xx.c index d115653edca3..da9047d726f0 100644 --- a/arch/arm/mach-ep93xx/edb93xx.c +++ b/arch/arm/mach-ep93xx/edb93xx.c | |||
@@ -43,6 +43,7 @@ | |||
43 | #include <asm/mach-types.h> | 43 | #include <asm/mach-types.h> |
44 | #include <asm/mach/arch.h> | 44 | #include <asm/mach/arch.h> |
45 | 45 | ||
46 | #include "soc.h" | ||
46 | 47 | ||
47 | static void __init edb93xx_register_flash(void) | 48 | static void __init edb93xx_register_flash(void) |
48 | { | 49 | { |
diff --git a/arch/arm/mach-ep93xx/gesbc9312.c b/arch/arm/mach-ep93xx/gesbc9312.c index af46970dc58e..fcdffbe49dcc 100644 --- a/arch/arm/mach-ep93xx/gesbc9312.c +++ b/arch/arm/mach-ep93xx/gesbc9312.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
21 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
22 | 22 | ||
23 | #include "soc.h" | ||
23 | 24 | ||
24 | static struct ep93xx_eth_data __initdata gesbc9312_eth_data = { | 25 | static struct ep93xx_eth_data __initdata gesbc9312_eth_data = { |
25 | .phy_id = 1, | 26 | .phy_id = 1, |
diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h index c4a7b84ef06d..b029305c48c1 100644 --- a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h +++ b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | |||
@@ -6,40 +6,6 @@ | |||
6 | #define __ASM_ARCH_EP93XX_REGS_H | 6 | #define __ASM_ARCH_EP93XX_REGS_H |
7 | 7 | ||
8 | /* | 8 | /* |
9 | * EP93xx Physical Memory Map: | ||
10 | * | ||
11 | * The ASDO pin is sampled at system reset to select a synchronous or | ||
12 | * asynchronous boot configuration. When ASDO is "1" (i.e. pulled-up) | ||
13 | * the synchronous boot mode is selected. When ASDO is "0" (i.e | ||
14 | * pulled-down) the asynchronous boot mode is selected. | ||
15 | * | ||
16 | * In synchronous boot mode nSDCE3 is decoded starting at physical address | ||
17 | * 0x00000000 and nCS0 is decoded starting at 0xf0000000. For asynchronous | ||
18 | * boot mode they are swapped with nCS0 decoded at 0x00000000 ann nSDCE3 | ||
19 | * decoded at 0xf0000000. | ||
20 | * | ||
21 | * There is known errata for the EP93xx dealing with External Memory | ||
22 | * Configurations. Please refer to "AN273: EP93xx Silicon Rev E Design | ||
23 | * Guidelines" for more information. This document can be found at: | ||
24 | * | ||
25 | * http://www.cirrus.com/en/pubs/appNote/AN273REV4.pdf | ||
26 | */ | ||
27 | |||
28 | #define EP93XX_CS0_PHYS_BASE_ASYNC 0x00000000 /* ASDO Pin = 0 */ | ||
29 | #define EP93XX_SDCE3_PHYS_BASE_SYNC 0x00000000 /* ASDO Pin = 1 */ | ||
30 | #define EP93XX_CS1_PHYS_BASE 0x10000000 | ||
31 | #define EP93XX_CS2_PHYS_BASE 0x20000000 | ||
32 | #define EP93XX_CS3_PHYS_BASE 0x30000000 | ||
33 | #define EP93XX_PCMCIA_PHYS_BASE 0x40000000 | ||
34 | #define EP93XX_CS6_PHYS_BASE 0x60000000 | ||
35 | #define EP93XX_CS7_PHYS_BASE 0x70000000 | ||
36 | #define EP93XX_SDCE0_PHYS_BASE 0xc0000000 | ||
37 | #define EP93XX_SDCE1_PHYS_BASE 0xd0000000 | ||
38 | #define EP93XX_SDCE2_PHYS_BASE 0xe0000000 | ||
39 | #define EP93XX_SDCE3_PHYS_BASE_ASYNC 0xf0000000 /* ASDO Pin = 0 */ | ||
40 | #define EP93XX_CS0_PHYS_BASE_SYNC 0xf0000000 /* ASDO Pin = 1 */ | ||
41 | |||
42 | /* | ||
43 | * EP93xx linux memory map: | 9 | * EP93xx linux memory map: |
44 | * | 10 | * |
45 | * virt phys size | 11 | * virt phys size |
diff --git a/arch/arm/mach-ep93xx/micro9.c b/arch/arm/mach-ep93xx/micro9.c index 7b98084f0c97..dc431c5f04ce 100644 --- a/arch/arm/mach-ep93xx/micro9.c +++ b/arch/arm/mach-ep93xx/micro9.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <asm/mach-types.h> | 22 | #include <asm/mach-types.h> |
23 | #include <asm/mach/arch.h> | 23 | #include <asm/mach/arch.h> |
24 | 24 | ||
25 | #include "soc.h" | ||
25 | 26 | ||
26 | /************************************************************************* | 27 | /************************************************************************* |
27 | * Micro9 NOR Flash | 28 | * Micro9 NOR Flash |
diff --git a/arch/arm/mach-ep93xx/simone.c b/arch/arm/mach-ep93xx/simone.c index f4e553eca21c..f40c2987e545 100644 --- a/arch/arm/mach-ep93xx/simone.c +++ b/arch/arm/mach-ep93xx/simone.c | |||
@@ -29,6 +29,8 @@ | |||
29 | #include <asm/mach-types.h> | 29 | #include <asm/mach-types.h> |
30 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
31 | 31 | ||
32 | #include "soc.h" | ||
33 | |||
32 | static struct ep93xx_eth_data __initdata simone_eth_data = { | 34 | static struct ep93xx_eth_data __initdata simone_eth_data = { |
33 | .phy_id = 1, | 35 | .phy_id = 1, |
34 | }; | 36 | }; |
diff --git a/arch/arm/mach-ep93xx/snappercl15.c b/arch/arm/mach-ep93xx/snappercl15.c index fd846331ddff..0c00852ef160 100644 --- a/arch/arm/mach-ep93xx/snappercl15.c +++ b/arch/arm/mach-ep93xx/snappercl15.c | |||
@@ -35,6 +35,8 @@ | |||
35 | #include <asm/mach-types.h> | 35 | #include <asm/mach-types.h> |
36 | #include <asm/mach/arch.h> | 36 | #include <asm/mach/arch.h> |
37 | 37 | ||
38 | #include "soc.h" | ||
39 | |||
38 | #define SNAPPERCL15_NAND_BASE (EP93XX_CS7_PHYS_BASE + SZ_16M) | 40 | #define SNAPPERCL15_NAND_BASE (EP93XX_CS7_PHYS_BASE + SZ_16M) |
39 | 41 | ||
40 | #define SNAPPERCL15_NAND_WPN (1 << 8) /* Write protect (active low) */ | 42 | #define SNAPPERCL15_NAND_WPN (1 << 8) /* Write protect (active low) */ |
diff --git a/arch/arm/mach-ep93xx/soc.h b/arch/arm/mach-ep93xx/soc.h new file mode 100644 index 000000000000..2f6641e57692 --- /dev/null +++ b/arch/arm/mach-ep93xx/soc.h | |||
@@ -0,0 +1,50 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ep93xx/soc.h | ||
3 | * | ||
4 | * Copyright (C) 2012 Open Kernel Labs <www.ok-labs.com> | ||
5 | * Copyright (C) 2012 Ryan Mallon <rmallon@gmail.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or (at | ||
10 | * your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #ifndef _EP93XX_SOC_H | ||
14 | #define _EP93XX_SOC_H | ||
15 | |||
16 | /* | ||
17 | * EP93xx Physical Memory Map: | ||
18 | * | ||
19 | * The ASDO pin is sampled at system reset to select a synchronous or | ||
20 | * asynchronous boot configuration. When ASDO is "1" (i.e. pulled-up) | ||
21 | * the synchronous boot mode is selected. When ASDO is "0" (i.e | ||
22 | * pulled-down) the asynchronous boot mode is selected. | ||
23 | * | ||
24 | * In synchronous boot mode nSDCE3 is decoded starting at physical address | ||
25 | * 0x00000000 and nCS0 is decoded starting at 0xf0000000. For asynchronous | ||
26 | * boot mode they are swapped with nCS0 decoded at 0x00000000 ann nSDCE3 | ||
27 | * decoded at 0xf0000000. | ||
28 | * | ||
29 | * There is known errata for the EP93xx dealing with External Memory | ||
30 | * Configurations. Please refer to "AN273: EP93xx Silicon Rev E Design | ||
31 | * Guidelines" for more information. This document can be found at: | ||
32 | * | ||
33 | * http://www.cirrus.com/en/pubs/appNote/AN273REV4.pdf | ||
34 | */ | ||
35 | |||
36 | #define EP93XX_CS0_PHYS_BASE_ASYNC 0x00000000 /* ASDO Pin = 0 */ | ||
37 | #define EP93XX_SDCE3_PHYS_BASE_SYNC 0x00000000 /* ASDO Pin = 1 */ | ||
38 | #define EP93XX_CS1_PHYS_BASE 0x10000000 | ||
39 | #define EP93XX_CS2_PHYS_BASE 0x20000000 | ||
40 | #define EP93XX_CS3_PHYS_BASE 0x30000000 | ||
41 | #define EP93XX_PCMCIA_PHYS_BASE 0x40000000 | ||
42 | #define EP93XX_CS6_PHYS_BASE 0x60000000 | ||
43 | #define EP93XX_CS7_PHYS_BASE 0x70000000 | ||
44 | #define EP93XX_SDCE0_PHYS_BASE 0xc0000000 | ||
45 | #define EP93XX_SDCE1_PHYS_BASE 0xd0000000 | ||
46 | #define EP93XX_SDCE2_PHYS_BASE 0xe0000000 | ||
47 | #define EP93XX_SDCE3_PHYS_BASE_ASYNC 0xf0000000 /* ASDO Pin = 0 */ | ||
48 | #define EP93XX_CS0_PHYS_BASE_SYNC 0xf0000000 /* ASDO Pin = 1 */ | ||
49 | |||
50 | #endif /* _EP93XX_SOC_H */ | ||
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c index 79f8ecf07a19..5ea790942e94 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c +++ b/arch/arm/mach-ep93xx/ts72xx.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <asm/mach/map.h> | 28 | #include <asm/mach/map.h> |
29 | #include <asm/mach/arch.h> | 29 | #include <asm/mach/arch.h> |
30 | 30 | ||
31 | #include "soc.h" | ||
31 | 32 | ||
32 | static struct map_desc ts72xx_io_desc[] __initdata = { | 33 | static struct map_desc ts72xx_io_desc[] __initdata = { |
33 | { | 34 | { |
diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c b/arch/arm/mach-ep93xx/vision_ep9307.c index d67d0b4feb6f..ba156eb225e8 100644 --- a/arch/arm/mach-ep93xx/vision_ep9307.c +++ b/arch/arm/mach-ep93xx/vision_ep9307.c | |||
@@ -39,6 +39,8 @@ | |||
39 | #include <asm/mach/map.h> | 39 | #include <asm/mach/map.h> |
40 | #include <asm/mach/arch.h> | 40 | #include <asm/mach/arch.h> |
41 | 41 | ||
42 | #include "soc.h" | ||
43 | |||
42 | /************************************************************************* | 44 | /************************************************************************* |
43 | * Static I/O mappings for the FPGA | 45 | * Static I/O mappings for the FPGA |
44 | *************************************************************************/ | 46 | *************************************************************************/ |