HPI Library
Enumerated types

General Description

Describes the enumeration types defined by the HPI master.

Enumerations

enum  cy_hpi_master_status_t {
  CY_HPI_MASTER_SUCCESS = 0U,
  CY_HPI_MASTER_FAILURE = 1U,
  CY_HPI_MASTER_INVALID_ARGS = 2U,
  CY_HPI_MASTER_QUEUE_OVERFLOW = 3U,
  CY_HPI_MASTER_I2C_FAILURE = 4U
}
 HPI master return status. More...
 
enum  cy_hpi_master_evt_mask_t {
  CY_HPI_MASTER_EVT_MASK_DISABLED = 0x00000000U,
  CY_HPI_MASTER_EVT_MASK_RSRVD = 0x00000001U,
  CY_HPI_MASTER_EVT_MASK_OCP = 0x00000002U,
  CY_HPI_MASTER_EVT_MASK_OVP = 0x00000004U,
  CY_HPI_MASTER_EVT_MASK_CC_CONNECT = 0x00000008U,
  CY_HPI_MASTER_EVT_MASK_CC_DISCON = 0x00000010U,
  CY_HPI_MASTER_EVT_MASK_CONTRACT = 0x00000020U,
  CY_HPI_MASTER_EVT_MASK_CTRL_MSG = 0x00000040U,
  CY_HPI_MASTER_EVT_MASK_VDM_RCVD = 0x00000080U,
  CY_HPI_MASTER_EVT_MASK_SRC_CAP = 0x00000100U,
  CY_HPI_MASTER_EVT_MASK_SNK_CAP = 0x00000200U,
  CY_HPI_MASTER_EVT_MASK_ALT_MODE = 0x00000400U,
  CY_HPI_MASTER_EVT_MASK_ERROR = 0x00000800U,
  CY_HPI_MASTER_EVT_MASK_EMCA = 0x00001000U,
  CY_HPI_MASTER_EVT_MASK_MISC = 0x00002000U,
  CY_HPI_MASTER_EVT_MASK_BB = 0x00004000U,
  CY_HPI_MASTER_EVT_MASK_OTP = 0x00010000U,
  CY_HPI_MASTER_EVT_MASK_DATA_MSG = 0x00020000U,
  CY_HPI_MASTER_EVT_MASK_SYS_ERROR = 0x00040000U
}
 HPI event mask definitions. More...
 
