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