diff options
| author | Dinesh Maniyam <[email protected]> | 2025-08-06 12:32:32 +0800 |
|---|---|---|
| committer | Heiko Schocher <[email protected]> | 2025-08-06 08:41:30 +0200 |
| commit | b875409da7370a9dc4e1abbaf40fa33c6717e854 (patch) | |
| tree | df7ec1a2c5c43197f47b21a415fedf748142eb1e /include | |
| parent | 82cc368cd2b3bc8664d7e12f4f87af49c1783237 (diff) | |
cmd: Add i3c command support.
Add i3c command file to support select, get i3c device
target list, read and write operation.
Signed-off-by: Dinesh Maniyam <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/dw-i3c.h | 2 | ||||
| -rw-r--r-- | include/i3c.h | 28 |
2 files changed, 29 insertions, 1 deletions
diff --git a/include/dw-i3c.h b/include/dw-i3c.h index 42c37d6dfa2..c652de77404 100644 --- a/include/dw-i3c.h +++ b/include/dw-i3c.h @@ -241,6 +241,8 @@ struct dw_i3c_master { char type[5]; u8 addrs[MAX_DEVS]; bool first_broadcast; + struct i3c_dev_desc *i3cdev[I3C_BUS_MAX_DEVS]; + u16 num_i3cdevs; }; struct dw_i3c_i2c_dev_data { diff --git a/include/i3c.h b/include/i3c.h index 59c787c21db..e19c22a8852 100644 --- a/include/i3c.h +++ b/include/i3c.h @@ -25,6 +25,32 @@ struct dm_i3c_ops { int (*i3c_xfers)(struct i3c_dev_desc *dev, struct i3c_priv_xfer *xfers, u32 nxfers); + +/** + * @read: Perform I3C read transaction. + * + * @dev: Chip to read from + * @dev_number: The target device number from the driver model. + * @buf: Place to put data + * @num_bytes: Number of bytes to read. + * + * Return: 0 on success, negative error code on failure. + */ + int (*read)(struct udevice *dev, u32 dev_number, + u8 *buf, u32 num_bytes); + +/** + * @write: Perform I3C write transaction. + * + * @dev: Chip to write to + * @dev_number: The target device number from the driver model. + * @buf: Buffer containing data to write + * @num_bytes: Number of bytes to write. + * + * Return: 0 on success, negative error code on failure. + */ + int (*write)(struct udevice *dev, u32 dev_number, + u8 *buf, u32 num_bytes); }; /** @@ -64,4 +90,4 @@ int dm_i3c_write(struct udevice *dev, u32 dev_number, * Return: 0 on success, negative error code on failure. */ int dm_i3c_read(struct udevice *dev, u32 dev_number, - u8 *buf, u32 num_bytes);
\ No newline at end of file + u8 *buf, u32 num_bytes); |
