aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra/board-seaboard-pinmux.c
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2011-12-16 17:12:24 -0500
committerOlof Johansson <olof@lixom.net>2011-12-19 21:02:48 -0500
commit439c660c29c031867ac01300534a2ce287e021b7 (patch)
tree26dd3e56f3a44293d5b60607f6b63442f951b319 /arch/arm/mach-tegra/board-seaboard-pinmux.c
parent50ca0d911b1eb0d5bb10e0638d09456e713120c8 (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.c16
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
196static 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
204static 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
201static void __init update_pinmux(struct tegra_pingroup_config *newtbl, int size) 213static 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)
235void __init seaboard_pinmux_init(void) 247void __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
240void __init ventana_pinmux_init(void) 253void __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