xref: /linux/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml (revision 55d0969c451159cff86949b38c39171cab962069)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/chipidea,usb2-common.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: USB2 ChipIdea USB controller Common Properties
8
9maintainers:
10  - Xu Yang <xu.yang_2@nxp.com>
11
12properties:
13  reg:
14    minItems: 1
15    maxItems: 2
16
17  interrupts:
18    minItems: 1
19    maxItems: 2
20
21  clocks:
22    minItems: 1
23    maxItems: 3
24
25  clock-names:
26    minItems: 1
27    maxItems: 3
28
29  dr_mode: true
30
31  power-domains:
32    maxItems: 1
33
34  resets:
35    maxItems: 1
36
37  reset-names:
38    maxItems: 1
39
40  "#reset-cells":
41    const: 1
42
43  phy_type: true
44
45  itc-setting:
46    description:
47      interrupt threshold control register control, the setting should be
48      aligned with ITC bits at register USBCMD.
49    $ref: /schemas/types.yaml#/definitions/uint32
50
51  ahb-burst-config:
52    description:
53      it is vendor dependent, the required value should be aligned with
54      AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
55      used to change AHB burst configuration, check the chipidea spec for
56      meaning of each value. If this property is not existed, it will use
57      the reset value.
58    $ref: /schemas/types.yaml#/definitions/uint32
59    minimum: 0x0
60    maximum: 0x7
61
62  tx-burst-size-dword:
63    description:
64      it is vendor dependent, the tx burst size in dword (4 bytes), This
65      register represents the maximum length of a the burst in 32-bit
66      words while moving data from system memory to the USB bus, the value
67      of this property will only take effect if property "ahb-burst-config"
68      is set to 0, if this property is missing the reset default of the
69      hardware implementation will be used.
70    $ref: /schemas/types.yaml#/definitions/uint32
71    minimum: 0x0
72    maximum: 0x20
73
74  rx-burst-size-dword:
75    description:
76      it is vendor dependent, the rx burst size in dword (4 bytes), This
77      register represents the maximum length of a the burst in 32-bit words
78      while moving data from the USB bus to system memory, the value of
79      this property will only take effect if property "ahb-burst-config"
80      is set to 0, if this property is missing the reset default of the
81      hardware implementation will be used.
82    $ref: /schemas/types.yaml#/definitions/uint32
83    minimum: 0x0
84    maximum: 0x20
85
86  extcon:
87    description:
88      Phandles to external connector devices. First phandle should point
89      to external connector, which provide "USB" cable events, the second
90      should point to external connector device, which provide "USB-HOST"
91      cable events. If one of the external connector devices is not
92      required, empty <0> phandle should be specified.
93    $ref: /schemas/types.yaml#/definitions/phandle-array
94    minItems: 1
95    items:
96      - description: vbus extcon
97      - description: id extcon
98
99  phy-clkgate-delay-us:
100    description:
101      The delay time (us) between putting the PHY into low power mode and
102      gating the PHY clock.
103
104  non-zero-ttctrl-ttha:
105    description:
106      After setting this property, the value of register ttctrl.ttha
107      will be 0x7f; if not, the value will be 0x0, this is the default
108      value. It needs to be very carefully for setting this property, it
109      is recommended that consult with your IC engineer before setting
110      this value.  On the most of chipidea platforms, the "usage_tt" flag
111      at RTL is 0, so this property only affects siTD.
112
113      If this property is not set, the max packet size is 1023 bytes, and
114      if the total of packet size for previous transactions are more than
115      256 bytes, it can't accept any transactions within this frame. The
116      use case is single transaction, but higher frame rate.
117
118      If this property is set, the max packet size is 188 bytes, it can
119      handle more transactions than above case, it can accept transactions
120      until it considers the left room size within frame is less than 188
121      bytes, software needs to make sure it does not send more than 90%
122      maximum_periodic_data_per_frame. The use case is multiple
123      transactions, but less frame rate.
124    type: boolean
125
126  mux-controls:
127    description:
128      The mux control for toggling host/device output of this controller.
129      It's expected that a mux state of 0 indicates device mode and a mux
130      state of 1 indicates host mode.
131    maxItems: 1
132
133  mux-control-names:
134    const: usb_switch
135
136  pinctrl-names:
137    description:
138      Names for optional pin modes in "default", "host", "device".
139      In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
140      In this case, the "idle" state needs to pull down the data and
141      strobe pin and the "active" state needs to pull up the strobe pin.
142    oneOf:
143      - items:
144          - const: idle
145          - const: active
146      - items:
147          - const: default
148          - const: host
149          - const: device
150      - items:
151          - const: default
152          - enum:
153              - host
154              - device
155      - items:
156          - const: default
157
158  pinctrl-0:
159    maxItems: 1
160
161  pinctrl-1:
162    maxItems: 1
163
164  phys:
165    maxItems: 1
166
167  phy-names:
168    const: usb-phy
169
170  vbus-supply:
171    description: reference to the VBUS regulator.
172
173  usb-phy:
174    description: phandle for the PHY device. Use "phys" instead.
175    maxItems: 1
176    deprecated: true
177
178  port:
179    description:
180      Any connector to the data bus of this controller should be modelled
181      using the OF graph bindings specified, if the "usb-role-switch"
182      property is used.
183    $ref: /schemas/graph.yaml#/properties/port
184
185  reset-gpios:
186    maxItems: 1
187
188dependencies:
189  port: [ usb-role-switch ]
190  mux-controls: [ mux-control-names ]
191
192required:
193  - reg
194  - interrupts
195
196allOf:
197  - $ref: usb-hcd.yaml#
198  - $ref: usb-drd.yaml#
199
200additionalProperties: true
201