From d3784365bf1633dddd6671ee0c5322e87ada9db7 Mon Sep 17 00:00:00 2001 From: Keith Short Date: Thu, 15 Aug 2019 13:06:20 -0600 Subject: Volteer: add I2C bus configuration Configure I2C pins and i2c_ports for Volteer BUG=none BRANCH=none TEST=make BOARD=volteer, make buildall Change-Id: I3834a18a94565566b839d1e34befb180a366177c Signed-off-by: Keith Short Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1758534 Reviewed-by: Abe Levkoy --- baseboard/volteer/baseboard.c | 50 +++++++++++++++++++++++++++++++++++++++++++ baseboard/volteer/baseboard.h | 11 ++++++++++ 2 files changed, 61 insertions(+) (limited to 'baseboard/volteer') diff --git a/baseboard/volteer/baseboard.c b/baseboard/volteer/baseboard.c index e10e892566..454ec25122 100644 --- a/baseboard/volteer/baseboard.c +++ b/baseboard/volteer/baseboard.c @@ -5,6 +5,7 @@ /* Volteer family-specific configuration */ #include "gpio.h" +#include "i2c.h" /******************************************************************************/ /* Wake up pins */ @@ -12,3 +13,52 @@ const enum gpio_signal hibernate_wake_pins[] = { }; const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins); +/******************************************************************************/ +/* I2C port map configuration */ +const struct i2c_port_t i2c_ports[] = { + { + .name = "sensor", + .port = I2C_PORT_SENSOR, + .kbps = 400, + .scl = GPIO_EC_I2C0_SENSOR_SCL, + .sda = GPIO_EC_I2C0_SENSOR_SDA, + }, + { + .name = "usb_c0", + .port = I2C_PORT_USB_C0, + /* TODO: design supports 1 MHz, set to 100 KHz for bringup */ + .kbps = 100, + .scl = GPIO_EC_I2C1_USB_C0_SCL, + .sda = GPIO_EC_I2C1_USB_C0_SDA, + }, + { + .name = "usb_c1", + .port = I2C_PORT_USB_C1, + /* TODO: design supports 1 MHz, set to 100 KHz for bringup */ + .kbps = 100, + .scl = GPIO_EC_I2C2_USB_C1_SCL, + .sda = GPIO_EC_I2C2_USB_C1_SDA, + }, + { + .name = "usb_1_mix", + .port = I2C_PORT_USB_1_MIX, + .kbps = 100, + .scl = GPIO_EC_I2C3_USB_1_MIX_SCL, + .sda = GPIO_EC_I2C3_USB_1_MIX_SDA, + }, + { + .name = "power", + .port = I2C_PORT_POWER, + .kbps = 400, + .scl = GPIO_EC_I2C5_POWER_SCL, + .sda = GPIO_EC_I2C5_POWER_SDA, + }, + { + .name = "eeprom", + .port = I2C_PORT_EEPROM, + .kbps = 400, + .scl = GPIO_EC_I2C7_EEPROM_SCL, + .sda = GPIO_EC_I2C7_EEPROM_SDA, + }, +}; +const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); diff --git a/baseboard/volteer/baseboard.h b/baseboard/volteer/baseboard.h index 7da10339a0..e6c3363e37 100644 --- a/baseboard/volteer/baseboard.h +++ b/baseboard/volteer/baseboard.h @@ -18,7 +18,9 @@ #define CONFIG_SPI_FLASH_W25Q80 /* Internal SPI flash type. */ /* EC Defines */ +#define CONFIG_BOARD_VERSION_CBI #define CONFIG_CRC8 +#define CONFIG_CROS_BOARD_INFO #define CONFIG_HIBERNATE_PSL #define CONFIG_VBOOT_HASH #define CONFIG_VSTORE @@ -53,6 +55,15 @@ /* BC 1.2 */ /* I2C Bus Configuration */ +#define CONFIG_I2C +#define I2C_PORT_SENSOR NPCX_I2C_PORT0_0 +#define I2C_PORT_USB_C0 NPCX_I2C_PORT1_0 +#define I2C_PORT_USB_C1 NPCX_I2C_PORT2_0 +#define I2C_PORT_USB_1_MIX NPCX_I2C_PORT3_0 +#define I2C_PORT_POWER NPCX_I2C_PORT5_0 +#define I2C_PORT_EEPROM NPCX_I2C_PORT7_0 +#define I2C_ADDR_EEPROM_FLAGS 0x50 +#define CONFIG_I2C_MASTER #ifndef __ASSEMBLER__ -- cgit v1.2.1