xref: /aosp_15_r20/external/coreboot/src/drivers/intel/pmc_mux/conn/chip.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #ifndef __DRIVERS_INTEL_PMC_MUX_CONN_H__
4 #define __DRIVERS_INTEL_PMC_MUX_CONN_H__
5 
6 #include <boot/coreboot_tables.h>
7 
8 struct drivers_intel_pmc_mux_conn_config {
9 	/* A pointer to the SoC's USB-2 device */
10 	DEVTREE_CONST struct device *usb2_port;
11 	/* A pointer to the SoC's USB-3 device */
12 	DEVTREE_CONST struct device *usb3_port;
13 	/* Orientation of the sideband signals (SBU) */
14 	enum type_c_orientation sbu_orientation;
15 	/* Orientation of the High Speed lines */
16 	enum type_c_orientation hsl_orientation;
17 };
18 
19 /*
20  * Method verifies input "conn" device.
21  * Returns 'true' if device passed is Intel PMC MUX Conn device else returns 'false'.
22  * Method also outputs the usb2 and usb3 port numbers associated with the 'conn' device
23  */
24 bool intel_pmc_mux_conn_get_ports(const struct device *conn, unsigned int *usb2_port,
25 				unsigned int *usb3_port);
26 
27 #endif /* __DRIVERS_INTEL_PMC_MUX_CONN_H__ */
28