Re: [RFC PATCH v2 02/13] dt-bindings: mfd: Document ROHM BD71828 bindings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 25, 2019 at 05:49:17AM +0000, Vaittinen, Matti wrote:
> Hello Dan,
> 
> Thanks again for checking this :)
> 
> On Thu, 2019-10-24 at 14:35 -0500, Dan Murphy wrote:
> > Matti
> > 
> > On 10/24/19 6:41 AM, Matti Vaittinen wrote:
> > > ROHM BD71828 Power management IC integrates 7 buck converters, 7
> > > LDOs,
> > > a real-time clock (RTC), 3 GPO/regulator control pins, HALL input
> > > and a 32.768 kHz clock gate.
> > > 
> > > Document the dt bindings drivers are using.
> > > 
> > > Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx>
> > > ---
> > > 
> > > No changes since v1
> > > 
> > >   .../bindings/mfd/rohm,bd71828-pmic.txt        | 180
> > > ++++++++++++++++++
> > >   1 file changed, 180 insertions(+)
> > >   create mode 100644
> > > Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.txt
> > 
> > I will let maintainers weigh in here but if this is new this should 
> > probably be in the yaml format to avoid conversion in the future
> 
> Oh... This is new to me. I guess there are reasons for this - but I
> must say I am not excited as I have never used yaml for anything. I'll
> do as you suggest and wait for what others have to say :) Thanks for
> pointing this out though.

Sorry for your lack of excitement. It could be XML...

There aren't many MFD examples yet, but there is max77650 in my tree and 
linux-next.

> > > diff --git a/Documentation/devicetree/bindings/mfd/rohm,bd71828-
> > > pmic.txt b/Documentation/devicetree/bindings/mfd/rohm,bd71828-
> > > pmic.txt
> > > new file mode 100644
> > > index 000000000000..125efa9f3de0
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.txt
> > > @@ -0,0 +1,180 @@
> > > +* ROHM BD71828 Power Management Integrated Circuit bindings
> > > +
> > > +BD71828GW is a single-chip power management IC for battery-powered 
> > > portable
> > > +devices. The IC integrates 7 buck converters, 7 LDOs, and a 1500
> > > mA single-cell
> > > +linear charger. Also included is a Coulomb counter, a real-time
> > > clock (RTC),
> > > +and a 32.768 kHz clock gate.
> > > +
> > > +Required properties:
> > > + - compatible			: Should be "rohm,bd71828".
> > > + - reg				: I2C slave address.
> > > + - interrupt-parent		: Phandle to the parent
> > > interrupt controller.
> > > + - interrupts			: The interrupt line the device
> > > is connected to.
> > > + - clocks			: The parent clock connected to PMIC.
> > > + - #clock-cells			: Should be 0.
> > > + - regulators			: List of child nodes that
> > > specify the
> > > +				  regulators. Please see
> > > +				  ../regulator/rohm,bd71828-
> > > regulator.txt
> > > + - gpio-controller		: To indicate BD71828 acts as a GPIO
> > > controller.
> > > + - #gpio-cells			: Should be 2. The first cell
> > > is the pin number
> > > +				  and the second cell is used to
> > > specify flags.
> > > +				  See ../gpio/gpio.txt for more
> > > information.
> > > +
> > > +The BD71828 RUN state is divided into 4 configurable run-levels
> > > named RUN0,
> > > +RUN1, RUN2 and RUN3. Bucks 1, 2, 6 and 7 can be either controlled
> > > individually
> > > +via I2C, or some/all of them can be bound to run-levels and
> > > controlled as a
> > > +group. If bucks are controlled individually these run-levels are
> > > ignored. See
> > > +../regulator/rohm,bd71828-regulator.txt for how to define
> > > regulator voltages
> 
> > The rohm,bd71828-regulator.txt should be yaml if the maintainers want
> > it 
> > that way.
> 
> Let's see if this should be changed then :)
> 
> > > +for run-levels. Run-levels can be changed by I2C or GPIO depending
> > > on PMIC's OTP
> > > +configuration.
> > > +
> > > +Optional properties:
> > > +- clock-output-names		: Should contain name for
> > > output clock.
> > > +- rohm,dvs-vsel-gpios		: GPIOs used to control PMIC
> > > run-levels. Should
> > > +				  describe two GPIOs. (See run-level
> > > control in
> > > +				  data-sheet). If this property is
> > > omitted but
> > > +				  some bucks are marked to be
> > > controlled by
> > > +				  run-levels - then OTP option allowing
> > > +				  run-level control via I2C is assumed.
> > > +- gpio-reserved-ranges		: Usage of GPIO pins can be
> > > changed via OTP.
> > > +				  This property can be used to mark the
> > > pins
> > > +				  which should not be configured for
> > > GPIO.
> > > +				  Please see the ../gpio/gpio.txt for
> > > more
> > > +				  information.
> > > +
> > > +Example:
> > > +
> > 
> > This example does not look right.
> > 
> > I see that I2C is referenced above so the example could look like
> > this
> > 
> > osc: oscillator {
> >                  compatible = "fixed-clock";
> >                  #clock-cells = <1>;
> >                  clock-frequency  = <32768>;
> >                  clock-output-names = "osc";
> >          };
> > 
> > This is an external oscillator and is not really part of the pmic 
> > itself.  I am not sure you even need to define that since it is not
> > part 
> > of the pmic.
> 
> I think you are correct. I'll drop this oscillator for next patch.
> 
> > 
> > i2c {
> > 
> >          pmic@4b {
> > 
> >                  [...]
> > 
> >          };
> > 
> > };
> 
> I don't think the I2C node is needed in example. It is not part of the
> PMIC - and I don't see the containing bus in other examples I just
> opened. (the two other rohm,xxx PMIC docs - well, biased as I wrote
> them), da9150.txt, lp3943.txt, max77686.txt, tps6507x.txt, tps65910.txt

It will be needed for the schema because the examples are compiled and 
validated.

Rob



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux