[PATCH v3 0/6] Add STUSB160x Type-C port controller support

From: Amelie Delaunay
Date: Thu Sep 24 2020 - 05:01:37 EST


This series adds support for STMicroelectronics STUSB160x Type-C port
controllers [1].
STUSB160x driver requires to get power operation mode via device tree,
that's why this series also adds the optional DT property power-opmode
for usb-c-connector to select the power operation mode capability and
a function to convert the power operation mode string into power
operation mode value.
This driver has been tested on stm32mp157c-dk2 [2], which has a Type-C
connector managed by STUSB1600, and connected to USB OTG controller.

[1] https://www.st.com/en/interfaces-and-transceivers/usb-type-c-and-power-delivery-controllers.html
[2] https://www.st.com/en/evaluation-tools/stm32mp157c-dk2.html

Amelie Delaunay (6):
dt-bindings: connector: add power-opmode optional property to
usb-connector
usb: typec: add typec_find_pwr_opmode
dt-bindings: usb: Add DT bindings for STUSB160x Type-C controller
usb: typec: add support for STUSB160x Type-C controller family
ARM: dts: stm32: add STUSB1600 Type-C using I2C4 on stm32mp15xx-dkx
ARM: multi_v7_defconfig: enable STUSB160X Type-C port controller
support
---
Changes in v3:
- usb_power_delivery string removed from power-opmode possible values as
in case of power delivery support, source-pdos property can be used
Changes in v2:
- power-opmode DT property description updated.
---
.../bindings/connector/usb-connector.yaml | 18 +
.../devicetree/bindings/usb/st,stusb160x.yaml | 85 ++
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 7 +
arch/arm/boot/dts/stm32mp15xx-dkx.dtsi | 38 +
arch/arm/configs/multi_v7_defconfig | 2 +
drivers/usb/typec/Kconfig | 12 +
drivers/usb/typec/Makefile | 1 +
drivers/usb/typec/class.c | 15 +
drivers/usb/typec/stusb160x.c | 875 ++++++++++++++++++
include/linux/usb/typec.h | 1 +
10 files changed, 1054 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/st,stusb160x.yaml
create mode 100644 drivers/usb/typec/stusb160x.c

--
2.17.1