Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.8.7.5. Initializing Slave Registers

This section describes the programming flow for initializing the slave registers in addition to the registers described in the Initializing Common Registers section when the controller is used in slave mode or secondary master mode of operation. You can ignore this section if the controller is used only in the master mode.

  • BUS_FREE_AVAIL_TIMING: Program BUS_AVAILABLE_TIME field with the required value of bus available period. The count is in terms of the core_clk period.
  • BUS_IDLE_TIMING: Program BUS_IDLE_TIME field with the required value of bus idle period. The count is in terms of the core_clk period.
  • DEVICE_CTRL: Program IDLE_CNT_MULTIPLIER field with the required value for enabling the slave controller after the power-on-reset.
  • DEVICE_CTRL: Program ADAPTIVE_I2C_I3C field with the required value to select the adaptive mode.
  • DEVICE_ADDR: Program STATIC_ADDR field with the new static address of the slave only if required.
  • DEVICE_ADDR: Set the STATIC_ADDR_VALID field to 1 to validate the static address if changed.
  • SLV_TSX_SYMBL_TIMING: Program the SLV_TSX_SYMBL_CNT field with the required count value of the symbol duration of the TSP/TSL during data transmission. The count is in terms of the hdr_tx_clk period.
  • MAX_DATA_SPEED: Program the MXDS_MAX_RD_SPEED field with the maximum sustainable read speed supported.
  • MAX_DATA_SPEED: Program the MXDS_CLK_DATA_TURN field with the supported clock to data turnaround time.