diff options
author | Name <poornima.tom@intel.com> | 2020-07-22 16:05:51 +0530 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-10-07 22:34:30 +0000 |
commit | a8dec10c9da00eca5284ee34246fdeadf1ba9179 (patch) | |
tree | 3124d09cef8650f779fac35b8e3d721d07d26114 /board/tglrvpu_ite | |
parent | c96da499286bbe66e767db6768fb9b67057d13ea (diff) | |
download | chrome-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.c | 69 | ||||
-rw-r--r-- | board/tglrvpu_ite/board.h | 11 |
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 |