HPI Library
Enumerated types

General Description

This section describes the enumeration types defined by the HPI.

Enumerations

enum  cy_en_hpi_status_t {
  CY_HPI_STAT_INVALID_ARGS = -1,
  CY_HPI_STAT_SUCCESS = 0,
  CY_HPI_STAT_INVALID_CMD = 1,
  CY_HPI_STAT_BAD_PARAM = 2
}
 List of HPI status code. More...
 
enum  cy_en_hpi_response_t {
  CY_HPI_RESPONSE_NO_RESPONSE = 0x00,
  CY_HPI_RESPONSE_SUCCESS = 0x02,
  CY_HPI_RESPONSE_FLASH_DATA_AVAILABLE = 0x03,
  CY_HPI_RESPONSE_INVALID_COMMAND = 0x05,
  CY_HPI_RESPONSE_CMD_FAILED = 0x06,
  CY_HPI_RESPONSE_FLASH_UPDATE_FAILED = 0x07,
  CY_HPI_RESPONSE_INVALID_FW = 0x08,
  CY_HPI_RESPONSE_INVALID_ARGUMENT = 0x09,
  CY_HPI_RESPONSE_NOT_SUPPORTED = 0x0A,
  CY_HPI_RESPONSE_PD_TRANSACTION_FAILED = 0x0C,
  CY_HPI_RESPONSE_PD_COMMAND_FAILED = 0x0D,
  CY_HPI_RESPONSE_UNDEFINED_ERROR = 0x0F,
  CY_HPI_RESPONSE_PDO_DATA = 0x10,
  CY_HPI_RESPONSE_CMD_ABORTED = 0x11,
  CY_HPI_RESPONSE_PORT_BUSY = 0x12,
  CY_HPI_RESPONSE_MIN_MAX_CUR = 0x13,
  CY_HPI_RESPONSE_EXT_SRC_CAP = 0x14,
  CY_HPI_RESPONSE_UCSI_COMMAND_FAILED = 0x15,
  CY_HPI_RESPONSE_PPS_SINK_CAP_MISMATCH = 0x16,
  CY_HPI_RESPONSE_DISC_ID_VDM = 0x18,
  CY_HPI_RESPONSE_DISC_SVID_VDM = 0x19,
  CY_HPI_RESPONSE_DISC_MODE_VDM = 0x1A,
  CY_HPI_RESPONSE_VCONN_DISABLED = 0x1B,
  CY_HPI_RESPONSE_EXT_SNK_CAP = 0x1C,
  CY_HPI_RESPONSE_I2C_REG = 0x1D,
  CY_HPI_RESPONSE_PD_RESP_DATA = 0x1E,
  CY_HPI_RESPONSE_MIN_MAX_CUR_EPR = 0x1F,
  CY_HPI_RESPONSE_INVALID_ID = 0x40,
  CY_HPI_RESPONSE_INVALID_GUID = 0x41,
  CY_HPI_RESPONSE_INVALID_VER = 0x42,
  CY_HPI_RESPONSE_OUT_OF_SEQ_CMD = 0x43,
  CY_HPI_RESPONSE_INVALID_FWCT = 0x44,
  CY_HPI_RESPONSE_HASH_CMP_FAILED = 0x45,
  CY_HPI_RESPONSE_INVALID_FW_DATA = 0x46,
  CY_HPI_EVENT_RESET_COMPLETE = 0x80,
  CY_HPI_EVENT_MSG_OVERFLOW = 0x81,
  CY_HPI_EVENT_OC_DETECT = 0x82,
  CY_HPI_EVENT_OV_DETECT = 0x83,
  CY_HPI_EVENT_CONNECT_DETECT = 0x84,
  CY_HPI_EVENT_DISCONNECT_DETECT = 0x85,
  CY_HPI_EVENT_NEGOTIATION_COMPLETE = 0x86,
  CY_HPI_EVENT_SWAP_COMPLETE = 0x87,
  CY_HPI_EVENT_PS_RDY_RECEIVED = 0x8A,
  CY_HPI_EVENT_GOTO_MIN_RECEIVED = 0x8B,
  CY_HPI_EVENT_ACCEPT_RECEIVED = 0x8C,
  CY_HPI_EVENT_REJECT_RECEIVED = 0x8D,
  CY_HPI_EVENT_WAIT_RECEIVED = 0x8E,
  CY_HPI_EVENT_HARD_RESET_RECEIVED = 0x8F,
  CY_HPI_EVENT_VDM_RECEIVED = 0x90,
  CY_HPI_EVENT_SOURCE_CAP_RECEIVED = 0x91,
  CY_HPI_EVENT_SINK_CAP_RECEIVED = 0x92,
  CY_HPI_EVENT_DATA_RESET_RECEIVED = 0x93,
  CY_HPI_EVENT_DATA_RESET_COMPLETE = 0x94,
  CY_HPI_EVENT_USB_ENTRY_COMPLETE = 0x95,
  CY_HPI_EVENT_HARD_RESET_SENT = 0x9A,
  CY_HPI_EVENT_SOFT_RESET_SENT = 0x9B,
  CY_HPI_EVENT_CABLE_RESET_SENT = 0x9C,
  CY_HPI_EVENT_SOURCE_DISABLED = 0x9D,
  CY_HPI_EVENT_SENDER_TIMEOUT = 0x9E,
  CY_HPI_EVENT_VDM_NO_RESPONSE = 0x9F,
  CY_HPI_EVENT_UNEXPECTED_VOLTAGE = 0xA0,
  CY_HPI_EVENT_ERROR_RECOVERY = 0xA1,
  CY_HPI_EVENT_BAT_STATUS_RECEIVED = 0xA2,
  CY_HPI_EVENT_ALERT_RECEIVED = 0xA3,
  CY_HPI_EVENT_NOTSUPP_RECEIVED = 0xA4,
  CY_HPI_EVENT_EMCA_DETECT = 0xA6,
  CY_HPI_EVENT_EMCA_NOT_DETECT = 0xA7,
  CY_HPI_EVENT_RP_CHANGE_DETECT = 0xAA,
  CY_HPI_EVENT_BB_UPDATE = 0xAB,
  CY_HPI_EVENT_PD_EXTD_MSG_SOP = 0xAC,
  CY_HPI_EVENT_CCG2_RESERVED_AD = 0xAD,
  CY_HPI_EVENT_CCG2_RESERVED_AE = 0xAE,
  CY_HPI_EVENT_CCG2_RESERVED_AF = 0xAF,
  CY_HPI_EVENT_ALT_MODE = 0xB0,
  CY_HPI_EVENT_APP_HW = 0xB1,
  CY_HPI_EVENT_PD_EXTD_MSG_SOP_PRIME = 0xB4,
  CY_HPI_EVENT_PD_EXTD_MSG_SOP_DPRIME = 0xB5,
  CY_HPI_EVENT_OT_DETECT = 0xB6,
  CY_HPI_EVENT_RESERVED_B7 = 0xB7,
  CY_HPI_EVENT_HARDWARE_ERROR = 0xB8,
  CY_HPI_EVENT_VCONN_OC_DETECT = 0xB9,
  CY_HPI_EVENT_CC_VBUS_SHORT = 0xBA,
  CY_HPI_EVENT_SBU_VBUS_SHORT = 0xBB,
  CY_HPI_EVENT_SC_DETECT = 0xBC,
  CY_HPI_EVENT_RC_DETECT = 0xBD,
  CY_HPI_EVENT_STANDBY_CURRENT = 0xBE,
  CY_HPI_EVENT_UV_DETECT = 0xBF,
  CY_HPI_EVENT_SOC_TIMEOUT = 0xC0,
  CY_HPI_EVENT_SRC_RP_REMOVED = 0xC1,
  CY_HPI_EVENT_PR_SWAP_ACCEPTED = 0xC2,
  CY_HPI_EVENT_SNK_POWER_REDUCED = 0xC3,
  CY_HPI_EVENT_BC_12_EVENTS = 0xC4,
  CY_HPI_EVENT_CUST_NTF_BEFORE_HR = 0xD0,
  CY_HPI_EVENT_CUST_UVDM_RCVD = 0xD1,
  CY_HPI_EVENT_CUST_ALT_MODE_CHANGE = 0xD2,
  CY_HPI_EVENT_CUST_DISCOVERY_COMPLETE = 0xD3,
  CY_HPI_EVENT_COLLECTED_CHUNKED_MSG = 0xD4,
  CY_HPI_EVENT_BIST_STM_ENTRY = 0xD5,
  CY_HPI_EVENT_BIST_STM_EXIT = 0xD6,
  CY_HPI_EVENT_SRC_INFO_RECEIVED = 0xD7,
  CY_HPI_EVENT_REVISION_RECEIVED = 0xD8,
  CY_HPI_EVENT_EPR_MODE_RECEIVED = 0xD9,
  CY_HPI_EVENT_PORT_DISABLED = 0xDA,
  CY_HPI_EVENT_MOISTURE_DETECTED = 0xDB,
  CY_HPI_EVENT_MOISTURE_CLEARED = 0xDC,
  CY_HPI_EVENT_HASH_MEASURE_COMPLETE = 0xDD
}
 List of HPI response and event codes. More...
 
enum  cy_en_hpi_dev_reg_address_t {
  CY_HPI_DEV_REG_DEVICE_MODE = 0x00,
  CY_HPI_DEV_REG_BOOT_MODE_REASON = 0x01,
  CY_HPI_DEV_REG_SI_ID = 0x02,
  CY_HPI_DEV_REG_SI_ID_LSB = 0x03,
  CY_HPI_DEV_REG_BL_LAST_ROW = 0x04,
  CY_HPI_DEV_REG_BL_LAST_ROW_MSB = 0x05,
  CY_HPI_DEV_REG_INTR_ADDR = 0x06,
  CY_HPI_DEV_REG_JUMP_TO_BOOT = 0x07,
  CY_HPI_DEV_REG_RESET_ADDR = 0x08,
  CY_HPI_DEV_REG_RESET_CMD = 0x09,
  CY_HPI_DEV_REG_ENTER_FLASH_MODE = 0x0A,
  CY_HPI_DEV_REG_VALIDATE_FW_ADDR = 0x0B,
  CY_HPI_DEV_REG_FLASH_READ_WRITE = 0x0C,
  CY_HPI_DEV_REG_FLASH_READ_WRITE_CMD = 0x0D,
  CY_HPI_DEV_REG_FLASH_ROW_LSB = 0x0E,
  CY_HPI_DEV_REG_FLASH_ROW_MSB = 0x0F,
  CY_HPI_DEV_REG_ALL_VERSION = 0x10,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_1 = 0x11,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_2 = 0x12,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_3 = 0x13,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_4 = 0x14,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_5 = 0x15,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_6 = 0x16,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_7 = 0x17,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_8 = 0x18,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_9 = 0x19,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_10 = 0x1A,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_11 = 0x1B,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_12 = 0x1C,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_13 = 0x1D,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_14 = 0x1E,
  CY_HPI_DEV_REG_ALL_VERSION_BYTE_15 = 0x1F,
  CY_HPI_DEV_REG_FW_2_VERSION = 0x20,
  CY_HPI_DEV_REG_FW_2_VERSION_BYTE_1 = 0x21,
  CY_HPI_DEV_REG_FW_2_VERSION_BYTE_2 = 0x22,
  CY_HPI_DEV_REG_FW_2_VERSION_BYTE_3 = 0x23,
  CY_HPI_DEV_REG_FW_2_VERSION_BYTE_4 = 0x24,
  CY_HPI_DEV_REG_FW_2_VERSION_BYTE_5 = 0x25,
  CY_HPI_DEV_REG_FW_2_VERSION_BYTE_6 = 0x26,
  CY_HPI_DEV_REG_FW_2_VERSION_BYTE_7 = 0x27,
  CY_HPI_DEV_REG_FW_1_BIN_LOC_LSB = 0x28,
  CY_HPI_DEV_REG_FW_1_BIN_LOC_MSB = 0x29,
  CY_HPI_DEV_REG_FW_2_BIN_LOC_LSB = 0x2A,
  CY_HPI_DEV_REG_FW_2_BIN_LOC_MSB = 0x2B,
  CY_HPI_DEV_REG_PORT_ENABLE = 0x2C,
  CY_HPI_DEV_REG_SLEEP_CTRL = 0x2D,
  CY_HPI_DEV_REG_POWER_STAT = 0x2E,
  CY_HPI_DEV_REG_SET_APP_PRIORITY = 0x2F,
  CY_HPI_DEV_REG_READ_CUSTOMER_INFO = 0x30,
  CY_HPI_DEV_REG_BATTERY_STAT = 0x31,
  CY_HPI_DEV_REG_WD_RESET_COUNT = 0x32,
  CY_HPI_DEV_REG_READ_DIE_INFO = 0x33,
  CY_HPI_DEV_REG_HPI_VERSION_EXT = 0x34,
  CY_HPI_DEV_REG_HPI_VERSION_EXT_B1 = 0x35,
  CY_HPI_DEV_REG_HPI_VERSION_EXT_B2 = 0x36,
  CY_HPI_DEV_REG_HPI_VERSION_EXT_B3 = 0x37,
  CY_HPI_DEV_REG_UCSI_STATUS = 0x38,
  CY_HPI_DEV_REG_UCSI_CONTROL = 0x39,
  CY_HPI_DEV_REG_CFGTAB_VERSION = 0x3A,
  CY_HPI_DEV_REG_SYS_PWR_STATE = 0x3B,
  CY_HPI_DEV_REG_HPI_VERSION = 0x3C,
  CY_HPI_DEV_REG_HPI_VERSION_B1 = 0x3D,
  CY_HPI_DEV_REG_HPI_VERSION_B2 = 0x3E,
  CY_HPI_DEV_REG_HPI_VERSION_B3 = 0x3F,
  CY_HPI_DEV_REG_USERDEF_00 = 0x40,
  CY_HPI_DEV_REG_USERDEF_01 = 0x41,
  CY_HPI_DEV_REG_USERDEF_02 = 0x42,
  CY_HPI_DEV_REG_USERDEF_03 = 0x43,
  CY_HPI_DEV_REG_USERDEF_04 = 0x44,
  CY_HPI_DEV_REG_USERDEF_05 = 0x45,
  CY_HPI_DEV_REG_USERDEF_06 = 0x46,
  CY_HPI_DEV_REG_USERDEF_07 = 0x47,
  CY_HPI_DEV_REG_USERDEF_08 = 0x48,
  CY_HPI_DEV_REG_USERDEF_09 = 0x49,
  CY_HPI_DEV_REG_USERDEF_0A = 0x4A,
  CY_HPI_DEV_REG_USERDEF_0B = 0x4B,
  CY_HPI_DEV_REG_USERDEF_0C = 0x4C,
  CY_HPI_DEV_REG_USERDEF_0D = 0x4D,
  CY_HPI_DEV_REG_USERDEF_0E = 0x4E,
  CY_HPI_DEV_REG_USERDEF_0F = 0x4F,
  CY_HPI_DEV_BB_DISABLE_RESET = 0x50,
  CY_HPI_DEV_BB_ALT_MODE_STATUS = 0x52,
  CY_HPI_DEV_BB_ALT_MODE_STAT_B1 = 0x53,
  CY_HPI_DEV_BB_OPER_MODEL = 0x54,
  CY_HPI_DEV_BB_ADDL_FAILURE_INFO = 0x55,
  CY_HPI_DEV_BB_CMD_REG = 0x56,
  CY_HPI_DEV_BB_MISC_INFO = 0x57,
  CY_HPI_DEV_REG_BB_BL_VER_B0 = 0x58,
  CY_HPI_DEV_REG_BB_BL_VER_B1 = 0x59,
  CY_HPI_DEV_REG_BB_BL_VER_B2 = 0x5A,
  CY_HPI_DEV_REG_BB_BL_VER_B3 = 0x5B,
  CY_HPI_DEV_REG_BB_BL_VER_B4 = 0x5C,
  CY_HPI_DEV_REG_BB_BL_VER_B5 = 0x5D,
  CY_HPI_DEV_REG_BB_BL_VER_B6 = 0x5E,
  CY_HPI_DEV_REG_BB_BL_VER_B7 = 0x5F,
  CY_HPI_DEV_REG_BB_FW_VER_B0 = 0x60,
  CY_HPI_DEV_REG_BB_FW_VER_B1 = 0x61,
  CY_HPI_DEV_REG_BB_FW_VER_B2 = 0x62,
  CY_HPI_DEV_REG_BB_FW_VER_B3 = 0x63,
  CY_HPI_DEV_REG_BB_FW_VER_B4 = 0x64,
  CY_HPI_DEV_REG_BB_FW_VER_B5 = 0x65,
  CY_HPI_DEV_REG_BB_FW_VER_B6 = 0x66,
  CY_HPI_DEV_REG_BB_FW_VER_B7 = 0x67,
  CY_HPI_DEV_REG_RESERVED_68H = 0x68,
  CY_HPI_DEV_REG_RESERVED_69H = 0x69,
  CY_HPI_DEV_REG_RESERVED_6AH = 0x6A,
  CY_HPI_DEV_REG_RESERVED_6BH = 0x6B,
  CY_HPI_DEV_REG_RESERVED_6CH = 0x6C,
  CY_HPI_DEV_REG_RESERVED_6DH = 0x6D,
  CY_HPI_DEV_REG_RESERVED_6EH = 0x6E,
  CY_HPI_DEV_REG_RESERVED_6FH = 0x6F,
  CY_HPI_DEV_REG_PPS_DESIGN_VOLT_LSB = 0x70,
  CY_HPI_DEV_REG_PPS_DESIGN_VOLT_MSB = 0x71,
  CY_HPI_DEV_REG_FW_UPDATE_LOCK = 0x72,
  CY_HPI_DEV_REG_DEV_CONTROL = 0x73,
  CY_HPI_DEV_REG_BYTE_74_RESERVED = 0x74,
  CY_HPI_DEV_REG_RESPONSE = 0x7E,
  CY_HPI_DEV_REG_RESPONSE_LEN = 0x7F,
  CY_HPI_DEV_REG_BYTE_A0_RESERVED = 0xA0,
  CY_HPI_DEV_REG_BYTE_A4_RESERVED = 0xA4
}
 List of HPI device information register addresses. More...
 
