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

Frank Li Frank.li at nxp.com
Tue Oct 7 13:05:32 PDT 2025


On Tue, Oct 07, 2025 at 11:22:14AM -0400, Frank Li wrote:
> Add basic HDR mode support, only support private transfer, not support
> CCC command.

Please forget this version because I just find miss CC devices tree mail
list. I will repost at V5.

Frank

>
> 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 at nxp.com>
> ---
> Changes in v4:
> - use master's hdr_cap to check HDR cap.
> - add mmc5603 support.
> - Link to v3: https://lore.kernel.org/r/20250930-i3c_ddr-v3-0-b627dc2ef172@nxp.com
>
> Changes in v3:
> - Add new patch for change rnw to union for svc.
> - Detial changes see each patch's change log.
> - Link to v2: https://lore.kernel.org/r/20250924-i3c_ddr-v2-0-682a0eb32572@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 (5):
>       i3c: Add HDR API support
>       i3c: master: svc: Replace bool rnw with union for HDR 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       |   4 +
>  drivers/i3c/device.c                               |  27 +-
>  drivers/i3c/internals.h                            |   6 +-
>  drivers/i3c/master.c                               |  19 +-
>  drivers/i3c/master/svc-i3c-master.c                |  96 +++-
>  drivers/iio/magnetometer/Kconfig                   |  12 +
>  drivers/iio/magnetometer/Makefile                  |   1 +
>  drivers/iio/magnetometer/mmc5633.c                 | 579 +++++++++++++++++++++
>  include/linux/i3c/device.h                         |  34 +-
>  include/linux/i3c/master.h                         |   4 +
>  10 files changed, 745 insertions(+), 37 deletions(-)
> ---
> base-commit: 5248ab97a6dd1dc6856422f6b1595baaf4fa85ce
> change-id: 20250129-i3c_ddr-b15488901eb8
>
> Best regards,
> --
> Frank Li <Frank.Li at nxp.com>
>



More information about the linux-i3c mailing list