hc
2023-03-13 25c72f09e887f85fcff4a3f978d294da97ab1420
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
synopsys DWC3 CORE
 
DWC3- USB3 CONTROLLER. Complies to the generic USB binding properties
      as described in 'usb/generic.txt'
 
Required properties:
 - compatible: must be "snps,dwc3"
 - reg : Address and length of the register set for the device
 - interrupts: Interrupts used by the dwc3 controller.
 - clock-names: should contain "ref", "bus_early", "suspend"
 - clocks: list of phandle and clock specifier pairs corresponding to
           entries in the clock-names property.
 
Exception for clocks:
  clocks are optional if the parent node (i.e. glue-layer) is compatible to
  one of the following:
    "amlogic,meson-axg-dwc3"
    "amlogic,meson-gxl-dwc3"
    "cavium,octeon-7130-usb-uctl"
    "qcom,dwc3"
    "samsung,exynos5250-dwusb3"
    "samsung,exynos7-dwusb3"
    "sprd,sc9860-dwc3"
    "st,stih407-dwc3"
    "ti,am437x-dwc3"
    "ti,dwc3"
    "ti,keystone-dwc3"
    "rockchip,rk3399-dwc3"
    "xlnx,zynqmp-dwc3"
 
Optional properties:
 - usb-phy : array of phandle for the PHY device.  The first element
   in the array is expected to be a handle to the USB2/HS PHY and
   the second element is expected to be a handle to the USB3/SS PHY
 - phys: from the *Generic PHY* bindings
 - phy-names: from the *Generic PHY* bindings; supported names are "usb2-phy"
   or "usb3-phy".
 - resets: a single pair of phandle and reset specifier
 - snps,usb2-lpm-disable: indicate if we don't want to enable USB2 HW LPM
 - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
 - snps,dis-start-transfer-quirk: when set, disable isoc START TRANSFER command
           failure SW work-around for DWC_usb31 version 1.70a-ea06
           and prior.
 - snps,disable_scramble_quirk: true when SW should disable data scrambling.
   Only really useful for FPGA builds.
 - snps,has-lpm-erratum: true when DWC3 was configured with LPM Erratum enabled
 - snps,lpm-nyet-threshold: LPM NYET threshold
 - snps,u2exit_lfps_quirk: set if we want to enable u2exit lfps quirk
 - snps,u2ss_inp3_quirk: set if we enable P3 OK for U2/SS Inactive quirk
 - snps,req_p1p2p3_quirk: when set, the core will always request for
           P1/P2/P3 transition sequence.
 - snps,del_p1p2p3_quirk: when set core will delay P1/P2/P3 until a certain
           amount of 8B10B errors occur.
 - snps,del_phy_power_chg_quirk: when set core will delay PHY power change
           from P0 to P1/P2/P3.
 - snps,lfps_filter_quirk: when set core will filter LFPS reception.
 - snps,rx_detect_poll_quirk: when set core will disable a 400us delay to start
           Polling LFPS after RX.Detect.
 - snps,tx_de_emphasis_quirk: when set core will set Tx de-emphasis value.
 - snps,tx_de_emphasis: the value driven to the PHY is controlled by the
           LTSSM during USB3 Compliance mode.
 - snps,dis-u3-autosuspend-quirk: when set USB core driver will disable
           USB3 autosuspend function.
 - snps,dis_u3_susphy_quirk: when set core will disable USB3 suspend phy.
 - snps,dis_u2_susphy_quirk: when set core will disable USB2 suspend phy.
 - snps,dis-u1u2-quirk: when set core will reject transition to U1 or U2.
 - snps,dis_enblslpm_quirk: when set clears the enblslpm in GUSB2PHYCFG,
           disabling the suspend signal to the PHY.
 - snps,dis_rxdet_inp3_quirk: when set core will disable receiver detection
           in PHY P3 power state.
 - snps,dis-u2-freeclk-exists-quirk: when set, clear the u2_freeclk_exists
           in GUSB2PHYCFG, specify that USB2 PHY doesn't provide
           a free-running PHY clock.
 - snps,dis-del-phy-power-chg-quirk: when set core will change PHY power
           from P0 to P1/P2/P3 without delay.
 - snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check
           during HS transmit.
 - snps,parkmode-disable-ss-quirk: when set, all SuperSpeed bus instances in
           park mode are disabled.
 - snps,dis_metastability_quirk: when set, disable metastability workaround.
           CAUTION: use only if you are absolutely sure of it.
 - snps,xhci-slow-suspend-quirk: when set, need an extraordinary delay to wait
           for xHC enter the Halted state (i.e. HCH in the USBSTS
           register is '1').
 - snps,xhci-trb-ent-quirk: when set, the xHC use the Evaluate Next TRB(ENT)
           flag to force the xHC to pre-fetch the next TRB of a TD.
 - snps,xhci-warm-reset-on-suspend-quirk: when set, do a warm port reset for
           xHC USB3 port upon suspend.
 - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
           utmi_l1_suspend_n, false when asserts utmi_sleep_n
 - snps,hird-threshold: HIRD threshold
 - snps,hsphy_interface: High-Speed PHY interface selection between "utmi" for
   UTMI+ and "ulpi" for ULPI when the DWC_USB3_HSPHY_INTERFACE has value 3.
 - snps,quirk-frame-length-adjustment: Value for GFLADJ_30MHZ field of GFLADJ
   register for post-silicon frame length adjustment when the
   fladj_30mhz_sdbnd signal is invalid or incorrect.
 - snps,rx-thr-num-pkt-prd: periodic ESS RX packet threshold count - host mode
           only. Set this and rx-max-burst-prd to a valid,
           non-zero value 1-16 (DWC_usb31 programming guide
           section 1.2.4) to enable periodic ESS RX threshold.
 - snps,rx-max-burst-prd: max periodic ESS RX burst size - host mode only. Set
           this and rx-thr-num-pkt-prd to a valid, non-zero value
           1-16 (DWC_usb31 programming guide section 1.2.4) to
           enable periodic ESS RX threshold.
 - snps,tx-thr-num-pkt-prd: periodic ESS TX packet threshold count - host mode
           only. Set this and tx-max-burst-prd to a valid,
           non-zero value 1-16 (DWC_usb31 programming guide
           section 1.2.3) to enable periodic ESS TX threshold.
 - snps,tx-max-burst-prd: max periodic ESS TX burst size - host mode only. Set
           this and tx-thr-num-pkt-prd to a valid, non-zero value
           1-16 (DWC_usb31 programming guide section 1.2.3) to
           enable periodic ESS TX threshold.
 
 - snps,tx-fifo-resize: determines if the FIFO *has* to be reallocated.
 - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
           register, undefined length INCR burst type enable and INCRx type.
           When just one value, which means INCRX burst mode enabled. When
           more than one value, which means undefined length INCR burst type
           enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256.
 
 - in addition all properties from usb-xhci.txt from the current directory are
   supported as well
 
 
This is usually a subnode to DWC3 glue to which it is connected.
 
dwc3@4a030000 {
   compatible = "snps,dwc3";
   reg = <0x4a030000 0xcfff>;
   interrupts = <0 92 4>
   usb-phy = <&usb2_phy>, <&usb3,phy>;
   snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
};