enum  cy_en_hpi_port_reg_address_t {
  CY_HPI_PORT_REG_VDM_CTRL = 0x00,
  CY_HPI_PORT_REG_VDM_CTRL_LEN = 0x01,
  CY_HPI_PORT_REG_EFF_SRC_PDO_MASK = 0x02,
  CY_HPI_PORT_REG_EFF_SINK_PDO_MASK = 0x03,
  CY_HPI_PORT_REG_SOURCE_PDO_ADDR = 0x04,
  CY_HPI_PORT_REG_SINK_PDO_ADDR = 0x05,
  CY_HPI_PORT_REG_PD_CTRL = 0x06,
  CY_HPI_PORT_REG_BYTE_7_RESERVED = 0x07,
  CY_HPI_PORT_REG_PD_STATUS = 0x08,
  CY_HPI_PORT_REG_PD_STATUS_BYTE_1 = 0x09,
  CY_HPI_PORT_REG_PD_STATUS_BYTE_2 = 0x0A,
  CY_HPI_PORT_REG_PD_STATUS_BYTE_3 = 0x0B,
  CY_HPI_PORT_REG_TYPE_C_STATUS = 0x0C,
  CY_HPI_PORT_REG_BUS_VOLTAGE = 0x0D,
  CY_HPI_PORT_REG_BYTE_14_RESERVED = 0x0E,
  CY_HPI_PORT_REG_BYTE_15_RESERVED = 0x0F,
  CY_HPI_PORT_REG_CUR_PDO = 0x10,
  CY_HPI_PORT_REG_CUR_PDO_BYTE_1 = 0x11,
  CY_HPI_PORT_REG_CUR_PDO_BYTE_2 = 0x12,
  CY_HPI_PORT_REG_CUR_PDO_BYTE_3 = 0x13,
  CY_HPI_PORT_REG_CUR_RDO = 0x14,
  CY_HPI_PORT_REG_CUR_RDO_BYTE_1 = 0x15,
  CY_HPI_PORT_REG_CUR_RDO_BYTE_2 = 0x16,
  CY_HPI_PORT_REG_CUR_RDO_BYTE_3 = 0x17,
  CY_HPI_PORT_REG_CABLE_VDO = 0x18,
  CY_HPI_PORT_REG_CABLE_VDO_BYTE_1 = 0x19,
  CY_HPI_PORT_REG_CABLE_VDO_BYTE_2 = 0x1A,
  CY_HPI_PORT_REG_CABLE_VDO_BYTE_3 = 0x1B,
  CY_HPI_PORT_REG_ALT_MODE_CMD = 0x1C,
  CY_HPI_PORT_REG_ALT_MODE_CMD_BYTE_1 = 0x1D,
  CY_HPI_PORT_REG_ALT_MODE_CMD_BYTE_2 = 0x1E,
  CY_HPI_PORT_REG_ALT_MODE_CMD_BYTE_3 = 0x1F,
  CY_HPI_PORT_REG_APP_HW_CMD = 0x20,
  CY_HPI_PORT_REG_APP_HW_CMD_BYTE_1 = 0x21,
  CY_HPI_PORT_REG_APP_HW_CMD_BYTE_2 = 0x22,
  CY_HPI_PORT_REG_APP_HW_CMD_BYTE_3 = 0x23,
  CY_HPI_PORT_REG_EVENT_MASK = 0x24,
  CY_HPI_PORT_REG_EVENT_MASK_BYTE_1 = 0x25,
  CY_HPI_PORT_REG_EVENT_MASK_BYTE_2 = 0x26,
  CY_HPI_PORT_REG_EVENT_MASK_BYTE_3 = 0x27,
  CY_HPI_PORT_REG_SWAP_RESPONSE = 0x28,
  CY_HPI_PORT_REG_ACTIVE_EC_MODES = 0x29,
  CY_HPI_PORT_REG_VDM_EC_CTRL = 0x2A,
  CY_HPI_PORT_REG_ALT_MODE_STATUS = 0x2B,
  CY_HPI_PORT_REG_BC_1_2_CONTROL = 0x2C,
  CY_HPI_PORT_REG_BYTE_45_RESERVED = 0x2D,
  CY_HPI_PORT_REG_BYTE_46_RESERVED = 0x2E,
  CY_HPI_PORT_REG_BYTE_47_RESERVED = 0x2F,
  CY_HPI_PORT_REG_CMD_TIMEOUT = 0x30,
  CY_HPI_PORT_REG_FRS_ENABLE = 0x31,
  CY_HPI_PORT_REG_CONSUMER_FET_CTRL = 0x32,
  CY_HPI_PORT_REG_BYTE_51_RESERVED = 0x33,
  CY_HPI_PORT_REG_INTERRUPT_STATUS = 0x34,
  CY_HPI_PORT_REG_INT_STAT_BYTE_1 = 0x35,
  CY_HPI_PORT_REG_INT_STAT_BYTE_2 = 0x36,
  CY_HPI_PORT_REG_INT_STAT_BYTE_3 = 0x37,
  CY_HPI_PORT_REG_USERDEF_00 = 0x38,
  CY_HPI_PORT_REG_USERDEF_01 = 0x39,
  CY_HPI_PORT_REG_USERDEF_02 = 0x3A,
  CY_HPI_PORT_REG_USERDEF_03 = 0x3B,
  CY_HPI_PORT_REG_USERDEF_04 = 0x3C,
  CY_HPI_PORT_REG_USERDEF_05 = 0x3D,
  CY_HPI_PORT_REG_USERDEF_06 = 0x3E,
  CY_HPI_PORT_REG_USERDEF_07 = 0x3F,
  CY_HPI_PORT_REG_USERDEF_08 = 0x40,
  CY_HPI_PORT_REG_USERDEF_09 = 0x41,
  CY_HPI_PORT_REG_USERDEF_0A = 0x42,
  CY_HPI_PORT_REG_USERDEF_0B = 0x43,
  CY_HPI_PORT_REG_USERDEF_0C = 0x44,
  CY_HPI_PORT_REG_USERDEF_0D = 0x45,
  CY_HPI_PORT_REG_USERDEF_0E = 0x46,
  CY_HPI_PORT_REG_USERDEF_0F = 0x47,
  CY_HPI_PORT_REG_USERDEF_10 = 0x48,
  CY_HPI_PORT_REG_USERDEF_11 = 0x49,
  CY_HPI_PORT_REG_USERDEF_12 = 0x4A,
  CY_HPI_PORT_REG_USERDEF_13 = 0x4B,
  CY_HPI_PORT_REG_USERDEF_14 = 0x4C,
  CY_HPI_PORT_REG_USERDEF_15 = 0x4D,
  CY_HPI_PORT_REG_USERDEF_16 = 0x4E,
  CY_HPI_PORT_REG_USERDEF_17 = 0x4F,
  CY_HPI_PORT_REG_ACT_CBL_VDO_2 = 0x50,
  CY_HPI_PORT_REG_ACT_CBL_VDO_2_B1 = 0x51,
  CY_HPI_PORT_REG_ACT_CBL_VDO_2_B2 = 0x52,
  CY_HPI_PORT_REG_ACT_CBL_VDO_2_B3 = 0x53,
  CY_HPI_PORT_REG_SINK_RDO_REQUEST = 0x54,
  CY_HPI_PORT_REG_BUS_CURRENT = 0x58,
  CY_HPI_PORT_REG_HOST_CAP_CTRL = 0x5C,
  CY_HPI_PORT_REG_ALT_MODE_MASK = 0x60,
  CY_HPI_PORT_REG_ALT_MODE_SVID = 0x62,
  CY_HPI_PORT_REG_ALT_MODE_SVID_BYTE_1 = 0x63,
  CY_HPI_PORT_REG_SOURCE_PDO_EPR_MASK = 0x64,
  CY_HPI_PORT_REG_SINK_PDO_EPR_MASK = 0x65,
  CY_HPI_PORT_REG_BYTE_66_RESERVED = 0x66,
  CY_HPI_PORT_REG_BYTE_67_RESERVED = 0x67,
  CY_HPI_PORT_REG_SINK_PPS_AVS_CTRL = 0x68,
  CY_HPI_PORT_REG_BYTE_80_RESERVED = 0x80,
  CY_HPI_PORT_REG_BYTE_84_RESERVED = 0x84,
  CY_HPI_PORT_REG_BYTE_85_RESERVED = 0x85,
  CY_HPI_PORT_REG_BYTE_86_RESERVED = 0x86,
  CY_HPI_PORT_REG_BYTE_88_RESERVED = 0x88,
  CY_HPI_PORT_REG_BYTE_8C_RESERVED = 0x8C,
  CY_HPI_PORT_REG_BYTE_90_RESERVED = 0x90,
  CY_HPI_PORT_REG_BYTE_94_RESERVED = 0x94,
  CY_HPI_PORT_REG_BYTE_95_RESERVED = 0x95,
  CY_HPI_PORT_REG_BYTE_A0_RESERVED = 0xA0,
  CY_HPI_PORT_REG_BYTE_A4_RESERVED = 0xA4,
  CY_HPI_PORT_REG_BYTE_A6_RESERVED = 0xA6
}
 List of USB PD port specified register addresses. More...
 
