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 #address-cells = <1>; 132 #size-cells = <0>; 133 pmic: pmic@4b { 134 compatible = "rohm,bd71847"; 135 reg = <0x4b>; 136 interrupt-parent = <&gpio1>; 137 interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 138 #clock-cells = <0>; 139 clocks = <&osc 0>; 140 rohm,reset-snvs-powered; 141 rohm,short-press-ms = <10>; 142 rohm,long-press-ms = <2000>; 143 144 regulators { 145 buck1: BUCK1 { 146 regulator-name = "buck1"; 147 regulator-min-microvolt = <700000>; 148 regulator-max-microvolt = <1300000>; 149 regulator-boot-on; 150 regulator-always-on; 151 regulator-ramp-delay = <1250>; 152 rohm,dvs-run-voltage = <900000>; 153 rohm,dvs-idle-voltage = <850000>; 154 rohm,dvs-suspend-voltage = <800000>; 155 }; 156 buck2: BUCK2 { 157 regulator-name = "buck2"; 158 regulator-min-microvolt = <700000>; 159 regulator-max-microvolt = <1300000>; 160 regulator-boot-on; 161 regulator-always-on; 162 regulator-ramp-delay = <1250>; 163 rohm,dvs-run-voltage = <1000000>; 164 rohm,dvs-idle-voltage = <900000>; 165 }; 166 buck3: BUCK3 { 167 regulator-name = "buck3"; 168 regulator-min-microvolt = <550000>; 169 regulator-max-microvolt = <1350000>; 170 regulator-boot-on; 171 }; 172 buck4: BUCK4 { 173 regulator-name = "buck4"; 174 regulator-min-microvolt = <2600000>; 175 regulator-max-microvolt = <3300000>; 176 regulator-boot-on; 177 }; 178 buck5: BUCK5 { 179 regulator-name = "buck5"; 180 regulator-min-microvolt = <1605000>; 181 regulator-max-microvolt = <1995000>; 182 regulator-boot-on; 183 }; 184 buck8: BUCK6 { 185 regulator-name = "buck6"; 186 regulator-min-microvolt = <800000>; 187 regulator-max-microvolt = <1400000>; 188 }; 189 190 ldo1: LDO1 { 191 regulator-name = "ldo1"; 192 regulator-min-microvolt = <1600000>; 193 regulator-max-microvolt = <3300000>; 194 regulator-boot-on; 195 }; 196 ldo2: LDO2 { 197 regulator-name = "ldo2"; 198 regulator-min-microvolt = <800000>; 199 regulator-max-microvolt = <900000>; 200 regulator-boot-on; 201 }; 202 ldo3: LDO3 { 203 regulator-name = "ldo3"; 204 regulator-min-microvolt = <1800000>; 205 regulator-max-microvolt = <3300000>; 206 }; 207 ldo4: LDO4 { 208 regulator-name = "ldo4"; 209 regulator-min-microvolt = <900000>; 210 regulator-max-microvolt = <1800000>; 211 }; 212 ldo5: LDO5 { 213 regulator-name = "ldo5"; 214 regulator-min-microvolt = <800000>; 215 regulator-max-microvolt = <3300000>; 216 }; 217 ldo6: LDO6 { 218 regulator-name = "ldo6"; 219 regulator-min-microvolt = <900000>; 220 regulator-max-microvolt = <1800000>; 221 }; 222 }; 223 }; 224 }; 225