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