[U-Boot] [PATCH] TI: DaVinci: GPIO header file and definitions

From: Sandeep Paulraj s-paulraj@ti.com
Some DaVinci SOC's use GPIOs to enable EMAC and DM9000. This patch adds some definitions for GPIO registers and also adds structures for GPIO. A separate header file is being added so that in future we can have a DaVinci GPIO driver similer to OMAP.
Signed-off-by: Sandeep Paulraj s-paulraj@ti.com --- include/asm-arm/arch-davinci/gpio_defs.h | 53 ++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) create mode 100644 include/asm-arm/arch-davinci/gpio_defs.h
diff --git a/include/asm-arm/arch-davinci/gpio_defs.h b/include/asm-arm/arch-davinci/gpio_defs.h new file mode 100644 index 0000000..99ef896 --- /dev/null +++ b/include/asm-arm/arch-davinci/gpio_defs.h @@ -0,0 +1,53 @@ +/* + * 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_ + +#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 + +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; +}; + +#endif +

s-paulraj@ti.com wrote:
From: Sandeep Paulraj s-paulraj@ti.com
Some DaVinci SOC's use GPIOs to enable EMAC and DM9000. This patch adds some definitions for GPIO registers and also adds structures for GPIO. A separate header file is being added so that in future we can have a DaVinci GPIO driver similer to OMAP.
Signed-off-by: Sandeep Paulraj s-paulraj@ti.com
include/asm-arm/arch-davinci/gpio_defs.h | 53 ++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) create mode 100644 include/asm-arm/arch-davinci/gpio_defs.h
diff --git a/include/asm-arm/arch-davinci/gpio_defs.h b/include/asm-arm/arch-davinci/gpio_defs.h new file mode 100644 index 0000000..99ef896 --- /dev/null +++ b/include/asm-arm/arch-davinci/gpio_defs.h @@ -0,0 +1,53 @@ +/*
- 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_
+#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
+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;
+};
Convert the tabs to spaces in the in the whitespace between type and elemement names unsigned int dir; -> unsigned int dir; For all of the elements
Tom
+struct davinci_gpio_bank {
- int num_gpio;
- unsigned int irq_num;
- unsigned int irq_mask;
- unsigned long *in_use;
- unsigned long base;
+};
+#endif

Dear Tom,
In message 4AC1FE5C.4070503@windriver.com you wrote:
+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;
+};
Convert the tabs to spaces in the in the whitespace between type and elemement names unsigned int dir; -> unsigned int dir; For all of the elements
Why? It is not really important here, but especially when mixing data types, TABs are preferred, as they will allow for nice vertical alignment.
Best regards,
Wolfgang Denk

Wolfgang Denk wrote:
Dear Tom,
In message 4AC1FE5C.4070503@windriver.com you wrote:
+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;
+};
Convert the tabs to spaces in the in the whitespace between type and elemement names unsigned int dir; -> unsigned int dir; For all of the elements
Why? It is not really important here, but especially when mixing data types, TABs are preferred, as they will allow for nice vertical alignment.
OK. TABs are preferred.
The structure defined below it used a single space. When looked at together, it seemed to me to be inconsistent.
Tom
Best regards,
Wolfgang Denk

Wolfgang Denk wrote:
Dear Tom,
In message 4AC1FE5C.4070503@windriver.com you wrote:
+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;
+};
Convert the tabs to spaces in the in the whitespace between type and elemement names unsigned int dir; -> unsigned int dir; For all of the elements
Why? It is not really important here, but especially when mixing data types, TABs are preferred, as they will allow for nice vertical alignment.
OK. TABs are preferred.
The structure defined below it used a single space. When looked at together, it seemed to me to be inconsistent.
Tom
What do about this patch. You ACK'ed it Do you want me to revert to the original patch ?
Best regards,
Wolfgang Denk

Dear "Paulraj, Sandeep",
In message 0554BEF07D437848AF01B9C9B5F0BC5D92EC0C2F@dlee01.ent.ti.com you wrote:
Why? It is not really important here, but especially when mixing data types, TABs are preferred, as they will allow for nice vertical alignment.
OK. TABs are preferred.
The structure defined below it used a single space. When looked at together, it seemed to me to be inconsistent.
Tom
What do about this patch. You ACK'ed it Do you want me to revert to the original patch ?
No. Please leave as is. The difference really is not important here.
I just did not understand why the change was requested in the first place, but now it has been done, we should not throw even more efforts on it.
Thanks.
Best regards,
Wolfgang Denk

Paulraj, Sandeep wrote:
Wolfgang Denk wrote:
Dear Tom,
In message 4AC1FE5C.4070503@windriver.com you wrote:
+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;
+};
Convert the tabs to spaces in the in the whitespace between type and elemement names unsigned int dir; -> unsigned int dir; For all of the elements
Why? It is not really important here, but especially when mixing data types, TABs are preferred, as they will allow for nice vertical alignment.
OK. TABs are preferred.
The structure defined below it used a single space. When looked at together, it seemed to me to be inconsistent.
Tom
What do about this patch. You ACK'ed it Do you want me to revert to the original patch ?
I will defer to Wolfgang on this. Since I caused the problem, I will fix it. Tom
Best regards,
Wolfgang Denk

Dear Tom,
In message 4AC3D231.1090205@windriver.com you wrote:
I will defer to Wolfgang on this. Since I caused the problem, I will fix it.
It's not a problem. I just wanted to make sure we are not too narrow with our rules.
Best regards,
Wolfgang Denk
participants (4)
-
Paulraj, Sandeep
-
s-paulraj@ti.com
-
Tom
-
Wolfgang Denk