[PATCH v5 00/12] Add Synopsys MIPI I3C Driver support

Maniyam, Dinesh dinesh.maniyam at altera.com
Tue Jun 3 08:56:51 CEST 2025



> -----Original Message-----
> From: Maniyam, Dinesh <dinesh.maniyam at altera.com>
> Sent: Tuesday, 13 May 2025 6:19 pm
> To: u-boot at lists.denx.de
> Cc: Marek <marex at denx.de>; Simon <simon.k.r.goldschmidt at gmail.com>;
> Simon Glass <sjg at chromium.org>; Tom Rini <trini at konsulko.com>; Dario
> Binacchi <dario.binacchi at amarulasolutions.com>; Ilias Apalodimas
> <ilias.apalodimas at linaro.org>; Heinrich Schuchardt <xypron.glpk at gmx.de>;
> Jerome Forissier <jerome.forissier at linaro.org>; Mattijs Korpershoek
> <mkorpershoek at baylibre.com>; Ibai Erkiaga <ibai.erkiaga-elorza at amd.com>;
> Michal Simek <michal.simek at amd.com>; Dmitry Rokosov
> <ddrokosov at salutedevices.com>; Jonas Karlman <jonas at kwiboo.se>; Sebastian
> Reichel <sebastian.reichel at collabora.com>; Meng, Tingting
> <tingting.meng at altera.com>; Chee, Tien Fong <tien.fong.chee at altera.com>;
> Hea, Kok Kiang <kok.kiang.hea at altera.com>; Maniyam, Dinesh
> <dinesh.maniyam at altera.com>; Ng, Boon Khai <boon.khai.ng at altera.com>;
> Yuslaimi, Alif Zakuan <alif.zakuan.yuslaimi at altera.com>; Zamri, Muhammad
> Hazim Izzat <muhammad.hazim.izzat.zamri at altera.com>; Lim, Jit Loon
> <jit.loon.lim at altera.com>
> Subject: [PATCH v5 00/12] Add Synopsys MIPI I3C Driver support
> 
> From: Dinesh Maniyam <dinesh.maniyam at altera.com>
> 
> This patchset add Synopsys MIPI I3C Driver support for Intel Agilex5 devices.
> 
> The i3c driver is leveraged from the master/dw-i3c-master.c, i3c/device.c and
> i3c/master.c Linux version 6.6.37 LTS And few header files included to be part of
> the migration; i3c/internals.h, include/linux/i3c/ccc.h, include/linux/i3c/device.h
> and include/linux/i3c/master.h.
> Additional i3c uclass driver and command files added to support i3c read and
> write in U-Boot.
> 
> Patch status:
> 
> Detail changelog can find in commit message.
> 
> v5->v4:
> --------
> - Add header file to doc/api/i3c
> - Rephrase function description for i3c.h
> - Separated subcommand as a function for cmd/i3c.c
> - Used memory address to transfer msgs from i3c
> - Rephrase description in cmd/i3c.rst file
> - Replaced int with unsigned for positive variables.
> 
> v4->v3:
> --------
> Resolve ci test:
> - Add i3c node in index.rst
> - Formating error in i3c.rst
> - Resolve cpu_relax undefined for sandbox
> 
> v3->v2:
> --------
> - Squash commit 10 to commit 9
> - Resolve index for new files to pass the checkpatch
> 
> Commit: sandbox_defconfig: Enable configs for sandbox i3c
> Commit: agilex5_defconfig: Enable i3c configs for agilex5
> - use savedefconfig
> 
> drivers: Enabled Kconfig and Makefile for i3c support
> - Add maintainer for i3c
> 
> drivers: i3c: Enabled Kconfig and Makefile for DWI3C
> - Add empty lines for if/endif
> 
> drivers: i3c: Add i3c sandbox simple test.
> - Removed DECLARE_GLOBAL_DATA_PTR
> 
> v1->v2:
> --------
> Reorder commits.
> 
> Added commits:
> - drivers: i3c: Add i3c sandbox simple test.
> - test: cmd: Add simple test for i3c
> - configs: sandbox_defconfig: Enable configs for sandbox i3c
> - configs: agilex5_defconfig: Enable i3c configs for agilex5
> 
> History:
> --------
> [v1]:
> https://patchwork.ozlabs.org/project/uboot/cover/20250218025705.50051-1-
> dinesh.maniyam at intel.com/
> [v2]:
> https://patchwork.ozlabs.org/project/uboot/cover/20250314040902.43621-1-
> dinesh.maniyam at altera.com/
> [v3]:
> https://patchwork.ozlabs.org/project/uboot/cover/20250324083704.26259-1-
> dinesh.maniyam at altera.com/
> [v4]: https://patchwork.ozlabs.org/project/uboot/cover/20250417021840.6212-
> 1-dinesh.maniyam at altera.com/
> 
> Dinesh Maniyam (12):
>   drivers: i3c: Add new i3c uclass id
>   drivers: i3c: Add driver for MIPI DWI3C
>   drivers: i3c: Add i3c uclass driver.
>   drivers: Enabled Kconfig and Makefile for i3c support
>   drivers: i3c: Enabled Kconfig and Makefile for DWI3C
>   drivers: i3c: Add i3c sandbox simple test.
>   drivers: i3c: master: Enable probe i3c without slave device
>   i3c: master: dw-i3c-master: Fix OD_TIMING for spike filter
>   cmd: Add i3c command support.
>   test: cmd: Add simple test for i3c
>   configs: sandbox_defconfig: Enable configs for sandbox i3c
>   configs: agilex5_defconfig: Enable i3c configs for agilex5
> 
>  MAINTAINERS                        |    7 +
>  arch/sandbox/dts/test.dts          |    8 +
>  cmd/Kconfig                        |    6 +
>  cmd/Makefile                       |    1 +
>  cmd/i3c.c                          |  261 ++++
>  configs/sandbox_defconfig          |    4 +
>  configs/socfpga_agilex5_defconfig  |    3 +
>  doc/api/i3c.rst                    |    8 +
>  doc/api/index.rst                  |    1 +
>  doc/usage/cmd/i3c.rst              |  146 ++
>  doc/usage/index.rst                |    1 +
>  drivers/Kconfig                    |    2 +
>  drivers/Makefile                   |    1 +
>  drivers/i3c/Kconfig                |   27 +
>  drivers/i3c/Makefile               |    5 +
>  drivers/i3c/device.c               |  262 ++++
>  drivers/i3c/i3c-uclass.c           |   38 +
>  drivers/i3c/internals.h            |   26 +
>  drivers/i3c/master.c               | 2070 ++++++++++++++++++++++++++++
>  drivers/i3c/master/Kconfig         |   11 +
>  drivers/i3c/master/Makefile        |    3 +
>  drivers/i3c/master/dw-i3c-master.c | 1062 ++++++++++++++
>  drivers/i3c/sandbox_i3c.c          |   56 +
>  include/dm/device.h                |    2 +
>  include/dm/uclass-id.h             |    1 +
>  include/dw-i3c.h                   |  252 ++++
>  include/i3c.h                      |   93 ++
>  include/linux/i3c/ccc.h            |  385 ++++++
>  include/linux/i3c/device.h         |  286 ++++
>  include/linux/i3c/master.h         |  698 ++++++++++
>  test/cmd/Makefile                  |    1 +
>  test/cmd/i3c.c                     |   50 +
>  test/dm/Makefile                   |    1 +
>  test/dm/i3c.c                      |   34 +
>  34 files changed, 5812 insertions(+)
>  create mode 100644 cmd/i3c.c
>  create mode 100644 doc/api/i3c.rst
>  create mode 100644 doc/usage/cmd/i3c.rst  create mode 100644
> drivers/i3c/Kconfig  create mode 100644 drivers/i3c/Makefile  create mode
> 100644 drivers/i3c/device.c  create mode 100644 drivers/i3c/i3c-uclass.c  create
> mode 100644 drivers/i3c/internals.h  create mode 100644 drivers/i3c/master.c
> create mode 100644 drivers/i3c/master/Kconfig  create mode 100644
> drivers/i3c/master/Makefile  create mode 100644 drivers/i3c/master/dw-i3c-
> master.c
>  create mode 100644 drivers/i3c/sandbox_i3c.c  create mode 100644
> include/dw-i3c.h  create mode 100644 include/i3c.h  create mode 100644
> include/linux/i3c/ccc.h  create mode 100644 include/linux/i3c/device.h  create
> mode 100644 include/linux/i3c/master.h  create mode 100644 test/cmd/i3c.c
> create mode 100644 test/dm/i3c.c
> 
> --
> 2.26.2

Hi,

I have reworked the commits based on the previous comments and suggestions.
Please help to review the commits.

Thanks for your time.

Dinesh


More information about the U-Boot mailing list