1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2cb7aa33aSEmmanuel Vadot%YAML 1.2 3cb7aa33aSEmmanuel Vadot--- 4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/nvidia,tegra210-xusb-padctl.yaml# 5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6cb7aa33aSEmmanuel Vadot 7cb7aa33aSEmmanuel Vadottitle: NVIDIA Tegra210 XUSB pad controller 8cb7aa33aSEmmanuel Vadot 9cb7aa33aSEmmanuel Vadotmaintainers: 10cb7aa33aSEmmanuel Vadot - Thierry Reding <thierry.reding@gmail.com> 11cb7aa33aSEmmanuel Vadot - Jon Hunter <jonathanh@nvidia.com> 12cb7aa33aSEmmanuel Vadot 13cb7aa33aSEmmanuel Vadotdescription: | 14cb7aa33aSEmmanuel Vadot The Tegra XUSB pad controller manages a set of I/O lanes (with differential 15cb7aa33aSEmmanuel Vadot signals) which connect directly to pins/pads on the SoC package. Each lane 16cb7aa33aSEmmanuel Vadot is controlled by a HW block referred to as a "pad" in the Tegra hardware 17cb7aa33aSEmmanuel Vadot documentation. Each such "pad" may control either one or multiple lanes, 18cb7aa33aSEmmanuel Vadot and thus contains any logic common to all its lanes. Each lane can be 19cb7aa33aSEmmanuel Vadot separately configured and powered up. 20cb7aa33aSEmmanuel Vadot 21cb7aa33aSEmmanuel Vadot Some of the lanes are high-speed lanes, which can be used for PCIe, SATA or 22cb7aa33aSEmmanuel Vadot super-speed USB. Other lanes are for various types of low-speed, full-speed 23cb7aa33aSEmmanuel Vadot or high-speed USB (such as UTMI, ULPI and HSIC). The XUSB pad controller 24cb7aa33aSEmmanuel Vadot contains a software-configurable mux that sits between the I/O controller 25cb7aa33aSEmmanuel Vadot ports (e.g. PCIe) and the lanes. 26cb7aa33aSEmmanuel Vadot 27cb7aa33aSEmmanuel Vadot In addition to per-lane configuration, USB 3.0 ports may require additional 28cb7aa33aSEmmanuel Vadot settings on a per-board basis. 29cb7aa33aSEmmanuel Vadot 30cb7aa33aSEmmanuel Vadot Pads will be represented as children of the top-level XUSB pad controller 31cb7aa33aSEmmanuel Vadot device tree node. Each lane exposed by the pad will be represented by its 32cb7aa33aSEmmanuel Vadot own subnode and can be referenced by users of the lane using the standard 33cb7aa33aSEmmanuel Vadot PHY bindings, as described by the phy-bindings.txt file in this directory. 34cb7aa33aSEmmanuel Vadot 35cb7aa33aSEmmanuel Vadot The Tegra hardware documentation refers to the connection between the XUSB 36cb7aa33aSEmmanuel Vadot pad controller and the XUSB controller as "ports". This is confusing since 37cb7aa33aSEmmanuel Vadot "port" is typically used to denote the physical USB receptacle. The device 38cb7aa33aSEmmanuel Vadot tree binding in this document uses the term "port" to refer to the logical 39cb7aa33aSEmmanuel Vadot abstraction of the signals that are routed to a USB receptacle (i.e. a PHY 40cb7aa33aSEmmanuel Vadot for the USB signal, the VBUS power supply, the USB 2.0 companion port for 41cb7aa33aSEmmanuel Vadot USB 3.0 receptacles, ...). 42cb7aa33aSEmmanuel Vadot 43cb7aa33aSEmmanuel Vadotproperties: 44cb7aa33aSEmmanuel Vadot compatible: 45cb7aa33aSEmmanuel Vadot const: nvidia,tegra210-xusb-padctl 46cb7aa33aSEmmanuel Vadot 47cb7aa33aSEmmanuel Vadot reg: 48cb7aa33aSEmmanuel Vadot maxItems: 1 49cb7aa33aSEmmanuel Vadot 50cb7aa33aSEmmanuel Vadot resets: 51cb7aa33aSEmmanuel Vadot items: 52cb7aa33aSEmmanuel Vadot - description: pad controller reset 53cb7aa33aSEmmanuel Vadot 54cb7aa33aSEmmanuel Vadot interrupts: 55cb7aa33aSEmmanuel Vadot items: 56cb7aa33aSEmmanuel Vadot - description: XUSB pad controller interrupt 57cb7aa33aSEmmanuel Vadot 58cb7aa33aSEmmanuel Vadot reset-names: 59cb7aa33aSEmmanuel Vadot items: 60cb7aa33aSEmmanuel Vadot - const: padctl 61cb7aa33aSEmmanuel Vadot 62cb7aa33aSEmmanuel Vadot avdd-pll-utmip-supply: 63cb7aa33aSEmmanuel Vadot description: UTMI PLL power supply. Must supply 1.8 V. 64cb7aa33aSEmmanuel Vadot 65cb7aa33aSEmmanuel Vadot avdd-pll-uerefe-supply: 66cb7aa33aSEmmanuel Vadot description: PLLE reference PLL power supply. Must supply 1.05 V. 67cb7aa33aSEmmanuel Vadot 68cb7aa33aSEmmanuel Vadot dvdd-pex-pll-supply: 69cb7aa33aSEmmanuel Vadot description: PCIe/USB3 PLL power supply. Must supply 1.05 V. 70cb7aa33aSEmmanuel Vadot 71cb7aa33aSEmmanuel Vadot hvdd-pex-pll-e-supply: 72cb7aa33aSEmmanuel Vadot description: High-voltage PLLE power supply. Must supply 1.8 V. 73cb7aa33aSEmmanuel Vadot 74cb7aa33aSEmmanuel Vadot nvidia,pmc: 75cb7aa33aSEmmanuel Vadot description: phandle to the Tegra Power Management Controller (PMC) node 76cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 77cb7aa33aSEmmanuel Vadot 78cb7aa33aSEmmanuel Vadot pads: 79cb7aa33aSEmmanuel Vadot description: A required child node named "pads" contains a list of 80cb7aa33aSEmmanuel Vadot subnodes, one for each of the pads exposed by the XUSB pad controller. 81cb7aa33aSEmmanuel Vadot Each pad may need additional resources that can be referenced in its 82cb7aa33aSEmmanuel Vadot pad node. 83cb7aa33aSEmmanuel Vadot 84cb7aa33aSEmmanuel Vadot The "status" property is used to enable or disable the use of a pad. 85cb7aa33aSEmmanuel Vadot If set to "disabled", the pad will not be used on the given board. In 86cb7aa33aSEmmanuel Vadot order to use the pad and any of its lanes, this property must be set 87cb7aa33aSEmmanuel Vadot to "okay" or be absent. 88cb7aa33aSEmmanuel Vadot type: object 89cb7aa33aSEmmanuel Vadot additionalProperties: false 90cb7aa33aSEmmanuel Vadot properties: 91cb7aa33aSEmmanuel Vadot usb2: 92cb7aa33aSEmmanuel Vadot type: object 93cb7aa33aSEmmanuel Vadot additionalProperties: false 94cb7aa33aSEmmanuel Vadot properties: 95cb7aa33aSEmmanuel Vadot clocks: 96cb7aa33aSEmmanuel Vadot items: 97cb7aa33aSEmmanuel Vadot - description: USB2 tracking clock 98cb7aa33aSEmmanuel Vadot 99cb7aa33aSEmmanuel Vadot clock-names: 100cb7aa33aSEmmanuel Vadot items: 101cb7aa33aSEmmanuel Vadot - const: trk 102cb7aa33aSEmmanuel Vadot 103cb7aa33aSEmmanuel Vadot lanes: 104cb7aa33aSEmmanuel Vadot type: object 105cb7aa33aSEmmanuel Vadot additionalProperties: false 106cb7aa33aSEmmanuel Vadot properties: 107cb7aa33aSEmmanuel Vadot usb2-0: 108cb7aa33aSEmmanuel Vadot type: object 109cb7aa33aSEmmanuel Vadot additionalProperties: false 110cb7aa33aSEmmanuel Vadot properties: 111cb7aa33aSEmmanuel Vadot "#phy-cells": 112cb7aa33aSEmmanuel Vadot const: 0 113cb7aa33aSEmmanuel Vadot 114cb7aa33aSEmmanuel Vadot nvidia,function: 115cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 116cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 117cb7aa33aSEmmanuel Vadot enum: [ snps, xusb, uart ] 118cb7aa33aSEmmanuel Vadot 119cb7aa33aSEmmanuel Vadot usb2-1: 120cb7aa33aSEmmanuel Vadot type: object 121cb7aa33aSEmmanuel Vadot additionalProperties: false 122cb7aa33aSEmmanuel Vadot properties: 123cb7aa33aSEmmanuel Vadot "#phy-cells": 124cb7aa33aSEmmanuel Vadot const: 0 125cb7aa33aSEmmanuel Vadot 126cb7aa33aSEmmanuel Vadot nvidia,function: 127cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 128cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 129cb7aa33aSEmmanuel Vadot enum: [ snps, xusb, uart ] 130cb7aa33aSEmmanuel Vadot 131cb7aa33aSEmmanuel Vadot usb2-2: 132cb7aa33aSEmmanuel Vadot type: object 133cb7aa33aSEmmanuel Vadot additionalProperties: false 134cb7aa33aSEmmanuel Vadot properties: 135cb7aa33aSEmmanuel Vadot "#phy-cells": 136cb7aa33aSEmmanuel Vadot const: 0 137cb7aa33aSEmmanuel Vadot 138cb7aa33aSEmmanuel Vadot nvidia,function: 139cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 140cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 141cb7aa33aSEmmanuel Vadot enum: [ snps, xusb, uart ] 142cb7aa33aSEmmanuel Vadot 143cb7aa33aSEmmanuel Vadot usb2-3: 144cb7aa33aSEmmanuel Vadot type: object 145cb7aa33aSEmmanuel Vadot additionalProperties: false 146cb7aa33aSEmmanuel Vadot properties: 147cb7aa33aSEmmanuel Vadot "#phy-cells": 148cb7aa33aSEmmanuel Vadot const: 0 149cb7aa33aSEmmanuel Vadot 150cb7aa33aSEmmanuel Vadot nvidia,function: 151cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 152cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 153cb7aa33aSEmmanuel Vadot enum: [ snps, xusb, uart ] 154cb7aa33aSEmmanuel Vadot 155cb7aa33aSEmmanuel Vadot hsic: 156cb7aa33aSEmmanuel Vadot type: object 157cb7aa33aSEmmanuel Vadot additionalProperties: false 158cb7aa33aSEmmanuel Vadot properties: 159cb7aa33aSEmmanuel Vadot clocks: 160cb7aa33aSEmmanuel Vadot items: 161cb7aa33aSEmmanuel Vadot - description: HSIC tracking clock 162cb7aa33aSEmmanuel Vadot 163cb7aa33aSEmmanuel Vadot clock-names: 164cb7aa33aSEmmanuel Vadot items: 165cb7aa33aSEmmanuel Vadot - const: trk 166cb7aa33aSEmmanuel Vadot 167cb7aa33aSEmmanuel Vadot lanes: 168cb7aa33aSEmmanuel Vadot type: object 169cb7aa33aSEmmanuel Vadot additionalProperties: false 170cb7aa33aSEmmanuel Vadot properties: 171cb7aa33aSEmmanuel Vadot hsic-0: 172cb7aa33aSEmmanuel Vadot type: object 173cb7aa33aSEmmanuel Vadot additionalProperties: false 174cb7aa33aSEmmanuel Vadot properties: 175cb7aa33aSEmmanuel Vadot "#phy-cells": 176cb7aa33aSEmmanuel Vadot const: 0 177cb7aa33aSEmmanuel Vadot 178cb7aa33aSEmmanuel Vadot nvidia,function: 179cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 180cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 181cb7aa33aSEmmanuel Vadot enum: [ snps, xusb ] 182cb7aa33aSEmmanuel Vadot 183cb7aa33aSEmmanuel Vadot hsic-1: 184cb7aa33aSEmmanuel Vadot type: object 185cb7aa33aSEmmanuel Vadot additionalProperties: false 186cb7aa33aSEmmanuel Vadot properties: 187cb7aa33aSEmmanuel Vadot "#phy-cells": 188cb7aa33aSEmmanuel Vadot const: 0 189cb7aa33aSEmmanuel Vadot 190cb7aa33aSEmmanuel Vadot nvidia,function: 191cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 192cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 193cb7aa33aSEmmanuel Vadot enum: [ snps, xusb ] 194cb7aa33aSEmmanuel Vadot 195cb7aa33aSEmmanuel Vadot pcie: 196cb7aa33aSEmmanuel Vadot type: object 197cb7aa33aSEmmanuel Vadot additionalProperties: false 198cb7aa33aSEmmanuel Vadot properties: 199cb7aa33aSEmmanuel Vadot clocks: 200cb7aa33aSEmmanuel Vadot items: 201cb7aa33aSEmmanuel Vadot - description: PCIe PLL clock source 202cb7aa33aSEmmanuel Vadot 203cb7aa33aSEmmanuel Vadot clock-names: 204cb7aa33aSEmmanuel Vadot items: 205cb7aa33aSEmmanuel Vadot - const: pll 206cb7aa33aSEmmanuel Vadot 207cb7aa33aSEmmanuel Vadot resets: 208cb7aa33aSEmmanuel Vadot items: 209cb7aa33aSEmmanuel Vadot - description: PCIe PHY reset 210cb7aa33aSEmmanuel Vadot 211cb7aa33aSEmmanuel Vadot reset-names: 212cb7aa33aSEmmanuel Vadot items: 213cb7aa33aSEmmanuel Vadot - const: phy 214cb7aa33aSEmmanuel Vadot 215cb7aa33aSEmmanuel Vadot lanes: 216cb7aa33aSEmmanuel Vadot type: object 217cb7aa33aSEmmanuel Vadot additionalProperties: false 218cb7aa33aSEmmanuel Vadot properties: 219cb7aa33aSEmmanuel Vadot pcie-0: 220cb7aa33aSEmmanuel Vadot type: object 221cb7aa33aSEmmanuel Vadot additionalProperties: false 222cb7aa33aSEmmanuel Vadot properties: 223cb7aa33aSEmmanuel Vadot "#phy-cells": 224cb7aa33aSEmmanuel Vadot const: 0 225cb7aa33aSEmmanuel Vadot 226cb7aa33aSEmmanuel Vadot nvidia,function: 227cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 228cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 229cb7aa33aSEmmanuel Vadot enum: [ pcie-x1, usb3-ss, pcie-x4 ] 230cb7aa33aSEmmanuel Vadot 231cb7aa33aSEmmanuel Vadot pcie-1: 232cb7aa33aSEmmanuel Vadot type: object 233cb7aa33aSEmmanuel Vadot additionalProperties: false 234cb7aa33aSEmmanuel Vadot properties: 235cb7aa33aSEmmanuel Vadot "#phy-cells": 236cb7aa33aSEmmanuel Vadot const: 0 237cb7aa33aSEmmanuel Vadot 238cb7aa33aSEmmanuel Vadot nvidia,function: 239cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 240cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 241cb7aa33aSEmmanuel Vadot enum: [ pcie-x1, usb3-ss, pcie-x4 ] 242cb7aa33aSEmmanuel Vadot 243cb7aa33aSEmmanuel Vadot pcie-2: 244cb7aa33aSEmmanuel Vadot type: object 245cb7aa33aSEmmanuel Vadot additionalProperties: false 246cb7aa33aSEmmanuel Vadot properties: 247cb7aa33aSEmmanuel Vadot "#phy-cells": 248cb7aa33aSEmmanuel Vadot const: 0 249cb7aa33aSEmmanuel Vadot 250cb7aa33aSEmmanuel Vadot nvidia,function: 251cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 252cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 253cb7aa33aSEmmanuel Vadot enum: [ pcie-x1, usb3-ss, pcie-x4 ] 254cb7aa33aSEmmanuel Vadot 255cb7aa33aSEmmanuel Vadot pcie-3: 256cb7aa33aSEmmanuel Vadot type: object 257cb7aa33aSEmmanuel Vadot additionalProperties: false 258cb7aa33aSEmmanuel Vadot properties: 259cb7aa33aSEmmanuel Vadot "#phy-cells": 260cb7aa33aSEmmanuel Vadot const: 0 261cb7aa33aSEmmanuel Vadot 262cb7aa33aSEmmanuel Vadot nvidia,function: 263cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 264cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 265cb7aa33aSEmmanuel Vadot enum: [ pcie-x1, usb3-ss, pcie-x4 ] 266cb7aa33aSEmmanuel Vadot 267cb7aa33aSEmmanuel Vadot pcie-4: 268cb7aa33aSEmmanuel Vadot type: object 269cb7aa33aSEmmanuel Vadot additionalProperties: false 270cb7aa33aSEmmanuel Vadot properties: 271cb7aa33aSEmmanuel Vadot "#phy-cells": 272cb7aa33aSEmmanuel Vadot const: 0 273cb7aa33aSEmmanuel Vadot 274cb7aa33aSEmmanuel Vadot nvidia,function: 275cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 276cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 277cb7aa33aSEmmanuel Vadot enum: [ pcie-x1, usb3-ss, pcie-x4 ] 278cb7aa33aSEmmanuel Vadot 279cb7aa33aSEmmanuel Vadot pcie-5: 280cb7aa33aSEmmanuel Vadot type: object 281cb7aa33aSEmmanuel Vadot additionalProperties: false 282cb7aa33aSEmmanuel Vadot properties: 283cb7aa33aSEmmanuel Vadot "#phy-cells": 284cb7aa33aSEmmanuel Vadot const: 0 285cb7aa33aSEmmanuel Vadot 286cb7aa33aSEmmanuel Vadot nvidia,function: 287cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 288cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 289cb7aa33aSEmmanuel Vadot enum: [ pcie-x1, usb3-ss, pcie-x4 ] 290cb7aa33aSEmmanuel Vadot 291cb7aa33aSEmmanuel Vadot pcie-6: 292cb7aa33aSEmmanuel Vadot type: object 293cb7aa33aSEmmanuel Vadot additionalProperties: false 294cb7aa33aSEmmanuel Vadot properties: 295cb7aa33aSEmmanuel Vadot "#phy-cells": 296cb7aa33aSEmmanuel Vadot const: 0 297cb7aa33aSEmmanuel Vadot 298cb7aa33aSEmmanuel Vadot nvidia,function: 299cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 300cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 301cb7aa33aSEmmanuel Vadot enum: [ pcie-x1, usb3-ss, pcie-x4 ] 302cb7aa33aSEmmanuel Vadot 303cb7aa33aSEmmanuel Vadot sata: 304cb7aa33aSEmmanuel Vadot type: object 305cb7aa33aSEmmanuel Vadot additionalProperties: false 306cb7aa33aSEmmanuel Vadot properties: 307cb7aa33aSEmmanuel Vadot clocks: 308cb7aa33aSEmmanuel Vadot items: 309cb7aa33aSEmmanuel Vadot - description: SATA PLL clock source 310cb7aa33aSEmmanuel Vadot 311cb7aa33aSEmmanuel Vadot clock-names: 312cb7aa33aSEmmanuel Vadot items: 313cb7aa33aSEmmanuel Vadot - const: pll 314cb7aa33aSEmmanuel Vadot 315cb7aa33aSEmmanuel Vadot resets: 316cb7aa33aSEmmanuel Vadot items: 317cb7aa33aSEmmanuel Vadot - description: SATA PHY reset 318cb7aa33aSEmmanuel Vadot 319cb7aa33aSEmmanuel Vadot reset-names: 320cb7aa33aSEmmanuel Vadot items: 321cb7aa33aSEmmanuel Vadot - const: phy 322cb7aa33aSEmmanuel Vadot 323cb7aa33aSEmmanuel Vadot lanes: 324cb7aa33aSEmmanuel Vadot type: object 325cb7aa33aSEmmanuel Vadot additionalProperties: false 326cb7aa33aSEmmanuel Vadot properties: 327cb7aa33aSEmmanuel Vadot sata-0: 328cb7aa33aSEmmanuel Vadot type: object 329cb7aa33aSEmmanuel Vadot additionalProperties: false 330cb7aa33aSEmmanuel Vadot properties: 331cb7aa33aSEmmanuel Vadot "#phy-cells": 332cb7aa33aSEmmanuel Vadot const: 0 333cb7aa33aSEmmanuel Vadot 334cb7aa33aSEmmanuel Vadot nvidia,function: 335cb7aa33aSEmmanuel Vadot description: Function selection for this lane. 336cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 337cb7aa33aSEmmanuel Vadot enum: [ usb3-ss, sata ] 338cb7aa33aSEmmanuel Vadot 339cb7aa33aSEmmanuel Vadot ports: 340cb7aa33aSEmmanuel Vadot description: A required child node named "ports" contains a list of 341cb7aa33aSEmmanuel Vadot subnodes, one for each of the ports exposed by the XUSB pad controller. 342cb7aa33aSEmmanuel Vadot Each port may need additional resources that can be referenced in its 343cb7aa33aSEmmanuel Vadot port node. 344cb7aa33aSEmmanuel Vadot 345cb7aa33aSEmmanuel Vadot The "status" property is used to enable or disable the use of a port. 346cb7aa33aSEmmanuel Vadot If set to "disabled", the port will not be used on the given board. In 347cb7aa33aSEmmanuel Vadot order to use the port, this property must be set to "okay". 348cb7aa33aSEmmanuel Vadot type: object 349cb7aa33aSEmmanuel Vadot additionalProperties: false 350cb7aa33aSEmmanuel Vadot properties: 351cb7aa33aSEmmanuel Vadot usb2-0: 352cb7aa33aSEmmanuel Vadot type: object 353cb7aa33aSEmmanuel Vadot additionalProperties: false 354cb7aa33aSEmmanuel Vadot properties: 355cb7aa33aSEmmanuel Vadot # no need to further describe this because the connector will 356cb7aa33aSEmmanuel Vadot # match on gpio-usb-b-connector or usb-b-connector and cause 357cb7aa33aSEmmanuel Vadot # that binding to be selected for the subnode 358cb7aa33aSEmmanuel Vadot connector: 359cb7aa33aSEmmanuel Vadot type: object 360cb7aa33aSEmmanuel Vadot 361cb7aa33aSEmmanuel Vadot mode: 362cb7aa33aSEmmanuel Vadot description: A string that determines the mode in which to 363cb7aa33aSEmmanuel Vadot run the port. 364cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 365cb7aa33aSEmmanuel Vadot enum: [ host, peripheral, otg ] 366cb7aa33aSEmmanuel Vadot 367cb7aa33aSEmmanuel Vadot nvidia,internal: 368cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 369cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 370cb7aa33aSEmmanuel Vadot the port is considered to be external. 371cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 372cb7aa33aSEmmanuel Vadot 373cb7aa33aSEmmanuel Vadot usb-role-switch: 374cb7aa33aSEmmanuel Vadot description: | 375cb7aa33aSEmmanuel Vadot A boolean property whole presence indicates that the port 376cb7aa33aSEmmanuel Vadot supports OTG or peripheral mode. If present, the port 377cb7aa33aSEmmanuel Vadot supports switching between USB host and peripheral roles. 378cb7aa33aSEmmanuel Vadot A connector must be added as a subnode in that case. 379cb7aa33aSEmmanuel Vadot 380cb7aa33aSEmmanuel Vadot See ../connector/usb-connector.yaml. 381cb7aa33aSEmmanuel Vadot 382cb7aa33aSEmmanuel Vadot vbus-supply: 383cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 384cb7aa33aSEmmanuel Vadot voltage. 385cb7aa33aSEmmanuel Vadot 386cb7aa33aSEmmanuel Vadot dependencies: 387cb7aa33aSEmmanuel Vadot usb-role-switch: [ connector ] 388cb7aa33aSEmmanuel Vadot 389cb7aa33aSEmmanuel Vadot usb2-1: 390cb7aa33aSEmmanuel Vadot type: object 391cb7aa33aSEmmanuel Vadot additionalProperties: false 392cb7aa33aSEmmanuel Vadot properties: 393cb7aa33aSEmmanuel Vadot # no need to further describe this because the connector will 394cb7aa33aSEmmanuel Vadot # match on gpio-usb-b-connector or usb-b-connector and cause 395cb7aa33aSEmmanuel Vadot # that binding to be selected for the subnode 396cb7aa33aSEmmanuel Vadot connector: 397cb7aa33aSEmmanuel Vadot type: object 398cb7aa33aSEmmanuel Vadot 399cb7aa33aSEmmanuel Vadot mode: 400cb7aa33aSEmmanuel Vadot description: A string that determines the mode in which to 401cb7aa33aSEmmanuel Vadot run the port. 402cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 403cb7aa33aSEmmanuel Vadot enum: [ host, peripheral, otg ] 404cb7aa33aSEmmanuel Vadot 405cb7aa33aSEmmanuel Vadot nvidia,internal: 406cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 407cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 408cb7aa33aSEmmanuel Vadot the port is considered to be external. 409cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 410cb7aa33aSEmmanuel Vadot 411cb7aa33aSEmmanuel Vadot usb-role-switch: 412cb7aa33aSEmmanuel Vadot description: | 413cb7aa33aSEmmanuel Vadot A boolean property whole presence indicates that the port 414cb7aa33aSEmmanuel Vadot supports OTG or peripheral mode. If present, the port 415cb7aa33aSEmmanuel Vadot supports switching between USB host and peripheral roles. 416cb7aa33aSEmmanuel Vadot A connector must be added as a subnode in that case. 417cb7aa33aSEmmanuel Vadot 418cb7aa33aSEmmanuel Vadot See ../connector/usb-connector.yaml. 419cb7aa33aSEmmanuel Vadot 420cb7aa33aSEmmanuel Vadot vbus-supply: 421cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 422cb7aa33aSEmmanuel Vadot voltage. 423cb7aa33aSEmmanuel Vadot 424cb7aa33aSEmmanuel Vadot dependencies: 425cb7aa33aSEmmanuel Vadot usb-role-switch: [ connector ] 426cb7aa33aSEmmanuel Vadot 427cb7aa33aSEmmanuel Vadot usb2-2: 428cb7aa33aSEmmanuel Vadot type: object 429cb7aa33aSEmmanuel Vadot additionalProperties: false 430cb7aa33aSEmmanuel Vadot properties: 431cb7aa33aSEmmanuel Vadot # no need to further describe this because the connector will 432cb7aa33aSEmmanuel Vadot # match on gpio-usb-b-connector or usb-b-connector and cause 433cb7aa33aSEmmanuel Vadot # that binding to be selected for the subnode 434cb7aa33aSEmmanuel Vadot connector: 435cb7aa33aSEmmanuel Vadot type: object 436cb7aa33aSEmmanuel Vadot 437cb7aa33aSEmmanuel Vadot mode: 438cb7aa33aSEmmanuel Vadot description: A string that determines the mode in which to 439cb7aa33aSEmmanuel Vadot run the port. 440cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 441cb7aa33aSEmmanuel Vadot enum: [ host, peripheral, otg ] 442cb7aa33aSEmmanuel Vadot 443cb7aa33aSEmmanuel Vadot nvidia,internal: 444cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 445cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 446cb7aa33aSEmmanuel Vadot the port is considered to be external. 447cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 448cb7aa33aSEmmanuel Vadot 449cb7aa33aSEmmanuel Vadot usb-role-switch: 450cb7aa33aSEmmanuel Vadot description: | 451cb7aa33aSEmmanuel Vadot A boolean property whole presence indicates that the port 452cb7aa33aSEmmanuel Vadot supports OTG or peripheral mode. If present, the port 453cb7aa33aSEmmanuel Vadot supports switching between USB host and peripheral roles. 454cb7aa33aSEmmanuel Vadot A connector must be added as a subnode in that case. 455cb7aa33aSEmmanuel Vadot 456cb7aa33aSEmmanuel Vadot See ../connector/usb-connector.yaml. 457cb7aa33aSEmmanuel Vadot 458cb7aa33aSEmmanuel Vadot vbus-supply: 459cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 460cb7aa33aSEmmanuel Vadot voltage. 461cb7aa33aSEmmanuel Vadot 462cb7aa33aSEmmanuel Vadot dependencies: 463cb7aa33aSEmmanuel Vadot usb-role-switch: [ connector ] 464cb7aa33aSEmmanuel Vadot 465cb7aa33aSEmmanuel Vadot usb2-3: 466cb7aa33aSEmmanuel Vadot type: object 467cb7aa33aSEmmanuel Vadot additionalProperties: false 468cb7aa33aSEmmanuel Vadot properties: 469cb7aa33aSEmmanuel Vadot # no need to further describe this because the connector will 470cb7aa33aSEmmanuel Vadot # match on gpio-usb-b-connector or usb-b-connector and cause 471cb7aa33aSEmmanuel Vadot # that binding to be selected for the subnode 472cb7aa33aSEmmanuel Vadot connector: 473cb7aa33aSEmmanuel Vadot type: object 474cb7aa33aSEmmanuel Vadot 475cb7aa33aSEmmanuel Vadot mode: 476cb7aa33aSEmmanuel Vadot description: A string that determines the mode in which to 477cb7aa33aSEmmanuel Vadot run the port. 478cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 479cb7aa33aSEmmanuel Vadot enum: [ host, peripheral, otg ] 480cb7aa33aSEmmanuel Vadot 481cb7aa33aSEmmanuel Vadot nvidia,internal: 482cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 483cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 484cb7aa33aSEmmanuel Vadot the port is considered to be external. 485cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 486cb7aa33aSEmmanuel Vadot 487cb7aa33aSEmmanuel Vadot usb-role-switch: 488cb7aa33aSEmmanuel Vadot description: | 489cb7aa33aSEmmanuel Vadot A boolean property whole presence indicates that the port 490cb7aa33aSEmmanuel Vadot supports OTG or peripheral mode. If present, the port 491cb7aa33aSEmmanuel Vadot supports switching between USB host and peripheral roles. 492cb7aa33aSEmmanuel Vadot A connector must be added as a subnode in that case. 493cb7aa33aSEmmanuel Vadot 494cb7aa33aSEmmanuel Vadot See ../connector/usb-connector.yaml. 495cb7aa33aSEmmanuel Vadot 496cb7aa33aSEmmanuel Vadot vbus-supply: 497cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 498cb7aa33aSEmmanuel Vadot voltage. 499cb7aa33aSEmmanuel Vadot 500cb7aa33aSEmmanuel Vadot dependencies: 501cb7aa33aSEmmanuel Vadot usb-role-switch: [ connector ] 502cb7aa33aSEmmanuel Vadot 503cb7aa33aSEmmanuel Vadot hsic-0: 504cb7aa33aSEmmanuel Vadot type: object 505cb7aa33aSEmmanuel Vadot additionalProperties: false 506cb7aa33aSEmmanuel Vadot properties: 507cb7aa33aSEmmanuel Vadot vbus-supply: 508cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 509cb7aa33aSEmmanuel Vadot voltage. 510cb7aa33aSEmmanuel Vadot 511cb7aa33aSEmmanuel Vadot hsic-1: 512cb7aa33aSEmmanuel Vadot type: object 513cb7aa33aSEmmanuel Vadot additionalProperties: false 514cb7aa33aSEmmanuel Vadot properties: 515cb7aa33aSEmmanuel Vadot vbus-supply: 516cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 517cb7aa33aSEmmanuel Vadot voltage. 518cb7aa33aSEmmanuel Vadot 519cb7aa33aSEmmanuel Vadot usb3-0: 520cb7aa33aSEmmanuel Vadot type: object 521cb7aa33aSEmmanuel Vadot additionalProperties: false 522cb7aa33aSEmmanuel Vadot properties: 523cb7aa33aSEmmanuel Vadot nvidia,internal: 524cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 525cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 526cb7aa33aSEmmanuel Vadot the port is considered to be external. 527cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 528cb7aa33aSEmmanuel Vadot 529cb7aa33aSEmmanuel Vadot nvidia,usb2-companion: 530cb7aa33aSEmmanuel Vadot description: A single cell that specifies the physical port 531cb7aa33aSEmmanuel Vadot number to map this super-speed USB port to. The range of 532cb7aa33aSEmmanuel Vadot valid port numbers varies with the SoC generation. 533cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 534cb7aa33aSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 535cb7aa33aSEmmanuel Vadot 536cb7aa33aSEmmanuel Vadot vbus-supply: 537cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 538cb7aa33aSEmmanuel Vadot voltage. 539cb7aa33aSEmmanuel Vadot 540cb7aa33aSEmmanuel Vadot usb3-1: 541cb7aa33aSEmmanuel Vadot type: object 542cb7aa33aSEmmanuel Vadot additionalProperties: false 543cb7aa33aSEmmanuel Vadot properties: 544cb7aa33aSEmmanuel Vadot nvidia,internal: 545cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 546cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 547cb7aa33aSEmmanuel Vadot the port is considered to be external. 548cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 549cb7aa33aSEmmanuel Vadot 550cb7aa33aSEmmanuel Vadot nvidia,usb2-companion: 551cb7aa33aSEmmanuel Vadot description: A single cell that specifies the physical port 552cb7aa33aSEmmanuel Vadot number to map this super-speed USB port to. The range of 553cb7aa33aSEmmanuel Vadot valid port numbers varies with the SoC generation. 554cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 555cb7aa33aSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 556cb7aa33aSEmmanuel Vadot 557cb7aa33aSEmmanuel Vadot vbus-supply: 558cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 559cb7aa33aSEmmanuel Vadot voltage. 560cb7aa33aSEmmanuel Vadot 561cb7aa33aSEmmanuel Vadot usb3-2: 562cb7aa33aSEmmanuel Vadot type: object 563cb7aa33aSEmmanuel Vadot additionalProperties: false 564cb7aa33aSEmmanuel Vadot properties: 565cb7aa33aSEmmanuel Vadot nvidia,internal: 566cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 567cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 568cb7aa33aSEmmanuel Vadot the port is considered to be external. 569cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 570cb7aa33aSEmmanuel Vadot 571cb7aa33aSEmmanuel Vadot nvidia,usb2-companion: 572cb7aa33aSEmmanuel Vadot description: A single cell that specifies the physical port 573cb7aa33aSEmmanuel Vadot number to map this super-speed USB port to. The range of 574cb7aa33aSEmmanuel Vadot valid port numbers varies with the SoC generation. 575cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 576cb7aa33aSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 577cb7aa33aSEmmanuel Vadot 578cb7aa33aSEmmanuel Vadot vbus-supply: 579cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 580cb7aa33aSEmmanuel Vadot voltage. 581cb7aa33aSEmmanuel Vadot 582cb7aa33aSEmmanuel Vadot usb3-3: 583cb7aa33aSEmmanuel Vadot type: object 584cb7aa33aSEmmanuel Vadot additionalProperties: false 585cb7aa33aSEmmanuel Vadot properties: 586cb7aa33aSEmmanuel Vadot nvidia,internal: 587cb7aa33aSEmmanuel Vadot description: A boolean property whose presence determines 588cb7aa33aSEmmanuel Vadot that a port is internal. In the absence of this property 589cb7aa33aSEmmanuel Vadot the port is considered to be external. 590cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 591cb7aa33aSEmmanuel Vadot 592cb7aa33aSEmmanuel Vadot nvidia,usb2-companion: 593cb7aa33aSEmmanuel Vadot description: A single cell that specifies the physical port 594cb7aa33aSEmmanuel Vadot number to map this super-speed USB port to. The range of 595cb7aa33aSEmmanuel Vadot valid port numbers varies with the SoC generation. 596cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 597cb7aa33aSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 598cb7aa33aSEmmanuel Vadot 599cb7aa33aSEmmanuel Vadot vbus-supply: 600cb7aa33aSEmmanuel Vadot description: A phandle to the regulator supplying the VBUS 601cb7aa33aSEmmanuel Vadot voltage. 602cb7aa33aSEmmanuel Vadot 603cb7aa33aSEmmanuel VadotadditionalProperties: false 604cb7aa33aSEmmanuel Vadot 605cb7aa33aSEmmanuel Vadotrequired: 606cb7aa33aSEmmanuel Vadot - avdd-pll-utmip-supply 607cb7aa33aSEmmanuel Vadot - avdd-pll-uerefe-supply 608cb7aa33aSEmmanuel Vadot - dvdd-pex-pll-supply 609cb7aa33aSEmmanuel Vadot - hvdd-pex-pll-e-supply 610cb7aa33aSEmmanuel Vadot 611cb7aa33aSEmmanuel Vadotexamples: 612cb7aa33aSEmmanuel Vadot - | 613cb7aa33aSEmmanuel Vadot #include <dt-bindings/clock/tegra210-car.h> 614cb7aa33aSEmmanuel Vadot #include <dt-bindings/gpio/tegra-gpio.h> 615cb7aa33aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 616cb7aa33aSEmmanuel Vadot 617cb7aa33aSEmmanuel Vadot padctl@7009f000 { 618cb7aa33aSEmmanuel Vadot compatible = "nvidia,tegra210-xusb-padctl"; 619cb7aa33aSEmmanuel Vadot reg = <0x7009f000 0x1000>; 620cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 621cb7aa33aSEmmanuel Vadot resets = <&tegra_car 142>; 622cb7aa33aSEmmanuel Vadot reset-names = "padctl"; 623cb7aa33aSEmmanuel Vadot 624cb7aa33aSEmmanuel Vadot avdd-pll-utmip-supply = <&vdd_1v8>; 625cb7aa33aSEmmanuel Vadot avdd-pll-uerefe-supply = <&vdd_pex_1v05>; 626cb7aa33aSEmmanuel Vadot dvdd-pex-pll-supply = <&vdd_pex_1v05>; 627cb7aa33aSEmmanuel Vadot hvdd-pex-pll-e-supply = <&vdd_1v8>; 628cb7aa33aSEmmanuel Vadot 629cb7aa33aSEmmanuel Vadot pads { 630cb7aa33aSEmmanuel Vadot usb2 { 631cb7aa33aSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>; 632cb7aa33aSEmmanuel Vadot clock-names = "trk"; 633cb7aa33aSEmmanuel Vadot 634cb7aa33aSEmmanuel Vadot lanes { 635cb7aa33aSEmmanuel Vadot usb2-0 { 636cb7aa33aSEmmanuel Vadot nvidia,function = "xusb"; 637cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 638cb7aa33aSEmmanuel Vadot }; 639cb7aa33aSEmmanuel Vadot 640cb7aa33aSEmmanuel Vadot usb2-1 { 641cb7aa33aSEmmanuel Vadot nvidia,function = "xusb"; 642cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 643cb7aa33aSEmmanuel Vadot }; 644cb7aa33aSEmmanuel Vadot 645cb7aa33aSEmmanuel Vadot usb2-2 { 646cb7aa33aSEmmanuel Vadot nvidia,function = "xusb"; 647cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 648cb7aa33aSEmmanuel Vadot }; 649cb7aa33aSEmmanuel Vadot 650cb7aa33aSEmmanuel Vadot usb2-3 { 651cb7aa33aSEmmanuel Vadot nvidia,function = "xusb"; 652cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 653cb7aa33aSEmmanuel Vadot }; 654cb7aa33aSEmmanuel Vadot }; 655cb7aa33aSEmmanuel Vadot }; 656cb7aa33aSEmmanuel Vadot 657cb7aa33aSEmmanuel Vadot hsic { 658cb7aa33aSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>; 659cb7aa33aSEmmanuel Vadot clock-names = "trk"; 660cb7aa33aSEmmanuel Vadot status = "disabled"; 661cb7aa33aSEmmanuel Vadot 662cb7aa33aSEmmanuel Vadot lanes { 663cb7aa33aSEmmanuel Vadot hsic-0 { 664cb7aa33aSEmmanuel Vadot status = "disabled"; 665cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 666cb7aa33aSEmmanuel Vadot }; 667cb7aa33aSEmmanuel Vadot 668cb7aa33aSEmmanuel Vadot hsic-1 { 669cb7aa33aSEmmanuel Vadot status = "disabled"; 670cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 671cb7aa33aSEmmanuel Vadot }; 672cb7aa33aSEmmanuel Vadot }; 673cb7aa33aSEmmanuel Vadot }; 674cb7aa33aSEmmanuel Vadot 675cb7aa33aSEmmanuel Vadot pcie { 676cb7aa33aSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 677cb7aa33aSEmmanuel Vadot clock-names = "pll"; 678cb7aa33aSEmmanuel Vadot resets = <&tegra_car 205>; 679cb7aa33aSEmmanuel Vadot reset-names = "phy"; 680cb7aa33aSEmmanuel Vadot 681cb7aa33aSEmmanuel Vadot lanes { 682cb7aa33aSEmmanuel Vadot pcie-0 { 683cb7aa33aSEmmanuel Vadot nvidia,function = "pcie-x1"; 684cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 685cb7aa33aSEmmanuel Vadot }; 686cb7aa33aSEmmanuel Vadot 687cb7aa33aSEmmanuel Vadot pcie-1 { 688cb7aa33aSEmmanuel Vadot nvidia,function = "pcie-x4"; 689cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 690cb7aa33aSEmmanuel Vadot }; 691cb7aa33aSEmmanuel Vadot 692cb7aa33aSEmmanuel Vadot pcie-2 { 693cb7aa33aSEmmanuel Vadot nvidia,function = "pcie-x4"; 694cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 695cb7aa33aSEmmanuel Vadot }; 696cb7aa33aSEmmanuel Vadot 697cb7aa33aSEmmanuel Vadot pcie-3 { 698cb7aa33aSEmmanuel Vadot nvidia,function = "pcie-x4"; 699cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 700cb7aa33aSEmmanuel Vadot }; 701cb7aa33aSEmmanuel Vadot 702cb7aa33aSEmmanuel Vadot pcie-4 { 703cb7aa33aSEmmanuel Vadot nvidia,function = "pcie-x4"; 704cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 705cb7aa33aSEmmanuel Vadot }; 706cb7aa33aSEmmanuel Vadot 707cb7aa33aSEmmanuel Vadot pcie-5 { 708cb7aa33aSEmmanuel Vadot nvidia,function = "usb3-ss"; 709cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 710cb7aa33aSEmmanuel Vadot }; 711cb7aa33aSEmmanuel Vadot 712cb7aa33aSEmmanuel Vadot pcie-6 { 713cb7aa33aSEmmanuel Vadot nvidia,function = "usb3-ss"; 714cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 715cb7aa33aSEmmanuel Vadot }; 716cb7aa33aSEmmanuel Vadot }; 717cb7aa33aSEmmanuel Vadot }; 718cb7aa33aSEmmanuel Vadot 719cb7aa33aSEmmanuel Vadot sata { 720cb7aa33aSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 721cb7aa33aSEmmanuel Vadot clock-names = "pll"; 722cb7aa33aSEmmanuel Vadot resets = <&tegra_car 204>; 723cb7aa33aSEmmanuel Vadot reset-names = "phy"; 724cb7aa33aSEmmanuel Vadot 725cb7aa33aSEmmanuel Vadot lanes { 726cb7aa33aSEmmanuel Vadot sata-0 { 727cb7aa33aSEmmanuel Vadot nvidia,function = "sata"; 728cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 729cb7aa33aSEmmanuel Vadot }; 730cb7aa33aSEmmanuel Vadot }; 731cb7aa33aSEmmanuel Vadot }; 732cb7aa33aSEmmanuel Vadot }; 733cb7aa33aSEmmanuel Vadot 734cb7aa33aSEmmanuel Vadot ports { 735cb7aa33aSEmmanuel Vadot usb2-0 { 736cb7aa33aSEmmanuel Vadot mode = "peripheral"; 737cb7aa33aSEmmanuel Vadot usb-role-switch; 738cb7aa33aSEmmanuel Vadot 739cb7aa33aSEmmanuel Vadot connector { 740cb7aa33aSEmmanuel Vadot compatible = "gpio-usb-b-connector", 741cb7aa33aSEmmanuel Vadot "usb-b-connector"; 742cb7aa33aSEmmanuel Vadot label = "micro-USB"; 743cb7aa33aSEmmanuel Vadot type = "micro"; 744cb7aa33aSEmmanuel Vadot vbus-gpios = <&gpio TEGRA_GPIO(CC, 4) GPIO_ACTIVE_LOW>; 745cb7aa33aSEmmanuel Vadot }; 746cb7aa33aSEmmanuel Vadot }; 747cb7aa33aSEmmanuel Vadot 748cb7aa33aSEmmanuel Vadot usb2-1 { 749cb7aa33aSEmmanuel Vadot vbus-supply = <&vdd_5v0_rtl>; 750cb7aa33aSEmmanuel Vadot mode = "host"; 751cb7aa33aSEmmanuel Vadot }; 752cb7aa33aSEmmanuel Vadot 753cb7aa33aSEmmanuel Vadot usb2-2 { 754cb7aa33aSEmmanuel Vadot vbus-supply = <&vdd_usb_vbus>; 755cb7aa33aSEmmanuel Vadot mode = "host"; 756cb7aa33aSEmmanuel Vadot }; 757cb7aa33aSEmmanuel Vadot 758cb7aa33aSEmmanuel Vadot usb2-3 { 759cb7aa33aSEmmanuel Vadot mode = "host"; 760cb7aa33aSEmmanuel Vadot }; 761cb7aa33aSEmmanuel Vadot 762cb7aa33aSEmmanuel Vadot hsic-0 { 763cb7aa33aSEmmanuel Vadot status = "disabled"; 764cb7aa33aSEmmanuel Vadot }; 765cb7aa33aSEmmanuel Vadot 766cb7aa33aSEmmanuel Vadot hsic-1 { 767cb7aa33aSEmmanuel Vadot status = "disabled"; 768cb7aa33aSEmmanuel Vadot }; 769cb7aa33aSEmmanuel Vadot 770cb7aa33aSEmmanuel Vadot usb3-0 { 771cb7aa33aSEmmanuel Vadot nvidia,usb2-companion = <1>; 772cb7aa33aSEmmanuel Vadot }; 773cb7aa33aSEmmanuel Vadot 774cb7aa33aSEmmanuel Vadot usb3-1 { 775cb7aa33aSEmmanuel Vadot nvidia,usb2-companion = <2>; 776cb7aa33aSEmmanuel Vadot }; 777cb7aa33aSEmmanuel Vadot 778cb7aa33aSEmmanuel Vadot usb3-2 { 779cb7aa33aSEmmanuel Vadot status = "disabled"; 780cb7aa33aSEmmanuel Vadot }; 781cb7aa33aSEmmanuel Vadot 782cb7aa33aSEmmanuel Vadot usb3-3 { 783cb7aa33aSEmmanuel Vadot status = "disabled"; 784cb7aa33aSEmmanuel Vadot }; 785cb7aa33aSEmmanuel Vadot }; 786cb7aa33aSEmmanuel Vadot }; 787