lkml.org 
[lkml]   [2020]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH v2 04/10] regulator: bd9571mwv: Add BD9574MWF support
    Date
    Hello Matti-san,

    > From: Vaittinen, Matti, Sent: Friday, December 11, 2020 9:34 PM
    >
    > Hello again Shimada-san,
    >
    > On Fri, 2020-12-11 at 20:27 +0900, Yoshihiro Shimoda wrote:
    > > Add support for BD9574MWF which is silimar chip with BD9571MWV.
    > > Note that BD9574MWF doesn't support AVS and VID.
    >
    > I'd like to understand what is VID?

    It seems reading some voltages from registers.
    For example, BD9571 has "VD18_VID" register which
    is prohibit to write. But, BD9574 doesn't have this
    register. Also, the driver names "vid_ops",
    so I described "VID" here. Perhaps, we should revise
    the description to clear. (Please look "Updated description" in this email.)

    > >
    > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    > > ---
    > > drivers/regulator/bd9571mwv-regulator.c | 10 ++++++++--
    > > 1 file changed, 8 insertions(+), 2 deletions(-)
    > >
    > > diff --git a/drivers/regulator/bd9571mwv-regulator.c
    > > b/drivers/regulator/bd9571mwv-regulator.c
    > > index 02120b0..041339b 100644
    > > --- a/drivers/regulator/bd9571mwv-regulator.c
    > > +++ b/drivers/regulator/bd9571mwv-regulator.c
    > > @@ -1,6 +1,6 @@
    > > // SPDX-License-Identifier: GPL-2.0
    > > /*
    > > - * ROHM BD9571MWV-M regulator driver
    > > + * ROHM BD9571MWV-M and BD9574MWF-M regulator driver
    > > *
    > > * Copyright (C) 2017 Marek Vasut <marek.vasut+renesas@gmail.com>
    > > *
    > > @@ -9,6 +9,7 @@
    > > * NOTE: VD09 is missing
    > > */
    > >
    > > +#include <linux/mfd/rohm-generic.h>
    > > #include <linux/module.h>
    > > #include <linux/of.h>
    > > #include <linux/platform_device.h>
    > > @@ -277,6 +278,7 @@ static int bd9571mwv_regulator_probe(struct
    > > platform_device *pdev)
    > > struct regulator_dev *rdev;
    > > unsigned int val;
    > > int i;
    > > + enum rohm_chip_type chip = platform_get_device_id(pdev)-
    > > >driver_data;
    > >
    > > bdreg = devm_kzalloc(&pdev->dev, sizeof(*bdreg), GFP_KERNEL);
    > > if (!bdreg)
    > > @@ -292,6 +294,9 @@ static int bd9571mwv_regulator_probe(struct
    > > platform_device *pdev)
    > > config.regmap = bdreg->regmap;
    > >
    > > for (i = 0; i < ARRAY_SIZE(regulators); i++) {
    > > + /* BD9574MWF supports DVFS only */
    > > + if (chip == ROHM_CHIP_TYPE_BD9574 && regulators[i].id
    > > != DVFS)
    > > + continue;
    >
    > Does this mean that reading VD09 voltage is not supported by driver?

    Yes. Also, reading VD{18,25,33} voltage are not supported.

    > (I
    > assumed VD09 initial voltage can be set from eeprom(?) and read by
    > driver - I may be wrong though). Perhaps it is worth mentioning in the
    > commit message as a driver restriction?

    Yes, these voltage can be set from eeprom and read by driver.
    So, I updated the description like below.

    -- Updated description --
    Add support for BD9574MWF which is similar chip with BD9571MWV.
    Note that since BD9574MWF doesn't have avs_ops and vid_ops
    related registers, this driver avoids to use these registers
    if BD9574MWF is used.
    ------------------------

    > And just asking out of the curiosity - are the other voltage rails
    > listed in data-sheet (VD18, DDR0, VD33, VD09 and LDO1,...,LDO4) set-up
    > from DT as fixed-regulators? Any reason why they are not set-up here?

    TBH, I don't know why. Perhaps, the driver cannot read DDR0, LDO[1-4] values?

    Best regards,
    Yoshihiro Shimoda

    \
     
     \ /
      Last update: 2020-12-14 05:59    [W:6.679 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site