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,bd71847-regulator.yaml# |
| 5 | $schema: http://devicetree.org/meta-schemas/core.yaml# |
| 6 | |
| 7 | title: ROHM BD71847 and BD71850 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. 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 | |
| 29 | patternProperties: |
| 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 | |
| 156 | additionalProperties: false |