enum  cy_en_hpi_reg_section_t {
  CY_HPI_REG_SECTION_DEV = 0x00,
  CY_HPI_REG_SECTION_PORT_0 = 0x01,
  CY_HPI_REG_SECTION_PORT_1 = 0x02,
  CY_HPI_REG_SECTION_DEV_AUTO = 0x06,
  CY_HPI_REG_SECTION_UCSI = 0x0F,
  CY_HPI_REG_SECTION_ALL
}
 HPI register section definitions. More...
 
enum  cy_en_hpi_reg_part_t {
  CY_HPI_REG_PART_REG = 0,
  CY_HPI_REG_PART_DATA = 1,
  CY_HPI_REG_PART_FLASH = 2,
  CY_HPI_REG_PART_PDDATA_READ = 4,
  CY_HPI_REG_PART_PDDATA_READ_H = 5,
  CY_HPI_REG_PART_PDDATA_WRITE = 8,
  CY_HPI_REG_PART_PDDATA_WRITE_H = 9
}
 Types of HPI register/memory regions. More...
 
enum  cy_en_hpi_boot_prio_conf_t {
  CY_HPI_BOOT_PRIO_LAST_FLASHED = 0,
  CY_HPI_BOOT_PRIO_FW1,
  CY_HPI_BOOT_PRIO_FW2
}
 Enumeration showing possible boot priority configurations for the firmware application. More...
 
enum  cy_en_hpi_sys_hw_error_t {
  CY_HPI_SYS_HW_ERROR_NONE = 0x00,
  CY_HPI_SYS_HW_ERROR_MUX_ACCESS = 0x01,
  CY_HPI_SYS_HW_ERROR_REG_ACCESS = 0x02,
  CY_HPI_SYS_HW_ERROR_BAD_VOLTAGE = 0x04
}
 List of possible hardware errors defined for the system. More...
 
enum  cy_en_hpi_i2c_owner_t {
  CY_HPI_I2C_OWNER_UCSI = 0,
  CY_HPI_I2C_OWNER_HPI
}
 List of possible owners for the I2C slave interface. More...
 
enum  cy_en_hpi_i2c_cb_cmd_t {
  CY_HPI_I2C_CB_CMD_READ = 0,
  CY_HPI_I2C_CB_CMD_WRITE,
  CY_HPI_I2C_CB_CMD_XFER_END,
  CY_HPI_I2C_CB_CMD_TIMEOUT,
  CY_HPI_I2C_CB_SLAVE_ADDR_MATCH
}
 Type of I2C operation being notified through a callback function. More...
 
enum  cy_en_hpi_pps_avs_ctrl_en_t {
  CY_HPI_PPS_AVS_CTRL_EN_NONE = 0,
  CY_HPI_PPS_AVS_CTRL_EN_PPS,
  CY_HPI_PPS_AVS_CTRL_EN_AVS
}
 List of possible values for the Sink PPS AVS Enable Field. More...
 

Enumeration Type Documentation

◆ cy_en_hpi_status_t

List of HPI status code.

This enumeration lists all the status code returned by HPI APIs.

Enumerator
CY_HPI_STAT_INVALID_ARGS 

Operation failed due to invalid arguments.

CY_HPI_STAT_SUCCESS 

Success status.

CY_HPI_STAT_INVALID_CMD 

Return status when command not supported.

CY_HPI_STAT_BAD_PARAM 

Bad input parameters.

◆ cy_en_hpi_response_t

List of HPI response and event codes.

Enumerator
CY_HPI_RESPONSE_NO_RESPONSE 

No valid response.

CY_HPI_RESPONSE_SUCCESS 

Success response.

CY_HPI_RESPONSE_FLASH_DATA_AVAILABLE 

Flash read data is available in flash data memory.

CY_HPI_RESPONSE_INVALID_COMMAND 

Invalid command received.

CY_HPI_RESPONSE_CMD_FAILED 

Load sharing command failed.

CY_HPI_RESPONSE_FLASH_UPDATE_FAILED 

Flash read/write operation failed.

CY_HPI_RESPONSE_INVALID_FW 

Firmware binary checked is invalid.

CY_HPI_RESPONSE_INVALID_ARGUMENT 

Invalid parameter specified for the command.

CY_HPI_RESPONSE_NOT_SUPPORTED 

Command received is not supported.

CY_HPI_RESPONSE_PD_TRANSACTION_FAILED 

USB PD transaction failed.

CY_HPI_RESPONSE_PD_COMMAND_FAILED 

USB PD command failed.

CY_HPI_RESPONSE_UNDEFINED_ERROR 

Undefined error occurred.

CY_HPI_RESPONSE_PDO_DATA 

PDO read data is available in read data memory.

CY_HPI_RESPONSE_CMD_ABORTED 

HPI initiated PD command is aborted.

CY_HPI_RESPONSE_PORT_BUSY 

HPI initiated PD command failed due to port busy.

CY_HPI_RESPONSE_MIN_MAX_CUR 

HPI response provides sink min/max current data.

CY_HPI_RESPONSE_EXT_SRC_CAP 

HPI response provides external source cap data.

CY_HPI_RESPONSE_UCSI_COMMAND_FAILED 

UCSI command failed.

CY_HPI_RESPONSE_PPS_SINK_CAP_MISMATCH 

Capability mismatch for EC request to enter PPS contract.

CY_HPI_RESPONSE_DISC_ID_VDM 

HPI response provides DISC_ID VDM response.

CY_HPI_RESPONSE_DISC_SVID_VDM 

HPI response provides DISC_SVID VDM response.

CY_HPI_RESPONSE_DISC_MODE_VDM 

