xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/rohm,bd70528-pmic.txt (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1c66ec88fSEmmanuel Vadot* ROHM BD70528 Power Management Integrated Circuit bindings
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotBD70528MWV is an ultra-low quiescent current general purpose, single-chip,
4c66ec88fSEmmanuel Vadotpower management IC for battery-powered portable devices. The IC
5c66ec88fSEmmanuel Vadotintegrates 3 ultra-low current consumption buck converters, 3 LDOs and 2
6c66ec88fSEmmanuel VadotLED Drivers. Also included are 4 GPIOs, a real-time clock (RTC), a 32kHz
7c66ec88fSEmmanuel Vadotclock gate, high-accuracy VREF for use with an external ADC, flexible
8c66ec88fSEmmanuel Vadotdual-input power path, 10 bit SAR ADC for battery temperature monitor and
9c66ec88fSEmmanuel Vadot1S battery charger with scalable charge currents.
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel VadotRequired properties:
12c66ec88fSEmmanuel Vadot - compatible		: Should be "rohm,bd70528"
13c66ec88fSEmmanuel Vadot - reg			: I2C slave address.
14c66ec88fSEmmanuel Vadot - interrupts		: The interrupt line the device is connected to.
15c66ec88fSEmmanuel Vadot - interrupt-controller	: To indicate BD70528 acts as an interrupt controller.
16c66ec88fSEmmanuel Vadot - #interrupt-cells	: Should be 2. Usage is compliant to the 2 cells
17c66ec88fSEmmanuel Vadot			  variant of ../interrupt-controller/interrupts.txt
18c66ec88fSEmmanuel Vadot - gpio-controller	: To indicate BD70528 acts as a GPIO controller.
19c66ec88fSEmmanuel Vadot - #gpio-cells		: Should be 2. The first cell is the pin number and
20c66ec88fSEmmanuel Vadot			  the second cell is used to specify flags. See
21c66ec88fSEmmanuel Vadot			  ../gpio/gpio.txt for more information.
22c66ec88fSEmmanuel Vadot - #clock-cells		: Should be 0.
23c66ec88fSEmmanuel Vadot - regulators:		: List of child nodes that specify the regulators.
24c66ec88fSEmmanuel Vadot			  Please see ../regulator/rohm,bd70528-regulator.txt
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel VadotOptional properties:
27c66ec88fSEmmanuel Vadot - clock-output-names	: Should contain name for output clock.
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel VadotExample:
30c66ec88fSEmmanuel Vadot/* External oscillator */
31c66ec88fSEmmanuel Vadotosc: oscillator {
32c66ec88fSEmmanuel Vadot	compatible = "fixed-clock";
33c66ec88fSEmmanuel Vadot	#clock-cells = <1>;
34c66ec88fSEmmanuel Vadot	clock-frequency  = <32768>;
35c66ec88fSEmmanuel Vadot	clock-output-names = "osc";
36c66ec88fSEmmanuel Vadot};
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadotpmic: pmic@4b {
39c66ec88fSEmmanuel Vadot	compatible = "rohm,bd70528";
40c66ec88fSEmmanuel Vadot	reg = <0x4b>;
41c66ec88fSEmmanuel Vadot	interrupt-parent = <&gpio1>;
42*6be33864SEmmanuel Vadot	interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
43c66ec88fSEmmanuel Vadot	clocks = <&osc 0>;
44c66ec88fSEmmanuel Vadot	#clock-cells = <0>;
45c66ec88fSEmmanuel Vadot	clock-output-names = "bd70528-32k-out";
46c66ec88fSEmmanuel Vadot	#gpio-cells = <2>;
47c66ec88fSEmmanuel Vadot	gpio-controller;
48c66ec88fSEmmanuel Vadot	interrupt-controller;
49c66ec88fSEmmanuel Vadot	#interrupt-cells = <2>;
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot	regulators {
52c66ec88fSEmmanuel Vadot		buck1: BUCK1 {
53c66ec88fSEmmanuel Vadot			regulator-name = "buck1";
54c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
55c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3400000>;
56c66ec88fSEmmanuel Vadot			regulator-boot-on;
57c66ec88fSEmmanuel Vadot			regulator-ramp-delay = <125>;
58c66ec88fSEmmanuel Vadot		};
59c66ec88fSEmmanuel Vadot		buck2: BUCK2 {
60c66ec88fSEmmanuel Vadot			regulator-name = "buck2";
61c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
62c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
63c66ec88fSEmmanuel Vadot			regulator-boot-on;
64c66ec88fSEmmanuel Vadot			regulator-ramp-delay = <125>;
65c66ec88fSEmmanuel Vadot		};
66c66ec88fSEmmanuel Vadot		buck3: BUCK3 {
67c66ec88fSEmmanuel Vadot			regulator-name = "buck3";
68c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <800000>;
69c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
70c66ec88fSEmmanuel Vadot			regulator-boot-on;
71c66ec88fSEmmanuel Vadot			regulator-ramp-delay = <250>;
72c66ec88fSEmmanuel Vadot		};
73c66ec88fSEmmanuel Vadot		ldo1: LDO1 {
74c66ec88fSEmmanuel Vadot			regulator-name = "ldo1";
75c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1650000>;
76c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
77c66ec88fSEmmanuel Vadot			regulator-boot-on;
78c66ec88fSEmmanuel Vadot		};
79c66ec88fSEmmanuel Vadot		ldo2: LDO2 {
80c66ec88fSEmmanuel Vadot			regulator-name = "ldo2";
81c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1650000>;
82c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
83c66ec88fSEmmanuel Vadot			regulator-boot-on;
84c66ec88fSEmmanuel Vadot		};
85c66ec88fSEmmanuel Vadot
86c66ec88fSEmmanuel Vadot		ldo3: LDO3 {
87c66ec88fSEmmanuel Vadot			regulator-name = "ldo3";
88c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1650000>;
89c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
90c66ec88fSEmmanuel Vadot		};
91c66ec88fSEmmanuel Vadot		led_ldo1: LED_LDO1 {
92c66ec88fSEmmanuel Vadot			regulator-name = "led_ldo1";
93c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <200000>;
94c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <300000>;
95c66ec88fSEmmanuel Vadot		};
96c66ec88fSEmmanuel Vadot		led_ldo2: LED_LDO2 {
97c66ec88fSEmmanuel Vadot			regulator-name = "led_ldo2";
98c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <200000>;
99c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <300000>;
100c66ec88fSEmmanuel Vadot		};
101c66ec88fSEmmanuel Vadot	};
102c66ec88fSEmmanuel Vadot};
103