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@xxxxxxxxxxx> > > --- > > 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@xxxxxxxxx> > > * > > @@ -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