lkml.org 
[lkml]   [2017]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 50/63] drm/imx: imx-tve: Do not set the regulator voltage
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Fabio Estevam <fabio.estevam@nxp.com>

    commit fc12bccda8b6f5c38139eceec9e369ed78091b2b upstream.

    Commit deb65870b5d9d ("drm/imx: imx-tve: check the value returned by
    regulator_set_voltage()") exposes the following probe issue:

    63ff0000.tve supply dac not found, using dummy regulator
    imx-drm display-subsystem: failed to bind 63ff0000.tve (ops imx_tve_ops): -22

    When the 'dac-supply' is not passed in the device tree a dummy regulator is
    used and setting its voltage is not allowed.

    To fix this issue, do not set the dac-supply voltage inside the driver
    and let its voltage be specified in the device tree.

    Print a warning if the the 'dac-supply' voltage has a value different
    from 2.75V.

    Fixes: deb65870b5d9d ("drm/imx: imx-tve: check the value returned by regulator_set_voltage()")
    Suggested-by: Lucas Stach <l.stach@pengutronix.de>
    Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/imx/imx-tve.c | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    --- a/drivers/gpu/drm/imx/imx-tve.c
    +++ b/drivers/gpu/drm/imx/imx-tve.c
    @@ -98,6 +98,8 @@
    /* TVE_TST_MODE_REG */
    #define TVE_TVDAC_TEST_MODE_MASK (0x7 << 0)

    +#define IMX_TVE_DAC_VOLTAGE 2750000
    +
    enum {
    TVE_MODE_TVOUT,
    TVE_MODE_VGA,
    @@ -628,9 +630,8 @@ static int imx_tve_bind(struct device *d

    tve->dac_reg = devm_regulator_get(dev, "dac");
    if (!IS_ERR(tve->dac_reg)) {
    - ret = regulator_set_voltage(tve->dac_reg, 2750000, 2750000);
    - if (ret)
    - return ret;
    + if (regulator_get_voltage(tve->dac_reg) != IMX_TVE_DAC_VOLTAGE)
    + dev_warn(dev, "dac voltage is not %d uV\n", IMX_TVE_DAC_VOLTAGE);
    ret = regulator_enable(tve->dac_reg);
    if (ret)
    return ret;

    \
     
     \ /
      Last update: 2017-03-13 10:10    [W:4.131 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site