[U-Boot] [RFC PATCH v1 2/2] power: regulator: support ROHM BD71837 PMIC
Vaittinen, Matti
Matti.Vaittinen at fi.rohmeurope.com
Wed Apr 24 05:59:40 UTC 2019
Hello Simon,
Thanks a bunch for taking the time and reviewing this! I do appreciate!
On Tue, 2019-04-23 at 21:54 -0600, Simon Glass wrote:
> Hi Matti,
>
> On Wed, 27 Mar 2019 at 06:40, Matti Vaittinen
> <matti.vaittinen at fi.rohmeurope.com> wrote:
> >
> > Add regulator driver for ROHM BD71837 PMIC. BD71837 contains
> > 8 bucks and 7 LDOS. Voltages for bucks 1-4 can be adjusted
> > when regulators are enabled. For other bucks and LDOs we may
> > have over- or undershooting if voltage is adjusted when
> > regulator is enabled. Thus this is prevented by default.
> >
> > BD71837 has a quirk which may leave power output disabled
> > after reset if enable/disable state was controlled by SW.
> > Thus the SW control is only allowed for bucks3 and 4 by
> > default.
> >
> > Signed-off-by: Matti Vaittinen <matti.vaittinen at fi.rohmeurope.com>
> > ---
> > drivers/power/regulator/Kconfig | 15 ++
> > drivers/power/regulator/Makefile | 1 +
> > drivers/power/regulator/bd71837.c | 373
> > ++++++++++++++++++++++++++++++
> > include/power/bd71837.h | 20 ++
> > 4 files changed, 409 insertions(+)
> >
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> But please see nits below.
I see you reviewed the RFC version. I would like to ask you to see also
the non RFC version https://patchwork.ozlabs.org/patch/1080860/ which
supports also BD71847. I see that most (maybe all) of these comments
apply to that patch too - but you might have some additional ideas
too.
I will create v2 of this non RFC patch based on these comments (and fix
your comments to patch 1/2 too) but I won't add your reviewed-by just
yet - I hope you can also check the pieces adding BD71847 support and
give me a nudge if you see there something to improve. =)
> > --- /dev/null
> > +++ b/drivers/power/regulator/bd71837.c
> > @@ -0,0 +1,373 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +//
> > +// Copyright (C) 2019 ROHM Semiconductors
> > +//
> > +// ROHM BD71837 regulator driver
>
> The SPDX line has a // comment but everything else should use C
> comments:
>
> /*
> * Copyright ...
> *
> * ROHM ...
> */
This is fine for me. But just to note that this differs from Linux
notation which accepts also the copyright block being // - comments. I
am not sure how closely u-Boot follows (or wants to follow) kernel
coding guidelines. But as I said, I don't mind changing this.
> > +
> > +static int bd71837_regulator_probe(struct udevice *dev)
> > +{
> > + struct bd71837_data *d = dev_get_platdata(dev);
> > + int i, ret;
> > + struct dm_regulator_uclass_platdata *uc_pdata;
> > +
> > + for (i = 0; i < ARRAY_SIZE(bd71837_reg_data); i++) {
> > + if (!strcmp(dev->name, bd71837_reg_data[i].name)) {
> > + *d = bd71837_reg_data[i];
> > + if (d->enablemask != HW_STATE_CONTROL) {
> > + u8 ctrl;
> > +
> > + /* Take the regulator under SW
> > control. Ensure
> > + * the initial state matches dt
> > flags and then
> > + * write the SEL bit
> > + */
> > + uc_pdata =
> > dev_get_uclass_platdata(dev);
> > + ret = bd71837_set_enable(dev,
> > + !!(uc_pdat
> > a->boot_on ||
> > + uc_pdata-
> > >always_on));
> > + if (ret)
> > + return ret;
> > +
> > + ctrl = pmic_reg_read(dev->parent,
> > + d-
> > >enable_reg);
> > + if (ctrl < 0)
> > + return ctrl;
> > +
> > + ctrl |= d->sel_mask;
> > + return pmic_reg_write(dev->parent,
> > + d-
> > >enable_reg, ctrl);
> > + }
> > + return 0;
> > + }
> > + }
> > +
> > + pr_err("Unknown regulator '%s'\n", dev->name);
> > +
> > + return -EINVAL;
>
> -ENOENT ?
At first the -ENOENT sounded to me like a regulator/device is missing.
I thought that here we have extra (invalid/unknown) regulator in the
device-tree. Thus I used the -EINVAL. But I think you are right, we can
think that DT is correct and the driver lacks of correct regulator
entity. So -ENOENT can be appropriate. => I'll change this too.
> > --
> > Matti Vaittinen, Linux device drivers
> > ROHM Semiconductors, Finland SWDC
> > Kiviharjunlenkki 1E
> > 90220 OULU
> > FINLAND
> >
> > ~~~ "I don't think so," said Rene Descartes. Just then he vanished
> > ~~~
>
> This would be better in Latin.
Unfortunately that's far beyond my skills =) I can do Finnish though ;)
Rest of the comments seemed all like trivial fixes and I will apply
them =)
>
> Regards,
> Simon
More information about the U-Boot
mailing list