I3C Controller
I3C Controller is subset of the I3C-basic specification to interface peripherals such as ADCs through I3C.
It consist out of two sub-modules which communicate over well defined interfaces. The I3C Controller Core is a lean but powerful execution module, which implements the I3C bus control logic. It is controlled by a command stream generated by the I3C Controller Host Interface, which parses the Command Descriptors.
The Offload Interface operation mode allows to execute a pre-programmed command stream when triggered by an external event, allowing for minimal latency.
Sub-modules
I3C Controller Host Interface: Memory mapped software accessible interface to a I3C Controller command stream and/or offload cores.
I3C Controller Core: Main module which executes a I3C Controller command stream and implements the I3C bus interface logic.
Interfaces
Control Interface: Command descriptors.
Offload Interface: Command descriptors for cyclic operation, with SDI data generally consumed by a DMA.
Software support
Linux Driver: Linux driver for the I3C Controller.
Instruction Set Specification: Overview of the I3C Controller instruction format.
References
HDL IP core at library/i3c_controller