1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/renesas,usb2-phy.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas R-Car generation 3 USB 2.0 PHY 8 9maintainers: 10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 11 12properties: 13 compatible: 14 oneOf: 15 - items: 16 - enum: 17 - renesas,usb2-phy-r8a77470 # RZ/G1C 18 - renesas,usb2-phy-r9a08g045 # RZ/G3S 19 - renesas,usb2-phy-r9a08g046 # RZ/G3L 20 - renesas,usb2-phy-r9a09g057 # RZ/V2H(P) 21 22 - items: 23 - enum: 24 - renesas,usb2-phy-r7s9210 # RZ/A2 25 - renesas,usb2-phy-r8a774a1 # RZ/G2M 26 - renesas,usb2-phy-r8a774b1 # RZ/G2N 27 - renesas,usb2-phy-r8a774c0 # RZ/G2E 28 - renesas,usb2-phy-r8a774e1 # RZ/G2H 29 - renesas,usb2-phy-r8a7795 # R-Car H3 30 - renesas,usb2-phy-r8a7796 # R-Car M3-W 31 - renesas,usb2-phy-r8a77961 # R-Car M3-W+ 32 - renesas,usb2-phy-r8a77965 # R-Car M3-N 33 - renesas,usb2-phy-r8a77990 # R-Car E3 34 - renesas,usb2-phy-r8a77995 # R-Car D3 35 - const: renesas,rcar-gen3-usb2-phy 36 37 - items: 38 - enum: 39 - renesas,usb2-phy-r9a07g043 # RZ/G2UL 40 - renesas,usb2-phy-r9a07g044 # RZ/G2{L,LC} 41 - renesas,usb2-phy-r9a07g054 # RZ/V2L 42 - const: renesas,rzg2l-usb2-phy 43 44 - items: 45 - enum: 46 - renesas,usb2-phy-r9a09g047 # RZ/G3E 47 - renesas,usb2-phy-r9a09g056 # RZ/V2N 48 - const: renesas,usb2-phy-r9a09g057 49 50 - const: renesas,usb2-phy-r9a09g077 # RZ/T2H 51 52 - items: 53 - const: renesas,usb2-phy-r9a09g087 # RZ/N2H 54 - const: renesas,usb2-phy-r9a09g077 55 56 reg: 57 maxItems: 1 58 59 clocks: 60 minItems: 1 61 maxItems: 2 62 63 clock-names: 64 minItems: 1 65 items: 66 - const: fck 67 - const: usb_x1 68 69 '#phy-cells': 70 enum: [0, 1] # and 0 is deprecated. 71 description: | 72 The phandle's argument in the PHY specifier is the INT_STATUS bit of 73 controller. 74 - 1 = USBH_INTA (OHCI) 75 - 2 = USBH_INTB (EHCI) 76 - 3 = UCOM_INT (OTG and BC) 77 78 interrupts: 79 maxItems: 1 80 81 power-domains: 82 maxItems: 1 83 84 resets: 85 minItems: 1 86 items: 87 - description: reset of USB 2.0 host side 88 - description: reset of USB 2.0 peripheral side 89 90 vbus-supply: 91 description: | 92 Phandle to a regulator that provides power to the VBUS. This regulator 93 will be managed during the PHY power on/off sequence. 94 95 vbus-regulator: 96 $ref: /schemas/regulator/regulator.yaml# 97 description: USB VBUS internal regulator 98 type: object 99 unevaluatedProperties: false 100 101 renesas,no-otg-pins: 102 $ref: /schemas/types.yaml#/definitions/flag 103 description: | 104 specify when a board does not provide proper otg pins. 105 106 dr_mode: true 107 108 mux-states: 109 description: 110 phandle to a mux controller node that select the source for USB VBUS. 111 maxItems: 1 112 113if: 114 properties: 115 compatible: 116 contains: 117 const: renesas,usb2-phy-r7s9210 118then: 119 required: 120 - clock-names 121 122required: 123 - compatible 124 - reg 125 - clocks 126 - '#phy-cells' 127 128allOf: 129 - if: 130 properties: 131 compatible: 132 contains: 133 enum: 134 - renesas,usb2-phy-r9a09g057 135 - renesas,usb2-phy-r9a08g045 136 - renesas,usb2-phy-r9a08g046 137 - renesas,rzg2l-usb2-phy 138 then: 139 properties: 140 clocks: 141 minItems: 2 142 required: 143 - resets 144 145 - if: 146 properties: 147 compatible: 148 contains: 149 const: renesas,usb2-phy-r9a09g077 150 then: 151 properties: 152 clocks: 153 minItems: 2 154 resets: false 155 156additionalProperties: false 157 158examples: 159 - | 160 #include <dt-bindings/clock/r8a7795-cpg-mssr.h> 161 #include <dt-bindings/interrupt-controller/arm-gic.h> 162 #include <dt-bindings/power/r8a7795-sysc.h> 163 164 usb-phy@ee080200 { 165 compatible = "renesas,usb2-phy-r8a7795", "renesas,rcar-gen3-usb2-phy"; 166 reg = <0xee080200 0x700>; 167 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 168 clocks = <&cpg CPG_MOD 703>; 169 #phy-cells = <1>; 170 }; 171 172 usb-phy@ee0a0200 { 173 compatible = "renesas,usb2-phy-r8a7795", "renesas,rcar-gen3-usb2-phy"; 174 reg = <0xee0a0200 0x700>; 175 clocks = <&cpg CPG_MOD 702>; 176 #phy-cells = <1>; 177 }; 178