mbox series

[v14,0/2] Add support for USB Type-C interface on latest NVIDIA GPU

Message ID 20181025223353.19339-1-ajayg@nvidia.com
Headers show
Series Add support for USB Type-C interface on latest NVIDIA GPU | expand

Message

Ajay Gupta Oct. 25, 2018, 10:33 p.m. UTC
From: Ajay Gupta <ajayg@nvidia.com>

Hi Heikki and Wolfram,

These two changes add support for USB Type-C interface on latest NVIDIA GPU card.
The Type-C controller used is Cypress CCGx and is over I2C interface.

I2C host controller has known limitation of sending STOP after every read. Since
each read can be of 4 byte maximum length so there is a limit of 4 byte read.
This is mentioned in adapter quirks as "max_read_len = 4"

I2C host controller is mainly used for "write-then-read" or "write" messages so added
the flag I2C_AQ_COMB_WRITE_THEN_READ in adapter quirks.

PATCH[2/2] on ucsi driver now have added logic to check i2c adapter quirks and
issues i2c read transfer based on max_read_len quirk settings. This will make sure
the read limitation is not affecting I2C host which do not have such limitation.

I think the patches should through usb tree because the main functionality is
usb Type-C.

Thanks
Ajay

Ajay Gupta (2):
  i2c: buses: add i2c bus driver for NVIDIA GPU
  usb: typec: ucsi: add support for Cypress CCGx

 Documentation/i2c/busses/i2c-nvidia-gpu |  18 ++
 MAINTAINERS                             |   7 +
 drivers/i2c/busses/Kconfig              |   9 +
 drivers/i2c/busses/Makefile             |   1 +
 drivers/i2c/busses/i2c-nvidia-gpu.c     | 368 ++++++++++++++++++++++++
 drivers/usb/typec/ucsi/Kconfig          |  10 +
 drivers/usb/typec/ucsi/Makefile         |   2 +
 drivers/usb/typec/ucsi/ucsi_ccg.c       | 307 ++++++++++++++++++++
 8 files changed, 722 insertions(+)
 create mode 100644 Documentation/i2c/busses/i2c-nvidia-gpu
 create mode 100644 drivers/i2c/busses/i2c-nvidia-gpu.c
 create mode 100644 drivers/usb/typec/ucsi/ucsi_ccg.c