15def4c47SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/usb/snps,dwc3.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 75def4c47SEmmanuel Vadottitle: Synopsys DesignWare USB3 Controller 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotmaintainers: 105def4c47SEmmanuel Vadot - Felipe Balbi <balbi@kernel.org> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel Vadotdescription: 135def4c47SEmmanuel Vadot This is usually a subnode to DWC3 glue to which it is connected, but can also 145def4c47SEmmanuel Vadot be presented as a standalone DT node with an optional vendor-specific 155def4c47SEmmanuel Vadot compatible string. 165def4c47SEmmanuel Vadot 175def4c47SEmmanuel VadotallOf: 185def4c47SEmmanuel Vadot - $ref: usb-drd.yaml# 195def4c47SEmmanuel Vadot - if: 205def4c47SEmmanuel Vadot properties: 215def4c47SEmmanuel Vadot dr_mode: 225def4c47SEmmanuel Vadot const: peripheral 235def4c47SEmmanuel Vadot 245def4c47SEmmanuel Vadot required: 255def4c47SEmmanuel Vadot - dr_mode 265def4c47SEmmanuel Vadot then: 275def4c47SEmmanuel Vadot $ref: usb.yaml# 285def4c47SEmmanuel Vadot else: 295def4c47SEmmanuel Vadot $ref: usb-xhci.yaml# 305def4c47SEmmanuel Vadot 315def4c47SEmmanuel Vadotproperties: 325def4c47SEmmanuel Vadot compatible: 335def4c47SEmmanuel Vadot contains: 345def4c47SEmmanuel Vadot oneOf: 355def4c47SEmmanuel Vadot - const: snps,dwc3 365def4c47SEmmanuel Vadot - const: synopsys,dwc3 375def4c47SEmmanuel Vadot deprecated: true 385def4c47SEmmanuel Vadot 39e67e8565SEmmanuel Vadot reg: 40e67e8565SEmmanuel Vadot maxItems: 1 41e67e8565SEmmanuel Vadot 425def4c47SEmmanuel Vadot interrupts: 435def4c47SEmmanuel Vadot description: 445def4c47SEmmanuel Vadot It's either a single common DWC3 interrupt (dwc_usb3) or individual 455def4c47SEmmanuel Vadot interrupts for the host, gadget and DRD modes. 465def4c47SEmmanuel Vadot minItems: 1 47f126890aSEmmanuel Vadot maxItems: 4 485def4c47SEmmanuel Vadot 495def4c47SEmmanuel Vadot interrupt-names: 505def4c47SEmmanuel Vadot minItems: 1 51f126890aSEmmanuel Vadot maxItems: 4 525def4c47SEmmanuel Vadot oneOf: 535def4c47SEmmanuel Vadot - const: dwc_usb3 545def4c47SEmmanuel Vadot - items: 55f126890aSEmmanuel Vadot enum: [host, peripheral, otg, wakeup] 565def4c47SEmmanuel Vadot 575def4c47SEmmanuel Vadot clocks: 585def4c47SEmmanuel Vadot description: 595def4c47SEmmanuel Vadot In general the core supports three types of clocks. bus_early is a 605def4c47SEmmanuel Vadot SoC Bus Clock (AHB/AXI/Native). ref generates ITP when the UTMI/ULPI 615def4c47SEmmanuel Vadot PHY is suspended. suspend clocks a small part of the USB3 core when 625def4c47SEmmanuel Vadot SS PHY in P3. But particular cases may differ from that having less 635def4c47SEmmanuel Vadot or more clock sources with another names. 645def4c47SEmmanuel Vadot 655def4c47SEmmanuel Vadot clock-names: 665def4c47SEmmanuel Vadot contains: 675def4c47SEmmanuel Vadot anyOf: 685def4c47SEmmanuel Vadot - enum: [bus_early, ref, suspend] 695def4c47SEmmanuel Vadot - true 705def4c47SEmmanuel Vadot 71d5b0e70fSEmmanuel Vadot dma-coherent: true 72d5b0e70fSEmmanuel Vadot 73fac71e4eSEmmanuel Vadot extcon: 74fac71e4eSEmmanuel Vadot maxItems: 1 75fac71e4eSEmmanuel Vadot deprecated: true 76fac71e4eSEmmanuel Vadot 77e67e8565SEmmanuel Vadot iommus: 78e67e8565SEmmanuel Vadot maxItems: 1 79e67e8565SEmmanuel Vadot 805def4c47SEmmanuel Vadot usb-phy: 815def4c47SEmmanuel Vadot minItems: 1 825def4c47SEmmanuel Vadot items: 835def4c47SEmmanuel Vadot - description: USB2/HS PHY 845def4c47SEmmanuel Vadot - description: USB3/SS PHY 855def4c47SEmmanuel Vadot 865def4c47SEmmanuel Vadot phys: 875def4c47SEmmanuel Vadot minItems: 1 88*7d0873ebSEmmanuel Vadot maxItems: 19 895def4c47SEmmanuel Vadot 905def4c47SEmmanuel Vadot phy-names: 915def4c47SEmmanuel Vadot minItems: 1 92*7d0873ebSEmmanuel Vadot maxItems: 19 93*7d0873ebSEmmanuel Vadot oneOf: 94*7d0873ebSEmmanuel Vadot - items: 95*7d0873ebSEmmanuel Vadot enum: [ usb2-phy, usb3-phy ] 96*7d0873ebSEmmanuel Vadot - items: 97*7d0873ebSEmmanuel Vadot pattern: "^usb(2-([0-9]|1[0-4])|3-[0-3])$" 985def4c47SEmmanuel Vadot 99cb7aa33aSEmmanuel Vadot power-domains: 100cb7aa33aSEmmanuel Vadot description: 101cb7aa33aSEmmanuel Vadot The DWC3 has 2 power-domains. The power management unit (PMU) and 102cb7aa33aSEmmanuel Vadot everything else. The PMU is typically always powered and may not have an 103cb7aa33aSEmmanuel Vadot entry. 104cb7aa33aSEmmanuel Vadot minItems: 1 105cb7aa33aSEmmanuel Vadot items: 106cb7aa33aSEmmanuel Vadot - description: Core 107cb7aa33aSEmmanuel Vadot - description: Power management unit 108cb7aa33aSEmmanuel Vadot 1095def4c47SEmmanuel Vadot resets: 1105def4c47SEmmanuel Vadot minItems: 1 1115def4c47SEmmanuel Vadot 1125def4c47SEmmanuel Vadot snps,usb2-lpm-disable: 1132eb4d8dcSEmmanuel Vadot description: Indicate if we don't want to enable USB2 HW LPM for host 1142eb4d8dcSEmmanuel Vadot mode. 1155def4c47SEmmanuel Vadot type: boolean 1165def4c47SEmmanuel Vadot 1175def4c47SEmmanuel Vadot snps,usb3_lpm_capable: 1185def4c47SEmmanuel Vadot description: Determines if platform is USB3 LPM capable 1195def4c47SEmmanuel Vadot type: boolean 1205def4c47SEmmanuel Vadot 1212eb4d8dcSEmmanuel Vadot snps,usb2-gadget-lpm-disable: 1222eb4d8dcSEmmanuel Vadot description: Indicate if we don't want to enable USB2 HW LPM for gadget 1232eb4d8dcSEmmanuel Vadot mode. 1242eb4d8dcSEmmanuel Vadot type: boolean 1252eb4d8dcSEmmanuel Vadot 1265def4c47SEmmanuel Vadot snps,dis-start-transfer-quirk: 1275def4c47SEmmanuel Vadot description: 1285def4c47SEmmanuel Vadot When set, disable isoc START TRANSFER command failure SW work-around 1295def4c47SEmmanuel Vadot for DWC_usb31 version 1.70a-ea06 and prior. 1305def4c47SEmmanuel Vadot type: boolean 1315def4c47SEmmanuel Vadot 1325def4c47SEmmanuel Vadot snps,disable_scramble_quirk: 1335def4c47SEmmanuel Vadot description: 1345def4c47SEmmanuel Vadot True when SW should disable data scrambling. Only really useful for FPGA 1355def4c47SEmmanuel Vadot builds. 1365def4c47SEmmanuel Vadot type: boolean 1375def4c47SEmmanuel Vadot 1385def4c47SEmmanuel Vadot snps,has-lpm-erratum: 1395def4c47SEmmanuel Vadot description: True when DWC3 was configured with LPM Erratum enabled 1405def4c47SEmmanuel Vadot type: boolean 1415def4c47SEmmanuel Vadot 1425def4c47SEmmanuel Vadot snps,lpm-nyet-threshold: 1435def4c47SEmmanuel Vadot description: LPM NYET threshold 1445def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 1455def4c47SEmmanuel Vadot 1465def4c47SEmmanuel Vadot snps,u2exit_lfps_quirk: 1475def4c47SEmmanuel Vadot description: Set if we want to enable u2exit lfps quirk 1485def4c47SEmmanuel Vadot type: boolean 1495def4c47SEmmanuel Vadot 1505def4c47SEmmanuel Vadot snps,u2ss_inp3_quirk: 1515def4c47SEmmanuel Vadot description: Set if we enable P3 OK for U2/SS Inactive quirk 1525def4c47SEmmanuel Vadot type: boolean 1535def4c47SEmmanuel Vadot 1545def4c47SEmmanuel Vadot snps,req_p1p2p3_quirk: 1555def4c47SEmmanuel Vadot description: 1565def4c47SEmmanuel Vadot When set, the core will always request for P1/P2/P3 transition sequence. 1575def4c47SEmmanuel Vadot type: boolean 1585def4c47SEmmanuel Vadot 1595def4c47SEmmanuel Vadot snps,del_p1p2p3_quirk: 1605def4c47SEmmanuel Vadot description: 1615def4c47SEmmanuel Vadot When set core will delay P1/P2/P3 until a certain amount of 8B10B errors 1625def4c47SEmmanuel Vadot occur. 1635def4c47SEmmanuel Vadot type: boolean 1645def4c47SEmmanuel Vadot 1655def4c47SEmmanuel Vadot snps,del_phy_power_chg_quirk: 1665def4c47SEmmanuel Vadot description: When set core will delay PHY power change from P0 to P1/P2/P3. 1675def4c47SEmmanuel Vadot type: boolean 1685def4c47SEmmanuel Vadot 1695def4c47SEmmanuel Vadot snps,lfps_filter_quirk: 1705def4c47SEmmanuel Vadot description: When set core will filter LFPS reception. 1715def4c47SEmmanuel Vadot type: boolean 1725def4c47SEmmanuel Vadot 1735def4c47SEmmanuel Vadot snps,rx_detect_poll_quirk: 1745def4c47SEmmanuel Vadot description: 1755def4c47SEmmanuel Vadot when set core will disable a 400us delay to start Polling LFPS after 1765def4c47SEmmanuel Vadot RX.Detect. 1775def4c47SEmmanuel Vadot type: boolean 1785def4c47SEmmanuel Vadot 1795def4c47SEmmanuel Vadot snps,tx_de_emphasis_quirk: 1805def4c47SEmmanuel Vadot description: When set core will set Tx de-emphasis value 1815def4c47SEmmanuel Vadot type: boolean 1825def4c47SEmmanuel Vadot 1835def4c47SEmmanuel Vadot snps,tx_de_emphasis: 1845def4c47SEmmanuel Vadot description: 1855def4c47SEmmanuel Vadot The value driven to the PHY is controlled by the LTSSM during USB3 1865def4c47SEmmanuel Vadot Compliance mode. 1875def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 1885def4c47SEmmanuel Vadot enum: 1895def4c47SEmmanuel Vadot - 0 # -6dB de-emphasis 1905def4c47SEmmanuel Vadot - 1 # -3.5dB de-emphasis 1915def4c47SEmmanuel Vadot - 2 # No de-emphasis 1925def4c47SEmmanuel Vadot 1935def4c47SEmmanuel Vadot snps,dis_u3_susphy_quirk: 1945def4c47SEmmanuel Vadot description: When set core will disable USB3 suspend phy 1955def4c47SEmmanuel Vadot type: boolean 1965def4c47SEmmanuel Vadot 1975def4c47SEmmanuel Vadot snps,dis_u2_susphy_quirk: 1985def4c47SEmmanuel Vadot description: When set core will disable USB2 suspend phy 1995def4c47SEmmanuel Vadot type: boolean 2005def4c47SEmmanuel Vadot 2015def4c47SEmmanuel Vadot snps,dis_enblslpm_quirk: 2025def4c47SEmmanuel Vadot description: 2035def4c47SEmmanuel Vadot When set clears the enblslpm in GUSB2PHYCFG, disabling the suspend signal 2045def4c47SEmmanuel Vadot to the PHY. 2055def4c47SEmmanuel Vadot type: boolean 2065def4c47SEmmanuel Vadot 2075def4c47SEmmanuel Vadot snps,dis-u1-entry-quirk: 2085def4c47SEmmanuel Vadot description: Set if link entering into U1 needs to be disabled 2095def4c47SEmmanuel Vadot type: boolean 2105def4c47SEmmanuel Vadot 2115def4c47SEmmanuel Vadot snps,dis-u2-entry-quirk: 2125def4c47SEmmanuel Vadot description: Set if link entering into U2 needs to be disabled 2135def4c47SEmmanuel Vadot type: boolean 2145def4c47SEmmanuel Vadot 2155def4c47SEmmanuel Vadot snps,dis_rxdet_inp3_quirk: 2165def4c47SEmmanuel Vadot description: 2175def4c47SEmmanuel Vadot When set core will disable receiver detection in PHY P3 power state. 2185def4c47SEmmanuel Vadot type: boolean 2195def4c47SEmmanuel Vadot 2205def4c47SEmmanuel Vadot snps,dis-u2-freeclk-exists-quirk: 2215def4c47SEmmanuel Vadot description: 2225def4c47SEmmanuel Vadot When set, clear the u2_freeclk_exists in GUSB2PHYCFG, specify that USB2 2235def4c47SEmmanuel Vadot PHY doesn't provide a free-running PHY clock. 2245def4c47SEmmanuel Vadot type: boolean 2255def4c47SEmmanuel Vadot 2265def4c47SEmmanuel Vadot snps,dis-del-phy-power-chg-quirk: 2275def4c47SEmmanuel Vadot description: 2285def4c47SEmmanuel Vadot When set core will change PHY power from P0 to P1/P2/P3 without delay. 2295def4c47SEmmanuel Vadot type: boolean 2305def4c47SEmmanuel Vadot 2315def4c47SEmmanuel Vadot snps,dis-tx-ipgap-linecheck-quirk: 2325def4c47SEmmanuel Vadot description: When set, disable u2mac linestate check during HS transmit 2335def4c47SEmmanuel Vadot type: boolean 2345def4c47SEmmanuel Vadot 2355def4c47SEmmanuel Vadot snps,parkmode-disable-ss-quirk: 2365def4c47SEmmanuel Vadot description: 2375def4c47SEmmanuel Vadot When set, all SuperSpeed bus instances in park mode are disabled. 2385def4c47SEmmanuel Vadot type: boolean 2395def4c47SEmmanuel Vadot 240fac71e4eSEmmanuel Vadot snps,parkmode-disable-hs-quirk: 241fac71e4eSEmmanuel Vadot description: 242fac71e4eSEmmanuel Vadot When set, all HighSpeed bus instances in park mode are disabled. 243fac71e4eSEmmanuel Vadot type: boolean 244fac71e4eSEmmanuel Vadot 2455def4c47SEmmanuel Vadot snps,dis_metastability_quirk: 2465def4c47SEmmanuel Vadot description: 2475def4c47SEmmanuel Vadot When set, disable metastability workaround. CAUTION! Use only if you are 2485def4c47SEmmanuel Vadot absolutely sure of it. 2495def4c47SEmmanuel Vadot type: boolean 2505def4c47SEmmanuel Vadot 2515def4c47SEmmanuel Vadot snps,dis-split-quirk: 2525def4c47SEmmanuel Vadot description: 2535def4c47SEmmanuel Vadot When set, change the way URBs are handled by the driver. Needed to 2545def4c47SEmmanuel Vadot avoid -EPROTO errors with usbhid on some devices (Hikey 970). 2555def4c47SEmmanuel Vadot type: boolean 2565def4c47SEmmanuel Vadot 2577ef62cebSEmmanuel Vadot snps,gfladj-refclk-lpm-sel-quirk: 2587ef62cebSEmmanuel Vadot description: 2597ef62cebSEmmanuel Vadot When set, run the SOF/ITP counter based on ref_clk. 2607ef62cebSEmmanuel Vadot type: boolean 2617ef62cebSEmmanuel Vadot 2627ef62cebSEmmanuel Vadot snps,resume-hs-terminations: 2637ef62cebSEmmanuel Vadot description: 2647ef62cebSEmmanuel Vadot Fix the issue of HS terminations CRC error on resume by enabling this 2657ef62cebSEmmanuel Vadot quirk. When set, all the termsel, xcvrsel, opmode becomes 0 during end 2667ef62cebSEmmanuel Vadot of resume. This option is to support certain legacy ULPI PHYs. 2677ef62cebSEmmanuel Vadot type: boolean 2687ef62cebSEmmanuel Vadot 269fac71e4eSEmmanuel Vadot snps,ulpi-ext-vbus-drv: 270fac71e4eSEmmanuel Vadot description: 271fac71e4eSEmmanuel Vadot Some ULPI USB PHY does not support internal VBUS supply, and driving 272fac71e4eSEmmanuel Vadot the CPEN pin, requires the configuration of the ulpi DRVVBUSEXTERNAL 273fac71e4eSEmmanuel Vadot bit. When set, the xhci host will configure the USB2 PHY drives VBUS 274fac71e4eSEmmanuel Vadot with an external supply. 275fac71e4eSEmmanuel Vadot type: boolean 276fac71e4eSEmmanuel Vadot 2775def4c47SEmmanuel Vadot snps,is-utmi-l1-suspend: 2785def4c47SEmmanuel Vadot description: 2795def4c47SEmmanuel Vadot True when DWC3 asserts output signal utmi_l1_suspend_n, false when 2805def4c47SEmmanuel Vadot asserts utmi_sleep_n. 2815def4c47SEmmanuel Vadot type: boolean 2825def4c47SEmmanuel Vadot 2835def4c47SEmmanuel Vadot snps,hird-threshold: 2845def4c47SEmmanuel Vadot description: HIRD threshold 2855def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 2865def4c47SEmmanuel Vadot 2875def4c47SEmmanuel Vadot snps,hsphy_interface: 2885def4c47SEmmanuel Vadot description: 2895def4c47SEmmanuel Vadot High-Speed PHY interface selection between UTMI+ and ULPI when the 2905def4c47SEmmanuel Vadot DWC_USB3_HSPHY_INTERFACE has value 3. 291fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 2925def4c47SEmmanuel Vadot enum: [utmi, ulpi] 2935def4c47SEmmanuel Vadot 2945def4c47SEmmanuel Vadot snps,quirk-frame-length-adjustment: 2955def4c47SEmmanuel Vadot description: 2965def4c47SEmmanuel Vadot Value for GFLADJ_30MHZ field of GFLADJ register for post-silicon frame 2975def4c47SEmmanuel Vadot length adjustment when the fladj_30mhz_sdbnd signal is invalid or 2985def4c47SEmmanuel Vadot incorrect. 2995def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 3005def4c47SEmmanuel Vadot minimum: 0 3015def4c47SEmmanuel Vadot maximum: 0x3f 3025def4c47SEmmanuel Vadot 3038cc087a1SEmmanuel Vadot snps,ref-clock-period-ns: 3048cc087a1SEmmanuel Vadot description: 3058cc087a1SEmmanuel Vadot Value for REFCLKPER field of GUCTL register for reference clock period in 3068cc087a1SEmmanuel Vadot nanoseconds, when the hardware set default does not match the actual 3078cc087a1SEmmanuel Vadot clock. 308c9ccf3a3SEmmanuel Vadot 309c9ccf3a3SEmmanuel Vadot This binding is deprecated. Instead, provide an appropriate reference clock. 310c9ccf3a3SEmmanuel Vadot minimum: 8 311c9ccf3a3SEmmanuel Vadot maximum: 62 312c9ccf3a3SEmmanuel Vadot deprecated: true 3138cc087a1SEmmanuel Vadot 31484943d6fSEmmanuel Vadot snps,rx-thr-num-pkt: 31584943d6fSEmmanuel Vadot description: 31684943d6fSEmmanuel Vadot USB RX packet threshold count. In host mode, this field specifies 31784943d6fSEmmanuel Vadot the space that must be available in the RX FIFO before the core can 31884943d6fSEmmanuel Vadot start the corresponding USB RX transaction (burst). 31984943d6fSEmmanuel Vadot In device mode, this field specifies the space that must be 32084943d6fSEmmanuel Vadot available in the RX FIFO before the core can send ERDY for a 32184943d6fSEmmanuel Vadot flow-controlled endpoint. It is only used for SuperSpeed. 32284943d6fSEmmanuel Vadot The valid values for this field are from 1 to 15. (DWC3 SuperSpeed 32384943d6fSEmmanuel Vadot USB 3.0 Controller Databook) 32484943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 32584943d6fSEmmanuel Vadot minimum: 1 32684943d6fSEmmanuel Vadot maximum: 15 32784943d6fSEmmanuel Vadot 32884943d6fSEmmanuel Vadot snps,rx-max-burst: 32984943d6fSEmmanuel Vadot description: 33084943d6fSEmmanuel Vadot Max USB RX burst size. In host mode, this field specifies the 33184943d6fSEmmanuel Vadot Maximum Bulk IN burst the DWC_usb3 core can perform. When the system 33284943d6fSEmmanuel Vadot bus is slower than the USB, RX FIFO can overrun during a long burst. 33384943d6fSEmmanuel Vadot You can program a smaller value to this field to limit the RX burst 33484943d6fSEmmanuel Vadot size that the core can perform. It only applies to SS Bulk, 33584943d6fSEmmanuel Vadot Isochronous, and Interrupt IN endpoints in the host mode. 33684943d6fSEmmanuel Vadot In device mode, this field specifies the NUMP value that is sent in 33784943d6fSEmmanuel Vadot ERDY for an OUT endpoint. 33884943d6fSEmmanuel Vadot The valid values for this field are from 1 to 16. (DWC3 SuperSpeed 33984943d6fSEmmanuel Vadot USB 3.0 Controller Databook) 34084943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 34184943d6fSEmmanuel Vadot minimum: 1 34284943d6fSEmmanuel Vadot maximum: 16 34384943d6fSEmmanuel Vadot 34484943d6fSEmmanuel Vadot snps,tx-thr-num-pkt: 34584943d6fSEmmanuel Vadot description: 34684943d6fSEmmanuel Vadot USB TX packet threshold count. This field specifies the number of 34784943d6fSEmmanuel Vadot packets that must be in the TXFIFO before the core can start 34884943d6fSEmmanuel Vadot transmission for the corresponding USB transaction (burst). 34984943d6fSEmmanuel Vadot This count is valid in both host and device modes. It is only used 35084943d6fSEmmanuel Vadot for SuperSpeed operation. 35184943d6fSEmmanuel Vadot Valid values are from 1 to 15. (DWC3 SuperSpeed USB 3.0 Controller 35284943d6fSEmmanuel Vadot Databook) 35384943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 35484943d6fSEmmanuel Vadot minimum: 1 35584943d6fSEmmanuel Vadot maximum: 15 35684943d6fSEmmanuel Vadot 35784943d6fSEmmanuel Vadot snps,tx-max-burst: 35884943d6fSEmmanuel Vadot description: 35984943d6fSEmmanuel Vadot Max USB TX burst size. When the system bus is slower than the USB, 36084943d6fSEmmanuel Vadot TX FIFO can underrun during a long burst. Program a smaller value 36184943d6fSEmmanuel Vadot to this field to limit the TX burst size that the core can execute. 36284943d6fSEmmanuel Vadot In Host mode, it only applies to SS Bulk, Isochronous, and Interrupt 36384943d6fSEmmanuel Vadot OUT endpoints. This value is not used in device mode. 36484943d6fSEmmanuel Vadot Valid values are from 1 to 16. (DWC3 SuperSpeed USB 3.0 Controller 36584943d6fSEmmanuel Vadot Databook) 36684943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 36784943d6fSEmmanuel Vadot minimum: 1 36884943d6fSEmmanuel Vadot maximum: 16 36984943d6fSEmmanuel Vadot 3705def4c47SEmmanuel Vadot snps,rx-thr-num-pkt-prd: 3715def4c47SEmmanuel Vadot description: 3725def4c47SEmmanuel Vadot Periodic ESS RX packet threshold count (host mode only). Set this and 3735def4c47SEmmanuel Vadot snps,rx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31 3745def4c47SEmmanuel Vadot programming guide section 1.2.4) to enable periodic ESS RX threshold. 3755def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 3765def4c47SEmmanuel Vadot minimum: 1 3775def4c47SEmmanuel Vadot maximum: 16 3785def4c47SEmmanuel Vadot 3795def4c47SEmmanuel Vadot snps,rx-max-burst-prd: 3805def4c47SEmmanuel Vadot description: 3815def4c47SEmmanuel Vadot Max periodic ESS RX burst size (host mode only). Set this and 3825def4c47SEmmanuel Vadot snps,rx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31 3835def4c47SEmmanuel Vadot programming guide section 1.2.4) to enable periodic ESS RX threshold. 3845def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 3855def4c47SEmmanuel Vadot minimum: 1 3865def4c47SEmmanuel Vadot maximum: 16 3875def4c47SEmmanuel Vadot 3885def4c47SEmmanuel Vadot snps,tx-thr-num-pkt-prd: 3895def4c47SEmmanuel Vadot description: 3905def4c47SEmmanuel Vadot Periodic ESS TX packet threshold count (host mode only). Set this and 3915def4c47SEmmanuel Vadot snps,tx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31 3925def4c47SEmmanuel Vadot programming guide section 1.2.3) to enable periodic ESS TX threshold. 3935def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 3945def4c47SEmmanuel Vadot minimum: 1 3955def4c47SEmmanuel Vadot maximum: 16 3965def4c47SEmmanuel Vadot 3975def4c47SEmmanuel Vadot snps,tx-max-burst-prd: 3985def4c47SEmmanuel Vadot description: 3995def4c47SEmmanuel Vadot Max periodic ESS TX burst size (host mode only). Set this and 4005def4c47SEmmanuel Vadot snps,tx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31 4015def4c47SEmmanuel Vadot programming guide section 1.2.3) to enable periodic ESS TX threshold. 4025def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 4035def4c47SEmmanuel Vadot minimum: 1 4045def4c47SEmmanuel Vadot maximum: 16 4055def4c47SEmmanuel Vadot 4065def4c47SEmmanuel Vadot tx-fifo-resize: 407354d7675SEmmanuel Vadot description: Determines if the TX fifos can be dynamically resized depending 408354d7675SEmmanuel Vadot on the number of IN endpoints used and if bursting is supported. This 409354d7675SEmmanuel Vadot may help improve bandwidth on platforms with higher system latencies, as 410354d7675SEmmanuel Vadot increased fifo space allows for the controller to prefetch data into its 411354d7675SEmmanuel Vadot internal memory. 4125def4c47SEmmanuel Vadot type: boolean 4135def4c47SEmmanuel Vadot 414354d7675SEmmanuel Vadot tx-fifo-max-num: 415354d7675SEmmanuel Vadot description: Specifies the max number of packets the txfifo resizing logic 416354d7675SEmmanuel Vadot can account for when higher endpoint bursting is used. (bMaxBurst > 6) The 417354d7675SEmmanuel Vadot higher the number, the more fifo space the txfifo resizing logic will 418354d7675SEmmanuel Vadot allocate for that endpoint. 419354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 420354d7675SEmmanuel Vadot minimum: 3 421354d7675SEmmanuel Vadot 4225def4c47SEmmanuel Vadot snps,incr-burst-type-adjustment: 4235def4c47SEmmanuel Vadot description: 4245def4c47SEmmanuel Vadot Value for INCR burst type of GSBUSCFG0 register, undefined length INCR 4255def4c47SEmmanuel Vadot burst type enable and INCRx type. A single value means INCRX burst mode 4265def4c47SEmmanuel Vadot enabled. If more than one value specified, undefined length INCR burst 4275def4c47SEmmanuel Vadot type will be enabled with burst lengths utilized up to the maximum 4285def4c47SEmmanuel Vadot of the values passed in this property. 4295def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 4305def4c47SEmmanuel Vadot minItems: 1 4315def4c47SEmmanuel Vadot maxItems: 8 4325def4c47SEmmanuel Vadot uniqueItems: true 4335def4c47SEmmanuel Vadot items: 4345def4c47SEmmanuel Vadot enum: [1, 4, 8, 16, 32, 64, 128, 256] 4355def4c47SEmmanuel Vadot 4368d13bc63SEmmanuel Vadot num-hc-interrupters: 4378d13bc63SEmmanuel Vadot maximum: 8 4388d13bc63SEmmanuel Vadot default: 1 4398d13bc63SEmmanuel Vadot 440c9ccf3a3SEmmanuel Vadot port: 441c9ccf3a3SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 442c9ccf3a3SEmmanuel Vadot description: 443c9ccf3a3SEmmanuel Vadot This port is used with the 'usb-role-switch' property to connect the 444c9ccf3a3SEmmanuel Vadot dwc3 to type C connector. 445c9ccf3a3SEmmanuel Vadot 446fac71e4eSEmmanuel Vadot ports: 447fac71e4eSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 448fac71e4eSEmmanuel Vadot description: 449fac71e4eSEmmanuel Vadot Those ports should be used with any connector to the data bus of this 450fac71e4eSEmmanuel Vadot controller using the OF graph bindings specified if the "usb-role-switch" 451fac71e4eSEmmanuel Vadot property is used. 452fac71e4eSEmmanuel Vadot 453fac71e4eSEmmanuel Vadot properties: 454fac71e4eSEmmanuel Vadot port@0: 455fac71e4eSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 456fac71e4eSEmmanuel Vadot description: High Speed (HS) data bus. 457fac71e4eSEmmanuel Vadot 458fac71e4eSEmmanuel Vadot port@1: 459fac71e4eSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 460fac71e4eSEmmanuel Vadot description: Super Speed (SS) data bus. 461fac71e4eSEmmanuel Vadot 462b97ee269SEmmanuel Vadot wakeup-source: 463b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 464b97ee269SEmmanuel Vadot description: 465b97ee269SEmmanuel Vadot Enable USB remote wakeup. 466b97ee269SEmmanuel Vadot 4675def4c47SEmmanuel VadotunevaluatedProperties: false 4685def4c47SEmmanuel Vadot 4695def4c47SEmmanuel Vadotrequired: 4705def4c47SEmmanuel Vadot - compatible 4715def4c47SEmmanuel Vadot - reg 4725def4c47SEmmanuel Vadot - interrupts 4735def4c47SEmmanuel Vadot 4745def4c47SEmmanuel Vadotexamples: 4755def4c47SEmmanuel Vadot - | 4765def4c47SEmmanuel Vadot usb@4a030000 { 4775def4c47SEmmanuel Vadot compatible = "snps,dwc3"; 4785def4c47SEmmanuel Vadot reg = <0x4a030000 0xcfff>; 4795def4c47SEmmanuel Vadot interrupts = <0 92 4>; 4805def4c47SEmmanuel Vadot usb-phy = <&usb2_phy>, <&usb3_phy>; 4815def4c47SEmmanuel Vadot snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 4825def4c47SEmmanuel Vadot }; 4835def4c47SEmmanuel Vadot - | 4845def4c47SEmmanuel Vadot usb@4a000000 { 4855def4c47SEmmanuel Vadot compatible = "snps,dwc3"; 4865def4c47SEmmanuel Vadot reg = <0x4a000000 0xcfff>; 4875def4c47SEmmanuel Vadot interrupts = <0 92 4>; 4885def4c47SEmmanuel Vadot clocks = <&clk 1>, <&clk 2>, <&clk 3>; 4895def4c47SEmmanuel Vadot clock-names = "bus_early", "ref", "suspend"; 4905def4c47SEmmanuel Vadot phys = <&usb2_phy>, <&usb3_phy>; 4915def4c47SEmmanuel Vadot phy-names = "usb2-phy", "usb3-phy"; 4925def4c47SEmmanuel Vadot snps,dis_u2_susphy_quirk; 4935def4c47SEmmanuel Vadot snps,dis_enblslpm_quirk; 4945def4c47SEmmanuel Vadot }; 4955def4c47SEmmanuel Vadot... 496