aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/include
diff options
context:
space:
mode:
authorSteven King <sfking@fdwdc.com>2014-05-21 19:00:33 -0400
committerGreg Ungerer <gerg@uclinux.org>2014-05-25 23:28:38 -0400
commit83c6bdb827c9422fe6e02130d9546800143304c1 (patch)
treeddd7d58034bc1f14d11e6dc4233301c37feab34b /arch/m68k/include
parentec9f8483547fa354a5747d8954cd0b91225a0b2d (diff)
m68knommu: Implement gpio support for m54xx.
Singed-off-by: Steven King <sfking@fdwdc.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68k/include')
-rw-r--r--arch/m68k/include/asm/m54xxsim.h12
-rw-r--r--arch/m68k/include/asm/mcfgpio.h12
2 files changed, 17 insertions, 7 deletions
diff --git a/arch/m68k/include/asm/m54xxsim.h b/arch/m68k/include/asm/m54xxsim.h
index d3bd83887429..a5fbd17ab0a5 100644
--- a/arch/m68k/include/asm/m54xxsim.h
+++ b/arch/m68k/include/asm/m54xxsim.h
@@ -55,9 +55,15 @@
55/* 55/*
56 * Generic GPIO support 56 * Generic GPIO support
57 */ 57 */
58#define MCFGPIO_PIN_MAX 0 /* I am too lazy to count */ 58#define MCFGPIO_PODR (MCF_MBAR + 0xA00)
59#define MCFGPIO_IRQ_MAX -1 59#define MCFGPIO_PDDR (MCF_MBAR + 0xA10)
60#define MCFGPIO_IRQ_VECBASE -1 60#define MCFGPIO_PPDR (MCF_MBAR + 0xA20)
61#define MCFGPIO_SETR (MCF_MBAR + 0xA20)
62#define MCFGPIO_CLRR (MCF_MBAR + 0xA30)
63
64#define MCFGPIO_PIN_MAX 136 /* 128 gpio + 8 eport */
65#define MCFGPIO_IRQ_MAX 8
66#define MCFGPIO_IRQ_VECBASE MCFINT_VECBASE
61 67
62/* 68/*
63 * EDGE Port support. 69 * EDGE Port support.
diff --git a/arch/m68k/include/asm/mcfgpio.h b/arch/m68k/include/asm/mcfgpio.h
index c41ebf45f1d0..66203c334c6f 100644
--- a/arch/m68k/include/asm/mcfgpio.h
+++ b/arch/m68k/include/asm/mcfgpio.h
@@ -139,7 +139,8 @@ static inline void gpio_free(unsigned gpio)
139 139
140#if defined(CONFIG_M520x) || defined(CONFIG_M523x) || \ 140#if defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
141 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 141 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
142 defined(CONFIG_M53xx) || defined(CONFIG_M5441x) 142 defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
143 defined(CONFIG_M5441x)
143/* 144/*
144 * These parts have an 'Edge' Port module (external interrupt/GPIO) which uses 145 * These parts have an 'Edge' Port module (external interrupt/GPIO) which uses
145 * read-modify-write to change an output and a GPIO module which has separate 146 * read-modify-write to change an output and a GPIO module which has separate
@@ -195,7 +196,8 @@ static inline u32 __mcfgpio_ppdr(unsigned gpio)
195 return MCFSIM2_GPIO1READ; 196 return MCFSIM2_GPIO1READ;
196#elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \ 197#elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
197 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 198 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
198 defined(CONFIG_M53xx) || defined(CONFIG_M5441x) 199 defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
200 defined(CONFIG_M5441x)
199#if !defined(CONFIG_M5441x) 201#if !defined(CONFIG_M5441x)
200 if (gpio < 8) 202 if (gpio < 8)
201 return MCFEPORT_EPPDR; 203 return MCFEPORT_EPPDR;
@@ -237,7 +239,8 @@ static inline u32 __mcfgpio_podr(unsigned gpio)
237 return MCFSIM2_GPIO1WRITE; 239 return MCFSIM2_GPIO1WRITE;
238#elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \ 240#elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
239 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 241 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
240 defined(CONFIG_M53xx) || defined(CONFIG_M5441x) 242 defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
243 defined(CONFIG_M5441x)
241#if !defined(CONFIG_M5441x) 244#if !defined(CONFIG_M5441x)
242 if (gpio < 8) 245 if (gpio < 8)
243 return MCFEPORT_EPDR; 246 return MCFEPORT_EPDR;
@@ -279,7 +282,8 @@ static inline u32 __mcfgpio_pddr(unsigned gpio)
279 return MCFSIM2_GPIO1ENABLE; 282 return MCFSIM2_GPIO1ENABLE;
280#elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \ 283#elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
281 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 284 defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
282 defined(CONFIG_M53xx) || defined(CONFIG_M5441x) 285 defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
286 defined(CONFIG_M5441x)
283#if !defined(CONFIG_M5441x) 287#if !defined(CONFIG_M5441x)
284 if (gpio < 8) 288 if (gpio < 8)
285 return MCFEPORT_EPDDR; 289 return MCFEPORT_EPDDR;