229 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/rohm,bd71847-pmic.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: ROHM BD71847 and BD71850 Power Management Integrated Circuit8 9maintainers:10 - Matti Vaittinen <mazziesaccount@gmail.com>11 12description: |13 BD71847AMWV and BD71850MWV are programmable Power Management ICs for powering14 single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is15 optimized for low BOM cost and compact solution footprint. BD71847MWV and16 BD71850MWV integrate 6 Buck regulators and 6 LDOs.17 Datasheets are available at18 https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product19 https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-product20 21properties:22 compatible:23 enum:24 - rohm,bd7184725 - rohm,bd7185026 27 reg:28 description:29 I2C slave address.30 maxItems: 131 32 interrupts:33 maxItems: 134 35 clocks:36 maxItems: 137 38 "#clock-cells":39 const: 040 41 clock-output-names:42 maxItems: 143 44# The BD71847 abd BD71850 support two different HW states as reset target45# states. States are called as SNVS and READY. At READY state all the PMIC46# power outputs go down and OTP is reload. At the SNVS state all other logic47# and external devices apart from the SNVS power domain are shut off. Please48# refer to NXP i.MX8 documentation for further information regarding SNVS49# state. When a reset is done via SNVS state the PMIC OTP data is not reload.50# This causes power outputs that have been under SW control to stay down when51# reset has switched power state to SNVS. If reset is done via READY state the52# power outputs will be returned to HW control by OTP loading. Thus the reset53# target state is set to READY by default. If SNVS state is used the boot54# crucial regulators must have the regulator-always-on and regulator-boot-on55# properties set in regulator node.56 57 rohm,reset-snvs-powered:58 description:59 Transfer PMIC to SNVS state at reset.60 type: boolean61 62# Configure the "short press" and "long press" timers for the power button.63# Values are rounded to what hardware supports64# Short-press:65# Shortest being 10ms, next 500ms and then multiple of 500ms up to 7,5s66# Long-press:67# Shortest being 10ms, next 1000ms and then multiple of 1000ms up to 15s68# If these properties are not present the existing # configuration (from69# bootloader or OTP) is not touched.70 71 rohm,short-press-ms:72 description:73 Short press duration in milliseconds74 enum:75 - 1076 - 50077 - 100078 - 150079 - 200080 - 250081 - 300082 - 350083 - 400084 - 450085 - 500086 - 550087 - 600088 - 650089 - 700090 - 750091 92 rohm,long-press-ms:93 description:94 Long press duration in milliseconds95 enum:96 - 1097 - 100098 - 200099 - 3000100 - 4000101 - 5000102 - 6000103 - 7000104 - 8000105 - 9000106 - 10000107 - 11000108 - 12000109 - 13000110 - 14000111 - 15000112 113 regulators:114 $ref: ../regulator/rohm,bd71847-regulator.yaml115 description:116 List of child nodes that specify the regulators.117 118required:119 - compatible120 - reg121 - interrupts122 - regulators123 124additionalProperties: false125 126dependencies:127 '#clock-cells': [clocks]128 clocks: ['#clock-cells']129 130examples:131 - |132 #include <dt-bindings/interrupt-controller/irq.h>133 134 i2c {135 #address-cells = <1>;136 #size-cells = <0>;137 pmic: pmic@4b {138 compatible = "rohm,bd71847";139 reg = <0x4b>;140 interrupt-parent = <&gpio1>;141 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;142 #clock-cells = <0>;143 clocks = <&osc 0>;144 rohm,reset-snvs-powered;145 rohm,short-press-ms = <10>;146 rohm,long-press-ms = <2000>;147 148 regulators {149 buck1: BUCK1 {150 regulator-name = "buck1";151 regulator-min-microvolt = <700000>;152 regulator-max-microvolt = <1300000>;153 regulator-boot-on;154 regulator-always-on;155 regulator-ramp-delay = <1250>;156 rohm,dvs-run-voltage = <900000>;157 rohm,dvs-idle-voltage = <850000>;158 rohm,dvs-suspend-voltage = <800000>;159 };160 buck2: BUCK2 {161 regulator-name = "buck2";162 regulator-min-microvolt = <700000>;163 regulator-max-microvolt = <1300000>;164 regulator-boot-on;165 regulator-always-on;166 regulator-ramp-delay = <1250>;167 rohm,dvs-run-voltage = <1000000>;168 rohm,dvs-idle-voltage = <900000>;169 };170 buck3: BUCK3 {171 regulator-name = "buck3";172 regulator-min-microvolt = <550000>;173 regulator-max-microvolt = <1350000>;174 regulator-boot-on;175 };176 buck4: BUCK4 {177 regulator-name = "buck4";178 regulator-min-microvolt = <2600000>;179 regulator-max-microvolt = <3300000>;180 regulator-boot-on;181 };182 buck5: BUCK5 {183 regulator-name = "buck5";184 regulator-min-microvolt = <1605000>;185 regulator-max-microvolt = <1995000>;186 regulator-boot-on;187 };188 buck8: BUCK6 {189 regulator-name = "buck6";190 regulator-min-microvolt = <800000>;191 regulator-max-microvolt = <1400000>;192 };193 194 ldo1: LDO1 {195 regulator-name = "ldo1";196 regulator-min-microvolt = <1600000>;197 regulator-max-microvolt = <3300000>;198 regulator-boot-on;199 };200 ldo2: LDO2 {201 regulator-name = "ldo2";202 regulator-min-microvolt = <800000>;203 regulator-max-microvolt = <900000>;204 regulator-boot-on;205 };206 ldo3: LDO3 {207 regulator-name = "ldo3";208 regulator-min-microvolt = <1800000>;209 regulator-max-microvolt = <3300000>;210 };211 ldo4: LDO4 {212 regulator-name = "ldo4";213 regulator-min-microvolt = <900000>;214 regulator-max-microvolt = <1800000>;215 };216 ldo5: LDO5 {217 regulator-name = "ldo5";218 regulator-min-microvolt = <800000>;219 regulator-max-microvolt = <3300000>;220 };221 ldo6: LDO6 {222 regulator-name = "ldo6";223 regulator-min-microvolt = <900000>;224 regulator-max-microvolt = <1800000>;225 };226 };227 };228 };229