diff options
author | Louis Yung-Chieh Lo <yjlou@chromium.org> | 2013-12-26 11:38:01 -0800 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-01-03 23:04:23 +0000 |
commit | 3f00af41c41d35fec50090a48796db5c24d0a6d3 (patch) | |
tree | c9da15d14260d6d1ad2af575426debf014782f2d /board | |
parent | 5e50259c2252ac7b2f65e7cd75bf219f6c4293bf (diff) | |
download | chrome-ec-3f00af41c41d35fec50090a48796db5c24d0a6d3.tar.gz |
nyan: don't touch GPIO setting while init alternate functions.
Old code reset some GPIO configurations with af->flags = 0 while
gpio_config_module(). This is bad because it could lead unexpected
behavior on the bus.
New code accepts GPIO_DEFAULT flag so that it doesn't touch the
GPIO setting while configuring alternate functions. This should not
effect other boards unless the GPIO_DEFAULT is set on that board.
BUG=chrome-os-partner:24607
BRANCH=nyan
TEST=run on nyan rev 3.12. No "SPI rx bad data" at boot. UART and i2c good.
Change-Id: Id451cfae21e1d764452429dc5adfe1317ff5b140
Signed-off-by: Louis Yung-Chieh Lo <yjlou@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/181135
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/nyan/board.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/board/nyan/board.c b/board/nyan/board.c index bbaa1cc261..060b9a40e1 100644 --- a/board/nyan/board.c +++ b/board/nyan/board.c @@ -91,9 +91,9 @@ BUILD_ASSERT(ARRAY_SIZE(gpio_list) == GPIO_COUNT); /* Pins with alternate functions */ const struct gpio_alt_func gpio_alt_funcs[] = { - {GPIO_A, 0x00f0, GPIO_ALT_SPI, MODULE_SPI}, - {GPIO_A, 0x0600, GPIO_ALT_USART, MODULE_UART}, - {GPIO_B, 0x00c0, GPIO_ALT_I2C, MODULE_I2C}, + {GPIO_A, 0x00f0, GPIO_ALT_SPI, MODULE_SPI, GPIO_DEFAULT}, + {GPIO_A, 0x0600, GPIO_ALT_USART, MODULE_UART, GPIO_DEFAULT}, + {GPIO_B, 0x00c0, GPIO_ALT_I2C, MODULE_I2C, GPIO_DEFAULT}, }; const int gpio_alt_funcs_count = ARRAY_SIZE(gpio_alt_funcs); |