diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-06-20 12:01:08 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-06-21 23:15:17 +0000 |
commit | f5121aa5b762a68e9e2bca3c4c132cb2ffc9cfdb (patch) | |
tree | 8d2e51a76e1514f186a2c484e479457122de9f0d | |
parent | 11c362df1a73980344da7aa0d62da72945f84c89 (diff) | |
download | chrome-ec-f5121aa5b762a68e9e2bca3c4c132cb2ffc9cfdb.tar.gz |
topology: Add USB2 & USB3 connectivity info to tcpc_config_t
Intel SoC needs which USB2/3 ports are assigned to which Type-C ports.
This patch adds USB2 and USB3 port numbers to tcpc_config_t so that
EC_CMD_LOCATE_CHIP can return it to the host.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=b/134614710
BRANCH=none
TEST=TBD
Change-Id: I10206dde4d71ac6e40a71c65333db4edd3c81e7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1669880
Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r-- | common/peripheral.c | 3 | ||||
-rw-r--r-- | include/config.h | 10 | ||||
-rw-r--r-- | include/usb_pd_tcpm.h | 7 |
3 files changed, 20 insertions, 0 deletions
diff --git a/common/peripheral.c b/common/peripheral.c index 4f16cd981d..301165e34e 100644 --- a/common/peripheral.c +++ b/common/peripheral.c @@ -40,6 +40,9 @@ static int hc_locate_chip(struct host_cmd_handler_args *args) resp->i2c_info.addr = tcpc_config[params->index].i2c_info.addr >> 1; } +#ifdef CONFIG_INTEL_VIRTUAL_MUX + resp->reserved = tcpc_config[params->index].usb23; +#endif #else return EC_RES_UNAVAILABLE; #endif /* CONFIG_USB_PD_PORT_COUNT */ diff --git a/include/config.h b/include/config.h index 9351502ed3..c71d79461e 100644 --- a/include/config.h +++ b/include/config.h @@ -4132,6 +4132,16 @@ */ #undef CONFIG_ISH_PM_RESET_PREP +/* + * On Intel devices EC's USB-C port numbers may not be physically equal to + * AP's USB3 & USB2 port number. Because there can be MAX 15 USB2 ports on + * PCH and MAX 15 USB3 ports on SOC, based on the complexity of the physical + * layout of the board, USB3 & USB2 port signals of AP are routed to respective + * USB-C port of EC. Hence, to configure the Intel Virtual MUX, information of + * USB3 and USB2 port numbers of the respective USB-C port is needed. + */ +#undef CONFIG_INTEL_VIRTUAL_MUX + /*****************************************************************************/ /* * Include board and core configs, since those hold the CONFIG_ constants for a diff --git a/include/usb_pd_tcpm.h b/include/usb_pd_tcpm.h index 9e5f5689de..9ca23e7ecb 100644 --- a/include/usb_pd_tcpm.h +++ b/include/usb_pd_tcpm.h @@ -334,6 +334,13 @@ struct tcpc_config_t { const struct tcpm_drv *drv; /* See TCPC_FLAGS_* above */ uint32_t flags; +#ifdef CONFIG_INTEL_VIRTUAL_MUX + /* + * 0-3: Corresponding USB2 port number (1 ~ 15) + * 4-7: Corresponding USB3 port number (1 ~ 15) + */ + uint8_t usb23; +#endif }; #ifndef CONFIG_USB_PD_TCPC_RUNTIME_CONFIG |