dt-bindings: bd718x7: Yamlify and add BD71850
Subsystems (3)
PATCH RESEND v2 1/1 dt-bindings: bd718x7: Yamlify and add BD71850
Convert ROHM bd71837 and bd71847 PMIC binding text docs to yaml. Split the binding document to two separate documents (own documents for BD71837 and BD71847) as they have different amount of regulators. This way we can better enforce the node name check for regulators. ROHM is also providing BD71850 - which is almost identical to BD71847 - main difference is some initial regulator states. The BD71850 can be driven by same driver and it has same buck/LDO setup as BD71847 - add it to BD71847 binding document and introduce compatible for it.
---
Resending for Mark to check.
changes since v1:
- constrains to short and long presses.
- reworded commit message to shorten a line exceeding 75 chars
- added 'additionalProperties: false'
- removed 'clock-names' from example node
.../bindings/mfd/rohm,bd71837-pmic.txt | 90 ------- .../bindings/mfd/rohm,bd71837-pmic.yaml | 236 ++++++++++++++++++ .../bindings/mfd/rohm,bd71847-pmic.yaml | 222 ++++++++++++++++ .../regulator/rohm,bd71837-regulator.txt | 162 ------------ .../regulator/rohm,bd71837-regulator.yaml | 103 ++++++++ .../regulator/rohm,bd71847-regulator.yaml | 97 +++++++ 6 files changed, 658 insertions(+), 252 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0 -90
@@ -1,90 +0,0 @@ -* ROHM BD71837 and BD71847 Power Management Integrated Circuit bindings - -BD71837MWV and BD71847MWV are programmable Power Management ICs for powering -single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. They are -optimized for low BOM cost and compact solution footprint. BD71837MWV -integrates 8 Buck regulators and 7 LDOs. BD71847MWV contains 6 Buck regulators -and 6 LDOs. - -Datasheet for BD71837 is available at: -https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e -Datasheet for BD71847 is available at: -https://www.rohm.com/datasheet/BD71847AMWV/bd71847amwv-e - -Required properties: - - compatible : Should be "rohm,bd71837" for bd71837 - "rohm,bd71847" for bd71847. - - reg : I2C slave address. - - interrupt-parent : Phandle to the parent interrupt controller. - - interrupts : The interrupt line the device is connected to. - - clocks : The parent clock connected to PMIC. If this is missing - 32768 KHz clock is assumed. - - #clock-cells : Should be 0. - - regulators: : List of child nodes that specify the regulators. - Please see ../regulator/rohm,bd71837-regulator.txt - -Optional properties: -- clock-output-names : Should contain name for output clock. -- rohm,reset-snvs-powered : Transfer BD718x7 to SNVS state at reset. - -The BD718x7 supports two different HW states as reset target states. States -are called as SNVS and READY. At READY state all the PMIC power outputs go -down and OTP is reload. At the SNVS state all other logic and external -devices apart from the SNVS power domain are shut off. Please refer to NXP -i.MX8 documentation for further information regarding SNVS state. When a -reset is done via SNVS state the PMIC OTP data is not reload. This causes -power outputs that have been under SW control to stay down when reset has -switched power state to SNVS. If reset is done via READY state the power -outputs will be returned to HW control by OTP loading. Thus the reset -target state is set to READY by default. If SNVS state is used the boot -crucial regulators must have the regulator-always-on and regulator-boot-on -properties set in regulator node. - -- rohm,short-press-ms : Short press duration in milliseconds -- rohm,long-press-ms : Long press duration in milliseconds - -Configure the "short press" and "long press" timers for the power button. -Values are rounded to what hardware supports (500ms multiple for short and -1000ms multiple for long). If these properties are not present the existing -configuration (from bootloader or OTP) is not touched. - -Example: - - /* external oscillator node */ - osc: oscillator { - compatible = "fixed-clock"; - #clock-cells = <1>; - clock-frequency = <32768>; - clock-output-names = "osc"; - }; - - pmic: pmic@4b { - compatible = "rohm,bd71837"; - reg = <0x4b>; - interrupt-parent = <&gpio1>; - interrupts = <29 GPIO_ACTIVE_LOW>; - interrupt-names = "irq"; - #clock-cells = <0>; - clocks = <&osc 0>; - clock-output-names = "bd71837-32k-out"; - rohm,reset-snvs-powered; - - regulators { - buck1: BUCK1 { - regulator-name = "buck1"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1300000>; - regulator-boot-on; - regulator-always-on; - regulator-ramp-delay = <1250>; - }; - // [...] - }; - }; - - /* Clock consumer node */ - rtc@0 { - compatible = "company,my-rtc"; - clock-names = "my-clock"; - clocks = <&pmic>; - };
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +236 -0
236 lines not on this page · raw message
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +222 -0
222 lines not on this page · raw message
Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt deleted +0 -162
162 lines not on this page · raw message
Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml new file +103 -0
103 lines not on this page · raw message
Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml new file +97 -0
97 lines not on this page · raw message
Signature · 14 lines
2.21.0 -- Matti Vaittinen, Linux device drivers ROHM Semiconductors, Finland SWDC Kiviharjunlenkki 1E 90220 OULU FINLAND ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ Simon says - in Latin please. ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ Thanks to Simon Glass for the translation =]
Hello Guys,
Quoted 16 lines · Matti Vaittinen
Convert ROHM bd71837 and bd71847 PMIC binding text docs to yaml. Split
the binding document to two separate documents (own documents for BD71837
and BD71847) as they have different amount of regulators. This way we can
better enforce the node name check for regulators. ROHM is also providing
BD71850 - which is almost identical to BD71847 - main difference is some
initial regulator states. The BD71850 can be driven by same driver and it
has same buck/LDO setup as BD71847 - add it to BD71847 binding document and
introduce compatible for it.
Quoted 5 lines
Signed-off-by Matti Vaittinen <[email protected]>Reviewed-by Rob Herring <[email protected]>---
Resending for Mark to check.
Can you please check if something is still missing from this? Should I rework, resend or ...?
Br,
Matti Vaittinen
Quoted 1,123 lines
changes since v1:
- constrains to short and long presses.
- reworded commit message to shorten a line exceeding 75 chars
- added 'additionalProperties: false'
- removed 'clock-names' from example node.../bindings/mfd/rohm,bd71837-pmic.txt | 90 ------- .../bindings/mfd/rohm,bd71837-pmic.yaml | 236 ++++++++++++++++++ .../bindings/mfd/rohm,bd71847-pmic.yaml | 222 ++++++++++++++++ .../regulator/rohm,bd71837-regulator.txt | 162 ------------ .../regulator/rohm,bd71837-regulator.yaml | 103 ++++++++ .../regulator/rohm,bd71847-regulator.yaml | 97 +++++++ 6 files changed, 658 insertions(+), 252 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837- regulator.txt create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837- regulator.yaml create mode 100644
Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml(quoted diff) +0
-0pmic.txt b/Documentation/devicetree/bindings/mfd/rohm,bd71837- pmic.txt
deleted file mode 100644
index f22d74c7a8db..000000000000Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-1@@ -1,90 +0,0 @@ -* ROHM BD71837 and BD71847 Power Management Integrated Circuitbindings
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-2- -BD71837MWV and BD71847MWV are programmable Power Management ICs forpowering
-single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. They are
-optimized for low BOM cost and compact solution footprint. BD71837MWV
-integrates 8 Buck regulators and 7 LDOs. BD71847MWV contains 6 Buck regulatorsDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-13-and 6 LDOs. - -Datasheet for BD71837 is available at: -https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e -Datasheet for BD71847 is available at: -https://www.rohm.com/datasheet/BD71847AMWV/bd71847amwv-e - -Required properties: - - compatible : Should be "rohm,bd71837" for bd71837 - "rohm,bd71847" for bd71847. - - reg : I2C slave address. - - interrupt-parent : Phandle to the parent interrupt controller. - - interrupts : The interrupt line the device isconnected to.
- - clocks : The parent clock connected to PMIC. If this
is missingDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-3- 32768 KHz clock is assumed. - - #clock-cells : Should be 0. - - regulators: : List of child nodes that specify theregulators.
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-1- Please see ../regulator/rohm,bd71837-regulator.txt
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-6- -Optional properties: -- clock-output-names : Should contain name for output clock. -- rohm,reset-snvs-powered : Transfer BD718x7 to SNVS state at reset. - -The BD718x7 supports two different HW states as reset target states.States
-are called as SNVS and READY. At READY state all the PMIC power outputs go
-down and OTP is reload. At the SNVS state all other logic and external
-devices apart from the SNVS power domain are shut off. Please refer to NXP
-i.MX8 documentation for further information regarding SNVS state. When a
-reset is done via SNVS state the PMIC OTP data is not reload. This causes
-power outputs that have been under SW control to stay down when reset has
-switched power state to SNVS. If reset is done via READY state the power
-outputs will be returned to HW control by OTP loading. Thus the reset
-target state is set to READY by default. If SNVS state is used the boot
-crucial regulators must have the regulator-always-on and regulator- boot-onDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-6-properties set in regulator node. - -- rohm,short-press-ms : Short press duration in milliseconds -- rohm,long-press-ms : Long press duration in milliseconds - -Configure the "short press" and "long press" timers for the powerbutton.
-Values are rounded to what hardware supports (500ms multiple for short and
-1000ms multiple for long). If these properties are not present the existingDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0
-42-configuration (from bootloader or OTP) is not touched. - -Example: - - /* external oscillator node */ - osc: oscillator { - compatible = "fixed-clock"; - #clock-cells = <1>; - clock-frequency = <32768>; - clock-output-names = "osc"; - }; - - pmic: pmic@4b { - compatible = "rohm,bd71837"; - reg = <0x4b>; - interrupt-parent = <&gpio1>; - interrupts = <29 GPIO_ACTIVE_LOW>; - interrupt-names = "irq"; - #clock-cells = <0>; - clocks = <&osc 0>; - clock-output-names = "bd71837-32k-out"; - rohm,reset-snvs-powered; - - regulators { - buck1: BUCK1 { - regulator-name = "buck1"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1300000>; - regulator-boot-on; - regulator-always-on; - regulator-ramp-delay = <1250>; - }; - // [...] - }; - }; - - /* Clock consumer node */ - rtc@0 { - compatible = "company,my-rtc"; - clock-names = "my-clock"; - clocks = <&pmic>; - };(quoted diff) +0
-0
pmic.yamlb/Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
new file mode 100644
index 000000000000..aa922c560fccDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +13
-0@@ -0,0 +1,236 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/rohm,bd71837-pmic.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ROHM BD71837 Power Management Integrated Circuit bindings + +maintainers: + - Matti Vaittinen <[email protected]> + +description: | + BD71837MWV is programmable Power Management ICs for poweringsingle-core,
+ dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is optimized for low
+ BOM cost and compact solution footprint. BD71837MWV integrates 8 BuckDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +3
-0+ regulators and 7 LDOs. + Datasheet for BD71837 is available at +Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +20
-0+ +properties: + compatible: + const: rohm,bd71837 + + reg: + description: + I2C slave address. + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + + "#clock-cells": + const: 0 + +# The BD718x7 supports two different HW states as reset targetstates. States
+# are called as SNVS and READY. At READY state all the PMIC power outputs go
+# down and OTP is reload. At the SNVS state all other logic and external
+# devices apart from the SNVS power domain are shut off. Please refer to NXP
+# i.MX8 documentation for further information regarding SNVS state. When a
+# reset is done via SNVS state the PMIC OTP data is not reload. This causes
+# power outputs that have been under SW control to stay down when reset has
+# switched power state to SNVS. If reset is done via READY state the power
+# outputs will be returned to HW control by OTP loading. Thus the reset
+# target state is set to READY by default. If SNVS state is used the boot
+# crucial regulators must have the regulator-always-on and regulator-boot-onDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +8
-0+# properties set in regulator node. + + rohm,reset-snvs-powered: + description: | + Transfer PMIC to SNVS state at reset + type: boolean + +# Configure the "short press" and "long press" timers for the powerbutton.
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +3
-0+# Values are rounded to what hardware supports +# Short-press: +# Shortest being 10ms, next 500ms and then multiple of 500ms up to7,5s
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +2
-0+# Long-press: +# Shortest being 10ms, next 1000ms and then multiple of 1000ms upto 15s
+# If these properties are not present the existing configuration (fromDocumentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +174
-0+# bootloader or OTP) is not touched. + + rohm,short-press-ms: + description: + Short press duration in milliseconds + enum: + - 10 + - 500 + - 1000 + - 1500 + - 2000 + - 2500 + - 3000 + - 3500 + - 4000 + - 4500 + - 5000 + - 5500 + - 6000 + - 6500 + - 7000 + + rohm,long-press-ms: + description: + Long press duration in milliseconds + enum: + - 10 + - 1000 + - 2000 + - 3000 + - 4000 + - 5000 + - 6000 + - 7000 + - 8000 + - 9000 + - 10000 + - 11000 + - 12000 + - 13000 + - 14000 + + regulators: + $ref: ../regulator/rohm,bd71837-regulator.yaml + description: + List of child nodes that specify the regulators. + +required: + - compatible + - reg + - interrupts + - clocks + - "#clock-cells" + - regulators + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/leds/common.h> + + i2c { + pmic: pmic@4b { + compatible = "rohm,bd71837"; + reg = <0x4b>; + interrupt-parent = <&gpio1>; + interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + #clock-cells = <0>; + clocks = <&osc 0>; + rohm,reset-snvs-powered; + rohm,short-press-ms = <10>; + rohm,long-press-ms = <2000>; + + regulators { + buck1: BUCK1 { + regulator-name = "buck1"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1300000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <1250>; + rohm,dvs-run-voltage = <900000>; + rohm,dvs-idle-voltage = <850000>; + rohm,dvs-suspend-voltage = <800000>; + }; + buck2: BUCK2 { + regulator-name = "buck2"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1300000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <1250>; + rohm,dvs-run-voltage = <1000000>; + rohm,dvs-idle-voltage = <900000>; + }; + buck3: BUCK3 { + regulator-name = "buck3"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1300000>; + regulator-boot-on; + rohm,dvs-run-voltage = <1000000>; + }; + buck4: BUCK4 { + regulator-name = "buck4"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1300000>; + regulator-boot-on; + rohm,dvs-run-voltage = <1000000>; + }; + buck5: BUCK5 { + regulator-name = "buck5"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1350000>; + regulator-boot-on; + }; + buck6: BUCK6 { + regulator-name = "buck6"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + }; + buck7: BUCK7 { + regulator-name = "buck7"; + regulator-min-microvolt = <1605000>; + regulator-max-microvolt = <1995000>; + regulator-boot-on; + }; + buck8: BUCK8 { + regulator-name = "buck8"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1400000>; + }; + + ldo1: LDO1 { + regulator-name = "ldo1"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + }; + ldo2: LDO2 { + regulator-name = "ldo2"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-boot-on; + }; + ldo3: LDO3 { + regulator-name = "ldo3"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + ldo4: LDO4 { + regulator-name = "ldo4"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1800000>; + }; + ldo5: LDO5 { + regulator-name = "ldo5"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + ldo6: LDO6 { + regulator-name = "ldo6"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1800000>; + }; + ldo7_reg: LDO7 { + regulator-name = "ldo7"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + }; + }; + };(quoted diff) +0
-0
pmic.yamlb/Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
new file mode 100644
index 000000000000..402e40dfe0b8Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +7
-0@@ -0,0 +1,222 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/rohm,bd71847-pmic.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ROHM BD71847 and BD71850 Power Management Integrated Circuitbindings
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +6
-0+ +maintainers: + - Matti Vaittinen <[email protected]> + +description: | + BD71847AMWV and BD71850MWV are programmable Power Management ICsfor powering
+ single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is
+ optimized for low BOM cost and compact solution footprint. BD71847MWV andDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +3
-0+ BD71850MWV integrate 6 Buck regulators and 6 LDOs. + Datasheets are available at +https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product
+
https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-productDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +22
-0+ +properties: + compatible: + enum: + - rohm,bd71847 + - rohm,bd71850 + + reg: + description: + I2C slave address. + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + + "#clock-cells": + const: 0 + +# The BD71847 abd BD71850 support two different HW states as resettarget
+# states. States are called as SNVS and READY. At READY state all the PMIC
+# power outputs go down and OTP is reload. At the SNVS state all other logic
+# and external devices apart from the SNVS power domain are shut off. Please
+# refer to NXP i.MX8 documentation for further information regarding SNVS
+# state. When a reset is done via SNVS state the PMIC OTP data is not reload.
+# This causes power outputs that have been under SW control to stay down when
+# reset has switched power state to SNVS. If reset is done via READY state the
+# power outputs will be returned to HW control by OTP loading. Thus the reset
+# target state is set to READY by default. If SNVS state is used the boot
+# crucial regulators must have the regulator-always-on and regulator-boot-onDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +8
-0+# properties set in regulator node. + + rohm,reset-snvs-powered: + description: + Transfer PMIC to SNVS state at reset. + type: boolean + +# Configure the "short press" and "long press" timers for the powerbutton.
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +3
-0+# Values are rounded to what hardware supports +# Short-press: +# Shortest being 10ms, next 500ms and then multiple of 500ms up to7,5s
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +2
-0+# Long-press: +# Shortest being 10ms, next 1000ms and then multiple of 1000ms upto 15s
+# If these properties are not present the existing # configuration (fromDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +157
-0+# bootloader or OTP) is not touched. + + rohm,short-press-ms: + description: + Short press duration in milliseconds + enum: + - 10 + - 500 + - 1000 + - 1500 + - 2000 + - 2500 + - 3000 + - 3500 + - 4000 + - 4500 + - 5000 + - 5500 + - 6000 + - 6500 + - 7000 + - 7500 + + rohm,long-press-ms: + description: + Long press duration in milliseconds + enum: + - 10 + - 1000 + - 2000 + - 3000 + - 4000 + - 5000 + - 6000 + - 7000 + - 8000 + - 9000 + - 10000 + - 11000 + - 12000 + - 13000 + - 14000 + - 15000 + + regulators: + $ref: ../regulator/rohm,bd71847-regulator.yaml + description: + List of child nodes that specify the regulators. + +required: + - compatible + - reg + - interrupts + - clocks + - "#clock-cells" + - regulators + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/leds/common.h> + + i2c { + pmic: pmic@4b { + compatible = "rohm,bd71847"; + reg = <0x4b>; + interrupt-parent = <&gpio1>; + interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + #clock-cells = <0>; + clocks = <&osc 0>; + rohm,reset-snvs-powered; + rohm,short-press-ms = <10>; + rohm,long-press-ms = <2000>; + + regulators { + buck1: BUCK1 { + regulator-name = "buck1"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1300000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <1250>; + rohm,dvs-run-voltage = <900000>; + rohm,dvs-idle-voltage = <850000>; + rohm,dvs-suspend-voltage = <800000>; + }; + buck2: BUCK2 { + regulator-name = "buck2"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1300000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <1250>; + rohm,dvs-run-voltage = <1000000>; + rohm,dvs-idle-voltage = <900000>; + }; + buck3: BUCK3 { + regulator-name = "buck3"; + regulator-min-microvolt = <550000>; + regulator-max-microvolt = <1350000>; + regulator-boot-on; + }; + buck4: BUCK4 { + regulator-name = "buck4"; + regulator-min-microvolt = <2600000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + }; + buck5: BUCK5 { + regulator-name = "buck5"; + regulator-min-microvolt = <1605000>; + regulator-max-microvolt = <1995000>; + regulator-boot-on; + }; + buck8: BUCK6 { + regulator-name = "buck6"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1400000>; + }; + + ldo1: LDO1 { + regulator-name = "ldo1"; + regulator-min-microvolt = <1600000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + }; + ldo2: LDO2 { + regulator-name = "ldo2"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <900000>; + regulator-boot-on; + }; + ldo3: LDO3 { + regulator-name = "ldo3"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + ldo4: LDO4 { + regulator-name = "ldo4"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1800000>; + }; + ldo5: LDO5 { + regulator-name = "ldo5"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <3300000>; + }; + ldo6: LDO6 { + regulator-name = "ldo6"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1800000>; + }; + }; + }; + };diff --git a/Documentation/devicetree/bindings/regulator/rohm,bd71837- regulator.txt b/Documentation/devicetree/bindings/regulator/rohm,bd71837- regulator.txt
deleted file mode 100644
index cbce62c22b60..000000000000
--- a/Documentation/devicetree/bindings/regulator/rohm,bd71837- regulator.txt
+++/dev/nullDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-1@@ -1,162 +0,0 @@ -ROHM BD71837 and BD71847 Power Management Integrated Circuitregulator bindings
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-3- -Required properties: - - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ...,"ldo7" for
- BD71837. For BD71847 names should be "buck1",
..., "buck6"Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-3- and "ldo1", ..., "ldo6" - -List of regulators provided by this controller. BD71837 regulatorsnode
-should be sub node of the BD71837 MFD node. See BD71837 MFD bindings atDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-2-Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt -Regulator nodes should be named to BUCK_<number> and LDO_<number>.The
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-6-definition for each of these nodes is defined using the standard -binding for regulators at -Documentation/devicetree/bindings/regulator/regulator.txt. -Note that if BD71837 starts at RUN state you probably want to use -regulator-boot-on at least for BUCK6 and BUCK7 so that those are not -disabled by driver at startup. LDO5 and LDO6 are supplied by thoseand
-if they are disabled at startup the voltage monitoring for LDO5/LDO6 willDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-12-cause PMIC to reset. - -The valid names for BD71837 regulator nodes are: -BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 -LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 - -The valid names for BD71847 regulator nodes are: -BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6 -LDO1, LDO2, LDO3, LDO4, LDO5, LDO6 - -Optional properties: -- rohm,dvs-run-voltage : PMIC default "RUN" statevoltage in uV.
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-1- See below table for bucks whichsupport this.
-- rohm,dvs-idle-voltage : PMIC default "IDLE" state
voltage in uV.Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-1- See below table for bucks whichsupport this.
-- rohm,dvs-suspend-voltage : PMIC default "SUSPEND" state voltage
in uV.Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-1- See below table for bucks whichsupport this.
-- Any optional property defined inbindings/regulator/regulator.txtDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-11- -Supported default DVS states: - -BD71837: -buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage ------------------------------------------------------------------- ----------- -1 | supported | supported | supported ------------------------------------------------------------------- ---------- -2 | supported | supported | notsupported
-------------------------------------------------------------------
----------
-3 | supported | not supported | not
supported
-------------------------------------------------------------------
----------
-4 | supported | not supported | not
supported
-------------------------------------------------------------------
----------
-rest | not supported | not supported | not
supportedDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-9- -BD71847: -buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage ------------------------------------------------------------------- ----------- -1 | supported | supported | supported ------------------------------------------------------------------- ---------- -2 | supported | supported | notsupported
-------------------------------------------------------------------
----------
-rest | not supported | not supported | not
supportedDocumentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +0
-102- -Example: -regulators { - buck1: BUCK1 { - regulator-name = "buck1"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1300000>; - regulator-boot-on; - regulator-always-on; - regulator-ramp-delay = <1250>; - rohm,dvs-run-voltage = <900000>; - rohm,dvs-idle-voltage = <850000>; - rohm,dvs-suspend-voltage = <800000>; - }; - buck2: BUCK2 { - regulator-name = "buck2"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1300000>; - regulator-boot-on; - regulator-always-on; - regulator-ramp-delay = <1250>; - rohm,dvs-run-voltage = <1000000>; - rohm,dvs-idle-voltage = <900000>; - }; - buck3: BUCK3 { - regulator-name = "buck3"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1300000>; - regulator-boot-on; - rohm,dvs-run-voltage = <1000000>; - }; - buck4: BUCK4 { - regulator-name = "buck4"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1300000>; - regulator-boot-on; - rohm,dvs-run-voltage = <1000000>; - }; - buck5: BUCK5 { - regulator-name = "buck5"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1350000>; - regulator-boot-on; - }; - buck6: BUCK6 { - regulator-name = "buck6"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - }; - buck7: BUCK7 { - regulator-name = "buck7"; - regulator-min-microvolt = <1605000>; - regulator-max-microvolt = <1995000>; - regulator-boot-on; - }; - buck8: BUCK8 { - regulator-name = "buck8"; - regulator-min-microvolt = <800000>; - regulator-max-microvolt = <1400000>; - }; - - ldo1: LDO1 { - regulator-name = "ldo1"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - }; - ldo2: LDO2 { - regulator-name = "ldo2"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - regulator-boot-on; - }; - ldo3: LDO3 { - regulator-name = "ldo3"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - }; - ldo4: LDO4 { - regulator-name = "ldo4"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <1800000>; - }; - ldo5: LDO5 { - regulator-name = "ldo5"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - }; - ldo6: LDO6 { - regulator-name = "ldo6"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <1800000>; - }; - ldo7_reg: LDO7 { - regulator-name = "ldo7"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - }; -}; - -diff --git a/Documentation/devicetree/bindings/regulator/rohm,bd71837-
regulator.yamlb/Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml
new file mode 100644
index 000000000000..a323b1696eeeDocumentation/devicetree/bindings/regulator/rohm,bd71837- new file +0
-0
regulator.yamlDocumentation/devicetree/bindings/regulator/rohm,bd71837- new file +4
-0@@ -0,0 +1,103 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id:http://devicetree.org/schemas/regulator/rohm,bd71837-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#Documentation/devicetree/bindings/regulator/rohm,bd71837- new file +8
-0+ +title: ROHM BD71837 Power Management Integrated Circuit regulators + +maintainers: + - Matti Vaittinen <[email protected]> + +description: | + List of regulators provided by this controller. BD71837 regulatorsnode
+ should be sub node of the BD71837 MFD node. See BD71837 MFD bindings atDocumentation/devicetree/bindings/regulator/rohm,bd71837- new file +2
-0+ Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml + Regulator nodes should be named to BUCK_<number> and LDO_<number>.The
Documentation/devicetree/bindings/regulator/rohm,bd71837- new file +5
-0+ definition for each of these nodes is defined using the standard + binding for regulators at + Documentation/devicetree/bindings/regulator/regulator.txt. + Note that if BD71837 starts at RUN state you probably want to use + regulator-boot-on at least for BUCK6 and BUCK7 so that those arenot
+ disabled by driver at startup. LDO5 and LDO6 are supplied by those and
+ if they are disabled at startup the voltage monitoring for LDO5/LDO6 willDocumentation/devicetree/bindings/regulator/rohm,bd71837- new file +40
-0+ cause PMIC to reset. + +#The valid names for BD71837 regulator nodes are: +#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 +#LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 + +patternProperties: + "^LDO[1-7]$": + type: object + allOf: + - $ref: regulator.yaml# + description: + Properties for single LDO regulator. + + properties: + regulator-name: + pattern: "^ldo[1-7]$" + description: + should be "ldo1", ..., "ldo7" + + "^BUCK[1-8]$": + type: object + allOf: + - $ref: regulator.yaml# + description: + Properties for single BUCK regulator. + + properties: + regulator-name: + pattern: "^buck[1-8]$" + description: + should be "buck1", ..., "buck8" + + rohm,dvs-run-voltage: + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - minimum: 0 + maximum: 1300000 + description: + PMIC default "RUN" state voltage in uV. See below tablefor
Documentation/devicetree/bindings/regulator/rohm,bd71837- new file +9
-0+ bucks which support this. 0 means disabled. + + rohm,dvs-idle-voltage: + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - minimum: 0 + maximum: 1300000 + description: + PMIC default "IDLE" state voltage in uV. See below tablefor
Documentation/devicetree/bindings/regulator/rohm,bd71837- new file +9
-0+ bucks which support this. 0 means disabled. + + rohm,dvs-suspend-voltage: + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - minimum: 0 + maximum: 1300000 + description: + PMIC default "SUSPEND" state voltage in uV. See belowtable for
Documentation/devicetree/bindings/regulator/rohm,bd71837- new file +6
-0+ bucks which support this. 0 means disabled. + + # Supported default DVS states: + # + # BD71837: + # buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
Documentation/devicetree/bindings/regulator/rohm,bd71837- new file +16
-5+ # ---------------------------------------------------------- ------ + # 1 | supported | supported | supported + # ---------------------------------------------------------- ------ + # 2 | supported | supported | not supported + # ---------------------------------------------------------- ------ + # 3 | supported | not supported | not supported + # ---------------------------------------------------------- ------ + # 4 | supported | not supported | not supported + # ---------------------------------------------------------- ------ + # rest | not supported | not supported | not supported + + + required: + - regulator-name + additionalProperties: false +additionalProperties: falsediff --git a/Documentation/devicetree/bindings/regulator/rohm,bd71847-
regulator.yamlb/Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml
new file mode 100644
index 000000000000..526fd00bcb16Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +0
-0
regulator.yamlDocumentation/devicetree/bindings/regulator/rohm,bd71847- new file +4
-0@@ -0,0 +1,97 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id:http://devicetree.org/schemas/regulator/rohm,bd71847-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +2
-0+ +title: ROHM BD71847 and BD71850 Power Management Integrated Circuitregulators
Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +6
-0+ +maintainers: + - Matti Vaittinen <[email protected]> + +description: | + List of regulators provided by this controller. BD71847 regulatorsnode
+ should be sub node of the BD71847 MFD node. See BD71847 MFD bindings atDocumentation/devicetree/bindings/regulator/rohm,bd71847- new file +2
-0+ Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml + Regulator nodes should be named to BUCK_<number> and LDO_<number>.The
Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +5
-0+ definition for each of these nodes is defined using the standard + binding for regulators at + Documentation/devicetree/bindings/regulator/regulator.txt. + Note that if BD71847 starts at RUN state you probably want to use + regulator-boot-on at least for BUCK5. LDO6 is supplied by it andit must
+ not be disabled by driver at startup. If BUCK5 is disabled at startup theDocumentation/devicetree/bindings/regulator/rohm,bd71847- new file +40
-0+ voltage monitoring for LDO5/LDO6 can cause PMIC to reset. + +#The valid names for BD71847 regulator nodes are: +#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6 +#LDO1, LDO2, LDO3, LDO4, LDO5, LDO6 + +patternProperties: + "^LDO[1-6]$": + type: object + allOf: + - $ref: regulator.yaml# + description: + Properties for single LDO regulator. + + properties: + regulator-name: + pattern: "^ldo[1-6]$" + description: + should be "ldo1", ..., "ldo6" + + "^BUCK[1-6]$": + type: object + allOf: + - $ref: regulator.yaml# + description: + Properties for single BUCK regulator. + + properties: + regulator-name: + pattern: "^buck[1-6]$" + description: + should be "buck1", ..., "buck6" + + rohm,dvs-run-voltage: + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - minimum: 0 + maximum: 1300000 + description: + PMIC default "RUN" state voltage in uV. See below tablefor
Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +9
-0+ bucks which support this. 0 means disabled. + + rohm,dvs-idle-voltage: + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - minimum: 0 + maximum: 1300000 + description: + PMIC default "IDLE" state voltage in uV. See below tablefor
Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +9
-0+ bucks which support this. 0 means disabled. + + rohm,dvs-suspend-voltage: + allOf: + - $ref: "/schemas/types.yaml#/definitions/uint32" + - minimum: 0 + maximum: 1300000 + description: + PMIC default "SUSPEND" state voltage in uV. See belowtable for
Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +6
-0+ bucks which support this. 0 means disabled. + + # Supported default DVS states: + # + # BD71847: + # buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
Documentation/devicetree/bindings/regulator/rohm,bd71847- new file +11
-3+ # ---------------------------------------------------------- ------ + # 1 | supported | supported | supported + # ---------------------------------------------------------- ------ + # 2 | supported | supported | not supported + # ---------------------------------------------------------- ------ + # rest | not supported | not supported | not supported + + required: + - regulator-name + additionalProperties: false +additionalProperties: falseSignature · 1 line
2.21.0