1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 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 Circuit bindings 8 9maintainers: 10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 11 12description: | 13 BD71847AMWV and BD71850MWV are programmable Power Management ICs for powering 14 single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is 15 optimized for low BOM cost and compact solution footprint. BD71847MWV and 16 BD71850MWV integrate 6 Buck regulators and 6 LDOs. 17 Datasheets are available at 18 https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product 19 https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-product 20 21properties: 22 compatible: 23 enum: 24 - rohm,bd71847 25 - rohm,bd71850 26 27 reg: 28 description: 29 I2C slave address. 30 maxItems: 1 31 32 interrupts: 33 maxItems: 1 34 35 clocks: 36 maxItems: 1 37 38 "#clock-cells": 39 const: 0 40 41# The BD71847 abd BD71850 support two different HW states as reset target 42# states. States are called as SNVS and READY. At READY state all the PMIC 43# power outputs go down and OTP is reload. At the SNVS state all other logic 44# and external devices apart from the SNVS power domain are shut off. Please 45# refer to NXP i.MX8 documentation for further information regarding SNVS 46# state. When a reset is done via SNVS state the PMIC OTP data is not reload. 47# This causes power outputs that have been under SW control to stay down when 48# reset has switched power state to SNVS. If reset is done via READY state the 49# power outputs will be returned to HW control by OTP loading. Thus the reset 50# target state is set to READY by default. If SNVS state is used the boot 51# crucial regulators must have the regulator-always-on and regulator-boot-on 52# properties set in regulator node. 53 54 rohm,reset-snvs-powered: 55 description: 56 Transfer PMIC to SNVS state at reset. 57 type: boolean 58 59# Configure the "short press" and "long press" timers for the power button. 60# Values are rounded to what hardware supports 61# Short-press: 62# Shortest being 10ms, next 500ms and then multiple of 500ms up to 7,5s 63# Long-press: 64# Shortest being 10ms, next 1000ms and then multiple of 1000ms up to 15s 65# If these properties are not present the existing # configuration (from 66# bootloader or OTP) is not touched. 67 68 rohm,short-press-ms: 69 description: 70 Short press duration in milliseconds 71 enum: 72 - 10 73 - 500 74 - 1000 75 - 1500 76 - 2000 77 - 2500 78 - 3000 79 - 3500 80 - 4000 81 - 4500 82 - 5000 83 - 5500 84 - 6000 85 - 6500 86 - 7000 87 - 7500 88 89 rohm,long-press-ms: 90 description: 91 Long press duration in milliseconds 92 enum: 93 - 10 94 - 1000 95 - 2000 96 - 3000 97 - 4000 98 - 5000 99 - 6000 100 - 7000 101 - 8000 102 - 9000 103 - 10000 104 - 11000 105 - 12000 106 - 13000 107 - 14000 108 - 15000 109 110 regulators: 111 $ref: ../regulator/rohm,bd71847-regulator.yaml 112 description: 113 List of child nodes that specify the regulators. 114 115required: 116 - compatible 117 - reg 118 - interrupts 119 - clocks 120 - "#clock-cells" 121 - regulators 122 123additionalProperties: false 124 125examples: 126 - | 127 #include <dt-bindings/interrupt-controller/irq.h> 128 #include <dt-bindings/leds/common.h> 129 130 i2c { 131 pmic: pmic@4b { 132 compatible = "rohm,bd71847"; 133 reg = <0x4b>; 134 interrupt-parent = <&gpio1>; 135 interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 136 #clock-cells = <0>; 137 clocks = <&osc 0>; 138 rohm,reset-snvs-powered; 139 rohm,short-press-ms = <10>; 140 rohm,long-press-ms = <2000>; 141 142 regulators { 143 buck1: BUCK1 { 144 regulator-name = "buck1"; 145 regulator-min-microvolt = <700000>; 146 regulator-max-microvolt = <1300000>; 147 regulator-boot-on; 148 regulator-always-on; 149 regulator-ramp-delay = <1250>; 150 rohm,dvs-run-voltage = <900000>; 151 rohm,dvs-idle-voltage = <850000>; 152 rohm,dvs-suspend-voltage = <800000>; 153 }; 154 buck2: BUCK2 { 155 regulator-name = "buck2"; 156 regulator-min-microvolt = <700000>; 157 regulator-max-microvolt = <1300000>; 158 regulator-boot-on; 159 regulator-always-on; 160 regulator-ramp-delay = <1250>; 161 rohm,dvs-run-voltage = <1000000>; 162 rohm,dvs-idle-voltage = <900000>; 163 }; 164 buck3: BUCK3 { 165 regulator-name = "buck3"; 166 regulator-min-microvolt = <550000>; 167 regulator-max-microvolt = <1350000>; 168 regulator-boot-on; 169 }; 170 buck4: BUCK4 { 171 regulator-name = "buck4"; 172 regulator-min-microvolt = <2600000>; 173 regulator-max-microvolt = <3300000>; 174 regulator-boot-on; 175 }; 176 buck5: BUCK5 { 177 regulator-name = "buck5"; 178 regulator-min-microvolt = <1605000>; 179 regulator-max-microvolt = <1995000>; 180 regulator-boot-on; 181 }; 182 buck8: BUCK6 { 183 regulator-name = "buck6"; 184 regulator-min-microvolt = <800000>; 185 regulator-max-microvolt = <1400000>; 186 }; 187 188 ldo1: LDO1 { 189 regulator-name = "ldo1"; 190 regulator-min-microvolt = <1600000>; 191 regulator-max-microvolt = <3300000>; 192 regulator-boot-on; 193 }; 194 ldo2: LDO2 { 195 regulator-name = "ldo2"; 196 regulator-min-microvolt = <800000>; 197 regulator-max-microvolt = <900000>; 198 regulator-boot-on; 199 }; 200 ldo3: LDO3 { 201 regulator-name = "ldo3"; 202 regulator-min-microvolt = <1800000>; 203 regulator-max-microvolt = <3300000>; 204 }; 205 ldo4: LDO4 { 206 regulator-name = "ldo4"; 207 regulator-min-microvolt = <900000>; 208 regulator-max-microvolt = <1800000>; 209 }; 210 ldo5: LDO5 { 211 regulator-name = "ldo5"; 212 regulator-min-microvolt = <800000>; 213 regulator-max-microvolt = <3300000>; 214 }; 215 ldo6: LDO6 { 216 regulator-name = "ldo6"; 217 regulator-min-microvolt = <900000>; 218 regulator-max-microvolt = <1800000>; 219 }; 220 }; 221 }; 222 }; 223