mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-20 14:27:36 +07:00
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
95
Documentation/devicetree/bindings/usb/generic-ehci.yaml
Normal file
95
Documentation/devicetree/bindings/usb/generic-ehci.yaml
Normal file
@ -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
Block a user