Register descriptions

This chapter provides auto-generated register descriptions for the core.

I3CCSR address map

  • Absolute Address: 0x0

  • Base Offset: 0x0

  • Size: 0x1000

Offset

Identifier

Name

0x000

I3CBase

I3C Capability and Operational Registers

0x080

PIOControl

Programmable I/O

0x100

I3C_EC

Extended Capabilities

0x400

DAT

Device Address Table

0x800

DCT

Device Characteristic Table

I3CBase register file

  • Absolute Address: 0x0

  • Base Offset: 0x0

  • Size: 0x6C

Offset

Identifier

Name

0x00

HCI_VERSION

HCI Version

0x04

HC_CONTROL

Control

0x08

CONTROLLER_DEVICE_ADDR

Dynamic address

0x0C

HC_CAPABILITIES

Capabilities

0x10

RESET_CONTROL

Reset controls

0x14

PRESENT_STATE

Active controller

0x20

INTR_STATUS

Status

0x24

INTR_STATUS_ENABLE

Enable status reporting

0x28

INTR_SIGNAL_ENABLE

Enable status interrupts

0x2C

INTR_FORCE

Force status and interrupt

0x30

DAT_SECTION_OFFSET

DAT section offset

0x34

DCT_SECTION_OFFSET

DCT section offset

0x38

RING_HEADERS_SECTION_OFFSET

Ring section offset

0x3C

PIO_SECTION_OFFSET

PIO section offset

0x40

EXT_CAPS_SECTION_OFFSET

Extended capabilities section offset

0x4C

INT_CTRL_CMDS_EN

MIPI commands

0x58

IBI_NOTIFY_CTRL

I3C interrupts notification

0x5C

IBI_DATA_ABORT_CTRL

IBI data control

0x60

DEV_CTX_BASE_LO

Device context memory address lower 32 bits

0x64

DEV_CTX_BASE_HI

Device context memory address higher 32 bits

0x68

DEV_CTX_SG

SG control

HCI_VERSION register

  • Absolute Address: 0x0

  • Base Offset: 0x0

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

VERSION

r

0x120

HC_CONTROL register

  • Absolute Address: 0x4

  • Base Offset: 0x4

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

IBA_INCLUDE

rw

0x0

IBA_INCLUDE

3

AUTOCMD_DATA_RPT

r

0x0

AUTOCMD_DATA_RPT

4

DATA_BYTE_ORDER_MODE

r

0x0

DATA_BYTE_ORDER_MODE

6

MODE_SELECTOR

r

0x1

MODE_SELECTOR

7

I2C_DEV_PRESENT

rw

0x0

I2C_DEV_PRESENT

8

HOT_JOIN_CTRL

rw

0x0

HOT_JOIN_CTRL

12

HALT_ON_CMD_SEQ_TIMEOUT

rw

0x0

HALT_ON_CMD_SEQ_TIMEOUT

29

ABORT

rw

0x0

ABORT

30

RESUME

rw, woclr

0x0

RESUME

31

BUS_ENABLE

rw

0x0

BUS_ENABLE

IBA_INCLUDE field

Include I3C Broadcast Address:

0 - skips I3C Broadcast Address for private transfers

1 - includes I3C Broadcast Address for private transfers

AUTOCMD_DATA_RPT field

Auto-Command Data Report:

0 - coalesced reporting

1 - separated reporting

DATA_BYTE_ORDER_MODE field

Data Byte Ordering Mode:

0 - Little Endian

1 - Big Endian

MODE_SELECTOR field

DMA/PIO Mode Selector:

0 - DMA

1 - PIO

I2C_DEV_PRESENT field

I2C Device Present on Bus:

0 - pure I3C bus

1 - legacy I2C devices on the bus

HOT_JOIN_CTRL field

Hot-Join ACK/NACK Control:

0 - ACK Hot-Join request

1 - NACK Hot-Join request and send Broadcast CCC to disable Hot-Join

HALT_ON_CMD_SEQ_TIMEOUT field

Halt on Command Sequence Timeout when set to 1

ABORT field

Host Controller Abort when set to 1

RESUME field

Host Controller Resume:

0 - Controller is running

1 - Controller is suspended

Write 1 to resume Controller operations.

BUS_ENABLE field

Host Controller Bus Enable

CONTROLLER_DEVICE_ADDR register

  • Absolute Address: 0x8

  • Base Offset: 0x8

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

22:16

DYNAMIC_ADDR

rw

0x0

DYNAMIC_ADDR

31

DYNAMIC_ADDR_VALID

rw

0x0

DYNAMIC_ADDR_VALID

DYNAMIC_ADDR field

Device Dynamic Address

DYNAMIC_ADDR_VALID field

Dynamic Address is Valid:

0 - dynamic address is invalid

1 - dynamic address is valid

HC_CAPABILITIES register

  • Absolute Address: 0xC

  • Base Offset: 0xC

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

2

COMBO_COMMAND

r

0x0

COMBO_COMMAND

3

AUTO_COMMAND

r

0x0

AUTO_COMMAND

5

STANDBY_CR_CAP

r

0x0

STANDBY_CR_CAP

6

HDR_DDR_EN

r

0x0

HDR_DDR_EN

7

HDR_TS_EN

r

0x0

HDR_TS_EN

10

CMD_CCC_DEFBYTE

r

0x1

CMD_CCC_DEFBYTE

11

IBI_DATA_ABORT_EN

r

0x0

IBI_DATA_ABORT_EN

12

IBI_CREDIT_COUNT_EN

r

0x0

IBI_CREDIT_COUNT_EN

13

SCHEDULED_COMMANDS_EN

r

0x0

SCHEDULED_COMMANDS_EN

21:20

CMD_SIZE

r

0x0

CMD_SIZE

28

SG_CAPABILITY_CR_EN

r

0x0

SG_CAPABILITY_CR_EN

29

SG_CAPABILITY_IBI_EN

r

0x0

SG_CAPABILITY_IBI_EN

30

SG_CAPABILITY_DC_EN

r

0x0

SG_CAPABILITY_DC_EN

COMBO_COMMAND field

Controller combined command:

0 - not supported

1 - supported

AUTO_COMMAND field

Automatic read command on IBI:

0 - not supported

1 - supported

STANDBY_CR_CAP field

Switching from active to standby mode:

0 - not supported, this controller is always active on I3C

1- supported, this controller can hand off I3C to secondary controller

HDR_DDR_EN field

HDR-DDR transfers:

0 - not supported

1 - supported

HDR_TS_EN field

HDR-Ternary transfers:

0 - not supported

1 - supported

CMD_CCC_DEFBYTE field

CCC with defining byte:

0 - not supported

1 - supported

IBI_DATA_ABORT_EN field

Controller IBI data abort:

0 - not supported

1 - supported

IBI_CREDIT_COUNT_EN field

Controller IBI credit count:

0 - not supported

1 - supported

SCHEDULED_COMMANDS_EN field

Controller command scheduling:

0 - not supported

1 - supported

CMD_SIZE field

Size and structure of the Command Descriptor:

2'b0: 2 DWORDs,

all other reserved.

SG_CAPABILITY_CR_EN field

DMA only: Command and Response rings memory:

0 - must be physically continuous

1 - controller supports scatter-gather

SG_CAPABILITY_IBI_EN field

DMA only: IBI status and IBI Data rings memory:

0 - must be physically continuous

1 - controller supports scatter-gather

SG_CAPABILITY_DC_EN field

Device context memory:

0 - must be physically continuous

1 - controller supports scatter-gather

RESET_CONTROL register

  • Absolute Address: 0x10

  • Base Offset: 0x10

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

SOFT_RST

rw

0x0

SOFT_RST

1

CMD_QUEUE_RST

rw

0x0

CMD_QUEUE_RST

2

RESP_QUEUE_RST

rw

0x0

RESP_QUEUE_RST

3

TX_FIFO_RST

rw

0x0

TX_FIFO_RST

4

RX_FIFO_RST

rw

0x0

RX_FIFO_RST

5

IBI_QUEUE_RST

rw

0x0

IBI_QUEUE_RST

SOFT_RST field

Reset controller from software.

CMD_QUEUE_RST field

Clear command queue from software. Valid only in PIO mode.

RESP_QUEUE_RST field

Clear response queue from software. Valid only in PIO mode.

TX_FIFO_RST field

Clear TX FIFO from software. Valid only in PIO mode.

RX_FIFO_RST field

Clear RX FIFO from software. Valid only in PIO mode.

IBI_QUEUE_RST field

Clear IBI queue from software. Valid only in PIO mode.

PRESENT_STATE register

  • Absolute Address: 0x14

  • Base Offset: 0x14

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

2

AC_CURRENT_OWN

r

0x1

AC_CURRENT_OWN

AC_CURRENT_OWN field

Controller I3C state:

0 - not bus owner

1 - bus owner

INTR_STATUS register

  • Absolute Address: 0x20

  • Base Offset: 0x20

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

10

HC_INTERNAL_ERR_STAT

rw, woclr

0x0

HC_INTERNAL_ERR_STAT

11

HC_SEQ_CANCEL_STAT

rw, woclr

0x0

HC_SEQ_CANCEL_STAT

12

HC_WARN_CMD_SEQ_STALL_STAT

rw, woclr

0x0

HC_WARN_CMD_SEQ_STALL_STAT

13

HC_ERR_CMD_SEQ_TIMEOUT_STAT

rw, woclr

0x0

HC_ERR_CMD_SEQ_TIMEOUT_STAT

14

SCHED_CMD_MISSED_TICK_STAT

rw, woclr

0x0

SCHED_CMD_MISSED_TICK_STAT

HC_INTERNAL_ERR_STAT field

Controller internal unrecoverable error.

HC_SEQ_CANCEL_STAT field

Controller had to cancel command sequence.

HC_WARN_CMD_SEQ_STALL_STAT field

Clock stalled due to lack of commands.

HC_ERR_CMD_SEQ_TIMEOUT_STAT field

Command timeout after prolonged stall.

SCHED_CMD_MISSED_TICK_STAT field

Scheduled commands could be executed due to controller being busy.

INTR_STATUS_ENABLE register

  • Absolute Address: 0x24

  • Base Offset: 0x24

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

10

HC_INTERNAL_ERR_STAT_EN

rw

0x0

HC_INTERNAL_ERR_STAT_EN

11

HC_SEQ_CANCEL_STAT_EN

rw

0x0

HC_SEQ_CANCEL_STAT_EN

12

HC_WARN_CMD_SEQ_STALL_STAT_EN

rw

0x0

HC_WARN_CMD_SEQ_STALL_STAT_EN

13

HC_ERR_CMD_SEQ_TIMEOUT_STAT_EN

rw

0x0

HC_ERR_CMD_SEQ_TIMEOUT_STAT_EN

14

SCHED_CMD_MISSED_TICK_STAT_EN

rw

0x0

SCHED_CMD_MISSED_TICK_STAT_EN

HC_INTERNAL_ERR_STAT_EN field

Enable HC_INTERNAL_ERR_STAT monitoring.

HC_SEQ_CANCEL_STAT_EN field

Enable HC_SEQ_CANCEL_STAT monitoring.

HC_WARN_CMD_SEQ_STALL_STAT_EN field

Enable HC_WARN_CMD_SEQ_STALL_STAT monitoring.

HC_ERR_CMD_SEQ_TIMEOUT_STAT_EN field

Enable HC_ERR_CMD_SEQ_TIMEOUT_STAT monitoring.

SCHED_CMD_MISSED_TICK_STAT_EN field

Enable SCHED_CMD_MISSED_TICK_STAT monitoring.

INTR_SIGNAL_ENABLE register

  • Absolute Address: 0x28

  • Base Offset: 0x28

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

10

HC_INTERNAL_ERR_SIGNAL_EN

rw

0x0

HC_INTERNAL_ERR_SIGNAL_EN

11

HC_SEQ_CANCEL_SIGNAL_EN

rw

0x0

HC_SEQ_CANCEL_SIGNAL_EN

12

HC_WARN_CMD_SEQ_STALL_SIGNAL_EN

rw

0x0

HC_WARN_CMD_SEQ_STALL_SIGNAL_EN

13

HC_ERR_CMD_SEQ_TIMEOUT_SIGNAL_EN

rw

0x0

HC_ERR_CMD_SEQ_TIMEOUT_SIGNAL_EN

14

SCHED_CMD_MISSED_TICK_SIGNAL_EN

rw

0x0

SCHED_CMD_MISSED_TICK_SIGNAL_EN

