I3C Constants

This page aggregates all I3C-related constants used by functions and methods from the C and C++ APIs.

I3C_BROADCAST_ADDRESS

Hex.: 0x7E, Dec.: 126. The I3C Broadcast Address is a reserved address used for specific control and management \ operations on the I3C bus,

group I3C-related constants

Enums

enum I3cPushPullRate

This enum represents the available Push-Pull transfer rates and duty cycles for I3C SDR communication.

Values:

enumerator PUSH_PULL_2_5_MHz_DC_10

2.5 MHz with 10% duty cycle

enumerator PUSH_PULL_2_5_MHz_DC_15

2.5 MHz with 15% duty cycle

enumerator PUSH_PULL_2_5_MHz_DC_20

2.5 MHz with 20% duty cycle

enumerator PUSH_PULL_2_5_MHz_DC_25

2.5 MHz with 25% duty cycle

enumerator PUSH_PULL_3_125_MHz_DC_12_5

3.125 MHz with 12.5% duty cycle

enumerator PUSH_PULL_3_125_MHz_DC_18_75

3.125 MHz with 18.75% duty cycle

enumerator PUSH_PULL_3_125_MHz_DC_25

3.125 MHz with 25% duty cycle

enumerator PUSH_PULL_3_125_MHz_DC_31_25

3.125 MHz with 31.25% duty cycle

enumerator PUSH_PULL_5_MHz_DC_20

5 MHz with 20% duty cycle

enumerator PUSH_PULL_5_MHz_DC_30

5 MHz with 30% duty cycle

enumerator PUSH_PULL_5_MHz_DC_40

5 MHz with 40% duty cycle

enumerator PUSH_PULL_5_MHz_DC_50

5 MHz with 50% duty cycle

enumerator PUSH_PULL_6_25_MHz_DC_25

6.25 MHz with 25% duty cycle

enumerator PUSH_PULL_6_25_MHz_DC_37_5

6.25 MHz with 37.5% duty cycle

enumerator PUSH_PULL_6_25_MHz_DC_50

6.25 MHz with 50% duty cycle

enumerator PUSH_PULL_7_5_MHz_DC_30

7.5 MHz with 30% duty cycle

enumerator PUSH_PULL_7_5_MHz_DC_45

7.5 MHz with 45% duty cycle

enumerator PUSH_PULL_10_MHz_DC_40

10 MHz with 40% duty cycle

enumerator PUSH_PULL_12_5_MHz_DC_50

12.5 MHz with 50% duty cycle

enum I3cOpenDrainTransferRate

This enum represents the available Open-Drain transfer rates for I3C communication.

Values:

enumerator OPEN_DRAIN_100_KHz

100 kHz open-drain transfer rate

enumerator OPEN_DRAIN_400_KHz

400 kHz open-drain transfer rate

enumerator OPEN_DRAIN_1_MHz

1 MHz open-drain transfer rate

enumerator OPEN_DRAIN_2_MHz

2 MHz open-drain transfer rate

enumerator OPEN_DRAIN_4_17_MHz

4.17 MHz open-drain transfer rate

enum I2cTransferRate

This enum represents the available legacy I2C transfer modes.

Values:

enumerator STANDARD_MODE

Standard mode (100 kHz)

enumerator FAST_MODE

Fast mode (400 kHz)

enumerator FAST_MODE_PLUS

Fast mode Plus (1 MHz)

enumerator HIGH_SPEED_MODE

High-speed mode (3.4 MHz)

enumerator ULTRA_FAST_MODE

Ultra-fast mode (5 MHz)

enum I3cDriveStrength

This enum represents the drive strength configuration for the I3C bus.

Values:

enumerator STANDARD

Standard drive strength (default configuration)

enumerator FAST

Increased drive strength for higher speed or heavier bus loads

enum I3cTransferMode

This enum represents the supported I3C transfer modes.

Values:

enumerator SDR

Standard Data Rate mode (default I3C mode)

enumerator HDR_DDR

High Data Rate Double Data Rate mode

enumerator I2C

Legacy I2C-compatible mode

