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-regulator.yaml (6094B)


      1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/regulator/rohm,bd71837-regulator.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: ROHM BD71837 Power Management Integrated Circuit regulators
      8
      9maintainers:
     10  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
     11
     12description: |
     13  List of regulators provided by this controller. BD71837 regulators node
     14  should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at
     15  Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
     16  Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
     17  definition for each of these nodes is defined using the standard
     18  binding for regulators at
     19  Documentation/devicetree/bindings/regulator/regulator.txt.
     20  Note that if BD71837 starts at RUN state you probably want to use
     21  regulator-boot-on at least for BUCK6 and BUCK7 so that those are not
     22  disabled by driver at startup. LDO5 and LDO6 are supplied by those and
     23  if they are disabled at startup the voltage monitoring for LDO5/LDO6 will
     24  cause PMIC to reset.
     25
     26#The valid names for BD71837 regulator nodes are:
     27#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8
     28#LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7
     29
     30patternProperties:
     31  "^LDO[1-7]$":
     32    type: object
     33    $ref: regulator.yaml#
     34    description:
     35      Properties for single LDO regulator.
     36
     37    properties:
     38      regulator-name:
     39        pattern: "^ldo[1-7]$"
     40        description:
     41          should be "ldo1", ..., "ldo7"
     42
     43    unevaluatedProperties: false
     44
     45  "^BUCK[1-8]$":
     46    type: object
     47    $ref: regulator.yaml#
     48    description:
     49      Properties for single BUCK regulator.
     50
     51    properties:
     52      regulator-name:
     53        pattern: "^buck[1-8]$"
     54        description:
     55          should be "buck1", ..., "buck8"
     56
     57      rohm,dvs-run-voltage:
     58        $ref: "/schemas/types.yaml#/definitions/uint32"
     59        minimum: 0
     60        maximum: 1300000
     61        description:
     62          PMIC default "RUN" state voltage in uV. See below table for
     63          bucks which support this. 0 means disabled.
     64
     65      rohm,dvs-idle-voltage:
     66        $ref: "/schemas/types.yaml#/definitions/uint32"
     67        minimum: 0
     68        maximum: 1300000
     69        description:
     70          PMIC default "IDLE" state voltage in uV. See below table for
     71          bucks which support this. 0 means disabled.
     72
     73      rohm,dvs-suspend-voltage:
     74        $ref: "/schemas/types.yaml#/definitions/uint32"
     75        minimum: 0
     76        maximum: 1300000
     77        description:
     78          PMIC default "SUSPEND" state voltage in uV. See below table for
     79          bucks which support this. 0 means disabled.
     80
     81        # Supported default DVS states:
     82        #
     83        # BD71837:
     84        # buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
     85        # ----------------------------------------------------------------
     86        # 1    | supported       | supported        | supported
     87        # ----------------------------------------------------------------
     88        # 2    | supported       | supported        | not supported
     89        # ----------------------------------------------------------------
     90        # 3    | supported       | not supported    | not supported
     91        # ----------------------------------------------------------------
     92        # 4    | supported       | not supported    | not supported
     93        # ----------------------------------------------------------------
     94        # rest | not supported   | not supported    | not supported
     95
     96      # BD71837 power outputs can either be controlled by the PMIC internal
     97      # hardware state machine or by software. If you need regulators to be
     98      # turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles
     99      # PMIC HW state machine) - then you should set this property.
    100      # Tradeoff is that then SW can't control the ON/OFF state for this
    101      # regulator (other than invoking a PMIC state change).
    102      rohm,no-regulator-enable-control:
    103        description: |
    104          Enable/Disable control of this regulator must be left to the
    105          PMIC hardware state machine.
    106        type: boolean
    107
    108      # Setups where regulator (especially the buck8) output voltage is scaled
    109      # by adding external connection where some other regulator output is
    110      # connected to feedback-pin (over suitable resistors) is getting popular
    111      # amongst users of BD71837. (This allows for example scaling down the
    112      # buck8 voltages to suit lover GPU voltages for projects where buck8 is
    113      # (ab)used to supply power for GPU.
    114      #
    115      # So we allow describing this external connection from DT and scale the
    116      # voltages accordingly. This is what the connection should look like:
    117      #
    118      # |---------------|
    119      # |       buck 8  |-------+----->Vout
    120      # |               |       |
    121      # |---------------|       |
    122      #        |                |
    123      #        |                |
    124      #        +-------+--R2----+
    125      #                |
    126      #                R1
    127      #                |
    128      #        V FB-pull-up
    129      #
    130      # Here the buck output is sifted according to formula:
    131      #
    132      # Vout_o = Vo - (Vpu - Vo)*R2/R1
    133      # Linear_step = step_orig*(R1+R2)/R1
    134      #
    135      # where:
    136      # Vout_o is adjusted voltage output at vsel reg value 0
    137      # Vo is original voltage output at vsel reg value 0
    138      # Vpu is the pull-up voltage V FB-pull-up in the picture
    139      # R1 and R2 are resistor values.
    140
    141      rohm,fb-pull-up-microvolt:
    142        description:
    143          Feedback-pin has pull-up connection to adjust voltage range. This is
    144          the used pull-up voltage before R1.
    145
    146      rohm,feedback-pull-up-r1-ohms:
    147        description:
    148          Feedback-pin has pull-up connection to adjust voltage range. This is
    149          the used R1 resistor.
    150
    151      rohm,feedback-pull-up-r2-ohms:
    152        description:
    153          Feedback-pin has pull-up connection to adjust voltage range. This is
    154          the used R2 resistor.
    155
    156    required:
    157      - regulator-name
    158
    159    unevaluatedProperties: false
    160
    161additionalProperties: false