enum  cy_hpi_master_response_t {
  CY_HPI_MASTER_RESPONSE_NO_RESPONSE = 0x00,
  CY_HPI_MASTER_RESPONSE_SUCCESS = 0x02,
  CY_HPI_MASTER_RESPONSE_FLASH_DATA_AVAILABLE = 0x03,
  CY_HPI_MASTER_RESPONSE_INVALID_COMMAND = 0x05,
  CY_HPI_MASTER_RESPONSE_FLASH_UPDATE_FAILED = 0x07,
  CY_HPI_MASTER_RESPONSE_INVALID_FW = 0x08,
  CY_HPI_MASTER_RESPONSE_INVALID_ARGUMENT = 0x09,
  CY_HPI_MASTER_RESPONSE_NOT_SUPPORTED = 0x0A,
  CY_HPI_MASTER_RESPONSE_PD_TRANSACTION_FAILED = 0x0C,
  CY_HPI_MASTER_RESPONSE_PD_COMMAND_FAILED = 0x0D,
  CY_HPI_MASTER_RESPONSE_UNDEFINED_ERROR = 0x0F,
  CY_HPI_MASTER_RESPONSE_PDO_DATA = 0x10,
  CY_HPI_MASTER_RESPONSE_CMD_ABORTED = 0x11,
  CY_HPI_MASTER_RESPONSE_PORT_BUSY = 0x12,
  CY_HPI_MASTER_RESPONSE_MIN_MAX_CUR = 0x13,
  CY_HPI_MASTER_RESPONSE_EXT_SRC_CAP = 0x14,
  CY_HPI_MASTER_EVENT_RESET_COMPLETE = 0x80,
  CY_HPI_MASTER_EVENT_MSG_OVERFLOW = 0x81,
  CY_HPI_MASTER_EVENT_OC_DETECT = 0x82,
  CY_HPI_MASTER_EVENT_OV_DETECT = 0x83,
  CY_HPI_MASTER_EVENT_CONNECT_DETECT = 0x84,
  CY_HPI_MASTER_EVENT_DISCONNECT_DETECT = 0x85,
  CY_HPI_MASTER_EVENT_NEGOTIATION_COMPLETE = 0x86,
  CY_HPI_MASTER_EVENT_SWAP_COMPLETE = 0x87,
  CY_HPI_MASTER_EVENT_PS_RDY_RECEIVED = 0x8A,
  CY_HPI_MASTER_EVENT_GOTO_MIN_RECEIVED = 0x8B,
  CY_HPI_MASTER_EVENT_ACCEPT_RECEIVED = 0x8C,
  CY_HPI_MASTER_EVENT_REJECT_RECEIVED = 0x8D,
  CY_HPI_MASTER_EVENT_WAIT_RECEIVED = 0x8E,
  CY_HPI_MASTER_EVENT_HARD_RESET_RECEIVED = 0x8F,
  CY_HPI_MASTER_EVENT_VDM_RECEIVED = 0x90,
  CY_HPI_MASTER_EVENT_SOURCE_CAP_RECEIVED = 0x91,
  CY_HPI_MASTER_EVENT_SINK_CAP_RECEIVED = 0x92,
  CY_HPI_MASTER_EVENT_HARD_RESET_SENT = 0x9A,
  CY_HPI_MASTER_EVENT_SOFT_RESET_SENT = 0x9B,
  CY_HPI_MASTER_EVENT_CABLE_RESET_SENT = 0x9C,
  CY_HPI_MASTER_EVENT_SOURCE_DISABLED = 0x9D,
  CY_HPI_MASTER_EVENT_SENDER_TIMEOUT = 0x9E,
  CY_HPI_MASTER_EVENT_VDM_NO_RESPONSE = 0x9F,
  CY_HPI_MASTER_EVENT_UNEXPECTED_VOLTAGE = 0xA0,
  CY_HPI_MASTER_EVENT_ERROR_RECOVERY = 0xA1,
  CY_HPI_MASTER_EVENT_BAT_STATUS_RECEIVED = 0xA2,
  CY_HPI_MASTER_EVENT_ALERT_RECEIVED = 0xA3,
  CY_HPI_MASTER_EVENT_NOTSUPP_RECEIVED = 0xA4,
  CY_HPI_MASTER_EVENT_EMCA_DETECT = 0xA6,
  CY_HPI_MASTER_EVENT_EMCA_NOT_DETECT = 0xA7,
  CY_HPI_MASTER_EVENT_RP_CHANGE_DETECT = 0xAA,
  CY_HPI_MASTER_EVENT_BB_UPDATE = 0xAB,
  CY_HPI_MASTER_EVENT_PD_EXTD_MSG_SOP = 0xAC,
  CY_HPI_MASTER_EVENT_ALT_MODE = 0xB0,
  CY_HPI_MASTER_EVENT_APP_HW = 0xB1,
  CY_HPI_MASTER_EVENT_PD_EXTD_MSG_SOP_PRIME = 0xB4,
  CY_HPI_MASTER_EVENT_PD_EXTD_MSG_SOP_DPRIME = 0xB5,
  CY_HPI_MASTER_EVENT_OT_DETECT = 0xB6
}
 List of HPI response and event codes. More...
 