HC_INTERNAL_ERR_SIGNAL_EN field

Enable HC_INTERNAL_ERR_STAT interrupt.

HC_SEQ_CANCEL_SIGNAL_EN field

Enable HC_SEQ_CANCEL_STAT interrupt.

HC_WARN_CMD_SEQ_STALL_SIGNAL_EN field

Enable HC_WARN_CMD_SEQ_STALL_STAT interrupt.

HC_ERR_CMD_SEQ_TIMEOUT_SIGNAL_EN field

Enable HC_ERR_CMD_SEQ_TIMEOUT_STAT interrupt.

SCHED_CMD_MISSED_TICK_SIGNAL_EN field

Enable SCHED_CMD_MISSED_TICK_STAT interrupt.

INTR_FORCE register

  • Absolute Address: 0x2C

  • Base Offset: 0x2C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

10

HC_INTERNAL_ERR_FORCE

w

0x0

HC_INTERNAL_ERR_FORCE

11

HC_SEQ_CANCEL_FORCE

w

0x0

HC_SEQ_CANCEL_FORCE

12

HC_WARN_CMD_SEQ_STALL_FORCE

w

0x0

HC_WARN_CMD_SEQ_STALL_FORCE

13

HC_ERR_CMD_SEQ_TIMEOUT_FORCE

w

0x0

HC_ERR_CMD_SEQ_TIMEOUT_FORCE

14

SCHED_CMD_MISSED_TICK_FORCE

w

0x0

SCHED_CMD_MISSED_TICK_FORCE

HC_INTERNAL_ERR_FORCE field

Force HC_INTERNAL_ERR_STAT interrupt.

HC_SEQ_CANCEL_FORCE field

Force HC_SEQ_CANCEL_STAT interrupt.

HC_WARN_CMD_SEQ_STALL_FORCE field

Force HC_WARN_CMD_SEQ_STALL_STAT interrupt.

HC_ERR_CMD_SEQ_TIMEOUT_FORCE field

Force HC_ERR_CMD_SEQ_TIMEOUT_STAT interrupt.

SCHED_CMD_MISSED_TICK_FORCE field

Force SCHED_CMD_MISSED_TICK_STAT interrupt.

DAT_SECTION_OFFSET register

  • Absolute Address: 0x30

  • Base Offset: 0x30

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

11:0

TABLE_OFFSET

r

0x400

TABLE_OFFSET

18:12

TABLE_SIZE

r

0x7F

TABLE_SIZE

31:28

ENTRY_SIZE

r

0x0

ENTRY_SIZE

TABLE_OFFSET field

DAT entry offset in respect to BASE address.

TABLE_SIZE field

Max number of DAT entries.

ENTRY_SIZE field

Individual DAT entry size. 0 - 2 DWRODs, 1:15 - reserved.

DCT_SECTION_OFFSET register

  • Absolute Address: 0x34

  • Base Offset: 0x34

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

11:0

TABLE_OFFSET

r

0x800

TABLE_OFFSET

18:12

TABLE_SIZE

r

0x7F

TABLE_SIZE

23:19

TABLE_INDEX

rw

0x0

TABLE_INDEX

31:28

ENTRY_SIZE

r

0x0

ENTRY_SIZE

TABLE_OFFSET field

DCT entry offset in respect to BASE address.

TABLE_SIZE field

Max number of DCT entries.

TABLE_INDEX field

Index to DCT used during ENTDAA.

ENTRY_SIZE field

Individual DCT entry size.

0 - 4 DWORDs,

1:15 - Reserved.

RING_HEADERS_SECTION_OFFSET register

  • Absolute Address: 0x38

  • Base Offset: 0x38

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:0

SECTION_OFFSET

r

0x0

SECTION_OFFSET

SECTION_OFFSET field

DMA ring headers section offset. Invalid if 0.

PIO_SECTION_OFFSET register

  • Absolute Address: 0x3C

  • Base Offset: 0x3C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:0

SECTION_OFFSET

r

0x80

SECTION_OFFSET

SECTION_OFFSET field

PIO section offset. Invalid if 0.

EXT_CAPS_SECTION_OFFSET register

  • Absolute Address: 0x40

  • Base Offset: 0x40

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:0

SECTION_OFFSET

r

0x100

SECTION_OFFSET

SECTION_OFFSET field

Extended Capabilities section offset. Invalid if 0.

INT_CTRL_CMDS_EN register

  • Absolute Address: 0x4C

  • Base Offset: 0x4C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

ICC_SUPPORT

r

0x1

ICC_SUPPORT

15:1

MIPI_CMDS_SUPPORTED

r

0x35

MIPI_CMDS_SUPPORTED

ICC_SUPPORT field

Internal Control Commands:

1 - some or all internals commands sub-commands are supported,

0 - illegal.

MIPI_CMDS_SUPPORTED field

Bitmask of supported MIPI commands.

IBI_NOTIFY_CTRL register

  • Absolute Address: 0x58

  • Base Offset: 0x58

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

NOTIFY_HJ_REJECTED

rw

0x0

NOTIFY_HJ_REJECTED

1

NOTIFY_CRR_REJECTED

rw

0x0

NOTIFY_CRR_REJECTED

3

NOTIFY_IBI_REJECTED

rw

0x0

NOTIFY_IBI_REJECTED

NOTIFY_HJ_REJECTED field

Notify about rejected hot-join:

0 - do not enqueue rejected HJ,

1 = enqueue rejected HJ on IBI queue/ring.

NOTIFY_CRR_REJECTED field

Notify about rejected controller role request:

0 - do not enqueue rejected CRR,

1 = enqueue rejected CRR on IBI queue/ring.

NOTIFY_IBI_REJECTED field

Notify about rejected IBI:

0 - do not enqueue rejected IBI,

1 = enqueue rejected IBI on IBI queue/ring.

IBI_DATA_ABORT_CTRL register

  • Absolute Address: 0x5C

  • Base Offset: 0x5C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:8

MATCH_IBI_ID

rw

0x0

MATCH_IBI_ID

17:16

AFTER_N_CHUNKS

rw

0x0

AFTER_N_CHUNKS

20:18

MATCH_STATUS_TYPE

rw

0x0

MATCH_STATUS_TYPE

31

IBI_DATA_ABORT_MON

rw

0x0

IBI_DATA_ABORT_MON

MATCH_IBI_ID field

IBI target address:

[15:9] - device address,

[8] - must always be set to 1'b1

AFTER_N_CHUNKS field

Number of data chunks to be allowed before forced termination:

0 - immediate,

1:3 - delay by 1-3 data chunks.

MATCH_STATUS_TYPE field

Define which IBI should be aborted:

3'b000 - Regular IBI,

3'b100 - Autocmd IBI,

other values - not supported.

IBI_DATA_ABORT_MON field

Enable/disable IBI monitoring logic.

DEV_CTX_BASE_LO register

  • Absolute Address: 0x60

  • Base Offset: 0x60

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

BASE_LO

rw

0x0

DEV_CTX_BASE_HI register

  • Absolute Address: 0x64

  • Base Offset: 0x64

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

BASE_HI

rw

0x0

DEV_CTX_SG register

  • Absolute Address: 0x68

  • Base Offset: 0x68

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:0

LIST_SIZE

r

0x0

LIST_SIZE

31

BLP

r

0x0

BLP

LIST_SIZE field

Number of SG entries.

BLP field

Buffer vs list pointer in device context:

0 - continuous physical memory region,

1 - pointer to SG descriptor list.

PIOControl register file

  • Absolute Address: 0x80

  • Base Offset: 0x80

  • Size: 0x34

Offset

Identifier

Name

0x00

COMMAND_PORT

Command issue port

0x04

RESPONSE_PORT

Command response port

0x08

TX_DATA_PORT

Transferred data access port

0x08

RX_DATA_PORT

Received data access port

0x0C

IBI_PORT

IBI descriptor access port

0x10

QUEUE_THLD_CTRL

The Queue Threshold Control register for the Command Queue, the Response Queue, and the IBI Queue

0x14

DATA_BUFFER_THLD_CTRL

RX/TX queue threshold control

0x18

QUEUE_SIZE

Queue sizes

0x1C

ALT_QUEUE_SIZE

Alternate queue sizes

0x20

PIO_INTR_STATUS

PIO interrupt status

0x24

PIO_INTR_STATUS_ENABLE

0x28

PIO_INTR_SIGNAL_ENABLE

Interrupt Signal Enable

0x2C

PIO_INTR_FORCE

PIO force interrupt status

0x30

PIO_CONTROL

PIO control

COMMAND_PORT register

  • Absolute Address: 0x80

  • Base Offset: 0x0

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

COMMAND_DATA

w

COMMAND_QUEUE_PORT

RESPONSE_PORT register

  • Absolute Address: 0x84

  • Base Offset: 0x4

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

RESPONSE_DATA

r

RESPONSE_QUEUE_PORT

TX_DATA_PORT register

  • Absolute Address: 0x88

  • Base Offset: 0x8

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

TX_DATA

w

TX_DATA

RX_DATA_PORT register

  • Absolute Address: 0x88

  • Base Offset: 0x8

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

RX_DATA

r

RX_DATA

IBI_PORT register

  • Absolute Address: 0x8C

  • Base Offset: 0xC

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

IBI_DATA

r

IBI_DATA

IBI_DATA field

Data Read from IBI Data Buffer.

The IBI Port is mapped to the IBI Data Queue. IBI Data is always aligned to a 4-byte boundary and then put into the IBI Queue. If the incoming data is not aligned to a 4-byte boundary, then there will be extra (unused) bytes at the end of the transferred IBI data. This can be determined from the value of field DATA_LENGTH in the IBI Status Descriptor.

QUEUE_THLD_CTRL register

  • Absolute Address: 0x90

  • Base Offset: 0x10

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CMD_EMPTY_BUF_THLD

rw

0x1

CMD_EMPTY_BUF_THLD

15:8

RESP_BUF_THLD

rw

0x1

RESP_BUF_THLD

23:16

IBI_DATA_SEGMENT_SIZE

rw

0x1

IBI_DATA_SEGMENT_SIZE

31:24

IBI_STATUS_THLD

rw

0x1

IBI_STATUS_THLD

CMD_EMPTY_BUF_THLD field

Triggers CMD_QUEUE_READY_STAT interrupt when CMD queue has N or more free entries. Accepted values are 1:255

RESP_BUF_THLD field

Triggers RESP_READY_STAT interrupt when RESP queue has N or more entries. Accepted values are 1:255

IBI_DATA_SEGMENT_SIZE field

IBI Queue data segment size. Valida values are 1:63

IBI_STATUS_THLD field

Triggers IBI_STATUS_THLD_STAT interrupt when IBI queue has N or more entries. Accepted values are 1:255

DATA_BUFFER_THLD_CTRL register

  • Absolute Address: 0x94

  • Base Offset: 0x14

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

2:0

TX_BUF_THLD

rw

0x1

TX_BUF_THLD

10:8

RX_BUF_THLD

rw

0x1

RX_BUF_THLD

18:16

TX_START_THLD

rw

0x1

TX_START_THLD

26:24

RX_START_THLD

rw

0x1

RX_START_THLD

TX_BUF_THLD field

Trigger TX_THLD_STAT interrupt when TX queue has 2^(N+1) or more free entries

RX_BUF_THLD field

Trigger RX_THLD_STAT interrupt when RX queue has 2^(N+1) or more entries

TX_START_THLD field

Postpone write command until TX queue has 2^(N+1) entries

RX_START_THLD field

Postpone read command until RX queue has 2^(N+1) free entries

QUEUE_SIZE register

  • Absolute Address: 0x98

  • Base Offset: 0x18

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CR_QUEUE_SIZE

r

0x40

CR_QUEUE_SIZE

15:8

IBI_STATUS_SIZE

r

0x40

IBI_STATUS_SIZE

23:16

RX_DATA_BUFFER_SIZE

r

0x5

RX_DATA_BUFFER_SIZE

31:24

TX_DATA_BUFFER_SIZE

r

0x5

TX_DATA_BUFFER_SIZE

CR_QUEUE_SIZE field

Command/Response queue size is equal to N

IBI_STATUS_SIZE field

IBI Queue size is equal to N

RX_DATA_BUFFER_SIZE field

RX queue size is equal to 2^(N+1), where N is this field value

TX_DATA_BUFFER_SIZE field

TX queue size is equal to 2^(N+1), where N is this field value

ALT_QUEUE_SIZE register

  • Absolute Address: 0x9C

  • Base Offset: 0x1C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