enum I3cTransferDirection

This enum represents the transfer direction.

Values:

enumerator WRITE

Write transfer (controller to target)

enumerator READ

Read transfer (target to controller)

enum I3cTransferFlags

This enum represents optional flags that modify the behavior of an I3C transfer.

Values:

enumerator I3C_XFER_NONE

Standard transfer: START + Target Address + … + STOP

enumerator I3C_XFER_NONSTOP

No STOP condition is emitted at the end of the transfer

enumerator I3C_XFER_START_WITH_7E

Transfer starts with broadcast address 0x7E before addressing the target

enum I3cTargetResetDefByte

This enum represents the defining byte values for the RSTACT CCC.

Values:

enumerator NO_RESET

No reset action

enumerator RESET_I3C_PERIPHERAL

Reset only the I3C peripheral logic

enumerator RESET_WHOLE_TARGET

Reset the entire target device

enumerator RESET_DEBUG_NETWORK

Reset the debug network

enumerator VIRTUAL_TARGET_DETECT

Trigger virtual target detection

enumerator RETURN_TIME_RESET_PERIPHERAL

Return reset time for I3C peripheral reset

enumerator RETURN_TIME_RESET_WHOLE_TARGET

Return reset time for full target reset

enumerator RETURN_TIME_DEBUG_NETWORK_RESET

Return reset time for debug network reset

enumerator RETURN_VIRTUAL_TARGET_INDICATION

Return virtual target indication

enum I3CEvent

This enum represents the Target Event bits used with the methods for the ENEC and DISEC CCCs.

Values:

enumerator IBI

In-Band Interrupt

enumerator CR

Controller Role Request

enumerator HJ

Hot-Join Request

enum I3cCccType

This enum represents the type of CCC based on the presence of a defining byte.

Values:

enumerator CCC_WITHOUT_DEFINING_BYTE

CCC without defining byte

enumerator CCC_WITH_DEFINING_BYTE

CCC including a defining byte

enum I3cPattern

This enum represents the supported I3C bus patterns.

Values:

enumerator I3C_TARGET_RESET_PATTERN

Target Reset Pattern

enumerator I3C_HDR_EXIT_PATTERN

HDR Exit Pattern

enum CCC

Common Command Codes (CCC) defined by the MIPI I3C v1.2 specification.

This table includes Broadcast CCCs (B_*, 0x00-0x7F) and Direct CCCs (D_*, 0x80-0xFF). For paired commands, the Direct opcode is typically the Broadcast opcode + 0x80.

Values:

enumerator B_ENEC

Broadcast ENEC: Enable events on all targets.

enumerator B_DISEC

Broadcast DISEC: Disable events on all targets.

enumerator B_ENTAS0

Broadcast ENTAS0: Enter Activity State 0.

enumerator B_ENTAS1

Broadcast ENTAS1: Enter Activity State 1.

enumerator B_ENTAS2

Broadcast ENTAS2: Enter Activity State 2.

enumerator B_ENTAS3

Broadcast ENTAS3: Enter Activity State 3.

enumerator B_RSTDAA

Broadcast RSTDAA: Reset dynamic addresses.

enumerator B_ENTDAA

Broadcast ENTDAA: Enter Dynamic Address Assignment.

enumerator B_DEFTGTS

Broadcast DEFTGTS: Define list of targets.

enumerator B_SETMWL

Broadcast SETMWL: Set Maximum Write Length.

enumerator B_SETMRL

Broadcast SETMRL: Set Maximum Read Length.

enumerator B_ENTTM

Broadcast ENTTM: Enter test mode.

enumerator B_SETBUSCON

Broadcast SETBUSCON: Set bus context.

enumerator MIPI_RS_0D

0x0D – 0x11 - MIPI Reserved

enumerator MIPI_RS_0E
enumerator MIPI_RS_0F
enumerator MIPI_RS_10
enumerator MIPI_RS_11
enumerator B_ENDXFER

Broadcast ENDXFER: End an ongoing transfer.

enumerator MIPI_RS_13

