[PATCH] dt-bindings: usb: Add Socionext Uniphier DWC3 controller
Kunihiko Hayashi
hayashi.kunihiko at socionext.com
Mon Dec 15 17:20:54 PST 2025
Hi Rob,
On 2025/12/16 6:25, Rob Herring (Arm) wrote:
> The Socionext Uniphier DWC3 controller binding is already in use, but
> undocumented. It's a straight-forward binding similar to other DWC3
> bindings.
After being pointed out by Krzysztof at OSSJapan, I've checked the bindings
and was preparing some additions or fixes to resolve the warning.
It's almost the same as my proposal, however, I add a little.
>
> Signed-off-by: Rob Herring (Arm) <robh at kernel.org>
> ---
> .../bindings/usb/socionext,uniphier-dwc3.yaml | 89 +++++++++++++++++++
> 1 file changed, 89 insertions(+)
> create mode 100644
> Documentation/devicetree/bindings/usb/socionext,uniphier-dwc3.yaml
>
> diff --git
> a/Documentation/devicetree/bindings/usb/socionext,uniphier-dwc3.yaml
> b/Documentation/devicetree/bindings/usb/socionext,uniphier-dwc3.yaml
> new file mode 100644
> index 000000000000..892ae3458c1b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/socionext,uniphier-dwc3.yaml
> @@ -0,0 +1,89 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/socionext,uniphier-dwc3.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Socionext Uniphier SuperSpeed DWC3 USB SoC controller
> +
> +maintainers:
> + - Kunihiko Hayashi <hayashi.kunihiko at socionext.com>
> + - Masami Hiramatsu <mhiramat at kernel.org>
> +
> +select:
> + properties:
> + compatible:
> + contains:
> + const: socionext,uniphier-dwc3
> + required:
> + - compatible
> +
> +properties:
> + compatible:
> + items:
> + - const: socionext,uniphier-dwc3
> + - const: snps,dwc3
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + minItems: 1
> + items:
> + - description: Host or single combined interrupt
> + - description: Peripheral interrupt
> +
> + interrupt-names:
> + minItems: 1
> + items:
> + - enum:
> + - dwc_usb3
> + - host
> + - const: peripheral
There's no problem, but how about the following description
following snps,dwc3.yaml?
interrupt-names:
oneOf:
- const: dwc_usb3
- items:
enum: [host, peripheral]
> +
> + clocks:
> + maxItems: 3
> +
> + clock-names:
> + items:
> + - const: ref
> + - const: bus_early
> + - const: suspend
> +
> + phys:
> + description: 1 to 4 HighSpeed PHYs followed by 1 or 2 SuperSpeed PHYs
> + minItems: 2
> + maxItems: 6
Since Pro4 only has one PHY, so:
minItems: 1
> +
> + resets:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> + - phys
> +
> +unevaluatedProperties: false
> +
> +allOf:
> + - $ref: snps,dwc3.yaml#
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + usb at 65a00000 {
> + compatible = "socionext,uniphier-dwc3", "snps,dwc3";
> + reg = <0x65a00000 0xcd00>;
> + interrupt-names = "dwc_usb3";
> + interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
> + clock-names = "ref", "bus_early", "suspend";
> + clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>;
> + resets = <&usb0_rst 15>;
> + phys = <&usb0_hsphy0>, <&usb0_hsphy1>,
> + <&usb0_ssphy0>, <&usb0_ssphy1>;
> + dr_mode = "host";
> + };
Thank you,
--
---
Best Regards
Kunihiko Hayashi
More information about the linux-arm-kernel
mailing list