diff options
author | Greg Ungerer <gerg@uclinux.org> | 2011-12-23 21:44:45 -0500 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2012-03-04 18:43:09 -0500 |
commit | ed8a2798f6cff0dc68ca7d5800279525aa310fd0 (patch) | |
tree | 9ba7fb53f2ef3c64eb2877272c3abb3d019d56c2 | |
parent | 3b2039b26619745a736b896caf8df05a2a15df3a (diff) |
m68knommu: make 532x QSPI platform addressing consistent
If we make all QSPI (SPI protocol) addressing consistent across all ColdFire
family members then we will be able to remove the duplicated plaform data
and code and use a single setup for all.
So modify the ColdFire 532x QSPI addressing so that:
. base addresses are absolute (not relative to MBAR peripheral register)
. use a common name for IRQs used
. move chip select definitions (CS) to appropriate header
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r-- | arch/m68k/include/asm/m532xsim.h | 12 | ||||
-rw-r--r-- | arch/m68k/include/asm/mcfqspi.h | 5 | ||||
-rw-r--r-- | arch/m68k/platform/532x/config.c | 12 |
3 files changed, 16 insertions, 13 deletions
diff --git a/arch/m68k/include/asm/m532xsim.h b/arch/m68k/include/asm/m532xsim.h index f1c4fa80657d..29b66e21413a 100644 --- a/arch/m68k/include/asm/m532xsim.h +++ b/arch/m68k/include/asm/m532xsim.h | |||
@@ -36,6 +36,8 @@ | |||
36 | #define MCF_IRQ_FECTX0 (MCFINT_VECBASE + MCFINT_FECTX0) | 36 | #define MCF_IRQ_FECTX0 (MCFINT_VECBASE + MCFINT_FECTX0) |
37 | #define MCF_IRQ_FECENTC0 (MCFINT_VECBASE + MCFINT_FECENTC0) | 37 | #define MCF_IRQ_FECENTC0 (MCFINT_VECBASE + MCFINT_FECENTC0) |
38 | 38 | ||
39 | #define MCF_IRQ_QSPI (MCFINT_VECBASE + MCFINT_QSPI) | ||
40 | |||
39 | #define MCF_WTM_WCR MCF_REG16(0xFC098000) | 41 | #define MCF_WTM_WCR MCF_REG16(0xFC098000) |
40 | 42 | ||
41 | /* | 43 | /* |
@@ -104,6 +106,16 @@ | |||
104 | #define MCFFEC_SIZE0 0x800 /* Size of FEC0 region */ | 106 | #define MCFFEC_SIZE0 0x800 /* Size of FEC0 region */ |
105 | 107 | ||
106 | /* | 108 | /* |
109 | * QSPI module. | ||
110 | */ | ||
111 | #define MCFQSPI_BASE 0xFC058000 /* Base address of QSPI */ | ||
112 | #define MCFQSPI_SIZE 0x40 /* Size of QSPI region */ | ||
113 | |||
114 | #define MCFQSPI_CS0 84 | ||
115 | #define MCFQSPI_CS1 85 | ||
116 | #define MCFQSPI_CS2 86 | ||
117 | |||
118 | /* | ||
107 | * Timer module. | 119 | * Timer module. |
108 | */ | 120 | */ |
109 | #define MCFTIMER_BASE1 0xFC070000 /* Base address of TIMER1 */ | 121 | #define MCFTIMER_BASE1 0xFC070000 /* Base address of TIMER1 */ |
diff --git a/arch/m68k/include/asm/mcfqspi.h b/arch/m68k/include/asm/mcfqspi.h index f3d9640f788d..7b51416ccae2 100644 --- a/arch/m68k/include/asm/mcfqspi.h +++ b/arch/m68k/include/asm/mcfqspi.h | |||
@@ -21,11 +21,6 @@ | |||
21 | #ifndef mcfqspi_h | 21 | #ifndef mcfqspi_h |
22 | #define mcfqspi_h | 22 | #define mcfqspi_h |
23 | 23 | ||
24 | #if defined(CONFIG_M532x) | ||
25 | #define MCFQSPI_IOBASE 0xFC058000 | ||
26 | #endif | ||
27 | #define MCFQSPI_IOSIZE 0x40 | ||
28 | |||
29 | /** | 24 | /** |
30 | * struct mcfqspi_cs_control - chip select control for the coldfire qspi driver | 25 | * struct mcfqspi_cs_control - chip select control for the coldfire qspi driver |
31 | * @setup: setup the control; allocate gpio's, etc. May be NULL. | 26 | * @setup: setup the control; allocate gpio's, etc. May be NULL. |
diff --git a/arch/m68k/platform/532x/config.c b/arch/m68k/platform/532x/config.c index 13157ae31905..c8e1395e9344 100644 --- a/arch/m68k/platform/532x/config.c +++ b/arch/m68k/platform/532x/config.c | |||
@@ -36,21 +36,17 @@ | |||
36 | #if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) | 36 | #if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) |
37 | static struct resource m532x_qspi_resources[] = { | 37 | static struct resource m532x_qspi_resources[] = { |
38 | { | 38 | { |
39 | .start = MCFQSPI_IOBASE, | 39 | .start = MCFQSPI_BASE, |
40 | .end = MCFQSPI_IOBASE + MCFQSPI_IOSIZE - 1, | 40 | .end = MCFQSPI_BASE + MCFQSPI_SIZE - 1, |
41 | .flags = IORESOURCE_MEM, | 41 | .flags = IORESOURCE_MEM, |
42 | }, | 42 | }, |
43 | { | 43 | { |
44 | .start = MCFINT_VECBASE + MCFINT_QSPI, | 44 | .start = MCF_IRQ_QSPI, |
45 | .end = MCFINT_VECBASE + MCFINT_QSPI, | 45 | .end = MCF_IRQ_QSPI, |
46 | .flags = IORESOURCE_IRQ, | 46 | .flags = IORESOURCE_IRQ, |
47 | }, | 47 | }, |
48 | }; | 48 | }; |
49 | 49 | ||
50 | #define MCFQSPI_CS0 84 | ||
51 | #define MCFQSPI_CS1 85 | ||
52 | #define MCFQSPI_CS2 86 | ||
53 | |||
54 | static int m532x_cs_setup(struct mcfqspi_cs_control *cs_control) | 50 | static int m532x_cs_setup(struct mcfqspi_cs_control *cs_control) |
55 | { | 51 | { |
56 | int status; | 52 | int status; |