1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/rohm,bd71837-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: ROHM BD71837 Power Management Integrated Circuit regulators 8 9maintainers: 10 - Matti Vaittinen <mazziesaccount@gmail.com> 11 12description: | 13 List of regulators provided by this controller. BD71837 regulators node 14 should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at 15 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml 16 Regulator nodes should be named to BUCK_<number> and LDO_<number>. The 17 definition for each of these nodes is defined using the standard 18 binding for regulators at 19 Documentation/devicetree/bindings/regulator/regulator.txt. 20 Note that if BD71837 starts at RUN state you probably want to use 21 regulator-boot-on at least for BUCK6 and BUCK7 so that those are not 22 disabled by driver at startup. LDO5 and LDO6 are supplied by those and 23 if they are disabled at startup the voltage monitoring for LDO5/LDO6 will 24 cause PMIC to reset. 25 26# The valid names for BD71837 regulator nodes are: 27# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 28# LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 29 30patternProperties: 31 "^LDO[1-7]$": 32 type: object 33 $ref: regulator.yaml# 34 description: 35 Properties for single LDO regulator. 36 37 properties: 38 regulator-name: 39 pattern: "^ldo[1-7]$" 40 description: 41 should be "ldo1", ..., "ldo7" 42 43 unevaluatedProperties: false 44 45 "^BUCK[1-8]$": 46 type: object 47 $ref: regulator.yaml# 48 description: 49 Properties for single BUCK regulator. 50 51 properties: 52 regulator-name: 53 pattern: "^buck[1-8]$" 54 description: 55 should be "buck1", ..., "buck8" 56 57 rohm,dvs-run-voltage: 58 $ref: /schemas/types.yaml#/definitions/uint32 59 minimum: 0 60 maximum: 1300000 61 description: 62 PMIC default "RUN" state voltage in uV. See below table for 63 bucks which support this. 0 means disabled. 64 65 rohm,dvs-idle-voltage: 66 $ref: /schemas/types.yaml#/definitions/uint32 67 minimum: 0 68 maximum: 1300000 69 description: 70 PMIC default "IDLE" state voltage in uV. See below table for 71 bucks which support this. 0 means disabled. 72 73 rohm,dvs-suspend-voltage: 74 $ref: /schemas/types.yaml#/definitions/uint32 75 minimum: 0 76 maximum: 1300000 77 description: 78 PMIC default "SUSPEND" state voltage in uV. See below table for 79 bucks which support this. 0 means disabled. 80 81 # Supported default DVS states: 82 # 83 # BD71837: 84 # buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage 85 # ---------------------------------------------------------------- 86 # 1 | supported | supported | supported 87 # ---------------------------------------------------------------- 88 # 2 | supported | supported | not supported 89 # ---------------------------------------------------------------- 90 # 3 | supported | not supported | not supported 91 # ---------------------------------------------------------------- 92 # 4 | supported | not supported | not supported 93 # ---------------------------------------------------------------- 94 # rest | not supported | not supported | not supported 95 96 # BD71837 power outputs can either be controlled by the PMIC internal 97 # hardware state machine or by software. If you need regulators to be 98 # turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles 99 # PMIC HW state machine) - then you should set this property. 100 # Tradeoff is that then SW can't control the ON/OFF state for this 101 # regulator (other than invoking a PMIC state change). 102 rohm,no-regulator-enable-control: 103 description: | 104 Enable/Disable control of this regulator must be left to the 105 PMIC hardware state machine. 106 type: boolean 107 108 # Setups where regulator (especially the buck8) output voltage is scaled 109 # by adding external connection where some other regulator output is 110 # connected to feedback-pin (over suitable resistors) is getting popular 111 # amongst users of BD71837. (This allows for example scaling down the 112 # buck8 voltages to suit lover GPU voltages for projects where buck8 is 113 # (ab)used to supply power for GPU. 114 # 115 # So we allow describing this external connection from DT and scale the 116 # voltages accordingly. This is what the connection should look like: 117 # 118 # |---------------| 119 # | buck 8 |-------+----->Vout 120 # | | | 121 # |---------------| | 122 # | | 123 # | | 124 # +-------+--R2----+ 125 # | 126 # R1 127 # | 128 # V FB-pull-up 129 # 130 # Here the buck output is sifted according to formula: 131 # 132 # Vout_o = Vo - (Vpu - Vo)*R2/R1 133 # Linear_step = step_orig*(R1+R2)/R1 134 # 135 # where: 136 # Vout_o is adjusted voltage output at vsel reg value 0 137 # Vo is original voltage output at vsel reg value 0 138 # Vpu is the pull-up voltage V FB-pull-up in the picture 139 # R1 and R2 are resistor values. 140 141 rohm,fb-pull-up-microvolt: 142 description: 143 Feedback-pin has pull-up connection to adjust voltage range. This is 144 the used pull-up voltage before R1. 145 146 rohm,feedback-pull-up-r1-ohms: 147 description: 148 Feedback-pin has pull-up connection to adjust voltage range. This is 149 the used R1 resistor. 150 151 rohm,feedback-pull-up-r2-ohms: 152 description: 153 Feedback-pin has pull-up connection to adjust voltage range. This is 154 the used R2 resistor. 155 156 required: 157 - regulator-name 158 159 unevaluatedProperties: false 160 161additionalProperties: false 162