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