xref: /freebsd/sys/contrib/device-tree/Bindings/phy/nvidia,tegra20-usb-phy.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1*8cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8cc087a1SEmmanuel Vadot%YAML 1.2
3*8cc087a1SEmmanuel Vadot---
4*8cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/nvidia,tegra20-usb-phy.yaml#
5*8cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8cc087a1SEmmanuel Vadot
7*8cc087a1SEmmanuel Vadottitle: NVIDIA Tegra USB PHY
8*8cc087a1SEmmanuel Vadot
9*8cc087a1SEmmanuel Vadotmaintainers:
10*8cc087a1SEmmanuel Vadot  - Dmitry Osipenko <digetx@gmail.com>
11*8cc087a1SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
12*8cc087a1SEmmanuel Vadot  - Thierry Reding <thierry.reding@gmail.com>
13*8cc087a1SEmmanuel Vadot
14*8cc087a1SEmmanuel Vadotproperties:
15*8cc087a1SEmmanuel Vadot  compatible:
16*8cc087a1SEmmanuel Vadot    oneOf:
17*8cc087a1SEmmanuel Vadot      - items:
18*8cc087a1SEmmanuel Vadot          - enum:
19*8cc087a1SEmmanuel Vadot              - nvidia,tegra124-usb-phy
20*8cc087a1SEmmanuel Vadot              - nvidia,tegra114-usb-phy
21*8cc087a1SEmmanuel Vadot          - enum:
22*8cc087a1SEmmanuel Vadot              - nvidia,tegra30-usb-phy
23*8cc087a1SEmmanuel Vadot      - items:
24*8cc087a1SEmmanuel Vadot          - enum:
25*8cc087a1SEmmanuel Vadot              - nvidia,tegra30-usb-phy
26*8cc087a1SEmmanuel Vadot              - nvidia,tegra20-usb-phy
27*8cc087a1SEmmanuel Vadot
28*8cc087a1SEmmanuel Vadot  reg:
29*8cc087a1SEmmanuel Vadot    minItems: 1
30*8cc087a1SEmmanuel Vadot    maxItems: 2
31*8cc087a1SEmmanuel Vadot    description: |
32*8cc087a1SEmmanuel Vadot      PHY0 and PHY2 share power and ground, PHY0 contains shared registers.
33*8cc087a1SEmmanuel Vadot      PHY0 and PHY2 must specify two register sets, where the first set is
34*8cc087a1SEmmanuel Vadot      PHY own registers and the second set is the PHY0 registers.
35*8cc087a1SEmmanuel Vadot
36*8cc087a1SEmmanuel Vadot  clocks:
37*8cc087a1SEmmanuel Vadot    anyOf:
38*8cc087a1SEmmanuel Vadot      - items:
39*8cc087a1SEmmanuel Vadot          - description: Registers clock
40*8cc087a1SEmmanuel Vadot          - description: Main PHY clock
41*8cc087a1SEmmanuel Vadot
42*8cc087a1SEmmanuel Vadot      - items:
43*8cc087a1SEmmanuel Vadot          - description: Registers clock
44*8cc087a1SEmmanuel Vadot          - description: Main PHY clock
45*8cc087a1SEmmanuel Vadot          - description: ULPI PHY clock
46*8cc087a1SEmmanuel Vadot
47*8cc087a1SEmmanuel Vadot      - items:
48*8cc087a1SEmmanuel Vadot          - description: Registers clock
49*8cc087a1SEmmanuel Vadot          - description: Main PHY clock
50*8cc087a1SEmmanuel Vadot          - description: UTMI pads control registers clock
51*8cc087a1SEmmanuel Vadot
52*8cc087a1SEmmanuel Vadot      - items:
53*8cc087a1SEmmanuel Vadot          - description: Registers clock
54*8cc087a1SEmmanuel Vadot          - description: Main PHY clock
55*8cc087a1SEmmanuel Vadot          - description: UTMI timeout clock
56*8cc087a1SEmmanuel Vadot          - description: UTMI pads control registers clock
57*8cc087a1SEmmanuel Vadot
58*8cc087a1SEmmanuel Vadot  clock-names:
59*8cc087a1SEmmanuel Vadot    oneOf:
60*8cc087a1SEmmanuel Vadot      - items:
61*8cc087a1SEmmanuel Vadot          - const: reg
62*8cc087a1SEmmanuel Vadot          - const: pll_u
63*8cc087a1SEmmanuel Vadot
64*8cc087a1SEmmanuel Vadot      - items:
65*8cc087a1SEmmanuel Vadot          - const: reg
66*8cc087a1SEmmanuel Vadot          - const: pll_u
67*8cc087a1SEmmanuel Vadot          - const: ulpi-link
68*8cc087a1SEmmanuel Vadot
69*8cc087a1SEmmanuel Vadot      - items:
70*8cc087a1SEmmanuel Vadot          - const: reg
71*8cc087a1SEmmanuel Vadot          - const: pll_u
72*8cc087a1SEmmanuel Vadot          - const: utmi-pads
73*8cc087a1SEmmanuel Vadot
74*8cc087a1SEmmanuel Vadot      - items:
75*8cc087a1SEmmanuel Vadot          - const: reg
76*8cc087a1SEmmanuel Vadot          - const: pll_u
77*8cc087a1SEmmanuel Vadot          - const: timer
78*8cc087a1SEmmanuel Vadot          - const: utmi-pads
79*8cc087a1SEmmanuel Vadot
80*8cc087a1SEmmanuel Vadot  interrupts:
81*8cc087a1SEmmanuel Vadot    maxItems: 1
82*8cc087a1SEmmanuel Vadot
83*8cc087a1SEmmanuel Vadot  resets:
84*8cc087a1SEmmanuel Vadot    oneOf:
85*8cc087a1SEmmanuel Vadot      - maxItems: 1
86*8cc087a1SEmmanuel Vadot        description: PHY reset
87*8cc087a1SEmmanuel Vadot
88*8cc087a1SEmmanuel Vadot      - items:
89*8cc087a1SEmmanuel Vadot          - description: PHY reset
90*8cc087a1SEmmanuel Vadot          - description: UTMI pads reset
91*8cc087a1SEmmanuel Vadot
92*8cc087a1SEmmanuel Vadot  reset-names:
93*8cc087a1SEmmanuel Vadot    oneOf:
94*8cc087a1SEmmanuel Vadot      - const: usb
95*8cc087a1SEmmanuel Vadot
96*8cc087a1SEmmanuel Vadot      - items:
97*8cc087a1SEmmanuel Vadot          - const: usb
98*8cc087a1SEmmanuel Vadot          - const: utmi-pads
99*8cc087a1SEmmanuel Vadot
100*8cc087a1SEmmanuel Vadot  "#phy-cells":
101*8cc087a1SEmmanuel Vadot    const: 0
102*8cc087a1SEmmanuel Vadot
103*8cc087a1SEmmanuel Vadot  phy_type:
104*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
105*8cc087a1SEmmanuel Vadot    enum: [utmi, ulpi, hsic]
106*8cc087a1SEmmanuel Vadot
107*8cc087a1SEmmanuel Vadot  dr_mode:
108*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
109*8cc087a1SEmmanuel Vadot    enum: [host, peripheral, otg]
110*8cc087a1SEmmanuel Vadot    default: host
111*8cc087a1SEmmanuel Vadot
112*8cc087a1SEmmanuel Vadot  vbus-supply:
113*8cc087a1SEmmanuel Vadot    description: Regulator controlling USB VBUS.
114*8cc087a1SEmmanuel Vadot
115*8cc087a1SEmmanuel Vadot  nvidia,has-legacy-mode:
116*8cc087a1SEmmanuel Vadot    description: |
117*8cc087a1SEmmanuel Vadot      Indicates whether this controller can operate in legacy mode
118*8cc087a1SEmmanuel Vadot      (as APX 2500 / 2600). In legacy mode some registers are accessed
119*8cc087a1SEmmanuel Vadot      through the APB_MISC base address instead of the USB controller.
120*8cc087a1SEmmanuel Vadot    type: boolean
121*8cc087a1SEmmanuel Vadot
122*8cc087a1SEmmanuel Vadot  nvidia,is-wired:
123*8cc087a1SEmmanuel Vadot    description: |
124*8cc087a1SEmmanuel Vadot      Indicates whether we can do certain kind of power optimizations for
125*8cc087a1SEmmanuel Vadot      the devices that are always connected. e.g. modem.
126*8cc087a1SEmmanuel Vadot    type: boolean
127*8cc087a1SEmmanuel Vadot
128*8cc087a1SEmmanuel Vadot  nvidia,has-utmi-pad-registers:
129*8cc087a1SEmmanuel Vadot    description: |
130*8cc087a1SEmmanuel Vadot      Indicates whether this controller contains the UTMI pad control
131*8cc087a1SEmmanuel Vadot      registers common to all USB controllers.
132*8cc087a1SEmmanuel Vadot    type: boolean
133*8cc087a1SEmmanuel Vadot
134*8cc087a1SEmmanuel Vadot  nvidia,hssync-start-delay:
135*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
136*8cc087a1SEmmanuel Vadot    minimum: 0
137*8cc087a1SEmmanuel Vadot    maximum: 31
138*8cc087a1SEmmanuel Vadot    description: |
139*8cc087a1SEmmanuel Vadot      Number of 480 MHz clock cycles to wait before start of sync launches
140*8cc087a1SEmmanuel Vadot      RxActive.
141*8cc087a1SEmmanuel Vadot
142*8cc087a1SEmmanuel Vadot  nvidia,elastic-limit:
143*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
144*8cc087a1SEmmanuel Vadot    minimum: 0
145*8cc087a1SEmmanuel Vadot    maximum: 31
146*8cc087a1SEmmanuel Vadot    description: Variable FIFO Depth of elastic input store.
147*8cc087a1SEmmanuel Vadot
148*8cc087a1SEmmanuel Vadot  nvidia,idle-wait-delay:
149*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
150*8cc087a1SEmmanuel Vadot    minimum: 0
151*8cc087a1SEmmanuel Vadot    maximum: 31
152*8cc087a1SEmmanuel Vadot    description: |
153*8cc087a1SEmmanuel Vadot      Number of 480 MHz clock cycles of idle to wait before declare IDLE.
154*8cc087a1SEmmanuel Vadot
155*8cc087a1SEmmanuel Vadot  nvidia,term-range-adj:
156*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
157*8cc087a1SEmmanuel Vadot    minimum: 0
158*8cc087a1SEmmanuel Vadot    maximum: 15
159*8cc087a1SEmmanuel Vadot    description: Range adjustment on terminations.
160*8cc087a1SEmmanuel Vadot
161*8cc087a1SEmmanuel Vadot  nvidia,xcvr-setup:
162*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
163*8cc087a1SEmmanuel Vadot    minimum: 0
164*8cc087a1SEmmanuel Vadot    maximum: 127
165*8cc087a1SEmmanuel Vadot    description: Input of XCVR cell, HS driver output control.
166*8cc087a1SEmmanuel Vadot
167*8cc087a1SEmmanuel Vadot  nvidia,xcvr-setup-use-fuses:
168*8cc087a1SEmmanuel Vadot    description: Indicates that the value is read from the on-chip fuses.
169*8cc087a1SEmmanuel Vadot    type: boolean
170*8cc087a1SEmmanuel Vadot
171*8cc087a1SEmmanuel Vadot  nvidia,xcvr-lsfslew:
172*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
173*8cc087a1SEmmanuel Vadot    minimum: 0
174*8cc087a1SEmmanuel Vadot    maximum: 3
175*8cc087a1SEmmanuel Vadot    description: LS falling slew rate control.
176*8cc087a1SEmmanuel Vadot
177*8cc087a1SEmmanuel Vadot  nvidia,xcvr-lsrslew:
178*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
179*8cc087a1SEmmanuel Vadot    minimum: 0
180*8cc087a1SEmmanuel Vadot    maximum: 3
181*8cc087a1SEmmanuel Vadot    description: LS rising slew rate control.
182*8cc087a1SEmmanuel Vadot
183*8cc087a1SEmmanuel Vadot  nvidia,xcvr-hsslew:
184*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
185*8cc087a1SEmmanuel Vadot    minimum: 0
186*8cc087a1SEmmanuel Vadot    maximum: 511
187*8cc087a1SEmmanuel Vadot    description: HS slew rate control.
188*8cc087a1SEmmanuel Vadot
189*8cc087a1SEmmanuel Vadot  nvidia,hssquelch-level:
190*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
191*8cc087a1SEmmanuel Vadot    minimum: 0
192*8cc087a1SEmmanuel Vadot    maximum: 3
193*8cc087a1SEmmanuel Vadot    description: HS squelch detector level.
194*8cc087a1SEmmanuel Vadot
195*8cc087a1SEmmanuel Vadot  nvidia,hsdiscon-level:
196*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
197*8cc087a1SEmmanuel Vadot    minimum: 0
198*8cc087a1SEmmanuel Vadot    maximum: 7
199*8cc087a1SEmmanuel Vadot    description: HS disconnect detector level.
200*8cc087a1SEmmanuel Vadot
201*8cc087a1SEmmanuel Vadot  nvidia,phy-reset-gpio:
202*8cc087a1SEmmanuel Vadot    maxItems: 1
203*8cc087a1SEmmanuel Vadot    description: GPIO used to reset the PHY.
204*8cc087a1SEmmanuel Vadot
205*8cc087a1SEmmanuel Vadot  nvidia,pmc:
206*8cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
207*8cc087a1SEmmanuel Vadot    items:
208*8cc087a1SEmmanuel Vadot      - items:
209*8cc087a1SEmmanuel Vadot          - description: Phandle to Power Management controller.
210*8cc087a1SEmmanuel Vadot          - description: USB controller ID.
211*8cc087a1SEmmanuel Vadot    description:
212*8cc087a1SEmmanuel Vadot      Phandle to Power Management controller.
213*8cc087a1SEmmanuel Vadot
214*8cc087a1SEmmanuel Vadotrequired:
215*8cc087a1SEmmanuel Vadot  - compatible
216*8cc087a1SEmmanuel Vadot  - reg
217*8cc087a1SEmmanuel Vadot  - clocks
218*8cc087a1SEmmanuel Vadot  - clock-names
219*8cc087a1SEmmanuel Vadot  - resets
220*8cc087a1SEmmanuel Vadot  - reset-names
221*8cc087a1SEmmanuel Vadot  - "#phy-cells"
222*8cc087a1SEmmanuel Vadot  - phy_type
223*8cc087a1SEmmanuel Vadot
224*8cc087a1SEmmanuel VadotadditionalProperties: false
225*8cc087a1SEmmanuel Vadot
226*8cc087a1SEmmanuel VadotallOf:
227*8cc087a1SEmmanuel Vadot  - if:
228*8cc087a1SEmmanuel Vadot      properties:
229*8cc087a1SEmmanuel Vadot        phy_type:
230*8cc087a1SEmmanuel Vadot          const: utmi
231*8cc087a1SEmmanuel Vadot
232*8cc087a1SEmmanuel Vadot    then:
233*8cc087a1SEmmanuel Vadot      properties:
234*8cc087a1SEmmanuel Vadot        reg:
235*8cc087a1SEmmanuel Vadot          minItems: 2
236*8cc087a1SEmmanuel Vadot          maxItems: 2
237*8cc087a1SEmmanuel Vadot
238*8cc087a1SEmmanuel Vadot        resets:
239*8cc087a1SEmmanuel Vadot          maxItems: 2
240*8cc087a1SEmmanuel Vadot
241*8cc087a1SEmmanuel Vadot        reset-names:
242*8cc087a1SEmmanuel Vadot          maxItems: 2
243*8cc087a1SEmmanuel Vadot
244*8cc087a1SEmmanuel Vadot      required:
245*8cc087a1SEmmanuel Vadot        - nvidia,hssync-start-delay
246*8cc087a1SEmmanuel Vadot        - nvidia,elastic-limit
247*8cc087a1SEmmanuel Vadot        - nvidia,idle-wait-delay
248*8cc087a1SEmmanuel Vadot        - nvidia,term-range-adj
249*8cc087a1SEmmanuel Vadot        - nvidia,xcvr-lsfslew
250*8cc087a1SEmmanuel Vadot        - nvidia,xcvr-lsrslew
251*8cc087a1SEmmanuel Vadot
252*8cc087a1SEmmanuel Vadot      anyOf:
253*8cc087a1SEmmanuel Vadot        - required: ["nvidia,xcvr-setup"]
254*8cc087a1SEmmanuel Vadot        - required: ["nvidia,xcvr-setup-use-fuses"]
255*8cc087a1SEmmanuel Vadot
256*8cc087a1SEmmanuel Vadot      if:
257*8cc087a1SEmmanuel Vadot        properties:
258*8cc087a1SEmmanuel Vadot          compatible:
259*8cc087a1SEmmanuel Vadot            contains:
260*8cc087a1SEmmanuel Vadot              const: nvidia,tegra30-usb-phy
261*8cc087a1SEmmanuel Vadot
262*8cc087a1SEmmanuel Vadot      then:
263*8cc087a1SEmmanuel Vadot        properties:
264*8cc087a1SEmmanuel Vadot          clocks:
265*8cc087a1SEmmanuel Vadot            maxItems: 3
266*8cc087a1SEmmanuel Vadot
267*8cc087a1SEmmanuel Vadot          clock-names:
268*8cc087a1SEmmanuel Vadot            items:
269*8cc087a1SEmmanuel Vadot              - const: reg
270*8cc087a1SEmmanuel Vadot              - const: pll_u
271*8cc087a1SEmmanuel Vadot              - const: utmi-pads
272*8cc087a1SEmmanuel Vadot
273*8cc087a1SEmmanuel Vadot        required:
274*8cc087a1SEmmanuel Vadot          - nvidia,xcvr-hsslew
275*8cc087a1SEmmanuel Vadot          - nvidia,hssquelch-level
276*8cc087a1SEmmanuel Vadot          - nvidia,hsdiscon-level
277*8cc087a1SEmmanuel Vadot
278*8cc087a1SEmmanuel Vadot      else:
279*8cc087a1SEmmanuel Vadot        properties:
280*8cc087a1SEmmanuel Vadot          clocks:
281*8cc087a1SEmmanuel Vadot            maxItems: 4
282*8cc087a1SEmmanuel Vadot
283*8cc087a1SEmmanuel Vadot          clock-names:
284*8cc087a1SEmmanuel Vadot            items:
285*8cc087a1SEmmanuel Vadot              - const: reg
286*8cc087a1SEmmanuel Vadot              - const: pll_u
287*8cc087a1SEmmanuel Vadot              - const: timer
288*8cc087a1SEmmanuel Vadot              - const: utmi-pads
289*8cc087a1SEmmanuel Vadot
290*8cc087a1SEmmanuel Vadot  - if:
291*8cc087a1SEmmanuel Vadot      properties:
292*8cc087a1SEmmanuel Vadot        phy_type:
293*8cc087a1SEmmanuel Vadot          const: ulpi
294*8cc087a1SEmmanuel Vadot
295*8cc087a1SEmmanuel Vadot    then:
296*8cc087a1SEmmanuel Vadot      properties:
297*8cc087a1SEmmanuel Vadot        reg:
298*8cc087a1SEmmanuel Vadot          minItems: 1
299*8cc087a1SEmmanuel Vadot          maxItems: 1
300*8cc087a1SEmmanuel Vadot
301*8cc087a1SEmmanuel Vadot        clocks:
302*8cc087a1SEmmanuel Vadot          minItems: 2
303*8cc087a1SEmmanuel Vadot          maxItems: 3
304*8cc087a1SEmmanuel Vadot
305*8cc087a1SEmmanuel Vadot        clock-names:
306*8cc087a1SEmmanuel Vadot          minItems: 2
307*8cc087a1SEmmanuel Vadot          maxItems: 3
308*8cc087a1SEmmanuel Vadot
309*8cc087a1SEmmanuel Vadot          oneOf:
310*8cc087a1SEmmanuel Vadot            - items:
311*8cc087a1SEmmanuel Vadot                - const: reg
312*8cc087a1SEmmanuel Vadot                - const: pll_u
313*8cc087a1SEmmanuel Vadot
314*8cc087a1SEmmanuel Vadot            - items:
315*8cc087a1SEmmanuel Vadot                - const: reg
316*8cc087a1SEmmanuel Vadot                - const: pll_u
317*8cc087a1SEmmanuel Vadot                - const: ulpi-link
318*8cc087a1SEmmanuel Vadot
319*8cc087a1SEmmanuel Vadot        resets:
320*8cc087a1SEmmanuel Vadot          minItems: 1
321*8cc087a1SEmmanuel Vadot          maxItems: 2
322*8cc087a1SEmmanuel Vadot
323*8cc087a1SEmmanuel Vadot        reset-names:
324*8cc087a1SEmmanuel Vadot          minItems: 1
325*8cc087a1SEmmanuel Vadot          maxItems: 2
326*8cc087a1SEmmanuel Vadot
327*8cc087a1SEmmanuel Vadotexamples:
328*8cc087a1SEmmanuel Vadot  - |
329*8cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/tegra124-car.h>
330*8cc087a1SEmmanuel Vadot
331*8cc087a1SEmmanuel Vadot    usb-phy@7d008000 {
332*8cc087a1SEmmanuel Vadot        compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
333*8cc087a1SEmmanuel Vadot        reg = <0x7d008000 0x4000>,
334*8cc087a1SEmmanuel Vadot              <0x7d000000 0x4000>;
335*8cc087a1SEmmanuel Vadot        interrupts = <0 97 4>;
336*8cc087a1SEmmanuel Vadot        phy_type = "utmi";
337*8cc087a1SEmmanuel Vadot        clocks = <&tegra_car TEGRA124_CLK_USB3>,
338*8cc087a1SEmmanuel Vadot                 <&tegra_car TEGRA124_CLK_PLL_U>,
339*8cc087a1SEmmanuel Vadot                 <&tegra_car TEGRA124_CLK_USBD>;
340*8cc087a1SEmmanuel Vadot        clock-names = "reg", "pll_u", "utmi-pads";
341*8cc087a1SEmmanuel Vadot        resets = <&tegra_car 59>, <&tegra_car 22>;
342*8cc087a1SEmmanuel Vadot        reset-names = "usb", "utmi-pads";
343*8cc087a1SEmmanuel Vadot        #phy-cells = <0>;
344*8cc087a1SEmmanuel Vadot        nvidia,hssync-start-delay = <0>;
345*8cc087a1SEmmanuel Vadot        nvidia,idle-wait-delay = <17>;
346*8cc087a1SEmmanuel Vadot        nvidia,elastic-limit = <16>;
347*8cc087a1SEmmanuel Vadot        nvidia,term-range-adj = <6>;
348*8cc087a1SEmmanuel Vadot        nvidia,xcvr-setup = <9>;
349*8cc087a1SEmmanuel Vadot        nvidia,xcvr-lsfslew = <0>;
350*8cc087a1SEmmanuel Vadot        nvidia,xcvr-lsrslew = <3>;
351*8cc087a1SEmmanuel Vadot        nvidia,hssquelch-level = <2>;
352*8cc087a1SEmmanuel Vadot        nvidia,hsdiscon-level = <5>;
353*8cc087a1SEmmanuel Vadot        nvidia,xcvr-hsslew = <12>;
354*8cc087a1SEmmanuel Vadot        nvidia,pmc = <&tegra_pmc 2>;
355*8cc087a1SEmmanuel Vadot    };
356*8cc087a1SEmmanuel Vadot
357*8cc087a1SEmmanuel Vadot  - |
358*8cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/tegra20-car.h>
359*8cc087a1SEmmanuel Vadot
360*8cc087a1SEmmanuel Vadot    usb-phy@c5004000 {
361*8cc087a1SEmmanuel Vadot        compatible = "nvidia,tegra20-usb-phy";
362*8cc087a1SEmmanuel Vadot        reg = <0xc5004000 0x4000>;
363*8cc087a1SEmmanuel Vadot        interrupts = <0 21 4>;
364*8cc087a1SEmmanuel Vadot        phy_type = "ulpi";
365*8cc087a1SEmmanuel Vadot        clocks = <&tegra_car TEGRA20_CLK_USB2>,
366*8cc087a1SEmmanuel Vadot                 <&tegra_car TEGRA20_CLK_PLL_U>,
367*8cc087a1SEmmanuel Vadot                 <&tegra_car TEGRA20_CLK_CDEV2>;
368*8cc087a1SEmmanuel Vadot        clock-names = "reg", "pll_u", "ulpi-link";
369*8cc087a1SEmmanuel Vadot        resets = <&tegra_car 58>, <&tegra_car 22>;
370*8cc087a1SEmmanuel Vadot        reset-names = "usb", "utmi-pads";
371*8cc087a1SEmmanuel Vadot        #phy-cells = <0>;
372*8cc087a1SEmmanuel Vadot        nvidia,pmc = <&tegra_pmc 1>;
373*8cc087a1SEmmanuel Vadot    };
374