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