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

From: Frank Li
Date: Wed Jan 29 2025 - 15:06:16 EST


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@xxxxxxxxxxx>
To: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
To: Conor Culhane <conor.culhane@xxxxxxxxxxx>
Cc: linux-i3c@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: imx@xxxxxxxxxxxxxxx

Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
---
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@xxxxxxx>