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