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