1# SPDX-License-Identifier: GPL-2.0-only 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas USB 3.0 Peripheral controller 8 9maintainers: 10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 11 12properties: 13 compatible: 14 oneOf: 15 - items: 16 - enum: 17 - renesas,r8a774a1-usb3-peri # RZ/G2M 18 - renesas,r8a774b1-usb3-peri # RZ/G2N 19 - renesas,r8a774c0-usb3-peri # RZ/G2E 20 - renesas,r8a774e1-usb3-peri # RZ/G2H 21 - renesas,r8a7795-usb3-peri # R-Car H3 22 - renesas,r8a7796-usb3-peri # R-Car M3-W 23 - renesas,r8a77961-usb3-peri # R-Car M3-W+ 24 - renesas,r8a77965-usb3-peri # R-Car M3-N 25 - renesas,r8a77990-usb3-peri # R-Car E3 26 - const: renesas,rcar-gen3-usb3-peri 27 28 - items: 29 - enum: 30 - renesas,r9a09g011-usb3-peri # RZ/V2M 31 - renesas,r9a09g055-usb3-peri # RZ/V2MA 32 - const: renesas,rzv2m-usb3-peri 33 34 reg: 35 maxItems: 1 36 37 interrupts: 38 maxItems: 1 39 40 clocks: 41 minItems: 1 42 items: 43 - description: Main clock 44 - description: Register access clock 45 46 clock-names: 47 minItems: 1 48 items: 49 - const: axi 50 - const: reg 51 52 phys: 53 maxItems: 1 54 55 phy-names: 56 const: usb 57 58 power-domains: 59 maxItems: 1 60 61 resets: 62 maxItems: 1 63 64 usb-role-switch: 65 $ref: /schemas/types.yaml#/definitions/flag 66 description: Support role switch. 67 68 companion: 69 $ref: /schemas/types.yaml#/definitions/phandle 70 description: phandle of a companion. 71 72 ports: 73 $ref: /schemas/graph.yaml#/properties/ports 74 description: | 75 any connector to the data bus of this controller should be modelled 76 using the OF graph bindings specified, if the "usb-role-switch" 77 property is used. 78 79 properties: 80 port@0: 81 $ref: /schemas/graph.yaml#/properties/port 82 description: High Speed (HS) data bus. 83 84 port@1: 85 $ref: /schemas/graph.yaml#/properties/port 86 description: Super Speed (SS) data bus. 87 88 required: 89 - port@0 90 - port@1 91 92required: 93 - compatible 94 - interrupts 95 - clocks 96 97allOf: 98 - if: 99 properties: 100 compatible: 101 contains: 102 enum: 103 - renesas,rzv2m-usb3-peri 104 then: 105 properties: 106 clocks: 107 minItems: 2 108 clock-names: 109 minItems: 2 110 required: 111 - clock-names 112 - resets 113 else: 114 properties: 115 clocks: 116 maxItems: 1 117 118additionalProperties: false 119 120examples: 121 - | 122 #include <dt-bindings/clock/r8a774c0-cpg-mssr.h> 123 #include <dt-bindings/interrupt-controller/arm-gic.h> 124 #include <dt-bindings/power/r8a774c0-sysc.h> 125 126 usb3_peri0: usb@ee020000 { 127 compatible = "renesas,r8a774c0-usb3-peri", "renesas,rcar-gen3-usb3-peri"; 128 reg = <0xee020000 0x400>; 129 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 130 clocks = <&cpg CPG_MOD 328>; 131 companion = <&xhci0>; 132 usb-role-switch; 133 134 ports { 135 #address-cells = <1>; 136 #size-cells = <0>; 137 port@0 { 138 reg = <0>; 139 usb3_hs_ep: endpoint { 140 remote-endpoint = <&hs_ep>; 141 }; 142 }; 143 port@1 { 144 reg = <1>; 145 usb3_role_switch: endpoint { 146 remote-endpoint = <&hd3ss3220_out_ep>; 147 }; 148 }; 149 }; 150 }; 151