HPI response provides DISC_MODE VDM response.

CY_HPI_RESPONSE_VCONN_DISABLED 

PD command is not initiated due to VConn being OFF.

CY_HPI_RESPONSE_EXT_SNK_CAP 

HPI response provides ext.

sink cap data.

CY_HPI_RESPONSE_I2C_REG 

HPI response provides I2C device read data.

CY_HPI_RESPONSE_PD_RESP_DATA 

HPI response provides PD response data.

CY_HPI_RESPONSE_MIN_MAX_CUR_EPR 

HPI response provides EPR sink min/max current data.

CY_HPI_RESPONSE_INVALID_ID 

Invalid FWCT identity received for signed FW upgrade.

>

CY_HPI_RESPONSE_INVALID_GUID 

Invalid GUID received for signed FW upgrade.

>

CY_HPI_RESPONSE_INVALID_VER 

Invalid/older primary FW version received for signed FW upgrade.

>

CY_HPI_RESPONSE_OUT_OF_SEQ_CMD 

Command sent is not expected in current state during signed FW upgrade.

>

CY_HPI_RESPONSE_INVALID_FWCT 

Unauthentic FWCT received for signed FW upgrade.

>

CY_HPI_RESPONSE_HASH_CMP_FAILED 

Hash comparison of FW image and hash in FWCT is not matched during signed FW upgrade.

>

CY_HPI_RESPONSE_INVALID_FW_DATA 

Invalid FW start address or FW size in FWCT table.

CY_HPI_EVENT_RESET_COMPLETE 

Reset complete event notification.

CY_HPI_EVENT_MSG_OVERFLOW 

Event queue overflow.

CY_HPI_EVENT_OC_DETECT 

Overcurrent event detected.

CY_HPI_EVENT_OV_DETECT 

Overvoltage event detected.

CY_HPI_EVENT_CONNECT_DETECT 

Type-C connect detected.

CY_HPI_EVENT_DISCONNECT_DETECT 

Type-C disconnect detected.

CY_HPI_EVENT_NEGOTIATION_COMPLETE 

PD contract negotiation completed.

CY_HPI_EVENT_SWAP_COMPLETE 

Swap (DR_SWAP, PR_SWAP, or VCONN_SWAP) completed.

CY_HPI_EVENT_PS_RDY_RECEIVED 

PS_RDY message received.

CY_HPI_EVENT_GOTO_MIN_RECEIVED 

GOTO_MIN message received.

CY_HPI_EVENT_ACCEPT_RECEIVED 

ACCEPT message received.

CY_HPI_EVENT_REJECT_RECEIVED 

REJECT message received.

CY_HPI_EVENT_WAIT_RECEIVED 

WAIT message received.

CY_HPI_EVENT_HARD_RESET_RECEIVED 

HARD RESET received.

CY_HPI_EVENT_VDM_RECEIVED 

VDM received and the contents are stored in data memory.

CY_HPI_EVENT_SOURCE_CAP_RECEIVED 

Source capabilities received.

PDOs received are stored in data memory.

CY_HPI_EVENT_SINK_CAP_RECEIVED 

Sink capabilities received.

PDOs received are stored in data memory.

CY_HPI_EVENT_DATA_RESET_RECEIVED 

Data reset received.

No event data.

CY_HPI_EVENT_DATA_RESET_COMPLETE 

Data reset sequence completed.

No event data.

CY_HPI_EVENT_USB_ENTRY_COMPLETE 

Enter_USB handshake completed successfully.

CY_HPI_EVENT_HARD_RESET_SENT 

HARD RESET is sent by CCG device.

CY_HPI_EVENT_SOFT_RESET_SENT 

SOFT RESET is sent by CCG device.

