18b1a3936SMatti Vaittinen# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28b1a3936SMatti Vaittinen%YAML 1.2 38b1a3936SMatti Vaittinen--- 48b1a3936SMatti Vaittinen$id: http://devicetree.org/schemas/mfd/rohm,bd96801-pmic.yaml# 58b1a3936SMatti Vaittinen$schema: http://devicetree.org/meta-schemas/core.yaml# 68b1a3936SMatti Vaittinen 78b1a3936SMatti Vaittinentitle: ROHM BD96801 Scalable Power Management Integrated Circuit 88b1a3936SMatti Vaittinen 98b1a3936SMatti Vaittinenmaintainers: 108b1a3936SMatti Vaittinen - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 118b1a3936SMatti Vaittinen 128b1a3936SMatti Vaittinendescription: 138b1a3936SMatti Vaittinen BD96801 is an automotive grade single-chip power management IC. 148b1a3936SMatti Vaittinen It integrates 4 buck converters and 3 LDOs with safety features like 158b1a3936SMatti Vaittinen over-/under voltage and over current detection and a watchdog. 168b1a3936SMatti Vaittinen 178b1a3936SMatti Vaittinenproperties: 188b1a3936SMatti Vaittinen compatible: 198b1a3936SMatti Vaittinen const: rohm,bd96801 208b1a3936SMatti Vaittinen 218b1a3936SMatti Vaittinen reg: 228b1a3936SMatti Vaittinen maxItems: 1 238b1a3936SMatti Vaittinen 248b1a3936SMatti Vaittinen interrupts: 258b1a3936SMatti Vaittinen description: 268b1a3936SMatti Vaittinen The PMIC provides intb and errb IRQ lines. The errb IRQ line is used 278b1a3936SMatti Vaittinen for fatal IRQs which will cause the PMIC to shut down power outputs. 28*a7fcc232SYu-Chun Lin In many systems this will shut down the SoC controlling the PMIC and 298b1a3936SMatti Vaittinen connecting/handling the errb can be omitted. However, there are cases 308b1a3936SMatti Vaittinen where the SoC is not powered by the PMIC or has a short time backup 318b1a3936SMatti Vaittinen energy to handle shutdown of critical hardware. In that case it may be 328b1a3936SMatti Vaittinen useful to connect the errb and handle errb events. 338b1a3936SMatti Vaittinen minItems: 1 348b1a3936SMatti Vaittinen maxItems: 2 358b1a3936SMatti Vaittinen 368b1a3936SMatti Vaittinen interrupt-names: 378b1a3936SMatti Vaittinen minItems: 1 388b1a3936SMatti Vaittinen items: 398b1a3936SMatti Vaittinen - enum: [intb, errb] 408b1a3936SMatti Vaittinen - const: errb 418b1a3936SMatti Vaittinen 428b1a3936SMatti Vaittinen rohm,hw-timeout-ms: 438b1a3936SMatti Vaittinen description: 448b1a3936SMatti Vaittinen Watchdog timeout value(s). First walue is timeout limit. Second value is 458b1a3936SMatti Vaittinen optional value for 'too early' watchdog ping if window timeout mode is 468b1a3936SMatti Vaittinen to be used. 478b1a3936SMatti Vaittinen minItems: 1 488b1a3936SMatti Vaittinen maxItems: 2 498b1a3936SMatti Vaittinen 508b1a3936SMatti Vaittinen rohm,wdg-action: 518b1a3936SMatti Vaittinen description: 528b1a3936SMatti Vaittinen Whether the watchdog failure must turn off the regulator power outputs or 538b1a3936SMatti Vaittinen just toggle the INTB line. 548b1a3936SMatti Vaittinen enum: 558b1a3936SMatti Vaittinen - prstb 568b1a3936SMatti Vaittinen - intb-only 578b1a3936SMatti Vaittinen 588b1a3936SMatti Vaittinen timeout-sec: 598b1a3936SMatti Vaittinen maxItems: 2 608b1a3936SMatti Vaittinen 618b1a3936SMatti Vaittinen regulators: 628b1a3936SMatti Vaittinen $ref: /schemas/regulator/rohm,bd96801-regulator.yaml 638b1a3936SMatti Vaittinen description: 648b1a3936SMatti Vaittinen List of child nodes that specify the regulators. 658b1a3936SMatti Vaittinen 668b1a3936SMatti Vaittinenrequired: 678b1a3936SMatti Vaittinen - compatible 688b1a3936SMatti Vaittinen - reg 698b1a3936SMatti Vaittinen - interrupts 708b1a3936SMatti Vaittinen - interrupt-names 718b1a3936SMatti Vaittinen - regulators 728b1a3936SMatti Vaittinen 738b1a3936SMatti VaittinenadditionalProperties: false 748b1a3936SMatti Vaittinen 758b1a3936SMatti Vaittinenexamples: 768b1a3936SMatti Vaittinen - | 778b1a3936SMatti Vaittinen #include <dt-bindings/interrupt-controller/irq.h> 788b1a3936SMatti Vaittinen #include <dt-bindings/leds/common.h> 798b1a3936SMatti Vaittinen i2c { 808b1a3936SMatti Vaittinen #address-cells = <1>; 818b1a3936SMatti Vaittinen #size-cells = <0>; 828b1a3936SMatti Vaittinen pmic: pmic@60 { 838b1a3936SMatti Vaittinen reg = <0x60>; 848b1a3936SMatti Vaittinen compatible = "rohm,bd96801"; 858b1a3936SMatti Vaittinen interrupt-parent = <&gpio1>; 868b1a3936SMatti Vaittinen interrupts = <29 IRQ_TYPE_LEVEL_LOW>, <6 IRQ_TYPE_LEVEL_LOW>; 878b1a3936SMatti Vaittinen interrupt-names = "intb", "errb"; 888b1a3936SMatti Vaittinen 898b1a3936SMatti Vaittinen regulators { 908b1a3936SMatti Vaittinen buck1 { 918b1a3936SMatti Vaittinen regulator-name = "buck1"; 928b1a3936SMatti Vaittinen regulator-ramp-delay = <1250>; 938b1a3936SMatti Vaittinen /* 0.5V min INITIAL - 150 mV tune */ 948b1a3936SMatti Vaittinen regulator-min-microvolt = <350000>; 958b1a3936SMatti Vaittinen /* 3.3V + 150mV tune */ 968b1a3936SMatti Vaittinen regulator-max-microvolt = <3450000>; 978b1a3936SMatti Vaittinen 988b1a3936SMatti Vaittinen /* These can be set only when PMIC is in STBY */ 998b1a3936SMatti Vaittinen rohm,initial-voltage-microvolt = <500000>; 1008b1a3936SMatti Vaittinen regulator-ov-error-microvolt = <230000>; 1018b1a3936SMatti Vaittinen regulator-uv-error-microvolt = <230000>; 1028b1a3936SMatti Vaittinen regulator-temp-protection-kelvin = <1>; 1038b1a3936SMatti Vaittinen regulator-temp-warn-kelvin = <0>; 1048b1a3936SMatti Vaittinen }; 1058b1a3936SMatti Vaittinen buck2 { 1068b1a3936SMatti Vaittinen regulator-name = "buck2"; 1078b1a3936SMatti Vaittinen regulator-min-microvolt = <350000>; 1088b1a3936SMatti Vaittinen regulator-max-microvolt = <3450000>; 1098b1a3936SMatti Vaittinen 1108b1a3936SMatti Vaittinen rohm,initial-voltage-microvolt = <3000000>; 1118b1a3936SMatti Vaittinen regulator-ov-error-microvolt = <18000>; 1128b1a3936SMatti Vaittinen regulator-uv-error-microvolt = <18000>; 1138b1a3936SMatti Vaittinen regulator-temp-protection-kelvin = <1>; 1148b1a3936SMatti Vaittinen regulator-temp-warn-kelvin = <1>; 1158b1a3936SMatti Vaittinen }; 1168b1a3936SMatti Vaittinen buck3 { 1178b1a3936SMatti Vaittinen regulator-name = "buck3"; 1188b1a3936SMatti Vaittinen regulator-min-microvolt = <350000>; 1198b1a3936SMatti Vaittinen regulator-max-microvolt = <3450000>; 1208b1a3936SMatti Vaittinen 1218b1a3936SMatti Vaittinen rohm,initial-voltage-microvolt = <600000>; 1228b1a3936SMatti Vaittinen regulator-ov-warn-microvolt = <18000>; 1238b1a3936SMatti Vaittinen regulator-uv-warn-microvolt = <18000>; 1248b1a3936SMatti Vaittinen regulator-temp-protection-kelvin = <1>; 1258b1a3936SMatti Vaittinen regulator-temp-error-kelvin = <0>; 1268b1a3936SMatti Vaittinen }; 1278b1a3936SMatti Vaittinen buck4 { 1288b1a3936SMatti Vaittinen regulator-name = "buck4"; 1298b1a3936SMatti Vaittinen regulator-min-microvolt = <350000>; 1308b1a3936SMatti Vaittinen regulator-max-microvolt = <3450000>; 1318b1a3936SMatti Vaittinen 1328b1a3936SMatti Vaittinen rohm,initial-voltage-microvolt = <600000>; 1338b1a3936SMatti Vaittinen regulator-ov-warn-microvolt = <18000>; 1348b1a3936SMatti Vaittinen regulator-uv-warn-microvolt = <18000>; 1358b1a3936SMatti Vaittinen regulator-temp-protection-kelvin = <1>; 1368b1a3936SMatti Vaittinen regulator-temp-error-kelvin = <0>; 1378b1a3936SMatti Vaittinen }; 1388b1a3936SMatti Vaittinen ldo5 { 1398b1a3936SMatti Vaittinen regulator-name = "ldo5"; 1408b1a3936SMatti Vaittinen regulator-min-microvolt = <300000>; 1418b1a3936SMatti Vaittinen regulator-max-microvolt = <3300000>; 1428b1a3936SMatti Vaittinen 1438b1a3936SMatti Vaittinen rohm,initial-voltage-microvolt = <500000>; 1448b1a3936SMatti Vaittinen regulator-ov-error-microvolt = <36000>; 1458b1a3936SMatti Vaittinen regulator-uv-error-microvolt = <34000>; 1468b1a3936SMatti Vaittinen regulator-temp-protection-kelvin = <1>; 1478b1a3936SMatti Vaittinen regulator-temp-warn-kelvin = <0>; 1488b1a3936SMatti Vaittinen }; 1498b1a3936SMatti Vaittinen ldo6 { 1508b1a3936SMatti Vaittinen regulator-name = "ldo6"; 1518b1a3936SMatti Vaittinen regulator-min-microvolt = <300000>; 1528b1a3936SMatti Vaittinen regulator-max-microvolt = <3300000>; 1538b1a3936SMatti Vaittinen 1548b1a3936SMatti Vaittinen rohm,initial-voltage-microvolt = <300000>; 1558b1a3936SMatti Vaittinen regulator-ov-error-microvolt = <36000>; 1568b1a3936SMatti Vaittinen regulator-uv-error-microvolt = <34000>; 1578b1a3936SMatti Vaittinen regulator-temp-protection-kelvin = <1>; 1588b1a3936SMatti Vaittinen regulator-temp-warn-kelvin = <0>; 1598b1a3936SMatti Vaittinen }; 1608b1a3936SMatti Vaittinen ldo7 { 1618b1a3936SMatti Vaittinen regulator-name = "ldo7"; 1628b1a3936SMatti Vaittinen regulator-min-microvolt = <300000>; 1638b1a3936SMatti Vaittinen regulator-max-microvolt = <3300000>; 1648b1a3936SMatti Vaittinen 1658b1a3936SMatti Vaittinen rohm,initial-voltage-microvolt = <500000>; 1668b1a3936SMatti Vaittinen regulator-ov-error-microvolt = <36000>; 1678b1a3936SMatti Vaittinen regulator-uv-error-microvolt = <34000>; 1688b1a3936SMatti Vaittinen regulator-temp-protection-kelvin = <1>; 1698b1a3936SMatti Vaittinen regulator-temp-warn-kelvin = <0>; 1708b1a3936SMatti Vaittinen }; 1718b1a3936SMatti Vaittinen }; 1728b1a3936SMatti Vaittinen }; 1738b1a3936SMatti Vaittinen }; 174