197351cd8SThierry Reding# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 297351cd8SThierry Reding%YAML 1.2 397351cd8SThierry Reding--- 497351cd8SThierry Reding$id: http://devicetree.org/schemas/usb/nvidia,tegra124-xusb.yaml# 597351cd8SThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml# 697351cd8SThierry Reding 797351cd8SThierry Redingtitle: NVIDIA Tegra124 xHCI controller 897351cd8SThierry Reding 997351cd8SThierry Redingmaintainers: 1097351cd8SThierry Reding - Thierry Reding <thierry.reding@gmail.com> 1197351cd8SThierry Reding - Jon Hunter <jonathanh@nvidia.com> 1297351cd8SThierry Reding 1397351cd8SThierry Redingdescription: The Tegra xHCI controller supports both USB2 and USB3 interfaces 1497351cd8SThierry Reding exposed by the Tegra XUSB pad controller. 1597351cd8SThierry Reding 1697351cd8SThierry Redingproperties: 1797351cd8SThierry Reding # required 1897351cd8SThierry Reding compatible: 1997351cd8SThierry Reding oneOf: 2097351cd8SThierry Reding - description: NVIDIA Tegra124 2197351cd8SThierry Reding const: nvidia,tegra124-xusb 2297351cd8SThierry Reding 2397351cd8SThierry Reding - description: NVIDIA Tegra132 2497351cd8SThierry Reding items: 2597351cd8SThierry Reding - const: nvidia,tegra132-xusb 2697351cd8SThierry Reding - const: nvidia,tegra124-xusb 2797351cd8SThierry Reding 2897351cd8SThierry Reding reg: 2997351cd8SThierry Reding items: 3097351cd8SThierry Reding - description: base and length of the xHCI host registers 3197351cd8SThierry Reding - description: base and length of the XUSB FPCI registers 3297351cd8SThierry Reding - description: base and length of the XUSB IPFS registers 3397351cd8SThierry Reding 3497351cd8SThierry Reding reg-names: 3597351cd8SThierry Reding items: 3697351cd8SThierry Reding - const: hcd 3797351cd8SThierry Reding - const: fpci 3897351cd8SThierry Reding - const: ipfs 3997351cd8SThierry Reding 4097351cd8SThierry Reding interrupts: 4197351cd8SThierry Reding items: 4297351cd8SThierry Reding - description: xHCI host interrupt 4397351cd8SThierry Reding - description: mailbox interrupt 4497351cd8SThierry Reding 4597351cd8SThierry Reding clocks: 4697351cd8SThierry Reding items: 4797351cd8SThierry Reding - description: XUSB host clock 4897351cd8SThierry Reding - description: XUSB host source clock 4997351cd8SThierry Reding - description: XUSB Falcon source clock 5097351cd8SThierry Reding - description: XUSB SuperSpeed clock 5197351cd8SThierry Reding - description: XUSB SuperSpeed clock divider 5297351cd8SThierry Reding - description: XUSB SuperSpeed source clock 5397351cd8SThierry Reding - description: XUSB HighSpeed clock source 5497351cd8SThierry Reding - description: XUSB FullSpeed clock source 5597351cd8SThierry Reding - description: USB PLL 5697351cd8SThierry Reding - description: reference clock 5797351cd8SThierry Reding - description: I/O PLL 5897351cd8SThierry Reding 5997351cd8SThierry Reding clock-names: 6097351cd8SThierry Reding items: 6197351cd8SThierry Reding - const: xusb_host 6297351cd8SThierry Reding - const: xusb_host_src 6397351cd8SThierry Reding - const: xusb_falcon_src 6497351cd8SThierry Reding - const: xusb_ss 6597351cd8SThierry Reding - const: xusb_ss_div2 6697351cd8SThierry Reding - const: xusb_ss_src 6797351cd8SThierry Reding - const: xusb_hs_src 6897351cd8SThierry Reding - const: xusb_fs_src 6997351cd8SThierry Reding - const: pll_u_480m 7097351cd8SThierry Reding - const: clk_m 7197351cd8SThierry Reding - const: pll_e 7297351cd8SThierry Reding 7397351cd8SThierry Reding resets: 7497351cd8SThierry Reding items: 7597351cd8SThierry Reding - description: reset for the XUSB host controller 7697351cd8SThierry Reding - description: reset for the SuperSpeed logic 7797351cd8SThierry Reding - description: shared reset for xusb_{ss,hs,fs,falcon,host}_src. 7897351cd8SThierry Reding 7997351cd8SThierry Reding reset-names: 8097351cd8SThierry Reding items: 8197351cd8SThierry Reding - const: xusb_host 8297351cd8SThierry Reding - const: xusb_ss 8397351cd8SThierry Reding - const: xusb_src 8497351cd8SThierry Reding 8597351cd8SThierry Reding nvidia,xusb-padctl: 8697351cd8SThierry Reding $ref: /schemas/types.yaml#/definitions/phandle 8797351cd8SThierry Reding description: phandle to the XUSB pad controller that is used to configure 8897351cd8SThierry Reding the USB pads used by the XHCI controller 8997351cd8SThierry Reding 9097351cd8SThierry Reding # optional 9197351cd8SThierry Reding phys: 9297351cd8SThierry Reding minItems: 1 9397351cd8SThierry Reding maxItems: 7 9497351cd8SThierry Reding 9597351cd8SThierry Reding phy-names: 9697351cd8SThierry Reding minItems: 1 9797351cd8SThierry Reding maxItems: 7 9897351cd8SThierry Reding items: 9997351cd8SThierry Reding enum: 10097351cd8SThierry Reding - usb2-0 10197351cd8SThierry Reding - usb2-1 10297351cd8SThierry Reding - usb2-2 10397351cd8SThierry Reding - hsic-0 10497351cd8SThierry Reding - hsic-1 10597351cd8SThierry Reding - usb3-0 10697351cd8SThierry Reding - usb3-1 10797351cd8SThierry Reding 10897351cd8SThierry Reding avddio-pex-supply: 10997351cd8SThierry Reding description: PCIe/USB3 analog logic power supply. Must supply 1.05 V. 11097351cd8SThierry Reding 11197351cd8SThierry Reding dvddio-pex-supply: 11297351cd8SThierry Reding description: PCIe/USB3 digital logic power supply. Must supply 1.05 V. 11397351cd8SThierry Reding 11497351cd8SThierry Reding avdd-usb-supply: 11597351cd8SThierry Reding description: USB controller power supply. Must supply 3.3 V. 11697351cd8SThierry Reding 11797351cd8SThierry Reding avdd-pll-utmip-supply: 11897351cd8SThierry Reding description: UTMI PLL power supply. Must supply 1.8 V. 11997351cd8SThierry Reding 12097351cd8SThierry Reding avdd-pll-erefe-supply: 12197351cd8SThierry Reding description: PLLE reference PLL power supply. Must supply 1.05 V. 12297351cd8SThierry Reding 12397351cd8SThierry Reding avdd-usb-ss-pll-supply: 12497351cd8SThierry Reding description: PCIe/USB3 PLL power supply. Must supply 1.05 V. 12597351cd8SThierry Reding 12697351cd8SThierry Reding hvdd-usb-ss-supply: 12797351cd8SThierry Reding description: High-voltage PCIe/USB3 power supply. Must supply 3.3 V. 12897351cd8SThierry Reding 12997351cd8SThierry Reding hvdd-usb-ss-pll-e-supply: 13097351cd8SThierry Reding description: High-voltage PLLE power supply. Must supply 3.3 V. 13197351cd8SThierry Reding 13297351cd8SThierry RedingallOf: 13397351cd8SThierry Reding - $ref: usb-xhci.yaml 13497351cd8SThierry Reding 13597351cd8SThierry RedingunevaluatedProperties: false 13697351cd8SThierry Reding 13797351cd8SThierry Redingrequired: 13897351cd8SThierry Reding - compatible 13997351cd8SThierry Reding - reg 14097351cd8SThierry Reding - reg-names 14197351cd8SThierry Reding - interrupts 14297351cd8SThierry Reding - clocks 14397351cd8SThierry Reding - clock-names 14497351cd8SThierry Reding - resets 14597351cd8SThierry Reding - reset-names 14697351cd8SThierry Reding - nvidia,xusb-padctl 14797351cd8SThierry Reding - phys 14897351cd8SThierry Reding - phy-names 14997351cd8SThierry Reding - avddio-pex-supply 15097351cd8SThierry Reding - dvddio-pex-supply 15197351cd8SThierry Reding - avdd-usb-supply 15297351cd8SThierry Reding - hvdd-usb-ss-supply 15397351cd8SThierry Reding 15497351cd8SThierry Redingexamples: 15597351cd8SThierry Reding - | 15697351cd8SThierry Reding #include <dt-bindings/clock/tegra124-car.h> 15797351cd8SThierry Reding #include <dt-bindings/interrupt-controller/arm-gic.h> 15897351cd8SThierry Reding 15997351cd8SThierry Reding usb@70090000 { 16097351cd8SThierry Reding compatible = "nvidia,tegra124-xusb"; 16197351cd8SThierry Reding reg = <0x70090000 0x8000>, 16297351cd8SThierry Reding <0x70098000 0x1000>, 16397351cd8SThierry Reding <0x70099000 0x1000>; 16497351cd8SThierry Reding reg-names = "hcd", "fpci", "ipfs"; 16597351cd8SThierry Reding 16697351cd8SThierry Reding interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 16797351cd8SThierry Reding <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 16897351cd8SThierry Reding 16997351cd8SThierry Reding clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>, 17097351cd8SThierry Reding <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>, 17197351cd8SThierry Reding <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>, 17297351cd8SThierry Reding <&tegra_car TEGRA124_CLK_XUSB_SS>, 17397351cd8SThierry Reding <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>, 17497351cd8SThierry Reding <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>, 17597351cd8SThierry Reding <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>, 17697351cd8SThierry Reding <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>, 17797351cd8SThierry Reding <&tegra_car TEGRA124_CLK_PLL_U_480M>, 17897351cd8SThierry Reding <&tegra_car TEGRA124_CLK_CLK_M>, 17997351cd8SThierry Reding <&tegra_car TEGRA124_CLK_PLL_E>; 18097351cd8SThierry Reding clock-names = "xusb_host", "xusb_host_src", "xusb_falcon_src", 18197351cd8SThierry Reding "xusb_ss", "xusb_ss_div2", "xusb_ss_src", 18297351cd8SThierry Reding "xusb_hs_src", "xusb_fs_src", "pll_u_480m", 18397351cd8SThierry Reding "clk_m", "pll_e"; 18497351cd8SThierry Reding resets = <&tegra_car 89>, <&tegra_car 156>, <&tegra_car 143>; 18597351cd8SThierry Reding reset-names = "xusb_host", "xusb_ss", "xusb_src"; 18697351cd8SThierry Reding 18797351cd8SThierry Reding nvidia,xusb-padctl = <&padctl>; 18897351cd8SThierry Reding 189*d8a76e46SThierry Reding phys = <&phy_usb2_1>, <&phy_usb2_2>, <&phy_pcie_0>; 19097351cd8SThierry Reding phy-names = "usb2-1", "usb2-2", "usb3-0"; 19197351cd8SThierry Reding 19297351cd8SThierry Reding avddio-pex-supply = <&vdd_1v05_run>; 19397351cd8SThierry Reding dvddio-pex-supply = <&vdd_1v05_run>; 19497351cd8SThierry Reding avdd-usb-supply = <&vdd_3v3_lp0>; 19597351cd8SThierry Reding avdd-pll-utmip-supply = <&vddio_1v8>; 19697351cd8SThierry Reding avdd-pll-erefe-supply = <&avdd_1v05_run>; 19797351cd8SThierry Reding avdd-usb-ss-pll-supply = <&vdd_1v05_run>; 19897351cd8SThierry Reding hvdd-usb-ss-supply = <&vdd_3v3_lp0>; 19997351cd8SThierry Reding hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>; 20097351cd8SThierry Reding }; 201