Documentation / devicetree / bindings / regulator / rohm,bd71847-regulator.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/rohm,bd71847-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ROHM BD71847 and BD71850 Power Management Integrated Circuit regulators

maintainers:
  - Matti Vaittinen <mazziesaccount@gmail.com>

description: |
  List of regulators provided by this controller. BD71847 regulators node
  should be sub node of the BD71847 MFD node. See BD71847 MFD bindings at
  Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
  Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
  definition for each of these nodes is defined using the standard
  binding for regulators at
  Documentation/devicetree/bindings/regulator/regulator.txt.
  Note that if BD71847 starts at RUN state you probably want to use
  regulator-boot-on at least for BUCK5. LDO6 is supplied by it and it must
  not be disabled by driver at startup. If BUCK5 is disabled at startup the
  voltage monitoring for LDO5/LDO6 can cause PMIC to reset.

# The valid names for BD71847 regulator nodes are:
# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6
# LDO1, LDO2, LDO3, LDO4, LDO5, LDO6

patternProperties:
  "^LDO[1-6]$":
    type: object
    $ref: regulator.yaml#
    description:
      Properties for single LDO regulator.

    properties:
      regulator-name:
        pattern: "^ldo[1-6]$"
        description:
          should be "ldo1", ..., "ldo6"

    unevaluatedProperties: false
 
  "^BUCK[1-6]$":
    type: object
    $ref: regulator.yaml#
    description:
      Properties for single BUCK regulator.

    properties:
      regulator-name:
        pattern: "^buck[1-6]$"
        description:
          should be "buck1", ..., "buck6"

      rohm,dvs-run-voltage:
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 1300000
        description:
          PMIC default "RUN" state voltage in uV. See below table for
          bucks which support this. 0 means disabled.

      rohm,dvs-idle-voltage:
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 1300000
        description:
          PMIC default "IDLE" state voltage in uV. See below table for
          bucks which support this. 0 means disabled.

      rohm,dvs-suspend-voltage:
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 1300000
        description:
          PMIC default "SUSPEND" state voltage in uV. See below table for
          bucks which support this. 0 means disabled.
 
        # Supported default DVS states:
        #
        # BD71847:
        # buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
        # ----------------------------------------------------------------
        # 1    | supported       | supported        | supported
        # ----------------------------------------------------------------
        # 2    | supported       | supported        | not supported
        # ----------------------------------------------------------------
        # rest | not supported   | not supported    | not supported
 
      # BD718(47/50) power outputs can either be controlled by the PMIC internal
      # hardware state machine or by software. If you need regulators to be
      # turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles
      # PMIC HW state machine) - then you should set this property.
      # Tradeoff is that then SW can't control the ON/OFF state for this
      # regulator (other than invoking a PMIC state change).
      rohm,no-regulator-enable-control:
        description: |
          Enable/Disable control of this regulator must be left to the
          PMIC hardware state machine.
        type: boolean
 
      # Setups where regulator (especially the buck8) output voltage is scaled
      # by adding external connection where some other regulator output is
      # connected to feedback-pin (over suitable resistors) is getting popular
      # amongst users of BD71837. (This allows for example scaling down the
      # buck8 voltages to suit lover GPU voltages for projects where buck8 is
      # (ab)used to supply power for GPU.
      #
      # So we allow describing this external connection from DT and scale the
      # voltages accordingly. This is what the connection should look like:
      #
      # |---------------|
      # |       buck 8  |-------+----->Vout
      # |               |       |
      # |---------------|       |
      #        |                |
      #        |                |
      #        +-------+--R2----+
      #                |
      #                R1
      #                |
      #        V FB-pull-up
      #
      # Here the buck output is sifted according to formula:
      #
      # Vout_o = Vo - (Vpu - Vo)*R2/R1
      # Linear_step = step_orig*(R1+R2)/R1
      #
      # where:
      # Vout_o is adjusted voltage output at vsel reg value 0
      # Vo is original voltage output at vsel reg value 0
      # Vpu is the pull-up voltage V FB-pull-up in the picture
      # R1 and R2 are resistor values.
 
      rohm,fb-pull-up-microvolt:
        description:
          Feedback-pin has pull-up connection to adjust voltage range. This is
          the used pull-up voltage before R1.
 
      rohm,feedback-pull-up-r1-ohms:
        description:
          Feedback-pin has pull-up connection to adjust voltage range. This is
          the used R1 resistor.
 
      rohm,feedback-pull-up-r2-ohms:
        description:
          Feedback-pin has pull-up connection to adjust voltage range. This is
          the used R2 resistor.

    required:
      - regulator-name

    unevaluatedProperties: false

additionalProperties: false