brintos

brintos / linux-shallow public Read only

0
0
Text · 7.1 KiB · d783cc4 Raw
229 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,bd71847-pmic.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: ROHM BD71847 and BD71850 Power Management Integrated Circuit8 9maintainers:10  - Matti Vaittinen <mazziesaccount@gmail.com>11 12description: |13  BD71847AMWV and BD71850MWV are programmable Power Management ICs for powering14  single-core,  dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is15  optimized for low BOM cost and compact solution footprint. BD71847MWV and16  BD71850MWV integrate 6 Buck regulators and 6 LDOs.17  Datasheets are available at18  https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product19  https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-product20 21properties:22  compatible:23    enum:24      - rohm,bd7184725      - rohm,bd7185026 27  reg:28    description:29      I2C slave address.30    maxItems: 131 32  interrupts:33    maxItems: 134 35  clocks:36    maxItems: 137 38  "#clock-cells":39    const: 040 41  clock-output-names:42    maxItems: 143 44# The BD71847 abd BD71850 support two different HW states as reset target45# states. States are called as SNVS and READY. At READY state all the PMIC46# power outputs go down and OTP is reload. At the SNVS state all other logic47# and external devices apart from the SNVS power domain are shut off. Please48# refer to NXP i.MX8 documentation for further information regarding SNVS49# state. When a reset is done via SNVS state the PMIC OTP data is not reload.50# This causes power outputs that have been under SW control to stay down when51# reset has switched power state to SNVS. If reset is done via READY state the52# power 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 reset.60    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      - 750091 92  rohm,long-press-ms:93    description:94      Long press duration in milliseconds95    enum:96      - 1097      - 100098      - 200099      - 3000100      - 4000101      - 5000102      - 6000103      - 7000104      - 8000105      - 9000106      - 10000107      - 11000108      - 12000109      - 13000110      - 14000111      - 15000112 113  regulators:114    $ref: ../regulator/rohm,bd71847-regulator.yaml115    description:116      List of child nodes that specify the regulators.117 118required:119  - compatible120  - reg121  - interrupts122  - regulators123 124additionalProperties: false125 126dependencies:127  '#clock-cells': [clocks]128  clocks: ['#clock-cells']129 130examples:131  - |132    #include <dt-bindings/interrupt-controller/irq.h>133 134    i2c {135        #address-cells = <1>;136        #size-cells = <0>;137        pmic: pmic@4b {138            compatible = "rohm,bd71847";139            reg = <0x4b>;140            interrupt-parent = <&gpio1>;141            interrupts = <29 IRQ_TYPE_LEVEL_LOW>;142            #clock-cells = <0>;143            clocks = <&osc 0>;144            rohm,reset-snvs-powered;145            rohm,short-press-ms = <10>;146            rohm,long-press-ms = <2000>;147 148            regulators {149                buck1: BUCK1 {150                    regulator-name = "buck1";151                    regulator-min-microvolt = <700000>;152                    regulator-max-microvolt = <1300000>;153                    regulator-boot-on;154                    regulator-always-on;155                    regulator-ramp-delay = <1250>;156                    rohm,dvs-run-voltage = <900000>;157                    rohm,dvs-idle-voltage = <850000>;158                    rohm,dvs-suspend-voltage = <800000>;159                };160                buck2: BUCK2 {161                    regulator-name = "buck2";162                    regulator-min-microvolt = <700000>;163                    regulator-max-microvolt = <1300000>;164                    regulator-boot-on;165                    regulator-always-on;166                    regulator-ramp-delay = <1250>;167                    rohm,dvs-run-voltage = <1000000>;168                    rohm,dvs-idle-voltage = <900000>;169                };170                buck3: BUCK3 {171                    regulator-name = "buck3";172                    regulator-min-microvolt = <550000>;173                    regulator-max-microvolt = <1350000>;174                    regulator-boot-on;175                };176                buck4: BUCK4 {177                    regulator-name = "buck4";178                    regulator-min-microvolt = <2600000>;179                    regulator-max-microvolt = <3300000>;180                    regulator-boot-on;181                };182                buck5: BUCK5 {183                    regulator-name = "buck5";184                    regulator-min-microvolt = <1605000>;185                    regulator-max-microvolt = <1995000>;186                    regulator-boot-on;187                };188                buck8: BUCK6 {189                    regulator-name = "buck6";190                    regulator-min-microvolt = <800000>;191                    regulator-max-microvolt = <1400000>;192                };193 194                ldo1: LDO1 {195                    regulator-name = "ldo1";196                    regulator-min-microvolt = <1600000>;197                    regulator-max-microvolt = <3300000>;198                    regulator-boot-on;199                };200                ldo2: LDO2 {201                    regulator-name = "ldo2";202                    regulator-min-microvolt = <800000>;203                    regulator-max-microvolt = <900000>;204                    regulator-boot-on;205                };206                ldo3: LDO3 {207                    regulator-name = "ldo3";208                    regulator-min-microvolt = <1800000>;209                    regulator-max-microvolt = <3300000>;210                };211                ldo4: LDO4 {212                    regulator-name = "ldo4";213                    regulator-min-microvolt = <900000>;214                    regulator-max-microvolt = <1800000>;215                };216                ldo5: LDO5 {217                    regulator-name = "ldo5";218                    regulator-min-microvolt = <800000>;219                    regulator-max-microvolt = <3300000>;220                };221                ldo6: LDO6 {222                    regulator-name = "ldo6";223                    regulator-min-microvolt = <900000>;224                    regulator-max-microvolt = <1800000>;225                };226            };227        };228    };229