Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* ROHM BD70528 Power Management Integrated Circuit bindings

BD70528MWV is an ultra-low quiescent current general purpose, single-chip,
power management IC for battery-powered portable devices. The IC
integrates 3 ultra-low current consumption buck converters, 3 LDOs and 2
LED Drivers. Also included are 4 GPIOs, a real-time clock (RTC), a 32kHz
clock gate, high-accuracy VREF for use with an external ADC, flexible
dual-input power path, 10 bit SAR ADC for battery temperature monitor and
1S battery charger with scalable charge currents.

Required properties:
 - compatible		: Should be "rohm,bd70528"
 - reg			: I2C slave address.
 - interrupts		: The interrupt line the device is connected to.
 - interrupt-controller	: To indicate BD70528 acts as an interrupt controller.
 - #interrupt-cells	: Should be 2. Usage is compliant to the 2 cells
			  variant of ../interrupt-controller/interrupts.txt
 - gpio-controller	: To indicate BD70528 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.
 - #clock-cells		: Should be 0.
 - regulators:		: List of child nodes that specify the regulators.
			  Please see ../regulator/rohm,bd70528-regulator.txt

Optional properties:
 - clock-output-names	: Should contain name for output clock.

Example:
/* External oscillator */
osc: oscillator {
	compatible = "fixed-clock";
	#clock-cells = <1>;
	clock-frequency  = <32768>;
	clock-output-names = "osc";
};

pmic: pmic@4b {
	compatible = "rohm,bd70528";
	reg = <0x4b>;
	interrupt-parent = <&gpio1>;
	interrupts = <29 GPIO_ACTIVE_LOW>;
	clocks = <&osc 0>;
	#clock-cells = <0>;
	clock-output-names = "bd70528-32k-out";
	#gpio-cells = <2>;
	gpio-controller;
	interrupt-controller;
	#interrupt-cells = <2>;

	regulators {
		buck1: BUCK1 {
			regulator-name = "buck1";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <3400000>;
			regulator-boot-on;
			regulator-ramp-delay = <125>;
		};
		buck2: BUCK2 {
			regulator-name = "buck2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <3300000>;
			regulator-boot-on;
			regulator-ramp-delay = <125>;
		};
		buck3: BUCK3 {
			regulator-name = "buck3";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <1800000>;
			regulator-boot-on;
			regulator-ramp-delay = <250>;
		};
		ldo1: LDO1 {
			regulator-name = "ldo1";
			regulator-min-microvolt = <1650000>;
			regulator-max-microvolt = <3300000>;
			regulator-boot-on;
		};
		ldo2: LDO2 {
			regulator-name = "ldo2";
			regulator-min-microvolt = <1650000>;
			regulator-max-microvolt = <3300000>;
			regulator-boot-on;
		};

		ldo3: LDO3 {
			regulator-name = "ldo3";
			regulator-min-microvolt = <1650000>;
			regulator-max-microvolt = <3300000>;
		};
		led_ldo1: LED_LDO1 {
			regulator-name = "led_ldo1";
			regulator-min-microvolt = <200000>;
			regulator-max-microvolt = <300000>;
		};
		led_ldo2: LED_LDO2 {
			regulator-name = "led_ldo2";
			regulator-min-microvolt = <200000>;
			regulator-max-microvolt = <300000>;
		};
	};
};