tegra: Add display support to funcmux

Add support for a default pin mapping for display1.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
Simon Glass 2012-10-17 13:24:46 +00:00 committed by Tom Warren
parent 95be58c988
commit b344496110
1 changed files with 37 additions and 0 deletions

View File

@ -25,6 +25,30 @@
#include <asm/arch/funcmux.h>
#include <asm/arch/pinmux.h>
/*
* The PINMUX macro is used to set up pinmux tables.
*/
#define PINMUX(grp, mux, pupd, tri) \
{PINGRP_##grp, PMUX_FUNC_##mux, PMUX_PULL_##pupd, PMUX_TRI_##tri}
static const struct pingroup_config disp1_default[] = {
PINMUX(LDI, DISPA, NORMAL, NORMAL),
PINMUX(LHP0, DISPA, NORMAL, NORMAL),
PINMUX(LHP1, DISPA, NORMAL, NORMAL),
PINMUX(LHP2, DISPA, NORMAL, NORMAL),
PINMUX(LHS, DISPA, NORMAL, NORMAL),
PINMUX(LM0, RSVD4, NORMAL, NORMAL),
PINMUX(LPP, DISPA, NORMAL, NORMAL),
PINMUX(LPW0, DISPA, NORMAL, NORMAL),
PINMUX(LPW2, DISPA, NORMAL, NORMAL),
PINMUX(LSC0, DISPA, NORMAL, NORMAL),
PINMUX(LSPI, DISPA, NORMAL, NORMAL),
PINMUX(LVP1, DISPA, NORMAL, NORMAL),
PINMUX(LVS, DISPA, NORMAL, NORMAL),
PINMUX(SLXD, SPDIF, NORMAL, NORMAL),
};
int funcmux_select(enum periph_id id, int config)
{
int bad_config = config != FUNCMUX_DEFAULT;
@ -257,6 +281,19 @@ int funcmux_select(enum periph_id id, int config)
break;
}
break;
case PERIPH_ID_DISP1:
if (config == FUNCMUX_DEFAULT) {
int i;
for (i = PINGRP_LD0; i <= PINGRP_LD17; i++) {
pinmux_set_func(i, PMUX_FUNC_DISPA);
pinmux_tristate_disable(i);
pinmux_set_pullupdown(i, PMUX_PULL_NORMAL);
}
pinmux_config_table(disp1_default,
ARRAY_SIZE(disp1_default));
}
break;
default:
debug("%s: invalid periph_id %d", __func__, id);