# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/usb/generic-ehci.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: USB EHCI Controller maintainers: - Greg Kroah-Hartman <gregkh@linuxfoundation.org> allOf: - $ref: usb-hcd.yaml - if: properties: compatible: not: contains: const: ibm,usb-ehci-440epx then: properties: reg: maxItems: 1 properties: compatible: oneOf: - items: - enum: - allwinner,sun4i-a10-ehci - allwinner,sun50i-a64-ehci - allwinner,sun50i-h6-ehci - allwinner,sun50i-h616-ehci - allwinner,sun5i-a13-ehci - allwinner,sun6i-a31-ehci - allwinner,sun7i-a20-ehci - allwinner,sun8i-a23-ehci - allwinner,sun8i-a83t-ehci - allwinner,sun8i-h3-ehci - allwinner,sun8i-r40-ehci - allwinner,sun8i-v3s-ehci - allwinner,sun9i-a80-ehci - allwinner,sun20i-d1-ehci - aspeed,ast2400-ehci - aspeed,ast2500-ehci - aspeed,ast2600-ehci - brcm,bcm3384-ehci - brcm,bcm63268-ehci - brcm,bcm6328-ehci - brcm,bcm6358-ehci - brcm,bcm6362-ehci - brcm,bcm6368-ehci - brcm,bcm7125-ehci - brcm,bcm7346-ehci - brcm,bcm7358-ehci - brcm,bcm7360-ehci - brcm,bcm7362-ehci - brcm,bcm7420-ehci - brcm,bcm7425-ehci - brcm,bcm7435-ehci - hpe,gxp-ehci - ibm,476gtr-ehci - nxp,lpc1850-ehci - qca,ar7100-ehci - rockchip,rk3588-ehci - snps,hsdk-v1.0-ehci - socionext,uniphier-ehci - const: generic-ehci - items: - enum: - atmel,at91sam9g45-ehci - cavium,octeon-6335-ehci - ibm,usb-ehci-440epx - ibm,usb-ehci-460ex - nintendo,hollywood-usb-ehci - st,spear600-ehci - const: usb-ehci - enum: - generic-ehci - marvell,armada-3700-ehci - marvell,orion-ehci - nuvoton,npcm750-ehci - nuvoton,npcm845-ehci - ti,ehci-omap - usb-ehci reg: minItems: 1 maxItems: 2 interrupts: maxItems: 1 resets: minItems: 1 maxItems: 4 clocks: minItems: 1 maxItems: 4 description: | In case the Renesas R-Car Gen3 SoCs: - if a host only channel: first clock should be host. - if a USB DRD channel: first clock should be host and second one should be peripheral power-domains: maxItems: 1 big-endian: $ref: /schemas/types.yaml#/definitions/flag description: Set this flag for HCDs with big endian descriptors and big endian registers. big-endian-desc: $ref: /schemas/types.yaml#/definitions/flag description: Set this flag for HCDs with big endian descriptors. big-endian-regs: $ref: /schemas/types.yaml#/definitions/flag description: Set this flag for HCDs with big endian registers. has-transaction-translator: $ref: /schemas/types.yaml#/definitions/flag description: Set this flag if EHCI has a Transaction Translator built into the root hub. needs-reset-on-resume: $ref: /schemas/types.yaml#/definitions/flag description: Set this flag to force EHCI reset after resume. spurious-oc: $ref: /schemas/types.yaml#/definitions/flag description: Set this flag to indicate that the hardware sometimes turns on the OC bit when an over-current isn't actually present. phys: minItems: 1 maxItems: 3 phy-names: const: usb iommus: maxItems: 1 dr_mode: enum: - host - otg required: - compatible - reg - interrupts unevaluatedProperties: false examples: - | usb@e0000300 { compatible = "ibm,usb-ehci-440epx", "usb-ehci"; interrupt-parent = <&UIC0>; interrupts = <0x1a 4>; reg = <0xe0000300 90>, <0xe0000390 70>; big-endian; }; - | ehci0: usb@1c14000 { compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; reg = <0x01c14000 0x100>; interrupts = <39>; clocks = <&ahb_gates 1>; phys = <&usbphy 1>; phy-names = "usb"; }; ...