xref: /freebsd/sys/contrib/device-tree/Bindings/usb/snps,dwc3-common.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
12846c905SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
22846c905SEmmanuel Vadot%YAML 1.2
32846c905SEmmanuel Vadot---
42846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/usb/snps,dwc3-common.yaml#
52846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62846c905SEmmanuel Vadot
72846c905SEmmanuel Vadottitle: Synopsys DesignWare USB3 Controller common properties
82846c905SEmmanuel Vadot
92846c905SEmmanuel Vadotmaintainers:
102846c905SEmmanuel Vadot  - Felipe Balbi <balbi@kernel.org>
112846c905SEmmanuel Vadot
122846c905SEmmanuel Vadotdescription:
132846c905SEmmanuel Vadot  Defines the properties of the DWC3 core as being embedded in either an
142846c905SEmmanuel Vadot  vendor-specific implementation or as a standalone component.
152846c905SEmmanuel Vadot
162846c905SEmmanuel VadotallOf:
172846c905SEmmanuel Vadot  - $ref: usb-drd.yaml#
182846c905SEmmanuel Vadot  - if:
192846c905SEmmanuel Vadot      properties:
202846c905SEmmanuel Vadot        dr_mode:
212846c905SEmmanuel Vadot          const: peripheral
222846c905SEmmanuel Vadot
232846c905SEmmanuel Vadot      required:
242846c905SEmmanuel Vadot        - dr_mode
252846c905SEmmanuel Vadot    then:
262846c905SEmmanuel Vadot      $ref: usb.yaml#
272846c905SEmmanuel Vadot    else:
282846c905SEmmanuel Vadot      $ref: usb-xhci.yaml#
292846c905SEmmanuel Vadot
302846c905SEmmanuel Vadotproperties:
312846c905SEmmanuel Vadot  extcon:
322846c905SEmmanuel Vadot    maxItems: 1
332846c905SEmmanuel Vadot    deprecated: true
342846c905SEmmanuel Vadot
352846c905SEmmanuel Vadot  usb-phy:
362846c905SEmmanuel Vadot    minItems: 1
372846c905SEmmanuel Vadot    items:
382846c905SEmmanuel Vadot      - description: USB2/HS PHY
392846c905SEmmanuel Vadot      - description: USB3/SS PHY
402846c905SEmmanuel Vadot
412846c905SEmmanuel Vadot  phys:
422846c905SEmmanuel Vadot    minItems: 1
432846c905SEmmanuel Vadot    maxItems: 19
442846c905SEmmanuel Vadot
452846c905SEmmanuel Vadot  phy-names:
462846c905SEmmanuel Vadot    minItems: 1
472846c905SEmmanuel Vadot    maxItems: 19
482846c905SEmmanuel Vadot    oneOf:
492846c905SEmmanuel Vadot      - items:
502846c905SEmmanuel Vadot          enum: [ usb2-phy, usb3-phy ]
512846c905SEmmanuel Vadot      - items:
522846c905SEmmanuel Vadot          pattern: "^usb(2-([0-9]|1[0-4])|3-[0-3])$"
532846c905SEmmanuel Vadot
542846c905SEmmanuel Vadot  snps,usb2-lpm-disable:
552846c905SEmmanuel Vadot    description: Indicate if we don't want to enable USB2 HW LPM for host
562846c905SEmmanuel Vadot      mode.
572846c905SEmmanuel Vadot    type: boolean
582846c905SEmmanuel Vadot
592846c905SEmmanuel Vadot  snps,usb3_lpm_capable:
602846c905SEmmanuel Vadot    description: Determines if platform is USB3 LPM capable
612846c905SEmmanuel Vadot    type: boolean
622846c905SEmmanuel Vadot
632846c905SEmmanuel Vadot  snps,usb2-gadget-lpm-disable:
642846c905SEmmanuel Vadot    description: Indicate if we don't want to enable USB2 HW LPM for gadget
652846c905SEmmanuel Vadot      mode.
662846c905SEmmanuel Vadot    type: boolean
672846c905SEmmanuel Vadot
688ccc0d23SEmmanuel Vadot  snps,reserved-endpoints:
698ccc0d23SEmmanuel Vadot    description:
708ccc0d23SEmmanuel Vadot      Reserve endpoints for other needs, e.g, for tracing control and output.
718ccc0d23SEmmanuel Vadot      When set, the driver will avoid using them for the regular USB transfers.
728ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8-array
738ccc0d23SEmmanuel Vadot    minItems: 1
748ccc0d23SEmmanuel Vadot    maxItems: 30
758ccc0d23SEmmanuel Vadot    items:
768ccc0d23SEmmanuel Vadot      minimum: 2
778ccc0d23SEmmanuel Vadot      maximum: 31
788ccc0d23SEmmanuel Vadot
792846c905SEmmanuel Vadot  snps,dis-start-transfer-quirk:
802846c905SEmmanuel Vadot    description:
812846c905SEmmanuel Vadot      When set, disable isoc START TRANSFER command failure SW work-around
822846c905SEmmanuel Vadot      for DWC_usb31 version 1.70a-ea06 and prior.
832846c905SEmmanuel Vadot    type: boolean
842846c905SEmmanuel Vadot
852846c905SEmmanuel Vadot  snps,disable_scramble_quirk:
862846c905SEmmanuel Vadot    description:
872846c905SEmmanuel Vadot      True when SW should disable data scrambling. Only really useful for FPGA
882846c905SEmmanuel Vadot      builds.
892846c905SEmmanuel Vadot    type: boolean
902846c905SEmmanuel Vadot
912846c905SEmmanuel Vadot  snps,has-lpm-erratum:
922846c905SEmmanuel Vadot    description: True when DWC3 was configured with LPM Erratum enabled
932846c905SEmmanuel Vadot    type: boolean
942846c905SEmmanuel Vadot
952846c905SEmmanuel Vadot  snps,lpm-nyet-threshold:
962846c905SEmmanuel Vadot    description: LPM NYET threshold
972846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
982846c905SEmmanuel Vadot
992846c905SEmmanuel Vadot  snps,u2exit_lfps_quirk:
1002846c905SEmmanuel Vadot    description: Set if we want to enable u2exit lfps quirk
1012846c905SEmmanuel Vadot    type: boolean
1022846c905SEmmanuel Vadot
1032846c905SEmmanuel Vadot  snps,u2ss_inp3_quirk:
1042846c905SEmmanuel Vadot    description: Set if we enable P3 OK for U2/SS Inactive quirk
1052846c905SEmmanuel Vadot    type: boolean
1062846c905SEmmanuel Vadot
1072846c905SEmmanuel Vadot  snps,req_p1p2p3_quirk:
1082846c905SEmmanuel Vadot    description:
1092846c905SEmmanuel Vadot      When set, the core will always request for P1/P2/P3 transition sequence.
1102846c905SEmmanuel Vadot    type: boolean
1112846c905SEmmanuel Vadot
1122846c905SEmmanuel Vadot  snps,del_p1p2p3_quirk:
1132846c905SEmmanuel Vadot    description:
1142846c905SEmmanuel Vadot      When set core will delay P1/P2/P3 until a certain amount of 8B10B errors
1152846c905SEmmanuel Vadot      occur.
1162846c905SEmmanuel Vadot    type: boolean
1172846c905SEmmanuel Vadot
1182846c905SEmmanuel Vadot  snps,del_phy_power_chg_quirk:
1192846c905SEmmanuel Vadot    description: When set core will delay PHY power change from P0 to P1/P2/P3.
1202846c905SEmmanuel Vadot    type: boolean
1212846c905SEmmanuel Vadot
1222846c905SEmmanuel Vadot  snps,lfps_filter_quirk:
1232846c905SEmmanuel Vadot    description: When set core will filter LFPS reception.
1242846c905SEmmanuel Vadot    type: boolean
1252846c905SEmmanuel Vadot
1262846c905SEmmanuel Vadot  snps,rx_detect_poll_quirk:
1272846c905SEmmanuel Vadot    description:
1282846c905SEmmanuel Vadot      when set core will disable a 400us delay to start Polling LFPS after
1292846c905SEmmanuel Vadot      RX.Detect.
1302846c905SEmmanuel Vadot    type: boolean
1312846c905SEmmanuel Vadot
1322846c905SEmmanuel Vadot  snps,tx_de_emphasis_quirk:
1332846c905SEmmanuel Vadot    description: When set core will set Tx de-emphasis value
1342846c905SEmmanuel Vadot    type: boolean
1352846c905SEmmanuel Vadot
1362846c905SEmmanuel Vadot  snps,tx_de_emphasis:
1372846c905SEmmanuel Vadot    description:
1382846c905SEmmanuel Vadot      The value driven to the PHY is controlled by the LTSSM during USB3
1392846c905SEmmanuel Vadot      Compliance mode.
1402846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
1412846c905SEmmanuel Vadot    enum:
1422846c905SEmmanuel Vadot      - 0 # -6dB de-emphasis
1432846c905SEmmanuel Vadot      - 1 # -3.5dB de-emphasis
1442846c905SEmmanuel Vadot      - 2 # No de-emphasis
1452846c905SEmmanuel Vadot
1462846c905SEmmanuel Vadot  snps,dis_u3_susphy_quirk:
1472846c905SEmmanuel Vadot    description: When set core will disable USB3 suspend phy
1482846c905SEmmanuel Vadot    type: boolean
1492846c905SEmmanuel Vadot
1502846c905SEmmanuel Vadot  snps,dis_u2_susphy_quirk:
1512846c905SEmmanuel Vadot    description: When set core will disable USB2 suspend phy
1522846c905SEmmanuel Vadot    type: boolean
1532846c905SEmmanuel Vadot
1542846c905SEmmanuel Vadot  snps,dis_enblslpm_quirk:
1552846c905SEmmanuel Vadot    description:
1562846c905SEmmanuel Vadot      When set clears the enblslpm in GUSB2PHYCFG, disabling the suspend signal
1572846c905SEmmanuel Vadot      to the PHY.
1582846c905SEmmanuel Vadot    type: boolean
1592846c905SEmmanuel Vadot
1602846c905SEmmanuel Vadot  snps,dis-u1-entry-quirk:
1612846c905SEmmanuel Vadot    description: Set if link entering into U1 needs to be disabled
1622846c905SEmmanuel Vadot    type: boolean
1632846c905SEmmanuel Vadot
1642846c905SEmmanuel Vadot  snps,dis-u2-entry-quirk:
1652846c905SEmmanuel Vadot    description: Set if link entering into U2 needs to be disabled
1662846c905SEmmanuel Vadot    type: boolean
1672846c905SEmmanuel Vadot
1682846c905SEmmanuel Vadot  snps,dis_rxdet_inp3_quirk:
1692846c905SEmmanuel Vadot    description:
1702846c905SEmmanuel Vadot      When set core will disable receiver detection in PHY P3 power state.
1712846c905SEmmanuel Vadot    type: boolean
1722846c905SEmmanuel Vadot
1732846c905SEmmanuel Vadot  snps,dis-u2-freeclk-exists-quirk:
1742846c905SEmmanuel Vadot    description:
1752846c905SEmmanuel Vadot      When set, clear the u2_freeclk_exists in GUSB2PHYCFG, specify that USB2
1762846c905SEmmanuel Vadot      PHY doesn't provide a free-running PHY clock.
1772846c905SEmmanuel Vadot    type: boolean
1782846c905SEmmanuel Vadot
1792846c905SEmmanuel Vadot  snps,dis-del-phy-power-chg-quirk:
1802846c905SEmmanuel Vadot    description:
1812846c905SEmmanuel Vadot      When set core will change PHY power from P0 to P1/P2/P3 without delay.
1822846c905SEmmanuel Vadot    type: boolean
1832846c905SEmmanuel Vadot
1842846c905SEmmanuel Vadot  snps,dis-tx-ipgap-linecheck-quirk:
1852846c905SEmmanuel Vadot    description: When set, disable u2mac linestate check during HS transmit
1862846c905SEmmanuel Vadot    type: boolean
1872846c905SEmmanuel Vadot
1882846c905SEmmanuel Vadot  snps,parkmode-disable-ss-quirk:
1892846c905SEmmanuel Vadot    description:
1902846c905SEmmanuel Vadot      When set, all SuperSpeed bus instances in park mode are disabled.
1912846c905SEmmanuel Vadot    type: boolean
1922846c905SEmmanuel Vadot
1932846c905SEmmanuel Vadot  snps,parkmode-disable-hs-quirk:
1942846c905SEmmanuel Vadot    description:
1952846c905SEmmanuel Vadot      When set, all HighSpeed bus instances in park mode are disabled.
1962846c905SEmmanuel Vadot    type: boolean
1972846c905SEmmanuel Vadot
1982846c905SEmmanuel Vadot  snps,dis_metastability_quirk:
1992846c905SEmmanuel Vadot    description:
2002846c905SEmmanuel Vadot      When set, disable metastability workaround. CAUTION! Use only if you are
2012846c905SEmmanuel Vadot      absolutely sure of it.
2022846c905SEmmanuel Vadot    type: boolean
2032846c905SEmmanuel Vadot
2042846c905SEmmanuel Vadot  snps,dis-split-quirk:
2052846c905SEmmanuel Vadot    description:
2062846c905SEmmanuel Vadot      When set, change the way URBs are handled by the driver. Needed to
2072846c905SEmmanuel Vadot      avoid -EPROTO errors with usbhid on some devices (Hikey 970).
2082846c905SEmmanuel Vadot    type: boolean
2092846c905SEmmanuel Vadot
2102846c905SEmmanuel Vadot  snps,gfladj-refclk-lpm-sel-quirk:
2112846c905SEmmanuel Vadot    description:
2122846c905SEmmanuel Vadot      When set, run the SOF/ITP counter based on ref_clk.
2132846c905SEmmanuel Vadot    type: boolean
2142846c905SEmmanuel Vadot
2152846c905SEmmanuel Vadot  snps,resume-hs-terminations:
2162846c905SEmmanuel Vadot    description:
2172846c905SEmmanuel Vadot      Fix the issue of HS terminations CRC error on resume by enabling this
2182846c905SEmmanuel Vadot      quirk. When set, all the termsel, xcvrsel, opmode becomes 0 during end
2192846c905SEmmanuel Vadot      of resume. This option is to support certain legacy ULPI PHYs.
2202846c905SEmmanuel Vadot    type: boolean
2212846c905SEmmanuel Vadot
2222846c905SEmmanuel Vadot  snps,ulpi-ext-vbus-drv:
2232846c905SEmmanuel Vadot    description:
2242846c905SEmmanuel Vadot      Some ULPI USB PHY does not support internal VBUS supply, and driving
2252846c905SEmmanuel Vadot      the CPEN pin, requires the configuration of the ulpi DRVVBUSEXTERNAL
2262846c905SEmmanuel Vadot      bit. When set, the xhci host will configure the USB2 PHY drives VBUS
2272846c905SEmmanuel Vadot      with an external supply.
2282846c905SEmmanuel Vadot    type: boolean
2292846c905SEmmanuel Vadot
2302846c905SEmmanuel Vadot  snps,is-utmi-l1-suspend:
2312846c905SEmmanuel Vadot    description:
2322846c905SEmmanuel Vadot      True when DWC3 asserts output signal utmi_l1_suspend_n, false when
2332846c905SEmmanuel Vadot      asserts utmi_sleep_n.
2342846c905SEmmanuel Vadot    type: boolean
2352846c905SEmmanuel Vadot
2362846c905SEmmanuel Vadot  snps,hird-threshold:
2372846c905SEmmanuel Vadot    description: HIRD threshold
2382846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
2392846c905SEmmanuel Vadot
2402846c905SEmmanuel Vadot  snps,hsphy_interface:
2412846c905SEmmanuel Vadot    description:
2422846c905SEmmanuel Vadot      High-Speed PHY interface selection between UTMI+ and ULPI when the
2432846c905SEmmanuel Vadot      DWC_USB3_HSPHY_INTERFACE has value 3.
2442846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
2452846c905SEmmanuel Vadot    enum: [utmi, ulpi]
2462846c905SEmmanuel Vadot
2472846c905SEmmanuel Vadot  snps,quirk-frame-length-adjustment:
2482846c905SEmmanuel Vadot    description:
2492846c905SEmmanuel Vadot      Value for GFLADJ_30MHZ field of GFLADJ register for post-silicon frame
2502846c905SEmmanuel Vadot      length adjustment when the fladj_30mhz_sdbnd signal is invalid or
2512846c905SEmmanuel Vadot      incorrect.
2522846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
2532846c905SEmmanuel Vadot    minimum: 0
2542846c905SEmmanuel Vadot    maximum: 0x3f
2552846c905SEmmanuel Vadot
2562846c905SEmmanuel Vadot  snps,ref-clock-period-ns:
2572846c905SEmmanuel Vadot    description:
2582846c905SEmmanuel Vadot      Value for REFCLKPER field of GUCTL register for reference clock period in
2592846c905SEmmanuel Vadot      nanoseconds, when the hardware set default does not match the actual
2602846c905SEmmanuel Vadot      clock.
2612846c905SEmmanuel Vadot
2622846c905SEmmanuel Vadot      This binding is deprecated. Instead, provide an appropriate reference clock.
2632846c905SEmmanuel Vadot    minimum: 8
2642846c905SEmmanuel Vadot    maximum: 62
2652846c905SEmmanuel Vadot    deprecated: true
2662846c905SEmmanuel Vadot
2672846c905SEmmanuel Vadot  snps,rx-thr-num-pkt:
2682846c905SEmmanuel Vadot    description:
2692846c905SEmmanuel Vadot      USB RX packet threshold count. In host mode, this field specifies
2702846c905SEmmanuel Vadot      the space that must be available in the RX FIFO before the core can
2712846c905SEmmanuel Vadot      start the corresponding USB RX transaction (burst).
2722846c905SEmmanuel Vadot      In device mode, this field specifies the space that must be
2732846c905SEmmanuel Vadot      available in the RX FIFO before the core can send ERDY for a
2742846c905SEmmanuel Vadot      flow-controlled endpoint. It is only used for SuperSpeed.
2752846c905SEmmanuel Vadot      The valid values for this field are from 1 to 15. (DWC3 SuperSpeed
2762846c905SEmmanuel Vadot      USB 3.0 Controller Databook)
2772846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
2782846c905SEmmanuel Vadot    minimum: 1
2792846c905SEmmanuel Vadot    maximum: 15
2802846c905SEmmanuel Vadot
2812846c905SEmmanuel Vadot  snps,rx-max-burst:
2822846c905SEmmanuel Vadot    description:
2832846c905SEmmanuel Vadot      Max USB RX burst size. In host mode, this field specifies the
2842846c905SEmmanuel Vadot      Maximum Bulk IN burst the DWC_usb3 core can perform. When the system
2852846c905SEmmanuel Vadot      bus is slower than the USB, RX FIFO can overrun during a long burst.
2862846c905SEmmanuel Vadot      You can program a smaller value to this field to limit the RX burst
2872846c905SEmmanuel Vadot      size that the core can perform. It only applies to SS Bulk,
2882846c905SEmmanuel Vadot      Isochronous, and Interrupt IN endpoints in the host mode.
2892846c905SEmmanuel Vadot      In device mode, this field specifies the NUMP value that is sent in
2902846c905SEmmanuel Vadot      ERDY for an OUT endpoint.
2912846c905SEmmanuel Vadot      The valid values for this field are from 1 to 16. (DWC3 SuperSpeed
2922846c905SEmmanuel Vadot      USB 3.0 Controller Databook)
2932846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
2942846c905SEmmanuel Vadot    minimum: 1
2952846c905SEmmanuel Vadot    maximum: 16
2962846c905SEmmanuel Vadot
2972846c905SEmmanuel Vadot  snps,tx-thr-num-pkt:
2982846c905SEmmanuel Vadot    description:
2992846c905SEmmanuel Vadot      USB TX packet threshold count. This field specifies the number of
3002846c905SEmmanuel Vadot      packets that must be in the TXFIFO before the core can start
3012846c905SEmmanuel Vadot      transmission for the corresponding USB transaction (burst).
3022846c905SEmmanuel Vadot      This count is valid in both host and device modes. It is only used
3032846c905SEmmanuel Vadot      for SuperSpeed operation.
3042846c905SEmmanuel Vadot      Valid values are from 1 to 15. (DWC3 SuperSpeed USB 3.0 Controller
3052846c905SEmmanuel Vadot      Databook)
3062846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
3072846c905SEmmanuel Vadot    minimum: 1
3082846c905SEmmanuel Vadot    maximum: 15
3092846c905SEmmanuel Vadot
3102846c905SEmmanuel Vadot  snps,tx-max-burst:
3112846c905SEmmanuel Vadot    description:
3122846c905SEmmanuel Vadot      Max USB TX burst size. When the system bus is slower than the USB,
3132846c905SEmmanuel Vadot      TX FIFO can underrun during a long burst. Program a smaller value
3142846c905SEmmanuel Vadot      to this field to limit the TX burst size that the core can execute.
3152846c905SEmmanuel Vadot      In Host mode, it only applies to SS Bulk, Isochronous, and Interrupt
3162846c905SEmmanuel Vadot      OUT endpoints. This value is not used in device mode.
3172846c905SEmmanuel Vadot      Valid values are from 1 to 16. (DWC3 SuperSpeed USB 3.0 Controller
3182846c905SEmmanuel Vadot      Databook)
3192846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
3202846c905SEmmanuel Vadot    minimum: 1
3212846c905SEmmanuel Vadot    maximum: 16
3222846c905SEmmanuel Vadot
3232846c905SEmmanuel Vadot  snps,rx-thr-num-pkt-prd:
3242846c905SEmmanuel Vadot    description:
3252846c905SEmmanuel Vadot      Periodic ESS RX packet threshold count (host mode only). Set this and
3262846c905SEmmanuel Vadot      snps,rx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31
3272846c905SEmmanuel Vadot      programming guide section 1.2.4) to enable periodic ESS RX threshold.
3282846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
3292846c905SEmmanuel Vadot    minimum: 1
3302846c905SEmmanuel Vadot    maximum: 16
3312846c905SEmmanuel Vadot
3322846c905SEmmanuel Vadot  snps,rx-max-burst-prd:
3332846c905SEmmanuel Vadot    description:
3342846c905SEmmanuel Vadot      Max periodic ESS RX burst size (host mode only). Set this and
3352846c905SEmmanuel Vadot      snps,rx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31
3362846c905SEmmanuel Vadot      programming guide section 1.2.4) to enable periodic ESS RX threshold.
3372846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
3382846c905SEmmanuel Vadot    minimum: 1
3392846c905SEmmanuel Vadot    maximum: 16
3402846c905SEmmanuel Vadot
3412846c905SEmmanuel Vadot  snps,tx-thr-num-pkt-prd:
3422846c905SEmmanuel Vadot    description:
3432846c905SEmmanuel Vadot      Periodic ESS TX packet threshold count (host mode only). Set this and
3442846c905SEmmanuel Vadot      snps,tx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31
3452846c905SEmmanuel Vadot      programming guide section 1.2.3) to enable periodic ESS TX threshold.
3462846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
3472846c905SEmmanuel Vadot    minimum: 1
3482846c905SEmmanuel Vadot    maximum: 16
3492846c905SEmmanuel Vadot
3502846c905SEmmanuel Vadot  snps,tx-max-burst-prd:
3512846c905SEmmanuel Vadot    description:
3522846c905SEmmanuel Vadot      Max periodic ESS TX burst size (host mode only). Set this and
3532846c905SEmmanuel Vadot      snps,tx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31
3542846c905SEmmanuel Vadot      programming guide section 1.2.3) to enable periodic ESS TX threshold.
3552846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
3562846c905SEmmanuel Vadot    minimum: 1
3572846c905SEmmanuel Vadot    maximum: 16
3582846c905SEmmanuel Vadot
3592846c905SEmmanuel Vadot  tx-fifo-resize:
3602846c905SEmmanuel Vadot    description: Determines if the TX fifos can be dynamically resized depending
3612846c905SEmmanuel Vadot      on the number of IN endpoints used and if bursting is supported.  This
3622846c905SEmmanuel Vadot      may help improve bandwidth on platforms with higher system latencies, as
3632846c905SEmmanuel Vadot      increased fifo space allows for the controller to prefetch data into its
3642846c905SEmmanuel Vadot      internal memory.
3652846c905SEmmanuel Vadot    type: boolean
3662846c905SEmmanuel Vadot
3672846c905SEmmanuel Vadot  tx-fifo-max-num:
3682846c905SEmmanuel Vadot    description: Specifies the max number of packets the txfifo resizing logic
3692846c905SEmmanuel Vadot      can account for when higher endpoint bursting is used. (bMaxBurst > 6) The
3702846c905SEmmanuel Vadot      higher the number, the more fifo space the txfifo resizing logic will
3712846c905SEmmanuel Vadot      allocate for that endpoint.
3722846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8
3732846c905SEmmanuel Vadot    minimum: 3
3742846c905SEmmanuel Vadot
3752846c905SEmmanuel Vadot  snps,incr-burst-type-adjustment:
3762846c905SEmmanuel Vadot    description:
3772846c905SEmmanuel Vadot      Value for INCR burst type of GSBUSCFG0 register, undefined length INCR
3782846c905SEmmanuel Vadot      burst type enable and INCRx type. A single value means INCRX burst mode
3792846c905SEmmanuel Vadot      enabled. If more than one value specified, undefined length INCR burst
3802846c905SEmmanuel Vadot      type will be enabled with burst lengths utilized up to the maximum
3812846c905SEmmanuel Vadot      of the values passed in this property.
3822846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
3832846c905SEmmanuel Vadot    minItems: 1
3842846c905SEmmanuel Vadot    maxItems: 8
3852846c905SEmmanuel Vadot    uniqueItems: true
3862846c905SEmmanuel Vadot    items:
3872846c905SEmmanuel Vadot      enum: [1, 4, 8, 16, 32, 64, 128, 256]
3882846c905SEmmanuel Vadot
3892846c905SEmmanuel Vadot  num-hc-interrupters:
3902846c905SEmmanuel Vadot    maximum: 8
3912846c905SEmmanuel Vadot    default: 1
3922846c905SEmmanuel Vadot
393*ae5de77eSEmmanuel Vadot  connector:
394*ae5de77eSEmmanuel Vadot    $ref: /schemas/connector/usb-connector.yaml#
395*ae5de77eSEmmanuel Vadot    description: Connector for dual role switch
396*ae5de77eSEmmanuel Vadot    type: object
397*ae5de77eSEmmanuel Vadot    unevaluatedProperties: false
398*ae5de77eSEmmanuel Vadot
3992846c905SEmmanuel Vadot  port:
4002846c905SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/port
4012846c905SEmmanuel Vadot    description:
4022846c905SEmmanuel Vadot      This port is used with the 'usb-role-switch' property  to connect the
4032846c905SEmmanuel Vadot      dwc3 to type C connector.
4042846c905SEmmanuel Vadot
4052846c905SEmmanuel Vadot  ports:
4062846c905SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
4072846c905SEmmanuel Vadot    description:
4082846c905SEmmanuel Vadot      Those ports should be used with any connector to the data bus of this
4092846c905SEmmanuel Vadot      controller using the OF graph bindings specified if the "usb-role-switch"
4102846c905SEmmanuel Vadot      property is used.
4112846c905SEmmanuel Vadot
4122846c905SEmmanuel Vadot    properties:
4132846c905SEmmanuel Vadot      port@0:
4142846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
4152846c905SEmmanuel Vadot        description: High Speed (HS) data bus.
4162846c905SEmmanuel Vadot
4172846c905SEmmanuel Vadot      port@1:
4182846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
4192846c905SEmmanuel Vadot        description: Super Speed (SS) data bus.
4202846c905SEmmanuel Vadot
4212846c905SEmmanuel Vadot  wakeup-source:
4222846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
4232846c905SEmmanuel Vadot    description:
4242846c905SEmmanuel Vadot      Enable USB remote wakeup.
4252846c905SEmmanuel Vadot
4262846c905SEmmanuel Vadotrequired:
4272846c905SEmmanuel Vadot  - compatible
4282846c905SEmmanuel Vadot  - reg
4292846c905SEmmanuel Vadot
4302846c905SEmmanuel VadotadditionalProperties: true
4312846c905SEmmanuel Vadot...
4322846c905SEmmanuel Vadot
433