# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/usb/nvidia,tegra-xudc.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Device tree binding for NVIDIA Tegra XUSB device mode controller (XUDC)

description:
  The Tegra XUDC controller supports both USB 2.0 HighSpeed/FullSpeed and
  USB 3.0 SuperSpeed protocols.

maintainers:
  - Nagarjuna Kristam <nkristam@nvidia.com>
  - JC Kuo <jckuo@nvidia.com>
  - Thierry Reding <treding@nvidia.com>

properties:
  compatible:
    items:
      - enum:
          - nvidia,tegra210-xudc # For Tegra210
          - nvidia,tegra186-xudc # For Tegra186
          - nvidia,tegra194-xudc # For Tegra194

  reg:
    minItems: 2
    items:
      - description: XUSB device controller registers
      - description: XUSB device PCI Config registers
      - description: XUSB device registers.

  reg-names:
    minItems: 2
    items:
      - const: base
      - const: fpci
      - const: ipfs

  interrupts:
    maxItems: 1
    description: Must contain the XUSB device interrupt.

  clocks:
    minItems: 4
    items:
      - description: Clock to enable core XUSB dev clock.
      - description: Clock to enable XUSB super speed clock.
      - description: Clock to enable XUSB super speed dev clock.
      - description: Clock to enable XUSB high speed dev clock.
      - description: Clock to enable XUSB full speed dev clock.

  clock-names:
    minItems: 4
    items:
      - const: dev
      - const: ss
      - const: ss_src
      - const: fs_src
      - const: hs_src

  power-domains:
    items:
      - description: XUSBB(device) power-domain
      - description: XUSBA(superspeed) power-domain

  power-domain-names:
    items:
      - const: dev
      - const: ss

  nvidia,xusb-padctl:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description:
      phandle to the XUSB pad controller that is used to configure the USB pads
      used by the XUDC controller.

  phys:
    minItems: 1
    description:
      Must contain an entry for each entry in phy-names.
      See ../phy/phy-bindings.txt for details.

  phy-names:
    minItems: 1
    items:
      - const: usb2-0
      - const: usb2-1
      - const: usb2-2
      - const: usb2-3
      - const: usb3-0
      - const: usb3-1
      - const: usb3-2
      - const: usb3-3

  avddio-usb-supply:
    description: PCIe/USB3 analog logic power supply. Must supply 1.05 V.

  hvdd-usb-supply:
    description: USB controller power supply. Must supply 3.3 V.

required:
  - compatible
  - reg
  - reg-names
  - interrupts
  - clocks
  - clock-names
  - power-domains
  - power-domain-names
  - nvidia,xusb-padctl
  - phys
  - phy-names

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - nvidia,tegra210-xudc
    then:
      properties:
        reg:
          minItems: 3
        reg-names:
          minItems: 3
        clocks:
          minItems: 5
        clock-names:
          minItems: 5
      required:
        - avddio-usb-supply
        - hvdd-usb-supply

  - if:
      properties:
        compatible:
          contains:
            enum:
              - nvidia,tegra186-xudc
              - nvidia,tegra194-xudc
    then:
      properties:
        reg:
          maxItems: 2
        reg-names:
          maxItems: 2
        clocks:
          maxItems: 4
        clock-names:
          maxItems: 4

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/tegra210-car.h>
    #include <dt-bindings/gpio/tegra-gpio.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    usb@700d0000 {
        compatible = "nvidia,tegra210-xudc";
        reg = <0x700d0000 0x8000>,
              <0x700d8000 0x1000>,
              <0x700d9000 0x1000>;
        reg-names = "base", "fpci", "ipfs";

        interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;

        clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>,
                 <&tegra_car TEGRA210_CLK_XUSB_SS>,
                 <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>,
                 <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
                 <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>;
        clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src";

        power-domains = <&pd_xusbdev>, <&pd_xusbss>;
        power-domain-names = "dev", "ss";

        nvidia,xusb-padctl = <&padctl>;

        phys = <&micro_b>;
        phy-names = "usb2-0";

        avddio-usb-supply = <&vdd_pex_1v05>;
        hvdd-usb-supply = <&vdd_3v3_sys>;
    };