enum  cy_hpi_master_dev_reg_t {
  CY_HPI_MASTER_DEV_REG_DEVICE_MODE = 0x00,
  CY_HPI_MASTER_DEV_REG_BOOT_MODE_REASON = 0x01,
  CY_HPI_MASTER_DEV_REG_SI_ID = 0x02,
  CY_HPI_MASTER_DEV_REG_BL_LAST_ROW = 0x04,
  CY_HPI_MASTER_DEV_REG_INTR_ADDR = 0x06,
  CY_HPI_MASTER_DEV_REG_JUMP_TO_BOOT = 0x07,
  CY_HPI_MASTER_DEV_REG_RESET_ADDR = 0x08,
  CY_HPI_MASTER_DEV_REG_ENTER_FLASH_MODE = 0x0A,
  CY_HPI_MASTER_DEV_REG_VALIDATE_FW_ADDR = 0x0B,
  CY_HPI_MASTER_DEV_REG_FLASH_READ_WRITE = 0x0C,
  CY_HPI_MASTER_DEV_REG_ALL_VERSION_BYTE = 0x10,
  CY_HPI_MASTER_DEV_REG_FW_2_VERSION = 0x20,
  CY_HPI_MASTER_DEV_REG_FW_BIN_LOC = 0x28,
  CY_HPI_MASTER_DEV_REG_PORT_ENABLE = 0x2C,
  CY_HPI_MASTER_DEV_REG_SLEEP_CTRL = 0x2D,
  CY_HPI_MASTER_DEV_REG_POWER_STAT = 0x2E,
  CY_HPI_MASTER_DEV_REG_SET_APP_PRIORITY = 0x2F,
  CY_HPI_MASTER_DEV_REG_READ_CUSTOMER_INFO = 0x30,
  CY_HPI_MASTER_DEV_REG_BATTERY_STAT = 0x31,
  CY_HPI_MASTER_DEV_REG_WD_RESET_COUNT = 0x32,
  CY_HPI_MASTER_DEV_REG_CREATE_ERROR = 0x33,
  CY_HPI_MASTER_DEV_REG_RESERVED_34H = 0x34,
  CY_HPI_MASTER_DEV_REG_RESERVED_35H = 0x35,
  CY_HPI_MASTER_DEV_REG_RESERVED_36H = 0x36,
  CY_HPI_MASTER_DEV_REG_RESERVED_37H = 0x37,
  CY_HPI_MASTER_DEV_REG_UCSI_STATUS = 0x38,
  CY_HPI_MASTER_DEV_REG_UCSI_CONTROL = 0x39,
  CY_HPI_MASTER_DEV_REG_CFGTAB_VERSION = 0x3A,
  CY_HPI_MASTER_DEV_REG_SYS_PWR_STATE = 0x3B,
  CY_HPI_MASTER_DEV_REG_HPI_VERSION = 0x3C,
  CY_HPI_MASTER_DEV_REG_RESPONSE = 0x7E
}
 List of HPI device information register addresses. More...
 
enum  cy_hpi_master_port_reg_t {
  CY_HPI_MASTER_PORT_REG_VDM_CTRL = 0x00,
  CY_HPI_MASTER_PORT_REG_EFF_SRC_PDO_MASK = 0x02,
  CY_HPI_MASTER_PORT_REG_EFF_SINK_PDO_MASK = 0x03,
  CY_HPI_MASTER_PORT_REG_PD_CTRL = 0x06,
  CY_HPI_MASTER_PORT_REG_PD_STATUS = 0x08,
  CY_HPI_MASTER_PORT_REG_TYPE_C_STATUS = 0x0C,
  CY_HPI_MASTER_PORT_REG_CURRENT_PDO = 0x10,
  CY_HPI_MASTER_PORT_REG_CURRENT_RDO = 0x14,
  CY_HPI_MASTER_PORT_REG_EVENT_MASK = 0x24,
  CY_HPI_MASTER_PORT_REG_SWAP_RESPONSE = 0x28
}
 List of HPI port information register addresses. More...
 

Enumeration Type Documentation

◆ cy_hpi_master_status_t

HPI master return status.

Return status of HPI master.

Enumerator
CY_HPI_MASTER_SUCCESS 

Success return code.

CY_HPI_MASTER_FAILURE 

Generic failure return code.

CY_HPI_MASTER_INVALID_ARGS 

Invalid argument passed.

CY_HPI_MASTER_QUEUE_OVERFLOW 

HPI master event queue overflow error.

CY_HPI_MASTER_I2C_FAILURE 

HPI master read/write to slave device failure.

◆ cy_hpi_master_evt_mask_t

HPI event mask definitions.

Mask values that control the reporting of HPI events.

Enumerator
CY_HPI_MASTER_EVT_MASK_DISABLED 

Mask value disabled.

CY_HPI_MASTER_EVT_MASK_RSRVD 

Mask value reserved.

CY_HPI_MASTER_EVT_MASK_OCP 

