Merge tag 'v5.3-rc4' into next
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / mfd / rohm,bd71837-pmic.txt
1 * ROHM BD71837 and BD71847 Power Management Integrated Circuit bindings
2
3 BD71837MWV and BD71847MWV are programmable Power Management ICs for powering
4 single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. They are
5 optimized for low BOM cost and compact solution footprint. BD71837MWV
6 integrates 8 Buck regulators and 7 LDOs. BD71847MWV contains 6 Buck regulators
7 and 6 LDOs.
8
9 Datasheet for BD71837 is available at:
10 https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e
11 Datasheet for BD71847 is available at:
12 https://www.rohm.com/datasheet/BD71847AMWV/bd71847amwv-e
13
14 Required properties:
15  - compatible           : Should be "rohm,bd71837" for bd71837
16                                     "rohm,bd71847" for bd71847.
17  - reg                  : I2C slave address.
18  - interrupt-parent     : Phandle to the parent interrupt controller.
19  - interrupts           : The interrupt line the device is connected to.
20  - clocks               : The parent clock connected to PMIC. If this is missing
21                           32768 KHz clock is assumed.
22  - #clock-cells         : Should be 0.
23  - regulators:          : List of child nodes that specify the regulators.
24                           Please see ../regulator/rohm,bd71837-regulator.txt
25
26 Optional properties:
27 - clock-output-names    : Should contain name for output clock.
28 - rohm,reset-snvs-powered : Transfer BD718x7 to SNVS state at reset.
29
30 The BD718x7 supports two different HW states as reset target states. States
31 are called as SNVS and READY. At READY state all the PMIC power outputs go
32 down and OTP is reload. At the SNVS state all other logic and external
33 devices apart from the SNVS power domain are shut off. Please refer to NXP
34 i.MX8 documentation for further information regarding SNVS state. When a
35 reset is done via SNVS state the PMIC OTP data is not reload. This causes
36 power outputs that have been under SW control to stay down when reset has
37 switched power state to SNVS. If reset is done via READY state the power
38 outputs will be returned to HW control by OTP loading. Thus the reset
39 target state is set to READY by default. If SNVS state is used the boot
40 crucial regulators must have the regulator-always-on and regulator-boot-on
41 properties set in regulator node.
42
43 - rohm,short-press-ms   : Short press duration in milliseconds
44 - rohm,long-press-ms    : Long press duration in milliseconds
45
46 Configure the "short press" and "long press" timers for the power button.
47 Values are rounded to what hardware supports (500ms multiple for short and
48 1000ms multiple for long). If these properties are not present the existing
49 configuration (from bootloader or OTP) is not touched.
50
51 Example:
52
53         /* external oscillator node */
54         osc: oscillator {
55                 compatible = "fixed-clock";
56                 #clock-cells = <1>;
57                 clock-frequency  = <32768>;
58                 clock-output-names = "osc";
59         };
60
61         pmic: pmic@4b {
62                 compatible = "rohm,bd71837";
63                 reg = <0x4b>;
64                 interrupt-parent = <&gpio1>;
65                 interrupts = <29 GPIO_ACTIVE_LOW>;
66                 interrupt-names = "irq";
67                 #clock-cells = <0>;
68                 clocks = <&osc 0>;
69                 clock-output-names = "bd71837-32k-out";
70                 rohm,reset-snvs-powered;
71
72                 regulators {
73                         buck1: BUCK1 {
74                                 regulator-name = "buck1";
75                                 regulator-min-microvolt = <700000>;
76                                 regulator-max-microvolt = <1300000>;
77                                 regulator-boot-on;
78                                 regulator-always-on;
79                                 regulator-ramp-delay = <1250>;
80                         };
81                         // [...]
82                 };
83         };
84
85         /* Clock consumer node */
86         rtc@0 {
87                 compatible = "company,my-rtc";
88                 clock-names = "my-clock";
89                 clocks = <&pmic>;
90         };