1a045f357SMatti Vaittinen# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2a045f357SMatti Vaittinen%YAML 1.2 3a045f357SMatti Vaittinen--- 4a045f357SMatti Vaittinen$id: http://devicetree.org/schemas/regulator/rohm,bd71837-regulator.yaml# 5a045f357SMatti Vaittinen$schema: http://devicetree.org/meta-schemas/core.yaml# 6a045f357SMatti Vaittinen 7a045f357SMatti Vaittinentitle: ROHM BD71837 Power Management Integrated Circuit regulators 8a045f357SMatti Vaittinen 9a045f357SMatti Vaittinenmaintainers: 101ca8a011SMatti Vaittinen - Matti Vaittinen <mazziesaccount@gmail.com> 11a045f357SMatti Vaittinen 12a045f357SMatti Vaittinendescription: | 13a045f357SMatti Vaittinen List of regulators provided by this controller. BD71837 regulators node 14a045f357SMatti Vaittinen should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at 15a045f357SMatti Vaittinen Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml 16a045f357SMatti Vaittinen Regulator nodes should be named to BUCK_<number> and LDO_<number>. The 17a045f357SMatti Vaittinen definition for each of these nodes is defined using the standard 18a045f357SMatti Vaittinen binding for regulators at 19a045f357SMatti Vaittinen Documentation/devicetree/bindings/regulator/regulator.txt. 20a045f357SMatti Vaittinen Note that if BD71837 starts at RUN state you probably want to use 21a045f357SMatti Vaittinen regulator-boot-on at least for BUCK6 and BUCK7 so that those are not 22a045f357SMatti Vaittinen disabled by driver at startup. LDO5 and LDO6 are supplied by those and 23a045f357SMatti Vaittinen if they are disabled at startup the voltage monitoring for LDO5/LDO6 will 24a045f357SMatti Vaittinen cause PMIC to reset. 25a045f357SMatti Vaittinen 26a045f357SMatti Vaittinen# The valid names for BD71837 regulator nodes are: 27a045f357SMatti Vaittinen# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 28a045f357SMatti Vaittinen# LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 29a045f357SMatti Vaittinen 30a045f357SMatti VaittinenpatternProperties: 31a045f357SMatti Vaittinen "^LDO[1-7]$": 32a045f357SMatti Vaittinen type: object 333d21a460SRob Herring $ref: regulator.yaml# 34a045f357SMatti Vaittinen description: 35a045f357SMatti Vaittinen Properties for single LDO regulator. 36a045f357SMatti Vaittinen 37a045f357SMatti Vaittinen properties: 38a045f357SMatti Vaittinen regulator-name: 39a045f357SMatti Vaittinen pattern: "^ldo[1-7]$" 40a045f357SMatti Vaittinen description: 41a045f357SMatti Vaittinen should be "ldo1", ..., "ldo7" 42a045f357SMatti Vaittinen 432bdfd4fbSRob Herring unevaluatedProperties: false 442bdfd4fbSRob Herring 45a045f357SMatti Vaittinen "^BUCK[1-8]$": 46a045f357SMatti Vaittinen type: object 473d21a460SRob Herring $ref: regulator.yaml# 48a045f357SMatti Vaittinen description: 49a045f357SMatti Vaittinen Properties for single BUCK regulator. 50a045f357SMatti Vaittinen 51a045f357SMatti Vaittinen properties: 52a045f357SMatti Vaittinen regulator-name: 53a045f357SMatti Vaittinen pattern: "^buck[1-8]$" 54a045f357SMatti Vaittinen description: 55a045f357SMatti Vaittinen should be "buck1", ..., "buck8" 56a045f357SMatti Vaittinen 57a045f357SMatti Vaittinen rohm,dvs-run-voltage: 58*cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 593d21a460SRob Herring minimum: 0 60a045f357SMatti Vaittinen maximum: 1300000 61a045f357SMatti Vaittinen description: 62a045f357SMatti Vaittinen PMIC default "RUN" state voltage in uV. See below table for 63a045f357SMatti Vaittinen bucks which support this. 0 means disabled. 64a045f357SMatti Vaittinen 65a045f357SMatti Vaittinen rohm,dvs-idle-voltage: 66*cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 673d21a460SRob Herring minimum: 0 68a045f357SMatti Vaittinen maximum: 1300000 69a045f357SMatti Vaittinen description: 70a045f357SMatti Vaittinen PMIC default "IDLE" state voltage in uV. See below table for 71a045f357SMatti Vaittinen bucks which support this. 0 means disabled. 72a045f357SMatti Vaittinen 73a045f357SMatti Vaittinen rohm,dvs-suspend-voltage: 74*cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 753d21a460SRob Herring minimum: 0 76a045f357SMatti Vaittinen maximum: 1300000 77a045f357SMatti Vaittinen description: 78a045f357SMatti Vaittinen PMIC default "SUSPEND" state voltage in uV. See below table for 79a045f357SMatti Vaittinen bucks which support this. 0 means disabled. 80a045f357SMatti Vaittinen 81a045f357SMatti Vaittinen # Supported default DVS states: 82a045f357SMatti Vaittinen # 83a045f357SMatti Vaittinen # BD71837: 84a045f357SMatti Vaittinen # buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage 85a045f357SMatti Vaittinen # ---------------------------------------------------------------- 86a045f357SMatti Vaittinen # 1 | supported | supported | supported 87a045f357SMatti Vaittinen # ---------------------------------------------------------------- 88a045f357SMatti Vaittinen # 2 | supported | supported | not supported 89a045f357SMatti Vaittinen # ---------------------------------------------------------------- 90a045f357SMatti Vaittinen # 3 | supported | not supported | not supported 91a045f357SMatti Vaittinen # ---------------------------------------------------------------- 92a045f357SMatti Vaittinen # 4 | supported | not supported | not supported 93a045f357SMatti Vaittinen # ---------------------------------------------------------------- 94a045f357SMatti Vaittinen # rest | not supported | not supported | not supported 95a045f357SMatti Vaittinen 964788c692SMatti Vaittinen # BD71837 power outputs can either be controlled by the PMIC internal 974788c692SMatti Vaittinen # hardware state machine or by software. If you need regulators to be 984788c692SMatti Vaittinen # turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles 994788c692SMatti Vaittinen # PMIC HW state machine) - then you should set this property. 1004788c692SMatti Vaittinen # Tradeoff is that then SW can't control the ON/OFF state for this 1014788c692SMatti Vaittinen # regulator (other than invoking a PMIC state change). 1024788c692SMatti Vaittinen rohm,no-regulator-enable-control: 1034788c692SMatti Vaittinen description: | 1044788c692SMatti Vaittinen Enable/Disable control of this regulator must be left to the 1054788c692SMatti Vaittinen PMIC hardware state machine. 1064788c692SMatti Vaittinen type: boolean 107a045f357SMatti Vaittinen 1081e908b24SMatti Vaittinen # Setups where regulator (especially the buck8) output voltage is scaled 1091e908b24SMatti Vaittinen # by adding external connection where some other regulator output is 1101e908b24SMatti Vaittinen # connected to feedback-pin (over suitable resistors) is getting popular 1111e908b24SMatti Vaittinen # amongst users of BD71837. (This allows for example scaling down the 1121e908b24SMatti Vaittinen # buck8 voltages to suit lover GPU voltages for projects where buck8 is 1131e908b24SMatti Vaittinen # (ab)used to supply power for GPU. 1141e908b24SMatti Vaittinen # 1151e908b24SMatti Vaittinen # So we allow describing this external connection from DT and scale the 1161e908b24SMatti Vaittinen # voltages accordingly. This is what the connection should look like: 1171e908b24SMatti Vaittinen # 1181e908b24SMatti Vaittinen # |---------------| 1191e908b24SMatti Vaittinen # | buck 8 |-------+----->Vout 1201e908b24SMatti Vaittinen # | | | 1211e908b24SMatti Vaittinen # |---------------| | 1221e908b24SMatti Vaittinen # | | 1231e908b24SMatti Vaittinen # | | 1241e908b24SMatti Vaittinen # +-------+--R2----+ 1251e908b24SMatti Vaittinen # | 1261e908b24SMatti Vaittinen # R1 1271e908b24SMatti Vaittinen # | 1281e908b24SMatti Vaittinen # V FB-pull-up 1291e908b24SMatti Vaittinen # 1301e908b24SMatti Vaittinen # Here the buck output is sifted according to formula: 1311e908b24SMatti Vaittinen # 1321e908b24SMatti Vaittinen # Vout_o = Vo - (Vpu - Vo)*R2/R1 1331e908b24SMatti Vaittinen # Linear_step = step_orig*(R1+R2)/R1 1341e908b24SMatti Vaittinen # 1351e908b24SMatti Vaittinen # where: 1361e908b24SMatti Vaittinen # Vout_o is adjusted voltage output at vsel reg value 0 1371e908b24SMatti Vaittinen # Vo is original voltage output at vsel reg value 0 1381e908b24SMatti Vaittinen # Vpu is the pull-up voltage V FB-pull-up in the picture 1391e908b24SMatti Vaittinen # R1 and R2 are resistor values. 1401e908b24SMatti Vaittinen 1411e908b24SMatti Vaittinen rohm,fb-pull-up-microvolt: 1421e908b24SMatti Vaittinen description: 1431e908b24SMatti Vaittinen Feedback-pin has pull-up connection to adjust voltage range. This is 1441e908b24SMatti Vaittinen the used pull-up voltage before R1. 1451e908b24SMatti Vaittinen 1461e908b24SMatti Vaittinen rohm,feedback-pull-up-r1-ohms: 1471e908b24SMatti Vaittinen description: 1481e908b24SMatti Vaittinen Feedback-pin has pull-up connection to adjust voltage range. This is 1491e908b24SMatti Vaittinen the used R1 resistor. 1501e908b24SMatti Vaittinen 1511e908b24SMatti Vaittinen rohm,feedback-pull-up-r2-ohms: 1521e908b24SMatti Vaittinen description: 1531e908b24SMatti Vaittinen Feedback-pin has pull-up connection to adjust voltage range. This is 1541e908b24SMatti Vaittinen the used R2 resistor. 1551e908b24SMatti Vaittinen 156a045f357SMatti Vaittinen required: 157a045f357SMatti Vaittinen - regulator-name 1582bdfd4fbSRob Herring 1592bdfd4fbSRob Herring unevaluatedProperties: false 1602bdfd4fbSRob Herring 161a045f357SMatti VaittinenadditionalProperties: false 162