Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit b27d9668 authored by Mark Brown's avatar Mark Brown
Browse files

Merge branch 'regulator-4.21' into regulator-next

parents 67a2ab93 cd07e370
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -32,6 +32,15 @@ Required properties:
- interrupt-controller: The PMIC has its own internal IRQs
- #interrupt-cells: Should be set to 1

Supported common regulator properties, see ../regulator/regulator.txt for
more information:
- regulator-ramp-delay: sets the ramp up delay in uV/us
			AXP20x/DCDC2: 1600, 800
			AXP20x/LDO3:  1600, 800
- regulator-soft-start:	enable the output at the lowest possible voltage and
			only then set the desired voltage
			AXP20x/LDO3: software-based implementation

Optional properties:
- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
		      AXP152/20X: range:  750-1875, Default: 1.5 MHz
+34 −0
Original line number Diff line number Diff line
@@ -15,11 +15,17 @@ Optional input supply properties:
  - inl67-supply: The input supply for REG_LDO3 and REG_LDO4

Any standard regulator properties can be used to configure the single regulator.
regulator-initial-mode, regulator-allowed-modes and regulator-mode could be
specified using mode values from dt-bindings/regulator/active-semi,8945a-regulator.h
file.

The valid names for regulators are:
	REG_DCDC1, REG_DCDC2, REG_DCDC3, REG_LDO1, REG_LDO2, REG_LDO3, REG_LDO4.

Example:

#include <dt-bindings/regulator/active-semi,8945a-regulator.h>

	pmic@5b {
		compatible = "active-semi,act8945a";
		reg = <0x5b>;
@@ -32,6 +38,18 @@ Example:
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;

				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-min-microvolt=<1400000>;
					regulator-suspend-max-microvolt=<1400000>;
					regulator-changeable-in-suspend;
					regulator-mode=<ACT8945A_REGULATOR_MODE_LOWPOWER>;
				};
			};

			vdd_1v2_reg: REG_DCDC2 {
@@ -39,6 +57,14 @@ Example:
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;

				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_3v3_reg: REG_DCDC3 {
@@ -53,6 +79,14 @@ Example:
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;

				regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
							  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
				regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_3v3_lp_reg: REG_LDO2 {
+82 −0
Original line number Diff line number Diff line
Cirrus Logic Lochnagar Audio Development Board

Lochnagar is an evaluation and development board for Cirrus Logic
Smart CODEC and Amp devices. It allows the connection of most Cirrus
Logic devices on mini-cards, as well as allowing connection of
various application processor systems to provide a full evaluation
platform.  Audio system topology, clocking and power can all be
controlled through the Lochnagar, allowing the device under test
to be used in a variety of possible use cases.

This binding document describes the binding for the regulator portion
of the driver.

Also see these documents for generic binding information:
  [1] Regulator: ../regulator/regulator.txt

This binding must be part of the Lochnagar MFD binding:
  [2] ../mfd/cirrus,lochnagar.txt

Optional sub-nodes:

  - VDDCORE : Initialisation data for the VDDCORE regulator, which
    supplies the CODECs digital core if it has no build regulator for that
    purpose.
      Required Properties:
      - compatible : One of the following strings:
                     "cirrus,lochnagar2-vddcore"
      - SYSVDD-supply: Primary power supply for the Lochnagar.

  - MICVDD : Initialisation data for the MICVDD regulator, which
    supplies the CODECs MICVDD.
      Required Properties:
      - compatible : One of the following strings:
                     "cirrus,lochnagar2-micvdd"
      - SYSVDD-supply: Primary power supply for the Lochnagar.

  - MIC1VDD, MIC2VDD : Initialisation data for the MICxVDD supplies.
      Required Properties:
      - compatible : One of the following strings:
                     "cirrus,lochnagar2-mic1vdd", "cirrus,lochnagar2-mic2vdd"
      Optional Properties:
      - cirrus,micbias-input : A property selecting which of the CODEC
        minicard micbias outputs should be used, valid values are 1 - 4.
      - MICBIAS1-supply, MICBIAS2-supply: Regulator supplies for the
        MICxVDD outputs, supplying the digital microphones, normally
        supplied from the attached CODEC.

  - VDD1V8 : Recommended fixed regulator for the VDD1V8 regulator, which supplies the
    CODECs analog and 1.8V digital supplies.
      Required Properties:
      - compatible : Should be set to "regulator-fixed"
      - regulator-min-microvolt : Should be set to 1.8V
      - regulator-max-microvolt : Should be set to 1.8V
      - regulator-boot-on
      - regulator-always-on
      - vin-supply : Should be set to same supply as SYSVDD

Example:

lochnagar {
	lochnagar-micvdd: MICVDD {
		compatible = "cirrus,lochnagar2-micvdd";

		SYSVDD-supply = <&wallvdd>;

		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	lochnagar-vdd1v8: VDD1V8 {
		compatible = "regulator-fixed";

		regulator-name = "VDD1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-boot-on;
		regulator-always-on;

		vin-supply = <&wallvdd>;
	};
};
+143 −0
Original line number Diff line number Diff line
MCP16502 PMIC

Required properties:
- compatible: "microchip,mcp16502"
- reg: I2C slave address
- lpm-gpios: GPIO for LPM pin. Note that this GPIO *must* remain high during
	     suspend-to-ram, keeping the PMIC into HIBERNATE mode.
- regulators: A node that houses a sub-node for each regulator within
              the device. Each sub-node is identified using the node's
              name. The content of each sub-node is defined by the
              standard binding for regulators; see regulator.txt.

Regualtors of MCP16502 PMIC:
1) VDD_IO	- Buck (1.2 - 3.7 V)
2) VDD_DDR	- Buck (0.6 - 1.85 V)
3) VDD_CORE	- Buck (0.6 - 1.85 V)
4) VDD_OTHER	- BUCK (0.6 - 1.85 V)
5) LDO1		- LDO  (1.2 - 3.7 V)
6) LDO2		- LDO  (1.2 - 3.7 V)

