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

title: NVIDIA Tegra210 xHCI controller

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Jon Hunter <jonathanh@nvidia.com>

description: The Tegra xHCI controller supports both USB2 and USB3 interfaces
  exposed by the Tegra XUSB pad controller.

properties:
  compatible:
    const: nvidia,tegra210-xusb

  reg:
    items:
      - description: base and length of the xHCI host registers
      - description: base and length of the XUSB FPCI registers
      - description: base and length of the XUSB IPFS registers

  reg-names:
    items:
      - const: hcd
      - const: fpci
      - const: ipfs

  interrupts:
    items:
      - description: xHCI host interrupt
      - description: mailbox interrupt

  clocks:
    items:
      - description: XUSB host clock
      - description: XUSB host source clock
      - description: XUSB Falcon source clock
      - description: XUSB SuperSpeed clock
      - description: XUSB SuperSpeed clock divider
      - description: XUSB SuperSpeed source clock
      - description: XUSB HighSpeed clock source
      - description: XUSB FullSpeed clock source
      - description: USB PLL
      - description: reference clock
      - description: I/O PLL

  clock-names:
    items:
      - const: xusb_host
      - const: xusb_host_src
      - const: xusb_falcon_src
      - const: xusb_ss
      - const: xusb_ss_div2
      - const: xusb_ss_src
      - const: xusb_hs_src
      - const: xusb_fs_src
      - const: pll_u_480m
      - const: clk_m
      - const: pll_e

  resets:
    items:
      - description: reset for the XUSB host controller
      - description: reset for the SuperSpeed logic
      - description: shared reset for xusb_{ss,hs,fs,falcon,host}_src.

  reset-names:
    items:
      - const: xusb_host
      - const: xusb_ss
      - const: xusb_src

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

  phys:
    minItems: 1
    maxItems: 9

  phy-names:
    minItems: 1
    maxItems: 9
    items:
      enum:
        - usb2-0
        - usb2-1
        - usb2-2
        - usb2-3
        - hsic-0
        - usb3-0
        - usb3-1
        - usb3-2
        - usb3-3

  power-domains:
    items:
      - description: XUSBC power domain (for Host and USB 2.0)
      - description: XUSBA power domain (for SuperSpeed)

  power-domain-names:
    items:
      - const: xusb_host
      - const: xusb_ss

  dvddio-pex-supply:
    description: PCIe/USB3 analog logic power supply. Must supply 1.05 V.

  hvddio-pex-supply:
    description: High-voltage PCIe/USB3 power supply. Must supply 1.8 V.

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

  avdd-pll-utmip-supply:
    description: UTMI PLL power supply. Must supply 1.8 V.

  avdd-pll-uerefe-supply:
    description: PLLE reference PLL power supply. Must supply 1.05 V.

  dvdd-usb-ss-pll-supply:
    description: PCIe/USB3 PLL power supply. Must supply 1.05 V.

  hvdd-usb-ss-pll-e-supply:
    description: High-voltage PLLE power supply. Must supply 1.8 V.

allOf:
  - $ref: usb-xhci.yaml

unevaluatedProperties: false

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

    usb@70090000 {
        compatible = "nvidia,tegra210-xusb";
        reg = <0x70090000 0x8000>,
              <0x70098000 0x1000>,
              <0x70099000 0x1000>;
        reg-names = "hcd", "fpci", "ipfs";

        interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;

        clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>,
                 <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>,
                 <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>,
                 <&tegra_car TEGRA210_CLK_XUSB_SS>,
                 <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>,
                 <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>,
                 <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>,
                 <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
                 <&tegra_car TEGRA210_CLK_PLL_U_480M>,
                 <&tegra_car TEGRA210_CLK_CLK_M>,
                 <&tegra_car TEGRA210_CLK_PLL_E>;
        clock-names = "xusb_host", "xusb_host_src",
                      "xusb_falcon_src", "xusb_ss",
                      "xusb_ss_div2", "xusb_ss_src",
                      "xusb_hs_src", "xusb_fs_src",
                      "pll_u_480m", "clk_m", "pll_e";
        resets = <&tegra_car 89>, <&tegra_car 156>,
                 <&tegra_car 143>;
        reset-names = "xusb_host", "xusb_ss", "xusb_src";
        power-domains = <&pd_xusbhost>, <&pd_xusbss>;
        power-domain-names = "xusb_host", "xusb_ss";

        nvidia,xusb-padctl = <&padctl>;

        phys = <&phy_usb2_0>, <&phy_usb2_1>, <&phy_usb2_2>, <&phy_usb2_3>,
               <&phy_pcie_6>, <&phy_pcie_5>;
        phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3", "usb3-0",
                    "usb3-1";
        dvddio-pex-supply = <&vdd_pex_1v05>;
        hvddio-pex-supply = <&vdd_1v8>;
        avdd-usb-supply = <&vdd_3v3_sys>;
        avdd-pll-utmip-supply = <&vdd_1v8>;
        avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
        dvdd-usb-ss-pll-supply = <&vdd_pex_1v05>;
        hvdd-usb-ss-pll-e-supply = <&vdd_1v8>;

        #address-cells = <1>;
        #size-cells = <0>;

        ethernet@1 {
                compatible = "usb955,9ff";
                reg = <1>;
        };
    };
