xref: /openbmc/linux/Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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