1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Technologies, Inc. RPMh Regulators 8 9maintainers: 10 - David Collins <collinsd@codeaurora.org> 11 12description: | 13 rpmh-regulator devices support PMIC regulator management via the Voltage 14 Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. 15 The APPS processor communicates with these hardware blocks via a 16 Resource State Coordinator (RSC) using command packets. The VRM allows 17 changing three parameters for a given regulator, enable state, output 18 voltage, and operating mode. The XOB allows changing only a single 19 parameter for a given regulator, its enable state. Despite its name, 20 the XOB is capable of controlling the enable state of any PMIC peripheral. 21 It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators 22 which have a fixed voltage and mode. 23 24 ======================= 25 Required Node Structure 26 ======================= 27 28 RPMh regulators must be described in two levels of device nodes. The first 29 level describes the PMIC containing the regulators and must reside within an 30 RPMh device node. The second level describes each regulator within the PMIC 31 which is to be used on the board. Each of these regulators maps to a single 32 RPMh resource. 33 34 The names used for regulator nodes must match those supported by a given 35 PMIC. Supported regulator node names are 36 For PM6150, smps1 - smps5, ldo1 - ldo19 37 For PM6150L, smps1 - smps8, ldo1 - ldo11, bob 38 For PM6350, smps1 - smps5, ldo1 - ldo22 39 For PM7325, smps1 - smps8, ldo1 - ldo19 40 For PM8005, smps1 - smps4 41 For PM8009, smps1 - smps2, ldo1 - ldo7 42 For PM8150, smps1 - smps10, ldo1 - ldo18 43 For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb 44 For PM8350, smps1 - smps12, ldo1 - ldo10 45 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob 46 For PM8450, smps1 - smps6, ldo1 - ldo4 47 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 48 For PMI8998, bob 49 For PMR735A, smps1 - smps3, ldo1 - ldo7 50 For PMX55, smps1 - smps7, ldo1 - ldo16 51 For PMX65, smps1 - smps8, ldo1 - ldo21 52 53properties: 54 compatible: 55 enum: 56 - qcom,pm6150-rpmh-regulators 57 - qcom,pm6150l-rpmh-regulators 58 - qcom,pm6350-rpmh-regulators 59 - qcom,pm7325-rpmh-regulators 60 - qcom,pm8005-rpmh-regulators 61 - qcom,pm8009-rpmh-regulators 62 - qcom,pm8009-1-rpmh-regulators 63 - qcom,pm8150-rpmh-regulators 64 - qcom,pm8150l-rpmh-regulators 65 - qcom,pm8350-rpmh-regulators 66 - qcom,pm8350c-rpmh-regulators 67 - qcom,pm8450-rpmh-regulators 68 - qcom,pm8998-rpmh-regulators 69 - qcom,pmg1110-rpmh-regulators 70 - qcom,pmi8998-rpmh-regulators 71 - qcom,pmm8155au-rpmh-regulators 72 - qcom,pmr735a-rpmh-regulators 73 - qcom,pmx55-rpmh-regulators 74 - qcom,pmx65-rpmh-regulators 75 76 qcom,pmic-id: 77 description: | 78 RPMh resource name suffix used for the regulators found 79 on this PMIC. 80 $ref: /schemas/types.yaml#/definitions/string 81 enum: [a, b, c, d, e, f] 82 83 qcom,always-wait-for-ack: 84 description: | 85 Boolean flag which indicates that the application processor 86 must wait for an ACK or a NACK from RPMh for every request 87 sent for this regulator including those which are for a 88 strictly lower power state. 89 $ref: /schemas/types.yaml#/definitions/flag 90 91 vdd-flash-supply: 92 description: Input supply phandle of flash. 93 94 vdd-rgb-supply: 95 description: Input supply phandle of rgb. 96 97 vin-lvs-1-2-supply: 98 description: Input supply phandle of one or more regulators. 99 100 vdd-bob-supply: 101 description: BOB regulator parent supply phandle. 102 103 bob: 104 type: object 105 $ref: "regulator.yaml#" 106 description: BOB regulator node. 107 108patternProperties: 109 "^vdd-s([0-9]+)-supply$": 110 description: Input supply phandle(s) of one or more regulators. 111 112 "^vdd-(l[0-9]+[-]){1,5}supply$": 113 description: Input supply phandle(s) of one or more regulators. 114 115 "^(smps|ldo|lvs)[0-9]+$": 116 type: object 117 $ref: "regulator.yaml#" 118 description: smps/ldo regulator nodes(s). 119 120additionalProperties: false 121 122required: 123 - compatible 124 - qcom,pmic-id 125 126examples: 127 - | 128 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 129 130 pm8998-rpmh-regulators { 131 compatible = "qcom,pm8998-rpmh-regulators"; 132 qcom,pmic-id = "a"; 133 134 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; 135 136 smps2 { 137 regulator-min-microvolt = <1100000>; 138 regulator-max-microvolt = <1100000>; 139 }; 140 141 ldo7 { 142 regulator-min-microvolt = <1800000>; 143 regulator-max-microvolt = <1800000>; 144 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 145 regulator-allowed-modes = 146 <RPMH_REGULATOR_MODE_LPM 147 RPMH_REGULATOR_MODE_HPM>; 148 regulator-allow-set-load; 149 }; 150 151 lvs1 { 152 regulator-min-microvolt = <1800000>; 153 regulator-max-microvolt = <1800000>; 154 }; 155 }; 156 157 pmi8998-rpmh-regulators { 158 compatible = "qcom,pmi8998-rpmh-regulators"; 159 qcom,pmic-id = "b"; 160 161 bob { 162 regulator-min-microvolt = <3312000>; 163 regulator-max-microvolt = <3600000>; 164 regulator-allowed-modes = 165 <RPMH_REGULATOR_MODE_AUTO 166 RPMH_REGULATOR_MODE_HPM>; 167 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 168 }; 169 }; 170... 171