162 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 regulators8 9maintainers:10 - Matti Vaittinen <mazziesaccount@gmail.com>11 12description: |13 List of regulators provided by this controller. BD71837 regulators node14 should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at15 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml16 Regulator nodes should be named to BUCK_<number> and LDO_<number>. The17 definition for each of these nodes is defined using the standard18 binding for regulators at19 Documentation/devicetree/bindings/regulator/regulator.txt.20 Note that if BD71837 starts at RUN state you probably want to use21 regulator-boot-on at least for BUCK6 and BUCK7 so that those are not22 disabled by driver at startup. LDO5 and LDO6 are supplied by those and23 if they are disabled at startup the voltage monitoring for LDO5/LDO6 will24 cause PMIC to reset.25 26# The valid names for BD71837 regulator nodes are:27# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK828# LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO729 30patternProperties:31 "^LDO[1-7]$":32 type: object33 $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: false44 45 "^BUCK[1-8]$":46 type: object47 $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/uint3259 minimum: 060 maximum: 130000061 description:62 PMIC default "RUN" state voltage in uV. See below table for63 bucks which support this. 0 means disabled.64 65 rohm,dvs-idle-voltage:66 $ref: /schemas/types.yaml#/definitions/uint3267 minimum: 068 maximum: 130000069 description:70 PMIC default "IDLE" state voltage in uV. See below table for71 bucks which support this. 0 means disabled.72 73 rohm,dvs-suspend-voltage:74 $ref: /schemas/types.yaml#/definitions/uint3275 minimum: 076 maximum: 130000077 description:78 PMIC default "SUSPEND" state voltage in uV. See below table for79 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-voltage85 # ----------------------------------------------------------------86 # 1 | supported | supported | supported87 # ----------------------------------------------------------------88 # 2 | supported | supported | not supported89 # ----------------------------------------------------------------90 # 3 | supported | not supported | not supported91 # ----------------------------------------------------------------92 # 4 | supported | not supported | not supported93 # ----------------------------------------------------------------94 # rest | not supported | not supported | not supported95 96 # BD71837 power outputs can either be controlled by the PMIC internal97 # hardware state machine or by software. If you need regulators to be98 # turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles99 # PMIC HW state machine) - then you should set this property.100 # Tradeoff is that then SW can't control the ON/OFF state for this101 # 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 the105 PMIC hardware state machine.106 type: boolean107 108 # Setups where regulator (especially the buck8) output voltage is scaled109 # by adding external connection where some other regulator output is110 # connected to feedback-pin (over suitable resistors) is getting popular111 # amongst users of BD71837. (This allows for example scaling down the112 # buck8 voltages to suit lover GPU voltages for projects where buck8 is113 # (ab)used to supply power for GPU.114 #115 # So we allow describing this external connection from DT and scale the116 # voltages accordingly. This is what the connection should look like:117 #118 # |---------------|119 # | buck 8 |-------+----->Vout120 # | | |121 # |---------------| |122 # | |123 # | |124 # +-------+--R2----+125 # |126 # R1127 # |128 # V FB-pull-up129 #130 # Here the buck output is sifted according to formula:131 #132 # Vout_o = Vo - (Vpu - Vo)*R2/R1133 # Linear_step = step_orig*(R1+R2)/R1134 #135 # where:136 # Vout_o is adjusted voltage output at vsel reg value 0137 # Vo is original voltage output at vsel reg value 0138 # Vpu is the pull-up voltage V FB-pull-up in the picture139 # 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 is144 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 is149 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 is154 the used R2 resistor.155 156 required:157 - regulator-name158 159 unevaluatedProperties: false160 161additionalProperties: false162