Mask to enable/disable overcurrent event.

CY_HPI_MASTER_EVT_MASK_OVP 

Mask to enable/disable overvoltage event.

CY_HPI_MASTER_EVT_MASK_CC_CONNECT 

Mask to enable/disable Type-C connect event.

CY_HPI_MASTER_EVT_MASK_CC_DISCON 

Mask to enable/disable Type-C disconnect event.

CY_HPI_MASTER_EVT_MASK_CONTRACT 

Mask to enable/disable PD contract complete event.

CY_HPI_MASTER_EVT_MASK_CTRL_MSG 

Mask to enable/disable PD control message events.

CY_HPI_MASTER_EVT_MASK_VDM_RCVD 

Mask to enable/disable VDM received event.

CY_HPI_MASTER_EVT_MASK_SRC_CAP 

Mask to enable/disable source capabilities event received.

CY_HPI_MASTER_EVT_MASK_SNK_CAP 

Mask to enable/disable sink capabilities event received.

CY_HPI_MASTER_EVT_MASK_ALT_MODE 

Mask to enable/disable alternate mode related events.

CY_HPI_MASTER_EVT_MASK_ERROR 

Mask to enable/disable error events.

CY_HPI_MASTER_EVT_MASK_EMCA 

Mask to enable/disable EMCA connection related events.

CY_HPI_MASTER_EVT_MASK_MISC 

Mask to enable/disable miscellaneous events like Rp change.

CY_HPI_MASTER_EVT_MASK_BB 

Mask to enable/disable Billboard events.

CY_HPI_MASTER_EVT_MASK_OTP 

Mask to enable/disable overtemperature event.

CY_HPI_MASTER_EVT_MASK_DATA_MSG 

Mask to enable/disable data message event.

CY_HPI_MASTER_EVT_MASK_SYS_ERROR 

Mask to enable/disable system error notifications.

◆ cy_hpi_master_response_t

List of HPI response and event codes.

Enumerator
CY_HPI_MASTER_RESPONSE_NO_RESPONSE 

No valid response.

CY_HPI_MASTER_RESPONSE_SUCCESS 

Success response.

CY_HPI_MASTER_RESPONSE_FLASH_DATA_AVAILABLE 

Flash read data available in flash data memory.

CY_HPI_MASTER_RESPONSE_INVALID_COMMAND 

Invalid command received.

CY_HPI_MASTER_RESPONSE_FLASH_UPDATE_FAILED 

Flash read/write operation failed.

CY_HPI_MASTER_RESPONSE_INVALID_FW 

Invalid firmware binary.

CY_HPI_MASTER_RESPONSE_INVALID_ARGUMENT 

Invalid parameter for the command.

CY_HPI_MASTER_RESPONSE_NOT_SUPPORTED 

Command received is not supported.

CY_HPI_MASTER_RESPONSE_PD_TRANSACTION_FAILED 

USB PD transaction failed.

CY_HPI_MASTER_RESPONSE_PD_COMMAND_FAILED 

USB PD command failed.

CY_HPI_MASTER_RESPONSE_UNDEFINED_ERROR 

Undefined error.

CY_HPI_MASTER_RESPONSE_PDO_DATA 

PDO read data is available in read data memory.

CY_HPI_MASTER_RESPONSE_CMD_ABORTED 

HPI initiated PD command aborted.

CY_HPI_MASTER_RESPONSE_PORT_BUSY 

HPI initiated PD command due to busy port.

CY_HPI_MASTER_RESPONSE_MIN_MAX_CUR 

HPI response for sink Min/Max current data.

CY_HPI_MASTER_RESPONSE_EXT_SRC_CAP 

HPI response for external source cap data.

CY_HPI_MASTER_EVENT_RESET_COMPLETE 

Resets complete event notification.

CY_HPI_MASTER_EVENT_MSG_OVERFLOW 

Event message queue overflow.

CY_HPI_MASTER_EVENT_OC_DETECT 

Overcurrent event detected.

CY_HPI_MASTER_EVENT_OV_DETECT 

Overvoltage event detected.

CY_HPI_MASTER_EVENT_CONNECT_DETECT 

Type-C connect detected.

