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.

Signed-off-by: Matti Vaittinen <matti.vaitti...@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;
+                       };
+               };
+       };
-- 
2.21.0


-- 
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 ~~~
Simon says - in Latin please.
~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
Thanks to Simon Glass for the translation =] 

Reply via email to