18c2ecf20Sopenharmony_cisynopsys DWC3 CORE
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciDWC3- USB3 CONTROLLER. Complies to the generic USB binding properties
48c2ecf20Sopenharmony_ci      as described in 'usb/generic.txt'
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciRequired properties:
78c2ecf20Sopenharmony_ci - compatible: must be "snps,dwc3"
88c2ecf20Sopenharmony_ci - reg : Address and length of the register set for the device
98c2ecf20Sopenharmony_ci - interrupts: Interrupts used by the dwc3 controller.
108c2ecf20Sopenharmony_ci - clock-names: list of clock names. Ideally should be "ref",
118c2ecf20Sopenharmony_ci                "bus_early", "suspend" but may be less or more.
128c2ecf20Sopenharmony_ci - clocks: list of phandle and clock specifier pairs corresponding to
138c2ecf20Sopenharmony_ci           entries in the clock-names property.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciException for clocks:
168c2ecf20Sopenharmony_ci  clocks are optional if the parent node (i.e. glue-layer) is compatible to
178c2ecf20Sopenharmony_ci  one of the following:
188c2ecf20Sopenharmony_ci    "cavium,octeon-7130-usb-uctl"
198c2ecf20Sopenharmony_ci    "qcom,dwc3"
208c2ecf20Sopenharmony_ci    "samsung,exynos5250-dwusb3"
218c2ecf20Sopenharmony_ci    "samsung,exynos5433-dwusb3"
228c2ecf20Sopenharmony_ci    "samsung,exynos7-dwusb3"
238c2ecf20Sopenharmony_ci    "sprd,sc9860-dwc3"
248c2ecf20Sopenharmony_ci    "st,stih407-dwc3"
258c2ecf20Sopenharmony_ci    "ti,am437x-dwc3"
268c2ecf20Sopenharmony_ci    "ti,dwc3"
278c2ecf20Sopenharmony_ci    "ti,keystone-dwc3"
288c2ecf20Sopenharmony_ci    "rockchip,rk3399-dwc3"
298c2ecf20Sopenharmony_ci    "xlnx,zynqmp-dwc3"
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciOptional properties:
328c2ecf20Sopenharmony_ci - usb-phy : array of phandle for the PHY device.  The first element
338c2ecf20Sopenharmony_ci   in the array is expected to be a handle to the USB2/HS PHY and
348c2ecf20Sopenharmony_ci   the second element is expected to be a handle to the USB3/SS PHY
358c2ecf20Sopenharmony_ci - phys: from the *Generic PHY* bindings
368c2ecf20Sopenharmony_ci - phy-names: from the *Generic PHY* bindings; supported names are "usb2-phy"
378c2ecf20Sopenharmony_ci	or "usb3-phy".
388c2ecf20Sopenharmony_ci - resets: set of phandle and reset specifier pairs
398c2ecf20Sopenharmony_ci - snps,usb2-lpm-disable: indicate if we don't want to enable USB2 HW LPM
408c2ecf20Sopenharmony_ci - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
418c2ecf20Sopenharmony_ci - snps,dis-start-transfer-quirk: when set, disable isoc START TRANSFER command
428c2ecf20Sopenharmony_ci			failure SW work-around for DWC_usb31 version 1.70a-ea06
438c2ecf20Sopenharmony_ci			and prior.
448c2ecf20Sopenharmony_ci - snps,disable_scramble_quirk: true when SW should disable data scrambling.
458c2ecf20Sopenharmony_ci	Only really useful for FPGA builds.
468c2ecf20Sopenharmony_ci - snps,has-lpm-erratum: true when DWC3 was configured with LPM Erratum enabled
478c2ecf20Sopenharmony_ci - snps,lpm-nyet-threshold: LPM NYET threshold
488c2ecf20Sopenharmony_ci - snps,u2exit_lfps_quirk: set if we want to enable u2exit lfps quirk
498c2ecf20Sopenharmony_ci - snps,u2ss_inp3_quirk: set if we enable P3 OK for U2/SS Inactive quirk
508c2ecf20Sopenharmony_ci - snps,req_p1p2p3_quirk: when set, the core will always request for
518c2ecf20Sopenharmony_ci			P1/P2/P3 transition sequence.
528c2ecf20Sopenharmony_ci - snps,del_p1p2p3_quirk: when set core will delay P1/P2/P3 until a certain
538c2ecf20Sopenharmony_ci			amount of 8B10B errors occur.
548c2ecf20Sopenharmony_ci - snps,del_phy_power_chg_quirk: when set core will delay PHY power change
558c2ecf20Sopenharmony_ci			from P0 to P1/P2/P3.
568c2ecf20Sopenharmony_ci - snps,lfps_filter_quirk: when set core will filter LFPS reception.
578c2ecf20Sopenharmony_ci - snps,rx_detect_poll_quirk: when set core will disable a 400us delay to start
588c2ecf20Sopenharmony_ci			Polling LFPS after RX.Detect.
598c2ecf20Sopenharmony_ci - snps,tx_de_emphasis_quirk: when set core will set Tx de-emphasis value.
608c2ecf20Sopenharmony_ci - snps,tx_de_emphasis: the value driven to the PHY is controlled by the
618c2ecf20Sopenharmony_ci			LTSSM during USB3 Compliance mode.
628c2ecf20Sopenharmony_ci - snps,dis_u3_susphy_quirk: when set core will disable USB3 suspend phy.
638c2ecf20Sopenharmony_ci - snps,dis_u2_susphy_quirk: when set core will disable USB2 suspend phy.
648c2ecf20Sopenharmony_ci - snps,dis_enblslpm_quirk: when set clears the enblslpm in GUSB2PHYCFG,
658c2ecf20Sopenharmony_ci			disabling the suspend signal to the PHY.
668c2ecf20Sopenharmony_ci - snps,dis-u1-entry-quirk: set if link entering into U1 needs to be disabled.
678c2ecf20Sopenharmony_ci - snps,dis-u2-entry-quirk: set if link entering into U2 needs to be disabled.
688c2ecf20Sopenharmony_ci - snps,dis_rxdet_inp3_quirk: when set core will disable receiver detection
698c2ecf20Sopenharmony_ci			in PHY P3 power state.
708c2ecf20Sopenharmony_ci - snps,dis-u2-freeclk-exists-quirk: when set, clear the u2_freeclk_exists
718c2ecf20Sopenharmony_ci			in GUSB2PHYCFG, specify that USB2 PHY doesn't provide
728c2ecf20Sopenharmony_ci			a free-running PHY clock.
738c2ecf20Sopenharmony_ci - snps,dis-del-phy-power-chg-quirk: when set core will change PHY power
748c2ecf20Sopenharmony_ci			from P0 to P1/P2/P3 without delay.
758c2ecf20Sopenharmony_ci - snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check
768c2ecf20Sopenharmony_ci			during HS transmit.
778c2ecf20Sopenharmony_ci - snps,parkmode-disable-ss-quirk: when set, all SuperSpeed bus instances in
788c2ecf20Sopenharmony_ci			park mode are disabled.
798c2ecf20Sopenharmony_ci - snps,dis_metastability_quirk: when set, disable metastability workaround.
808c2ecf20Sopenharmony_ci			CAUTION: use only if you are absolutely sure of it.
818c2ecf20Sopenharmony_ci - snps,dis-split-quirk: when set, change the way URBs are handled by the
828c2ecf20Sopenharmony_ci			 driver. Needed to avoid -EPROTO errors with usbhid
838c2ecf20Sopenharmony_ci			 on some devices (Hikey 970).
848c2ecf20Sopenharmony_ci - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
858c2ecf20Sopenharmony_ci			utmi_l1_suspend_n, false when asserts utmi_sleep_n
868c2ecf20Sopenharmony_ci - snps,hird-threshold: HIRD threshold
878c2ecf20Sopenharmony_ci - snps,hsphy_interface: High-Speed PHY interface selection between "utmi" for
888c2ecf20Sopenharmony_ci   UTMI+ and "ulpi" for ULPI when the DWC_USB3_HSPHY_INTERFACE has value 3.
898c2ecf20Sopenharmony_ci - snps,quirk-frame-length-adjustment: Value for GFLADJ_30MHZ field of GFLADJ
908c2ecf20Sopenharmony_ci	register for post-silicon frame length adjustment when the
918c2ecf20Sopenharmony_ci	fladj_30mhz_sdbnd signal is invalid or incorrect.
928c2ecf20Sopenharmony_ci - snps,rx-thr-num-pkt-prd: periodic ESS RX packet threshold count - host mode
938c2ecf20Sopenharmony_ci			only. Set this and rx-max-burst-prd to a valid,
948c2ecf20Sopenharmony_ci			non-zero value 1-16 (DWC_usb31 programming guide
958c2ecf20Sopenharmony_ci			section 1.2.4) to enable periodic ESS RX threshold.
968c2ecf20Sopenharmony_ci - snps,rx-max-burst-prd: max periodic ESS RX burst size - host mode only. Set
978c2ecf20Sopenharmony_ci			this and rx-thr-num-pkt-prd to a valid, non-zero value
988c2ecf20Sopenharmony_ci			1-16 (DWC_usb31 programming guide section 1.2.4) to
998c2ecf20Sopenharmony_ci			enable periodic ESS RX threshold.
1008c2ecf20Sopenharmony_ci - snps,tx-thr-num-pkt-prd: periodic ESS TX packet threshold count - host mode
1018c2ecf20Sopenharmony_ci			only. Set this and tx-max-burst-prd to a valid,
1028c2ecf20Sopenharmony_ci			non-zero value 1-16 (DWC_usb31 programming guide
1038c2ecf20Sopenharmony_ci			section 1.2.3) to enable periodic ESS TX threshold.
1048c2ecf20Sopenharmony_ci - snps,tx-max-burst-prd: max periodic ESS TX burst size - host mode only. Set
1058c2ecf20Sopenharmony_ci			this and tx-thr-num-pkt-prd to a valid, non-zero value
1068c2ecf20Sopenharmony_ci			1-16 (DWC_usb31 programming guide section 1.2.3) to
1078c2ecf20Sopenharmony_ci			enable periodic ESS TX threshold.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
1108c2ecf20Sopenharmony_ci - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
1118c2ecf20Sopenharmony_ci			register, undefined length INCR burst type enable and INCRx type.
1128c2ecf20Sopenharmony_ci			When just one value, which means INCRX burst mode enabled. When
1138c2ecf20Sopenharmony_ci			more than one value, which means undefined length INCR burst type
1148c2ecf20Sopenharmony_ci			enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256.
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci - in addition all properties from usb-xhci.txt from the current directory are
1178c2ecf20Sopenharmony_ci   supported as well
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ciThis is usually a subnode to DWC3 glue to which it is connected.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_cidwc3@4a030000 {
1238c2ecf20Sopenharmony_ci	compatible = "snps,dwc3";
1248c2ecf20Sopenharmony_ci	reg = <0x4a030000 0xcfff>;
1258c2ecf20Sopenharmony_ci	interrupts = <0 92 4>
1268c2ecf20Sopenharmony_ci	usb-phy = <&usb2_phy>, <&usb3,phy>;
1278c2ecf20Sopenharmony_ci	snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
1288c2ecf20Sopenharmony_ci};
129