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