Event data will indicate SOFT RESET packet type (SOP, SOP', or SOP'').

CY_HPI_EVENT_CABLE_RESET_SENT 

CABLE RESET is sent by CCG device.

CY_HPI_EVENT_SOURCE_DISABLED 

Source disabled state ID entered.

CY_HPI_EVENT_SENDER_TIMEOUT 

Sender Response timeout occurred.

CY_HPI_EVENT_VDM_NO_RESPONSE 

No response to VDM sent by CCG device.

CY_HPI_EVENT_UNEXPECTED_VOLTAGE 

Unexpected VBus voltage detected.

CY_HPI_EVENT_ERROR_RECOVERY 

Type-C error recovery started.

CY_HPI_EVENT_BAT_STATUS_RECEIVED 

Battery status message received.

CY_HPI_EVENT_ALERT_RECEIVED 

Alert message received.

CY_HPI_EVENT_NOTSUPP_RECEIVED 

Not supported message received.

CY_HPI_EVENT_EMCA_DETECT 

EMCA is detected.

CY_HPI_EVENT_EMCA_NOT_DETECT 

No EMCA present in current connection.

CY_HPI_EVENT_RP_CHANGE_DETECT 

Change in Rp termination detected.

CY_HPI_EVENT_BB_UPDATE 

Billboard update event.

CY_HPI_EVENT_PD_EXTD_MSG_SOP 

PD extended data message (SOP) received.

CY_HPI_EVENT_CCG2_RESERVED_AD 

Reserved event.

CY_HPI_EVENT_CCG2_RESERVED_AE 

Reserved event.

CY_HPI_EVENT_CCG2_RESERVED_AF 

Reserved event.

CY_HPI_EVENT_ALT_MODE 

Alternate mode related event.

Event data contains the SVID corresponding to the mode and the event type.

CY_HPI_EVENT_APP_HW 

Alternate mode control hardware (MUX, HPD, etc.) related event occurred.

CY_HPI_EVENT_PD_EXTD_MSG_SOP_PRIME 

PD extended data message (SOP') received.

CY_HPI_EVENT_PD_EXTD_MSG_SOP_DPRIME 

PD extended data message (SOP'') received.

CY_HPI_EVENT_OT_DETECT 

Overtemperature condition detected.

CY_HPI_EVENT_RESERVED_B7 

Reserved event code.

CY_HPI_EVENT_HARDWARE_ERROR 

System hardware (MUX, regulator, etc.) error.

CY_HPI_EVENT_VCONN_OC_DETECT 

Overcurrent condition detected on VConn supply.

CY_HPI_EVENT_CC_VBUS_SHORT 

Overvoltage condition (possible VBus short) on CC lines.

CY_HPI_EVENT_SBU_VBUS_SHORT 

Overvoltage condition (possible VBus short) on SBU lines.

CY_HPI_EVENT_SC_DETECT 

Short-circuit fault condition.

CY_HPI_EVENT_RC_DETECT 

Reverse current fault condition.

CY_HPI_EVENT_STANDBY_CURRENT 

Standby current.

CY_HPI_EVENT_UV_DETECT 

VBus undervoltage fault condition.

CY_HPI_EVENT_SOC_TIMEOUT 

SoC ACK timeout in Intel host designs.

CY_HPI_EVENT_SRC_RP_REMOVED 

Rp termination applied by the source is removed.

CY_HPI_EVENT_PR_SWAP_ACCEPTED 

PR-SWAP is accepted by CCGx or the port partner.

CY_HPI_EVENT_SNK_POWER_REDUCED 

PD contract re-negotiated to reduce power available.

CY_HPI_EVENT_BC_12_EVENTS 

BC12 related notification.

CY_HPI_EVENT_CUST_NTF_BEFORE_HR 

Event to notify host before sending HARD_RESET.

CY_HPI_EVENT_CUST_UVDM_RCVD 

Customer-defined UVDM Received.

CY_HPI_EVENT_CUST_ALT_MODE_CHANGE 

This event is sent for notification of alternate mode specific conditions like mode entry and mode exit.

CY_HPI_EVENT_CUST_DISCOVERY_COMPLETE 

Customer-defined Discovery Process Completed.

CY_HPI_EVENT_COLLECTED_CHUNKED_MSG 

Event containing collected multi-chunk extended message.

CY_HPI_EVENT_BIST_STM_ENTRY 

BIST STM Entry Request received.

CY_HPI_EVENT_BIST_STM_EXIT 

BIST STM Exit Request received.

CY_HPI_EVENT_SRC_INFO_RECEIVED 

Source Info message received.

CY_HPI_EVENT_REVISION_RECEIVED 

Revision message received.

CY_HPI_EVENT_EPR_MODE_RECEIVED 

EPR Mode Event.

CY_HPI_EVENT_PORT_DISABLED 

Port disabled event received.

CY_HPI_EVENT_MOISTURE_DETECTED 

Moisture detected event received.

CY_HPI_EVENT_MOISTURE_CLEARED 

Moisture cleared event received.

CY_HPI_EVENT_HASH_MEASURE_COMPLETE 

Hash measurement complete event.

◆ cy_en_hpi_dev_reg_address_t

List of HPI device information register addresses.

This enumeration lists the addresses for the HPI device information registers supported by CCGx devices. These registers are used to retrieve firmware mode and version information, and doing firmware and configuration table updates.

Enumerator
CY_HPI_DEV_REG_DEVICE_MODE 

Device mode register: Specifies FW mode, PD port count and flash row size.

CY_HPI_DEV_REG_BOOT_MODE_REASON 

Boot mode reason register: Specifies validity of each firmware image.

Also, reports reason for device staying in Boot mode.

CY_HPI_DEV_REG_SI_ID 

Silicon ID: MS byte.

CY_HPI_DEV_REG_SI_ID_LSB 

Silicon ID: LS byte.

CY_HPI_DEV_REG_BL_LAST_ROW 

Bootloader last row: LS byte.

This is actually the last flash row before the start of the firmware.

CY_HPI_DEV_REG_BL_LAST_ROW_MSB 

Bootloader last row: MS byte.

CY_HPI_DEV_REG_INTR_ADDR 

Interrupt status register.

CY_HPI_DEV_REG_JUMP_TO_BOOT 

Jump to boot (or alt firmware) request register.

CY_HPI_DEV_REG_RESET_ADDR 

Reset request signature register.

CY_HPI_DEV_REG_RESET_CMD 

Reset command register: I2C or device reset.

CY_HPI_DEV_REG_ENTER_FLASH_MODE 

Enter flashing mode request register.

CY_HPI_DEV_REG_VALIDATE_FW_ADDR 

Validate firmware request register.

CY_HPI_DEV_REG_FLASH_READ_WRITE 

Flash read/write signature register.

CY_HPI_DEV_REG_FLASH_READ_WRITE_CMD 

Flash read/write command register: 0 = read, 1 = write.

CY_HPI_DEV_REG_FLASH_ROW_LSB 

Flash row to read/write: LSB.

CY_HPI_DEV_REG_FLASH_ROW_MSB 

Flash row to read/write: MSB.

CY_HPI_DEV_REG_ALL_VERSION 

Bootloader version: LSB of build number.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_1 

Bootloader version: MSB of build number.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_2 

Bootloader version: Patch level.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_3 

Bootloader version: Major and minor number.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_4 

Bootloader version: LSB of application type.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_5 

Bootloader version: MSB of application type.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_6 

Bootloader version: Hardware circuit version.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_7 

Bootloader version: App major and minor number.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_8 

FW1 version: LSB of build number.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_9 

FW1 version: MSB of build number.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_10 

FW1 version: Patch level.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_11 

FW1 version: Major and minor number.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_12 

FW1 version: LSB of application type.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_13 

FW1 version: MSB of application type.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_14 

FW1 version: Hardware circuit version.

CY_HPI_DEV_REG_ALL_VERSION_BYTE_15 

FW1 version: App major and minor number.

CY_HPI_DEV_REG_FW_2_VERSION 

FW2 version: LSB of build number.

CY_HPI_DEV_REG_FW_2_VERSION_BYTE_1 

FW2 version: MSB of build number.

CY_HPI_DEV_REG_FW_2_VERSION_BYTE_2 

FW2 version: Patch level.

CY_HPI_DEV_REG_FW_2_VERSION_BYTE_3 

FW2 version: major and minor number.

CY_HPI_DEV_REG_FW_2_VERSION_BYTE_4 

FW2 version: LSB of application type.

CY_HPI_DEV_REG_FW_2_VERSION_BYTE_5 

FW2 version: MSB of application type.

CY_HPI_DEV_REG_FW_2_VERSION_BYTE_6 

FW2 version: Hardware circuit version.

CY_HPI_DEV_REG_FW_2_VERSION_BYTE_7 

FW2 version: App major and minor number.

CY_HPI_DEV_REG_FW_1_BIN_LOC_LSB 

FW1 binary location: LSB.

CY_HPI_DEV_REG_FW_1_BIN_LOC_MSB 

FW1 binary location: MSB.

CY_HPI_DEV_REG_FW_2_BIN_LOC_LSB 

FW2 binary location: LSB.

CY_HPI_DEV_REG_FW_2_BIN_LOC_MSB 

FW2 binary location: MSB.

CY_HPI_DEV_REG_PORT_ENABLE 

Port enable command/status register.

CY_HPI_DEV_REG_SLEEP_CTRL 

Deep Sleep control register.

CY_HPI_DEV_REG_POWER_STAT 

Power Status register used to update status message.

CY_HPI_DEV_REG_SET_APP_PRIORITY 

Set APP Priority.

CY_HPI_DEV_REG_READ_CUSTOMER_INFO 

Read 32 bytes of customer info.

CY_HPI_DEV_REG_BATTERY_STAT 

Register showing the current battery status.

CY_HPI_DEV_REG_WD_RESET_COUNT 

Watchdog reset count register.

CY_HPI_DEV_REG_READ_DIE_INFO 

Read 32 byte device Die Information.

CY_HPI_DEV_REG_HPI_VERSION_EXT 

HPI version ext register: Byte 0.

CY_HPI_DEV_REG_HPI_VERSION_EXT_B1 

HPI version ext register: Byte 1.

CY_HPI_DEV_REG_HPI_VERSION_EXT_B2 

HPI version ext register: Byte 2.

CY_HPI_DEV_REG_HPI_VERSION_EXT_B3 

HPI version ext register: Byte 3.

CY_HPI_DEV_REG_UCSI_STATUS 

UCSI status register.

CY_HPI_DEV_REG_UCSI_CONTROL 

UCSI control register.

CY_HPI_DEV_REG_CFGTAB_VERSION 

Config table version register.

CY_HPI_DEV_REG_SYS_PWR_STATE 

System Power State register.

CY_HPI_DEV_REG_HPI_VERSION 

HPI version register: Byte 0.

CY_HPI_DEV_REG_HPI_VERSION_B1 

HPI version register: Byte 1.

CY_HPI_DEV_REG_HPI_VERSION_B2 

HPI version register: Byte 2.

CY_HPI_DEV_REG_HPI_VERSION_B3 

HPI version register: Byte 3.

CY_HPI_DEV_REG_USERDEF_00 

User-defined register number 0.

CY_HPI_DEV_REG_USERDEF_01 

User-defined register number 1.

CY_HPI_DEV_REG_USERDEF_02 

User-defined register number 2.

CY_HPI_DEV_REG_USERDEF_03 

User-defined register number 3.

CY_HPI_DEV_REG_USERDEF_04 

User-defined register number 4.

CY_HPI_DEV_REG_USERDEF_05 

User-defined register number 5.

CY_HPI_DEV_REG_USERDEF_06 

User-defined register number 6.

CY_HPI_DEV_REG_USERDEF_07 

User-defined register number 7.

CY_HPI_DEV_REG_USERDEF_08 

User-defined register number 8.

CY_HPI_DEV_REG_USERDEF_09 

User-defined register number 9.

CY_HPI_DEV_REG_USERDEF_0A 

User-defined register number 10.

CY_HPI_DEV_REG_USERDEF_0B 

User-defined register number 11.

CY_HPI_DEV_REG_USERDEF_0C 

User-defined register number 12.

CY_HPI_DEV_REG_USERDEF_0D 

User-defined register number 13.

CY_HPI_DEV_REG_USERDEF_0E 

User-defined register number 14.

CY_HPI_DEV_REG_USERDEF_0F 

User-defined register number 15.

CY_HPI_DEV_BB_DISABLE_RESET 

Disable Billboard reset request register.

CY_HPI_DEV_BB_ALT_MODE_STATUS 

Alt.

mode status for use by Billboard device.

CY_HPI_DEV_BB_ALT_MODE_STAT_B1 

Alt.

mode status for use by Billboard device.

CY_HPI_DEV_BB_OPER_MODEL 

Billboard operating mode configuration.

CY_HPI_DEV_BB_ADDL_FAILURE_INFO 

Used to provide bAdditionalFailureInfo value for Billboard device.

CY_HPI_DEV_BB_CMD_REG 

Billboard command register.

CY_HPI_DEV_BB_MISC_INFO 

Billboard misc info such as self-powered and so on.

CY_HPI_DEV_REG_BB_BL_VER_B0 

Billboard bootloader version: Byte 0.

CY_HPI_DEV_REG_BB_BL_VER_B1 

Billboard bootloader version: Byte 1.

CY_HPI_DEV_REG_BB_BL_VER_B2 

Billboard bootloader version: Byte 2.

CY_HPI_DEV_REG_BB_BL_VER_B3 

Billboard bootloader version: Byte 3.

CY_HPI_DEV_REG_BB_BL_VER_B4 

Billboard bootloader version: Byte 4.

CY_HPI_DEV_REG_BB_BL_VER_B5 

Billboard bootloader version: Byte 5.

CY_HPI_DEV_REG_BB_BL_VER_B6 

Billboard bootloader version: Byte 6.

CY_HPI_DEV_REG_BB_BL_VER_B7 

Billboard bootloader version: Byte 7.

CY_HPI_DEV_REG_BB_FW_VER_B0 

Billboard firmware version: Byte 0.

CY_HPI_DEV_REG_BB_FW_VER_B1 

Billboard firmware version: Byte 1.

CY_HPI_DEV_REG_BB_FW_VER_B2 

Billboard firmware version: Byte 2.

CY_HPI_DEV_REG_BB_FW_VER_B3 

Billboard firmware version: Byte 3.

CY_HPI_DEV_REG_BB_FW_VER_B4 

Billboard firmware version: Byte 4 .

CY_HPI_DEV_REG_BB_FW_VER_B5 

Billboard firmware version: Byte 5.

CY_HPI_DEV_REG_BB_FW_VER_B6 

Billboard firmware version: Byte 6.

CY_HPI_DEV_REG_BB_FW_VER_B7 

Billboard firmware version: Byte 7.

CY_HPI_DEV_REG_RESERVED_68H 

Reserved register.

CY_HPI_DEV_REG_RESERVED_69H 

Reserved register.

CY_HPI_DEV_REG_RESERVED_6AH 

Reserved register.

CY_HPI_DEV_REG_RESERVED_6BH 

Reserved register.

CY_HPI_DEV_REG_RESERVED_6CH 

Reserved register.

CY_HPI_DEV_REG_RESERVED_6DH 

Reserved register.

CY_HPI_DEV_REG_RESERVED_6EH 

Reserved register.

CY_HPI_DEV_REG_RESERVED_6FH 

Reserved register.

CY_HPI_DEV_REG_PPS_DESIGN_VOLT_LSB 

HPI PPS Design Voltage Register: Byte 0.

CY_HPI_DEV_REG_PPS_DESIGN_VOLT_MSB 

HPI PPS Design Voltage Register: Byte 1.

CY_HPI_DEV_REG_FW_UPDATE_LOCK 

FW update lock register.

CY_HPI_DEV_REG_DEV_CONTROL 

Device Control register used for device-specific commands.

CY_HPI_DEV_REG_BYTE_74_RESERVED 

Reserved register.

CY_HPI_DEV_REG_RESPONSE 

Response type register.

CY_HPI_DEV_REG_RESPONSE_LEN 

Response length register.

CY_HPI_DEV_REG_BYTE_A0_RESERVED 

Reserved register.

CY_HPI_DEV_REG_BYTE_A4_RESERVED 

Reserved register.

◆ cy_en_hpi_port_reg_address_t

List of USB PD port specified register addresses.

This enumeration lists the registers used to control one USB PD port on the CCG device. The addresses listed are offsets on top of the base register for the port. Separate sets of these registers will exist for each port.

Enumerator
CY_HPI_PORT_REG_VDM_CTRL 

VDM Control register.

CY_HPI_PORT_REG_VDM_CTRL_LEN 

VDM Length register.

CY_HPI_PORT_REG_EFF_SRC_PDO_MASK 

Effective Source PDO Mask register: Read-only.

CY_HPI_PORT_REG_EFF_SINK_PDO_MASK 

Effective Sink PDO Mask register: Read-only.

CY_HPI_PORT_REG_SOURCE_PDO_ADDR 

Source PDO Mask Selection register.

CY_HPI_PORT_REG_SINK_PDO_ADDR 

Sink PDO Mask Selection register.

CY_HPI_PORT_REG_PD_CTRL 

PD Control register.

CY_HPI_PORT_REG_BYTE_7_RESERVED 

Reserved register.

CY_HPI_PORT_REG_PD_STATUS 

PD Status register: LS byte.

CY_HPI_PORT_REG_PD_STATUS_BYTE_1 

PD Status register: Byte 1.

CY_HPI_PORT_REG_PD_STATUS_BYTE_2 

PD Status register: Byte 2.

CY_HPI_PORT_REG_PD_STATUS_BYTE_3 

PD Status register: MS byte.

CY_HPI_PORT_REG_TYPE_C_STATUS 

Type-C Status register.

CY_HPI_PORT_REG_BUS_VOLTAGE 

VBus voltage in 100 mV units.

CY_HPI_PORT_REG_BYTE_14_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_15_RESERVED 

Reserved register.

CY_HPI_PORT_REG_CUR_PDO 

Current PDO register: LS byte.

CY_HPI_PORT_REG_CUR_PDO_BYTE_1 

Current PDO register: Byte 1.

CY_HPI_PORT_REG_CUR_PDO_BYTE_2 

Current PDO register: Byte 2.

CY_HPI_PORT_REG_CUR_PDO_BYTE_3 

Current PDO register: MS byte.

CY_HPI_PORT_REG_CUR_RDO 

Current RDO register: LS byte.

CY_HPI_PORT_REG_CUR_RDO_BYTE_1 

Current RDO register: Byte 1.

CY_HPI_PORT_REG_CUR_RDO_BYTE_2 

Current RDO register: Byte 2.

CY_HPI_PORT_REG_CUR_RDO_BYTE_3 

Current RDO register: MS byte.

CY_HPI_PORT_REG_CABLE_VDO 

Cable VDO register: LS byte.

CY_HPI_PORT_REG_CABLE_VDO_BYTE_1 

Cable VDO register: Byte 1.

CY_HPI_PORT_REG_CABLE_VDO_BYTE_2 

Cable VDO register: Byte 2.

CY_HPI_PORT_REG_CABLE_VDO_BYTE_3 

Cable VDO register: MS byte.

CY_HPI_PORT_REG_ALT_MODE_CMD 

ALT MODE command register: LS byte.

CY_HPI_PORT_REG_ALT_MODE_CMD_BYTE_1 

ALT MODE command register: Byte 1.

CY_HPI_PORT_REG_ALT_MODE_CMD_BYTE_2 

ALT MODE command register: Byte 2.

CY_HPI_PORT_REG_ALT_MODE_CMD_BYTE_3 

ALT MODE command register: MS byte.

CY_HPI_PORT_REG_APP_HW_CMD 

HW Control command register: LS byte.

CY_HPI_PORT_REG_APP_HW_CMD_BYTE_1 

HW Control command register: Byte 1.

CY_HPI_PORT_REG_APP_HW_CMD_BYTE_2 

HW Control command register: Byte 2.

CY_HPI_PORT_REG_APP_HW_CMD_BYTE_3 

HW Control command register: MS byte.

CY_HPI_PORT_REG_EVENT_MASK 

Event Mask register: LS byte.

CY_HPI_PORT_REG_EVENT_MASK_BYTE_1 

Event Mask register: Byte 1.

CY_HPI_PORT_REG_EVENT_MASK_BYTE_2 

Event Mask register: Byte 2.

CY_HPI_PORT_REG_EVENT_MASK_BYTE_3 

Event Mask register: MS byte.

CY_HPI_PORT_REG_SWAP_RESPONSE 

Swap Response register.

CY_HPI_PORT_REG_ACTIVE_EC_MODES 

EC ALT MODES active register.

CY_HPI_PORT_REG_VDM_EC_CTRL 

VDM control by EC Enable register.

CY_HPI_PORT_REG_ALT_MODE_STATUS 

Alternate Mode Status register.

CY_HPI_PORT_REG_BC_1_2_CONTROL 

BC 1.2 support enable/disable control.

CY_HPI_PORT_REG_BYTE_45_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_46_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_47_RESERVED 

Reserved register.

CY_HPI_PORT_REG_CMD_TIMEOUT 

Timeout associated with VDM and PD commands (ms).

CY_HPI_PORT_REG_FRS_ENABLE 

Fast Role Swap enable register.

CY_HPI_PORT_REG_CONSUMER_FET_CTRL 

VBUS Consumer FET Control register.

CY_HPI_PORT_REG_BYTE_51_RESERVED 

Reserved register.

CY_HPI_PORT_REG_INTERRUPT_STATUS 

Interrupt status register: LSB.

CY_HPI_PORT_REG_INT_STAT_BYTE_1 

Interrupt status register: Byte 1.

CY_HPI_PORT_REG_INT_STAT_BYTE_2 

Interrupt status register: Byte 2.

CY_HPI_PORT_REG_INT_STAT_BYTE_3 

Interrupt status register: MSB.

CY_HPI_PORT_REG_USERDEF_00 

User-defined register number 00.

CY_HPI_PORT_REG_USERDEF_01 

User-defined register number 01.

CY_HPI_PORT_REG_USERDEF_02 

User-defined register number 02.

CY_HPI_PORT_REG_USERDEF_03 

User-defined register number 03.

CY_HPI_PORT_REG_USERDEF_04 

User-defined register number 04.

CY_HPI_PORT_REG_USERDEF_05 

User-defined register number 05.

CY_HPI_PORT_REG_USERDEF_06 

User-defined register number 06.

CY_HPI_PORT_REG_USERDEF_07 

User-defined register number 07.

CY_HPI_PORT_REG_USERDEF_08 

User-defined register number 08.

CY_HPI_PORT_REG_USERDEF_09 

User-defined register number 09.

CY_HPI_PORT_REG_USERDEF_0A 

User-defined register number 0A.

CY_HPI_PORT_REG_USERDEF_0B 

User-defined register number 0B.

CY_HPI_PORT_REG_USERDEF_0C 

User-defined register number 0C.

CY_HPI_PORT_REG_USERDEF_0D 

User-defined register number 0D.

CY_HPI_PORT_REG_USERDEF_0E 

User-defined register number 0E.

CY_HPI_PORT_REG_USERDEF_0F 

User-defined register number 0F.

CY_HPI_PORT_REG_USERDEF_10 

User-defined register number 10.

CY_HPI_PORT_REG_USERDEF_11 

User-defined register number 11.

CY_HPI_PORT_REG_USERDEF_12 

User-defined register number 12.

CY_HPI_PORT_REG_USERDEF_13 

User-defined register number 13.

CY_HPI_PORT_REG_USERDEF_14 

User-defined register number 14.

CY_HPI_PORT_REG_USERDEF_15 

User-defined register number 15.

CY_HPI_PORT_REG_USERDEF_16 

User-defined register number 16.

CY_HPI_PORT_REG_USERDEF_17 

User-defined register number 17.

CY_HPI_PORT_REG_ACT_CBL_VDO_2 

Active cable VDO 2 byte 0 (LSB).

CY_HPI_PORT_REG_ACT_CBL_VDO_2_B1 

Active cable VDO 2 byte 1.

CY_HPI_PORT_REG_ACT_CBL_VDO_2_B2 

Active cable VDO 2 byte 2.

CY_HPI_PORT_REG_ACT_CBL_VDO_2_B3 

Active cable VDO 2 byte 3 (MSB).

CY_HPI_PORT_REG_SINK_RDO_REQUEST 

Send RDO from EC.

CY_HPI_PORT_REG_BUS_CURRENT 

VBus current in 50 mA units.

CY_HPI_PORT_REG_HOST_CAP_CTRL 

Host Capabilities Control register.

CY_HPI_PORT_REG_ALT_MODE_MASK 

Alt Mode Mask register.

CY_HPI_PORT_REG_ALT_MODE_SVID 

Alt Mode SVID register byte 0.

CY_HPI_PORT_REG_ALT_MODE_SVID_BYTE_1 

Alt Mode SVID register byte 1.

CY_HPI_PORT_REG_SOURCE_PDO_EPR_MASK 

Current EPR Source PDO mask.

CY_HPI_PORT_REG_SINK_PDO_EPR_MASK 

Current EPR Sink PDO mask.

CY_HPI_PORT_REG_BYTE_66_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_67_RESERVED 

Reserved register.

CY_HPI_PORT_REG_SINK_PPS_AVS_CTRL 

PPS & AVS control register.

CY_HPI_PORT_REG_BYTE_80_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_84_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_85_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_86_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_88_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_8C_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_90_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_94_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_95_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_A0_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_A4_RESERVED 

Reserved register.

CY_HPI_PORT_REG_BYTE_A6_RESERVED 

Reserved register.

◆ cy_en_hpi_reg_section_t

HPI register section definitions.

HPI registers are grouped into sections corresponding to the functions that are supported.

Enumerator
CY_HPI_REG_SECTION_DEV 

Device Information registers.

CY_HPI_REG_SECTION_PORT_0 

USB PD Port 0 related registers.

CY_HPI_REG_SECTION_PORT_1 

USB PD Port 1 related registers.

CY_HPI_REG_SECTION_DEV_AUTO 

HPI auto related registers.

CY_HPI_REG_SECTION_UCSI 

UCSI related registers.

CY_HPI_REG_SECTION_ALL 

Special definition to select all register spaces.

◆ cy_en_hpi_reg_part_t

Types of HPI register/memory regions.

Enumerator
CY_HPI_REG_PART_REG 

Register region.

CY_HPI_REG_PART_DATA 

Data memory for device section.

CY_HPI_REG_PART_FLASH 

Flash memory.

CY_HPI_REG_PART_PDDATA_READ 

Read data memory for port section.

CY_HPI_REG_PART_PDDATA_READ_H 

Upper fraction of read data memory for port section.

CY_HPI_REG_PART_PDDATA_WRITE 

Write data memory for port section.

CY_HPI_REG_PART_PDDATA_WRITE_H 

Upper fraction of write data memory for port section.

◆ cy_en_hpi_boot_prio_conf_t

Enumeration showing possible boot priority configurations for the firmware application.

Enumerator
CY_HPI_BOOT_PRIO_LAST_FLASHED 

Last flashed firmware is prioritized.

CY_HPI_BOOT_PRIO_FW1 

FW1 is prioritized.

CY_HPI_BOOT_PRIO_FW2 

FW2 is prioritized.

◆ cy_en_hpi_sys_hw_error_t

List of possible hardware errors defined for the system.

Enumerator
CY_HPI_SYS_HW_ERROR_NONE 

No error.

CY_HPI_SYS_HW_ERROR_MUX_ACCESS 

Error while accessing data MUX.

CY_HPI_SYS_HW_ERROR_REG_ACCESS 

Error while accessing regulator.

CY_HPI_SYS_HW_ERROR_BAD_VOLTAGE 

Unexpected voltage generated by source regulator.

◆ cy_en_hpi_i2c_owner_t

List of possible owners for the I2C slave interface.

The interface can be used for one of HPI or UCSI functionality at a time.

Enumerator
CY_HPI_I2C_OWNER_UCSI 

I2C interface used for UCSI commands.

CY_HPI_I2C_OWNER_HPI 

I2C interface used for HPI commands.

◆ cy_en_hpi_i2c_cb_cmd_t

Type of I2C operation being notified through a callback function.

Enumerator
CY_HPI_I2C_CB_CMD_READ 

Read command from master.

CY_HPI_I2C_CB_CMD_WRITE 

Write command from master.

CY_HPI_I2C_CB_CMD_XFER_END 

End of read transfer: STOP condition signalled by master.

CY_HPI_I2C_CB_CMD_TIMEOUT 

Timeout on I2C operation.

CY_HPI_I2C_CB_SLAVE_ADDR_MATCH 

I2C slave address match detected.

◆ cy_en_hpi_pps_avs_ctrl_en_t

List of possible values for the Sink PPS AVS Enable Field.

Enumerator
CY_HPI_PPS_AVS_CTRL_EN_NONE 

Sink PPS AVS Control Enable None.

CY_HPI_PPS_AVS_CTRL_EN_PPS 

Sink PPS AVS Control Enable PPS.

CY_HPI_PPS_AVS_CTRL_EN_AVS 

Sink PPS AVS Control Enable AVS.