dt-bindings: usb: Convert the generic EHCI binding to YAML
The generic EHCI binding is used by many controllers that are using the EHCI spec. Convert that binding to a YAML description to enable the validation on all the nodes using that binding. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Acked-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c93bcace10
commit
c3e2485d5f
|
@ -0,0 +1,95 @@
|
|||
# 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 Device Tree Bindings
|
||||
|
||||
allOf:
|
||||
- $ref: "usb-hcd.yaml"
|
||||
|
||||
maintainers:
|
||||
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: generic-ehci
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
phys: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
ehci@e0000300 {
|
||||
compatible = "ibm,usb-ehci-440epx", "generic-ehci";
|
||||
interrupt-parent = <&UIC0>;
|
||||
interrupts = <0x1a 4>;
|
||||
reg = <0 0xe0000300 90 0 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";
|
||||
};
|
||||
|
||||
...
|
|
@ -1,46 +0,0 @@
|
|||
USB EHCI controllers
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "generic-ehci".
|
||||
- reg : should contain at least address and length of the standard EHCI
|
||||
register set for the device. Optional platform-dependent registers
|
||||
(debug-port or other) can be also specified here, but only after
|
||||
definition of standard EHCI registers.
|
||||
- interrupts : one EHCI interrupt should be described here.
|
||||
|
||||
Optional properties:
|
||||
- big-endian-regs : boolean, set this for hcds with big-endian registers
|
||||
- big-endian-desc : boolean, set this for hcds with big-endian descriptors
|
||||
- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
|
||||
- needs-reset-on-resume : boolean, set this to force EHCI reset after resume
|
||||
- has-transaction-translator : boolean, set this if EHCI have a Transaction
|
||||
Translator built into the root hub.
|
||||
- clocks : a list of phandle + clock specifier pairs. In case of 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.
|
||||
- phys : see usb-hcd.txt in the current directory
|
||||
- resets : phandle + reset specifier pair
|
||||
|
||||
additionally the properties from usb-hcd.txt (in the current directory) are
|
||||
supported.
|
||||
|
||||
Example (Sequoia 440EPx):
|
||||
ehci@e0000300 {
|
||||
compatible = "ibm,usb-ehci-440epx", "usb-ehci";
|
||||
interrupt-parent = <&UIC0>;
|
||||
interrupts = <1a 4>;
|
||||
reg = <0 e0000300 90 0 e0000390 70>;
|
||||
big-endian;
|
||||
};
|
||||
|
||||
Example (Allwinner sun4i A10 SoC):
|
||||
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";
|
||||
};
|
Loading…
Reference in New Issue