On Mon, 20 Feb 2023, Ye Xiang wrote: > This patch implements the USB part of Intel USB-I2C/GPIO/SPI adapter > device named "La Jolla Cove Adapter" (LJCA). The "USB part" should live in drivers/usb. You can use MFD to register each of the components, but all of the USB functionality needs moving somewhere else. > The communication between the various LJCA module drivers and the > hardware will be muxed/demuxed by this driver. The sub-module of > LJCA can use ljca_transfer() to issue a transfer between host > and hardware. > > Each sub-module of LJCA device is identified by type field within > the LJCA message header. > > The minimum code in ASL that covers this board is > Scope (\_SB.PCI0.DWC3.RHUB.HS01) > { > Device (GPIO) > { > Name (_ADR, Zero) > Name (_STA, 0x0F) > } > > Device (I2C) > { > Name (_ADR, One) > Name (_STA, 0x0F) > } > > Device (SPI) > { > Name (_ADR, 0x02) > Name (_STA, 0x0F) > } > } > > Signed-off-by: Ye Xiang <xiang.ye@xxxxxxxxx> > --- > drivers/mfd/Kconfig | 13 + > drivers/mfd/Makefile | 1 + > drivers/mfd/ljca.c | 977 +++++++++++++++++++++++++++++++++++++++ > include/linux/mfd/ljca.h | 95 ++++ > 4 files changed, 1086 insertions(+) > create mode 100644 drivers/mfd/ljca.c > create mode 100644 include/linux/mfd/ljca.h -- Lee Jones [李琼斯]