Messages in this thread | | | Subject | Re: [RFC PATCH 12/13] dt-bindings: mfd: Document ROHM BD71282 bindings | From | Dan Murphy <> | Date | Thu, 17 Oct 2019 09:18:15 -0500 |
| |
Matt
On 10/17/19 4:55 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 pin > and a 32.768 kHz clock gate. > > Document the dt bindings drivers are using.
This should be patch 1 of X
> Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> > --- > .../bindings/mfd/rohm,bd71828-pmic.txt | 180 ++++++++++++++++++ > 1 file changed, 180 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.txt > > 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 > +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: > + > + /* external oscillator node */ > + osc: oscillator { > + compatible = "fixed-clock"; > + #clock-cells = <1>; > + clock-frequency = <32768>; > + clock-output-names = "osc"; > + }; > + > + pmic: pmic@4b { > + compatible = "rohm,bd71828"; > + reg = <0x4b>; > + interrupt-parent = <&gpio1>; > + interrupts = <29 GPIO_ACTIVE_LOW>; > + clocks = <&osc 0>; > + #clock-cells = <0>; > + clock-output-names = "bd71828-32k-out"; > + gpio-controller; > + #gpio-cells = <2>; > + ngpios = <4>; > + gpio-reserved-ranges = <0 1 2 1>; > + gpio-line-names = "EPDEN"; > + rohm,dvs-vsel-gpios = <&gpio1 12 0>, > + <&gpio1 13 0>; > + regulators { > + buck1: BUCK1 { > + regulator-name = "buck1"; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <2000000>; > + regulator-ramp-delay = <2500>; > + rohm,dvs-runlvl-ctrl; > + rohm,dvs-runlevel0-voltage = <500000>; > + rohm,dvs-runlevel1-voltage = <506250>; > + rohm,dvs-runlevel2-voltage = <512500>; > + rohm,dvs-runlevel3-voltage = <518750>; > + regulator-boot-on; > + }; > + buck2: BUCK2 { > + regulator-name = "buck2"; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <2000000>; > + regulator-ramp-delay = <2500>; > + rohm,dvs-runlvl-ctrl; > + rohm,dvs-runlevel0-voltage = <500000>; > + rohm,dvs-runlevel1-voltage = <506250>; > + rohm,dvs-runlevel2-voltage = <512500>; > + rohm,dvs-runlevel3-voltage = <518750>; > + regulator-boot-on; > + }; > + buck3: BUCK3 { > + regulator-name = "buck3"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <2000000>; > + regulator-boot-on; > + }; > + buck4: BUCK4 { > + regulator-name = "buck4"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + }; > + buck5: BUCK5 { > + regulator-name = "buck5"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + buck6: BUCK6 { > + regulator-name = "buck6"; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <2000000>; > + regulator-ramp-delay = <2500>; > + rohm,dvs-runlvl-ctrl; > + rohm,dvs-runlevel0-voltage = <500000>; > + rohm,dvs-runlevel1-voltage = <506250>; > + rohm,dvs-runlevel2-voltage = <512500>; > + rohm,dvs-runlevel3-voltage = <518750>; > + regulator-boot-on; > + }; > + buck7: BUCK7 { > + regulator-name = "buck7"; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <2000000>; > + regulator-ramp-delay = <2500>; > + rohm,dvs-runlvl-ctrl; > + rohm,dvs-runlevel0-voltage = <500000>; > + rohm,dvs-runlevel1-voltage = <506250>; > + rohm,dvs-runlevel2-voltage = <512500>; > + rohm,dvs-runlevel3-voltage = <518750>; > + regulator-boot-on; > + }; > + ldo1: LDO1 { > + regulator-name = "ldo1"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + ldo2: LDO2 { > + regulator-name = "ldo2"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + ldo3: LDO3 { > + regulator-name = "ldo3"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + ldo4: LDO4 { > + regulator-name = "ldo4"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + ldo5: LDO5 { > + regulator-name = "ldo5"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + ldo6: LDO6 { > + regulator-name = "ldo6"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + }; > + ldo7_reg: LDO7 { > + regulator-name = "ldo7"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + }; > + };
| |