diff options
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/intel/pmc_mux/conn/chip.h | 8 | ||||
-rw-r--r-- | src/drivers/intel/pmc_mux/conn/conn.c | 15 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/drivers/intel/pmc_mux/conn/chip.h b/src/drivers/intel/pmc_mux/conn/chip.h index 8497350337..461916ed98 100644 --- a/src/drivers/intel/pmc_mux/conn/chip.h +++ b/src/drivers/intel/pmc_mux/conn/chip.h @@ -23,4 +23,12 @@ struct drivers_intel_pmc_mux_conn_config { enum typec_orientation hsl_orientation; }; +/* + * Method verifies input "conn" device. + * Returns 'true' if device passed is Intel PMC MUX Conn device else returns 'false'. + * Method also outputs the usb2 and usb3 port numbers associated with the 'conn' device + */ +bool intel_pmc_mux_conn_get_ports(const struct device *conn, unsigned int *usb2_port, + unsigned int *usb3_port); + #endif /* __DRIVERS_INTEL_PMC_MUX_CONN_H__ */ diff --git a/src/drivers/intel/pmc_mux/conn/conn.c b/src/drivers/intel/pmc_mux/conn/conn.c index 9fd85431f3..b6bf371471 100644 --- a/src/drivers/intel/pmc_mux/conn/conn.c +++ b/src/drivers/intel/pmc_mux/conn/conn.c @@ -85,3 +85,18 @@ struct chip_operations drivers_intel_pmc_mux_conn_ops = { CHIP_NAME("Intel PMC MUX CONN Driver") .enable_dev = conn_enable, }; + +bool intel_pmc_mux_conn_get_ports(const struct device *conn, unsigned int *usb2_port, + unsigned int *usb3_port) +{ + const struct drivers_intel_pmc_mux_conn_config *mux_config; + + if (!conn->chip_info || conn->chip_ops != &drivers_intel_pmc_mux_conn_ops) + return false; + + mux_config = conn->chip_info; + *usb2_port = mux_config->usb2_port_number; + *usb3_port = mux_config->usb3_port_number; + + return true; +}; |