ALT_RESP_QUEUE_SIZE

r

0x40

ALT_RESP_QUEUE_SIZE

24

ALT_RESP_QUEUE_EN

r

0x0

ALT_RESP_QUEUE_EN

28

EXT_IBI_QUEUE_EN

r

0x0

EXT_IBI_QUEUE_EN

ALT_RESP_QUEUE_SIZE field

Valid only if ALT_RESP_QUEUE_EN is set. Contains response queue size

ALT_RESP_QUEUE_EN field

If set, response and command queues are not equal lengths, then ALT_RESP_QUEUE_SIZE contains response queue size

EXT_IBI_QUEUE_EN field

1 indicates that IBI queue size is equal to 8*IBI_STATUS_SIZE

PIO_INTR_STATUS register

  • Absolute Address: 0xA0

  • Base Offset: 0x20

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

TX_THLD_STAT

r

0x0

TX_THLD_STAT

1

RX_THLD_STAT

r

0x0

RX_THLD_STAT

2

IBI_STATUS_THLD_STAT

r

0x0

IBI_STATUS_THLD_STAT

3

CMD_QUEUE_READY_STAT

r

0x0

CMD_QUEUE_READY_STAT

4

RESP_READY_STAT

r

0x0

RESP_READY_STAT

5

TRANSFER_ABORT_STAT

rw, woclr

0x0

TRANSFER_ABORT_STAT

9

TRANSFER_ERR_STAT

rw, woclr

0x0

TRANSFER_ERR_STAT

TX_THLD_STAT field

TX queue fulfils TX_BUF_THLD

RX_THLD_STAT field

RX queue fulfils RX_BUF_THLD

IBI_STATUS_THLD_STAT field

IBI queue fulfils IBI_STATUS_THLD

CMD_QUEUE_READY_STAT field

Command queue fulfils CMD_EMPTY_BUF_THLD

RESP_READY_STAT field

Response queue fulfils RESP_BUF_THLD

TRANSFER_ABORT_STAT field

Transfer aborted

TRANSFER_ERR_STAT field

Transfer error

PIO_INTR_STATUS_ENABLE register

  • Absolute Address: 0xA4

  • Base Offset: 0x24

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

TX_THLD_STAT_EN

rw

0x0

TX_THLD_STAT_EN

1

RX_THLD_STAT_EN

rw

0x0

RX_THLD_STAT_EN

2

IBI_STATUS_THLD_STAT_EN

rw

0x0

IBI_STATUS_THLD_STAT_EN

3

CMD_QUEUE_READY_STAT_EN

rw

0x0

CMD_QUEUE_READY_STAT_EN

4

RESP_READY_STAT_EN

rw

0x0

RESP_READY_STAT_EN

5

TRANSFER_ABORT_STAT_EN

rw

0x0

TRANSFER_ABORT_STAT_EN

9

TRANSFER_ERR_STAT_EN

rw

0x0

TRANSFER_ERR_STAT_EN

TX_THLD_STAT_EN field

Enable TX queue monitoring

RX_THLD_STAT_EN field

Enable RX queue monitoring

IBI_STATUS_THLD_STAT_EN field

Enable IBI queue monitoring

CMD_QUEUE_READY_STAT_EN field

Enable command queue monitoring

RESP_READY_STAT_EN field

Enable response queue monitoring

TRANSFER_ABORT_STAT_EN field

Enable transfer abort monitoring

TRANSFER_ERR_STAT_EN field

Enable transfer error monitoring

PIO_INTR_SIGNAL_ENABLE register

  • Absolute Address: 0xA8

  • Base Offset: 0x28

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

TX_THLD_SIGNAL_EN

rw

0x0

TX_THLD_SIGNAL_EN

1

RX_THLD_SIGNAL_EN

rw

0x0

RX_THLD_SIGNAL_EN

2

IBI_STATUS_THLD_SIGNAL_EN

rw

0x0

IBI_STATUS_THLD_SIGNAL_EN

3

CMD_QUEUE_READY_SIGNAL_EN

rw

0x0

CMD_QUEUE_READY_SIGNAL_EN

4

RESP_READY_SIGNAL_EN

rw

0x0

RESP_READY_SIGNAL_EN

5

TRANSFER_ABORT_SIGNAL_EN

rw

0x0

TRANSFER_ABORT_SIGNAL_EN

9

TRANSFER_ERR_SIGNAL_EN

rw

0x0

TRANSFER_ERR_SIGNAL_EN

TX_THLD_SIGNAL_EN field

Enable TX queue interrupt

RX_THLD_SIGNAL_EN field

Enable RX queue interrupt

IBI_STATUS_THLD_SIGNAL_EN field

Enable IBI queue interrupt

CMD_QUEUE_READY_SIGNAL_EN field

Enable command queue interrupt

RESP_READY_SIGNAL_EN field

Enable response ready interrupt

TRANSFER_ABORT_SIGNAL_EN field

Enable transfer abort interrupt

TRANSFER_ERR_SIGNAL_EN field

Enable transfer error interrupt

PIO_INTR_FORCE register

  • Absolute Address: 0xAC

  • Base Offset: 0x2C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

TX_THLD_FORCE

w

0x0

TX_THLD_FORCE

1

RX_THLD_FORCE

w

0x0

RX_THLD_FORCE

2

IBI_THLD_FORCE

w

0x0

IBI_THLD_FORCE

3

CMD_QUEUE_READY_FORCE

w

0x0

CMD_QUEUE_READY_FORCE

4

RESP_READY_FORCE

w

0x0

RESP_READY_FORCE

5

TRANSFER_ABORT_FORCE

w

0x0

TRANSFER_ABORT_FORCE

9

TRANSFER_ERR_FORCE

w

0x0

TRANSFER_ERR_FORCE

TX_THLD_FORCE field

Force TX queue interrupt

RX_THLD_FORCE field

Force RX queue interrupt

IBI_THLD_FORCE field

Force IBI queue interrupt

CMD_QUEUE_READY_FORCE field

Force command queue interrupt

RESP_READY_FORCE field

Force response queue interrupt

TRANSFER_ABORT_FORCE field

Force transfer aborted

TRANSFER_ERR_FORCE field

Force transfer error

PIO_CONTROL register

  • Absolute Address: 0xB0

  • Base Offset: 0x30

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

ENABLE

rw

0x1

ENABLE

1

RS

rw

0x0

RS

2

ABORT

rw

0x0

ABORT

ENABLE field

Enables PIO queues. When disabled, SW may not read from/write to PIO queues. 1 - PIO queue enable request, 0 - PIO queue disable request

RS field

Run/Stop execution of enqueued commands. When set to 0, it holds execution of enqueued commands and runs current command to completion. 1 - PIO Queue start request, 0 - PIO Queue stop request.

ABORT field

Stop current command descriptor execution forcefully and hold remaining commands. 1 - Request PIO Abort, 0 - Resume PIO execution

I3C_EC register file

  • Absolute Address: 0x100

  • Base Offset: 0x100

  • Size: 0x16C

Offset

Identifier

Name

0x000

SecFwRecoveryIf

Secure Firmware Recovery Interface

0x080

StdbyCtrlMode

Standby Controller Mode

0x0C0

TTI

Target Transaction Interface

0x100

SoCMgmtIf

SoC Management Interface

0x160

CtrlCfg

Controller Config

0x168

TERMINATION_EXTCAP_HEADER

SecFwRecoveryIf register file

  • Absolute Address: 0x100

  • Base Offset: 0x0

  • Size: 0x6C

Offset

Identifier

Name

0x00

EXTCAP_HEADER

0x04

PROT_CAP_0

Recovery Protocol Capabilities 0

0x08

PROT_CAP_1

Recovery Protocol Capabilities 1

0x0C

PROT_CAP_2

Recovery Protocol Capabilities 2

0x10

PROT_CAP_3

Recovery Protocol Capabilities 3

0x14

DEVICE_ID_0

Device Identification 0

0x18

DEVICE_ID_1

Device Identification 1

0x1C

DEVICE_ID_2

Device Identification 2

0x20

DEVICE_ID_3

Device Identification 3

0x24

DEVICE_ID_4

Device Identification 4

0x28

DEVICE_ID_5

Device Identification 5

0x2C

DEVICE_ID_RESERVED

Reserved

0x30

DEVICE_STATUS_0

Device status 0

0x34

DEVICE_STATUS_1

Device status 1

0x38

DEVICE_RESET

Reset control

0x3C

RECOVERY_CTRL

Recovery configuration/control

0x40

RECOVERY_STATUS

Recovery status

0x44

HW_STATUS

Hardware status

0x48

INDIRECT_FIFO_CTRL_0

Indirect FIFO Control 0

0x4C

INDIRECT_FIFO_CTRL_1

Indirect FIFO Control 1

0x50

INDIRECT_FIFO_STATUS_0

Indirect FIFO Status 0

0x54

INDIRECT_FIFO_STATUS_1

Indirect FIFO Status 1

0x58

INDIRECT_FIFO_STATUS_2

Indirect FIFO Status 2

0x5C

INDIRECT_FIFO_STATUS_3

Indirect FIFO Status 3

0x60

INDIRECT_FIFO_STATUS_4

Indirect FIFO Status 4

0x64

INDIRECT_FIFO_RESERVED

INDIRECT_FIFO_RESERVED

0x68

INDIRECT_FIFO_DATA

INDIRECT_FIFO_DATA

EXTCAP_HEADER register

  • Absolute Address: 0x100

  • Base Offset: 0x0

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CAP_ID

r

0xC0

CAP_ID

23:8

CAP_LENGTH

r

0x20

CAP_LENGTH

CAP_ID field

Extended Capability ID

CAP_LENGTH field

Capability Structure Length in DWORDs

PROT_CAP_0 register

  • Absolute Address: 0x104

  • Base Offset: 0x4

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

REC_MAGIC_STRING_0

r

0x2050434F

Recovery protocol magic string

REC_MAGIC_STRING_0 field

Magic string 'OCP ' (1st part of 'OCP RECV') in ASCII code - '0x4f 0x43 0x50 0x20'

PROT_CAP_1 register

  • Absolute Address: 0x108

  • Base Offset: 0x8

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

REC_MAGIC_STRING_1

r

0x56434552

Recovery protocol magic string

REC_MAGIC_STRING_1 field

Magic string 'RECV' (2nd part of 'OCP RECV') in ASCII code - '0x52 0x45 0x43 0x56'

PROT_CAP_2 register

  • Absolute Address: 0x10C

  • Base Offset: 0xC

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:0

REC_PROT_VERSION

rw

0x0

Recovery protocol version

31:16

AGENT_CAPS

rw

0x0

Recovery protocol capabilities

REC_PROT_VERSION field

  • Byte 0: Major version number = 0x1

  • Byte 1: Minor version number = 0x1

AGENT_CAPS field

Agent capabilities:

  • bit 0: Identification (DEVICE_ID structure)

  • bit 1: Forced Recovery (From RESET)

  • bit 2: Mgmt reset (From RESET)

  • bit 3: Device Reset (From RESET)

  • bit 4: Device status (DEVICE_STATUS)

  • bit 5: Recovery memory access (INDIRECT_CTRL)

  • bit 6: Local C-image support

  • bit 7: Push C-image support

  • bit 8: Interface isolation

  • bit 9: Hardware status

  • bit 10: Vendor command

  • bit 11: Flashless boot (From RESET)

  • bit 12: FIFO CMS support (INDIRECT_FIFO_CTRL)

  • bits 13-15: Reserved

PROT_CAP_3 register

  • Absolute Address: 0x110

  • Base Offset: 0x10

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

NUM_OF_CMS_REGIONS

rw

0x0

Total number of CMS regions

15:8

MAX_RESP_TIME

rw

0x0

Maximum Response Time

23:16

HEARTBEAT_PERIOD

rw

0x0

Heartbeat Period

NUM_OF_CMS_REGIONS field

0-255: The total number of component memory space (CMS) regions a device supports. This number includes any logging, code and vendor defined regions

MAX_RESP_TIME field

0-255: Maximum response time in 2^x microseconds(us).

HEARTBEAT_PERIOD field

0-255: Heartbeat period, 2^x microseconds (us), 0 indicates not supported

DEVICE_ID_0 register

  • Absolute Address: 0x114

  • Base Offset: 0x14

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

DESC_TYPE

rw

0x0

Initial descriptor type

15:8

VENDOR_SPECIFIC_STR_LENGTH

rw

0x0

Vendor Specific String Length

31:16

