v10.50 v10.55 Alpha v10.54 Alpha v10.53 Alpha v10.52 Alpha v10.51 Alpha
v10.50 v10.55 Alpha v10.54 Alpha v10.53 Alpha v10.52 Alpha v10.51 Alpha

Sideband Registers

Sideband Registers can be accessed or changed through $USB4SBRegisters, a global variable with the following fields:

Field Name

Possible Values (defaults in bold)

Vendor ID Register (0)

VID_Low

0xFF

VID_High

0x05

VID_Rsvd1

0

VID_Rsvd2

0

Product ID Register (1)

PID_Low

0x04

PID_High

0x00

PID_Rsvd1

0

PID_Rsvd2

0

Opcode Register (8)

OPC_0

0

OPC_1

0

OPC_2

0

OPC_3

0

MetaData Register (9)

MD_Metadata

0

Link Configuration Register (12)

LC_EnablingDecisionLane0

USB4_FALSE

USB4_TRUE

LC_EnablingDecisionLane1

USB4_FALSE

USB4_TRUE

LC_AsymmetricDecisionTx

USB4_FALSE

USB4_TRUE

LC_AsymmetricDecisionRx

USB4_FALSE

USB4_TRUE

LC_Rsvd0

0

LC_EnablingRequestLane0

USB4_FALSE

USB4_TRUE

LC_EnablingRequestLane1

USB4_FALSE

USB4_TRUE

LC_Rsvd1

0

LC_BondingSupport

USB4_FALSE

USB4_TRUE

LC_Gen3Support

USB4_FALSE

USB4_TRUE

LC_RSFEC_RequestGen2

USB4_FALSE

USB4_TRUE

LC_RSFEC_RequestGen3

USB4_FALSE

USB4_TRUE

LC_USB4SidebandChannelSupport

USB4_FALSE

USB4_TRUE

LC_TBT3CompatibleSpeedsSupport

USB4_FALSE

USB4_TRUE

LC_Gen4Support

USB4_FALSE

USB4_TRUE

LC_AsymmetricSupport3Tx

USB4_FALSE

USB4_TRUE

LC_AsymmetricSupport3Rx

USB4_FALSE

USB4_TRUE

LC_RequestAsymmetricTx

USB4_FALSE

USB4_TRUE

LC_RequestAsymmetricRx

USB4_FALSE

USB4_TRUE

LC_Rsvd2

0

Gen 2/3 TxFFE Register (13)

TxFFE_RequestLane0

0

TxFFE_RxLockedLane0

0

TxFFE_RxActiveLane0

0

TxFFE_ClockSwitchDoneLane0

0

TxFFE_NewRequestLane0

0

TxFFE_RequestLane1

0

TxFFE_RxLockedLane1

0

TxFFE_RxActiveLane1

0

TxFFE_ClockSwitchDoneLane1

0

TxFFE_NewRequestLane1

0

TxFFE_SettingLane0

0

TxFFE_Rsvd1

0

TxFFE_RequestDoneLane0

0

TxFFE_TxActiveLane0

0

TxFFE_SettingLane1

0

TxFFE_Rsvd2

0

TxFFE_RequestDoneLane1

0

TxFFE_TxActiveLane1

0

Gen 4 TxFFE Register (14)

G4TxFFERx0_Request

0

G4TxFFERx0_Reserved

0

G4TxFFERx0_NewRequest

0

G4TxFFERx1_Request

0

G4TxFFERx1_Reserved

0

G4TxFFERx1_NewRequest

0

G4TxFFETx0_Setting

0

G4TxFFETx0_RequestDone

0

G4TxFFETx0_StartTxFFE

0

G4TxFFETx1_Setting

0

G4TxFFETx1_RequestDone

0

G4TxFFETx1_StartTxFFE

0

Sideband Channel Version Register (15)

CV_SubVersion

0

CV_MinorVersion

0

CV_MajorVersionLSB

0

CV_MajorVersionMSB

0

Data Register (18)

DATA0

0

DATA1

0

DATA2

0

DATA3

0

DATA4

0

DATA5

0

DATA6

0

DATA7

0

DATA8

0

DATA9

0

DATA10

0

DATA11

0

DATA12

0

DATA13

0

DATA14

0

DATA15

0

Examples

Set $USB4SBRegisters.LC_BondingSupport       = USB4_TRUE
Set $USB4SBRegisters.LC_Gen3Support          = USB4_FALSE 
Set $USB4SBRegisters.LC_RSFEC_RequestGen2    = USB4_FALSE
Set $USB4SBRegisters.LC_RSFEC_RequestGen3    = USB4_FALSE

Gen 4 is off by default. To run the Exerciser at Gen 4, enable LC_Gen4Support. Gen 4 generation requires a Voyager M480x or M4120 with the USB4 Gen 4 Exerciser license.

Set $USB4SBRegisters.LC_Gen3Support          = USB4_TRUE
Set $USB4SBRegisters.LC_Gen4Support          = USB4_TRUE