• Andrzej Pietrasiewicz's avatar
    drivers: phy: add calibrate method · 36914111
    Andrzej Pietrasiewicz authored
    Some quirky UDCs (like dwc3 on Exynos) need to have their phys calibrated e.g.
    for using super speed. This patch adds a new phy_calibrate() method.
    When the calibration should be used is dependent on actual chip.
    In case of dwc3 on Exynos the calibration must happen after usb_add_hcd()
    (while in host mode), because certain phy parameters like Tx LOS levels
    and boost levels need to be calibrated further post initialization of xHCI
    controller, to get SuperSpeed operations working. But an hcd must be
    prepared first in order to pass it to usb_add_hcd(), so, in particular, dwc3
    registers must be available first, and in order for the latter to happen
    the phys must be initialized. This poses a chicken and egg problem if
    the calibration were to be performed in phy_init(). To break the circular
    dependency a separate method is added which can be called at a desired
    moment after phy intialization.
    Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
    Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>