161 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Qualcomm Technologies, Inc. RPMh Regulators
 | 
						|
 | 
						|
rpmh-regulator devices support PMIC regulator management via the Voltage
 | 
						|
Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.  The APPS
 | 
						|
processor communicates with these hardware blocks via a Resource State
 | 
						|
Coordinator (RSC) using command packets.  The VRM allows changing three
 | 
						|
parameters for a given regulator: enable state, output voltage, and operating
 | 
						|
mode.  The XOB allows changing only a single parameter for a given regulator:
 | 
						|
its enable state.  Despite its name, the XOB is capable of controlling the
 | 
						|
enable state of any PMIC peripheral.  It is used for clock buffers, low-voltage
 | 
						|
switches, and LDO/SMPS regulators which have a fixed voltage and mode.
 | 
						|
 | 
						|
=======================
 | 
						|
Required Node Structure
 | 
						|
=======================
 | 
						|
 | 
						|
RPMh regulators must be described in two levels of device nodes.  The first
 | 
						|
level describes the PMIC containing the regulators and must reside within an
 | 
						|
RPMh device node.  The second level describes each regulator within the PMIC
 | 
						|
which is to be used on the board.  Each of these regulators maps to a single
 | 
						|
RPMh resource.
 | 
						|
 | 
						|
The names used for regulator nodes must match those supported by a given PMIC.
 | 
						|
Supported regulator node names:
 | 
						|
	PM8998:		smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
 | 
						|
	PMI8998:	bob
 | 
						|
	PM8005:		smps1 - smps4
 | 
						|
 | 
						|
========================
 | 
						|
First Level Nodes - PMIC
 | 
						|
========================
 | 
						|
 | 
						|
- compatible
 | 
						|
	Usage:      required
 | 
						|
	Value type: <string>
 | 
						|
	Definition: Must be one of: "qcom,pm8998-rpmh-regulators",
 | 
						|
		    "qcom,pmi8998-rpmh-regulators" or
 | 
						|
		    "qcom,pm8005-rpmh-regulators".
 | 
						|
 | 
						|
- qcom,pmic-id
 | 
						|
	Usage:      required
 | 
						|
	Value type: <string>
 | 
						|
	Definition: RPMh resource name suffix used for the regulators found on
 | 
						|
		    this PMIC.  Typical values: "a", "b", "c", "d", "e", "f".
 | 
						|
 | 
						|
- vdd-s1-supply
 | 
						|
- vdd-s2-supply
 | 
						|
- vdd-s3-supply
 | 
						|
- vdd-s4-supply
 | 
						|
	Usage:      optional (PM8998 and PM8005 only)
 | 
						|
	Value type: <phandle>
 | 
						|
	Definition: phandle of the parent supply regulator of one or more of the
 | 
						|
		    regulators for this PMIC.
 | 
						|
 | 
						|
- vdd-s5-supply
 | 
						|
- vdd-s6-supply
 | 
						|
- vdd-s7-supply
 | 
						|
- vdd-s8-supply
 | 
						|
- vdd-s9-supply
 | 
						|
- vdd-s10-supply
 | 
						|
- vdd-s11-supply
 | 
						|
- vdd-s12-supply
 | 
						|
- vdd-s13-supply
 | 
						|
- vdd-l1-l27-supply
 | 
						|
- vdd-l2-l8-l17-supply
 | 
						|
- vdd-l3-l11-supply
 | 
						|
- vdd-l4-l5-supply
 | 
						|
- vdd-l6-supply
 | 
						|
- vdd-l7-l12-l14-l15-supply
 | 
						|
- vdd-l9-supply
 | 
						|
- vdd-l10-l23-l25-supply
 | 
						|
- vdd-l13-l19-l21-supply
 | 
						|
- vdd-l16-l28-supply
 | 
						|
- vdd-l18-l22-supply
 | 
						|
- vdd-l20-l24-supply
 | 
						|
- vdd-l26-supply
 | 
						|
- vin-lvs-1-2-supply
 | 
						|
	Usage:      optional (PM8998 only)
 | 
						|
	Value type: <phandle>
 | 
						|
	Definition: phandle of the parent supply regulator of one or more of the
 | 
						|
		    regulators for this PMIC.
 | 
						|
 | 
						|
- vdd-bob-supply
 | 
						|
	Usage:      optional (PMI8998 only)
 | 
						|
	Value type: <phandle>
 | 
						|
	Definition: BOB regulator parent supply phandle
 | 
						|
 | 
						|
===============================
 | 
						|
Second Level Nodes - Regulators
 | 
						|
===============================
 | 
						|
 | 
						|
- qcom,always-wait-for-ack
 | 
						|
	Usage:      optional
 | 
						|
	Value type: <empty>
 | 
						|
	Definition: Boolean flag which indicates that the application processor
 | 
						|
		    must wait for an ACK or a NACK from RPMh for every request
 | 
						|
		    sent for this regulator including those which are for a
 | 
						|
		    strictly lower power state.
 | 
						|
 | 
						|
Other properties defined in Documentation/devicetree/bindings/regulator.txt
 | 
						|
may also be used.  regulator-initial-mode and regulator-allowed-modes may be
 | 
						|
specified for VRM regulators using mode values from
 | 
						|
include/dt-bindings/regulator/qcom,rpmh-regulator.h.  regulator-allow-bypass
 | 
						|
may be specified for BOB type regulators managed via VRM.
 | 
						|
regulator-allow-set-load may be specified for LDO type regulators managed via
 | 
						|
VRM.
 | 
						|
 | 
						|
========
 | 
						|
Examples
 | 
						|
========
 | 
						|
 | 
						|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 | 
						|
 | 
						|
&apps_rsc {
 | 
						|
	pm8998-rpmh-regulators {
 | 
						|
		compatible = "qcom,pm8998-rpmh-regulators";
 | 
						|
		qcom,pmic-id = "a";
 | 
						|
 | 
						|
		vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
 | 
						|
 | 
						|
		smps2 {
 | 
						|
			regulator-min-microvolt = <1100000>;
 | 
						|
			regulator-max-microvolt = <1100000>;
 | 
						|
		};
 | 
						|
 | 
						|
		pm8998_s5: smps5 {
 | 
						|
			regulator-min-microvolt = <1904000>;
 | 
						|
			regulator-max-microvolt = <2040000>;
 | 
						|
		};
 | 
						|
 | 
						|
		ldo7 {
 | 
						|
			regulator-min-microvolt = <1800000>;
 | 
						|
			regulator-max-microvolt = <1800000>;
 | 
						|
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | 
						|
			regulator-allowed-modes =
 | 
						|
				<RPMH_REGULATOR_MODE_LPM
 | 
						|
				 RPMH_REGULATOR_MODE_HPM>;
 | 
						|
			regulator-allow-set-load;
 | 
						|
		};
 | 
						|
 | 
						|
		lvs1 {
 | 
						|
			regulator-min-microvolt = <1800000>;
 | 
						|
			regulator-max-microvolt = <1800000>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pmi8998-rpmh-regulators {
 | 
						|
		compatible = "qcom,pmi8998-rpmh-regulators";
 | 
						|
		qcom,pmic-id = "b";
 | 
						|
 | 
						|
		bob {
 | 
						|
			regulator-min-microvolt = <3312000>;
 | 
						|
			regulator-max-microvolt = <3600000>;
 | 
						|
			regulator-allowed-modes =
 | 
						|
				<RPMH_REGULATOR_MODE_AUTO
 | 
						|
				 RPMH_REGULATOR_MODE_HPM>;
 | 
						|
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 |