177 lines
4.2 KiB
YAML
177 lines
4.2 KiB
YAML
# 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,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";
|
|
};
|
|
|
|
...
|