~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/usb/nvidia,tegra-xudc.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/usb/nvidia,tegra-xudc.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: NVIDIA Tegra XUSB device mode controller (XUDC)
  8 
  9 description:
 10   The Tegra XUDC controller supports both USB 2.0 HighSpeed/FullSpeed and
 11   USB 3.0 SuperSpeed protocols.
 12 
 13 maintainers:
 14   - Nagarjuna Kristam <nkristam@nvidia.com>
 15   - JC Kuo <jckuo@nvidia.com>
 16   - Thierry Reding <treding@nvidia.com>
 17 
 18 properties:
 19   compatible:
 20     items:
 21       - enum:
 22           - nvidia,tegra210-xudc # For Tegra210
 23           - nvidia,tegra186-xudc # For Tegra186
 24           - nvidia,tegra194-xudc # For Tegra194
 25           - nvidia,tegra234-xudc # For Tegra234
 26 
 27   reg:
 28     minItems: 2
 29     items:
 30       - description: XUSB device controller registers
 31       - description: XUSB device PCI Config registers
 32       - description: XUSB device registers.
 33 
 34   reg-names:
 35     minItems: 2
 36     items:
 37       - const: base
 38       - const: fpci
 39       - const: ipfs
 40 
 41   interrupts:
 42     maxItems: 1
 43     description: Must contain the XUSB device interrupt.
 44 
 45   clocks:
 46     minItems: 4
 47     items:
 48       - description: Clock to enable core XUSB dev clock.
 49       - description: Clock to enable XUSB super speed clock.
 50       - description: Clock to enable XUSB super speed dev clock.
 51       - description: Clock to enable XUSB high speed dev clock.
 52       - description: Clock to enable XUSB full speed dev clock.
 53 
 54   clock-names:
 55     minItems: 4
 56     items:
 57       - const: dev
 58       - const: ss
 59       - const: ss_src
 60       - const: fs_src
 61       - const: hs_src
 62 
 63   interconnects:
 64     items:
 65       - description: memory read client
 66       - description: memory write client
 67 
 68   interconnect-names:
 69     items:
 70       - const: dma-mem # read
 71       - const: write
 72 
 73   iommus:
 74     maxItems: 1
 75 
 76   power-domains:
 77     items:
 78       - description: XUSBB(device) power-domain
 79       - description: XUSBA(superspeed) power-domain
 80 
 81   power-domain-names:
 82     items:
 83       - const: dev
 84       - const: ss
 85 
 86   nvidia,xusb-padctl:
 87     $ref: /schemas/types.yaml#/definitions/phandle
 88     description:
 89       phandle to the XUSB pad controller that is used to configure the USB pads
 90       used by the XUDC controller.
 91 
 92   phys:
 93     minItems: 1
 94     maxItems: 2
 95     description:
 96       Must contain an entry for each entry in phy-names.
 97       See ../phy/phy-bindings.txt for details.
 98 
 99   phy-names:
100     minItems: 1
101     items:
102       - const: usb2-0
103       - const: usb3-0
104 
105   avddio-usb-supply:
106     description: PCIe/USB3 analog logic power supply. Must supply 1.05 V.
107 
108   hvdd-usb-supply:
109     description: USB controller power supply. Must supply 3.3 V.
110 
111   dma-coherent: true
112 
113 required:
114   - compatible
115   - reg
116   - reg-names
117   - interrupts
118   - clocks
119   - clock-names
120   - power-domains
121   - power-domain-names
122   - nvidia,xusb-padctl
123   - phys
124   - phy-names
125 
126 allOf:
127   - if:
128       properties:
129         compatible:
130           contains:
131             enum:
132               - nvidia,tegra210-xudc
133     then:
134       properties:
135         reg:
136           minItems: 3
137         reg-names:
138           minItems: 3
139         clocks:
140           minItems: 5
141         clock-names:
142           minItems: 5
143       required:
144         - avddio-usb-supply
145         - hvdd-usb-supply
146 
147   - if:
148       properties:
149         compatible:
150           contains:
151             enum:
152               - nvidia,tegra186-xudc
153               - nvidia,tegra194-xudc
154               - nvidia,tegra234-xudc
155     then:
156       properties:
157         reg:
158           maxItems: 2
159         reg-names:
160           maxItems: 2
161         clocks:
162           maxItems: 4
163         clock-names:
164           maxItems: 4
165 
166   - if:
167       properties:
168         compatible:
169           contains:
170             enum:
171               - nvidia,tegra194-xudc
172               - nvidia,tegra234-xudc
173     then:
174       required:
175         - dma-coherent
176 
177 additionalProperties: false
178 
179 examples:
180   - |
181     #include <dt-bindings/clock/tegra210-car.h>
182     #include <dt-bindings/gpio/tegra-gpio.h>
183     #include <dt-bindings/interrupt-controller/arm-gic.h>
184 
185     usb@700d0000 {
186         compatible = "nvidia,tegra210-xudc";
187         reg = <0x700d0000 0x8000>,
188               <0x700d8000 0x1000>,
189               <0x700d9000 0x1000>;
190         reg-names = "base", "fpci", "ipfs";
191 
192         interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
193 
194         clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>,
195                  <&tegra_car TEGRA210_CLK_XUSB_SS>,
196                  <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>,
197                  <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
198                  <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>;
199         clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src";
200 
201         power-domains = <&pd_xusbdev>, <&pd_xusbss>;
202         power-domain-names = "dev", "ss";
203 
204         nvidia,xusb-padctl = <&padctl>;
205 
206         phys = <&micro_b>;
207         phy-names = "usb2-0";
208 
209         avddio-usb-supply = <&vdd_pex_1v05>;
210         hvdd-usb-supply = <&vdd_3v3_sys>;
211     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php