# SPDX-License-Identifier: GPL-2.0-only %YAML 1.2 --- $id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Renesas USB 3.0 Peripheral controller maintainers: - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> properties: compatible: oneOf: - items: - enum: - renesas,r8a774a1-usb3-peri # RZ/G2M - renesas,r8a774b1-usb3-peri # RZ/G2N - renesas,r8a774c0-usb3-peri # RZ/G2E - renesas,r8a774e1-usb3-peri # RZ/G2H - renesas,r8a7795-usb3-peri # R-Car H3 - renesas,r8a7796-usb3-peri # R-Car M3-W - renesas,r8a77961-usb3-peri # R-Car M3-W+ - renesas,r8a77965-usb3-peri # R-Car M3-N - renesas,r8a77990-usb3-peri # R-Car E3 - const: renesas,rcar-gen3-usb3-peri - items: - enum: - renesas,r9a09g011-usb3-peri # RZ/V2M - renesas,r9a09g055-usb3-peri # RZ/V2MA - const: renesas,rzv2m-usb3-peri reg: maxItems: 1 interrupts: maxItems: 1 clocks: minItems: 1 items: - description: Main clock - description: Register access clock clock-names: minItems: 1 items: - const: axi - const: reg phys: maxItems: 1 phy-names: const: usb power-domains: maxItems: 1 resets: maxItems: 1 usb-role-switch: $ref: /schemas/types.yaml#/definitions/flag description: Support role switch. companion: $ref: /schemas/types.yaml#/definitions/phandle description: phandle of a companion. ports: $ref: /schemas/graph.yaml#/properties/ports description: | any connector to the data bus of this controller should be modelled using the OF graph bindings specified, if the "usb-role-switch" property is used. properties: port@0: $ref: /schemas/graph.yaml#/properties/port description: High Speed (HS) data bus. port@1: $ref: /schemas/graph.yaml#/properties/port description: Super Speed (SS) data bus. required: - port@0 - port@1 required: - compatible - interrupts - clocks allOf: - if: properties: compatible: contains: enum: - renesas,rzv2m-usb3-peri then: properties: clocks: minItems: 2 clock-names: minItems: 2 required: - clock-names - resets else: properties: clocks: maxItems: 1 additionalProperties: false examples: - | #include <dt-bindings/clock/r8a774c0-cpg-mssr.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/power/r8a774c0-sysc.h> usb3_peri0: usb@ee020000 { compatible = "renesas,r8a774c0-usb3-peri", "renesas,rcar-gen3-usb3-peri"; reg = <0xee020000 0x400>; interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cpg CPG_MOD 328>; companion = <&xhci0>; usb-role-switch; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; usb3_hs_ep: endpoint { remote-endpoint = <&hs_ep>; }; }; port@1 { reg = <1>; usb3_role_switch: endpoint { remote-endpoint = <&hd3ss3220_out_ep>; }; }; }; };