From 0f3cf2b3e5d1116321eaf7d16338d91a5811143d Mon Sep 17 00:00:00 2001 From: Keerthy Date: Wed, 3 Oct 2018 17:55:14 +0530 Subject: [PATCH] gpio: da8xx: Push generic defines of gpio.h out of mach-davinci 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 Reviewed-by: Tom Rini [trini: Fix calimain build] Signed-off-by: Tom Rini --- arch/arm/mach-davinci/include/mach/gpio.h | 32 ------------------ board/omicron/calimain/calimain.c | 1 + drivers/gpio/da8xx_gpio.c | 7 ++-- drivers/gpio/da8xx_gpio.h | 41 +++++++++++++++++++++++ 4 files changed, 47 insertions(+), 34 deletions(-) create mode 100644 drivers/gpio/da8xx_gpio.h diff --git a/arch/arm/mach-davinci/include/mach/gpio.h b/arch/arm/mach-davinci/include/mach/gpio.h index d4b25c3d60..39819788a1 100644 --- a/arch/arm/mach-davinci/include/mach/gpio.h +++ b/arch/arm/mach-davinci/include/mach/gpio.h @@ -21,27 +21,6 @@ #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 diff --git a/board/omicron/calimain/calimain.c b/board/omicron/calimain/calimain.c index 648d191523..6f7b2b8cb1 100644 --- a/board/omicron/calimain/calimain.c +++ b/board/omicron/calimain/calimain.c @@ -22,6 +22,7 @@ #include #include #include +#include "../../../drivers/gpio/da8xx_gpio.h" DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/gpio/da8xx_gpio.c b/drivers/gpio/da8xx_gpio.c index 494fc5fff1..bd79448164 100644 --- a/drivers/gpio/da8xx_gpio.c +++ b/drivers/gpio/da8xx_gpio.c @@ -11,11 +11,14 @@ #include #include #include -#include -#include #include +#include "da8xx_gpio.h" + #ifndef CONFIG_DM_GPIO +#include +#include + 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 index 0000000000..1de9ec7f6f --- /dev/null +++ b/drivers/gpio/da8xx_gpio.h @@ -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 -- 2.25.1