UBM Middleware
Enumerated Types

General Description

This section describes the enumeration types defined by the UBM.

Enumerations

enum  mtb_en_ubm_status_t {
  MTB_UBM_STATUS_SUCCESS,
  MTB_UBM_STATUS_HFC_NUM_ERR,
  MTB_UBM_STATUS_DFC_NUM_ERR,
  MTB_UBM_STATUS_ROUTES_NUM_ERR,
  MTB_UBM_STATUS_HFC_IO_CONF_ERR,
  MTB_UBM_STATUS_DFC_IO_CONF_ERR,
  MTB_UBM_STATUS_ROUTES_CONF_ERR,
  MTB_UBM_STATUS_CAP_PRSNT_ERR,
  MTB_UBM_STATUS_CAP_IFDET_ERR,
  MTB_UBM_STATUS_CAP_IFDET2_ERR,
  MTB_UBM_STATUS_2WIRE_RESET_TIMER_ERR,
  MTB_UBM_STATUS_IO_TIMER_ERR,
  MTB_UBM_STATUS_IO_DUALPORTEN_ERR,
  MTB_UBM_STATUS_IO_DFC_PERSTA_ERR,
  MTB_UBM_STATUS_IO_DFC_PERSTB_ERR,
  MTB_UBM_STATUS_IO_REFCLKEN_ERR,
  MTB_UBM_STATUS_IO_PWRDIS_ERR,
  MTB_UBM_STATUS_IO_PRSNT_ERR,
  MTB_UBM_STATUS_IO_IFDET_ERR,
  MTB_UBM_STATUS_IO_IFDET2_ERR,
  MTB_UBM_STATUS_IO_HFC_PERST_ERR,
  MTB_UBM_STATUS_IO_2WIRE_RESET_ERR,
  MTB_UBM_STATUS_IO_CHANGE_DETECT_ERR,
  MTB_UBM_STATUS_IO_BP_TYPE_ERR,
  MTB_UBM_STATUS_FRU_EEPROM_ERR,
  MTB_UBM_STATUS_BOOTLOADER_START_ADDR_ERR,
  MTB_UBM_STATUS_BOOTLOADER_FLASH_INIT_ERR,
  MTB_UBM_STATUS_2WIRE_IO_CONFIG_ERR
}
 The status of initialization of the UBM middleware. More...
 
enum  mtb_en_ubm_op_state_t {
  MTB_UBM_OP_STATE_INVALID = 0x00U,
  MTB_UBM_OP_STATE_INITIALIZING = 0x01U,
  MTB_UBM_OP_STATE_BUSY = 0x02U,
  MTB_UBM_OP_STATE_READY = 0x03U,
  MTB_UBM_OP_STATE_REDUCED_FUNCTIONALITY = 0x04U
}
 UBM Controller operational states. More...
 
enum  mtb_en_ubm_lc_sts_t {
  MTB_UBM_LC_STS_FAILED = 0x00U,
  MTB_UBM_LC_STS_SUCCESS = 0x01U,
  MTB_UBM_LC_STS_INVALID_CHECKSUM = 0x02U,
  MTB_UBM_LC_STS_TOO_MANY_BYTES_WRITTEN = 0x03U,
  MTB_UBM_LC_STS_NO_ACCESS_ALLOWED = 0x04U,
  MTB_UBM_LC_STS_CHANGE_COUNT_DOES_NOT_MATCH = 0x05U,
  MTB_UBM_LC_STS_BUSY = 0x06U,
  MTB_UBM_LC_STS_COMMAND_NOT_IMPLEMENTED = 0x07U,
  MTB_UBM_LC_STS_INVALID_DESCRIPTOR_INDEX = 0x08U
}
 Last command status. More...
 
enum  mtb_en_ubm_link_width_t {
  MTB_UBM_LINK_WIDTH_X1 = 0U,
  MTB_UBM_LINK_WIDTH_X2 = 1U,
  MTB_UBM_LINK_WIDTH_X4 = 2U,
  MTB_UBM_LINK_WIDTH_X8 = 3U,
  MTB_UBM_LINK_WIDTH_X16 = 4U
}
 The number of lanes in the port. More...
 
enum  mtb_en_ubm_sas_link_rate_t {
  MTB_UBM_SAS_RATE_NS = 0U,
  MTB_UBM_SAS_1_RATE = 1U,
  MTB_UBM_SAS_2_RATE = 2U,
  MTB_UBM_SAS_3_RATE = 3U,
  MTB_UBM_SAS_4_RATE = 4U,
  MTB_UBM_SAS_5_RATE = 5U,
  MTB_UBM_SAS_6_RATE = 6U,
  MTB_UBM_SAS_NO_RATE_LIMIT = 7U
}
 SAS link rate. More...
 
