brintos

brintos / linux-shallow public Read only

0
0
Text · 7.7 KiB · 08f958d Raw
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