diff options
author | Stephen Warren <swarren@nvidia.com> | 2011-12-16 17:12:24 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2011-12-19 21:02:48 -0500 |
commit | 439c660c29c031867ac01300534a2ce287e021b7 (patch) | |
tree | 26dd3e56f3a44293d5b60607f6b63442f951b319 /arch/arm/mach-tegra/board-seaboard-pinmux.c | |
parent | 50ca0d911b1eb0d5bb10e0638d09456e713120c8 (diff) |
arm/tegra: Split Seaboard GPIO table to allow for Ventana
Seaboard and Ventana share some GPIOs, but others are different. Split the
GPIO table into common, seaboard-specific, and ventana-specific tables, so
that only the correct ones are enabled for each board. Add a few missing
audio-related GPIOs for Ventana.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-tegra/board-seaboard-pinmux.c')
-rw-r--r-- | arch/arm/mach-tegra/board-seaboard-pinmux.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-seaboard-pinmux.c b/arch/arm/mach-tegra/board-seaboard-pinmux.c index b1c2972f62fe..cb5b2e96865c 100644 --- a/arch/arm/mach-tegra/board-seaboard-pinmux.c +++ b/arch/arm/mach-tegra/board-seaboard-pinmux.c | |||
@@ -190,14 +190,26 @@ static struct tegra_gpio_table common_gpio_table[] = { | |||
190 | { .gpio = TEGRA_GPIO_SD2_CD, .enable = true }, | 190 | { .gpio = TEGRA_GPIO_SD2_CD, .enable = true }, |
191 | { .gpio = TEGRA_GPIO_SD2_WP, .enable = true }, | 191 | { .gpio = TEGRA_GPIO_SD2_WP, .enable = true }, |
192 | { .gpio = TEGRA_GPIO_SD2_POWER, .enable = true }, | 192 | { .gpio = TEGRA_GPIO_SD2_POWER, .enable = true }, |
193 | { .gpio = TEGRA_GPIO_CDC_IRQ, .enable = true }, | ||
194 | }; | ||
195 | |||
196 | static struct tegra_gpio_table seaboard_gpio_table[] = { | ||
193 | { .gpio = TEGRA_GPIO_LIDSWITCH, .enable = true }, | 197 | { .gpio = TEGRA_GPIO_LIDSWITCH, .enable = true }, |
194 | { .gpio = TEGRA_GPIO_POWERKEY, .enable = true }, | 198 | { .gpio = TEGRA_GPIO_POWERKEY, .enable = true }, |
195 | { .gpio = TEGRA_GPIO_HP_DET, .enable = true }, | 199 | { .gpio = TEGRA_GPIO_HP_DET, .enable = true }, |
196 | { .gpio = TEGRA_GPIO_ISL29018_IRQ, .enable = true }, | 200 | { .gpio = TEGRA_GPIO_ISL29018_IRQ, .enable = true }, |
197 | { .gpio = TEGRA_GPIO_CDC_IRQ, .enable = true }, | ||
198 | { .gpio = TEGRA_GPIO_USB1, .enable = true }, | 201 | { .gpio = TEGRA_GPIO_USB1, .enable = true }, |
199 | }; | 202 | }; |
200 | 203 | ||
204 | static struct tegra_gpio_table ventana_gpio_table[] = { | ||
205 | /* hp_det */ | ||
206 | { .gpio = TEGRA_GPIO_PW2, .enable = true }, | ||
207 | /* int_mic_en */ | ||
208 | { .gpio = TEGRA_GPIO_PX0, .enable = true }, | ||
209 | /* ext_mic_en */ | ||
210 | { .gpio = TEGRA_GPIO_PX1, .enable = true }, | ||
211 | }; | ||
212 | |||
201 | static void __init update_pinmux(struct tegra_pingroup_config *newtbl, int size) | 213 | static void __init update_pinmux(struct tegra_pingroup_config *newtbl, int size) |
202 | { | 214 | { |
203 | int i, j; | 215 | int i, j; |
@@ -235,11 +247,13 @@ void __init seaboard_common_pinmux_init(void) | |||
235 | void __init seaboard_pinmux_init(void) | 247 | void __init seaboard_pinmux_init(void) |
236 | { | 248 | { |
237 | seaboard_common_pinmux_init(); | 249 | seaboard_common_pinmux_init(); |
250 | tegra_gpio_config(seaboard_gpio_table, ARRAY_SIZE(seaboard_gpio_table)); | ||
238 | } | 251 | } |
239 | 252 | ||
240 | void __init ventana_pinmux_init(void) | 253 | void __init ventana_pinmux_init(void) |
241 | { | 254 | { |
242 | update_pinmux(ventana_pinmux, ARRAY_SIZE(ventana_pinmux)); | 255 | update_pinmux(ventana_pinmux, ARRAY_SIZE(ventana_pinmux)); |
243 | seaboard_common_pinmux_init(); | 256 | seaboard_common_pinmux_init(); |
257 | tegra_gpio_config(ventana_gpio_table, ARRAY_SIZE(ventana_gpio_table)); | ||
244 | } | 258 | } |
245 | 259 | ||