i3c/master: introduce the mipi-i3c-hci driver
authorNicolas Pitre <npitre@baylibre.com>
Wed, 11 Nov 2020 22:05:10 +0000 (17:05 -0500)
committerBoris Brezillon <boris.brezillon@collabora.com>
Mon, 23 Nov 2020 09:22:18 +0000 (10:22 +0100)
commit9ad9a52cce2828d932ae9495181e3d6414f72c07
treede9c176d1ca2b90159a7f26755d3b507288a8b27
parentc307912d28cac3ca9c68af55e79c4061e5b1a54c
i3c/master: introduce the mipi-i3c-hci driver

This adds basic support for hardware implementing the MIPI I3C HCI
specification. This driver is currently limited by the capabilities
of the I3C subsystem, meaning things like scheduled commands,
auto-commands and NCM mode are not yet supported.

This supports version 1.0 of the MIPI I3C HCI spec, as well as the
imminent release of version 1.1. Support for draft version 2.0 of the
spec is also largely included with the caveat that future adjustments
to this code are likely as the spec is still a work in progress.

This is also lightly tested as actual hardware is still very scarce,
even for HCI v1.0. Hence the EXPERIMENTAL tag. Further contributions
to this driver are expected once vendor implementations and new I3C
devices become available.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/linux-i3c/20201111220510.3622216-3-nico@fluxnic.net
18 files changed:
drivers/i3c/master/Kconfig
drivers/i3c/master/Makefile
drivers/i3c/master/mipi-i3c-hci/Makefile [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/cmd.h [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/cmd_v1.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/cmd_v2.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/core.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/dat.h [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/dat_v1.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/dct.h [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/dct_v1.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/dma.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/ext_caps.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/ext_caps.h [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/hci.h [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/ibi.h [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/pio.c [new file with mode: 0644]
drivers/i3c/master/mipi-i3c-hci/xfer_mode_rate.h [new file with mode: 0644]