summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWonjoon Lee <woojoo.lee@samsung.com>2016-04-30 17:11:34 +0900
committerchrome-bot <chrome-bot@chromium.org>2016-05-06 00:25:15 -0700
commitcd2ef5a5fa68136cf8e87ba14abe28253b26ca3b (patch)
tree88eb9165212479659a6a77889d22f4e449b2a05c
parentbe930e3425919f071e07bbcfa49c66863e2170c4 (diff)
downloadchrome-ec-cd2ef5a5fa68136cf8e87ba14abe28253b26ca3b.tar.gz
kevin: Add support for SPI_MASTER on kevin
Enabling SPI_MASTER on SPIP port in npcx BUG=chrome-os-partner:52844 TEST=spixfer rlen 0 0 1 shows 0xd2 on kevin BRANCH=None Change-Id: I3fe333a7d69fe16c2c630c3c2487320a0d1c020b Signed-off-by: Wonjoon Lee <woojoo.lee@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/341577 Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r--board/kevin/board.c13
-rw-r--r--board/kevin/board.h9
2 files changed, 19 insertions, 3 deletions
diff --git a/board/kevin/board.c b/board/kevin/board.c
index 8ec68340f3..75bf2b0302 100644
--- a/board/kevin/board.c
+++ b/board/kevin/board.c
@@ -28,6 +28,7 @@
#include "pwm_chip.h"
#include "registers.h"
#include "shi_chip.h"
+#include "spi.h"
#include "switch.h"
#include "timer.h"
#include "thermal.h"
@@ -100,6 +101,13 @@ const struct power_signal_info power_signal_list[] = {
BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT);
/******************************************************************************/
+/* SPI devices */
+const struct spi_device_t spi_devices[] = {
+ { CONFIG_SPI_ACCEL_PORT, 1, GPIO_SPI_SENSOR_CS_L }
+};
+const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices);
+
+/******************************************************************************/
/* Wake-up pins for hibernate */
const enum gpio_signal hibernate_wake_pins[] = {
GPIO_POWER_BUTTON_L,
@@ -213,6 +221,11 @@ static void board_init(void)
i,
&charge_none);
}
+
+ /* Sensor Init */
+ gpio_config_module(MODULE_SPI_MASTER, 1);
+ spi_enable(CONFIG_SPI_ACCEL_PORT, 1);
+ CPRINTS("Board using SPI sensors");
}
DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
diff --git a/board/kevin/board.h b/board/kevin/board.h
index 95aa0ef94a..3ecff9ff64 100644
--- a/board/kevin/board.h
+++ b/board/kevin/board.h
@@ -31,8 +31,8 @@
#define CONFIG_KEYBOARD_COL2_INVERTED
#define CONFIG_KEYBOARD_PROTOCOL_MKBP /* Instead of 8042 protocol of keyboard */
#define CONFIG_POWER_BUTTON
-/* TODO: Verify W25Q40 protect regs are compatible with W25X40 */
-#define CONFIG_SPI_FLASH_W25X40
+#define CONFIG_SPI
+#define CONFIG_SPI_MASTER
#define CONFIG_VBOOT_HASH
#define CONFIG_CHARGER
@@ -77,7 +77,7 @@
#define CONFIG_CMD_STACKOVERFLOW
#define CONFIG_CMD_JUMPTAGS
#define CONFIG_CMD_FLASH
-#define CONFIG_CMD_SPI_FLASH
+#define CONFIG_CMD_SPI_XFER
#define CONFIG_CMD_SCRATCHPAD
#define CONFIG_UART_HOST 0
@@ -99,6 +99,9 @@
#define I2C_PORT_CHARGER NPCX_I2C_PORT2
#define I2C_PORT_BATTERY NPCX_I2C_PORT3
+/* Enable Accel over SPI */
+#define CONFIG_SPI_ACCEL_PORT 0 /* SPI master port (SPIP) form BMI160 */
+
#ifndef __ASSEMBLER__
enum adc_channel {