Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 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 | |
| 7 | title: ROHM BD71837 Power Management Integrated Circuit regulators |
| 8 | |
| 9 | maintainers: |
| 10 | - Matti Vaittinen <mazziesaccount@gmail.com> |
| 11 | |
| 12 | description: | |
| 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 | |
| 30 | patternProperties: |
| 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 | |
| 161 | additionalProperties: false |