Commit acd6199f authored by Wentong Wu's avatar Wentong Wu Committed by Greg Kroah-Hartman
Browse files

usb: Add support for Intel LJCA device



Implements the USB part of Intel USB-I2C/GPIO/SPI adapter device
named "La Jolla Cove Adapter" (LJCA).

The communication between the various LJCA module drivers and the
hardware will be muxed/demuxed by this driver. Three modules (
I2C, GPIO, and SPI) are supported currently.

Each sub-module of LJCA device is identified by type field within
the LJCA message header.

The sub-modules of LJCA can use ljca_transfer() to issue a transfer
between host and hardware. And ljca_register_event_cb is exported
to LJCA sub-module drivers for hardware event subscription.

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: default avatarWentong Wu <wentong.wu@intel.com>
Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Tested-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarOliver Neukum <oneukum@suse.com>
Link: https://lore.kernel.org/r/1696833205-16716-2-git-send-email-wentong.wu@intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent efa33cd8
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -165,6 +165,19 @@ config APPLE_MFI_FASTCHARGE

	  It is safe to say M here.

config USB_LJCA
	tristate "Intel La Jolla Cove Adapter support"
	select AUXILIARY_BUS
	depends on USB && ACPI
	help
	  This adds support for Intel La Jolla Cove USB-I2C/SPI/GPIO
	  Master Adapter (LJCA). Additional drivers such as I2C_LJCA,
	  GPIO_LJCA and SPI_LJCA must be enabled in order to use the
	  functionality of the device.

	  This driver can also be built as a module. If so, the module
	  will be called usb-ljca.

source "drivers/usb/misc/sisusbvga/Kconfig"

config USB_LD
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ obj-$(CONFIG_USB_EMI26) += emi26.o
obj-$(CONFIG_USB_EMI62)			+= emi62.o
obj-$(CONFIG_USB_EZUSB_FX2)		+= ezusb.o
obj-$(CONFIG_APPLE_MFI_FASTCHARGE)	+= apple-mfi-fastcharge.o
obj-$(CONFIG_USB_LJCA)			+= usb-ljca.o
obj-$(CONFIG_USB_IDMOUSE)		+= idmouse.o
obj-$(CONFIG_USB_IOWARRIOR)		+= iowarrior.o
obj-$(CONFIG_USB_ISIGHTFW)		+= isight_firmware.o
+902 −0

File added.

Preview size limit exceeded, changes collapsed.

+145 −0

File added.

Preview size limit exceeded, changes collapsed.