i3c: master: Add driver for AMD AXI I3C master controller

Add an I3C master driver and maintainers fragment for the AMD I3C bus
controller.

The driver currently supports the I3C bus operating in SDR mode,
with features including Dynamic Address Assignment, private data
transfers, and CCC transfers in both broadcast and direct modes. It
also supports operation in I2C mode.

The controller's data FIFOs are accessed big-endian; the driver performs
this conversion locally using ioread32be()/iowrite32be() with the
helpers, so it does not depend on any core FIFO-endianness helpers.

Signed-off-by: Manikanta Guntupalli <manikanta.guntupalli@amd.com>
Co-developed-by: Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
Co-developed-by: Shubham Patil <shubhamsanjay.patil@amd.com>
Signed-off-by: Shubham Patil <shubhamsanjay.patil@amd.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260709064233.1451482-3-shubhamsanjay.patil@amd.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
Manikanta Guntupalli 2026-07-09 12:12:33 +05:30 committed by Alexandre Belloni
parent 9ddb4d3581
commit 629a6ddd1d
4 changed files with 1148 additions and 0 deletions

View File

@ -1044,6 +1044,14 @@ L: linux-sound@vger.kernel.org
S: Supported
F: sound/soc/amd/
AMD AXI I3C MASTER DRIVER
M: Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
M: Shubham Patil <shubhamsanjay.patil@amd.com>
L: linux-i3c@lists.infradead.org
S: Maintained
F: Documentation/devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml
F: drivers/i3c/master/amd-i3c-master.c
AMD AXI W1 DRIVER
M: Kris Chaplin <kris.chaplin@amd.com>
R: Thomas Delev <thomas.delev@amd.com>

View File

@ -86,3 +86,18 @@ config RENESAS_I3C
This driver can also be built as a module. If so, the module will be
called renesas-i3c.
config AMD_AXI_I3C_MASTER
tristate "AMD AXI I3C Master driver"
depends on HAS_IOMEM
help
Support for the AMD AXI I3C master controller, a soft IP used on
AMD (Xilinx) FPGAs and adaptive SoCs with ARM or MicroBlaze
processors.
The controller currently supports Standard Data Rate (SDR) mode.
Features include Dynamic Address Assignment, private transfers,
and CCC transfers in both broadcast and direct modes.
This driver can also be built as a module. If so, the module
will be called amd-i3c-master.

View File

@ -6,3 +6,4 @@ obj-$(CONFIG_AST2600_I3C_MASTER) += ast2600-i3c-master.o
obj-$(CONFIG_SVC_I3C_MASTER) += svc-i3c-master.o
obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci/
obj-$(CONFIG_RENESAS_I3C) += renesas-i3c.o
obj-$(CONFIG_AMD_AXI_I3C_MASTER) += amd-i3c-master.o

File diff suppressed because it is too large Load Diff