-
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: 7032/1: plat-nomadik: break out GPIO driver specifics
The <[plat|mach]/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Alessandro Rubini <rubini@unipv.it> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- Loading branch information
Linus Walleij
authored and
Russell King
committed
Aug 22, 2011
1 parent
8f3c453
commit 0f33286
Showing
13 changed files
with
96 additions
and
77 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
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
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
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 |
---|---|---|
@@ -0,0 +1,85 @@ | ||
/* | ||
* 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 __PLAT_NOMADIK_GPIO | ||
#define __PLAT_NOMADIK_GPIO | ||
|
||
/* | ||
* "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) | ||
|
||
/* Pull up/down values */ | ||
enum nmk_gpio_pull { | ||
NMK_GPIO_PULL_NONE, | ||
NMK_GPIO_PULL_UP, | ||
NMK_GPIO_PULL_DOWN, | ||
}; | ||
|
||
/* Sleep mode */ | ||
enum nmk_gpio_slpm { | ||
NMK_GPIO_SLPM_INPUT, | ||
NMK_GPIO_SLPM_WAKEUP_ENABLE = NMK_GPIO_SLPM_INPUT, | ||
NMK_GPIO_SLPM_NOCHANGE, | ||
NMK_GPIO_SLPM_WAKEUP_DISABLE = NMK_GPIO_SLPM_NOCHANGE, | ||
}; | ||
|
||
extern int nmk_gpio_set_slpm(int gpio, enum nmk_gpio_slpm mode); | ||
extern int nmk_gpio_set_pull(int gpio, enum nmk_gpio_pull pull); | ||
extern int nmk_gpio_set_mode(int gpio, int gpio_mode); | ||
extern int nmk_gpio_get_mode(int gpio); | ||
|
||
extern void nmk_gpio_wakeups_suspend(void); | ||
extern void nmk_gpio_wakeups_resume(void); | ||
|
||
extern void nmk_gpio_read_pull(int gpio_bank, u32 *pull_up); | ||
|
||
/* | ||
* 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 num_gpio; | ||
u32 (*get_secondary_status)(unsigned int bank); | ||
void (*set_ioforce)(bool enable); | ||
bool supports_sleepmode; | ||
}; | ||
|
||
#endif /* __PLAT_NOMADIK_GPIO */ |
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