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

Binding for Maxim MAX77686 regulators

This is a part of the device tree bindings of MAX77686 multi-function device.
More information can be found in ../mfd/max77686.txt file.

The MAX77686 PMIC has 9 high-efficiency Buck and 26 Low-DropOut (LDO)
regulators that can be controlled over I2C.

Following properties should be present in main device node of the MFD chip.

Optional node:
- voltage-regulators : The regulators of max77686 have to be instantiated
  under subnode named "voltage-regulators" using the following format.

	regulator_name {
		regulator-compatible = LDOn/BUCKn
		standard regulator constraints....
	};
	refer Documentation/devicetree/bindings/regulator/regulator.txt

  The regulator node's name should be initialized with a string
to get matched with their hardware counterparts as follow:

	-LDOn 	:	for LDOs, where n can lie in range 1 to 26.
			example: LDO1, LDO2, LDO26.
	-BUCKn 	:	for BUCKs, where n can lie in range 1 to 9.
			example: BUCK1, BUCK5, BUCK9.

  Regulators which can be turned off during system suspend:
	-LDOn	:	2, 6-8, 10-12, 14-16,
	-BUCKn	:	1-4.
  Use standard regulator bindings for it ('regulator-off-in-suspend').

  LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
  control. To turn this feature on this property must be added to the regulator
  sub-node:
	- maxim,ena-gpios :	one GPIO specifier enable control (the gpio
				flags are actually ignored and always
				ACTIVE_HIGH is used)

Example:

	max77686: pmic@9 {
		compatible = "maxim,max77686";
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 IRQ_TYPE_NONE>;
		reg = <0x09>;

		voltage-regulators {
			ldo11_reg: LDO11 {
				regulator-name = "vdd_ldo11";
				regulator-min-microvolt = <1900000>;
				regulator-max-microvolt = <1900000>;
				regulator-always-on;
			};

			buck1_reg: BUCK1 {
				regulator-name = "vdd_mif";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck9_reg: BUCK9 {
				regulator-name = "CAM_ISP_CORE_1.2V";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1200000>;
				maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
			};
	};