DA8xx: add generic GPIO driver
Subsystems (4)
cover DA8xx: add generic GPIO driver
This adds a generic GPIO driver fulfilling the <asm/gpio.h> interface for the TI DaVinci DA8xx CPU.
PATCH 1/2 DaVinci: rename gpio_defs.h to gpio.h
In preparation for a generic GPIO driver for the DA8xx processors, rename <asm/arch/gpio_defs.h> to <asm/arch/gpio.h> and fix up all files which include it.
--- arch/arm/include/asm/arch-davinci/gpio.h | 66 +++++++++++++++++++++++++ arch/arm/include/asm/arch-davinci/gpio_defs.h | 66 ------------------------- board/davinci/dm355leopard/dm355leopard.c | 2 +- board/davinci/dm365evm/dm365evm.c | 2 +- drivers/usb/musb/da8xx.h | 2 +- 5 files changed, 69 insertions(+), 69 deletions(-) create mode 100644 arch/arm/include/asm/arch-davinci/gpio.h delete mode 100644 arch/arm/include/asm/arch-davinci/gpio_defs.h
arch/arm/include/asm/arch-davinci/gpio.h new file +66 -0
@@ -0,0 +1,66 @@ +/* +* Copyright (C) 2009 Texas Instruments Incorporated +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +* MA 02111-1307 USA +*/ +#ifndef _GPIO_DEFS_H_ +#define _GPIO_DEFS_H_ + +#ifndef CONFIG_SOC_DA8XX +#define DAVINCI_GPIO_BINTEN 0x01C67008 +#define DAVINCI_GPIO_BANK01 0x01C67010 +#define DAVINCI_GPIO_BANK23 0x01C67038 +#define DAVINCI_GPIO_BANK45 0x01C67060 +#define DAVINCI_GPIO_BANK67 0x01C67088 + +#else /* CONFIG_SOC_DA8XX */ +#define DAVINCI_GPIO_BINTEN 0x01E26008 +#define DAVINCI_GPIO_BANK01 0x01E26010 +#define DAVINCI_GPIO_BANK23 0x01E26038 +#define DAVINCI_GPIO_BANK45 0x01E26060 +#define DAVINCI_GPIO_BANK67 0x01E26088 +#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; +unsigned long 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) +#define davinci_gpio_bank67 ((struct davinci_gpio *)DAVINCI_GPIO_BANK67) + +#endif
arch/arm/include/asm/arch-davinci/gpio_defs.h deleted +0 -66
66 lines not on this page · raw message
board/davinci/dm355leopard/dm355leopard.c +1 -1
@@ -20,7 +20,7 @@#include <nand.h> #include <asm/io.h> #include <asm/arch/hardware.h> -#include <asm/arch/gpio_defs.h> +#include <asm/arch/gpio.h> #include <asm/arch/nand_defs.h> #include <asm/arch/davinci_misc.h> #include <net.h>
board/davinci/dm365evm/dm365evm.c +1 -1
@@ -22,7 +22,7 @@#include <asm/arch/hardware.h> #include <asm/arch/emif_defs.h> #include <asm/arch/nand_defs.h> -#include <asm/arch/gpio_defs.h> +#include <asm/arch/gpio.h> #include <netdev.h> #include <asm/arch/davinci_misc.h> #ifdef CONFIG_DAVINCI_MMC
drivers/usb/musb/da8xx.h +1 -1
@@ -25,7 +25,7 @@#define __DA8XX_MUSB_H__#include <asm/arch/hardware.h> -#include <asm/arch/gpio_defs.h> +#include <asm/arch/gpio.h> #include "musb_core.h" /* Base address of da8xx usb0 wrapper */
Signature · 1 line
1.7.2.5
PATCH 1/2 DaVinci: rename gpio_defs.h to gpio.h
Hi Laurence,
Le 15/07/2011 13:27, Laurence Withers a ?crit :
Quoted 8 lines
In preparation for a generic GPIO driver for the DA8xx processors, rename<asm/arch/gpio_defs.h> to<asm/arch/gpio.h> and fix up all files which include it.
Signed-off-by Laurence Withers<[email protected]>--- arch/arm/include/asm/arch-davinci/gpio.h | 66 +++++++++++++++++++++++++ arch/arm/include/asm/arch-davinci/gpio_defs.h | 66 -------------------------
This is a rename, so use 'git mv...' and 'git format-patch -C' to let git and readers know it is.
Amicalement,
Signature · 1 line
Albert.
PATCH 1/2 DaVinci: rename gpio_defs.h to gpio.h
Quoted 2 lines · Albert ARIBAUD
This is a rename, so use 'git mv...' and 'git format-patch -C' to let git and readers know it is.
Hi Albert,
Thanks for the tip. I reposted a v2 with this.
Bye for now,
Signature · 3 lines
Laurence Withers, <[email protected]> http://www.guralp.com/ Direct tel:+447753988197 or tel:+443333408643 Software Engineer General support queries: <[email protected]> CMG-DCM CMG-EAM CMG-NAM
Paulraj
PATCH 1/2 DaVinci: rename gpio_defs.h to gpio.h
In reply to Albert ARIBAUDQuoted 11 lines
Hi Laurence,
Le 15/07/2011 13:27, Laurence Withers a ?crit :
Quoted 7 lines
In preparation for a generic GPIO driver for the DA8xx processors, rename<asm/arch/gpio_defs.h> to<asm/arch/gpio.h> and fix up all files which include it.
Signed-off-by Laurence Withers<[email protected]>--- arch/arm/include/asm/arch-davinci/gpio.h | 66
Quoted 7 lines
+++++++++++++++++++++++++
Quoted 1 line
arch/arm/include/asm/arch-davinci/gpio_defs.h | 66 -------------------------
This is a rename, so use 'git mv...' and 'git format-patch -C' to let git and readers know it is.
I didn't see an updated patch for this?
Are you planning on sending one?
--Sandeep
PATCH 1/2 DaVinci: rename gpio_defs.h to gpio.h
Hi Sandeep,
Le 18/07/2011 15:02, Paulraj, Sandeep a ?crit :
Quoted 15 lines
Quoted 15 lines
Hi Laurence,
Le 15/07/2011 13:27, Laurence Withers a ?crit :
Quoted 7 lines
In preparation for a generic GPIO driver for the DA8xx processors,
rename<asm/arch/gpio_defs.h> to<asm/arch/gpio.h> and fix up all files
which include it.Signed-off-by Laurence Withers<[email protected]>--- arch/arm/include/asm/arch-davinci/gpio.h | 66+++++++++++++++++++++++++
Quoted 1 line
arch/arm/include/asm/arch-davinci/gpio_defs.h | 66 -------------------------
Quoted 7 lines
Quoted 3 lines
This is a rename, so use 'git mv...' and 'git format-patch -C' to let git and readers know it is.
I didn't see an updated patch for this?
Are you planning on sending one?
It was sent: <http://patchwork.ozlabs.org/patch/104953/>
Quoted 1 line
--Sandeep
Amicalement,
Signature · 1 line
Albert.
PATCH 1/2 DaVinci: rename gpio_defs.h to gpio.h
In reply to Albert ARIBAUDQuoted 5 lines · Albert ARIBAUD
Le 15/07/2011 13:27, Laurence Withers a ?crit :
Quoted 4 lines
In preparation for a generic GPIO driver for the DA8xx processors, rename<asm/arch/gpio_defs.h> ?to<asm/arch/gpio.h> ?and fix up all files which include it.
Quoted 7 lines
Quoted 4 lines
Signed-off-by Laurence Withers<[email protected]>---
?arch/arm/include/asm/arch-davinci/gpio.h? ? ?| ? 66 +++++++++++++++++++++++++ ?arch/arm/include/asm/arch-davinci/gpio_defs.h| ? 66 -------------------------This is a rename, so use 'git mv...' and 'git format-patch -C' to let git and readers know it is.
the git mv is unnecessary. the -C/-M options to format-patch/send-email should be sufficient. -mike
PATCH 2/2 DA8xx: add generic GPIO driver
In reply to Laurence WithersAdd a generic GPIO driver for the DaVinci DA8xx processors. It is turned on by defining CONFIG_DA8XX_GPIO and fulfills the generic GPIO interface specified in <asm/gpio.h> . The driver has support for both manipulating GPIO pins as well as automatically configuring the pin multiplexor registers to set the pin function to GPIO.
--- arch/arm/include/asm/arch-davinci/gpio.h | 8 + drivers/gpio/Makefile | 1 + drivers/gpio/da8xx_gpio.c | 281 ++++++++++++++++++++++++++++++ 3 files changed, 290 insertions(+), 0 deletions(-) create mode 100644 drivers/gpio/da8xx_gpio.c
arch/arm/include/asm/arch-davinci/gpio.h +8 -0
@@ -63,4 +63,12 @@ struct davinci_gpio_bank {#define davinci_gpio_bank45 ((struct davinci_gpio *)DAVINCI_GPIO_BANK45)#define davinci_gpio_bank67 ((struct davinci_gpio *)DAVINCI_GPIO_BANK67) +#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) + +void gpio_info (void ); +#endif
drivers/gpio/Makefile +1 -0
@@ -32,6 +32,7 @@ COBJS-$(CONFIG_MXC_GPIO) += mxc_gpio.o COBJS-$(CONFIG_PCA953X) += pca953x.o COBJS-$(CONFIG_S5P) += s5p_gpio.o COBJS-$(CONFIG_TEGRA2_GPIO) += tegra2_gpio.o +COBJS-$(CONFIG_DA8XX_GPIO) += da8xx_gpio.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c)
drivers/gpio/da8xx_gpio.c new file +281 -0
281 lines not on this page · raw message
Signature · 1 line
1.7.2.5