-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: 5969/1: nomadik: move gpio to plat-nomadik
Move the Nomadik GPIO driver to plat-nomadik so that it can also be used on the Ux500 platform. The mach-nomadik include/mach/gpio.h is replaced by one that includes the one now in plat-nomadik, so that code doesn't need to include the one in plat specifically, and can instead use <linux/gpio.h> as usual. Acked-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- Loading branch information
Rabin Vincent
authored and
Russell King
committed
Mar 19, 2010
1 parent
3971047
commit 3a5e854
Showing
7 changed files
with
80 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,71 +1,6 @@ | ||
/* | ||
* Structures and registers for GPIO access in the Nomadik SoC | ||
* | ||
* Copyright (C) 2008 STMicroelectronics | ||
* Author: Prafulla WADASKAR <prafulla.wadaskar@st.com> | ||
* Copyright (C) 2009 Alessandro Rubini <rubini@unipv.it> | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
#ifndef __ASM_ARCH_GPIO_H | ||
#define __ASM_ARCH_GPIO_H | ||
|
||
#include <asm-generic/gpio.h> | ||
|
||
/* | ||
* These currently cause a function call to happen, they may be optimized | ||
* if needed by adding cpu-specific defines to identify blocks | ||
* (see mach-pxa/include/mach/gpio.h as an example using GPLR etc) | ||
*/ | ||
#define gpio_get_value __gpio_get_value | ||
#define gpio_set_value __gpio_set_value | ||
#define gpio_cansleep __gpio_cansleep | ||
#define gpio_to_irq __gpio_to_irq | ||
|
||
/* | ||
* "nmk_gpio" and "NMK_GPIO" stand for "Nomadik GPIO", leaving | ||
* the "gpio" namespace for generic and cross-machine functions | ||
*/ | ||
|
||
/* Register in the logic block */ | ||
#define NMK_GPIO_DAT 0x00 | ||
#define NMK_GPIO_DATS 0x04 | ||
#define NMK_GPIO_DATC 0x08 | ||
#define NMK_GPIO_PDIS 0x0c | ||
#define NMK_GPIO_DIR 0x10 | ||
#define NMK_GPIO_DIRS 0x14 | ||
#define NMK_GPIO_DIRC 0x18 | ||
#define NMK_GPIO_SLPC 0x1c | ||
#define NMK_GPIO_AFSLA 0x20 | ||
#define NMK_GPIO_AFSLB 0x24 | ||
|
||
#define NMK_GPIO_RIMSC 0x40 | ||
#define NMK_GPIO_FIMSC 0x44 | ||
#define NMK_GPIO_IS 0x48 | ||
#define NMK_GPIO_IC 0x4c | ||
#define NMK_GPIO_RWIMSC 0x50 | ||
#define NMK_GPIO_FWIMSC 0x54 | ||
#define NMK_GPIO_WKS 0x58 | ||
|
||
/* Alternate functions: function C is set in hw by setting both A and B */ | ||
#define NMK_GPIO_ALT_GPIO 0 | ||
#define NMK_GPIO_ALT_A 1 | ||
#define NMK_GPIO_ALT_B 2 | ||
#define NMK_GPIO_ALT_C (NMK_GPIO_ALT_A | NMK_GPIO_ALT_B) | ||
|
||
extern int nmk_gpio_set_mode(int gpio, int gpio_mode); | ||
extern int nmk_gpio_get_mode(int gpio); | ||
|
||
/* | ||
* Platform data to register a block: only the initial gpio/irq number. | ||
*/ | ||
struct nmk_gpio_platform_data { | ||
char *name; | ||
int first_gpio; | ||
int first_irq; | ||
int parent_irq; | ||
}; | ||
#include <plat/gpio.h> | ||
|
||
#endif /* __ASM_ARCH_GPIO_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,4 @@ | |
# Licensed under GPLv2 | ||
|
||
obj-$(CONFIG_HAS_MTU) += timer.o | ||
obj-$(CONFIG_NOMADIK_GPIO) += gpio.o |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
/* | ||
* Structures and registers for GPIO access in the Nomadik SoC | ||
* | ||
* Copyright (C) 2008 STMicroelectronics | ||
* Author: Prafulla WADASKAR <prafulla.wadaskar@st.com> | ||
* Copyright (C) 2009 Alessandro Rubini <rubini@unipv.it> | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
#ifndef __ASM_PLAT_GPIO_H | ||
#define __ASM_PLAT_GPIO_H | ||
|
||
#include <asm-generic/gpio.h> | ||
|
||
/* | ||
* These currently cause a function call to happen, they may be optimized | ||
* if needed by adding cpu-specific defines to identify blocks | ||
* (see mach-pxa/include/mach/gpio.h as an example using GPLR etc) | ||
*/ | ||
#define gpio_get_value __gpio_get_value | ||
#define gpio_set_value __gpio_set_value | ||
#define gpio_cansleep __gpio_cansleep | ||
#define gpio_to_irq __gpio_to_irq | ||
|
||
/* | ||
* "nmk_gpio" and "NMK_GPIO" stand for "Nomadik GPIO", leaving | ||
* the "gpio" namespace for generic and cross-machine functions | ||
*/ | ||
|
||
/* Register in the logic block */ | ||
#define NMK_GPIO_DAT 0x00 | ||
#define NMK_GPIO_DATS 0x04 | ||
#define NMK_GPIO_DATC 0x08 | ||
#define NMK_GPIO_PDIS 0x0c | ||
#define NMK_GPIO_DIR 0x10 | ||
#define NMK_GPIO_DIRS 0x14 | ||
#define NMK_GPIO_DIRC 0x18 | ||
#define NMK_GPIO_SLPC 0x1c | ||
#define NMK_GPIO_AFSLA 0x20 | ||
#define NMK_GPIO_AFSLB 0x24 | ||
|
||
#define NMK_GPIO_RIMSC 0x40 | ||
#define NMK_GPIO_FIMSC 0x44 | ||
#define NMK_GPIO_IS 0x48 | ||
#define NMK_GPIO_IC 0x4c | ||
#define NMK_GPIO_RWIMSC 0x50 | ||
#define NMK_GPIO_FWIMSC 0x54 | ||
#define NMK_GPIO_WKS 0x58 | ||
|
||
/* Alternate functions: function C is set in hw by setting both A and B */ | ||
#define NMK_GPIO_ALT_GPIO 0 | ||
#define NMK_GPIO_ALT_A 1 | ||
#define NMK_GPIO_ALT_B 2 | ||
#define NMK_GPIO_ALT_C (NMK_GPIO_ALT_A | NMK_GPIO_ALT_B) | ||
|
||
extern int nmk_gpio_set_mode(int gpio, int gpio_mode); | ||
extern int nmk_gpio_get_mode(int gpio); | ||
|
||
/* | ||
* Platform data to register a block: only the initial gpio/irq number. | ||
*/ | ||
struct nmk_gpio_platform_data { | ||
char *name; | ||
int first_gpio; | ||
int first_irq; | ||
int parent_irq; | ||
}; | ||
|
||
#endif /* __ASM_PLAT_GPIO_H */ |