Re: [PATCH v4 1/3] dt-bindings: usb: amd,versal2-mmi-dwc3: Add MMI USB support on Versal Gen2 platform

From: Rob Herring (Arm)

Date: Tue Oct 20 2026 - 14:18:44 EST



On Tue, 20 Oct 2026 16:56:33 +0530, Radhey Shyam Pandey wrote:
> The Versal Gen 2 platform includes two distinct USB controllers. The
> LPD controller is a USB 2.0 instance and reuses the existing
> xlnx,versal-dwc3 binding. The second is the Multimedia Integrated (MMI)
> USB 3.2 Gen 2x1 Dual-Role (DRD) controller, which natively supports USB
> 3.2 host and device operation over Type-C in a Gen 2x1 configuration
> with a maximum data rate of 10 Gbps per direction.
>
> Introduce a new compatible in <vendor>,<soc>-<subsystem>-<ip> format to
> uniquely distinguish the MMI USB controller.
>
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xxxxxxx>
> ---
> Changes for v4:
> - Switch to flat mode and rephrase commit description.
>
> Changes for v3:
> - Modify commit description to explain that there are two different
> USB controllers and difference between versal2-dwc3 and
> versal2-mmi-dwc3. Suggested by Krzysztof.
>
> Changes for v2:
> - Add blank line after compatible as suggested by Krzysztof.
> - Retain the mmi suffix in the compatible string, as this USB 3.2 Gen2
> IP from Synopsys is part of the dedicated Multimedia Interface. The
> Versal Gen2 platform also includes a separate USB 2.0 controller,
> and the mmi suffix uniquely distinguishes between the two USB
> controllers. MMI is an independent subsystem particularly targeted for
> deployment in Multi-Media related applications. The MMI block include
> following submodules: UDH: USB3.2 Gen 2x1 Dual Role Device, DisplayPort
> Transmit Controller, Security Module (ESM) for DisplayPort and HDMI
> Controllers, DP AUX-I2C PHY.
> - For MMI USB define parent address space i.e UDH block.
> - Fix inconsistent MHz spacing to use SI convention with spaces.
> - Move description before $ref and items in xlnx,usb-syscon property.
> - Restore original zynqmp-dwc3 example, add new versal2-mmi-dwc3 example.
> - Use 'usb' node name (without unit address) for versal2 example since
> it has no reg property.
> - Use 1/1 address/size configuration in versal2 example, use lowercase
> hex in syscon offsets.
> ---
> .../bindings/usb/amd,versal2-mmi-dwc3.yaml | 92 +++++++++++++++++++
> 1 file changed, 92 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/usb/amd,versal2-mmi-dwc3.yaml
>

Reviewed-by: Rob Herring (Arm) <robh@xxxxxxxxxx>