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/pwm-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
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/regulator/pwm-regulator.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Bindings for the Generic PWM Regulator
    8 
    9 maintainers:
   10   - Brian Norris <briannorris@chromium.org>
   11   - Lee Jones <lee@kernel.org>
   12   - Alexandre Courbot <acourbot@nvidia.com>
   13 
   14 description: |
   15   Currently supports 2 modes of operation:
   16 
   17   Voltage Table:
   18     When in this mode, a voltage table (See below) of predefined voltage <=>
   19     duty-cycle values must be provided via DT. Limitations are that the
   20     regulator can only operate at the voltages supplied in the table.
   21     Intermediary duty-cycle values which would normally allow finer grained
   22     voltage selection are ignored and rendered useless.  Although more control
   23     is given to the user if the assumptions made in continuous-voltage mode do
   24     not reign true.
   25 
   26   Continuous Voltage:
   27     This mode uses the regulator's maximum and minimum supplied voltages
   28     specified in the regulator-{min,max}-microvolt properties to calculate
   29     appropriate duty-cycle values.  This allows for a much more fine grained
   30     solution when compared with voltage-table mode above.  This solution does
   31     make an assumption that a %50 duty-cycle value will cause the regulator
   32     voltage to run at half way between the supplied max_uV and min_uV values.
   33 
   34   If voltage-table is provided, then the device will be used in Voltage Table
   35   Mode.  If no voltage-table is provided, then the device will be used in
   36   Continuous Voltage Mode.
   37 
   38 allOf:
   39   - $ref: regulator.yaml#
   40 
   41 properties:
   42   compatible:
   43     const: pwm-regulator
   44 
   45   pwms:
   46     maxItems: 1
   47 
   48   voltage-table:
   49     description: Voltage and Duty-Cycle table.
   50     $ref: /schemas/types.yaml#/definitions/uint32-matrix
   51     items:
   52       items:
   53         - description: voltage in microvolts (uV)
   54         - description: duty-cycle in percent (%)
   55 
   56   enable-gpios:
   57     description: Regulator enable GPIO
   58     maxItems: 1
   59 
   60    # Optional properties for Continuous mode:
   61   pwm-dutycycle-unit:
   62     description:
   63       Integer value encoding the duty cycle unit. If not
   64         defined, <100> is assumed, meaning that
   65         pwm-dutycycle-range contains values expressed in
   66         percent.
   67     default: 100
   68 
   69   pwm-dutycycle-range:
   70     description:
   71       Should contain 2 entries. The first entry is encoding
   72         the dutycycle for regulator-min-microvolt and the
   73         second one the dutycycle for regulator-max-microvolt.
   74         Duty cycle values are expressed in pwm-dutycycle-unit.
   75         If not defined, <0 100> is assumed.
   76     $ref: /schemas/types.yaml#/definitions/uint32-array
   77     items:
   78       - description: the dutycycle for regulator-min-microvolt
   79       - description: the dutycycle for regulator-max-microvolt
   80     default: [ 0 100 ]
   81 
   82 required:
   83   - compatible
   84   - pwms
   85 
   86 unevaluatedProperties: false
   87 
   88 examples:
   89   - |
   90     #include <dt-bindings/gpio/gpio.h>
   91 
   92     // Continuous Voltage With Enable GPIO Example:
   93     regulator {
   94         compatible = "pwm-regulator";
   95         pwms = <&pwm1 0 8448 0>;
   96         enable-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
   97         regulator-min-microvolt = <1016000>;
   98         regulator-max-microvolt = <1114000>;
   99         regulator-name = "vdd_logic";
  100         /* unit == per-mille */
  101         pwm-dutycycle-unit = <1000>;
  102         /*
  103         * Inverted PWM logic, and the duty cycle range is limited
  104         * to 30%-70%.
  105         */
  106         pwm-dutycycle-range = <700 300>; /* */
  107     };
  108 
  109   - |
  110     // Voltage Table Example:
  111     regulator {
  112         compatible = "pwm-regulator";
  113         pwms = <&pwm1 0 8448 0>;
  114         regulator-min-microvolt = <1016000>;
  115         regulator-max-microvolt = <1114000>;
  116         regulator-name = "vdd_logic";
  117 
  118                 /* Voltage Duty-Cycle */
  119         voltage-table = <1114000 0>,
  120             <1095000 10>,
  121             <1076000 20>,
  122             <1056000 30>,
  123             <1036000 40>,
  124             <1016000 50>;
  125     };
  126 ...

Cache object: 011af8d3669330b5b17554541fcb6cde


[ 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.