0x13 – 0x1E - MIPI Reserved

enumerator MIPI_RS_14
enumerator MIPI_RS_15
enumerator MIPI_RS_16
enumerator MIPI_RS_17
enumerator MIPI_RS_18
enumerator MIPI_RS_19
enumerator MIPI_RS_1A
enumerator MIPI_RS_1B
enumerator MIPI_RS_1C
enumerator MIPI_RS_1D
enumerator MIPI_RS_1E
enumerator RES_1F

0x1F Reserved

enumerator B_ENTHDR0

Broadcast ENTHDR0: Enter HDR mode 0.

enumerator B_ENTHDR1

Broadcast ENTHDR1: Enter HDR mode 1.

enumerator B_ENTHDR2

Broadcast ENTHDR2: Enter HDR mode 2.

enumerator B_ENTHDR3

Broadcast ENTHDR3: Enter HDR mode 3.

enumerator B_ENTHDR4

Broadcast ENTHDR4: Enter HDR mode 4.

enumerator B_ENTHDR5

Broadcast ENTHDR5: Enter HDR mode 5.

enumerator B_ENTHDR6

Broadcast ENTHDR6: Enter HDR mode 6.

enumerator B_ENTHDR7

Broadcast ENTHDR7: Enter HDR mode 7.

enumerator B_SETXTIME

Broadcast SETXTIME: Set exchange timing information.

enumerator B_SETAASA

Broadcast SETAASA: Assign dynamic addresses from static addresses.

enumerator B_RSTACT

Broadcast RSTACT: Configure target reset action.

enumerator B_DEFGRPA

Broadcast DEFGRPA: Define group address assignments.

enumerator B_RSTGRPA

Broadcast RSTGRPA: Reset group address assignments.

enumerator B_MLANE

Broadcast MLANE: Configure multi-lane operation.

enumerator MIPI_WG_2E

0x2E – 0x48 - MIPI I3C WG Reserved

enumerator MIPI_WG_2F
enumerator MIPI_WG_30
enumerator MIPI_WG_31
enumerator MIPI_WG_32
enumerator MIPI_WG_33
enumerator MIPI_WG_34
enumerator MIPI_WG_35
enumerator MIPI_WG_36
enumerator MIPI_WG_37
enumerator MIPI_WG_38
enumerator MIPI_WG_39
enumerator MIPI_WG_3A
enumerator MIPI_WG_3B
enumerator MIPI_WG_3C
enumerator MIPI_WG_3D
enumerator MIPI_WG_3E
enumerator MIPI_WG_3F
enumerator MIPI_WG_40
enumerator MIPI_WG_41
enumerator MIPI_WG_42
enumerator MIPI_WG_43
enumerator MIPI_WG_44
enumerator MIPI_WG_45
enumerator MIPI_WG_46
enumerator MIPI_WG_47
enumerator MIPI_WG_48
enumerator MIPI_CAM_49

0x49 – 0x4C - MIPI Camera WG Reserved – Broadcast CCCs

enumerator MIPI_CAM_4A
enumerator MIPI_CAM_4B
enumerator MIPI_CAM_4C
enumerator MIPI_RS_4D

0x4D – 0x57 - MIPI Reserved – Broadcast CCCs

enumerator MIPI_RS_4E
enumerator MIPI_RS_4F
enumerator MIPI_RS_50
enumerator MIPI_RS_51
enumerator MIPI_RS_52
enumerator MIPI_RS_53
enumerator MIPI_RS_54
enumerator MIPI_RS_55
enumerator MIPI_RS_56
enumerator MIPI_RS_57
enumerator MIPI_DWG_58

0x58 – 0x5B - MIPI Debug WG Reserved – Broadcast CCCs

enumerator MIPI_DWG_59
enumerator MIPI_DWG_5A
enumerator MIPI_DWG_5B
enumerator MIPIRIOWG5C

0x5C – 0x60 - MIPI RIO WG Reserved – Broadcast CCCs

enumerator MIPIRIOWG5D
enumerator MIPIRIOWG5E
enumerator MIPIRIOWG5F
enumerator MIPIRIOWG60
enumerator B_VENCCC_61

