mbox series

[0/2] i3c: Add basic HDR mode support

Message ID 20250129-i3c_ddr-v1-0-028a7a5d4324@nxp.com (mailing list archive)
Headers show
Series i3c: Add basic HDR mode support | expand

Message

Frank Li Jan. 29, 2025, 8:05 p.m. UTC
Add basic HDR mode support, only support private transfer, not support
CCC command.

Update i3c framework API to allow pass down mode and extend driver callback
function.

Implement HDR transfer in svc i3c master driver.

Simplifed HDR flow is (ref i3c spec line 5514) Figure 129

<--              SDR            ---> | <--- HDR
START 0x7E RnW(0) ACK CCC(ENTHDR0) T   HDR-CMD(00-7f write, 80--ff read)

                                    ----> |
HDR-DATA HDR-CRC HDR-RESTART .... HDR-EXIT

Note: HDR-CMD is 16bit data, which included 7bit slave address and 8bit
read/write command.

svc hardware can auto issue SDR part.

To: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
To: Conor Culhane <conor.culhane@silvaco.com>
Cc: linux-i3c@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: imx@lists.linux.dev

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Frank Li (2):
      i3c: Add basic HDR support
      i3c: master: svc: Add basic HDR mode support

 drivers/i3c/device.c                | 19 ++++++----
 drivers/i3c/internals.h             |  2 +-
 drivers/i3c/master.c                |  8 ++++-
 drivers/i3c/master/svc-i3c-master.c | 69 +++++++++++++++++++++++++++----------
 include/linux/i3c/device.h          | 12 ++++++-
 include/linux/i3c/master.h          |  3 ++
 6 files changed, 86 insertions(+), 27 deletions(-)
---
base-commit: 66408a65f3db566c45fd7658fa7bc0b17aaa4807
change-id: 20250129-i3c_ddr-b15488901eb8

Best regards,
---
Frank Li <Frank.Li@nxp.com>