NOTE: This series requires the follow patch from Shimoda-san. [PATCH v2] usb: renesas_usbhs: Use specific struct instead of USBHS_TYPE_* enums For the most part, the RZ/A2 has the same USB 2.0 host and device HW as the R-Car Gen3, so we can reuse a lot of the code. However, there are a couple extra register bits, and the CFIFO register 8-bit access works a little different. There is a dedicated DMAC for the RZ/A2 USB Device HW, but we have not been able to reliably get that working yet, so device operation is pio only at the moment. On the RZ/A2M eval board, both USB channels can be used as either host or device. But, it's not set up for otg (ie, there are jumpers and separate connectors). Therefore, below is an example of what it would look like to enable USB channel 0 as a device instead of a host. &usb2_phy0 { pinctrl-names = "default"; pinctrl-0 = <&usb0_pins>; dr_mode = "peripheral"; status = "okay"; }; &usbhs0 { status = "okay"; }; Chris Brandt (15): ARM: dts: r7s9210: Add USB clock ARM: dts: rza2mevb: Add 48MHz USB clock phy: renesas: rcar-gen3-usb2: detect usb_x1 clock dt-bindings: rcar-gen3-phy-usb2: Document use of usb_x1 phy: renesas: rcar-gen3-usb2: Check dr_mode when not using OTG dt-bindings: rcar-gen3-phy-usb2: Document dr_mode dt-bindings: rcar-gen3-phy-usb2: Add r7s9210 support usb: renesas_usbhs: move flags to param usb: renesas_usbhs: add support for CNEN bit usb: renesas_usbhs: support byte addressable CFIFO usb: renesas_usbhs: Add support for RZ/A2 dt-bindings: usb: renesas_usbhs: Add support for r7s9210 ARM: dts: r7s9210: Add USB Host support ARM: dts: r7s9210: Add USB Device support ARM: dts: rza2mevb: Add USB host support .../devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 19 +++-- .../devicetree/bindings/usb/renesas_usbhs.txt | 2 + arch/arm/boot/dts/r7s9210-rza2mevb.dts | 42 ++++++++++ arch/arm/boot/dts/r7s9210.dtsi | 97 ++++++++++++++++++++++ drivers/phy/renesas/phy-rcar-gen3-usb2.c | 26 ++++++ drivers/usb/renesas_usbhs/Makefile | 2 +- drivers/usb/renesas_usbhs/common.c | 44 ++++++---- drivers/usb/renesas_usbhs/common.h | 3 +- drivers/usb/renesas_usbhs/fifo.c | 9 +- drivers/usb/renesas_usbhs/rza.h | 1 + drivers/usb/renesas_usbhs/rza2.c | 75 +++++++++++++++++ include/linux/usb/renesas_usbhs.h | 4 + 12 files changed, 298 insertions(+), 26 deletions(-) create mode 100644 drivers/usb/renesas_usbhs/rza2.c -- 2.16.1