summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2019-08-26 16:41:09 +0800
committerCommit Bot <commit-bot@chromium.org>2019-10-26 10:56:52 +0000
commitdb93764becfb53cb172cf6c7f0828b260b140817 (patch)
tree2652f78165af6e48216f04177fc64efabd8c3115
parent93c0fac6c1ffdf58e29f3c0a7876a79d5a2bd2f0 (diff)
downloadchrome-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.c10
-rw-r--r--board/jacuzzi/board.c3
-rw-r--r--board/kodama/board.c3
-rw-r--r--board/kukui/board.c3
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);