diff options
Diffstat (limited to 'arch/arm/mach-tegra/board-trimslice-pinmux.c')
-rw-r--r-- | arch/arm/mach-tegra/board-trimslice-pinmux.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/arch/arm/mach-tegra/board-trimslice-pinmux.c b/arch/arm/mach-tegra/board-trimslice-pinmux.c index 7331e15b73cc..a21a2be57cb6 100644 --- a/arch/arm/mach-tegra/board-trimslice-pinmux.c +++ b/arch/arm/mach-tegra/board-trimslice-pinmux.c | |||
@@ -22,10 +22,10 @@ | |||
22 | #include <mach/pinmux-tegra20.h> | 22 | #include <mach/pinmux-tegra20.h> |
23 | 23 | ||
24 | #include "gpio-names.h" | 24 | #include "gpio-names.h" |
25 | #include "board-pinmux.h" | ||
25 | #include "board-trimslice.h" | 26 | #include "board-trimslice.h" |
26 | #include "devices.h" | ||
27 | 27 | ||
28 | static __initdata struct tegra_pingroup_config trimslice_pinmux[] = { | 28 | static struct tegra_pingroup_config trimslice_pinmux[] = { |
29 | {TEGRA_PINGROUP_ATA, TEGRA_MUX_IDE, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 29 | {TEGRA_PINGROUP_ATA, TEGRA_MUX_IDE, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
30 | {TEGRA_PINGROUP_ATB, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, | 30 | {TEGRA_PINGROUP_ATB, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
31 | {TEGRA_PINGROUP_ATC, TEGRA_MUX_NAND, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 31 | {TEGRA_PINGROUP_ATC, TEGRA_MUX_NAND, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
@@ -106,7 +106,7 @@ static __initdata struct tegra_pingroup_config trimslice_pinmux[] = { | |||
106 | {TEGRA_PINGROUP_LVS, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, | 106 | {TEGRA_PINGROUP_LVS, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, |
107 | {TEGRA_PINGROUP_OWC, TEGRA_MUX_RSVD2, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, | 107 | {TEGRA_PINGROUP_OWC, TEGRA_MUX_RSVD2, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, |
108 | {TEGRA_PINGROUP_PMC, TEGRA_MUX_PWR_ON, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 108 | {TEGRA_PINGROUP_PMC, TEGRA_MUX_PWR_ON, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
109 | {TEGRA_PINGROUP_PTA, TEGRA_MUX_RSVD3, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 109 | {TEGRA_PINGROUP_PTA, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
110 | {TEGRA_PINGROUP_RM, TEGRA_MUX_I2C, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, | 110 | {TEGRA_PINGROUP_RM, TEGRA_MUX_I2C, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, |
111 | {TEGRA_PINGROUP_SDB, TEGRA_MUX_PWM, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, | 111 | {TEGRA_PINGROUP_SDB, TEGRA_MUX_PWM, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
112 | {TEGRA_PINGROUP_SDC, TEGRA_MUX_PWM, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, | 112 | {TEGRA_PINGROUP_SDC, TEGRA_MUX_PWM, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, |
@@ -144,11 +144,6 @@ static __initdata struct tegra_pingroup_config trimslice_pinmux[] = { | |||
144 | {TEGRA_PINGROUP_XM2D, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, | 144 | {TEGRA_PINGROUP_XM2D, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
145 | }; | 145 | }; |
146 | 146 | ||
147 | static struct platform_device *pinmux_devices[] = { | ||
148 | &tegra_gpio_device, | ||
149 | &tegra_pinmux_device, | ||
150 | }; | ||
151 | |||
152 | static struct tegra_gpio_table gpio_table[] = { | 147 | static struct tegra_gpio_table gpio_table[] = { |
153 | { .gpio = TRIMSLICE_GPIO_SD4_CD, .enable = true }, /* mmc4 cd */ | 148 | { .gpio = TRIMSLICE_GPIO_SD4_CD, .enable = true }, /* mmc4 cd */ |
154 | { .gpio = TRIMSLICE_GPIO_SD4_WP, .enable = true }, /* mmc4 wp */ | 149 | { .gpio = TRIMSLICE_GPIO_SD4_WP, .enable = true }, /* mmc4 wp */ |
@@ -157,11 +152,14 @@ static struct tegra_gpio_table gpio_table[] = { | |||
157 | { .gpio = TRIMSLICE_GPIO_USB2_RST, .enable = true }, /* USB2 PHY rst */ | 152 | { .gpio = TRIMSLICE_GPIO_USB2_RST, .enable = true }, /* USB2 PHY rst */ |
158 | }; | 153 | }; |
159 | 154 | ||
160 | void __init trimslice_pinmux_init(void) | 155 | static struct tegra_board_pinmux_conf conf = { |
156 | .pgs = trimslice_pinmux, | ||
157 | .pg_count = ARRAY_SIZE(trimslice_pinmux), | ||
158 | .gpios = gpio_table, | ||
159 | .gpio_count = ARRAY_SIZE(gpio_table), | ||
160 | }; | ||
161 | |||
162 | void trimslice_pinmux_init(void) | ||
161 | { | 163 | { |
162 | if (!of_machine_is_compatible("nvidia,tegra20")) | 164 | tegra_board_pinmux_init(&conf, NULL); |
163 | platform_add_devices(pinmux_devices, | ||
164 | ARRAY_SIZE(pinmux_devices)); | ||
165 | tegra_pinmux_config_table(trimslice_pinmux, ARRAY_SIZE(trimslice_pinmux)); | ||
166 | tegra_gpio_config(gpio_table, ARRAY_SIZE(gpio_table)); | ||
167 | } | 165 | } |