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

Frank Li posted 4 patches 1 week ago
There is a newer version of this series
.../devicetree/bindings/trivial-devices.yaml       |   2 +
drivers/i3c/device.c                               |  27 +-
drivers/i3c/internals.h                            |   6 +-
drivers/i3c/master.c                               |  22 +-
drivers/i3c/master/svc-i3c-master.c                |  95 +++-
drivers/iio/magnetometer/Kconfig                   |  12 +
drivers/iio/magnetometer/Makefile                  |   1 +
drivers/iio/magnetometer/mmc5633.c                 | 543 +++++++++++++++++++++
include/linux/i3c/device.h                         |  28 +-
include/linux/i3c/master.h                         |   5 +
10 files changed, 702 insertions(+), 39 deletions(-)
[PATCH v2 0/4] i3c: Add basic HDR mode support
Posted by Frank Li 1 week ago
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.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Changes in v2:
- Add sensor driver, which use HDR mode read/write data.
- change priv_xfer to i3c_xfer.
- Link to v1: https://lore.kernel.org/r/20250129-i3c_ddr-v1-0-028a7a5d4324@nxp.com

---
Frank Li (4):
      i3c: Add HDR API support
      i3c: master: svc: Add basic HDR mode support
      dt-bindings: trivial-devices: add MEMSIC 3-axis magnetometer
      iio: magnetometer: Add mmc5633 sensor

 .../devicetree/bindings/trivial-devices.yaml       |   2 +
 drivers/i3c/device.c                               |  27 +-
 drivers/i3c/internals.h                            |   6 +-
 drivers/i3c/master.c                               |  22 +-
 drivers/i3c/master/svc-i3c-master.c                |  95 +++-
 drivers/iio/magnetometer/Kconfig                   |  12 +
 drivers/iio/magnetometer/Makefile                  |   1 +
 drivers/iio/magnetometer/mmc5633.c                 | 543 +++++++++++++++++++++
 include/linux/i3c/device.h                         |  28 +-
 include/linux/i3c/master.h                         |   5 +
 10 files changed, 702 insertions(+), 39 deletions(-)
---
base-commit: 5248ab97a6dd1dc6856422f6b1595baaf4fa85ce
change-id: 20250129-i3c_ddr-b15488901eb8

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