gpio: da8xx: Push generic defines of gpio.h out of mach-davinci
authorKeerthy <j-keerthy@ti.com>
Wed, 3 Oct 2018 12:25:14 +0000 (17:55 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 10 Oct 2018 17:35:03 +0000 (13:35 -0400)
Push generic defines of gpio.h out of mach-davinci to drivers/gpio
now that non-davinci architectures are beginning to use this IP.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
[trini: Fix calimain build]
Signed-off-by: Tom Rini <trini@konsulko.com>
arch/arm/mach-davinci/include/mach/gpio.h
board/omicron/calimain/calimain.c
drivers/gpio/da8xx_gpio.c
drivers/gpio/da8xx_gpio.h [new file with mode: 0644]

index d4b25c3d60ef2e4e164d3ceb1c9900bbad3f1894..39819788a1f2b5f9578cc4f047ebe7a3a41dc460 100644 (file)
 #define DAVINCI_GPIO_BANK8     0x01E260B0
 #endif /* CONFIG_SOC_DA8XX */
 
-struct davinci_gpio {
-       unsigned int dir;
-       unsigned int out_data;
-       unsigned int set_data;
-       unsigned int clr_data;
-       unsigned int in_data;
-       unsigned int set_rising;
-       unsigned int clr_rising;
-       unsigned int set_falling;
-       unsigned int clr_falling;
-       unsigned int intstat;
-};
-
-struct davinci_gpio_bank {
-       int num_gpio;
-       unsigned int irq_num;
-       unsigned int irq_mask;
-       unsigned long *in_use;
-       struct davinci_gpio *base;
-};
-
 #define davinci_gpio_bank01 ((struct davinci_gpio *)DAVINCI_GPIO_BANK01)
 #define davinci_gpio_bank23 ((struct davinci_gpio *)DAVINCI_GPIO_BANK23)
 #define davinci_gpio_bank45 ((struct davinci_gpio *)DAVINCI_GPIO_BANK45)
@@ -61,18 +40,7 @@ struct davinci_gpio_bank {
 #define MAX_NUM_GPIOS          144
 #endif
 #define GPIO_BANK(gp)          (davinci_gpio_bank01 + ((gp) >> 5))
-#define GPIO_BIT(gp)           ((gp) & 0x1F)
 
 void gpio_info(void);
 
-#ifdef CONFIG_DM_GPIO
-
-/* Information about a GPIO bank */
-struct davinci_gpio_platdata {
-       int bank_index;
-       ulong base;     /* address of registers in physical memory */
-       const char *port_name;
-};
-#endif
-
 #endif
index 648d191523bde00b199d3edf798b1b2d0e2dec55..6f7b2b8cb144612385c738c278014ea9b0ccf902 100644 (file)
@@ -22,6 +22,7 @@
 #include <asm/arch/pinmux_defs.h>
 #include <asm/arch/davinci_misc.h>
 #include <asm/arch/timer_defs.h>
+#include "../../../drivers/gpio/da8xx_gpio.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
index 494fc5fff121e05f7d80cb3d938d57eb7d4d337f..bd7944816487d13d06d88ff14c9ad27209d156f3 100644 (file)
 #include <fdtdec.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
-#include <asm/arch/hardware.h>
-#include <asm/arch/davinci_misc.h>
 #include <dt-bindings/gpio/gpio.h>
 
+#include "da8xx_gpio.h"
+
 #ifndef CONFIG_DM_GPIO
+#include <asm/arch/hardware.h>
+#include <asm/arch/davinci_misc.h>
+
 static struct gpio_registry {
        int is_registered;
        char name[GPIO_NAME_SIZE];
diff --git a/drivers/gpio/da8xx_gpio.h b/drivers/gpio/da8xx_gpio.h
new file mode 100644 (file)
index 0000000..1de9ec7
--- /dev/null
@@ -0,0 +1,41 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+
+#ifndef _GPIO_DA8XX_DEFS_H_
+#define _GPIO_DA8XX_DEFS_H_
+
+struct davinci_gpio {
+       unsigned int dir;
+       unsigned int out_data;
+       unsigned int set_data;
+       unsigned int clr_data;
+       unsigned int in_data;
+       unsigned int set_rising;
+       unsigned int clr_rising;
+       unsigned int set_falling;
+       unsigned int clr_falling;
+       unsigned int intstat;
+};
+
+struct davinci_gpio_bank {
+       int num_gpio;
+       unsigned int irq_num;
+       unsigned int irq_mask;
+       unsigned long *in_use;
+       struct davinci_gpio *base;
+};
+
+#define GPIO_NAME_SIZE         20
+#define MAX_NUM_GPIOS          144
+#define GPIO_BIT(gp)           ((gp) & 0x1F)
+
+#ifdef CONFIG_DM_GPIO
+
+/* Information about a GPIO bank */
+struct davinci_gpio_platdata {
+       int bank_index;
+       ulong base;     /* address of registers in physical memory */
+       const char *port_name;
+};
+#endif
+
+#endif