CY_HPI_MASTER_EVENT_DISCONNECT_DETECT 

Type-C disconnect detected.

CY_HPI_MASTER_EVENT_NEGOTIATION_COMPLETE 

PD contract negotiation complete.

CY_HPI_MASTER_EVENT_SWAP_COMPLETE 

Swap (DR_SWAP, PR_SWAP or VCONN_SWAP) complete.

CY_HPI_MASTER_EVENT_PS_RDY_RECEIVED 

PS_RDY message received.

CY_HPI_MASTER_EVENT_GOTO_MIN_RECEIVED 

GOTO_MIN message received.

CY_HPI_MASTER_EVENT_ACCEPT_RECEIVED 

ACCEPT message received.

CY_HPI_MASTER_EVENT_REJECT_RECEIVED 

REJECT message received.

CY_HPI_MASTER_EVENT_WAIT_RECEIVED 

WAIT message received.

CY_HPI_MASTER_EVENT_HARD_RESET_RECEIVED 

HARD RESET received.

CY_HPI_MASTER_EVENT_VDM_RECEIVED 

VDM received and stored in data memory.

CY_HPI_MASTER_EVENT_SOURCE_CAP_RECEIVED 

Source capabilities received and the PDOs received are stored in data memory.

CY_HPI_MASTER_EVENT_SINK_CAP_RECEIVED 

Sink capabilities received and the PDOs received are stored in data memory.

CY_HPI_MASTER_EVENT_HARD_RESET_SENT 

HARD RESET is sent by CCG device.

CY_HPI_MASTER_EVENT_SOFT_RESET_SENT 

SOFT RESET is sent by CCG device.

