245 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 Circuit8 9maintainers:10 - Matti Vaittinen <mazziesaccount@gmail.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 low15 BOM cost and compact solution footprint. BD71837MWV integrates 8 Buck16 regulators and 7 LDOs.17 Datasheet for BD71837 is available at18 https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71837amwv-product19 20properties:21 compatible:22 const: rohm,bd7183723 24 reg:25 description:26 I2C slave address.27 maxItems: 128 29 interrupts:30 maxItems: 131 32 clocks:33 maxItems: 134 35 clock-names:36 const: osc37 38 "#clock-cells":39 const: 040 41 clock-output-names:42 const: pmic_clk43 44# The BD718x7 supports two different HW states as reset target states. States45# are called as SNVS and READY. At READY state all the PMIC power outputs go46# down and OTP is reload. At the SNVS state all other logic and external47# devices apart from the SNVS power domain are shut off. Please refer to NXP48# i.MX8 documentation for further information regarding SNVS state. When a49# reset is done via SNVS state the PMIC OTP data is not reload. This causes50# power outputs that have been under SW control to stay down when reset has51# switched power state to SNVS. If reset is done via READY state the power52# outputs will be returned to HW control by OTP loading. Thus the reset53# target state is set to READY by default. If SNVS state is used the boot54# crucial regulators must have the regulator-always-on and regulator-boot-on55# properties set in regulator node.56 57 rohm,reset-snvs-powered:58 description: |59 Transfer PMIC to SNVS state at reset60 type: boolean61 62# Configure the "short press" and "long press" timers for the power button.63# Values are rounded to what hardware supports64# Short-press:65# Shortest being 10ms, next 500ms and then multiple of 500ms up to 7,5s66# Long-press:67# Shortest being 10ms, next 1000ms and then multiple of 1000ms up to 15s68# If these properties are not present the existing configuration (from69# bootloader or OTP) is not touched.70 71 rohm,short-press-ms:72 description:73 Short press duration in milliseconds74 enum:75 - 1076 - 50077 - 100078 - 150079 - 200080 - 250081 - 300082 - 350083 - 400084 - 450085 - 500086 - 550087 - 600088 - 650089 - 700090 91 rohm,long-press-ms:92 description:93 Long press duration in milliseconds94 enum:95 - 1096 - 100097 - 200098 - 300099 - 4000100 - 5000101 - 6000102 - 7000103 - 8000104 - 9000105 - 10000106 - 11000107 - 12000108 - 13000109 - 14000110 111 regulators:112 $ref: /schemas/regulator/rohm,bd71837-regulator.yaml113 description:114 List of child nodes that specify the regulators.115 116required:117 - compatible118 - reg119 - interrupts120 - clocks121 - "#clock-cells"122 - regulators123 124additionalProperties: false125 126examples:127 - |128 #include <dt-bindings/interrupt-controller/irq.h>129 #include <dt-bindings/leds/common.h>130 131 i2c {132 #address-cells = <1>;133 #size-cells = <0>;134 pmic: pmic@4b {135 compatible = "rohm,bd71837";136 reg = <0x4b>;137 interrupt-parent = <&gpio1>;138 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;139 #clock-cells = <0>;140 clocks = <&osc 0>;141 rohm,reset-snvs-powered;142 rohm,short-press-ms = <10>;143 rohm,long-press-ms = <2000>;144 145 regulators {146 buck1: BUCK1 {147 regulator-name = "buck1";148 regulator-min-microvolt = <700000>;149 regulator-max-microvolt = <1300000>;150 regulator-boot-on;151 regulator-always-on;152 regulator-ramp-delay = <1250>;153 rohm,dvs-run-voltage = <900000>;154 rohm,dvs-idle-voltage = <850000>;155 rohm,dvs-suspend-voltage = <800000>;156 };157 buck2: BUCK2 {158 regulator-name = "buck2";159 regulator-min-microvolt = <700000>;160 regulator-max-microvolt = <1300000>;161 regulator-boot-on;162 regulator-always-on;163 regulator-ramp-delay = <1250>;164 rohm,dvs-run-voltage = <1000000>;165 rohm,dvs-idle-voltage = <900000>;166 };167 buck3: BUCK3 {168 regulator-name = "buck3";169 regulator-min-microvolt = <700000>;170 regulator-max-microvolt = <1300000>;171 regulator-boot-on;172 rohm,dvs-run-voltage = <1000000>;173 };174 buck4: BUCK4 {175 regulator-name = "buck4";176 regulator-min-microvolt = <700000>;177 regulator-max-microvolt = <1300000>;178 regulator-boot-on;179 rohm,dvs-run-voltage = <1000000>;180 };181 buck5: BUCK5 {182 regulator-name = "buck5";183 regulator-min-microvolt = <700000>;184 regulator-max-microvolt = <1350000>;185 regulator-boot-on;186 };187 buck6: BUCK6 {188 regulator-name = "buck6";189 regulator-min-microvolt = <3000000>;190 regulator-max-microvolt = <3300000>;191 regulator-boot-on;192 };193 buck7: BUCK7 {194 regulator-name = "buck7";195 regulator-min-microvolt = <1605000>;196 regulator-max-microvolt = <1995000>;197 regulator-boot-on;198 };199 buck8: BUCK8 {200 regulator-name = "buck8";201 regulator-min-microvolt = <800000>;202 regulator-max-microvolt = <1400000>;203 };204 205 ldo1: LDO1 {206 regulator-name = "ldo1";207 regulator-min-microvolt = <3000000>;208 regulator-max-microvolt = <3300000>;209 regulator-boot-on;210 };211 ldo2: LDO2 {212 regulator-name = "ldo2";213 regulator-min-microvolt = <900000>;214 regulator-max-microvolt = <900000>;215 regulator-boot-on;216 };217 ldo3: LDO3 {218 regulator-name = "ldo3";219 regulator-min-microvolt = <1800000>;220 regulator-max-microvolt = <3300000>;221 };222 ldo4: LDO4 {223 regulator-name = "ldo4";224 regulator-min-microvolt = <900000>;225 regulator-max-microvolt = <1800000>;226 };227 ldo5: LDO5 {228 regulator-name = "ldo5";229 regulator-min-microvolt = <1800000>;230 regulator-max-microvolt = <3300000>;231 };232 ldo6: LDO6 {233 regulator-name = "ldo6";234 regulator-min-microvolt = <900000>;235 regulator-max-microvolt = <1800000>;236 };237 ldo7_reg: LDO7 {238 regulator-name = "ldo7";239 regulator-min-microvolt = <1800000>;240 regulator-max-microvolt = <3300000>;241 };242 };243 };244 };245