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