4 /* TODO: Update for Glinda */
8 #define FSP_USB_STRUCT_MAJOR_VERSION 0xd
9 #define FSP_USB_STRUCT_MINOR_VERSION 0xe
11 #define USB2_PORT_COUNT 6
12 #define USB3_PORT_COUNT 3
13 #define USBC_COMBO_PHY_COUNT 2
16 uint8_t compdistune
; ///< COMPDISTUNE
17 uint8_t pllbtune
; ///< PLLBTUNE
18 uint8_t pllitune
; ///< PLLITUNE
19 uint8_t pllptune
; ///< PLLPTUNE
20 uint8_t sqrxtune
; ///< SQRXTUNE
21 uint8_t txfslstune
; ///< TXFSLSTUNE
22 uint8_t txpreempamptune
; ///< TXPREEMPAMPTUNE
23 uint8_t txpreemppulsetune
; ///< TXPREEMPPULSETUNE
24 uint8_t txrisetune
; ///< TXRISETUNE
25 uint8_t txvreftune
; ///< TXVREFTUNE
26 uint8_t txhsxvtune
; ///< TXHSXVTUNE
27 uint8_t txrestune
; ///< TXRESTUNE
31 uint8_t tx_term_ctrl
; ///< tx_term_ctrl
32 uint8_t rx_term_ctrl
; ///< rx_term_ctrl
33 uint8_t tx_vboost_lvl_en
; ///< TX_VBOOST_LVL_EN
34 uint8_t tx_vboost_lvl
; ///< TX_VBOOST_LVL
41 #define USB1_PORT0 (0<<2)
42 #define USB1_PORT1 (1<<2)
43 #define USB1_PORT2 (1<<2)
44 #define USB1_PORT3 (3<<2)
46 #define USB_COMBO_PHY_MODE_USB_C 0
47 #define USB_COMBO_PHY_MODE_USB_ONLY 1
48 #define USB_COMBO_PHY_MODE_USB_DPM 2
49 #define USB_COMBO_PHY_MODE_USB_DPP 3
51 struct usb_phy_config
{
52 uint8_t Version_Major
; ///< USB IP version
53 uint8_t Version_Minor
; ///< USB IP version
54 uint8_t TableLength
; ///< TableLength
56 struct fch_usb2_phy Usb2PhyPort
[USB2_PORT_COUNT
]; ///< USB 2.0 Driving Strength
57 struct fch_usb3_phy Usb3PhyPort
[USB3_PORT_COUNT
]; ///< USB3 PHY Adjustment
58 uint8_t BatteryChargerEnable
; ///< bit[1:0]-Usb0 Port[1:0], bit[3:2]-Usb1 Port[1:0]
59 uint8_t PhyP3CpmP4Support
; ///< bit[1:0]-Usb0 Port[1:0], bit[3:2]-Usb1 Port[1:0]
60 uint8_t ComboPhyStaticConfig
[USBC_COMBO_PHY_COUNT
]; ///< 0-Type C, 1- USB only mode, 2- DP only mode, 3- USB + DP