18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/rohm,bd71847-pmic.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: ROHM BD71847 and BD71850 Power Management Integrated Circuit bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci BD71847AMWV and BD71850MWV are programmable Power Management ICs for powering 148c2ecf20Sopenharmony_ci single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is 158c2ecf20Sopenharmony_ci optimized for low BOM cost and compact solution footprint. BD71847MWV and 168c2ecf20Sopenharmony_ci BD71850MWV integrate 6 Buck regulators and 6 LDOs. 178c2ecf20Sopenharmony_ci Datasheets are available at 188c2ecf20Sopenharmony_ci https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product 198c2ecf20Sopenharmony_ci https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-product 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciproperties: 228c2ecf20Sopenharmony_ci compatible: 238c2ecf20Sopenharmony_ci enum: 248c2ecf20Sopenharmony_ci - rohm,bd71847 258c2ecf20Sopenharmony_ci - rohm,bd71850 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci reg: 288c2ecf20Sopenharmony_ci description: 298c2ecf20Sopenharmony_ci I2C slave address. 308c2ecf20Sopenharmony_ci maxItems: 1 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci interrupts: 338c2ecf20Sopenharmony_ci maxItems: 1 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci clocks: 368c2ecf20Sopenharmony_ci maxItems: 1 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci "#clock-cells": 398c2ecf20Sopenharmony_ci const: 0 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci clock-output-names: 428c2ecf20Sopenharmony_ci maxItems: 1 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci# The BD71847 abd BD71850 support two different HW states as reset target 458c2ecf20Sopenharmony_ci# states. States are called as SNVS and READY. At READY state all the PMIC 468c2ecf20Sopenharmony_ci# power outputs go down and OTP is reload. At the SNVS state all other logic 478c2ecf20Sopenharmony_ci# and external devices apart from the SNVS power domain are shut off. Please 488c2ecf20Sopenharmony_ci# refer to NXP i.MX8 documentation for further information regarding SNVS 498c2ecf20Sopenharmony_ci# state. When a reset is done via SNVS state the PMIC OTP data is not reload. 508c2ecf20Sopenharmony_ci# This causes power outputs that have been under SW control to stay down when 518c2ecf20Sopenharmony_ci# reset has switched power state to SNVS. If reset is done via READY state the 528c2ecf20Sopenharmony_ci# power outputs will be returned to HW control by OTP loading. Thus the reset 538c2ecf20Sopenharmony_ci# target state is set to READY by default. If SNVS state is used the boot 548c2ecf20Sopenharmony_ci# crucial regulators must have the regulator-always-on and regulator-boot-on 558c2ecf20Sopenharmony_ci# properties set in regulator node. 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci rohm,reset-snvs-powered: 588c2ecf20Sopenharmony_ci description: 598c2ecf20Sopenharmony_ci Transfer PMIC to SNVS state at reset. 608c2ecf20Sopenharmony_ci type: boolean 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci# Configure the "short press" and "long press" timers for the power button. 638c2ecf20Sopenharmony_ci# Values are rounded to what hardware supports 648c2ecf20Sopenharmony_ci# Short-press: 658c2ecf20Sopenharmony_ci# Shortest being 10ms, next 500ms and then multiple of 500ms up to 7,5s 668c2ecf20Sopenharmony_ci# Long-press: 678c2ecf20Sopenharmony_ci# Shortest being 10ms, next 1000ms and then multiple of 1000ms up to 15s 688c2ecf20Sopenharmony_ci# If these properties are not present the existing # configuration (from 698c2ecf20Sopenharmony_ci# bootloader or OTP) is not touched. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci rohm,short-press-ms: 728c2ecf20Sopenharmony_ci description: 738c2ecf20Sopenharmony_ci Short press duration in milliseconds 748c2ecf20Sopenharmony_ci enum: 758c2ecf20Sopenharmony_ci - 10 768c2ecf20Sopenharmony_ci - 500 778c2ecf20Sopenharmony_ci - 1000 788c2ecf20Sopenharmony_ci - 1500 798c2ecf20Sopenharmony_ci - 2000 808c2ecf20Sopenharmony_ci - 2500 818c2ecf20Sopenharmony_ci - 3000 828c2ecf20Sopenharmony_ci - 3500 838c2ecf20Sopenharmony_ci - 4000 848c2ecf20Sopenharmony_ci - 4500 858c2ecf20Sopenharmony_ci - 5000 868c2ecf20Sopenharmony_ci - 5500 878c2ecf20Sopenharmony_ci - 6000 888c2ecf20Sopenharmony_ci - 6500 898c2ecf20Sopenharmony_ci - 7000 908c2ecf20Sopenharmony_ci - 7500 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci rohm,long-press-ms: 938c2ecf20Sopenharmony_ci description: 948c2ecf20Sopenharmony_ci Long press duration in milliseconds 958c2ecf20Sopenharmony_ci enum: 968c2ecf20Sopenharmony_ci - 10 978c2ecf20Sopenharmony_ci - 1000 988c2ecf20Sopenharmony_ci - 2000 998c2ecf20Sopenharmony_ci - 3000 1008c2ecf20Sopenharmony_ci - 4000 1018c2ecf20Sopenharmony_ci - 5000 1028c2ecf20Sopenharmony_ci - 6000 1038c2ecf20Sopenharmony_ci - 7000 1048c2ecf20Sopenharmony_ci - 8000 1058c2ecf20Sopenharmony_ci - 9000 1068c2ecf20Sopenharmony_ci - 10000 1078c2ecf20Sopenharmony_ci - 11000 1088c2ecf20Sopenharmony_ci - 12000 1098c2ecf20Sopenharmony_ci - 13000 1108c2ecf20Sopenharmony_ci - 14000 1118c2ecf20Sopenharmony_ci - 15000 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci regulators: 1148c2ecf20Sopenharmony_ci $ref: ../regulator/rohm,bd71847-regulator.yaml 1158c2ecf20Sopenharmony_ci description: 1168c2ecf20Sopenharmony_ci List of child nodes that specify the regulators. 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_cirequired: 1198c2ecf20Sopenharmony_ci - compatible 1208c2ecf20Sopenharmony_ci - reg 1218c2ecf20Sopenharmony_ci - interrupts 1228c2ecf20Sopenharmony_ci - regulators 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ciadditionalProperties: false 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_cidependencies: 1278c2ecf20Sopenharmony_ci '#clock-cells': [clocks] 1288c2ecf20Sopenharmony_ci clocks: ['#clock-cells'] 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciexamples: 1318c2ecf20Sopenharmony_ci - | 1328c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 1338c2ecf20Sopenharmony_ci #include <dt-bindings/leds/common.h> 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci i2c { 1368c2ecf20Sopenharmony_ci #address-cells = <1>; 1378c2ecf20Sopenharmony_ci #size-cells = <0>; 1388c2ecf20Sopenharmony_ci pmic: pmic@4b { 1398c2ecf20Sopenharmony_ci compatible = "rohm,bd71847"; 1408c2ecf20Sopenharmony_ci reg = <0x4b>; 1418c2ecf20Sopenharmony_ci interrupt-parent = <&gpio1>; 1428c2ecf20Sopenharmony_ci interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 1438c2ecf20Sopenharmony_ci #clock-cells = <0>; 1448c2ecf20Sopenharmony_ci clocks = <&osc 0>; 1458c2ecf20Sopenharmony_ci rohm,reset-snvs-powered; 1468c2ecf20Sopenharmony_ci rohm,short-press-ms = <10>; 1478c2ecf20Sopenharmony_ci rohm,long-press-ms = <2000>; 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci regulators { 1508c2ecf20Sopenharmony_ci buck1: BUCK1 { 1518c2ecf20Sopenharmony_ci regulator-name = "buck1"; 1528c2ecf20Sopenharmony_ci regulator-min-microvolt = <700000>; 1538c2ecf20Sopenharmony_ci regulator-max-microvolt = <1300000>; 1548c2ecf20Sopenharmony_ci regulator-boot-on; 1558c2ecf20Sopenharmony_ci regulator-always-on; 1568c2ecf20Sopenharmony_ci regulator-ramp-delay = <1250>; 1578c2ecf20Sopenharmony_ci rohm,dvs-run-voltage = <900000>; 1588c2ecf20Sopenharmony_ci rohm,dvs-idle-voltage = <850000>; 1598c2ecf20Sopenharmony_ci rohm,dvs-suspend-voltage = <800000>; 1608c2ecf20Sopenharmony_ci }; 1618c2ecf20Sopenharmony_ci buck2: BUCK2 { 1628c2ecf20Sopenharmony_ci regulator-name = "buck2"; 1638c2ecf20Sopenharmony_ci regulator-min-microvolt = <700000>; 1648c2ecf20Sopenharmony_ci regulator-max-microvolt = <1300000>; 1658c2ecf20Sopenharmony_ci regulator-boot-on; 1668c2ecf20Sopenharmony_ci regulator-always-on; 1678c2ecf20Sopenharmony_ci regulator-ramp-delay = <1250>; 1688c2ecf20Sopenharmony_ci rohm,dvs-run-voltage = <1000000>; 1698c2ecf20Sopenharmony_ci rohm,dvs-idle-voltage = <900000>; 1708c2ecf20Sopenharmony_ci }; 1718c2ecf20Sopenharmony_ci buck3: BUCK3 { 1728c2ecf20Sopenharmony_ci regulator-name = "buck3"; 1738c2ecf20Sopenharmony_ci regulator-min-microvolt = <550000>; 1748c2ecf20Sopenharmony_ci regulator-max-microvolt = <1350000>; 1758c2ecf20Sopenharmony_ci regulator-boot-on; 1768c2ecf20Sopenharmony_ci }; 1778c2ecf20Sopenharmony_ci buck4: BUCK4 { 1788c2ecf20Sopenharmony_ci regulator-name = "buck4"; 1798c2ecf20Sopenharmony_ci regulator-min-microvolt = <2600000>; 1808c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1818c2ecf20Sopenharmony_ci regulator-boot-on; 1828c2ecf20Sopenharmony_ci }; 1838c2ecf20Sopenharmony_ci buck5: BUCK5 { 1848c2ecf20Sopenharmony_ci regulator-name = "buck5"; 1858c2ecf20Sopenharmony_ci regulator-min-microvolt = <1605000>; 1868c2ecf20Sopenharmony_ci regulator-max-microvolt = <1995000>; 1878c2ecf20Sopenharmony_ci regulator-boot-on; 1888c2ecf20Sopenharmony_ci }; 1898c2ecf20Sopenharmony_ci buck8: BUCK6 { 1908c2ecf20Sopenharmony_ci regulator-name = "buck6"; 1918c2ecf20Sopenharmony_ci regulator-min-microvolt = <800000>; 1928c2ecf20Sopenharmony_ci regulator-max-microvolt = <1400000>; 1938c2ecf20Sopenharmony_ci }; 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci ldo1: LDO1 { 1968c2ecf20Sopenharmony_ci regulator-name = "ldo1"; 1978c2ecf20Sopenharmony_ci regulator-min-microvolt = <1600000>; 1988c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1998c2ecf20Sopenharmony_ci regulator-boot-on; 2008c2ecf20Sopenharmony_ci }; 2018c2ecf20Sopenharmony_ci ldo2: LDO2 { 2028c2ecf20Sopenharmony_ci regulator-name = "ldo2"; 2038c2ecf20Sopenharmony_ci regulator-min-microvolt = <800000>; 2048c2ecf20Sopenharmony_ci regulator-max-microvolt = <900000>; 2058c2ecf20Sopenharmony_ci regulator-boot-on; 2068c2ecf20Sopenharmony_ci }; 2078c2ecf20Sopenharmony_ci ldo3: LDO3 { 2088c2ecf20Sopenharmony_ci regulator-name = "ldo3"; 2098c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 2108c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 2118c2ecf20Sopenharmony_ci }; 2128c2ecf20Sopenharmony_ci ldo4: LDO4 { 2138c2ecf20Sopenharmony_ci regulator-name = "ldo4"; 2148c2ecf20Sopenharmony_ci regulator-min-microvolt = <900000>; 2158c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 2168c2ecf20Sopenharmony_ci }; 2178c2ecf20Sopenharmony_ci ldo5: LDO5 { 2188c2ecf20Sopenharmony_ci regulator-name = "ldo5"; 2198c2ecf20Sopenharmony_ci regulator-min-microvolt = <800000>; 2208c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 2218c2ecf20Sopenharmony_ci }; 2228c2ecf20Sopenharmony_ci ldo6: LDO6 { 2238c2ecf20Sopenharmony_ci regulator-name = "ldo6"; 2248c2ecf20Sopenharmony_ci regulator-min-microvolt = <900000>; 2258c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 2268c2ecf20Sopenharmony_ci }; 2278c2ecf20Sopenharmony_ci }; 2288c2ecf20Sopenharmony_ci }; 2298c2ecf20Sopenharmony_ci }; 230