enum  mtb_en_ubm_pcie_link_rate_t {
  MTB_UBM_PCIE_RATE_NS = 0U,
  MTB_UBM_PCIE_1_RATE = 1U,
  MTB_UBM_PCIE_2_RATE = 2U,
  MTB_UBM_PCIE_3_RATE = 3U,
  MTB_UBM_PCIE_4_RATE = 4U,
  MTB_UBM_PCIE_5_RATE = 5U,
  MTB_UBM_PCIE_6_RATE = 6U,
  MTB_UBM_PCIE_NO_RATE_LIMIT = 7U
}
 PCIe link rate. More...
 
enum  mtb_en_ubm_controller_type_t {
  MTB_UBM_CONTROLLER_SPEC_DEFINED = 0U,
  MTB_UBM_CONTROLLER_VENDOR_SPECIFIC = 1U
}
 The UBM Controller type. More...
 
enum  mtb_en_ubm_sata_link_rate_t {
  MTB_UBM_SATA_RATE_NS = 0U,
  MTB_UBM_SATA_3GBS_RATE = 1U,
  MTB_UBM_SATA_6GBS_RATE = 2U,
  MTB_UBM_SATA_NO_RATE_LIMIT = 3U
}
 SATA link rate. More...
 
enum  mtb_en_ubm_port_type_t {
  MTB_UBM_PORT_TYPE_CONVERGED = 0U,
  MTB_UBM_PORT_TYPE_SEGREGATED = 1U
}
 The connector port type. More...
 
enum  mtb_en_ubm_port_domain_t {
  MTB_UBM_PORT_DOMAIN_PRIMARY = 0U,
  MTB_UBM_PORT_DOMAIN_SECONDARY = 1U
}
 Connector port domain. More...
 
enum  mtb_en_ubm_change_count_source_t {
  MTB_UBM_CC_SOURCE_CPRSNT_LEGACY_MODE = 0U,
  MTB_UBM_CC_SOURCE_PCIE_RESET = 1U,
  MTB_UBM_CC_SOURCE_DRIVE_TYPE = 2U,
  MTB_UBM_CC_SOURCE_OP_STATE = 3U,
  MTB_UBM_CC_SOURCE_CTRL_RESET = 4U
}
 Change Count increment source. More...
 

Enumeration Type Documentation

◆ mtb_en_ubm_status_t

The status of initialization of the UBM middleware.

Enumerator
MTB_UBM_STATUS_SUCCESS 

Operation completed successfully.

MTB_UBM_STATUS_HFC_NUM_ERR 

The number of HFCs configured is 0 or higher than MTB_UBM_HFC_MAX_NUM.

Check the mtb_stc_ubm_backplane_cfg_t::num_of_hfc parameter setting.

MTB_UBM_STATUS_DFC_NUM_ERR 

The number of DFCs configured is 0 or higher than MTB_UBM_DFC_MAX_NUM.

Check the mtb_stc_ubm_backplane_cfg_t::num_of_dfc parameter setting.

MTB_UBM_STATUS_ROUTES_NUM_ERR 

The number of routes configured is 0 or higher than MTB_UBM_ROUTES_MAX_NUM.

Check the mtb_stc_ubm_backplane_cfg_t::num_of_routes parameter setting.

MTB_UBM_STATUS_HFC_IO_CONF_ERR 

The HFC IO configurational structure is not complete.

Check the mtb_stc_ubm_backplane_control_signals_t::hfc_io parameter array has enough initialization elements,
as configured by the mtb_stc_ubm_backplane_cfg_t::num_of_hfc parameter.

MTB_UBM_STATUS_DFC_IO_CONF_ERR 

The DFC IO configurational structure is not complete.

Check the mtb_stc_ubm_backplane_control_signals_t::dfc_io parameter array has enough initialization elements,
as configured by the mtb_stc_ubm_backplane_cfg_t::num_of_dfc parameter.

MTB_UBM_STATUS_ROUTES_CONF_ERR 

The route information configurational structure is not complete.

Check the mtb_stc_ubm_backplane_cfg_t::route_information parameter array has enough initialization elements,
as configured by the mtb_stc_ubm_backplane_cfg_t::num_of_routes parameter.

MTB_UBM_STATUS_CAP_PRSNT_ERR 

