• Hans de Goede's avatar
    usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail · d7c93a90
    Hans de Goede authored
    Commit e0082698 ("usb: dwc3: ulpi: conditionally resume ULPI PHY")
    fixed an issue where ULPI transfers would timeout if any requests where
    send to the phy sometime after init, giving it enough time to auto-suspend.
    
    Commit e5f4ca3f ("usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend
    regression") changed the behavior to instead of clearing the
    DWC3_GUSB2PHYCFG_SUSPHY bit, add an extra sleep when it is set.
    
    But on Bay Trail devices, when phy_set_mode() gets called during init,
    this leads to errors like these:
    [   28.451522] tusb1210 dwc3.ulpi: error -110 writing val 0x01 to reg 0x0a
    [   28.464089] tusb1210 dwc3.ulpi: error -110 writing val 0x01 to reg 0x0a
    
    Add "snps,dis_u2_susphy_quirk" to the settings for Bay Trail devices to
    fix this. This restores the old behavior for Bay Trail devices, since
    previously the DWC3_GUSB2PHYCFG_SUSPHY bit would get cleared on the first
    ulpi_read/_write() and then was never set again.
    
    Fixes: e5f4ca3f ("usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression")
    Cc: stable@kernel.org
    Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220213130524.18748-2-hdegoede@redhat.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    d7c93a90
dwc3-pci.c 14.3 KB