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