Hi, This series add support for the Renesas USBF controller (USB Device Controller) available in the Renesas RZ/N1 SoC. The first three patches are related to the H2MODE bit from CFG_USB register. This register is managed by the Renesas sysctrl driver. The H2MODE bit allows to configure the internal USB Port interface for two hosts or one host and one device. The next patches are related to the USBF controller with a new binding definition, the driver itself and myself as a maintainer of this controller. Best regards, Herve Codina Changes v1 -> v2: - Patch 1: Rename r9a06g032_sysctrl_get_usb_h2mode to r9a06g032_sysctrl_get_usb_role and return USB_ROLE_{HOST,DEVICE} or an error code. Reword commit log - Patches 2 and 3: No changes. Some previous feedbacks still need to be taken into account https://lore.kernel.org/all/20221107182642.05a09f2f@xxxxxxxxxxx/ https://lore.kernel.org/all/20221107173614.474707d7@xxxxxxxxxxx/ - Patch 4: Rename file from renesas,usbf.yaml to renesas,rzn1-usbf.yaml. Remove 'oneOf'. Add blank line and line break. Add 'power-domains'. Reword commit log - Patch 5: Remove clocks handling (handled by runtime PM through the clock domain pointed by power-domains). Fix compilation warning raised by the 'kernel test robot'. - Patch 6: Add 'power-domains' - Patch 7: Add 'Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>' Herve Codina (7): soc: renesas: r9a06g032-sysctrl: Export function to get the usb role dt-bindings: clock: renesas,r9a06g032-sysctrl: Add h2mode property soc: renesas: r9a06g032-sysctrl: Handle h2mode device-tree property dt-bindings: usb: add the Renesas RZ/N1 USBF controller binding usb: gadget: udc: add Renesas RZ/N1 USBF controller support ARM: dts: r9a06g032: Add the USBF controller node MAINTAINERS: add the Renesas RZ/N1 USBF controller entry .../clock/renesas,r9a06g032-sysctrl.yaml | 10 + .../bindings/usb/renesas,rzn1-usbf.yaml | 68 + MAINTAINERS | 8 + arch/arm/boot/dts/r9a06g032.dtsi | 12 + drivers/clk/renesas/r9a06g032-clocks.c | 39 + drivers/usb/gadget/udc/Kconfig | 11 + drivers/usb/gadget/udc/Makefile | 1 + drivers/usb/gadget/udc/renesas_usbf.c | 3430 +++++++++++++++++ include/linux/soc/renesas/r9a06g032-sysctrl.h | 2 + 9 files changed, 3581 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/renesas,rzn1-usbf.yaml create mode 100644 drivers/usb/gadget/udc/renesas_usbf.c -- 2.38.1