This series adds USB 3.0 support for the CAT874 platform, including a new driver for the TI HD3SS3220 USB Type-C DRP port controller. This patch series supports: 1) Host hotplug operation 2) Device hot plug operation 3) USB type-C data_role switch (Tested with 2 RZ/G2E boards connected with a Type-C cable) This patchset is based on linux_next next-20190423 branch. V4-->V5 * Incorporated Heikki's review comment. (https://patchwork.kernel.org/patch/10902531/) * Patch 1 is a dependency patch to make the compilation successful. (https://patchwork.kernel.org/patch/10909971/) * Patch 2 is also dependency patch to make the compilation successful. Rebased on top of Patch1 and fixed Heikki's review comments (https://patchwork.kernel.org/patch/10882555/) * Incorporated Shimoda-San's review comment. (https://patchwork.kernel.org/patch/10902535/) V3-->V4 * Incorporated Chunfeng Yun's review comment (https://patchwork.kernel.org/project/linux-usb/list/?submitter=133171) * Used fwnode API's to get roleswitch handle V2-->V3 * Used the new API to usb_role_switch by node to find the remote endpoint (https://patchwork.kernel.org/patch/10882555/) * Added renesas,usb-role-switch property * Incorporated shimoda-san's review comment (https://patchwork.kernel.org/patch/10852507/) V1-->V2 * Use USB role class instead of extcon to receive connect and disconnect events and also for the dual role switch. * Dropped patch 6 * Squashed patch 8 and patch 9 * https://patchwork.kernel.org/cover/10840641/ Biju Das (7): dt-bindings: usb: hd3ss3220 device tree binding document dt-bindings: usb: renesas_usb3: Add renesas,usb-role-switch property usb: typec: driver for TI HD3SS3220 USB Type-C DRP port controller usb: gadget: udc: renesas_usb3: Use usb_role_switch framework arm64: defconfig: enable TYPEC_HD3SS3220 config option arm64: dts: renesas: r8a774c0-cat874: Enable USB3.0 host/peripheral device node arm64: dts: renesas: r8a774c0-cat874: Enable usb role switch support Chunfeng Yun (1): usb: roles: add API to get usb_role_switch by node Yu Chen (1): usb: roles: Introduce stubs for the exiting functions in role.h. .../devicetree/bindings/usb/renesas_usb3.txt | 22 ++ .../devicetree/bindings/usb/ti,hd3ss3220.txt | 37 +++ arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts | 56 +++++ arch/arm64/configs/defconfig | 2 + drivers/usb/gadget/udc/renesas_usb3.c | 92 ++++++- drivers/usb/roles/class.c | 25 ++ drivers/usb/typec/Kconfig | 10 + drivers/usb/typec/Makefile | 1 + drivers/usb/typec/hd3ss3220.c | 263 +++++++++++++++++++++ include/linux/usb/role.h | 38 +++ 10 files changed, 539 insertions(+), 7 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/ti,hd3ss3220.txt create mode 100644 drivers/usb/typec/hd3ss3220.c -- 2.7.4