1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/generic-ehci.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: USB EHCI Controller 8 9maintainers: 10 - Greg Kroah-Hartman <gregkh@linuxfoundation.org> 11 12properties: 13 compatible: 14 oneOf: 15 - items: 16 - enum: 17 - allwinner,sun4i-a10-ehci 18 - allwinner,sun50i-a100-ehci 19 - allwinner,sun50i-a64-ehci 20 - allwinner,sun50i-h6-ehci 21 - allwinner,sun50i-h616-ehci 22 - allwinner,sun55i-a523-ehci 23 - allwinner,sun5i-a13-ehci 24 - allwinner,sun6i-a31-ehci 25 - allwinner,sun7i-a20-ehci 26 - allwinner,sun8i-a23-ehci 27 - allwinner,sun8i-a83t-ehci 28 - allwinner,sun8i-h3-ehci 29 - allwinner,sun8i-r40-ehci 30 - allwinner,sun8i-v3s-ehci 31 - allwinner,sun9i-a80-ehci 32 - allwinner,sun20i-d1-ehci 33 - aspeed,ast2400-ehci 34 - aspeed,ast2500-ehci 35 - aspeed,ast2600-ehci 36 - aspeed,ast2700-ehci 37 - brcm,bcm3384-ehci 38 - brcm,bcm63268-ehci 39 - brcm,bcm6328-ehci 40 - brcm,bcm6358-ehci 41 - brcm,bcm6362-ehci 42 - brcm,bcm6368-ehci 43 - brcm,bcm7125-ehci 44 - brcm,bcm7346-ehci 45 - brcm,bcm7358-ehci 46 - brcm,bcm7360-ehci 47 - brcm,bcm7362-ehci 48 - brcm,bcm7420-ehci 49 - brcm,bcm7425-ehci 50 - brcm,bcm7435-ehci 51 - hpe,gxp-ehci 52 - ibm,476gtr-ehci 53 - nxp,lpc1850-ehci 54 - qca,ar7100-ehci 55 - rockchip,rk3588-ehci 56 - snps,hsdk-v1.0-ehci 57 - socionext,uniphier-ehci 58 - const: generic-ehci 59 - items: 60 - enum: 61 - atmel,at91sam9g45-ehci 62 - cavium,octeon-6335-ehci 63 - ibm,usb-ehci-440epx 64 - ibm,usb-ehci-460ex 65 - nintendo,hollywood-usb-ehci 66 - st,spear600-ehci 67 - const: usb-ehci 68 - enum: 69 - generic-ehci 70 - marvell,ac5-ehci 71 - marvell,armada-3700-ehci 72 - marvell,orion-ehci 73 - nuvoton,npcm750-ehci 74 - nuvoton,npcm845-ehci 75 - ti,ehci-omap 76 - usb-ehci 77 - via,vt8500-ehci 78 79 reg: 80 minItems: 1 81 maxItems: 2 82 83 dma-coherent: true 84 85 interrupts: 86 maxItems: 1 87 88 resets: 89 minItems: 1 90 maxItems: 4 91 92 clocks: 93 minItems: 1 94 maxItems: 4 95 description: | 96 In case the Renesas R-Car Gen3 SoCs: 97 - if a host only channel: first clock should be host. 98 - if a USB DRD channel: first clock should be host and second 99 one should be peripheral 100 101 power-domains: 102 maxItems: 1 103 104 big-endian: 105 $ref: /schemas/types.yaml#/definitions/flag 106 description: 107 Set this flag for HCDs with big endian descriptors and big 108 endian registers. 109 110 big-endian-desc: 111 $ref: /schemas/types.yaml#/definitions/flag 112 description: 113 Set this flag for HCDs with big endian descriptors. 114 115 big-endian-regs: 116 $ref: /schemas/types.yaml#/definitions/flag 117 description: 118 Set this flag for HCDs with big endian registers. 119 120 has-transaction-translator: 121 $ref: /schemas/types.yaml#/definitions/flag 122 description: 123 Set this flag if EHCI has a Transaction Translator built into 124 the root hub. 125 126 needs-reset-on-resume: 127 $ref: /schemas/types.yaml#/definitions/flag 128 description: 129 Set this flag to force EHCI reset after resume. 130 131 spurious-oc: 132 $ref: /schemas/types.yaml#/definitions/flag 133 description: 134 Set this flag to indicate that the hardware sometimes turns on 135 the OC bit when an over-current isn't actually present. 136 137 phys: 138 minItems: 1 139 maxItems: 3 140 141 phy-names: 142 const: usb 143 144 iommus: 145 maxItems: 1 146 147 dr_mode: 148 enum: 149 - host 150 - otg 151 152required: 153 - compatible 154 - reg 155 - interrupts 156 157allOf: 158 - $ref: usb-hcd.yaml 159 - if: 160 properties: 161 compatible: 162 not: 163 contains: 164 const: ibm,usb-ehci-440epx 165 then: 166 properties: 167 reg: 168 maxItems: 1 169 - if: 170 properties: 171 compatible: 172 contains: 173 const: atmel,at91sam9g45-ehci 174 then: 175 properties: 176 clock-names: 177 items: 178 - const: usb_clk 179 - const: ehci_clk 180 181 phy_type: 182 enum: 183 - utmi 184 - hsic 185 186 required: 187 - clocks 188 - clock-names 189 190unevaluatedProperties: false 191 192examples: 193 - | 194 usb@e0000300 { 195 compatible = "ibm,usb-ehci-440epx", "usb-ehci"; 196 interrupt-parent = <&UIC0>; 197 interrupts = <0x1a 4>; 198 reg = <0xe0000300 90>, <0xe0000390 70>; 199 big-endian; 200 }; 201 202 - | 203 ehci0: usb@1c14000 { 204 compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; 205 reg = <0x01c14000 0x100>; 206 interrupts = <39>; 207 clocks = <&ahb_gates 1>; 208 phys = <&usbphy 1>; 209 phy-names = "usb"; 210 }; 211 212... 213