xref: /freebsd/sys/contrib/device-tree/Bindings/usb/snps,dwc3-common.yaml (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
1*2846c905SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2*2846c905SEmmanuel Vadot%YAML 1.2
3*2846c905SEmmanuel Vadot---
4*2846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/usb/snps,dwc3-common.yaml#
5*2846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2846c905SEmmanuel Vadot
7*2846c905SEmmanuel Vadottitle: Synopsys DesignWare USB3 Controller common properties
8*2846c905SEmmanuel Vadot
9*2846c905SEmmanuel Vadotmaintainers:
10*2846c905SEmmanuel Vadot  - Felipe Balbi <balbi@kernel.org>
11*2846c905SEmmanuel Vadot
12*2846c905SEmmanuel Vadotdescription:
13*2846c905SEmmanuel Vadot  Defines the properties of the DWC3 core as being embedded in either an
14*2846c905SEmmanuel Vadot  vendor-specific implementation or as a standalone component.
15*2846c905SEmmanuel Vadot
16*2846c905SEmmanuel VadotallOf:
17*2846c905SEmmanuel Vadot  - $ref: usb-drd.yaml#
18*2846c905SEmmanuel Vadot  - if:
19*2846c905SEmmanuel Vadot      properties:
20*2846c905SEmmanuel Vadot        dr_mode:
21*2846c905SEmmanuel Vadot          const: peripheral
22*2846c905SEmmanuel Vadot
23*2846c905SEmmanuel Vadot      required:
24*2846c905SEmmanuel Vadot        - dr_mode
25*2846c905SEmmanuel Vadot    then:
26*2846c905SEmmanuel Vadot      $ref: usb.yaml#
27*2846c905SEmmanuel Vadot    else:
28*2846c905SEmmanuel Vadot      $ref: usb-xhci.yaml#
29*2846c905SEmmanuel Vadot
30*2846c905SEmmanuel Vadotproperties:
31*2846c905SEmmanuel Vadot  extcon:
32*2846c905SEmmanuel Vadot    maxItems: 1
33*2846c905SEmmanuel Vadot    deprecated: true
34*2846c905SEmmanuel Vadot
35*2846c905SEmmanuel Vadot  usb-phy:
36*2846c905SEmmanuel Vadot    minItems: 1
37*2846c905SEmmanuel Vadot    items:
38*2846c905SEmmanuel Vadot      - description: USB2/HS PHY
39*2846c905SEmmanuel Vadot      - description: USB3/SS PHY
40*2846c905SEmmanuel Vadot
41*2846c905SEmmanuel Vadot  phys:
42*2846c905SEmmanuel Vadot    minItems: 1
43*2846c905SEmmanuel Vadot    maxItems: 19
44*2846c905SEmmanuel Vadot
45*2846c905SEmmanuel Vadot  phy-names:
46*2846c905SEmmanuel Vadot    minItems: 1
47*2846c905SEmmanuel Vadot    maxItems: 19
48*2846c905SEmmanuel Vadot    oneOf:
49*2846c905SEmmanuel Vadot      - items:
50*2846c905SEmmanuel Vadot          enum: [ usb2-phy, usb3-phy ]
51*2846c905SEmmanuel Vadot      - items:
52*2846c905SEmmanuel Vadot          pattern: "^usb(2-([0-9]|1[0-4])|3-[0-3])$"
53*2846c905SEmmanuel Vadot
54*2846c905SEmmanuel Vadot  snps,usb2-lpm-disable:
55*2846c905SEmmanuel Vadot    description: Indicate if we don't want to enable USB2 HW LPM for host
56*2846c905SEmmanuel Vadot      mode.
57*2846c905SEmmanuel Vadot    type: boolean
58*2846c905SEmmanuel Vadot
59*2846c905SEmmanuel Vadot  snps,usb3_lpm_capable:
60*2846c905SEmmanuel Vadot    description: Determines if platform is USB3 LPM capable
61*2846c905SEmmanuel Vadot    type: boolean
62*2846c905SEmmanuel Vadot
63*2846c905SEmmanuel Vadot  snps,usb2-gadget-lpm-disable:
64*2846c905SEmmanuel Vadot    description: Indicate if we don't want to enable USB2 HW LPM for gadget
65*2846c905SEmmanuel Vadot      mode.
66*2846c905SEmmanuel Vadot    type: boolean
67*2846c905SEmmanuel Vadot
68*2846c905SEmmanuel Vadot  snps,dis-start-transfer-quirk:
69*2846c905SEmmanuel Vadot    description:
70*2846c905SEmmanuel Vadot      When set, disable isoc START TRANSFER command failure SW work-around
71*2846c905SEmmanuel Vadot      for DWC_usb31 version 1.70a-ea06 and prior.
72*2846c905SEmmanuel Vadot    type: boolean
73*2846c905SEmmanuel Vadot
74*2846c905SEmmanuel Vadot  snps,disable_scramble_quirk:
75*2846c905SEmmanuel Vadot    description:
76*2846c905SEmmanuel Vadot      True when SW should disable data scrambling. Only really useful for FPGA
77*2846c905SEmmanuel Vadot      builds.
78*2846c905SEmmanuel Vadot    type: boolean
79*2846c905SEmmanuel Vadot
80*2846c905SEmmanuel Vadot  snps,has-lpm-erratum:
81*2846c905SEmmanuel Vadot    description: True when DWC3 was configured with LPM Erratum enabled
82*2846c905SEmmanuel Vadot    type: boolean
83*2846c905SEmmanuel Vadot
84*2846c905SEmmanuel Vadot  snps,lpm-nyet-threshold:
85*2846c905SEmmanuel Vadot    description: LPM NYET threshold
86*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
87*2846c905SEmmanuel Vadot
88*2846c905SEmmanuel Vadot  snps,u2exit_lfps_quirk:
89*2846c905SEmmanuel Vadot    description: Set if we want to enable u2exit lfps quirk
90*2846c905SEmmanuel Vadot    type: boolean
91*2846c905SEmmanuel Vadot
92*2846c905SEmmanuel Vadot  snps,u2ss_inp3_quirk:
93*2846c905SEmmanuel Vadot    description: Set if we enable P3 OK for U2/SS Inactive quirk
94*2846c905SEmmanuel Vadot    type: boolean
95*2846c905SEmmanuel Vadot
96*2846c905SEmmanuel Vadot  snps,req_p1p2p3_quirk:
97*2846c905SEmmanuel Vadot    description:
98*2846c905SEmmanuel Vadot      When set, the core will always request for P1/P2/P3 transition sequence.
99*2846c905SEmmanuel Vadot    type: boolean
100*2846c905SEmmanuel Vadot
101*2846c905SEmmanuel Vadot  snps,del_p1p2p3_quirk:
102*2846c905SEmmanuel Vadot    description:
103*2846c905SEmmanuel Vadot      When set core will delay P1/P2/P3 until a certain amount of 8B10B errors
104*2846c905SEmmanuel Vadot      occur.
105*2846c905SEmmanuel Vadot    type: boolean
106*2846c905SEmmanuel Vadot
107*2846c905SEmmanuel Vadot  snps,del_phy_power_chg_quirk:
108*2846c905SEmmanuel Vadot    description: When set core will delay PHY power change from P0 to P1/P2/P3.
109*2846c905SEmmanuel Vadot    type: boolean
110*2846c905SEmmanuel Vadot
111*2846c905SEmmanuel Vadot  snps,lfps_filter_quirk:
112*2846c905SEmmanuel Vadot    description: When set core will filter LFPS reception.
113*2846c905SEmmanuel Vadot    type: boolean
114*2846c905SEmmanuel Vadot
115*2846c905SEmmanuel Vadot  snps,rx_detect_poll_quirk:
116*2846c905SEmmanuel Vadot    description:
117*2846c905SEmmanuel Vadot      when set core will disable a 400us delay to start Polling LFPS after
118*2846c905SEmmanuel Vadot      RX.Detect.
119*2846c905SEmmanuel Vadot    type: boolean
120*2846c905SEmmanuel Vadot
121*2846c905SEmmanuel Vadot  snps,tx_de_emphasis_quirk:
122*2846c905SEmmanuel Vadot    description: When set core will set Tx de-emphasis value
123*2846c905SEmmanuel Vadot    type: boolean
124*2846c905SEmmanuel Vadot
125*2846c905SEmmanuel Vadot  snps,tx_de_emphasis:
126*2846c905SEmmanuel Vadot    description:
127*2846c905SEmmanuel Vadot      The value driven to the PHY is controlled by the LTSSM during USB3
128*2846c905SEmmanuel Vadot      Compliance mode.
129*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
130*2846c905SEmmanuel Vadot    enum:
131*2846c905SEmmanuel Vadot      - 0 # -6dB de-emphasis
132*2846c905SEmmanuel Vadot      - 1 # -3.5dB de-emphasis
133*2846c905SEmmanuel Vadot      - 2 # No de-emphasis
134*2846c905SEmmanuel Vadot
135*2846c905SEmmanuel Vadot  snps,dis_u3_susphy_quirk:
136*2846c905SEmmanuel Vadot    description: When set core will disable USB3 suspend phy
137*2846c905SEmmanuel Vadot    type: boolean
138*2846c905SEmmanuel Vadot
139*2846c905SEmmanuel Vadot  snps,dis_u2_susphy_quirk:
140*2846c905SEmmanuel Vadot    description: When set core will disable USB2 suspend phy
141*2846c905SEmmanuel Vadot    type: boolean
142*2846c905SEmmanuel Vadot
143*2846c905SEmmanuel Vadot  snps,dis_enblslpm_quirk:
144*2846c905SEmmanuel Vadot    description:
145*2846c905SEmmanuel Vadot      When set clears the enblslpm in GUSB2PHYCFG, disabling the suspend signal
146*2846c905SEmmanuel Vadot      to the PHY.
147*2846c905SEmmanuel Vadot    type: boolean
148*2846c905SEmmanuel Vadot
149*2846c905SEmmanuel Vadot  snps,dis-u1-entry-quirk:
150*2846c905SEmmanuel Vadot    description: Set if link entering into U1 needs to be disabled
151*2846c905SEmmanuel Vadot    type: boolean
152*2846c905SEmmanuel Vadot
153*2846c905SEmmanuel Vadot  snps,dis-u2-entry-quirk:
154*2846c905SEmmanuel Vadot    description: Set if link entering into U2 needs to be disabled
155*2846c905SEmmanuel Vadot    type: boolean
156*2846c905SEmmanuel Vadot
157*2846c905SEmmanuel Vadot  snps,dis_rxdet_inp3_quirk:
158*2846c905SEmmanuel Vadot    description:
159*2846c905SEmmanuel Vadot      When set core will disable receiver detection in PHY P3 power state.
160*2846c905SEmmanuel Vadot    type: boolean
161*2846c905SEmmanuel Vadot
162*2846c905SEmmanuel Vadot  snps,dis-u2-freeclk-exists-quirk:
163*2846c905SEmmanuel Vadot    description:
164*2846c905SEmmanuel Vadot      When set, clear the u2_freeclk_exists in GUSB2PHYCFG, specify that USB2
165*2846c905SEmmanuel Vadot      PHY doesn't provide a free-running PHY clock.
166*2846c905SEmmanuel Vadot    type: boolean
167*2846c905SEmmanuel Vadot
168*2846c905SEmmanuel Vadot  snps,dis-del-phy-power-chg-quirk:
169*2846c905SEmmanuel Vadot    description:
170*2846c905SEmmanuel Vadot      When set core will change PHY power from P0 to P1/P2/P3 without delay.
171*2846c905SEmmanuel Vadot    type: boolean
172*2846c905SEmmanuel Vadot
173*2846c905SEmmanuel Vadot  snps,dis-tx-ipgap-linecheck-quirk:
174*2846c905SEmmanuel Vadot    description: When set, disable u2mac linestate check during HS transmit
175*2846c905SEmmanuel Vadot    type: boolean
176*2846c905SEmmanuel Vadot
177*2846c905SEmmanuel Vadot  snps,parkmode-disable-ss-quirk:
178*2846c905SEmmanuel Vadot    description:
179*2846c905SEmmanuel Vadot      When set, all SuperSpeed bus instances in park mode are disabled.
180*2846c905SEmmanuel Vadot    type: boolean
181*2846c905SEmmanuel Vadot
182*2846c905SEmmanuel Vadot  snps,parkmode-disable-hs-quirk:
183*2846c905SEmmanuel Vadot    description:
184*2846c905SEmmanuel Vadot      When set, all HighSpeed bus instances in park mode are disabled.
185*2846c905SEmmanuel Vadot    type: boolean
186*2846c905SEmmanuel Vadot
187*2846c905SEmmanuel Vadot  snps,dis_metastability_quirk:
188*2846c905SEmmanuel Vadot    description:
189*2846c905SEmmanuel Vadot      When set, disable metastability workaround. CAUTION! Use only if you are
190*2846c905SEmmanuel Vadot      absolutely sure of it.
191*2846c905SEmmanuel Vadot    type: boolean
192*2846c905SEmmanuel Vadot
193*2846c905SEmmanuel Vadot  snps,dis-split-quirk:
194*2846c905SEmmanuel Vadot    description:
195*2846c905SEmmanuel Vadot      When set, change the way URBs are handled by the driver. Needed to
196*2846c905SEmmanuel Vadot      avoid -EPROTO errors with usbhid on some devices (Hikey 970).
197*2846c905SEmmanuel Vadot    type: boolean
198*2846c905SEmmanuel Vadot
199*2846c905SEmmanuel Vadot  snps,gfladj-refclk-lpm-sel-quirk:
200*2846c905SEmmanuel Vadot    description:
201*2846c905SEmmanuel Vadot      When set, run the SOF/ITP counter based on ref_clk.
202*2846c905SEmmanuel Vadot    type: boolean
203*2846c905SEmmanuel Vadot
204*2846c905SEmmanuel Vadot  snps,resume-hs-terminations:
205*2846c905SEmmanuel Vadot    description:
206*2846c905SEmmanuel Vadot      Fix the issue of HS terminations CRC error on resume by enabling this
207*2846c905SEmmanuel Vadot      quirk. When set, all the termsel, xcvrsel, opmode becomes 0 during end
208*2846c905SEmmanuel Vadot      of resume. This option is to support certain legacy ULPI PHYs.
209*2846c905SEmmanuel Vadot    type: boolean
210*2846c905SEmmanuel Vadot
211*2846c905SEmmanuel Vadot  snps,ulpi-ext-vbus-drv:
212*2846c905SEmmanuel Vadot    description:
213*2846c905SEmmanuel Vadot      Some ULPI USB PHY does not support internal VBUS supply, and driving
214*2846c905SEmmanuel Vadot      the CPEN pin, requires the configuration of the ulpi DRVVBUSEXTERNAL
215*2846c905SEmmanuel Vadot      bit. When set, the xhci host will configure the USB2 PHY drives VBUS
216*2846c905SEmmanuel Vadot      with an external supply.
217*2846c905SEmmanuel Vadot    type: boolean
218*2846c905SEmmanuel Vadot
219*2846c905SEmmanuel Vadot  snps,is-utmi-l1-suspend:
220*2846c905SEmmanuel Vadot    description:
221*2846c905SEmmanuel Vadot      True when DWC3 asserts output signal utmi_l1_suspend_n, false when
222*2846c905SEmmanuel Vadot      asserts utmi_sleep_n.
223*2846c905SEmmanuel Vadot    type: boolean
224*2846c905SEmmanuel Vadot
225*2846c905SEmmanuel Vadot  snps,hird-threshold:
226*2846c905SEmmanuel Vadot    description: HIRD threshold
227*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
228*2846c905SEmmanuel Vadot
229*2846c905SEmmanuel Vadot  snps,hsphy_interface:
230*2846c905SEmmanuel Vadot    description:
231*2846c905SEmmanuel Vadot      High-Speed PHY interface selection between UTMI+ and ULPI when the
232*2846c905SEmmanuel Vadot      DWC_USB3_HSPHY_INTERFACE has value 3.
233*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
234*2846c905SEmmanuel Vadot    enum: [utmi, ulpi]
235*2846c905SEmmanuel Vadot
236*2846c905SEmmanuel Vadot  snps,quirk-frame-length-adjustment:
237*2846c905SEmmanuel Vadot    description:
238*2846c905SEmmanuel Vadot      Value for GFLADJ_30MHZ field of GFLADJ register for post-silicon frame
239*2846c905SEmmanuel Vadot      length adjustment when the fladj_30mhz_sdbnd signal is invalid or
240*2846c905SEmmanuel Vadot      incorrect.
241*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
242*2846c905SEmmanuel Vadot    minimum: 0
243*2846c905SEmmanuel Vadot    maximum: 0x3f
244*2846c905SEmmanuel Vadot
245*2846c905SEmmanuel Vadot  snps,ref-clock-period-ns:
246*2846c905SEmmanuel Vadot    description:
247*2846c905SEmmanuel Vadot      Value for REFCLKPER field of GUCTL register for reference clock period in
248*2846c905SEmmanuel Vadot      nanoseconds, when the hardware set default does not match the actual
249*2846c905SEmmanuel Vadot      clock.
250*2846c905SEmmanuel Vadot
251*2846c905SEmmanuel Vadot      This binding is deprecated. Instead, provide an appropriate reference clock.
252*2846c905SEmmanuel Vadot    minimum: 8
253*2846c905SEmmanuel Vadot    maximum: 62
254*2846c905SEmmanuel Vadot    deprecated: true
255*2846c905SEmmanuel Vadot
256*2846c905SEmmanuel Vadot  snps,rx-thr-num-pkt:
257*2846c905SEmmanuel Vadot    description:
258*2846c905SEmmanuel Vadot      USB RX packet threshold count. In host mode, this field specifies
259*2846c905SEmmanuel Vadot      the space that must be available in the RX FIFO before the core can
260*2846c905SEmmanuel Vadot      start the corresponding USB RX transaction (burst).
261*2846c905SEmmanuel Vadot      In device mode, this field specifies the space that must be
262*2846c905SEmmanuel Vadot      available in the RX FIFO before the core can send ERDY for a
263*2846c905SEmmanuel Vadot      flow-controlled endpoint. It is only used for SuperSpeed.
264*2846c905SEmmanuel Vadot      The valid values for this field are from 1 to 15. (DWC3 SuperSpeed
265*2846c905SEmmanuel Vadot      USB 3.0 Controller Databook)
266*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
267*2846c905SEmmanuel Vadot    minimum: 1
268*2846c905SEmmanuel Vadot    maximum: 15
269*2846c905SEmmanuel Vadot
270*2846c905SEmmanuel Vadot  snps,rx-max-burst:
271*2846c905SEmmanuel Vadot    description:
272*2846c905SEmmanuel Vadot      Max USB RX burst size. In host mode, this field specifies the
273*2846c905SEmmanuel Vadot      Maximum Bulk IN burst the DWC_usb3 core can perform. When the system
274*2846c905SEmmanuel Vadot      bus is slower than the USB, RX FIFO can overrun during a long burst.
275*2846c905SEmmanuel Vadot      You can program a smaller value to this field to limit the RX burst
276*2846c905SEmmanuel Vadot      size that the core can perform. It only applies to SS Bulk,
277*2846c905SEmmanuel Vadot      Isochronous, and Interrupt IN endpoints in the host mode.
278*2846c905SEmmanuel Vadot      In device mode, this field specifies the NUMP value that is sent in
279*2846c905SEmmanuel Vadot      ERDY for an OUT endpoint.
280*2846c905SEmmanuel Vadot      The valid values for this field are from 1 to 16. (DWC3 SuperSpeed
281*2846c905SEmmanuel Vadot      USB 3.0 Controller Databook)
282*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
283*2846c905SEmmanuel Vadot    minimum: 1
284*2846c905SEmmanuel Vadot    maximum: 16
285*2846c905SEmmanuel Vadot
286*2846c905SEmmanuel Vadot  snps,tx-thr-num-pkt:
287*2846c905SEmmanuel Vadot    description:
288*2846c905SEmmanuel Vadot      USB TX packet threshold count. This field specifies the number of
289*2846c905SEmmanuel Vadot      packets that must be in the TXFIFO before the core can start
290*2846c905SEmmanuel Vadot      transmission for the corresponding USB transaction (burst).
291*2846c905SEmmanuel Vadot      This count is valid in both host and device modes. It is only used
292*2846c905SEmmanuel Vadot      for SuperSpeed operation.
293*2846c905SEmmanuel Vadot      Valid values are from 1 to 15. (DWC3 SuperSpeed USB 3.0 Controller
294*2846c905SEmmanuel Vadot      Databook)
295*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
296*2846c905SEmmanuel Vadot    minimum: 1
297*2846c905SEmmanuel Vadot    maximum: 15
298*2846c905SEmmanuel Vadot
299*2846c905SEmmanuel Vadot  snps,tx-max-burst:
300*2846c905SEmmanuel Vadot    description:
301*2846c905SEmmanuel Vadot      Max USB TX burst size. When the system bus is slower than the USB,
302*2846c905SEmmanuel Vadot      TX FIFO can underrun during a long burst. Program a smaller value
303*2846c905SEmmanuel Vadot      to this field to limit the TX burst size that the core can execute.
304*2846c905SEmmanuel Vadot      In Host mode, it only applies to SS Bulk, Isochronous, and Interrupt
305*2846c905SEmmanuel Vadot      OUT endpoints. This value is not used in device mode.
306*2846c905SEmmanuel Vadot      Valid values are from 1 to 16. (DWC3 SuperSpeed USB 3.0 Controller
307*2846c905SEmmanuel Vadot      Databook)
308*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
309*2846c905SEmmanuel Vadot    minimum: 1
310*2846c905SEmmanuel Vadot    maximum: 16
311*2846c905SEmmanuel Vadot
312*2846c905SEmmanuel Vadot  snps,rx-thr-num-pkt-prd:
313*2846c905SEmmanuel Vadot    description:
314*2846c905SEmmanuel Vadot      Periodic ESS RX packet threshold count (host mode only). Set this and
315*2846c905SEmmanuel Vadot      snps,rx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31
316*2846c905SEmmanuel Vadot      programming guide section 1.2.4) to enable periodic ESS RX threshold.
317*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
318*2846c905SEmmanuel Vadot    minimum: 1
319*2846c905SEmmanuel Vadot    maximum: 16
320*2846c905SEmmanuel Vadot
321*2846c905SEmmanuel Vadot  snps,rx-max-burst-prd:
322*2846c905SEmmanuel Vadot    description:
323*2846c905SEmmanuel Vadot      Max periodic ESS RX burst size (host mode only). Set this and
324*2846c905SEmmanuel Vadot      snps,rx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31
325*2846c905SEmmanuel Vadot      programming guide section 1.2.4) to enable periodic ESS RX threshold.
326*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
327*2846c905SEmmanuel Vadot    minimum: 1
328*2846c905SEmmanuel Vadot    maximum: 16
329*2846c905SEmmanuel Vadot
330*2846c905SEmmanuel Vadot  snps,tx-thr-num-pkt-prd:
331*2846c905SEmmanuel Vadot    description:
332*2846c905SEmmanuel Vadot      Periodic ESS TX packet threshold count (host mode only). Set this and
333*2846c905SEmmanuel Vadot      snps,tx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31
334*2846c905SEmmanuel Vadot      programming guide section 1.2.3) to enable periodic ESS TX threshold.
335*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
336*2846c905SEmmanuel Vadot    minimum: 1
337*2846c905SEmmanuel Vadot    maximum: 16
338*2846c905SEmmanuel Vadot
339*2846c905SEmmanuel Vadot  snps,tx-max-burst-prd:
340*2846c905SEmmanuel Vadot    description:
341*2846c905SEmmanuel Vadot      Max periodic ESS TX burst size (host mode only). Set this and
342*2846c905SEmmanuel Vadot      snps,tx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31
343*2846c905SEmmanuel Vadot      programming guide section 1.2.3) to enable periodic ESS TX threshold.
344*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
345*2846c905SEmmanuel Vadot    minimum: 1
346*2846c905SEmmanuel Vadot    maximum: 16
347*2846c905SEmmanuel Vadot
348*2846c905SEmmanuel Vadot  tx-fifo-resize:
349*2846c905SEmmanuel Vadot    description: Determines if the TX fifos can be dynamically resized depending
350*2846c905SEmmanuel Vadot      on the number of IN endpoints used and if bursting is supported.  This
351*2846c905SEmmanuel Vadot      may help improve bandwidth on platforms with higher system latencies, as
352*2846c905SEmmanuel Vadot      increased fifo space allows for the controller to prefetch data into its
353*2846c905SEmmanuel Vadot      internal memory.
354*2846c905SEmmanuel Vadot    type: boolean
355*2846c905SEmmanuel Vadot
356*2846c905SEmmanuel Vadot  tx-fifo-max-num:
357*2846c905SEmmanuel Vadot    description: Specifies the max number of packets the txfifo resizing logic
358*2846c905SEmmanuel Vadot      can account for when higher endpoint bursting is used. (bMaxBurst > 6) The
359*2846c905SEmmanuel Vadot      higher the number, the more fifo space the txfifo resizing logic will
360*2846c905SEmmanuel Vadot      allocate for that endpoint.
361*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
362*2846c905SEmmanuel Vadot    minimum: 3
363*2846c905SEmmanuel Vadot
364*2846c905SEmmanuel Vadot  snps,incr-burst-type-adjustment:
365*2846c905SEmmanuel Vadot    description:
366*2846c905SEmmanuel Vadot      Value for INCR burst type of GSBUSCFG0 register, undefined length INCR
367*2846c905SEmmanuel Vadot      burst type enable and INCRx type. A single value means INCRX burst mode
368*2846c905SEmmanuel Vadot      enabled. If more than one value specified, undefined length INCR burst
369*2846c905SEmmanuel Vadot      type will be enabled with burst lengths utilized up to the maximum
370*2846c905SEmmanuel Vadot      of the values passed in this property.
371*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
372*2846c905SEmmanuel Vadot    minItems: 1
373*2846c905SEmmanuel Vadot    maxItems: 8
374*2846c905SEmmanuel Vadot    uniqueItems: true
375*2846c905SEmmanuel Vadot    items:
376*2846c905SEmmanuel Vadot      enum: [1, 4, 8, 16, 32, 64, 128, 256]
377*2846c905SEmmanuel Vadot
378*2846c905SEmmanuel Vadot  num-hc-interrupters:
379*2846c905SEmmanuel Vadot    maximum: 8
380*2846c905SEmmanuel Vadot    default: 1
381*2846c905SEmmanuel Vadot
382*2846c905SEmmanuel Vadot  port:
383*2846c905SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/port
384*2846c905SEmmanuel Vadot    description:
385*2846c905SEmmanuel Vadot      This port is used with the 'usb-role-switch' property  to connect the
386*2846c905SEmmanuel Vadot      dwc3 to type C connector.
387*2846c905SEmmanuel Vadot
388*2846c905SEmmanuel Vadot  ports:
389*2846c905SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
390*2846c905SEmmanuel Vadot    description:
391*2846c905SEmmanuel Vadot      Those ports should be used with any connector to the data bus of this
392*2846c905SEmmanuel Vadot      controller using the OF graph bindings specified if the "usb-role-switch"
393*2846c905SEmmanuel Vadot      property is used.
394*2846c905SEmmanuel Vadot
395*2846c905SEmmanuel Vadot    properties:
396*2846c905SEmmanuel Vadot      port@0:
397*2846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
398*2846c905SEmmanuel Vadot        description: High Speed (HS) data bus.
399*2846c905SEmmanuel Vadot
400*2846c905SEmmanuel Vadot      port@1:
401*2846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
402*2846c905SEmmanuel Vadot        description: Super Speed (SS) data bus.
403*2846c905SEmmanuel Vadot
404*2846c905SEmmanuel Vadot  wakeup-source:
405*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
406*2846c905SEmmanuel Vadot    description:
407*2846c905SEmmanuel Vadot      Enable USB remote wakeup.
408*2846c905SEmmanuel Vadot
409*2846c905SEmmanuel Vadotrequired:
410*2846c905SEmmanuel Vadot  - compatible
411*2846c905SEmmanuel Vadot  - reg
412*2846c905SEmmanuel Vadot
413*2846c905SEmmanuel VadotadditionalProperties: true
414*2846c905SEmmanuel Vadot...
415*2846c905SEmmanuel Vadot
416