Before I3C controller is put into operation,
several settings need to be adjusted after cycling the power on. The general
settings collected in I3C_CTRL register. For most common usage scheme, two fields
are the most important:
- I3C_CTRL[31] DEV_EN bit
allows enabling and disabling the I3C bus controller. It must be
enabled before any I3C bus message is initiated, however
following settings need to be programmed prior to enabling controller:
- Bus Mode (Only Pure
Bus Mode is supported)
- SCL Divider
prescalers (See I3C Clock Configuration)
- Devices Retaining
Registers (See I3C Retaining Registers Space)
During normal operation the controller
should stay enabled. Before disabling, the I3C_MST_STATUS0[18] IDLE should
be examined to confirm that no bus operation is pending.
- I3C_CTRL[1-0] BUS_MODE
bit-field is set to Pure Bus Mode by default. The I3C controller supports
only I3C compatible devices on I3C bus and if changed
bit-field has no effect. For more information see I3C Not Supported
Features.