PRSNT# The reported capability is enabled but the PRSNT pin is not configured.

Check the mtb_stc_ubm_dfc_signals_t::prsnt pin settings, or disable the mtb_stc_ubm_capabilities_t::prsnt_reported setting.

MTB_UBM_STATUS_CAP_IFDET_ERR 

IFDET# The reported capability is enabled but the IFDET pin is not configured.

Check the mtb_stc_ubm_dfc_signals_t::ifdet pin settings, or disable the mtb_stc_ubm_capabilities_t::ifdet_reported setting.

MTB_UBM_STATUS_CAP_IFDET2_ERR 

IFDET2# The reported capability is enabled but the IFDET2 pin is not configured.

Check the mtb_stc_ubm_dfc_signals_t::ifdet2 pin settings, or disable the mtb_stc_ubm_capabilities_t::ifdet2_reported setting.

MTB_UBM_STATUS_2WIRE_RESET_TIMER_ERR 

2Wire Reset timer initialization error

MTB_UBM_STATUS_IO_TIMER_ERR 

IO timer initialization error.

MTB_UBM_STATUS_IO_DUALPORTEN_ERR 

DFC Dual Port Enable IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::dualporten pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_DFC_PERSTA_ERR 

DFC PCIe Reset A IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::persta pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_DFC_PERSTB_ERR 

DFC PCIe Reset B IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::perstb pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_REFCLKEN_ERR 

DFC PCIe Clock Enable IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::refclken pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_PWRDIS_ERR 

DFC Power Disable IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::pwrdis pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_PRSNT_ERR 

DFC PRSNT IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::prsnt pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_IFDET_ERR 

DFC IFDET IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::ifdet pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_IFDET2_ERR 

DFC IFDET2 IO pin initialization error Check the mtb_stc_ubm_dfc_signals_t::ifdet2 pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_HFC_PERST_ERR 

HFC PCIe Reset IO pin initialization error Check the mtb_stc_ubm_hfc_signals_t::perst pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_2WIRE_RESET_ERR 

HFC 2Wire Reset IO pin initialization error Check the mtb_stc_ubm_hfc_signals_t::i2c_reset pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_CHANGE_DETECT_ERR 

HFC Change Detect IO pin initialization error Check the mtb_stc_ubm_hfc_signals_t::change_detect pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_IO_BP_TYPE_ERR 

HFC BP TYPE pin initialization error Check the mtb_stc_ubm_hfc_signals_t::bp_type pin settings and ensure that the selected pin is not used elsewhere in the application.

MTB_UBM_STATUS_FRU_EEPROM_ERR 

EmEEPROM error during FRU initialization Check the mtb_stc_ubm_backplane_cfg_t.fru_config parameter settings.

For more details, refer to the Emulated EEPROM Middleware Library documentation.

MTB_UBM_STATUS_BOOTLOADER_START_ADDR_ERR 

The start address of the upgrade area is invalid.

Check the address of the upgrade area is a valid address of the start of the flash row, i.e. the adress is 512 bytes aligned.

MTB_UBM_STATUS_BOOTLOADER_FLASH_INIT_ERR 

Bootloader flash area initialization error.

MTB_UBM_STATUS_2WIRE_IO_CONFIG_ERR 

The 2Wire IO configuration is invalid.

Check the mtb_stc_ubm_hfc_signals_t::sda and mtb_stc_ubm_hfc_signals_t::scl pin settings.

◆ mtb_en_ubm_op_state_t

UBM Controller operational states.

Enumerator
MTB_UBM_OP_STATE_INVALID 

Not valid state.

MTB_UBM_OP_STATE_INITIALIZING 

The state during the UBM Controller initialization before configuration has completed.

MTB_UBM_OP_STATE_BUSY 

The state indicates that the data in the UBM Controller is inconsistent.

MTB_UBM_OP_STATE_READY 

The state indicates that the UBM Controller has been configured and data provided is consistent.

MTB_UBM_OP_STATE_REDUCED_FUNCTIONALITY 

The state used to indicate the UBM Controller is currently operating in Reduced Functionality.

◆ mtb_en_ubm_lc_sts_t

Last command status.

Enumerator
MTB_UBM_LC_STS_FAILED 

The last command request has failed.

MTB_UBM_LC_STS_SUCCESS 

The last command received was processed correctly.

MTB_UBM_LC_STS_INVALID_CHECKSUM 

The invalid checksum is detected.

MTB_UBM_LC_STS_TOO_MANY_BYTES_WRITTEN 

