1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Renesas USB 3.0 Peripheral controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotproperties: 13c66ec88fSEmmanuel Vadot compatible: 147ef62cebSEmmanuel Vadot oneOf: 157ef62cebSEmmanuel Vadot - items: 16c66ec88fSEmmanuel Vadot - enum: 17c66ec88fSEmmanuel Vadot - renesas,r8a774a1-usb3-peri # RZ/G2M 18c66ec88fSEmmanuel Vadot - renesas,r8a774b1-usb3-peri # RZ/G2N 19c66ec88fSEmmanuel Vadot - renesas,r8a774c0-usb3-peri # RZ/G2E 206be33864SEmmanuel Vadot - renesas,r8a774e1-usb3-peri # RZ/G2H 21c66ec88fSEmmanuel Vadot - renesas,r8a7795-usb3-peri # R-Car H3 22c66ec88fSEmmanuel Vadot - renesas,r8a7796-usb3-peri # R-Car M3-W 23c66ec88fSEmmanuel Vadot - renesas,r8a77961-usb3-peri # R-Car M3-W+ 24c66ec88fSEmmanuel Vadot - renesas,r8a77965-usb3-peri # R-Car M3-N 25c66ec88fSEmmanuel Vadot - renesas,r8a77990-usb3-peri # R-Car E3 26c66ec88fSEmmanuel Vadot - const: renesas,rcar-gen3-usb3-peri 27c66ec88fSEmmanuel Vadot 287ef62cebSEmmanuel Vadot - items: 297ef62cebSEmmanuel Vadot - enum: 307ef62cebSEmmanuel Vadot - renesas,r9a09g011-usb3-peri # RZ/V2M 31*cb7aa33aSEmmanuel Vadot - renesas,r9a09g055-usb3-peri # RZ/V2MA 327ef62cebSEmmanuel Vadot - const: renesas,rzv2m-usb3-peri 337ef62cebSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot reg: 35c66ec88fSEmmanuel Vadot maxItems: 1 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot interrupts: 38*cb7aa33aSEmmanuel Vadot maxItems: 1 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot clocks: 417ef62cebSEmmanuel Vadot minItems: 1 427ef62cebSEmmanuel Vadot items: 437ef62cebSEmmanuel Vadot - description: Main clock 447ef62cebSEmmanuel Vadot - description: Register access clock 457ef62cebSEmmanuel Vadot 467ef62cebSEmmanuel Vadot clock-names: 477ef62cebSEmmanuel Vadot minItems: 1 487ef62cebSEmmanuel Vadot items: 49*cb7aa33aSEmmanuel Vadot - const: axi 507ef62cebSEmmanuel Vadot - const: reg 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot phys: 53c66ec88fSEmmanuel Vadot maxItems: 1 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot phy-names: 56c66ec88fSEmmanuel Vadot const: usb 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot power-domains: 59c66ec88fSEmmanuel Vadot maxItems: 1 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot resets: 62*cb7aa33aSEmmanuel Vadot maxItems: 1 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot usb-role-switch: 65c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 66c66ec88fSEmmanuel Vadot description: Support role switch. 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot companion: 69c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 70c66ec88fSEmmanuel Vadot description: phandle of a companion. 71c66ec88fSEmmanuel Vadot 726be33864SEmmanuel Vadot ports: 735def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 74c66ec88fSEmmanuel Vadot description: | 75c66ec88fSEmmanuel Vadot any connector to the data bus of this controller should be modelled 76c66ec88fSEmmanuel Vadot using the OF graph bindings specified, if the "usb-role-switch" 77c66ec88fSEmmanuel Vadot property is used. 785def4c47SEmmanuel Vadot 796be33864SEmmanuel Vadot properties: 806be33864SEmmanuel Vadot port@0: 815def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 826be33864SEmmanuel Vadot description: High Speed (HS) data bus. 836be33864SEmmanuel Vadot 846be33864SEmmanuel Vadot port@1: 855def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 866be33864SEmmanuel Vadot description: Super Speed (SS) data bus. 876be33864SEmmanuel Vadot 886be33864SEmmanuel Vadot required: 896be33864SEmmanuel Vadot - port@0 906be33864SEmmanuel Vadot - port@1 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadotrequired: 93c66ec88fSEmmanuel Vadot - compatible 94c66ec88fSEmmanuel Vadot - interrupts 95c66ec88fSEmmanuel Vadot - clocks 96c66ec88fSEmmanuel Vadot 977ef62cebSEmmanuel VadotallOf: 987ef62cebSEmmanuel Vadot - if: 997ef62cebSEmmanuel Vadot properties: 1007ef62cebSEmmanuel Vadot compatible: 1017ef62cebSEmmanuel Vadot contains: 1027ef62cebSEmmanuel Vadot enum: 1037ef62cebSEmmanuel Vadot - renesas,rzv2m-usb3-peri 1047ef62cebSEmmanuel Vadot then: 1057ef62cebSEmmanuel Vadot properties: 1067ef62cebSEmmanuel Vadot clocks: 1077ef62cebSEmmanuel Vadot minItems: 2 1087ef62cebSEmmanuel Vadot clock-names: 1097ef62cebSEmmanuel Vadot minItems: 2 1107ef62cebSEmmanuel Vadot required: 1117ef62cebSEmmanuel Vadot - clock-names 1127ef62cebSEmmanuel Vadot - resets 1137ef62cebSEmmanuel Vadot else: 1147ef62cebSEmmanuel Vadot properties: 1157ef62cebSEmmanuel Vadot clocks: 1167ef62cebSEmmanuel Vadot maxItems: 1 1177ef62cebSEmmanuel Vadot 118c66ec88fSEmmanuel VadotadditionalProperties: false 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadotexamples: 121c66ec88fSEmmanuel Vadot - | 122c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/r8a774c0-cpg-mssr.h> 123c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 124c66ec88fSEmmanuel Vadot #include <dt-bindings/power/r8a774c0-sysc.h> 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot usb3_peri0: usb@ee020000 { 127c66ec88fSEmmanuel Vadot compatible = "renesas,r8a774c0-usb3-peri", "renesas,rcar-gen3-usb3-peri"; 128c66ec88fSEmmanuel Vadot reg = <0xee020000 0x400>; 129c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 130c66ec88fSEmmanuel Vadot clocks = <&cpg CPG_MOD 328>; 131c66ec88fSEmmanuel Vadot companion = <&xhci0>; 132c66ec88fSEmmanuel Vadot usb-role-switch; 133c66ec88fSEmmanuel Vadot 1346be33864SEmmanuel Vadot ports { 1356be33864SEmmanuel Vadot #address-cells = <1>; 1366be33864SEmmanuel Vadot #size-cells = <0>; 1376be33864SEmmanuel Vadot port@0 { 1386be33864SEmmanuel Vadot reg = <0>; 1396be33864SEmmanuel Vadot usb3_hs_ep: endpoint { 1406be33864SEmmanuel Vadot remote-endpoint = <&hs_ep>; 1416be33864SEmmanuel Vadot }; 1426be33864SEmmanuel Vadot }; 1436be33864SEmmanuel Vadot port@1 { 1446be33864SEmmanuel Vadot reg = <1>; 145c66ec88fSEmmanuel Vadot usb3_role_switch: endpoint { 1466be33864SEmmanuel Vadot remote-endpoint = <&hd3ss3220_out_ep>; 1476be33864SEmmanuel Vadot }; 148c66ec88fSEmmanuel Vadot }; 149c66ec88fSEmmanuel Vadot }; 150c66ec88fSEmmanuel Vadot }; 151