diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2016-06-14 14:22:06 +0200 |
---|---|---|
committer | Dominik Sliwa <dominik.sliwa@toradex.com> | 2016-06-22 15:29:37 +0200 |
commit | b91c7bd5316c2f40765843774f6cc253fe7d8ef9 (patch) | |
tree | 98cde999fd3bc3d2bf82bd85ca1387de96762105 /arch | |
parent | 6829cb48d1b887c583cd5617005916335895d9d7 (diff) |
apalis_t30: allow for setting vi level-shifter direction
Allow for setting the direction of the VI pins' level-shifter. Do not
tri-state those pins' output driver in order to be able to actually
output any values as well. Default to direction input and update
comments accordingly.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-apalis_t30-pinmux.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/arch/arm/mach-tegra/board-apalis_t30-pinmux.c b/arch/arm/mach-tegra/board-apalis_t30-pinmux.c index 0e45181fd671..944520d9e513 100644 --- a/arch/arm/mach-tegra/board-apalis_t30-pinmux.c +++ b/arch/arm/mach-tegra/board-apalis_t30-pinmux.c @@ -448,24 +448,24 @@ static __initdata struct tegra_pingroup_config apalis_t30_pinmux[] = { DEFAULT_PINMUX(ULPI_NXT, UARTD, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(ULPI_STP, UARTD, NORMAL, NORMAL, INPUT), -//VI pins are all input level-shifted and multiplexed -//unused VI pins could disable input drivers - VI_PINMUX(VI_D0, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D1, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D2, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D3, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D4, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D5, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D6, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D7, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D8, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D9, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D10, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_D11, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_HSYNC, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), - DEFAULT_PINMUX(VI_MCLK, VI, PULL_DOWN, TRISTATE, OUTPUT), /* NC */ - VI_PINMUX(VI_PCLK, VI, PULL_UP, TRISTATE, INPUT, DISABLE, DISABLE), - VI_PINMUX(VI_VSYNC, VI, NORMAL, TRISTATE, INPUT, DISABLE, DISABLE), + /* VI pins are all level-shifted */ + VI_PINMUX(VI_D0, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D1, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D2, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D3, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D4, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D5, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D6, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D7, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D8, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D9, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D10, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_D11, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_HSYNC, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), + /* GPIO T1: VI_LevelShifter_DIR */ + DEFAULT_PINMUX(VI_MCLK, VI, NORMAL, NORMAL, OUTPUT), + VI_PINMUX(VI_PCLK, VI, PULL_UP, NORMAL, INPUT, DISABLE, DISABLE), + VI_PINMUX(VI_VSYNC, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), }; #define GPIO_INIT_PIN_MODE(_gpio, _is_input, _value) \ @@ -504,5 +504,9 @@ int __init apalis_t30_pinmux_init(void) tegra_drive_pinmux_config_table(apalis_t30_drive_pinmux, ARRAY_SIZE(apalis_t30_drive_pinmux)); + /* VI level-shifter direction (output low => default direction input) */ + gpio_request(TEGRA_GPIO_PT1, "VI_LevelShifter_DIR"); + gpio_direction_output(TEGRA_GPIO_PT1, 0); + return 0; } |