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