1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/renesas,rzv2m-usb3drd.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas RZ/V2M USB 3.1 DRD controller 8 9maintainers: 10 - Biju Das <biju.das.jz@bp.renesas.com> 11 12description: | 13 The RZ/V2{M, MA} USB3.1 DRD module supports the following functions 14 * Role swapping function by the ID pin of the Micro-AB receptacle 15 * Battery Charging Specification Revision 1.2 16 17properties: 18 compatible: 19 items: 20 - enum: 21 - renesas,r9a09g011-usb3drd # RZ/V2M 22 - renesas,r9a09g055-usb3drd # RZ/V2MA 23 - const: renesas,rzv2m-usb3drd 24 25 reg: 26 maxItems: 1 27 28 interrupts: 29 items: 30 - description: Dual Role Device (DRD) 31 - description: Battery Charging 32 - description: Global Purpose Input 33 34 interrupt-names: 35 items: 36 - const: drd 37 - const: bc 38 - const: gpi 39 40 clocks: 41 items: 42 - description: Peripheral AXI clock 43 - description: APB clock 44 45 clock-names: 46 items: 47 - const: axi 48 - const: reg 49 50 power-domains: 51 maxItems: 1 52 53 resets: 54 maxItems: 1 55 56 ranges: true 57 58 '#address-cells': 59 enum: [ 1, 2 ] 60 61 '#size-cells': 62 enum: [ 1, 2 ] 63 64patternProperties: 65 "^usb3peri@[0-9a-f]+$": 66 type: object 67 $ref: /schemas/usb/renesas,usb3-peri.yaml 68 69 "^usb@[0-9a-f]+$": 70 type: object 71 $ref: renesas,usb-xhci.yaml# 72 73required: 74 - compatible 75 - reg 76 - interrupts 77 - interrupt-names 78 - clocks 79 - clock-names 80 - power-domains 81 - resets 82 83additionalProperties: false 84 85examples: 86 - | 87 #include <dt-bindings/clock/r9a09g011-cpg.h> 88 #include <dt-bindings/interrupt-controller/arm-gic.h> 89 90 usb3drd: usb@85070400 { 91 compatible = "renesas,r9a09g011-usb3drd", "renesas,rzv2m-usb3drd"; 92 reg = <0x85070400 0x100>; 93 interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>, 94 <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>, 95 <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>; 96 interrupt-names = "drd", "bc", "gpi"; 97 clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>, 98 <&cpg CPG_MOD R9A09G011_USB_PCLK>; 99 clock-names = "axi", "reg"; 100 power-domains = <&cpg>; 101 resets = <&cpg R9A09G011_USB_DRD_RESET>; 102 ranges; 103 #address-cells = <1>; 104 #size-cells = <1>; 105 106 usb3host: usb@85060000 { 107 compatible = "renesas,r9a09g011-xhci", 108 "renesas,rzv2m-xhci"; 109 reg = <0x85060000 0x2000>; 110 interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>; 111 clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_H>, 112 <&cpg CPG_MOD R9A09G011_USB_PCLK>; 113 clock-names = "axi", "reg"; 114 power-domains = <&cpg>; 115 resets = <&cpg R9A09G011_USB_ARESETN_H>; 116 }; 117 118 usb3peri: usb3peri@85070000 { 119 compatible = "renesas,r9a09g011-usb3-peri", 120 "renesas,rzv2m-usb3-peri"; 121 reg = <0x85070000 0x400>; 122 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>; 123 clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>, 124 <&cpg CPG_MOD R9A09G011_USB_PCLK>; 125 clock-names = "axi", "reg"; 126 power-domains = <&cpg>; 127 resets = <&cpg R9A09G011_USB_ARESETN_P>; 128 }; 129 }; 130