Skip to content

i3c secondary controller driver #61092

@jvasanth1

Description

@jvasanth1

We are developing zephyr i3c driver for our device which has a i3c secondary controller. The secondary controller will come up as target on the bus initially. We don't see enough support in current Zephyr i3c for implementing the secondary controller as target.

  1. Zephyr supports two APIs- i3c_target_register and i3c_target_unregister to register the target to the controller. The registration uses the i3c_target_config to configure the target. But we really need fields from i3c_config_target like PID, HDR modes, MRL, MWL as well to configure the target.

Both structures are defined in target_device.h

Feature Request 1: i3c_target_register and i3c_target_unregister APIs need updates to incorporate the i3c_config_target fields

  1. The target callbacks structure i3c_target_callbacks has read and write function which are byte oriented. I think we need to expand this to be buffer pointer and data length. We can't be processing byte by byte for I3C.

Feature request 2: Request to update i3c target callback functions to operate using buffer instead of byte by byte

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions