18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/usb/generic-ehci.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: USB EHCI Controller Device Tree Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciallOf:
138c2ecf20Sopenharmony_ci  - $ref: "usb-hcd.yaml"
148c2ecf20Sopenharmony_ci  - if:
158c2ecf20Sopenharmony_ci      properties:
168c2ecf20Sopenharmony_ci        compatible:
178c2ecf20Sopenharmony_ci          not:
188c2ecf20Sopenharmony_ci            contains:
198c2ecf20Sopenharmony_ci              const: ibm,usb-ehci-440epx
208c2ecf20Sopenharmony_ci    then:
218c2ecf20Sopenharmony_ci      properties:
228c2ecf20Sopenharmony_ci        reg:
238c2ecf20Sopenharmony_ci          maxItems: 1
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciproperties:
268c2ecf20Sopenharmony_ci  compatible:
278c2ecf20Sopenharmony_ci    contains:
288c2ecf20Sopenharmony_ci      const: generic-ehci
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  reg:
318c2ecf20Sopenharmony_ci    minItems: 1
328c2ecf20Sopenharmony_ci    maxItems: 2
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  interrupts:
358c2ecf20Sopenharmony_ci    maxItems: 1
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  resets:
388c2ecf20Sopenharmony_ci    minItems: 1
398c2ecf20Sopenharmony_ci    maxItems: 4
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  clocks:
428c2ecf20Sopenharmony_ci    minItems: 1
438c2ecf20Sopenharmony_ci    maxItems: 4
448c2ecf20Sopenharmony_ci    description: |
458c2ecf20Sopenharmony_ci      In case the Renesas R-Car Gen3 SoCs:
468c2ecf20Sopenharmony_ci        - if a host only channel: first clock should be host.
478c2ecf20Sopenharmony_ci        - if a USB DRD channel: first clock should be host and second
488c2ecf20Sopenharmony_ci          one should be peripheral
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  power-domains:
518c2ecf20Sopenharmony_ci    maxItems: 1
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci  big-endian:
548c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
558c2ecf20Sopenharmony_ci    description:
568c2ecf20Sopenharmony_ci      Set this flag for HCDs with big endian descriptors and big
578c2ecf20Sopenharmony_ci      endian registers.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci  big-endian-desc:
608c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
618c2ecf20Sopenharmony_ci    description:
628c2ecf20Sopenharmony_ci      Set this flag for HCDs with big endian descriptors.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  big-endian-regs:
658c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
668c2ecf20Sopenharmony_ci    description:
678c2ecf20Sopenharmony_ci      Set this flag for HCDs with big endian registers.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci  has-transaction-translator:
708c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
718c2ecf20Sopenharmony_ci    description:
728c2ecf20Sopenharmony_ci      Set this flag if EHCI has a Transaction Translator built into
738c2ecf20Sopenharmony_ci      the root hub.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci  needs-reset-on-resume:
768c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
778c2ecf20Sopenharmony_ci    description:
788c2ecf20Sopenharmony_ci      Set this flag to force EHCI reset after resume.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci  companion:
818c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
828c2ecf20Sopenharmony_ci    description:
838c2ecf20Sopenharmony_ci      Phandle of a companion.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci  phys:
868c2ecf20Sopenharmony_ci    description: PHY specifier for the USB PHY
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci  phy-names:
898c2ecf20Sopenharmony_ci    const: usb
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci  iommus:
928c2ecf20Sopenharmony_ci    maxItems: 1
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_cirequired:
958c2ecf20Sopenharmony_ci  - compatible
968c2ecf20Sopenharmony_ci  - reg
978c2ecf20Sopenharmony_ci  - interrupts
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciadditionalProperties: false
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciexamples:
1028c2ecf20Sopenharmony_ci  - |
1038c2ecf20Sopenharmony_ci    usb@e0000300 {
1048c2ecf20Sopenharmony_ci        compatible = "ibm,usb-ehci-440epx", "generic-ehci";
1058c2ecf20Sopenharmony_ci        interrupt-parent = <&UIC0>;
1068c2ecf20Sopenharmony_ci        interrupts = <0x1a 4>;
1078c2ecf20Sopenharmony_ci        reg = <0xe0000300 90>, <0xe0000390 70>;
1088c2ecf20Sopenharmony_ci        big-endian;
1098c2ecf20Sopenharmony_ci    };
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci  - |
1128c2ecf20Sopenharmony_ci    ehci0: usb@1c14000 {
1138c2ecf20Sopenharmony_ci        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
1148c2ecf20Sopenharmony_ci        reg = <0x01c14000 0x100>;
1158c2ecf20Sopenharmony_ci        interrupts = <39>;
1168c2ecf20Sopenharmony_ci        clocks = <&ahb_gates 1>;
1178c2ecf20Sopenharmony_ci        phys = <&usbphy 1>;
1188c2ecf20Sopenharmony_ci        phy-names = "usb";
1198c2ecf20Sopenharmony_ci    };
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci...
122