summaryrefslogtreecommitdiff
path: root/board/tglrvpu_ite
diff options
context:
space:
mode:
authorName <poornima.tom@intel.com>2020-07-22 16:05:51 +0530
committerCommit Bot <commit-bot@chromium.org>2020-10-07 22:34:30 +0000
commita8dec10c9da00eca5284ee34246fdeadf1ba9179 (patch)
tree3124d09cef8650f779fac35b8e3d721d07d26114 /board/tglrvpu_ite
parentc96da499286bbe66e767db6768fb9b67057d13ea (diff)
downloadchrome-ec-a8dec10c9da00eca5284ee34246fdeadf1ba9179.tar.gz
intelrvp: Move board specific changes to respective board files
Move board specific GPIO definitions and TCPC configuration from baseboard to JSL/TGL boards to accommodate changes in MECC spec 0.9 vs 1.0. BRANCH=None BUG=b:169551130 TEST=make buildall -j Signed-off-by: pandeyan <anshuman.pandey@intel.com> Change-Id: I53a0545674f22e6cba05f777a4095909c231cfd2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2435174 Commit-Queue: Poornima Tom <poornima.tom@intel.com> Tested-by: Poornima Tom <poornima.tom@intel.com> Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'board/tglrvpu_ite')
-rw-r--r--board/tglrvpu_ite/board.c69
-rw-r--r--board/tglrvpu_ite/board.h11
2 files changed, 80 insertions, 0 deletions
diff --git a/board/tglrvpu_ite/board.c b/board/tglrvpu_ite/board.c
index 5698761c6a..a629059612 100644
--- a/board/tglrvpu_ite/board.c
+++ b/board/tglrvpu_ite/board.c
@@ -13,6 +13,7 @@
#include "i2c.h"
#include "icelake.h"
#include "intc.h"
+#include "it83xx_pd.h"
#include "lid_switch.h"
#include "power.h"
#include "power_button.h"
@@ -20,6 +21,8 @@
#include "system.h"
#include "tablet_mode.h"
#include "uart.h"
+#include "usb_mux.h"
+#include "usb_pd_tcpm.h"
#include "gpio_list.h"
@@ -80,6 +83,72 @@ const struct tcpc_gpio_config_t tcpc_gpios[] = {
};
BUILD_ASSERT(ARRAY_SIZE(tcpc_gpios) == CONFIG_USB_PD_PORT_MAX_COUNT);
+/* USB-C TPCP Configuration */
+const struct tcpc_config_t tcpc_config[] = {
+ [TYPE_C_PORT_0] = {
+ .bus_type = EC_BUS_TYPE_EMBEDDED,
+ /* TCPC is embedded within EC so no i2c config needed */
+ .drv = &it83xx_tcpm_drv,
+#ifdef CONFIG_INTEL_VIRTUAL_MUX
+ .usb23 = TYPE_C_PORT_0_USB2_NUM | (TYPE_C_PORT_0_USB3_NUM << 4),
+#endif
+ },
+ [TYPE_C_PORT_1] = {
+ .bus_type = EC_BUS_TYPE_EMBEDDED,
+ /* TCPC is embedded within EC so no i2c config needed */
+ .drv = &it83xx_tcpm_drv,
+#ifdef CONFIG_INTEL_VIRTUAL_MUX
+ .usb23 = TYPE_C_PORT_1_USB2_NUM | (TYPE_C_PORT_1_USB3_NUM << 4),
+#endif
+ },
+};
+BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == CONFIG_USB_PD_PORT_MAX_COUNT);
+
+/* BB Retimers configuration */
+const struct bb_usb_control bb_controls[] = {
+ [TYPE_C_PORT_0] = {
+ .usb_ls_en_gpio = GPIO_USB_C0_LS_EN,
+ .retimer_rst_gpio = GPIO_USB_C0_RETIMER_RST,
+ },
+ [TYPE_C_PORT_1] = {
+ .usb_ls_en_gpio = GPIO_USB_C1_LS_EN,
+ .retimer_rst_gpio = GPIO_USB_C1_RETIMER_RST,
+ },
+};
+BUILD_ASSERT(ARRAY_SIZE(bb_controls) == CONFIG_USB_PD_PORT_MAX_COUNT);
+
+/* USB retimer Configuration */
+struct usb_mux usbc0_retimer = {
+ .usb_port = TYPE_C_PORT_0,
+ .driver = &bb_usb_retimer,
+ .i2c_port = I2C_PORT0_BB_RETIMER,
+ .i2c_addr_flags = I2C_PORT0_BB_RETIMER_ADDR,
+};
+
+struct usb_mux usbc1_retimer = {
+ .usb_port = TYPE_C_PORT_1,
+ .driver = &bb_usb_retimer,
+ .i2c_port = I2C_PORT1_BB_RETIMER,
+ .i2c_addr_flags = I2C_PORT1_BB_RETIMER_ADDR,
+};
+
+/* USB muxes Configuration */
+const struct usb_mux usb_muxes[] = {
+ [TYPE_C_PORT_0] = {
+ .usb_port = TYPE_C_PORT_0,
+ .driver = &virtual_usb_mux_driver,
+ .hpd_update = &virtual_hpd_update,
+ .next_mux = &usbc0_retimer,
+ },
+ [TYPE_C_PORT_1] = {
+ .usb_port = TYPE_C_PORT_1,
+ .driver = &virtual_usb_mux_driver,
+ .hpd_update = &virtual_hpd_update,
+ .next_mux = &usbc1_retimer,
+ },
+};
+BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == CONFIG_USB_PD_PORT_MAX_COUNT);
+
/* I2C ports */
const struct i2c_port_t i2c_ports[] = {
/* Flash EC */
diff --git a/board/tglrvpu_ite/board.h b/board/tglrvpu_ite/board.h
index 222295c7cd..0a0bd6e14f 100644
--- a/board/tglrvpu_ite/board.h
+++ b/board/tglrvpu_ite/board.h
@@ -8,6 +8,9 @@
#ifndef __CROS_EC_BOARD_H
#define __CROS_EC_BOARD_H
+/* ITE EC variant */
+#define VARIANT_INTELRVP_EC_IT8320
+
/* USB MUX */
#define CONFIG_USB_MUX_VIRTUAL
@@ -31,6 +34,10 @@
#define GPIO_PG_EC_RSMRST_ODL GPIO_RSMRST_L_PGOOD
#define GPIO_PCH_DSW_PWROK GPIO_EC_PCH_DSW_PWROK
#define GPIO_PG_EC_ALL_SYS_PWRGD GPIO_ALL_SYS_PWRGD
+#define CONFIG_BATTERY_PRESENT_GPIO GPIO_EC_BATT_PRES_L
+#define GMR_TABLET_MODE_GPIO_L GPIO_TABLET_MODE_L
+#define GPIO_BAT_LED_RED_L GPIO_BAT_LED_GREEN_L
+#define GPIO_PWR_LED_WHITE_L GPIO_AC_LED_GREEN_L
/* Charger */
#define CONFIG_CHARGER_ISL9241
@@ -43,6 +50,10 @@
#define CONFIG_USB_PD_PORT_MAX_COUNT 2
#define DEDICATED_CHARGE_PORT 2
+/* USB PD config */
+#define CONFIG_USB_PD_TCPM_ITE_ON_CHIP
+#define CONFIG_USB_PD_ITE_ACTIVE_PORT_COUNT 2
+
/* USB-C port's USB2 & USB3 port numbers */
#if defined(BOARD_TGLRVPU_ITE) || defined(BOARD_TGLRVPU_ITE_TCPMV1)
#define TYPE_C_PORT_0_USB2_NUM 6