0x61 – 0x7F - Vendor / Standards Extension – Broadcast CCCs

enumerator B_VENCCC_62
enumerator B_VENCCC_63
enumerator B_VENCCC_64
enumerator B_VENCCC_65
enumerator B_VENCCC_66
enumerator B_VENCCC_67
enumerator B_VENCCC_68
enumerator B_VENCCC_69
enumerator B_VENCCC_6A
enumerator B_VENCCC_6B
enumerator B_VENCCC_6C
enumerator B_VENCCC_6D
enumerator B_VENCCC_6E
enumerator B_VENCCC_6F
enumerator B_VENCCC_70
enumerator B_VENCCC_71
enumerator B_VENCCC_72
enumerator B_VENCCC_73
enumerator B_VENCCC_74
enumerator B_VENCCC_75
enumerator B_VENCCC_76
enumerator B_VENCCC_77
enumerator B_VENCCC_78
enumerator B_VENCCC_79
enumerator B_VENCCC_7A
enumerator B_VENCCC_7B
enumerator B_VENCCC_7C
enumerator B_VENCCC_7D
enumerator B_VENCCC_7E
enumerator B_VENCCC_7F
enumerator D_ENEC

Direct ENEC: Enable events on a specific target.

enumerator D_DISEC

Direct DISEC: Disable events on a specific target.

enumerator D_ENTAS0

Direct ENTAS0: Enter Activity State 0.

enumerator D_ENTAS1

Direct ENTAS1: Enter Activity State 1.

enumerator D_ENTAS2

Direct ENTAS2: Enter Activity State 2.

enumerator D_ENTAS3

Direct ENTAS3: Enter Activity State 3.

enumerator D_RSTDAA

0x86 - DEPRECATED: RSTDAA Direct. Reset Dynamic Address Assignment

enumerator D_SETDASA

Direct SETDASA: Set dynamic address from static address.

enumerator D_SETNEWDA

Direct SETNEWDA: Set a new dynamic address.

enumerator D_SETMWL

Direct SETMWL: Set Maximum Write Length.

enumerator D_SETMRL

Direct SETMRL: Set Maximum Read Length.

enumerator D_GETMWL

Direct GETMWL: Get Maximum Write Length.

enumerator D_GETMRL

Direct GETMRL: Get Maximum Read Length.

enumerator D_GETPID

Direct GETPID: Get Provisioned ID.

enumerator D_GETBCR

Direct GETBCR: Get Bus Characteristics Register.

enumerator D_GETDCR

Direct GETDCR: Get Device Characteristics Register.

enumerator D_GETSTATUS

Direct GETSTATUS: Get target status.

enumerator D_GETACCCR

Direct GETACCCR: Get Accept Controller Role.

enumerator D_ENDXFER

Direct ENDXFER: End an ongoing transfer.

enumerator D_SETBRGTGT

Direct SETBRGTGT: Set bridge target parameters.

enumerator D_GETMXDS

Direct GETMXDS: Get maximum data speed settings.

enumerator D_GETCAPS

Direct GETCAPS: Get optional feature capabilities.

enumerator D_SETROUTE

Direct SETROUTE: Configure routing information.

enumerator D_D2DXFER

Direct D2DXFER: Device-to-device tunneling control (not in I3C Basic).

enumerator D_SETXTIME

Direct SETXTIME: Set exchange timing information.

enumerator D_GETXTIME

Direct GETXTIME: Get exchange timing information.

enumerator D_RSTACT

Direct RSTACT: Configure target reset action.

enumerator D_SETGRPA

Direct SETGRPA: Set target group address assignment.

enumerator D_RSTGRPA

Direct RSTGRPA: Reset target group address assignment.

enumerator D_MLANE

Direct MLANE: Configure multi-lane operation.

enumerator MIPI_WG_9E

0x9E – 0xBF - MIPI I3C WG Reserved – Direct CCCs

