diff options
author | Ting Shen <phoenixshen@google.com> | 2019-08-26 16:41:09 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-26 10:56:52 +0000 |
commit | db93764becfb53cb172cf6c7f0828b260b140817 (patch) | |
tree | 2652f78165af6e48216f04177fc64efabd8c3115 | |
parent | 93c0fac6c1ffdf58e29f3c0a7876a79d5a2bd2f0 (diff) | |
download | chrome-ec-db93764becfb53cb172cf6c7f0828b260b140817.tar.gz |
kukui: set SPI pin to high speed
The SPI pins should be configured to high speed to meet the spec.
And since the pin assignment is same on all kukui families, move the
setup code to baseboard/.
BUG=b:138768646
TEST=verified by observe the waveform
BRANCH=kukui
Change-Id: I5b07767000bdf47101f83d338d06e7679c4f4848
Signed-off-by: Ting Shen <phoenixshen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1770329
Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
Commit-Queue: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
-rw-r--r-- | baseboard/kukui/baseboard.c | 10 | ||||
-rw-r--r-- | board/jacuzzi/board.c | 3 | ||||
-rw-r--r-- | board/kodama/board.c | 3 | ||||
-rw-r--r-- | board/kukui/board.c | 3 |
4 files changed, 10 insertions, 9 deletions
diff --git a/baseboard/kukui/baseboard.c b/baseboard/kukui/baseboard.c index 2882fe760f..bdd4277b5c 100644 --- a/baseboard/kukui/baseboard.c +++ b/baseboard/kukui/baseboard.c @@ -6,6 +6,8 @@ #include "adc.h" #include "adc_chip.h" #include "gpio.h" +#include "hooks.h" +#include "registers.h" #include "timer.h" #define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args) @@ -112,6 +114,14 @@ int board_get_version(void) return version; } +static void baseboard_spi_init(void) +{ + /* Set SPI PA15,PB3/4/5/13/14/15 pins to high speed */ + STM32_GPIO_OSPEEDR(GPIO_A) |= 0xc0000000; + STM32_GPIO_OSPEEDR(GPIO_B) |= 0xfc000fc0; +} +DECLARE_HOOK(HOOK_INIT, baseboard_spi_init, HOOK_PRIO_INIT_SPI + 1); + #ifndef VARIANT_KUKUI_BATTERY_SMART int board_allow_i2c_passthru(int port) { diff --git a/board/jacuzzi/board.c b/board/jacuzzi/board.c index d9e66c63b4..ec1ca3160e 100644 --- a/board/jacuzzi/board.c +++ b/board/jacuzzi/board.c @@ -214,9 +214,6 @@ static void board_init(void) gpio_set_level(GPIO_PMIC_FORCE_RESET_ODL, 1); } - /* Set SPI1 PB13/14/15 pins to high speed */ - STM32_GPIO_OSPEEDR(GPIO_B) |= 0xfc000000; - /* Enable TCPC alert interrupts */ gpio_enable_interrupt(GPIO_USB_C0_PD_INT_ODL); diff --git a/board/kodama/board.c b/board/kodama/board.c index 9178c2cf4d..0e1d4bf0c0 100644 --- a/board/kodama/board.c +++ b/board/kodama/board.c @@ -204,9 +204,6 @@ static void board_init(void) gpio_set_level(GPIO_PMIC_FORCE_RESET_ODL, 1); } - /* Set SPI1 PB13/14/15 pins to high speed */ - STM32_GPIO_OSPEEDR(GPIO_B) |= 0xfc000000; - /* Enable TCPC alert interrupts */ gpio_enable_interrupt(GPIO_USB_C0_PD_INT_ODL); diff --git a/board/kukui/board.c b/board/kukui/board.c index 78ea8a84d7..b2a5f6dd59 100644 --- a/board/kukui/board.c +++ b/board/kukui/board.c @@ -256,9 +256,6 @@ static void board_init(void) gpio_set_level(GPIO_PMIC_FORCE_RESET_ODL, 1); } - /* Set SPI1 PB13/14/15 pins to high speed */ - STM32_GPIO_OSPEEDR(GPIO_B) |= 0xfc000000; - /* Enable TCPC alert interrupts */ gpio_enable_interrupt(GPIO_USB_C0_PD_INT_ODL); |