]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
m68knommu: Implement gpio support for m54xx.
authorSteven King <sfking@fdwdc.com>
Wed, 21 May 2014 23:00:33 +0000 (16:00 -0700)
committerGreg Ungerer <gerg@uclinux.org>
Mon, 26 May 2014 03:28:38 +0000 (13:28 +1000)
Singed-off-by: Steven King <sfking@fdwdc.com>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68k/include/asm/m54xxsim.h
arch/m68k/include/asm/mcfgpio.h

index d3bd83887429b77e19c0a38e7556bab826dfd0e6..a5fbd17ab0a5f7944559d7150ecf04c9112aafae 100644 (file)
 /*
  *     Generic GPIO support
  */
-#define MCFGPIO_PIN_MAX                0       /* I am too lazy to count */
-#define MCFGPIO_IRQ_MAX                -1
-#define MCFGPIO_IRQ_VECBASE    -1
+#define MCFGPIO_PODR           (MCF_MBAR + 0xA00)
+#define MCFGPIO_PDDR           (MCF_MBAR + 0xA10)
+#define MCFGPIO_PPDR           (MCF_MBAR + 0xA20)
+#define MCFGPIO_SETR           (MCF_MBAR + 0xA20)
+#define MCFGPIO_CLRR           (MCF_MBAR + 0xA30)
+
+#define MCFGPIO_PIN_MAX                136     /* 128 gpio + 8 eport */
+#define MCFGPIO_IRQ_MAX                8
+#define MCFGPIO_IRQ_VECBASE    MCFINT_VECBASE
 
 /*
  *     EDGE Port support.
index c41ebf45f1d0f576a384d1a789fc2940b3e3a460..66203c334c6ff9f32695a167e558ec17e977635c 100644 (file)
@@ -139,7 +139,8 @@ static inline void gpio_free(unsigned gpio)
 
 #if defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
     defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
-    defined(CONFIG_M53xx) || defined(CONFIG_M5441x)
+    defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
+    defined(CONFIG_M5441x)
 /*
  * These parts have an 'Edge' Port module (external interrupt/GPIO) which uses
  * 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)
                return MCFSIM2_GPIO1READ;
 #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
       defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
-      defined(CONFIG_M53xx) || defined(CONFIG_M5441x)
+      defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
+      defined(CONFIG_M5441x)
 #if !defined(CONFIG_M5441x)
        if (gpio < 8)
                return MCFEPORT_EPPDR;
@@ -237,7 +239,8 @@ static inline u32 __mcfgpio_podr(unsigned gpio)
                return MCFSIM2_GPIO1WRITE;
 #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
       defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
-      defined(CONFIG_M53xx) || defined(CONFIG_M5441x)
+      defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
+      defined(CONFIG_M5441x)
 #if !defined(CONFIG_M5441x)
        if (gpio < 8)
                return MCFEPORT_EPDR;
@@ -279,7 +282,8 @@ static inline u32 __mcfgpio_pddr(unsigned gpio)
                return MCFSIM2_GPIO1ENABLE;
 #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \
       defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
-      defined(CONFIG_M53xx) || defined(CONFIG_M5441x)
+      defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \
+      defined(CONFIG_M5441x)
 #if !defined(CONFIG_M5441x)
        if (gpio < 8)
                return MCFEPORT_EPDDR;