Event data indicates the SOFT RESET packet type (SOP, SOP', or SOP'').

CY_HPI_MASTER_EVENT_CABLE_RESET_SENT 

CABLE RESET is sent by CCG device.

CY_HPI_MASTER_EVENT_SOURCE_DISABLED 

Enters Source disabled state.

CY_HPI_MASTER_EVENT_SENDER_TIMEOUT 

Sender Response timeout occurred.

CY_HPI_MASTER_EVENT_VDM_NO_RESPONSE 

No response to VDM sent by CCG device.

CY_HPI_MASTER_EVENT_UNEXPECTED_VOLTAGE 

Unexpected VBus voltage detected.

CY_HPI_MASTER_EVENT_ERROR_RECOVERY 

Initiates Type-C error recovery.

CY_HPI_MASTER_EVENT_BAT_STATUS_RECEIVED 

Battery status message received.

CY_HPI_MASTER_EVENT_ALERT_RECEIVED 

Alert message received.

CY_HPI_MASTER_EVENT_NOTSUPP_RECEIVED 

Not supported message received.

CY_HPI_MASTER_EVENT_EMCA_DETECT 

EMCA detected.

CY_HPI_MASTER_EVENT_EMCA_NOT_DETECT 

No EMCA present in current connection.

CY_HPI_MASTER_EVENT_RP_CHANGE_DETECT 

Change in Rp termination detected.

CY_HPI_MASTER_EVENT_BB_UPDATE 

Billboard update event.

CY_HPI_MASTER_EVENT_PD_EXTD_MSG_SOP 

PD extended data message (SOP) received.

CY_HPI_MASTER_EVENT_ALT_MODE 

Alternate mode related event.

Event data contains the SVID corresponding to the mode as well as the event type.

CY_HPI_MASTER_EVENT_APP_HW 

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

CY_HPI_MASTER_EVENT_PD_EXTD_MSG_SOP_PRIME 

PD extended data message (SOP') received.

CY_HPI_MASTER_EVENT_PD_EXTD_MSG_SOP_DPRIME 

PD extended data message (SOP'') received.

CY_HPI_MASTER_EVENT_OT_DETECT 

Overtemperature condition detected.

◆ cy_hpi_master_dev_reg_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_MASTER_DEV_REG_DEVICE_MODE 

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

CY_HPI_MASTER_DEV_REG_BOOT_MODE_REASON 

Boot Mode Reason register: Specifies validity of each firmware image.

Also, reports reason for device staying in the Boot mode.

CY_HPI_MASTER_DEV_REG_SI_ID 

Silicon ID: MS byte.

CY_HPI_MASTER_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_MASTER_DEV_REG_INTR_ADDR 

Interrupt Status register.

CY_HPI_MASTER_DEV_REG_JUMP_TO_BOOT 

Jumps to boot (or alt firmware) request register.

CY_HPI_MASTER_DEV_REG_RESET_ADDR 

Resets request signature register.

CY_HPI_MASTER_DEV_REG_ENTER_FLASH_MODE 

Enters flashing mode request register.

CY_HPI_MASTER_DEV_REG_VALIDATE_FW_ADDR 

Validate firmware request register.

CY_HPI_MASTER_DEV_REG_FLASH_READ_WRITE 

Flash read/write signature register.

CY_HPI_MASTER_DEV_REG_ALL_VERSION_BYTE 

Bootloader version: MSB of build number.

CY_HPI_MASTER_DEV_REG_FW_2_VERSION 

FW2 version: LSB of build number.

CY_HPI_MASTER_DEV_REG_FW_BIN_LOC 

FW1 binary location: LSB.

CY_HPI_MASTER_DEV_REG_PORT_ENABLE 

Port enable command/status register.

CY_HPI_MASTER_DEV_REG_SLEEP_CTRL 

Deep Sleep Control register.

CY_HPI_MASTER_DEV_REG_POWER_STAT 

Power Status register updates status message.

CY_HPI_MASTER_DEV_REG_SET_APP_PRIORITY 

Sets APP priority.

CY_HPI_MASTER_DEV_REG_READ_CUSTOMER_INFO 

Reads 32 bytes of customer info.

CY_HPI_MASTER_DEV_REG_BATTERY_STAT 

Register showing the current battery status.

CY_HPI_MASTER_DEV_REG_WD_RESET_COUNT 

Watchdog Reset Count register.

CY_HPI_MASTER_DEV_REG_CREATE_ERROR 

Command register creates lock-up error.

CY_HPI_MASTER_DEV_REG_RESERVED_34H 

Reserved address: 0x0034.

CY_HPI_MASTER_DEV_REG_RESERVED_35H 

Reserved address: 0x0035.

CY_HPI_MASTER_DEV_REG_RESERVED_36H 

Reserved address: 0x0036.

CY_HPI_MASTER_DEV_REG_RESERVED_37H 

Reserved address: 0x0037.

CY_HPI_MASTER_DEV_REG_UCSI_STATUS 

UCSI Status register.

CY_HPI_MASTER_DEV_REG_UCSI_CONTROL 

UCSI Control register.

CY_HPI_MASTER_DEV_REG_CFGTAB_VERSION 

Config Table Version register.

CY_HPI_MASTER_DEV_REG_SYS_PWR_STATE 

System Power State register.

CY_HPI_MASTER_DEV_REG_HPI_VERSION 

HPI Version register: LSB.

CY_HPI_MASTER_DEV_REG_RESPONSE 

Response Type register.

◆ cy_hpi_master_port_reg_t

List of HPI port information register addresses.

This enumeration lists the addresses for the HPI port information registers supported by CCGx devices.

Enumerator
CY_HPI_MASTER_PORT_REG_VDM_CTRL 

VDM Control register.

CY_HPI_MASTER_PORT_REG_EFF_SRC_PDO_MASK 

Effective Source PDO Mask register: Read-only.

CY_HPI_MASTER_PORT_REG_EFF_SINK_PDO_MASK 

Effective Sink PDO Mask register: Read-only.

CY_HPI_MASTER_PORT_REG_PD_CTRL 

PD Control register.

CY_HPI_MASTER_PORT_REG_PD_STATUS 

PD Status register: LS byte.

CY_HPI_MASTER_PORT_REG_TYPE_C_STATUS 

Type-C Status register.

CY_HPI_MASTER_PORT_REG_CURRENT_PDO 

Current PDO register.

CY_HPI_MASTER_PORT_REG_CURRENT_RDO 

Current RDO register.

CY_HPI_MASTER_PORT_REG_EVENT_MASK 

Event Mask register: LS byte.

CY_HPI_MASTER_PORT_REG_SWAP_RESPONSE 

PD Control register.