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