The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/regulator/rohm,bd71837-regulator.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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 
    7 title: ROHM BD71837 Power Management Integrated Circuit regulators
    8 
    9 maintainers:
   10   - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
   11 
   12 description: |
   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 
   30 patternProperties:
   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 
  161 additionalProperties: false

Cache object: 7c978637153f3500e1bcf5a7d2dfbfc2


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.