The write transaction byte count is larger than expected.

MTB_UBM_LC_STS_NO_ACCESS_ALLOWED 

The HFC is not allowed to perform the command request.

MTB_UBM_LC_STS_CHANGE_COUNT_DOES_NOT_MATCH 

The Change Count command does not specify the current Change Count value.

MTB_UBM_LC_STS_BUSY 

Busy processing the last command request.

MTB_UBM_LC_STS_COMMAND_NOT_IMPLEMENTED 

The last command request is not supported.

MTB_UBM_LC_STS_INVALID_DESCRIPTOR_INDEX 

The invalid descriptor index is detected.

◆ mtb_en_ubm_link_width_t

The number of lanes in the port.

Enumerator
MTB_UBM_LINK_WIDTH_X1 

1 lane.

MTB_UBM_LINK_WIDTH_X2 

2 lanes.

MTB_UBM_LINK_WIDTH_X4 

4 lanes.

MTB_UBM_LINK_WIDTH_X8 

8 lanes.

MTB_UBM_LINK_WIDTH_X16 

16 lanes.

◆ mtb_en_ubm_sas_link_rate_t

SAS link rate.

Enumerator
MTB_UBM_SAS_RATE_NS 

Not supported.

MTB_UBM_SAS_1_RATE 

SAS-1 (3 Gb/s)

MTB_UBM_SAS_2_RATE 

SAS-2 (6 Gb/s)

MTB_UBM_SAS_3_RATE 

SAS-3 (12 Gb/s)

MTB_UBM_SAS_4_RATE 

SAS-4 (22.5 Gb/s)

MTB_UBM_SAS_5_RATE 

SAS-5 (TBD)

MTB_UBM_SAS_6_RATE 

SAS-6 (TBD)

MTB_UBM_SAS_NO_RATE_LIMIT 

No Limit.

◆ mtb_en_ubm_pcie_link_rate_t

PCIe link rate.

Enumerator
MTB_UBM_PCIE_RATE_NS 

Not supported.

MTB_UBM_PCIE_1_RATE 

PCIe-1 (2.5 GT/s)

MTB_UBM_PCIE_2_RATE 

PCIe-2 (5 GT/s)

MTB_UBM_PCIE_3_RATE 

PCIe-3 (8 GT/s)

MTB_UBM_PCIE_4_RATE 

PCIe-4 (16 GT/s)

MTB_UBM_PCIE_5_RATE 

PCIe-5 (32 GT/s)

MTB_UBM_PCIE_6_RATE 

PCIe-6 (TBD)

MTB_UBM_PCIE_NO_RATE_LIMIT 

No Limit.

◆ mtb_en_ubm_controller_type_t

The UBM Controller type.

Enumerator
MTB_UBM_CONTROLLER_SPEC_DEFINED 

Defined by UBM specification.

MTB_UBM_CONTROLLER_VENDOR_SPECIFIC 

Vendor-specific.

◆ mtb_en_ubm_sata_link_rate_t

SATA link rate.

Enumerator
MTB_UBM_SATA_RATE_NS 

Not supported.

MTB_UBM_SATA_3GBS_RATE 

3 Gb/s

MTB_UBM_SATA_6GBS_RATE 

6 Gb/s

MTB_UBM_SATA_NO_RATE_LIMIT 

No Limit.

◆ mtb_en_ubm_port_type_t

The connector port type.

Enumerator
MTB_UBM_PORT_TYPE_CONVERGED 

Supports PCIe and SAS/SATA via the same port.

MTB_UBM_PORT_TYPE_SEGREGATED 

Supports PCIe and does not support SAS/SATA via the same port.

◆ mtb_en_ubm_port_domain_t

Connector port domain.

Enumerator
MTB_UBM_PORT_DOMAIN_PRIMARY 

Primary port.

MTB_UBM_PORT_DOMAIN_SECONDARY 

Secondary port.

◆ mtb_en_ubm_change_count_source_t

Change Count increment source.

Enumerator
MTB_UBM_CC_SOURCE_CPRSNT_LEGACY_MODE 

Change source CPRSTN# Legacy Mode Change.

MTB_UBM_CC_SOURCE_PCIE_RESET 

Change source PCIe Reset Change.

MTB_UBM_CC_SOURCE_DRIVE_TYPE 

Change source Drive Type Installed Change.

MTB_UBM_CC_SOURCE_OP_STATE 

Change source Operational State Change.

MTB_UBM_CC_SOURCE_CTRL_RESET 

Change source Controller Reset.