This is some gradual improvements to the FOTG210 dual-mode USB host/gadget driver. - Create stricter device tree bindings fixing some mistakes. We have at least FOTG200 and FOTG210 out there. A third variant named FUSB220 is probably related but has a separate driver in the vendor code trees. - Start to break out common code for remapping of memory and clock handling to begin with, move this to the core file. - Check that the block is in the right role before proceeding, don't abort registration but print a warning if it's not. - Assing some default speed and the OF node when the UDC starts. This is based on the similar pattern in the DW controllers. - Implement a proper VBUS session handler calling down to the hardware VBUS control handler in the Gemini variant. This makes everything work on my hardware. To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> To: Rob Herring <robh+dt@xxxxxxxxxx> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Fabian Vogt <fabian@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> --- Changes in v2: - Changed a single word in the description heading on the DT bindings - Link to v1: https://lore.kernel.org/r/20230103-gemini-fotg210-usb-v1-0-f2670cb4a492@xxxxxxxxxx --- Linus Walleij (7): dt-bindings: usb: Correct and extend FOTG210 schema usb: fotg210: List different variants usb: fotg210: Acquire memory resource in core usb: fotg210: Move clock handling to core usb: fotg210: Check role register in core usb: fotg210-udc: Assign of_node and speed on start usb: fotg210-udc: Implement VBUS session .../devicetree/bindings/usb/faraday,fotg210.yaml | 7 +- drivers/usb/fotg210/fotg210-core.c | 81 +++++++++++++++++++--- drivers/usb/fotg210/fotg210-hcd.c | 48 ++----------- drivers/usb/fotg210/fotg210-hcd.h | 1 + drivers/usb/fotg210/fotg210-udc.c | 68 ++++++++---------- drivers/usb/fotg210/fotg210-udc.h | 2 +- drivers/usb/fotg210/fotg210.h | 27 ++++++-- 7 files changed, 136 insertions(+), 98 deletions(-) --- base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2 change-id: 20230103-gemini-fotg210-usb-95a76798706a Best regards, -- Linus Walleij <linus.walleij@xxxxxxxxxx>