# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/generic-ohci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: USB OHCI Controller

maintainers:
  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - allwinner,sun4i-a10-ohci
              - allwinner,sun50i-a100-ohci
              - allwinner,sun50i-a64-ohci
              - allwinner,sun50i-h6-ohci
              - allwinner,sun50i-h616-ohci
              - allwinner,sun55i-a523-ohci
              - allwinner,sun5i-a13-ohci
              - allwinner,sun6i-a31-ohci
              - allwinner,sun7i-a20-ohci
              - allwinner,sun8i-a23-ohci
              - allwinner,sun8i-a83t-ohci
              - allwinner,sun8i-h3-ohci
              - allwinner,sun8i-r40-ohci
              - allwinner,sun8i-v3s-ohci
              - allwinner,sun9i-a80-ohci
              - allwinner,sun20i-d1-ohci
              - brcm,bcm3384-ohci
              - brcm,bcm63268-ohci
              - brcm,bcm6328-ohci
              - brcm,bcm6358-ohci
              - brcm,bcm6362-ohci
              - brcm,bcm6368-ohci
              - brcm,bcm7125-ohci
              - brcm,bcm7346-ohci
              - brcm,bcm7358-ohci
              - brcm,bcm7360-ohci
              - brcm,bcm7362-ohci
              - brcm,bcm7420-ohci
              - brcm,bcm7425-ohci
              - brcm,bcm7435-ohci
              - hpe,gxp-ohci
              - ibm,476gtr-ohci
              - ingenic,jz4740-ohci
              - rockchip,rk3588-ohci
              - snps,hsdk-v1.0-ohci
          - const: generic-ohci
      - enum:
          - generic-ohci
          - ti,ohci-omap3
      - items:
          - enum:
              - cavium,octeon-6335-ohci
              - nintendo,hollywood-usb-ohci
              - nxp,ohci-nxp
              - st,spear600-ohci
          - const: usb-ohci

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  resets:
    minItems: 1
    maxItems: 2

  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.

  remote-wakeup-connected:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Remote wakeup is wired on the platform.

  no-big-frame-no:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Set if frame_no lives in bits [15:0] of HCCA

  num-ports:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Overrides the detected port count

  phys:
    minItems: 1
    maxItems: 3

  phy-names:
    const: usb

  iommus:
    maxItems: 1

  dr_mode:
    enum:
      - host
      - otg

  transceiver:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      The associated ISP1301 device. Necessary for the UDC controller for
      connecting to the USB physical layer.

required:
  - compatible
  - reg
  - interrupts

allOf:
  - $ref: usb-hcd.yaml
  - if:
      not:
        properties:
          compatible:
            contains:
              const: nxp,ohci-nxp
    then:
      properties:
        transceiver: false
  - if:
      properties:
        compatible:
          contains:
            const: rockchip,rk3588-ohci
    then:
      properties:
        clocks:
          minItems: 4
    else:
      properties:
        clocks:
          minItems: 1
          maxItems: 3

unevaluatedProperties: false

examples:
  - |
      ohci0: usb@1c14400 {
          compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
          reg = <0x01c14400 0x100>;
          interrupts = <64>;
          clocks = <&usb_clk 6>, <&ahb_gates 2>;
          phys = <&usbphy 1>;
          phy-names = "usb";
      };

...
