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 PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 47 For PMI8998, bob 48 For PMR735A, smps1 - smps3, ldo1 - ldo7 49 For PMX55, smps1 - smps7, ldo1 - ldo16 50 51properties: 52 compatible: 53 enum: 54 - qcom,pm6150-rpmh-regulators 55 - qcom,pm6150l-rpmh-regulators 56 - qcom,pm6350-rpmh-regulators 57 - qcom,pm7325-rpmh-regulators 58 - qcom,pm8005-rpmh-regulators 59 - qcom,pm8009-rpmh-regulators 60 - qcom,pm8009-1-rpmh-regulators 61 - qcom,pm8150-rpmh-regulators 62 - qcom,pm8150l-rpmh-regulators 63 - qcom,pm8350-rpmh-regulators 64 - qcom,pm8350c-rpmh-regulators 65 - qcom,pm8998-rpmh-regulators 66 - qcom,pmi8998-rpmh-regulators 67 - qcom,pmm8155au-rpmh-regulators 68 - qcom,pmr735a-rpmh-regulators 69 - qcom,pmx55-rpmh-regulators 70 71 qcom,pmic-id: 72 description: | 73 RPMh resource name suffix used for the regulators found 74 on this PMIC. 75 $ref: /schemas/types.yaml#/definitions/string 76 enum: [a, b, c, d, e, f] 77 78 qcom,always-wait-for-ack: 79 description: | 80 Boolean flag which indicates that the application processor 81 must wait for an ACK or a NACK from RPMh for every request 82 sent for this regulator including those which are for a 83 strictly lower power state. 84 $ref: /schemas/types.yaml#/definitions/flag 85 86 vdd-flash-supply: 87 description: Input supply phandle of flash. 88 89 vdd-rgb-supply: 90 description: Input supply phandle of rgb. 91 92 vin-lvs-1-2-supply: 93 description: Input supply phandle of one or more regulators. 94 95 vdd-bob-supply: 96 description: BOB regulator parent supply phandle. 97 98 bob: 99 type: object 100 $ref: "regulator.yaml#" 101 description: BOB regulator node. 102 103patternProperties: 104 "^vdd-s([0-9]+)-supply$": 105 description: Input supply phandle(s) of one or more regulators. 106 107 "^vdd-(l[0-9]+[-]){1,5}supply$": 108 description: Input supply phandle(s) of one or more regulators. 109 110 "^(smps|ldo|lvs)[0-9]+$": 111 type: object 112 $ref: "regulator.yaml#" 113 description: smps/ldo regulator nodes(s). 114 115additionalProperties: false 116 117required: 118 - compatible 119 - qcom,pmic-id 120 121examples: 122 - | 123 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 124 125 pm8998-rpmh-regulators { 126 compatible = "qcom,pm8998-rpmh-regulators"; 127 qcom,pmic-id = "a"; 128 129 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; 130 131 smps2 { 132 regulator-min-microvolt = <1100000>; 133 regulator-max-microvolt = <1100000>; 134 }; 135 136 ldo7 { 137 regulator-min-microvolt = <1800000>; 138 regulator-max-microvolt = <1800000>; 139 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 140 regulator-allowed-modes = 141 <RPMH_REGULATOR_MODE_LPM 142 RPMH_REGULATOR_MODE_HPM>; 143 regulator-allow-set-load; 144 }; 145 146 lvs1 { 147 regulator-min-microvolt = <1800000>; 148 regulator-max-microvolt = <1800000>; 149 }; 150 }; 151 152 pmi8998-rpmh-regulators { 153 compatible = "qcom,pmi8998-rpmh-regulators"; 154 qcom,pmic-id = "b"; 155 156 bob { 157 regulator-min-microvolt = <3312000>; 158 regulator-max-microvolt = <3600000>; 159 regulator-allowed-modes = 160 <RPMH_REGULATOR_MODE_AUTO 161 RPMH_REGULATOR_MODE_HPM>; 162 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 163 }; 164 }; 165... 166