diff options
author | Ken Chang <kenc@nvidia.com> | 2014-04-21 17:54:28 +0800 |
---|---|---|
committer | Marc Jones <marc.jones@se-eng.com> | 2014-12-17 20:48:39 +0100 |
commit | 41359bd230942bea9cea234e147e629a78cbf794 (patch) | |
tree | 81bc8e781a946609145151a382b64b49ae04a986 /src/mainboard | |
parent | f6e17c04e9bd8521d734bced097616aa04150a0b (diff) |
nyan*: enable CLAMP_INPUTS
Enable pinmux clamp function to avoid pinmux conflict.
For pins which are configured to tristate enabled, the inputs to the
controller will be clamped to zero. This can be used to avoid pinmux
conflicts since the tristate bit is set to 1 in the power-on-reset
pinmux setting.
With pinmux clamp enabled, we need to configure all the input pins
to tristate disabled.
BUG=chrome-os-partner:27091
BRANCH=None
TEST=built and booted successfully, display worked fine.
Original-Change-Id: Id79a717f2025c812908c7152d439351208aee8d2
Original-Signed-off-by: Ken Chang <kenc@nvidia.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/194060
Original-Reviewed-by: Gabe Black <gabeblack@chromium.org>
(cherry picked from commit c95d6fe79810612cfad721667657cdcb87068d23)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Change-Id: I1b23df8b90f83ea2b2c08c4364d90fe71533a5a0
Reviewed-on: http://review.coreboot.org/7775
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/mainboard')
-rw-r--r-- | src/mainboard/google/nyan/mainboard.c | 11 | ||||
-rw-r--r-- | src/mainboard/google/nyan_big/mainboard.c | 11 | ||||
-rw-r--r-- | src/mainboard/google/nyan_blaze/mainboard.c | 11 |
3 files changed, 18 insertions, 15 deletions
diff --git a/src/mainboard/google/nyan/mainboard.c b/src/mainboard/google/nyan/mainboard.c index 2aff9d6cf0..15eff8ecd5 100644 --- a/src/mainboard/google/nyan/mainboard.c +++ b/src/mainboard/google/nyan/mainboard.c @@ -94,8 +94,6 @@ static void setup_pinmux(void) // TODO(hungte) Revice pinmux setup, make nice little SoC functions for // every single logical thing instead of dumping a wall of code below. uint32_t pin_up = PINMUX_PULL_UP | PINMUX_INPUT_ENABLE, - pin_up3 = (PINMUX_PULL_UP | PINMUX_INPUT_ENABLE | - PINMUX_TRISTATE), pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; @@ -113,7 +111,7 @@ static void setup_pinmux(void) pinmux_set_config(PINMUX_SDMMC3_DAT3_INDEX, PINMUX_SDMMC3_DAT3_FUNC_SDMMC3 | pin_up); pinmux_set_config(PINMUX_SDMMC3_CLK_LB_IN_INDEX, - PINMUX_SDMMC3_CLK_LB_IN_FUNC_SDMMC3 | pin_up3); + PINMUX_SDMMC3_CLK_LB_IN_FUNC_SDMMC3 | pin_up); pinmux_set_config(PINMUX_SDMMC3_CLK_LB_OUT_INDEX, PINMUX_SDMMC3_CLK_LB_OUT_FUNC_SDMMC3 | pin_down); @@ -155,8 +153,7 @@ static void setup_pinmux(void) /* I2S1 */ pinmux_set_config(PINMUX_DAP2_DIN_INDEX, - PINMUX_DAP2_DIN_FUNC_I2S1 | PINMUX_TRISTATE | - PINMUX_INPUT_ENABLE); + PINMUX_DAP2_DIN_FUNC_I2S1 | PINMUX_INPUT_ENABLE); pinmux_set_config(PINMUX_DAP2_DOUT_INDEX, PINMUX_DAP2_DOUT_FUNC_I2S1 | PINMUX_INPUT_ENABLE); pinmux_set_config(PINMUX_DAP2_FS_INDEX, @@ -167,6 +164,10 @@ static void setup_pinmux(void) /* PWM1 */ pinmux_set_config(PINMUX_GPIO_PH1_INDEX, PINMUX_GPIO_PH1_FUNC_PWM1 | PINMUX_PULL_NONE); + + /* DP HPD */ + pinmux_set_config(PINMUX_DP_HPD_INDEX, + PINMUX_DP_HPD_FUNC_DP | PINMUX_INPUT_ENABLE); } static void setup_kernel_info(void) diff --git a/src/mainboard/google/nyan_big/mainboard.c b/src/mainboard/google/nyan_big/mainboard.c index f2199d680e..0539d849bd 100644 --- a/src/mainboard/google/nyan_big/mainboard.c +++ b/src/mainboard/google/nyan_big/mainboard.c @@ -94,8 +94,6 @@ static void setup_pinmux(void) // TODO(hungte) Revice pinmux setup, make nice little SoC functions for // every single logical thing instead of dumping a wall of code below. uint32_t pin_up = PINMUX_PULL_UP | PINMUX_INPUT_ENABLE, - pin_up3 = (PINMUX_PULL_UP | PINMUX_INPUT_ENABLE | - PINMUX_TRISTATE), pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; @@ -113,7 +111,7 @@ static void setup_pinmux(void) pinmux_set_config(PINMUX_SDMMC3_DAT3_INDEX, PINMUX_SDMMC3_DAT3_FUNC_SDMMC3 | pin_up); pinmux_set_config(PINMUX_SDMMC3_CLK_LB_IN_INDEX, - PINMUX_SDMMC3_CLK_LB_IN_FUNC_SDMMC3 | pin_up3); + PINMUX_SDMMC3_CLK_LB_IN_FUNC_SDMMC3 | pin_up); pinmux_set_config(PINMUX_SDMMC3_CLK_LB_OUT_INDEX, PINMUX_SDMMC3_CLK_LB_OUT_FUNC_SDMMC3 | pin_down); @@ -155,8 +153,7 @@ static void setup_pinmux(void) /* I2S1 */ pinmux_set_config(PINMUX_DAP2_DIN_INDEX, - PINMUX_DAP2_DIN_FUNC_I2S1 | PINMUX_TRISTATE | - PINMUX_INPUT_ENABLE); + PINMUX_DAP2_DIN_FUNC_I2S1 | PINMUX_INPUT_ENABLE); pinmux_set_config(PINMUX_DAP2_DOUT_INDEX, PINMUX_DAP2_DOUT_FUNC_I2S1 | PINMUX_INPUT_ENABLE); pinmux_set_config(PINMUX_DAP2_FS_INDEX, @@ -167,6 +164,10 @@ static void setup_pinmux(void) /* PWM1 */ pinmux_set_config(PINMUX_GPIO_PH1_INDEX, PINMUX_GPIO_PH1_FUNC_PWM1 | PINMUX_PULL_NONE); + + /* DP HPD */ + pinmux_set_config(PINMUX_DP_HPD_INDEX, + PINMUX_DP_HPD_FUNC_DP | PINMUX_INPUT_ENABLE); } static void setup_kernel_info(void) diff --git a/src/mainboard/google/nyan_blaze/mainboard.c b/src/mainboard/google/nyan_blaze/mainboard.c index 7ca7b5377b..8717a87df5 100644 --- a/src/mainboard/google/nyan_blaze/mainboard.c +++ b/src/mainboard/google/nyan_blaze/mainboard.c @@ -94,8 +94,6 @@ static void setup_pinmux(void) // TODO(hungte) Revice pinmux setup, make nice little SoC functions for // every single logical thing instead of dumping a wall of code below. uint32_t pin_up = PINMUX_PULL_UP | PINMUX_INPUT_ENABLE, - pin_up3 = (PINMUX_PULL_UP | PINMUX_INPUT_ENABLE | - PINMUX_TRISTATE), pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; @@ -113,7 +111,7 @@ static void setup_pinmux(void) pinmux_set_config(PINMUX_SDMMC3_DAT3_INDEX, PINMUX_SDMMC3_DAT3_FUNC_SDMMC3 | pin_up); pinmux_set_config(PINMUX_SDMMC3_CLK_LB_IN_INDEX, - PINMUX_SDMMC3_CLK_LB_IN_FUNC_SDMMC3 | pin_up3); + PINMUX_SDMMC3_CLK_LB_IN_FUNC_SDMMC3 | pin_up); pinmux_set_config(PINMUX_SDMMC3_CLK_LB_OUT_INDEX, PINMUX_SDMMC3_CLK_LB_OUT_FUNC_SDMMC3 | pin_down); @@ -155,8 +153,7 @@ static void setup_pinmux(void) /* I2S1 */ pinmux_set_config(PINMUX_DAP2_DIN_INDEX, - PINMUX_DAP2_DIN_FUNC_I2S1 | PINMUX_TRISTATE | - PINMUX_INPUT_ENABLE); + PINMUX_DAP2_DIN_FUNC_I2S1 | PINMUX_INPUT_ENABLE); pinmux_set_config(PINMUX_DAP2_DOUT_INDEX, PINMUX_DAP2_DOUT_FUNC_I2S1 | PINMUX_INPUT_ENABLE); pinmux_set_config(PINMUX_DAP2_FS_INDEX, @@ -167,6 +164,10 @@ static void setup_pinmux(void) /* PWM1 */ pinmux_set_config(PINMUX_GPIO_PH1_INDEX, PINMUX_GPIO_PH1_FUNC_PWM1 | PINMUX_PULL_NONE); + + /* DP HPD */ + pinmux_set_config(PINMUX_DP_HPD_INDEX, + PINMUX_DP_HPD_FUNC_DP | PINMUX_INPUT_ENABLE); } static void setup_kernel_info(void) |