Merge tag 'soc-ep93xx-dt-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-block.git] / Documentation / devicetree / bindings / regulator / rohm,bd71847-regulator.yaml
CommitLineData
a045f357
MV
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
7title: ROHM BD71847 and BD71850 Power Management Integrated Circuit regulators
8
9maintainers:
1ca8a011 10 - Matti Vaittinen <mazziesaccount@gmail.com>
a045f357
MV
11
12description: |
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
d0dcd0ce
RH
25# The valid names for BD71847 regulator nodes are:
26# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6
27# LDO1, LDO2, LDO3, LDO4, LDO5, LDO6
a045f357
MV
28
29patternProperties:
30 "^LDO[1-6]$":
31 type: object
086e9074 32 $ref: regulator.yaml#
a045f357
MV
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
2bdfd4fb
RH
42 unevaluatedProperties: false
43
a045f357
MV
44 "^BUCK[1-6]$":
45 type: object
086e9074 46 $ref: regulator.yaml#
a045f357
MV
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:
cff5c895 57 $ref: /schemas/types.yaml#/definitions/uint32
086e9074
RH
58 minimum: 0
59 maximum: 1300000
a045f357
MV
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:
cff5c895 65 $ref: /schemas/types.yaml#/definitions/uint32
086e9074
RH
66 minimum: 0
67 maximum: 1300000
a045f357
MV
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:
cff5c895 73 $ref: /schemas/types.yaml#/definitions/uint32
086e9074
RH
74 minimum: 0
75 maximum: 1300000
a045f357
MV
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
6656d446
MV
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
b54a27d8
MV
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
a045f357
MV
151 required:
152 - regulator-name
2bdfd4fb
RH
153
154 unevaluatedProperties: false
155
a045f357 156additionalProperties: false