# 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:
              - atmel,at91rm9200-ohci
              - cavium,octeon-6335-ohci
              - nintendo,hollywood-usb-ohci
              - nxp,ohci-nxp
              - st,spear600-ohci
          - const: usb-ohci

  reg:
    maxItems: 1

  dma-coherent: true

  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.

  atmel,vbus-gpio:
    description:
      GPIO used to control or sense the USB VBUS power. Each entry
      represents a VBUS-related GPIO; count and order may vary by hardware.
      Entries follow standard GPIO specifier format. A value of 0 indicates
      an unused or unavailable VBUS signal.
    minItems: 1
    maxItems: 3

  atmel,oc-gpio:
    description:
      GPIO used to signal USB overcurrent condition. Each entry represents
      an OC detection GPIO; count and order may vary by hardware. Entries
      follow standard GPIO specifier format. A value of 0 indicates an
      unused or unavailable OC signal.
    minItems: 1
    maxItems: 3

required:
  - compatible
  - reg
  - interrupts

allOf:
  - $ref: usb-hcd.yaml
  - if:
      properties:
        compatible:
          contains:
            const: atmel,at91rm9200-ohci
    then:
      properties:
        clock-names:
          items:
            - const: ohci_clk
            - const: hclk
            - const: uhpck

      required:
        - clocks
        - clock-names

    else:
      properties:
        atmel,vbus-gpio: false
        atmel,oc-gpio: false

  - 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";
      };

...
