cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

rohm,bd71847-pmic.yaml (7344B)


      1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
      2%YAML 1.2
      3---
      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 Circuit bindings
      8
      9maintainers:
     10  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
     11
     12description: |
     13  BD71847AMWV and BD71850MWV are programmable Power Management ICs for powering
     14  single-core,  dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is
     15  optimized for low BOM cost and compact solution footprint. BD71847MWV and
     16  BD71850MWV integrate 6 Buck regulators and 6 LDOs.
     17  Datasheets are available at
     18  https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product
     19  https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-product
     20
     21properties:
     22  compatible:
     23    enum:
     24      - rohm,bd71847
     25      - rohm,bd71850
     26
     27  reg:
     28    description:
     29      I2C slave address.
     30    maxItems: 1
     31
     32  interrupts:
     33    maxItems: 1
     34
     35  clocks:
     36    maxItems: 1
     37
     38  "#clock-cells":
     39    const: 0
     40
     41  clock-output-names:
     42    maxItems: 1
     43
     44# The BD71847 abd BD71850 support two different HW states as reset target
     45# states. States are called as SNVS and READY. At READY state all the PMIC
     46# power outputs go down and OTP is reload. At the SNVS state all other logic
     47# and external devices apart from the SNVS power domain are shut off. Please
     48# refer to NXP i.MX8 documentation for further information regarding SNVS
     49# 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 when
     51# reset has switched power state to SNVS. If reset is done via READY state the
     52# power outputs will be returned to HW control by OTP loading. Thus the reset
     53# target state is set to READY by default. If SNVS state is used the boot
     54# crucial regulators must have the regulator-always-on and regulator-boot-on
     55# properties set in regulator node.
     56
     57  rohm,reset-snvs-powered:
     58    description:
     59      Transfer PMIC to SNVS state at reset.
     60    type: boolean
     61
     62# Configure the "short press" and "long press" timers for the power button.
     63# Values are rounded to what hardware supports
     64# Short-press:
     65#   Shortest being 10ms, next 500ms and then multiple of 500ms up to 7,5s
     66# Long-press:
     67#   Shortest being 10ms, next 1000ms and then multiple of 1000ms up to 15s
     68# If these properties are not present the existing # configuration (from
     69# bootloader or OTP) is not touched.
     70
     71  rohm,short-press-ms:
     72    description:
     73      Short press duration in milliseconds
     74    enum:
     75      - 10
     76      - 500
     77      - 1000
     78      - 1500
     79      - 2000
     80      - 2500
     81      - 3000
     82      - 3500
     83      - 4000
     84      - 4500
     85      - 5000
     86      - 5500
     87      - 6000
     88      - 6500
     89      - 7000
     90      - 7500
     91
     92  rohm,long-press-ms:
     93    description:
     94      Long press duration in milliseconds
     95    enum:
     96      - 10
     97      - 1000
     98      - 2000
     99      - 3000
    100      - 4000
    101      - 5000
    102      - 6000
    103      - 7000
    104      - 8000
    105      - 9000
    106      - 10000
    107      - 11000
    108      - 12000
    109      - 13000
    110      - 14000
    111      - 15000
    112
    113  regulators:
    114    $ref: ../regulator/rohm,bd71847-regulator.yaml
    115    description:
    116      List of child nodes that specify the regulators.
    117
    118required:
    119  - compatible
    120  - reg
    121  - interrupts
    122  - regulators
    123
    124additionalProperties: false
    125
    126dependencies:
    127  '#clock-cells': [clocks]
    128  clocks: ['#clock-cells']
    129
    130examples:
    131  - |
    132    #include <dt-bindings/interrupt-controller/irq.h>
    133    #include <dt-bindings/leds/common.h>
    134
    135    i2c {
    136        #address-cells = <1>;
    137        #size-cells = <0>;
    138        pmic: pmic@4b {
    139            compatible = "rohm,bd71847";
    140            reg = <0x4b>;
    141            interrupt-parent = <&gpio1>;
    142            interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
    143            #clock-cells = <0>;
    144            clocks = <&osc 0>;
    145            rohm,reset-snvs-powered;
    146            rohm,short-press-ms = <10>;
    147            rohm,long-press-ms = <2000>;
    148
    149            regulators {
    150                buck1: BUCK1 {
    151                    regulator-name = "buck1";
    152                    regulator-min-microvolt = <700000>;
    153                    regulator-max-microvolt = <1300000>;
    154                    regulator-boot-on;
    155                    regulator-always-on;
    156                    regulator-ramp-delay = <1250>;
    157                    rohm,dvs-run-voltage = <900000>;
    158                    rohm,dvs-idle-voltage = <850000>;
    159                    rohm,dvs-suspend-voltage = <800000>;
    160                };
    161                buck2: BUCK2 {
    162                    regulator-name = "buck2";
    163                    regulator-min-microvolt = <700000>;
    164                    regulator-max-microvolt = <1300000>;
    165                    regulator-boot-on;
    166                    regulator-always-on;
    167                    regulator-ramp-delay = <1250>;
    168                    rohm,dvs-run-voltage = <1000000>;
    169                    rohm,dvs-idle-voltage = <900000>;
    170                };
    171                buck3: BUCK3 {
    172                    regulator-name = "buck3";
    173                    regulator-min-microvolt = <550000>;
    174                    regulator-max-microvolt = <1350000>;
    175                    regulator-boot-on;
    176                };
    177                buck4: BUCK4 {
    178                    regulator-name = "buck4";
    179                    regulator-min-microvolt = <2600000>;
    180                    regulator-max-microvolt = <3300000>;
    181                    regulator-boot-on;
    182                };
    183                buck5: BUCK5 {
    184                    regulator-name = "buck5";
    185                    regulator-min-microvolt = <1605000>;
    186                    regulator-max-microvolt = <1995000>;
    187                    regulator-boot-on;
    188                };
    189                buck8: BUCK6 {
    190                    regulator-name = "buck6";
    191                    regulator-min-microvolt = <800000>;
    192                    regulator-max-microvolt = <1400000>;
    193                };
    194
    195                ldo1: LDO1 {
    196                    regulator-name = "ldo1";
    197                    regulator-min-microvolt = <1600000>;
    198                    regulator-max-microvolt = <3300000>;
    199                    regulator-boot-on;
    200                };
    201                ldo2: LDO2 {
    202                    regulator-name = "ldo2";
    203                    regulator-min-microvolt = <800000>;
    204                    regulator-max-microvolt = <900000>;
    205                    regulator-boot-on;
    206                };
    207                ldo3: LDO3 {
    208                    regulator-name = "ldo3";
    209                    regulator-min-microvolt = <1800000>;
    210                    regulator-max-microvolt = <3300000>;
    211                };
    212                ldo4: LDO4 {
    213                    regulator-name = "ldo4";
    214                    regulator-min-microvolt = <900000>;
    215                    regulator-max-microvolt = <1800000>;
    216                };
    217                ldo5: LDO5 {
    218                    regulator-name = "ldo5";
    219                    regulator-min-microvolt = <800000>;
    220                    regulator-max-microvolt = <3300000>;
    221                };
    222                ldo6: LDO6 {
    223                    regulator-name = "ldo6";
    224                    regulator-min-microvolt = <900000>;
    225                    regulator-max-microvolt = <1800000>;
    226                };
    227            };
    228        };
    229    };