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,bd71837-pmic.yaml (7916B)


      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,bd71837-pmic.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: ROHM BD71837 Power Management Integrated Circuit bindings
      8
      9maintainers:
     10  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.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 low
     15  BOM cost and compact solution footprint. BD71837MWV  integrates 8 Buck
     16  regulators and 7 LDOs.
     17  Datasheet for BD71837 is available at
     18  https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71837amwv-product
     19
     20properties:
     21  compatible:
     22    const: rohm,bd71837
     23
     24  reg:
     25    description:
     26      I2C slave address.
     27    maxItems: 1
     28
     29  interrupts:
     30    maxItems: 1
     31
     32  clocks:
     33    maxItems: 1
     34
     35  clock-names:
     36    const: osc
     37
     38  "#clock-cells":
     39    const: 0
     40
     41  clock-output-names:
     42    const: pmic_clk
     43
     44# The BD718x7 supports two different HW states as reset target states. States
     45# are called as SNVS and READY. At READY state all the PMIC power outputs go
     46# down and OTP is reload. At the SNVS state all other logic and external
     47# devices apart from the SNVS power domain are shut off. Please refer to NXP
     48# i.MX8 documentation for further information regarding SNVS state. When a
     49# reset is done via SNVS state the PMIC OTP data is not reload. This causes
     50# power outputs that have been under SW control to stay down when reset has
     51# switched power state to SNVS. If reset is done via READY state the power
     52# 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
     91  rohm,long-press-ms:
     92    description:
     93      Long press duration in milliseconds
     94    enum:
     95      - 10
     96      - 1000
     97      - 2000
     98      - 3000
     99      - 4000
    100      - 5000
    101      - 6000
    102      - 7000
    103      - 8000
    104      - 9000
    105      - 10000
    106      - 11000
    107      - 12000
    108      - 13000
    109      - 14000
    110
    111  regulators:
    112    $ref: ../regulator/rohm,bd71837-regulator.yaml
    113    description:
    114      List of child nodes that specify the regulators.
    115
    116required:
    117  - compatible
    118  - reg
    119  - interrupts
    120  - clocks
    121  - "#clock-cells"
    122  - regulators
    123
    124additionalProperties: false
    125
    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    };