Patchwork [U-Boot,1/3] gpio: Build the da8xx_gpio code for the davinci644x device

login
register
mail settings
Submitter Holger Freyther
Date Jan. 18, 2013, 3:19 p.m.
Message ID <1358522390-10161-1-git-send-email-holger@freyther.de>
Download mbox | patch
Permalink /patch/213648/
State Changes Requested
Delegated to: Tom Rini
Headers show

Comments

Holger Freyther - Jan. 18, 2013, 3:19 p.m.
The differences include the number of GPIOs and that one is
not required to set the pinmux on request.
---
 arch/arm/include/asm/arch-davinci/gpio.h |    8 +++++++-
 drivers/gpio/Makefile                    |    1 +
 drivers/gpio/da8xx_gpio.c                |    4 ++++
 3 files changed, 12 insertions(+), 1 deletion(-)
Tom Rini - Jan. 25, 2013, 10:12 p.m.
On Fri, Jan 18, 2013 at 05:19:48AM -0000, Holger Hans Peter Freyther wrote:

> The differences include the number of GPIOs and that one is
> not required to set the pinmux on request.

I was about to reply that I applied this but I see the series is missing
a Signed-off-by line.  Please send a v2 with a Signed-off-by line,
assuming of course that the guidelines apply and all that.  Thanks!

Patch

diff --git a/arch/arm/include/asm/arch-davinci/gpio.h b/arch/arm/include/asm/arch-davinci/gpio.h
index ef65ffb..5206b12 100644
--- a/arch/arm/include/asm/arch-davinci/gpio.h
+++ b/arch/arm/include/asm/arch-davinci/gpio.h
@@ -65,9 +65,15 @@  struct davinci_gpio_bank {
 #define davinci_gpio_bank67 ((struct davinci_gpio *)DAVINCI_GPIO_BANK67)
 #define davinci_gpio_bank8 ((struct davinci_gpio *)DAVINCI_GPIO_BANK8)
 
+#if defined(CONFIG_SOC_DM644X)
+/* GPIO0 to GPIO53, omit the V3.3 volts one */
+#define MAX_NUM_GPIOS		70
+#else
+#define MAX_NUM_GPIOS		144
+#endif
+
 #define gpio_status()		gpio_info()
 #define GPIO_NAME_SIZE		20
-#define MAX_NUM_GPIOS		144
 #define GPIO_BANK(gp)		(davinci_gpio_bank01 + ((gp) >> 5))
 #define GPIO_BIT(gp)		((gp) & 0x1F)
 
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 2d97b4f..9df1e26 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -39,6 +39,7 @@  COBJS-$(CONFIG_SANDBOX_GPIO)	+= sandbox.o
 COBJS-$(CONFIG_SPEAR_GPIO)	+= spear_gpio.o
 COBJS-$(CONFIG_TEGRA_GPIO)	+= tegra_gpio.o
 COBJS-$(CONFIG_DA8XX_GPIO)	+= da8xx_gpio.o
+COBJS-$(CONFIG_DM644X_GPIO)	+= da8xx_gpio.o
 COBJS-$(CONFIG_ALTERA_PIO)	+= altera_pio.o
 COBJS-$(CONFIG_MPC83XX_GPIO)	+= mpc83xx_gpio.o
 COBJS-$(CONFIG_SH_GPIO_PFC)	+= sh_pfc.o
diff --git a/drivers/gpio/da8xx_gpio.c b/drivers/gpio/da8xx_gpio.c
index 84d2b77..ed6a118 100644
--- a/drivers/gpio/da8xx_gpio.c
+++ b/drivers/gpio/da8xx_gpio.c
@@ -31,6 +31,7 @@  static struct gpio_registry {
 	char name[GPIO_NAME_SIZE];
 } gpio_registry[MAX_NUM_GPIOS];
 
+#if defined(CONFIG_SOC_DA8XX)
 #define pinmux(x)       (&davinci_syscfg_regs->pinmux[x])
 
 static const struct pinmux_config gpio_pinmux[] = {
@@ -179,6 +180,9 @@  static const struct pinmux_config gpio_pinmux[] = {
 	{ pinmux(18), 8, 3 },
 	{ pinmux(18), 8, 2 },
 };
+#else
+#define davinci_configure_pin_mux(a, b)
+#endif
 
 int gpio_request(unsigned gpio, const char *label)
 {