DATA

rw

0x0

DESC_TYPE field

Based on table 8 from [DMTF PLDM FM]:

  • 0x00: PCI Vendor

  • 0x1: IANA

  • 0x2: UUID

  • 0x3: PnP Vendor

  • 0x4: ACPI Vendor

  • 0x5: IANA Enterprise Type

  • 0x6-0xFE: Reserved

  • 0xFF: NVMe-MI

VENDOR_SPECIFIC_STR_LENGTH field

0x0-0xFF: Total length of Vendor Specific String, 0 indicates not supported

DATA field

DEVICE_ID_1 register

  • Absolute Address: 0x118

  • Base Offset: 0x18

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

DATA

rw

0x0

DATA field

DEVICE_ID_2 register

  • Absolute Address: 0x11C

  • Base Offset: 0x1C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

DATA

rw

0x0

DATA field

DEVICE_ID_3 register

  • Absolute Address: 0x120

  • Base Offset: 0x20

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

DATA

rw

0x0

DATA field

DEVICE_ID_4 register

  • Absolute Address: 0x124

  • Base Offset: 0x24

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

DATA

rw

0x0

DATA field

DEVICE_ID_5 register

  • Absolute Address: 0x128

  • Base Offset: 0x28

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

DATA

rw

0x0

DATA field

DEVICE_ID_RESERVED register

  • Absolute Address: 0x12C

  • Base Offset: 0x2C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

DATA

r

0x0

DATA field

DEVICE_STATUS_0 register

  • Absolute Address: 0x130

  • Base Offset: 0x30

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

DEV_STATUS

rw

0x0

Device status

15:8

PROT_ERROR

rw, rclr

0x0

Protocol Error

31:16

REC_REASON_CODE

rw

0x0

Recovery Reason Codes

DEV_STATUS field

  • 0x0: Status Pending (Recover Reason Code not populated)

  • 0x1: Device healthy (Recover Reason Code not populated)

  • 0x2: Device Error (“soft” error or other error state) - (Recover Reason Code not populated)

  • 0x3: Recovery mode - ready to accept recovery image - (Recover Reason Code populated)

  • 0x4: Recovery Pending (waiting for activation) - (Recover Reason Code populated)

  • 0x5: Running Recovery Image ( Recover Reason Code not populated)

  • 0x6-0xD: Reserved

  • 0xE: Boot Failure (Recover Reason Code populated)

  • 0xF: Fatal Error (Recover Reason Code not populated)

  • 0x10-FF:Reserved

PROT_ERROR field

  • 0x0: No Protocol Error

  • 0x1: Unsupported/Write Command - command is not support or a write to a RO command

  • 0x2: Unsupported Parameter

  • 0x3: Length write error (length of write command is incorrect)

  • 0x4: CRC Error (if supported)

  • 0x5-0xFE: Reserved

  • 0xFF: General Protocol Error - catch all unclassified errors

REC_REASON_CODE field

  • 0x0: No Boot Failure detected (BFNF)

  • 0x1: Generic hardware error (BFGHWE)

  • 0x2: Generic hardware soft error (BFGSE) - soft error may be recoverable

  • 0x3: Self-test failure (BFSTF) (e.g., RSA self test failure, FIPs self test failure,, etc.)

  • 0x4: Corrupted/missing critical data (BFCD)

  • 0x5: Missing/corrupt key manifest (BFKMMC)

  • 0x6: Authentication Failure on key manifest (BFKMAF)

  • 0x7: Anti-rollback failure on key manifest (BFKIAR)

  • 0x8: Missing/corrupt boot loader (first mutable code) firmware image (BFFIMC)

  • 0x9: Authentication failure on boot loader ( 1st mutable code) firmware image (BFFIAF)

  • 0xA: Anti-rollback failure boot loader (1st mutable code) firmware image (BFFIAR)

  • 0xB: Missing/corrupt main/management firmware image (BFMFMC)

  • 0xC: Authentication Failure main/management firmware image (BFMFAF)

  • 0xD: Anti-rollback Failure main/management firmware image (BFMFAR)

  • 0xE: Missing/corrupt recovery firmware (BFRFMC)

  • 0xF: Authentication Failure recovery firmware (BFRFAF)

  • 0x10: Anti-rollback Failure on recovery firmware (BFRFAR)

  • 0x11: Forced Recovery (FR)

  • 0x12: Flashless/Streaming Boot (FSB)

  • 0x13-0x7F: Reserved

  • 0x80-0xFF: Vendor Unique Boot Failure Codes

DEVICE_STATUS_1 register

  • Absolute Address: 0x134

  • Base Offset: 0x34

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:0

HEARTBEAT

rw

0x0

Heartbeat

24:16

VENDOR_STATUS_LENGTH

rw

0x0

Vendor Status Length

31:25

VENDOR_STATUS

rw

0x0

Vendor defined status message

HEARTBEAT field

0-4095: Incrementing number (counter wraps)

VENDOR_STATUS_LENGTH field

0-248: Length in bytes of just VENDOR_STATUS. Zero indicates no vendor status and zero additional bytes.

DEVICE_RESET register

  • Absolute Address: 0x138

  • Base Offset: 0x38

  • Size: 0x4

For devices which support reset, this register will reset the device or management entity

Bits

Identifier

Access

Reset

Name

7:0

RESET_CTRL

rw, woclr

0x0

Device Reset Control

15:8

FORCED_RECOVERY

rw

0x0

Forced Recovery

23:16

IF_CTRL

rw

0x0

Interface Control

RESET_CTRL field

  • 0x0: No reset

  • 0x1: Reset Device (PCIe Fundamental Reset or equivalent. This is likely bus disruptive)

  • 0x2: Reset Management. This reset will reset the management subsystem. If supported, this reset MUST not be bus disruptive (cause re-enumeration)

  • 0x3-FF: Reserved

FORCED_RECOVERY field

  • 0x0: No forced recovery

  • 0x01-0xD: Reserved

  • 0xE: Enter flashless boot mode on next platform reset

  • 0xF: Enter recovery mode on next platform reset

  • 0x10-FF: Reserved

IF_CTRL field

  • 0x0: Disable Interface mastering

  • 0x1: Enable Interface mastering

RECOVERY_CTRL register

  • Absolute Address: 0x13C

  • Base Offset: 0x3C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CMS

rw

0x0

Component Memory Space (CMS)

15:8

REC_IMG_SEL

rw

0x0

Recovery Image Selection

23:16

ACTIVATE_REC_IMG

rw, woclr

0x0

Activate Recovery Image

CMS field

  • 0-255: Selects a component memory space where the recovery image is. 0 is the default

REC_IMG_SEL field

  • 0x0: No operation

  • 0x1: Use Recovery Image from memory window (CMS)

  • 0x2: Use Recovery Image stored on device (C-image)

  • 0x3-FF: reserved

ACTIVATE_REC_IMG field

  • 0x0: do not activate recovery image - after activation device will report this code.

  • 0xF: Activate recovery image

  • 0x10-FF-reserved

RECOVERY_STATUS register

  • Absolute Address: 0x140

  • Base Offset: 0x40

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

3:0

DEV_REC_STATUS

rw

0x0

Device recovery status

7:4

REC_IMG_INDEX

rw

0x0

Recovery image index

15:8

VENDOR_SPECIFIC_STATUS

rw

0x0

Vendor specific status

DEV_REC_STATUS field

  • 0x0: Not in recovery mode

  • 0x1: Awaiting recovery image

  • 0x2: Booting recovery image

  • 0x3: Recovery successful

  • 0xc: Recovery failed

  • 0xd: Recovery image authentication error

  • 0xe: Error entering Recovery mode (might be administratively disabled)

  • 0xf: Invalid component address space

HW_STATUS register

  • Absolute Address: 0x144

  • Base Offset: 0x44

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

TEMP_CRITICAL

rw

0x0

Device temperature critical

1

SOFT_ERR

rw

0x0

Hardware Soft Error

2

FATAL_ERR

rw

0x0

Hardware Fatal Error

7:3

RESERVED_7_3

rw

0x0

Reserved

15:8

VENDOR_HW_STATUS

rw

0x0

Vendor HW Status (bit mask active high)

23:16

CTEMP

rw

0x0

Composite temperature (CTemp)

31:24

VENDOR_HW_STATUS_LEN

rw

0x0

Vendor Specific Hardware Status length (bytes)

TEMP_CRITICAL field

Device temperature is critical (may need reset to clear)

SOFT_ERR field

Hardware Soft Error (may need reset to clear)

CTEMP field

