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