Skip to content

Commit

Permalink
usb: typec: Driver for Cypress CCG USB Power Delivery Controllers
Browse files Browse the repository at this point in the history
This is preliminary driver for CCG PD controllers that shows
the status of the ports and partners attached to them, but
does not support any operations. So role swapping, data nor
power, is not possible. Alternate modes are not yet
supported, and cables and cable plugs are also not
registered.

The driver also does not support firmware upgrade at this
stage.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
  • Loading branch information
Heikki Krogerus authored and krispan-intel committed Dec 15, 2020
1 parent 841fca5 commit 64b3d75
Show file tree
Hide file tree
Showing 5 changed files with 538 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/usb/typec/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ menuconfig TYPEC

if TYPEC

source "drivers/usb/typec/ccg/Kconfig"

source "drivers/usb/typec/tcpm/Kconfig"

source "drivers/usb/typec/ucsi/Kconfig"
Expand Down
1 change: 1 addition & 0 deletions drivers/usb/typec/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ obj-$(CONFIG_TYPEC) += typec.o
typec-y := class.o mux.o bus.o
obj-$(CONFIG_TYPEC) += altmodes/
obj-$(CONFIG_TYPEC_TCPM) += tcpm/
obj-$(CONFIG_TYPEC_CCG_HPI) += ccg/
obj-$(CONFIG_TYPEC_UCSI) += ucsi/
obj-$(CONFIG_TYPEC_HD3SS3220) += hd3ss3220.o
obj-$(CONFIG_TYPEC_TPS6598X) += tps6598x.o
Expand Down
13 changes: 13 additions & 0 deletions drivers/usb/typec/ccg/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# SPDX-License-Identifier: GPL-2.0

config TYPEC_CCG_HPI
tristate "Cypress CCG Host Processor Interface"
depends on I2C
select REGMAP_I2C
help
This driver adds support for Cypress CCG1, CCG2, CCG3, CCG4, CCG5 and
CCG6 USB Power Delivery controllers. The primary interface with
Cypress CCGx USB PD controllers is called HPI (Host Processor
Interface). Later generations (CCG4, CCG5 and CCG6) also support UCSI,
but Cypress CCGx UCSI support is handled in its own driver ucsi_ccg.c.

2 changes: 2 additions & 0 deletions drivers/usb/typec/ccg/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_TYPEC_CCG_HPI) += hpi.o

0 comments on commit 64b3d75

Please sign in to comment.