| # 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,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 |
| - snps,hsdk-v1.0-ehci |
| - socionext,uniphier-ehci |
| - const: generic-ehci |
| - items: |
| - enum: |
| - 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 |
| - 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"; |
| }; |
| |
| ... |