# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/ci-hdrc-usb2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: USB2 ChipIdea USB controller

maintainers:
  - Xu Yang <xu.yang_2@nxp.com>
  - Peng Fan <peng.fan@nxp.com>

properties:
  compatible:
    oneOf:
      - enum:
          - chipidea,usb2
          - lsi,zevio-usb
          - nuvoton,npcm750-udc
          - nvidia,tegra20-ehci
          - nvidia,tegra20-udc
          - nvidia,tegra30-ehci
          - nvidia,tegra30-udc
          - nvidia,tegra114-udc
          - nvidia,tegra124-udc
          - nxp,s32g2-usb
          - qcom,ci-hdrc
      - items:
          - enum:
              - nvidia,tegra114-ehci
              - nvidia,tegra124-ehci
              - nvidia,tegra210-ehci
          - const: nvidia,tegra30-ehci
      - items:
          - const: xlnx,zynq-usb-2.20a
          - const: chipidea,usb2
      - items:
          - enum:
              - nuvoton,npcm845-udc
          - const: nuvoton,npcm750-udc
      - items:
          - enum:
              - nxp,s32g3-usb
          - const: nxp,s32g2-usb

  clocks:
    minItems: 1
    maxItems: 2

  clock-names:
    minItems: 1
    maxItems: 2

  operating-points-v2:
    description: A phandle to the OPP table containing the performance states.
    $ref: /schemas/types.yaml#/definitions/phandle

  phy-select:
    description:
      Phandler of TCSR node with two argument that indicate register
      offset, and phy index
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - description: phandle to TCSR node
      - description: register offset
      - description: phy index

  nvidia,phy:
    description: phandle of usb phy that connects to the port. Use "phys" instead.
    $ref: /schemas/types.yaml#/definitions/phandle
    deprecated: true

  nvidia,needs-double-reset:
    description: Indicates double reset or not.
    type: boolean
    deprecated: true

  ulpi:
    type: object
    additionalProperties: false
    patternProperties:
      "^phy(-[0-9])?$":
        description: The phy child node for Qcom chips.
        type: object
        $ref: /schemas/phy/qcom,usb-hs-phy.yaml

required:
  - compatible

allOf:
  - $ref: chipidea,usb2-common.yaml#
  - $ref: usb-hcd.yaml#
  - $ref: usb-drd.yaml#

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/berlin2.h>

    usb@f7ed0000 {
        compatible = "chipidea,usb2";
        reg = <0xf7ed0000 0x10000>;
        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&chip CLKID_USB0>;
        phys = <&usb_phy0>;
        phy-names = "usb-phy";
        vbus-supply = <&reg_usb0_vbus>;
        itc-setting = <0x4>; /* 4 micro-frames */
         /* Incremental burst of unspecified length */
        ahb-burst-config = <0x0>;
        tx-burst-size-dword = <0x10>; /* 64 bytes */
        rx-burst-size-dword = <0x10>;
        extcon = <0>, <&usb_id>;
        phy-clkgate-delay-us = <400>;
        mux-controls = <&usb_switch>;
        mux-control-names = "usb_switch";
    };

...
