1 /* 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 retimer_get_index_for_typec(uint8_t typec_port)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_port0), 14 DEV_PTR(tcss_usb3_port1), 15 DEV_PTR(tcss_usb3_port2), 16 DEV_PTR(tcss_usb3_port3), 17 }; 18 19 for (uint8_t i = 0; i < MAX_TYPE_C_PORTS; i++) { 20 if (i == typec_port) { 21 printk(BIOS_INFO, "USB Type-C %d mapped to EC port %d\n", typec_port, 22 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 } 33