Current temperatureof device in degrees Celsius: Compatible with NVMe-MI command code 0 offset 3.

  • 0x00-0x7e: 0 to 126 C

  • 0x7f: 127 C or higher

  • 0x80: no temperature data, or data is older than 5 seconds

  • 0x81: temperature sensor failure

  • 0x82-0x83: reserved

  • 0xc4: -60 C or lower

  • 0xc5-0xff: -59 to -1 C (in two's complement)

VENDOR_HW_STATUS_LEN field

0-251: Length in bytes of Vendor Specific Hardware Status.

INDIRECT_FIFO_CTRL_0 register

  • Absolute Address: 0x148

  • Base Offset: 0x48

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CMS

rw

0x0

Indirect FIFO memory access configuration.

15:8

RESET

rw, woclr

0x0

Indirect memory configuration - reset

31:16

IMAGE_SIZE_MSB

rw

0x0

Indirect memory configuration - Image Size

CMS field

This register selects a region within the device. Read/write access is through address spaces. Each space represents a FIFO. Component Memory Space (CMS):

  • 0-255: Address region within a device.

RESET field

Reset (Write 1 Clear):

  • 0x0: idle

  • 0x1: reset Write Index and Read Index to initial value.

  • 0x2 to 0xFF: reserved

IMAGE_SIZE_MSB field

Image Size (2 MSBs): Size of the image to be loaded in 4B units

INDIRECT_FIFO_CTRL_1 register

  • Absolute Address: 0x14C

  • Base Offset: 0x4C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:0

IMAGE_SIZE_LSB

rw

0x0

Indirect memory configuration - Image Size

IMAGE_SIZE_LSB field

Image Size (2 LSBs): Size of the image to be loaded in 4B units

INDIRECT_FIFO_STATUS_0 register

  • Absolute Address: 0x150

  • Base Offset: 0x50

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

EMPTY

r

0x1

FIFO Empty

1

FULL

r

0x0

FIFO Full

10:8

REGION_TYPE

r

0x0

Memory Region Type

EMPTY field

If set, FIFO is empty

FULL field

If set, FIFO is full

REGION_TYPE field

Memory Region Type:

  • 0b000: Code space for recovery. (write only)

  • 0b001: Log uses the defined debug format (read only)

  • 0b100: Vendor Defined Region (write only)

  • 0b101: Vendor Defined Region (read only)

  • 0b111: Unsupported Region (address space out of range)

INDIRECT_FIFO_STATUS_1 register

  • Absolute Address: 0x154

  • Base Offset: 0x54

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

WRITE_INDEX

r

0x0

FIFO Write Index

WRITE_INDEX field

Offset incremented for each access by the Recovery Agent in 4B units

INDIRECT_FIFO_STATUS_2 register

  • Absolute Address: 0x158

  • Base Offset: 0x58

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

READ_INDEX

r

0x0

FIFO Read Index

READ_INDEX field

Offset incremented for each access by the device in 4B units

INDIRECT_FIFO_STATUS_3 register

  • Absolute Address: 0x15C

  • Base Offset: 0x5C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

FIFO_SIZE

r

0x0

Indirect FIFO size

FIFO_SIZE field

Size of memory window specified in 4B units

INDIRECT_FIFO_STATUS_4 register

  • Absolute Address: 0x160

  • Base Offset: 0x60

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

MAX_TRANSFER_SIZE

r

0x0

Max transfer size

MAX_TRANSFER_SIZE field

Max size of the data payload in each read/write to INDIRECT_FIFO_DATA in 4B units

INDIRECT_FIFO_RESERVED register

  • Absolute Address: 0x164

  • Base Offset: 0x64

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

DATA

r

0x0

Reserved register

INDIRECT_FIFO_DATA register

  • Absolute Address: 0x168

  • Base Offset: 0x68

  • Size: 0x4

Indirect memory access to address space configured in INDIRECT_FIFO_CTRL at the Head Pointer offset.

Bits

Identifier

Access

Reset

Name

31:0

DATA

rw

0x0

StdbyCtrlMode register file

  • Absolute Address: 0x180

  • Base Offset: 0x80

  • Size: 0x40

Offset

Identifier

Name

0x00

EXTCAP_HEADER

0x04

STBY_CR_CONTROL

Standby Controller Control

0x08

STBY_CR_DEVICE_ADDR

Standby Controller Device Address

0x0C

STBY_CR_CAPABILITIES

Standby Controller Capabilities

0x10

__rsvd_0

Reserved 0

0x14

STBY_CR_STATUS

Standby Controller Status

0x18

STBY_CR_DEVICE_CHAR

Standby Controller Device Characteristics

0x1C

STBY_CR_DEVICE_PID_LO

Standby Controller Device PID Low

0x20

STBY_CR_INTR_STATUS

Standby Controller Interrupt Status

0x24

__rsvd_1

Reserved 1

0x28

STBY_CR_INTR_SIGNAL_ENABLE

Standby Controller Interrupt Signal Enable

0x2C

STBY_CR_INTR_FORCE

Standby Controller Interrupt Force

0x30

STBY_CR_CCC_CONFIG_GETCAPS

Standby Controller CCC Configuration GETCAPS

0x34

STBY_CR_CCC_CONFIG_RSTACT_PARAMS

Standby Controller CCC Configuration RSTACT

0x38

STBY_CR_VIRT_DEVICE_ADDR

Standby Virtual Controller Device Address

0x3C

__rsvd_3

Reserved 3

EXTCAP_HEADER register

  • Absolute Address: 0x180

  • Base Offset: 0x0

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CAP_ID

r

0x12

CAP_ID

23:8

CAP_LENGTH

r

0x10

CAP_LENGTH

CAP_ID field

Extended Capability ID

CAP_LENGTH field

Capability Structure Length in DWORDs

STBY_CR_CONTROL register

  • Absolute Address: 0x184

  • Base Offset: 0x4

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

PENDING_RX_NACK

rw

Pending RX NACK

1

HANDOFF_DELAY_NACK

rw

Handoff Delay NACK

2

ACR_FSM_OP_SELECT

rw

Active Controller Select

3

PRIME_ACCEPT_GETACCCR

rw

Prime to Accept Controller Role

4

HANDOFF_DEEP_SLEEP

rw, wset

0x0

Handoff Deep Sleep

5

CR_REQUEST_SEND

w

0x0

Send Controller Role Request

10:8

BAST_CCC_IBI_RING

rw

0x0

Ring Bundle IBI Selector for Broadcast CCC Capture

12

TARGET_XACT_ENABLE

rw

0x1

Target Transaction Interface Servicing Enable

13

DAA_SETAASA_ENABLE

rw

0x0

Dynamic Address Method Enable SETAASA

14

DAA_SETDASA_ENABLE

rw

0x0

Dynamic Address Method Enable SETDASA

15

DAA_ENTDAA_ENABLE

rw

0x0

Dynamic Address Method Enable ENTDAA

20

RSTACT_DEFBYTE_02

rw

0x0

RSTACT Support DefByte 0x02

31:30

STBY_CR_ENABLE_INIT

rw

0x0

Host Controller Secondary Controller Enable

PENDING_RX_NACK field

HANDOFF_DELAY_NACK field

ACR_FSM_OP_SELECT field

PRIME_ACCEPT_GETACCCR field

HANDOFF_DEEP_SLEEP field

If this field has a value of 1'b1, then the Secondary Controller Logic shall report a return from Deep Sleep state to the Active Controller. Writing 1'b1 to this bit is sticky. This field shall automatically clear to 1'b0 after accepting the Controller Role and transitioning to Active Controller mode.

CR_REQUEST_SEND field

Write of 1'b1 to this field shall instruct the Secondary Controller Logic to attempt to send a Controller Role Request to the I3C Bus.

BAST_CCC_IBI_RING field

Indicates which Ring Bundle will be used to capture Broadcast CCC data sent by the Active Controller. The Ring Bundle must be configured and enabled, and its IBI Ring Pair must also be initialized and ready to receive data.

TARGET_XACT_ENABLE field

Indicates whether Read-Type/Write-Type transaction servicing is enabled, via an I3C Target Transaction Interface to software (Section 6.17.3).

1'b0: DISABLED: not available

1'b1: ENABLED: available for software

DAA_SETAASA_ENABLE field

Indicates SETAASA method is enabled.

1'b0: DISABLED: will not respond

1'b1: ENABLED: will respond

DAA_SETDASA_ENABLE field

Indicates SETDASA method is enabled.

1'b0: DISABLED: will not respond

1'b1: ENABLED: will respond

DAA_ENTDAA_ENABLE field

Indicates ENTDAA method is enabled.

1'b0: DISABLED: will not respond

1'b1: ENABLED: will respond

RSTACT_DEFBYTE_02 field

Controls whether I3C Secondary Controller Logic supports RSTACT CCC with Defining Byte 0x02.

1'b0: NOT_SUPPORTED: Do not ACK Defining Byte 0x02

1'b1: HANDLE_INTR: Support Defining Byte 0x02

STBY_CR_ENABLE_INIT field

Enables or disables the Secondary Controller:

2'b00 - DISABLED: Secondary Controller is disabled.

2'b01 - ACM_INIT: Secondary Controller is enabled, but Host Controller initializes in Active Controller mode.

2'b10 - SCM_RUNNING: Secondary Controller operation is enabled, Host Controller initializes in Standby Controller mode.

2'b11 - SCM_HOT_JOIN: Secondary Controller operation is enabled, Host Controller conditionally becomes a Hot-Joining Device to receive its Dynamic Address before operating in Standby Controller mode.

STBY_CR_DEVICE_ADDR register

  • Absolute Address: 0x188

  • Base Offset: 0x8

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

6:0

STATIC_ADDR

rw

0x0

Device Static Address

15

STATIC_ADDR_VALID

rw

0x0

Static Address is Valid

22:16

DYNAMIC_ADDR

rw

0x0

Device Dynamic Address

31

DYNAMIC_ADDR_VALID

rw

0x0

Dynamic Address is Valid

STATIC_ADDR field

This field contains the Host Controller Device’s Static Address.

STATIC_ADDR_VALID field

Indicates whether or not the value in the STATIC_ADDR field is valid.

1'b0: The Static Address field is not valid

1'b1: The Static Address field is valid

DYNAMIC_ADDR field

Contains the Host Controller Device’s Dynamic Address.

DYNAMIC_ADDR_VALID field

Indicates whether or not the value in the DYNAMIC_ADDR field is valid. 1'b0: DYNAMIC_ADDR field is not valid 1'b1: DYNAMIC_ADDR field is valid

STBY_CR_CAPABILITIES register

  • Absolute Address: 0x18C

  • Base Offset: 0xC

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

5

SIMPLE_CRR_SUPPORT

rw

SIMPLE_CRR_SUPPORT

12

TARGET_XACT_SUPPORT

rw

0x1

TARGET_XACT_SUPPORT

13

DAA_SETAASA_SUPPORT

rw

0x1

DAA_SETAASA_SUPPORT

14

DAA_SETDASA_SUPPORT

rw

0x1

DAA_SETDASA_SUPPORT

15

DAA_ENTDAA_SUPPORT

rw

0x1

DAA_ENTDAA_SUPPORT

SIMPLE_CRR_SUPPORT field

TARGET_XACT_SUPPORT field

Defines whether an I3C Target Transaction Interface is supported.

1'b0: DISABLED: Not supported

1'b1: ENABLED: Supported via vendor-defined Extended Capability structure

DAA_SETAASA_SUPPORT field

Defines whether Dynamic Address Assignment with SETAASA CCC (using Static Address) is supported.

1'b0: DISABLED: Not supported

1'b1: ENABLED: Supported

DAA_SETDASA_SUPPORT field

Defines whether Dynamic Address Assignment with SETDASA CCC (using Static Address) is supported.

1'b0: DISABLED: Not supported

1'b1: ENABLED: Supported

DAA_ENTDAA_SUPPORT field

Defines whether Dynamic Address Assignment with ENTDAA CCC is supported.

1'b0: DISABLED: Not supported

1'b1: ENABLED: Supported

__rsvd_0 register

  • Absolute Address: 0x190

  • Base Offset: 0x10

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

__rsvd

rw

Reserved

__rsvd field

STBY_CR_STATUS register

  • Absolute Address: 0x194

  • Base Offset: 0x14

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

2

AC_CURRENT_OWN

rw

AC_CURRENT_OWN

7:5

SIMPLE_CRR_STATUS

rw

SIMPLE_CRR_STATUS

8

HJ_REQ_STATUS

rw

HJ_REQ_STATUS

AC_CURRENT_OWN field

SIMPLE_CRR_STATUS field

HJ_REQ_STATUS field

STBY_CR_DEVICE_CHAR register

  • Absolute Address: 0x198

  • Base Offset: 0x18

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:1

PID_HI

rw

0x7FFF

PID_HI

23:16

DCR

rw

0xBD

DCR

28:24

BCR_VAR

rw

0x6

BCR_VAR

31:29

BCR_FIXED

rw

0x1

BCR_FIXED

PID_HI field

High part of the 48-bit Target Device Provisioned ID.

DCR field

Device Characteristics Register. Value represents an OCP Recovery Device.

BCR_VAR field

Bus Characteristics, Variable Part.

Reset value is set to 5'b00110, because this device:

  • [bit4] is not a Virtual Target

  • [bit3] is not Offline Capable

  • [bit2] uses the MDB in the IBI Payload

  • [bit1] is capable of IBI requests

  • [bit0] has no speed limitation

BCR_FIXED field

Bus Characteristics, Fixed Part.

Reset value is set to 3'b001, because this device is an I3C Target, which supports extended capabilities

STBY_CR_DEVICE_PID_LO register

  • Absolute Address: 0x19C

  • Base Offset: 0x1C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PID_LO

rw

0x5A00A5

PID_LO

PID_LO field

Low part of the 48-bit Target Device Provisioned ID.

STBY_CR_INTR_STATUS register

  • Absolute Address: 0x1A0

  • Base Offset: 0x20

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

ACR_HANDOFF_OK_REMAIN_STAT

rw

1

ACR_HANDOFF_OK_PRIMED_STAT

rw

2

ACR_HANDOFF_ERR_FAIL_STAT

rw

3

ACR_HANDOFF_ERR_M3_STAT

rw

10

CRR_RESPONSE_STAT

rw

11

STBY_CR_DYN_ADDR_STAT

rw

12

STBY_CR_ACCEPT_NACKED_STAT

rw

13

STBY_CR_ACCEPT_OK_STAT

rw

14

STBY_CR_ACCEPT_ERR_STAT

rw

16

STBY_CR_OP_RSTACT_STAT

rw

0x0

Secondary Controller Operation Reset Action

17

CCC_PARAM_MODIFIED_STAT

rw

18

CCC_UNHANDLED_NACK_STAT

rw

19

CCC_FATAL_RSTDAA_ERR_STAT

rw

ACR_HANDOFF_OK_REMAIN_STAT field

ACR_HANDOFF_OK_PRIMED_STAT field

ACR_HANDOFF_ERR_FAIL_STAT field

ACR_HANDOFF_ERR_M3_STAT field

CRR_RESPONSE_STAT field

STBY_CR_DYN_ADDR_STAT field

STBY_CR_ACCEPT_NACKED_STAT field

STBY_CR_ACCEPT_OK_STAT field

STBY_CR_ACCEPT_ERR_STAT field

STBY_CR_OP_RSTACT_STAT field

The Host Controller shall write 1'b1 to this field to indicate that the Secondary Controller received a RSTACT CCC from the Active Controller, followed by the Target Reset Pattern.

CCC_PARAM_MODIFIED_STAT field

CCC_UNHANDLED_NACK_STAT field

CCC_FATAL_RSTDAA_ERR_STAT field

__rsvd_1 register

  • Absolute Address: 0x1A4

  • Base Offset: 0x24

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

__rsvd

rw

Reserved

__rsvd field

STBY_CR_INTR_SIGNAL_ENABLE register

  • Absolute Address: 0x1A8

  • Base Offset: 0x28

  • Size: 0x4

When set to 1'b1, and the corresponding interrupt status field is set in register STBY_CR_INTR_STATUS, the Host Controller shall assert an interrupt to the Host.

Bits

Identifier

Access

Reset

Name

0

ACR_HANDOFF_OK_REMAIN_SIGNAL_EN

rw

1

ACR_HANDOFF_OK_PRIMED_SIGNAL_EN

rw

2

ACR_HANDOFF_ERR_FAIL_SIGNAL_EN

rw

3

ACR_HANDOFF_ERR_M3_SIGNAL_EN

rw

10

CRR_RESPONSE_SIGNAL_EN

rw

11

STBY_CR_DYN_ADDR_SIGNAL_EN

rw

12

STBY_CR_ACCEPT_NACKED_SIGNAL_EN

rw

13

STBY_CR_ACCEPT_OK_SIGNAL_EN

rw

14

STBY_CR_ACCEPT_ERR_SIGNAL_EN

rw

16

STBY_CR_OP_RSTACT_SIGNAL_EN

rw

0x0

17

CCC_PARAM_MODIFIED_SIGNAL_EN

rw

18

CCC_UNHANDLED_NACK_SIGNAL_EN

rw

19

CCC_FATAL_RSTDAA_ERR_SIGNAL_EN

rw

ACR_HANDOFF_OK_REMAIN_SIGNAL_EN field

ACR_HANDOFF_OK_PRIMED_SIGNAL_EN field

ACR_HANDOFF_ERR_FAIL_SIGNAL_EN field

ACR_HANDOFF_ERR_M3_SIGNAL_EN field

CRR_RESPONSE_SIGNAL_EN field

STBY_CR_DYN_ADDR_SIGNAL_EN field

STBY_CR_ACCEPT_NACKED_SIGNAL_EN field

STBY_CR_ACCEPT_OK_SIGNAL_EN field

STBY_CR_ACCEPT_ERR_SIGNAL_EN field

STBY_CR_OP_RSTACT_SIGNAL_EN field

CCC_PARAM_MODIFIED_SIGNAL_EN field

CCC_UNHANDLED_NACK_SIGNAL_EN field

CCC_FATAL_RSTDAA_ERR_SIGNAL_EN field

STBY_CR_INTR_FORCE register

  • Absolute Address: 0x1AC

  • Base Offset: 0x2C

  • Size: 0x4

For software testing, when set to 1'b1, forces the corresponding interrupt to be sent to the Host, if the corresponding fields are set in register STBY_CR_INTR_SIGNAL_ENABLE

Bits

Identifier

Access

Reset

Name

10

CRR_RESPONSE_FORCE

rw

11

STBY_CR_DYN_ADDR_FORCE

rw

12

STBY_CR_ACCEPT_NACKED_FORCE

rw

13

STBY_CR_ACCEPT_OK_FORCE

rw

14

STBY_CR_ACCEPT_ERR_FORCE

rw

16

STBY_CR_OP_RSTACT_FORCE

w

17

CCC_PARAM_MODIFIED_FORCE

rw

18

CCC_UNHANDLED_NACK_FORCE

rw

19

CCC_FATAL_RSTDAA_ERR_FORCE

rw

CRR_RESPONSE_FORCE field

STBY_CR_DYN_ADDR_FORCE field

STBY_CR_ACCEPT_NACKED_FORCE field

STBY_CR_ACCEPT_OK_FORCE field

STBY_CR_ACCEPT_ERR_FORCE field

STBY_CR_OP_RSTACT_FORCE field

CCC_PARAM_MODIFIED_FORCE field

CCC_UNHANDLED_NACK_FORCE field

CCC_FATAL_RSTDAA_ERR_FORCE field

STBY_CR_CCC_CONFIG_GETCAPS register

  • Absolute Address: 0x1B0

  • Base Offset: 0x30

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

2:0

F2_CRCAP1_BUS_CONFIG

rw

11:8

F2_CRCAP2_DEV_INTERACT

rw

F2_CRCAP1_BUS_CONFIG field

F2_CRCAP2_DEV_INTERACT field

STBY_CR_CCC_CONFIG_RSTACT_PARAMS register

  • Absolute Address: 0x1B4

  • Base Offset: 0x34

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

RST_ACTION

r

0x0

Defining Byte of the RSTACT CCC

15:8

RESET_TIME_PERIPHERAL

rw

0x0

Time to Reset Peripheral

23:16

RESET_TIME_TARGET

rw

0x0

Time to Reset Target

31

RESET_DYNAMIC_ADDR

rw

0x1

Reset Dynamic Address after Target Reset

RST_ACTION field

Contains the Defining Byte received with the last Direct SET CCC sent by the Active Controller.

RESET_TIME_PERIPHERAL field

For Direct GET CCC, this field is returned for Defining Byte 0x81.

RESET_TIME_TARGET field

For Direct GET CCC, this field is returned for Defining Byte 0x82.

RESET_DYNAMIC_ADDR field

If set to 1'b1, then the Secondary Controller Logic must clear its Dynamic Address in register STBY_CR_DEVICE_ADDR after receiving a Target Reset Pattern that followed a Broadcast or Direct SET RSTACT CCC sent to the Dynamic Address, with Defining Byte 0x01 or 0x02. Requires support for Dynamic Address Assignment with at least one supported method, such as the ENTDAA CCC, with field DAA_ENTDAA_ENABLE set to 1'b1 in register STBY_CR_CONTROL. If field ACR_FSM_OP_SELECT in register STBY_CR_CONTROL is set to 1'b1, then this field shall be cleared (i.e., readiness to accept the Controller Role shall be revoked) with this Target Reset Pattern.

STBY_CR_VIRT_DEVICE_ADDR register

  • Absolute Address: 0x1B8

  • Base Offset: 0x38

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

6:0

VIRT_STATIC_ADDR

rw

0x0

Device Static Address

15

VIRT_STATIC_ADDR_VALID

rw

0x0

Virtual Device Static Address is Valid

22:16

VIRT_DYNAMIC_ADDR

rw

0x0

Virtual Device Dynamic Address

31

VIRT_DYNAMIC_ADDR_VALID

rw

0x0

Virtual Device Dynamic Address is Valid

VIRT_STATIC_ADDR field

This field contains the Host Controller Device’s Static Address.

VIRT_STATIC_ADDR_VALID field

Indicates whether or not the value in the VIRT_STATIC_ADDR field is valid.

1'b0: The Virtual Device Static Address field is not valid

1'b1: The Virtual Device Static Address field is valid

VIRT_DYNAMIC_ADDR field

Contains the Controller Virtual Device’s Dynamic Address.

VIRT_DYNAMIC_ADDR_VALID field

Indicates whether or not the value in the VIRT_DYNAMIC_ADDR field is valid. 1'b0: VIRT_DYNAMIC_ADDR field is not valid 1'b1: VIRT_DYNAMIC_ADDR field is valid

__rsvd_3 register

  • Absolute Address: 0x1BC

  • Base Offset: 0x3C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

__rsvd

rw

Reserved

__rsvd field

TTI register file

  • Absolute Address: 0x1C0

  • Base Offset: 0xC0

  • Size: 0x40

Offset

Identifier

Name

0x00

EXTCAP_HEADER

0x04

CONTROL

TTI Control

0x08

STATUS

TTI Status

0x0C

RESET_CONTROL

TTI Queue Reset Control

0x10

INTERRUPT_STATUS

TTI Interrupt Status

0x14

INTERRUPT_ENABLE

TTI Interrupt Enable

0x18

INTERRUPT_FORCE

TTI Interrupt Force

0x1C

RX_DESC_QUEUE_PORT

TTI RX Descriptor Queue Port

0x20

RX_DATA_PORT

TTI RX Data Port

0x24

TX_DESC_QUEUE_PORT

TTI TX Descriptor Queue Port

0x28

TX_DATA_PORT

TTI TX Data Port

0x2C

IBI_PORT

TTI IBI Data Port

0x30

QUEUE_SIZE

TTI Queue Size

0x34

IBI_QUEUE_SIZE

TTI IBI Queue Size

0x38

QUEUE_THLD_CTRL

TTI Queue Threshold Control

0x3C

DATA_BUFFER_THLD_CTRL

TTI IBI Queue Threshold Control

EXTCAP_HEADER register

  • Absolute Address: 0x1C0

  • Base Offset: 0x0

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CAP_ID

r

0xC4

CAP_ID

23:8

CAP_LENGTH

r

0x10

CAP_LENGTH

CAP_ID field

Extended Capability ID

CAP_LENGTH field

Capability Structure Length in DWORDs

CONTROL register

  • Absolute Address: 0x1C4

  • Base Offset: 0x4

  • Size: 0x4

Control Register

Bits

Identifier

Access

Reset

Name

10

HJ_EN

rw

0x1

HJ_EN

11

CRR_EN

rw

0x0

CRR_EN

12

IBI_EN

rw

0x1

IBI_EN

15:13

IBI_RETRY_NUM

rw

0x0

IBI_RETRY_NUM

HJ_EN field

Enable Hot-Join capability.

Values:

0x0 - Device is allowed to attempt Hot-Join.

0x1 - Device is not allowed to attempt Hot-Join.

CRR_EN field

Enable Controller Role Request.

Values:

0x0 - Device is allowed to perform Controller Role Request.

0x1 - Device is not allowed to perform Controller Role Request.

IBI_EN field

Enable the IBI queue servicing.

Values:

0x0 - Device will not service the IBI queue.

0x1 - Device will send IBI requests onto the bus, if possible.

IBI_RETRY_NUM field

Number of times the Target Device will try to request an IBI before giving up.

Values:

0x0 - Device will never retry.

0x1-0x6 - Device will retry this many times.

0x7 - Device will retry indefinitely until the Active Controller sets DISINT bit in the DISEC command.

STATUS register

  • Absolute Address: 0x1C8

  • Base Offset: 0x8

  • Size: 0x4

Status Register

Bits

Identifier

Access

Reset

Name

13

PROTOCOL_ERROR

r

0x0

PROTOCOL_ERROR

15:14

LAST_IBI_STATUS

r

0x0

LAST_IBI_STATUS

PROTOCOL_ERROR field

Protocol error occurred in the past. This field can only be reset by the Controller, if it issues the GETSTATUS CCC.

Values:

0 - no error occurred

1 - generic protocol error occurred in the past. It will be set until reception of the next GETSTATUS command.

LAST_IBI_STATUS field

Status of last IBI. Should be read after IBI_DONE interrupt.

Values:

00 - Success: IBI was transmitted and ACK'd by the Active Controller. 01 - Failure: Active Controller NACK'd the IBI before any data was sent. The Target Device will retry sending the IBI once. 10 - Failure: Active Controller NACK'd the IBI after partial data was sent. Part of data in the IBI queue is considered corrupted and will be discarded. 11 - Failure: IBI was terminated after 1 retry.

RESET_CONTROL register

  • Absolute Address: 0x1CC

  • Base Offset: 0xC

  • Size: 0x4

Queue Reset Control

Bits

Identifier

Access

Reset

Name

0

SOFT_RST

rw

0x0

SOFT_RST

1

TX_DESC_RST

rw

0x0

TX_DESC_RST

2

RX_DESC_RST

rw

0x0

RX_DESC_RST

3

TX_DATA_RST

rw

0x0

TX_DATA_RST

4

RX_DATA_RST

rw

0x0

RX_DATA_RST

5

IBI_QUEUE_RST

rw

0x0

IBI_QUEUE_RST

SOFT_RST field

Target Core Software Reset

TX_DESC_RST field

TTI TX Descriptor Queue Buffer Software Reset

RX_DESC_RST field

TTI RX Descriptor Queue Buffer Software Reset

TX_DATA_RST field

TTI TX Data Queue Buffer Software Reset

RX_DATA_RST field

TTI RX Data Queue Buffer Software Reset

IBI_QUEUE_RST field

TTI IBI Queue Buffer Software Reset

INTERRUPT_STATUS register

  • Absolute Address: 0x1D0

  • Base Offset: 0x10

  • Size: 0x4

Interrupt Status

Bits

Identifier

Access

Reset

Name

0

RX_DESC_STAT

rw, woclr

0x0

RX_DESC_STAT

1

TX_DESC_STAT

rw, woclr

0x0

TX_DESC_STAT

2

RX_DESC_TIMEOUT

rw, woclr

0x0

RX_DESC_TIMEOUT

3

TX_DESC_TIMEOUT

rw, woclr

0x0

TX_DESC_TIMEOUT

8

TX_DATA_THLD_STAT

rw, woclr

0x0

TX_DATA_THLD_STAT

9

RX_DATA_THLD_STAT

rw, woclr

0x0

RX_DATA_THLD_STAT

10

TX_DESC_THLD_STAT

rw, woclr

0x0

TX_DESC_THLD_STAT

11

RX_DESC_THLD_STAT

rw, woclr

0x0

RX_DESC_THLD_STAT

12

IBI_THLD_STAT

rw, woclr

0x0

IBI_THLD_STAT

13

IBI_DONE

rw, woclr

0x0

IBI_DONE

18:15

PENDING_INTERRUPT

rw, woclr

0x0

PENDING_INTERRUPT

25

TRANSFER_ABORT_STAT

rw, woclr

0x0

TRANSFER_ABORT_STAT

31

TRANSFER_ERR_STAT

rw, woclr

0x0

TRANSFER_ERR_STAT

RX_DESC_STAT field

There is a pending Write Transaction. Software should read data from the RX Descriptor Queue and the RX Data Queue

TX_DESC_STAT field

There is a pending Read Transaction on the I3C Bus. Software should write data to the TX Descriptor Queue and the TX Data Queue

RX_DESC_TIMEOUT field

Pending Write was NACK’ed, because the RX_DESC_STAT event was not handled in time

TX_DESC_TIMEOUT field

Pending Read was NACK’ed, because the TX_DESC_STAT event was not handled in time

TX_DATA_THLD_STAT field

TTI TX Data Buffer Threshold Status, the Target Controller shall set this bit to 1 when the number of available entries in the TTI TX Data Queue is >= the value defined in TTI_TX_DATA_THLD

RX_DATA_THLD_STAT field

TTI RX Data Buffer Threshold Status, the Target Controller shall set this bit to 1 when the number of entries in the TTI RX Data Queue is >= the value defined in TTI_RX_DATA_THLD

TX_DESC_THLD_STAT field

TTI TX Descriptor Buffer Threshold Status, the Target Controller shall set this bit to 1 when the number of available entries in the TTI TX Descriptor Queue is >= the value defined in TTI_TX_DESC_THLD

RX_DESC_THLD_STAT field

TTI RX Descriptor Buffer Threshold Status, the Target Controller shall set this bit to 1 when the number of available entries in the TTI RX Descriptor Queue is >= the value defined in TTI_RX_DESC_THLD

IBI_THLD_STAT field

TTI IBI Buffer Threshold Status, the Target Controller shall set this bit to 1 when the number of available entries in the TTI IBI Queue is >= the value defined in TTI_IBI_THLD

IBI_DONE field

IBI is done, check LAST_IBI_STATUS for result.

PENDING_INTERRUPT field

Contains the interrupt number of any pending interrupt, or 0 if no interrupts are pending. This encoding allows for up to 15 numbered interrupts. If more than one interrupt is set, then the highest priority interrupt shall be returned.

TRANSFER_ABORT_STAT field

Bus aborted transaction

TRANSFER_ERR_STAT field

Bus error occurred

INTERRUPT_ENABLE register

  • Absolute Address: 0x1D4

  • Base Offset: 0x14

  • Size: 0x4

Interrupt Enable

Bits

Identifier

Access

Reset

Name

0

RX_DESC_STAT_EN

rw

0x0

RX_DESC_STAT_EN

1

TX_DESC_STAT_EN

rw

0x0

TX_DESC_STAT_EN

2

RX_DESC_TIMEOUT_EN

rw

0x0

RX_DESC_TIMEOUT_EN

3

TX_DESC_TIMEOUT_EN

rw

0x0

TX_DESC_TIMEOUT_EN

8

TX_DATA_THLD_STAT_EN

rw

0x0

TX_DATA_THLD_STAT_EN

9

RX_DATA_THLD_STAT_EN

rw

0x0

RX_DATA_THLD_STAT_EN

10

TX_DESC_THLD_STAT_EN

rw

0x0

TX_DESC_THLD_STAT_EN

11

RX_DESC_THLD_STAT_EN

rw

0x0

RX_DESC_THLD_STAT_EN

12

IBI_THLD_STAT_EN

rw

0x0

IBI_THLD_STAT_EN

13

IBI_DONE_EN

rw

0x0

IBI_DONE_EN

25

TRANSFER_ABORT_STAT_EN

rw

0x0

TRANSFER_ABORT_STAT_EN

31

TRANSFER_ERR_STAT_EN

rw

0x0

TRANSFER_ERR_STAT_EN

RX_DESC_STAT_EN field

Enables the corresponding interrupt bit RX_DESC_STAT_EN

TX_DESC_STAT_EN field

Enables the corresponding interrupt bit TX_DESC_STAT_EN

RX_DESC_TIMEOUT_EN field

Enables the corresponding interrupt bit RX_DESC_TIMEOUT_EN

TX_DESC_TIMEOUT_EN field

Enables the corresponding interrupt bit TX_DESC_TIMEOUT_EN

TX_DATA_THLD_STAT_EN field

Enables the corresponding interrupt bit TTI_TX_DATA_THLD_STAT

RX_DATA_THLD_STAT_EN field

Enables the corresponding interrupt bit TTI_RX_DATA_THLD_STAT

TX_DESC_THLD_STAT_EN field

Enables the corresponding interrupt bit TTI_TX_DESC_THLD_STAT

RX_DESC_THLD_STAT_EN field

Enables the corresponding interrupt bit TTI_RX_DESC_THLD_STAT

IBI_THLD_STAT_EN field

Enables the corresponding interrupt bit TTI_IBI_THLD_STAT

IBI_DONE_EN field

Enables the corresponding interrupt bit IBI_DONE

TRANSFER_ABORT_STAT_EN field

Enables the corresponding interrupt bit TRANSFER_ABORT_STAT

TRANSFER_ERR_STAT_EN field

Enables the corresponding interrupt bit TRANSFER_ERR_STAT

INTERRUPT_FORCE register

  • Absolute Address: 0x1D8

  • Base Offset: 0x18

  • Size: 0x4

Interrupt Force

Bits

Identifier

Access

Reset

Name

0

RX_DESC_STAT_FORCE

rw

0x0

RX_DESC_STAT_FORCE

1

TX_DESC_STAT_FORCE

rw

0x0

TX_DESC_STAT_FORCE

2

RX_DESC_TIMEOUT_FORCE

rw

0x0

RX_DESC_TIMEOUT_FORCE

3

TX_DESC_TIMEOUT_FORCE

rw

0x0

TX_DESC_TIMEOUT_FORCE

8

TX_DATA_THLD_FORCE

rw

0x0

TX_DATA_THLD_FORCE

9

RX_DATA_THLD_FORCE

rw

0x0

RX_DATA_THLD_FORCE

10

TX_DESC_THLD_FORCE

rw

0x0

TX_DESC_THLD_FORCE

11

RX_DESC_THLD_FORCE

rw

0x0

RX_DESC_THLD_FORCE

12

IBI_THLD_FORCE

rw

0x0

IBI_THLD_FORCE

13

IBI_DONE_FORCE

rw

0x0

IBI_DONE_FORCE

25

TRANSFER_ABORT_STAT_FORCE

rw

0x0

TRANSFER_ABORT_STAT_FORCE

31

TRANSFER_ERR_STAT_FORCE

rw

0x0

TRANSFER_ERR_STAT_FORCE

RX_DESC_STAT_FORCE field

Enables the corresponding interrupt bit RX_DESC_STAT_FORCE

TX_DESC_STAT_FORCE field

Enables the corresponding interrupt bit TX_DESC_STAT_FORCE

RX_DESC_TIMEOUT_FORCE field

Enables the corresponding interrupt bit RX_DESC_TIMEOUT_FORCE

TX_DESC_TIMEOUT_FORCE field

Enables the corresponding interrupt bit TX_DESC_TIMEOUT_FORCE

TX_DATA_THLD_FORCE field

Forces the corresponding interrupt bit TTI_TX_DATA_THLD_STAT to be set to 1

RX_DATA_THLD_FORCE field

Forces the corresponding interrupt bit TTI_RX_DATA_THLD_STAT to be set to 1

TX_DESC_THLD_FORCE field

Forces the corresponding interrupt bit TTI_TX_DESC_THLD_STAT to be set to 1

RX_DESC_THLD_FORCE field

Forces the corresponding interrupt bit TTI_RX_DESC_THLD_STAT to be set to 1

IBI_THLD_FORCE field

Forces the corresponding interrupt bit TTI_IBI_THLD_STAT to be set to 1

IBI_DONE_FORCE field

Enables the corresponding interrupt bit IBI_DONE_FORCE

TRANSFER_ABORT_STAT_FORCE field

Enables the corresponding interrupt bit TRANSFER_ABORT_STAT_FORCE

TRANSFER_ERR_STAT_FORCE field

Enables the corresponding interrupt bit TRANSFER_ERR_STAT_FORCE

RX_DESC_QUEUE_PORT register

  • Absolute Address: 0x1DC

  • Base Offset: 0x1C

  • Size: 0x4

RX Descriptor Queue Port

Bits

Identifier

Access

Reset

Name

31:0

RX_DESC

r

0x0

RX_DESC

RX_DESC field

RX Data

RX_DATA_PORT register

  • Absolute Address: 0x1E0

  • Base Offset: 0x20

  • Size: 0x4

RX Data Port

Bits

Identifier

Access

Reset

Name

31:0

RX_DATA

r

0x0

RX_DATA

RX_DATA field

RX Data

TX_DESC_QUEUE_PORT register

  • Absolute Address: 0x1E4

  • Base Offset: 0x24

  • Size: 0x4

TX Descriptor Queue Port

Bits

Identifier

Access

Reset

Name

31:0

TX_DESC

w

0x0

TX_DESC

TX_DESC field

TX Data

TX_DATA_PORT register

  • Absolute Address: 0x1E8

  • Base Offset: 0x28

  • Size: 0x4

TX Data Port

Bits

Identifier

Access

Reset

Name

31:0

TX_DATA

w

0x0

TX_DATA

TX_DATA field

TX Data

IBI_PORT register

  • Absolute Address: 0x1EC

  • Base Offset: 0x2C

  • Size: 0x4

IBI Data Port

Bits

Identifier

Access

Reset

Name

31:0

IBI_DATA

w

0x0

IBI_DATA

IBI_DATA field

IBI Data

QUEUE_SIZE register

  • Absolute Address: 0x1F0

  • Base Offset: 0x30

  • Size: 0x4

Queue Size

Bits

Identifier

Access

Reset

Name

7:0

RX_DESC_BUFFER_SIZE

r

0x5

RX_DESC_BUFFER_SIZE

15:8

TX_DESC_BUFFER_SIZE

r

0x5

TX_DESC_BUFFER_SIZE

23:16

RX_DATA_BUFFER_SIZE

r

0x5

RX_DATA_BUFFER_SIZE

31:24

TX_DATA_BUFFER_SIZE

r

0x5

TX_DATA_BUFFER_SIZE

RX_DESC_BUFFER_SIZE field

RX Descriptor Buffer Size in DWORDs calculated as 2^(N+1)

TX_DESC_BUFFER_SIZE field

TX Descriptor Buffer Size in DWORDs calculated as 2^(N+1)

RX_DATA_BUFFER_SIZE field

Receive Data Buffer Size in DWORDs calculated as 2^(N+1)

TX_DATA_BUFFER_SIZE field

Transmit Data Buffer Size in DWORDs calculated as 2^(N+1)

IBI_QUEUE_SIZE register

  • Absolute Address: 0x1F4

  • Base Offset: 0x34

  • Size: 0x4

IBI Queue Size

Bits

Identifier

Access

Reset

Name

7:0

IBI_QUEUE_SIZE

r

0x5

IBI_QUEUE_SIZE

IBI_QUEUE_SIZE field

IBI Queue Size in DWORDs calculated as 2^(N+1)

QUEUE_THLD_CTRL register

  • Absolute Address: 0x1F8

  • Base Offset: 0x38

  • Size: 0x4

Queue Threshold Control

Bits

Identifier

Access

Reset

Name

7:0

TX_DESC_THLD

rw

0x1

TX_DESC_THLD

15:8

RX_DESC_THLD

rw

0x1

RX_DESC_THLD

31:24

IBI_THLD

rw

0x1

IBI_THLD

TX_DESC_THLD field

Controls the minimum number of empty TTI TX Descriptor Queue entries needed to trigger the TTI TX Descriptor interrupt.

RX_DESC_THLD field

Controls the minimum number of TTI RX Descriptor Queue entries needed to trigger the TTI RX Descriptor interrupt.

IBI_THLD field

Controls the minimum number of IBI Queue entries needed to trigger the IBI threshold interrupt.

DATA_BUFFER_THLD_CTRL register

  • Absolute Address: 0x1FC

  • Base Offset: 0x3C

  • Size: 0x4

IBI Queue Threshold Control

Bits

Identifier

Access

Reset

Name

2:0

TX_DATA_THLD

rw

0x1

TX_DATA_THLD

10:8

RX_DATA_THLD

rw

0x1

RX_DATA_THLD

18:16

TX_START_THLD

rw

0x1

TX_DATA_THLD

26:24

RX_START_THLD

rw

0x1

RX_DATA_THLD

TX_DATA_THLD field

Minimum number of available TTI TX Data queue entries, in DWORDs, that will trigger the TTI TX Data interrupt. Interrupt triggers when 2^(N+1) TX Buffer DWORD entries are available.

RX_DATA_THLD field

Minimum number of TTI RX Data queue entries of data received, in DWORDs, that will trigger the TTI RX Data interrupt. Interrupt triggers when 2^(N+1) RX Buffer DWORD entries are received during the Read transfer.

TX_START_THLD field

Minimum number of available TTI TX Data queue entries, in DWORDs, that will trigger the TTI TX Data interrupt. Interrupt triggers when 2^(N+1) TX Buffer DWORD entries are available.

RX_START_THLD field

Minimum number of TTI RX Data queue entries of data received, in DWORDs, that will trigger the TTI RX Data interrupt. Interrupt triggers when 2^(N+1) RX Buffer DWORD entries are received during the Read transfer.

SoCMgmtIf register file

  • Absolute Address: 0x200

  • Base Offset: 0x100

  • Size: 0x5C

Offset

Identifier

Name

0x00

EXTCAP_HEADER

0x04

SOC_MGMT_CONTROL

SoC Management Control

0x08

SOC_MGMT_STATUS

SoC Management Status

0x0C

SOC_MGMT_RSVD_0

0x10

SOC_MGMT_RSVD_1

0x14

SOC_MGMT_RSVD_2

0x18

SOC_MGMT_RSVD_3

0x1C

SOC_PAD_CONF

I3C Pad Configuration Register

0x20

SOC_PAD_ATTR

I3C Pad Attribute Configuration Register

0x24

SOC_MGMT_FEATURE_2

0x28

SOC_MGMT_FEATURE_3

0x2C

T_R_REG

0x30

T_F_REG

0x34

T_SU_DAT_REG

0x38

T_HD_DAT_REG

0x3C

T_HIGH_REG

0x40

T_LOW_REG

0x44

T_HD_STA_REG

0x48

T_SU_STA_REG

0x4C

T_SU_STO_REG

0x50

T_FREE_REG

0x54

T_AVAL_REG

0x58

T_IDLE_REG

EXTCAP_HEADER register

  • Absolute Address: 0x200

  • Base Offset: 0x0

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CAP_ID

r

0xC1

CAP_ID

23:8

CAP_LENGTH

r

0x18

CAP_LENGTH

CAP_ID field

Extended Capability ID

CAP_LENGTH field

Capability Structure Length in DWORDs

SOC_MGMT_CONTROL register

  • Absolute Address: 0x204

  • Base Offset: 0x4

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

SOC_MGMT_STATUS register

  • Absolute Address: 0x208

  • Base Offset: 0x8

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

SOC_MGMT_RSVD_0 register

  • Absolute Address: 0x20C

  • Base Offset: 0xC

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

SOC_MGMT_RSVD_1 register

  • Absolute Address: 0x210

  • Base Offset: 0x10

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

SOC_MGMT_RSVD_2 register

  • Absolute Address: 0x214

  • Base Offset: 0x14

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

SOC_MGMT_RSVD_3 register

  • Absolute Address: 0x218

  • Base Offset: 0x18

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

SOC_PAD_CONF register

  • Absolute Address: 0x21C

  • Base Offset: 0x1C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

0

INPUT_ENABLE

rw

0x1

Enable Input

1

SCHMITT_EN

rw

0x0

Schmitt Trigger Enable

2

KEEPER_EN

rw

0x0

High-Keeper Enable

3

PULL_DIR

rw

0x0

Pull Direction

4

PULL_EN

rw

0x0

Pull Enable

5

IO_INVERSION

rw

0x0

IO INVERSION

6

OD_EN

rw

0x0

Open-Drain Enable

7

VIRTUAL_OD_EN

rw

0x0

Virtual Open Drain Enable

31:24

PAD_TYPE

rw

0x1

Pad type

INPUT_ENABLE field

Enable input:

0 - enabled

1 - disabled

SCHMITT_EN field

Enable the Schmitt Trigger:

0 - disabled

1 - enabled

KEEPER_EN field

Enable the High-Keeper:

0 - disabled

1 - enabled

PULL_DIR field

Direction of the pull:

0 - Pull down

1 - Pull up

PULL_EN field

Enable Pull:

0 - disabled

1 - enabled

IO_INVERSION field

Invert I/O signal:

0 - signals pass-through

1 - signals are inverted

OD_EN field

Enable Open-Drain:

0 - disabled

1 - enabled

VIRTUAL_OD_EN field

Enable virtual open drain:

0 - disabled

1 - enabled

PAD_TYPE field

Select pad type

0 - Bidirectional

1 - Open-drain

2 - Input-only

3 - Analog input

SOC_PAD_ATTR register

  • Absolute Address: 0x220

  • Base Offset: 0x20

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

15:8

DRIVE_SLEW_RATE

rw

0xF

Driver Slew Rate

31:24

DRIVE_STRENGTH

rw

0xF

Driver Strength

DRIVE_SLEW_RATE field

Select driver slew rate

'0 - lowest

'1 - highest

DRIVE_STRENGTH field

Select driver strength

'0 - lowest

'1 - highest

SOC_MGMT_FEATURE_2 register

  • Absolute Address: 0x224

  • Base Offset: 0x24

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

Reserved for: I/O ring and pad configuration

SOC_MGMT_FEATURE_3 register

  • Absolute Address: 0x228

  • Base Offset: 0x28

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

PLACEHOLDER

rw

0x0

PLACEHOLDER field

Reserved for: I/O ring and pad configuration

T_R_REG register

  • Absolute Address: 0x22C

  • Base Offset: 0x2C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_R

rw

0x0

T_R field

Rise time of both SDA and SCL in clock units

T_F_REG register

  • Absolute Address: 0x230

  • Base Offset: 0x30

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_F

rw

0x0

T_F field

Fall time of both SDA and SCL in clock units

T_SU_DAT_REG register

  • Absolute Address: 0x234

  • Base Offset: 0x34

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_SU_DAT

rw

0x0

T_SU_DAT field

Data setup time in clock units

T_HD_DAT_REG register

  • Absolute Address: 0x238

  • Base Offset: 0x38

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_HD_DAT

rw

0x0

T_HD_DAT field

Data hold time in clock units

T_HIGH_REG register

  • Absolute Address: 0x23C

  • Base Offset: 0x3C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_HIGH

rw

0x0

High period of the SCL in clock units

T_HIGH field

T_LOW_REG register

  • Absolute Address: 0x240

  • Base Offset: 0x40

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_LOW

rw

0x0

T_LOW field

Low period of the SCL in clock units

T_HD_STA_REG register

  • Absolute Address: 0x244

  • Base Offset: 0x44

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_HD_STA

rw

0x0

T_HD_STA field

Hold time for (repeated) START in clock units

T_SU_STA_REG register

  • Absolute Address: 0x248

  • Base Offset: 0x48

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_SU_STA

rw

0x0

T_SU_STA field

Setup time for repeated START in clock units

T_SU_STO_REG register

  • Absolute Address: 0x24C

  • Base Offset: 0x4C

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

19:0

T_SU_STO

rw

0x0

T_SU_STO field

Setup time for STOP in clock units

T_FREE_REG register

  • Absolute Address: 0x250

  • Base Offset: 0x50

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

T_FREE

rw

0xC

T_FREE field

T_AVAL_REG register

  • Absolute Address: 0x254

  • Base Offset: 0x54

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

T_AVAL

rw

0x12C

T_AVAL field

T_IDLE_REG register

  • Absolute Address: 0x258

  • Base Offset: 0x58

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

31:0

T_IDLE

rw

0xEA60

T_IDLE field

CtrlCfg register file

  • Absolute Address: 0x260

  • Base Offset: 0x160

  • Size: 0x8

Offset

Identifier

Name

0x0

EXTCAP_HEADER

0x4

CONTROLLER_CONFIG

Controller Config

EXTCAP_HEADER register

  • Absolute Address: 0x260

  • Base Offset: 0x0

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

7:0

CAP_ID

r

0x2

CAP_ID

23:8

CAP_LENGTH

r

0x2

CAP_LENGTH

CAP_ID field

Extended Capability ID

CAP_LENGTH field

Capability Structure Length in DWORDs

CONTROLLER_CONFIG register

  • Absolute Address: 0x264

  • Base Offset: 0x4

  • Size: 0x4

Bits

Identifier

Access

Reset

Name

5:4

OPERATION_MODE

r

0x1

Operation Mode

OPERATION_MODE field

TERMINATION_EXTCAP_HEADER register

  • Absolute Address: 0x268

  • Base Offset: 0x168

  • Size: 0x4

Register after the last EC must advertise ID == 0. Termination register is added to guarantee that the discovery mechanism reaches termination value.

Bits

Identifier

Access

Reset

Name

7:0

CAP_ID

r

0x0

CAP_ID

23:8

CAP_LENGTH

r

0x1

CAP_LENGTH

CAP_ID field

Extended Capability ID

CAP_LENGTH field

Capability Structure Length in DWORDs

DAT memory

  • Absolute Address: 0x400

  • Base Offset: 0x400

  • Size: 0x400

Offset

Identifier

Name

0x0

DAT_MEMORY[128]

DAT_MEMORY register

  • Absolute Address: 0x400

  • Base Offset: 0x0

  • Size: 0x400

  • Array Dimensions: [128]

  • Array Stride: 0x8

  • Total Size: 0x400

Bits

Identifier

Access

Reset

Name

6:0

STATIC_ADDRESS

rw

STATIC_ADDRESS

12

IBI_PAYLOAD

rw

IBI_PAYLOAD

13

IBI_REJECT

rw

IBI_REJECT

14

CRR_REJECT

rw

CRR_REJECT

15

TS

rw

TS

23:16

DYNAMIC_ADDRESS

rw

DYNAMIC_ADDRESS

28:26

RING_ID

rw

RING_ID

30:29

DEV_NACK_RETRY_CNT

rw

DEV_NACK_RETRY_CNT

31

DEVICE

rw

DEVICE

39:32

AUTOCMD_MASK

rw

AUTOCMD_MASK

47:40

AUTOCMD_VALUE

rw

AUTOCMD_VALUE

50:48

AUTOCMD_MODE

rw

AUTOCMD_MODE

58:51

AUTOCMD_HDR_CODE

rw

AUTOCMD_HDR_CODE

STATIC_ADDRESS field

I3C/I2C static device address

IBI_PAYLOAD field

Device's IBI contains data payload

IBI_REJECT field

Reject device's request for IBI

CRR_REJECT field

Reject device's request for controller change

TS field

Enable/disable IBI timestamp

DYNAMIC_ADDRESS field

I3C dynamic address

RING_ID field

Send IBI read to ring bundle

DEV_NACK_RETRY_CNT field

Number of retries before giving up

DEVICE field

Device type: 0 - I3C device, 1 - I2C device.

AUTOCMD_MASK field

IBI mask

AUTOCMD_VALUE field

IBI value that triggers auto command

AUTOCMD_MODE field

Auto command mode and speed

AUTOCMD_HDR_CODE field

Device auto command in HDR mode

DCT memory

  • Absolute Address: 0x800

  • Base Offset: 0x800

  • Size: 0x800

Offset

Identifier

Name

0x0

DCT_MEMORY[128]

DCT_MEMORY register

  • Absolute Address: 0x800

  • Base Offset: 0x0

  • Size: 0x800

  • Array Dimensions: [128]

  • Array Stride: 0x10

  • Total Size: 0x800

Bits

Identifier

Access

Reset

Name

31:0

PID_HI

r

PID_HI

47:32

PID_LO

r

PID_LO

71:64

DCR

r

DCR

79:72

BCR

r

BCR

103:96

DYNAMIC_ADDRESS

r

DYNAMIC_ADDRESS

PID_HI field

Device Provisional ID High

PID_LO field

Device Provisional ID Low

DCR field

Value of the I3C device's Device Characteristics Register

BCR field

Value of the I3C device's Bus Characteristics Register

DYNAMIC_ADDRESS field

Device I3C Dynamic Address after ENTDAA


Last update: 2025-02-20