enumerator MIPI_WG_9F
enumerator MIPI_WG_A0
enumerator MIPI_WG_A1
enumerator MIPI_WG_A2
enumerator MIPI_WG_A3
enumerator MIPI_WG_A4
enumerator MIPI_WG_A5
enumerator MIPI_WG_A6
enumerator MIPI_WG_A7
enumerator MIPI_WG_A8
enumerator MIPI_WG_A9
enumerator MIPI_WG_AA
enumerator MIPI_WG_AB
enumerator MIPI_WG_AC
enumerator MIPI_WG_AD
enumerator MIPI_WG_AE
enumerator MIPI_WG_AF
enumerator MIPI_WG_B0
enumerator MIPI_WG_B1
enumerator MIPI_WG_B2
enumerator MIPI_WG_B3
enumerator MIPI_WG_B4
enumerator MIPI_WG_B5
enumerator MIPI_WG_B6
enumerator MIPI_WG_B7
enumerator MIPI_WG_B8
enumerator MIPI_WG_B9
enumerator MIPI_WG_BA
enumerator MIPI_WG_BB
enumerator MIPI_WG_BC
enumerator MIPI_WG_BD
enumerator MIPI_WG_BE
enumerator MIPI_WG_BF
enumerator MIPI_CAM_C0

0xC0 – 0xC3 - MIPI Camera WG Reserved – Direct CCCs

enumerator MIPI_CAM_C1
enumerator MIPI_CAM_C2
enumerator MIPI_CAM_C3
enumerator MIPI_RS_C4

0xC4 – 0xD6 - MIPI Reserved – Direct CCCs

enumerator MIPI_RS_C5
enumerator MIPI_RS_C6
enumerator MIPI_RS_C7
enumerator MIPI_RS_C8
enumerator MIPI_RS_C9
enumerator MIPI_RS_CA
enumerator MIPI_RS_CB
enumerator MIPI_RS_CC
enumerator MIPI_RS_CD
enumerator MIPI_RS_CE
enumerator MIPI_RS_CF
enumerator MIPI_RS_D0
enumerator MIPI_RS_D1
enumerator MIPI_RS_D2
enumerator MIPI_RS_D3
enumerator MIPI_RS_D4
enumerator MIPI_RS_D5
enumerator MIPI_RS_D6
enumerator MIPI_DWG_D7

0xD7 – 0xDA - MIPI Debug WG Reserved – Direct CCCs

enumerator MIPI_DWG_D8
enumerator MIPI_DWG_D9
enumerator MIPI_DWG_DA
enumerator MIPIRIOWGDB

0xDB – 0xDF - MIPI RIO WG Reserved – Direct CCCs

enumerator MIPIRIOWGDC
enumerator MIPIRIOWGDD
enumerator MIPIRIOWGDE
enumerator MIPIRIOWGDF
enumerator D_VENCCC_E0

0xE0 – 0xFE - Vendor / Standards Extension – Direct CCCs

enumerator D_VENCCC_E1
enumerator D_VENCCC_E2
enumerator D_VENCCC_E3
enumerator D_VENCCC_E4
enumerator D_VENCCC_E5
enumerator D_VENCCC_E6
enumerator D_VENCCC_E7
enumerator D_VENCCC_E8
enumerator D_VENCCC_E9
enumerator D_VENCCC_EA
enumerator D_VENCCC_EB
enumerator D_VENCCC_EC
enumerator D_VENCCC_ED
enumerator D_VENCCC_EE
enumerator D_VENCCC_EF
enumerator D_VENCCC_F0
enumerator D_VENCCC_F1
enumerator D_VENCCC_F2
enumerator D_VENCCC_F3
enumerator D_VENCCC_F4
enumerator D_VENCCC_F5
enumerator D_VENCCC_F6
enumerator D_VENCCC_F7
enumerator D_VENCCC_F8
enumerator D_VENCCC_F9
enumerator D_VENCCC_FA
enumerator D_VENCCC_FB
enumerator D_VENCCC_FC
enumerator D_VENCCC_FD
enumerator D_VENCCC_FE
enumerator MIPI_WG_FF

0xFF - MIPI I3C WG Reserved