blob: 3fd9c2d43d224bf35ca102e6dca65bc62281d132 [file] [log] [blame]
MAULIK V VAGHELAf0a03b32021-11-25 14:46:23 +05301/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3#include <console/console.h>
4#include <device/device.h>
5#include <drivers/intel/usb4/retimer/retimer.h>
6#include <intelblocks/tcss.h>
7
8int retimer_get_index_for_typec(uint8_t typec_port)
9{
10 int ec_port = 0;
11
12 const struct device *tcss_port_arr[] = {
13 DEV_PTR(tcss_usb3_port1),
14 DEV_PTR(tcss_usb3_port2),
15 DEV_PTR(tcss_usb3_port3),
16 DEV_PTR(tcss_usb3_port4),
17 };
18
19 for (uint8_t i = 0; i < MAX_TYPE_C_PORTS; i++) {
20 if (i == typec_port) {
Wisley Chen9006d8b2022-03-09 18:52:22 +060021 printk(BIOS_INFO, "USB Type-C %d mapped to EC port %d\n", typec_port,
MAULIK V VAGHELAf0a03b32021-11-25 14:46:23 +053022 ec_port);
23 return ec_port;
24 }
25
26 if (is_dev_enabled(tcss_port_arr[i]))
27 ec_port++;
28 }
29
30 // Code should not come here if typec_port input is correct
31 return -1;
32}