1# SPDX-License-Identifier: GPL-2.0-only 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/renesas,usbhs.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas USBHS (HS-USB) controller 8 9maintainers: 10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 11 12properties: 13 compatible: 14 oneOf: 15 - items: 16 - const: renesas,usbhs-r7s72100 # RZ/A1 17 - const: renesas,rza1-usbhs 18 19 - items: 20 - enum: 21 - renesas,usbhs-r7s9210 # RZ/A2 22 - renesas,usbhs-r9a07g043 # RZ/G2UL 23 - renesas,usbhs-r9a07g044 # RZ/G2{L,LC} 24 - renesas,usbhs-r9a07g054 # RZ/V2L 25 - const: renesas,rza2-usbhs 26 27 - items: 28 - enum: 29 - renesas,usbhs-r8a7742 # RZ/G1H 30 - renesas,usbhs-r8a7743 # RZ/G1M 31 - renesas,usbhs-r8a7744 # RZ/G1N 32 - renesas,usbhs-r8a7745 # RZ/G1E 33 - renesas,usbhs-r8a77470 # RZ/G1C 34 - renesas,usbhs-r8a7790 # R-Car H2 35 - renesas,usbhs-r8a7791 # R-Car M2-W 36 - renesas,usbhs-r8a7792 # R-Car V2H 37 - renesas,usbhs-r8a7793 # R-Car M2-N 38 - renesas,usbhs-r8a7794 # R-Car E2 39 - const: renesas,rcar-gen2-usbhs 40 41 - items: 42 - enum: 43 - renesas,usbhs-r8a774a1 # RZ/G2M 44 - renesas,usbhs-r8a774b1 # RZ/G2N 45 - renesas,usbhs-r8a774c0 # RZ/G2E 46 - renesas,usbhs-r8a774e1 # RZ/G2H 47 - renesas,usbhs-r8a7795 # R-Car H3 48 - renesas,usbhs-r8a7796 # R-Car M3-W 49 - renesas,usbhs-r8a77961 # R-Car M3-W+ 50 - renesas,usbhs-r8a77965 # R-Car M3-N 51 - renesas,usbhs-r8a77990 # R-Car E3 52 - renesas,usbhs-r8a77995 # R-Car D3 53 - const: renesas,rcar-gen3-usbhs 54 55 reg: 56 maxItems: 1 57 58 clocks: 59 minItems: 1 60 items: 61 - description: USB 2.0 host 62 - description: USB 2.0 peripheral 63 - description: USB 2.0 clock selector 64 65 interrupts: 66 minItems: 1 67 maxItems: 4 68 69 renesas,buswait: 70 $ref: /schemas/types.yaml#/definitions/uint32 71 description: | 72 Integer to use BUSWAIT register. 73 74 renesas,enable-gpio: 75 maxItems: 1 76 description: | 77 gpio specifier to check GPIO determining if USB function should be 78 enabled. 79 80 phys: 81 maxItems: 1 82 83 phy-names: 84 items: 85 - const: usb 86 87 dmas: 88 minItems: 2 89 maxItems: 4 90 91 dma-names: 92 minItems: 2 93 items: 94 - const: ch0 95 - const: ch1 96 - const: ch2 97 - const: ch3 98 99 dr_mode: true 100 101 power-domains: 102 maxItems: 1 103 104 resets: 105 minItems: 1 106 items: 107 - description: USB 2.0 host 108 - description: USB 2.0 peripheral 109 110required: 111 - compatible 112 - reg 113 - clocks 114 - interrupts 115 116allOf: 117 - if: 118 properties: 119 compatible: 120 contains: 121 enum: 122 - renesas,usbhs-r9a07g043 123 - renesas,usbhs-r9a07g044 124 - renesas,usbhs-r9a07g054 125 then: 126 properties: 127 interrupts: 128 items: 129 - description: U2P_IXL_INT 130 - description: U2P_INT_DMA[0] 131 - description: U2P_INT_DMA[1] 132 - description: U2P_INT_DMAERR 133 required: 134 - resets 135 else: 136 properties: 137 interrupts: 138 maxItems: 1 139 140additionalProperties: false 141 142examples: 143 - | 144 #include <dt-bindings/clock/r8a7790-cpg-mssr.h> 145 #include <dt-bindings/interrupt-controller/arm-gic.h> 146 #include <dt-bindings/power/r8a7790-sysc.h> 147 148 usbhs: usb@e6590000 { 149 compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs"; 150 reg = <0xe6590000 0x100>; 151 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 152 clocks = <&cpg CPG_MOD 704>; 153 }; 154