mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
f43d1b388f
Add ROHM BD71837 / BD71847 specific device tree bindings for controlling the PMIC shutdown/reset states and voltages for different HW states. The PMIC was designed to be used with NXP i.MX8 SoC and it supports SNVS low power state which seems to be typical for NXP i.MX SoCs. However, when SNVS is used we must not allow SW to control enabling/disabling those regulators which are crucial for system to boot as there is a HW limitation which causes SW controlled regulators to be kept shut down after SNVS reset. Allow setting the SNVS to be used as reset target state and allow marking those regulators which are critical for boot. Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> Tested-by: Angus Ainslie <angus@akkea.ca> Reviewed-by: Angus Ainslie <angus@akkea.ca> Signed-off-by: Mark Brown <broonie@kernel.org>
163 lines
5.2 KiB
Plaintext
163 lines
5.2 KiB
Plaintext
ROHM BD71837 and BD71847 Power Management Integrated Circuit regulator bindings
|
|
|
|
Required properties:
|
|
- regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7" for
|
|
BD71837. For BD71847 names should be "buck1", ..., "buck6"
|
|
and "ldo1", ..., "ldo6"
|
|
|
|
List of regulators provided by this controller. BD71837 regulators node
|
|
should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at
|
|
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt
|
|
Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
|
|
definition for each of these nodes is defined using the standard
|
|
binding for regulators at
|
|
Documentation/devicetree/bindings/regulator/regulator.txt.
|
|
Note that if BD71837 starts at RUN state you probably want to use
|
|
regulator-boot-on at least for BUCK6 and BUCK7 so that those are not
|
|
disabled by driver at startup. LDO5 and LDO6 are supplied by those and
|
|
if they are disabled at startup the voltage monitoring for LDO5/LDO6 will
|
|
cause PMIC to reset.
|
|
|
|
The valid names for BD71837 regulator nodes are:
|
|
BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8
|
|
LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7
|
|
|
|
The valid names for BD71847 regulator nodes are:
|
|
BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6
|
|
LDO1, LDO2, LDO3, LDO4, LDO5, LDO6
|
|
|
|
Optional properties:
|
|
- rohm,dvs-run-voltage : PMIC default "RUN" state voltage in uV.
|
|
See below table for bucks which support this.
|
|
- rohm,dvs-idle-voltage : PMIC default "IDLE" state voltage in uV.
|
|
See below table for bucks which support this.
|
|
- rohm,dvs-suspend-voltage : PMIC default "SUSPEND" state voltage in uV.
|
|
See below table for bucks which support this.
|
|
- Any optional property defined in bindings/regulator/regulator.txt
|
|
|
|
Supported default DVS states:
|
|
|
|
BD71837:
|
|
buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
|
|
-----------------------------------------------------------------------------
|
|
1 | supported | supported | supported
|
|
----------------------------------------------------------------------------
|
|
2 | supported | supported | not supported
|
|
----------------------------------------------------------------------------
|
|
3 | supported | not supported | not supported
|
|
----------------------------------------------------------------------------
|
|
4 | supported | not supported | not supported
|
|
----------------------------------------------------------------------------
|
|
rest | not supported | not supported | not supported
|
|
|
|
BD71847:
|
|
buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
|
|
-----------------------------------------------------------------------------
|
|
1 | supported | supported | supported
|
|
----------------------------------------------------------------------------
|
|
2 | supported | supported | not supported
|
|
----------------------------------------------------------------------------
|
|
rest | not supported | not supported | not supported
|
|
|
|
Example:
|
|
regulators {
|
|
buck1: BUCK1 {
|
|
regulator-name = "buck1";
|
|
regulator-min-microvolt = <700000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-ramp-delay = <1250>;
|
|
rohm,dvs-run-voltage = <900000>;
|
|
rohm,dvs-idle-voltage = <850000>;
|
|
rohm,dvs-suspend-voltage = <800000>;
|
|
};
|
|
buck2: BUCK2 {
|
|
regulator-name = "buck2";
|
|
regulator-min-microvolt = <700000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-ramp-delay = <1250>;
|
|
rohm,dvs-run-voltage = <1000000>;
|
|
rohm,dvs-idle-voltage = <900000>;
|
|
};
|
|
buck3: BUCK3 {
|
|
regulator-name = "buck3";
|
|
regulator-min-microvolt = <700000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-boot-on;
|
|
rohm,dvs-run-voltage = <1000000>;
|
|
};
|
|
buck4: BUCK4 {
|
|
regulator-name = "buck4";
|
|
regulator-min-microvolt = <700000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-boot-on;
|
|
rohm,dvs-run-voltage = <1000000>;
|
|
};
|
|
buck5: BUCK5 {
|
|
regulator-name = "buck5";
|
|
regulator-min-microvolt = <700000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-boot-on;
|
|
};
|
|
buck6: BUCK6 {
|
|
regulator-name = "buck6";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
};
|
|
buck7: BUCK7 {
|
|
regulator-name = "buck7";
|
|
regulator-min-microvolt = <1605000>;
|
|
regulator-max-microvolt = <1995000>;
|
|
regulator-boot-on;
|
|
};
|
|
buck8: BUCK8 {
|
|
regulator-name = "buck8";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
};
|
|
|
|
ldo1: LDO1 {
|
|
regulator-name = "ldo1";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
};
|
|
ldo2: LDO2 {
|
|
regulator-name = "ldo2";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <900000>;
|
|
regulator-boot-on;
|
|
};
|
|
ldo3: LDO3 {
|
|
regulator-name = "ldo3";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
ldo4: LDO4 {
|
|
regulator-name = "ldo4";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
ldo5: LDO5 {
|
|
regulator-name = "ldo5";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
ldo6: LDO6 {
|
|
regulator-name = "ldo6";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
ldo7_reg: LDO7 {
|
|
regulator-name = "ldo7";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
|