Message ID | 20250513101913.30880-1-dinesh.maniyam@altera.com |
---|---|
Headers | show |
Series | Add Synopsys MIPI I3C Driver support | expand |
> -----Original Message----- > From: Maniyam, Dinesh <dinesh.maniyam@altera.com> > Sent: Tuesday, 13 May 2025 6:19 pm > To: u-boot@lists.denx.de > Cc: Marek <marex@denx.de>; Simon <simon.k.r.goldschmidt@gmail.com>; > Simon Glass <sjg@chromium.org>; Tom Rini <trini@konsulko.com>; Dario > Binacchi <dario.binacchi@amarulasolutions.com>; Ilias Apalodimas > <ilias.apalodimas@linaro.org>; Heinrich Schuchardt <xypron.glpk@gmx.de>; > Jerome Forissier <jerome.forissier@linaro.org>; Mattijs Korpershoek > <mkorpershoek@baylibre.com>; Ibai Erkiaga <ibai.erkiaga-elorza@amd.com>; > Michal Simek <michal.simek@amd.com>; Dmitry Rokosov > <ddrokosov@salutedevices.com>; Jonas Karlman <jonas@kwiboo.se>; Sebastian > Reichel <sebastian.reichel@collabora.com>; Meng, Tingting > <tingting.meng@altera.com>; Chee, Tien Fong <tien.fong.chee@altera.com>; > Hea, Kok Kiang <kok.kiang.hea@altera.com>; Maniyam, Dinesh > <dinesh.maniyam@altera.com>; Ng, Boon Khai <boon.khai.ng@altera.com>; > Yuslaimi, Alif Zakuan <alif.zakuan.yuslaimi@altera.com>; Zamri, Muhammad > Hazim Izzat <muhammad.hazim.izzat.zamri@altera.com>; Lim, Jit Loon > <jit.loon.lim@altera.com> > Subject: [PATCH v5 00/12] Add Synopsys MIPI I3C Driver support > > From: Dinesh Maniyam <dinesh.maniyam@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@intel.com/ > [v2]: > https://patchwork.ozlabs.org/project/uboot/cover/20250314040902.43621-1- > dinesh.maniyam@altera.com/ > [v3]: > https://patchwork.ozlabs.org/project/uboot/cover/20250324083704.26259-1- > dinesh.maniyam@altera.com/ > [v4]: https://patchwork.ozlabs.org/project/uboot/cover/20250417021840.6212- > 1-dinesh.maniyam@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
From: Dinesh Maniyam <dinesh.maniyam@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@intel.com/ [v2]: https://patchwork.ozlabs.org/project/uboot/cover/20250314040902.43621-1-dinesh.maniyam@altera.com/ [v3]: https://patchwork.ozlabs.org/project/uboot/cover/20250324083704.26259-1-dinesh.maniyam@altera.com/ [v4]: https://patchwork.ozlabs.org/project/uboot/cover/20250417021840.6212-1-dinesh.maniyam@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