Regulator modes:
2 - FPWM: higher precision, higher consumption
4 - AutoPFM: lower precision, lower consumption

Each regulator is defined using the standard binding for regulators.

Example:

mcp16502@5b {
	compatible = "microchip,mcp16502";
	reg = <0x5b>;
	status = "okay";
	lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>;

	regulators {
		VDD_IO {
			regulator-name = "VDD_IO";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <3700000>;
			regulator-initial-mode = <2>;
			regulator-allowed-modes = <2>, <4>;
			regulator-always-on;

			regulator-state-standby {
				regulator-on-in-suspend;
				regulator-mode = <4>;
			};

			regulator-state-mem {
				regulator-off-in-suspend;
				regulator-mode = <4>;
			};
		};

		VDD_DDR {
			regulator-name = "VDD_DDR";
			regulator-min-microvolt = <600000>;
			regulator-max-microvolt = <1850000>;
			regulator-initial-mode = <2>;
			regulator-allowed-modes = <2>, <4>;
			regulator-always-on;

			regulator-state-standby {
				regulator-on-in-suspend;
				regulator-mode = <4>;
			};

			regulator-state-mem {
				regulator-on-in-suspend;
				regulator-mode = <4>;
			};
		};

		VDD_CORE {
			regulator-name = "VDD_CORE";
			regulator-min-microvolt = <600000>;
			regulator-max-microvolt = <1850000>;
			regulator-initial-mode = <2>;
			regulator-allowed-modes = <2>, <4>;
			regulator-always-on;

			regulator-state-standby {
				regulator-on-in-suspend;
				regulator-mode = <4>;
			};

			regulator-state-mem {
				regulator-off-in-suspend;
				regulator-mode = <4>;
			};
		};

		VDD_OTHER {
			regulator-name = "VDD_OTHER";
			regulator-min-microvolt = <600000>;
			regulator-max-microvolt = <1850000>;
			regulator-initial-mode = <2>;
			regulator-allowed-modes = <2>, <4>;
			regulator-always-on;

			regulator-state-standby {
				regulator-on-in-suspend;
				regulator-mode = <4>;
			};

			regulator-state-mem {
				regulator-off-in-suspend;
				regulator-mode = <4>;
			};
		};

		LDO1 {
			regulator-name = "LDO1";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <3700000>;
			regulator-always-on;

			regulator-state-standby {
				regulator-on-in-suspend;
			};

			regulator-state-mem {
				regulator-off-in-suspend;
			};
		};

		LDO2 {
			regulator-name = "LDO2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <3700000>;
			regulator-always-on;

			regulator-state-standby {
				regulator-on-in-suspend;
			};

			regulator-state-mem {
				regulator-off-in-suspend;
			};
		};

	};
};
+9 −3
Original line number Diff line number Diff line
@@ -33,13 +33,16 @@ Optional properties:
  decreases of any level. This is useful for regulators with exponential
  voltage changes.
- regulator-soft-start: Enable soft start so that voltage ramps slowly
- regulator-state-standby sub-root node for Standby mode
  : equivalent with standby Linux sleep state, which provides energy savings
  with a relatively quick transition back time.
- regulator-state-mem sub-root node for Suspend-to-RAM mode
  : suspend to memory, the device goes to sleep, but all data stored in memory,
  only some external interrupt can wake the device.
- regulator-state-disk sub-root node for Suspend-to-DISK mode
  : suspend to disk, this state operates similarly to Suspend-to-RAM,
  but includes a final step of writing memory contents to disk.
- regulator-state-[mem/disk] node has following common properties:
- regulator-state-[mem/disk/standby] node has following common properties:
	- regulator-on-in-suspend: regulator should be on in suspend state.
	- regulator-off-in-suspend: regulator should be off in suspend state.
	- regulator-suspend-min-microvolt: minimum voltage may be set in
@@ -76,8 +79,11 @@ Optional properties:
- regulator-coupled-with: Regulators with which the regulator
  is coupled. The linkage is 2-way - all coupled regulators should be linked
  with each other. A regulator should not be coupled with its supplier.
- regulator-coupled-max-spread: Max spread between voltages of coupled regulators
  in microvolts.
- regulator-coupled-max-spread: Array of maximum spread between voltages of
  coupled regulators in microvolts, each value in the array relates to the
  corresponding couple specified by the regulator-coupled-with property.
- regulator-max-step-microvolt: Maximum difference between current and target
  voltages that can be changed safely in a single step.

Deprecated properties:
- regulator-compatible: If a regulator chip contains multiple
Loading