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/iio/adc/qcom,spmi-vadc.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
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/iio/adc/qcom,spmi-vadc.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Qualcomm's SPMI PMIC ADC
    8 
    9 maintainers:
   10   - Andy Gross <agross@kernel.org>
   11   - Bjorn Andersson <bjorn.andersson@linaro.org>
   12 
   13 description: |
   14   SPMI PMIC voltage ADC (VADC) provides interface to clients to read
   15   voltage. The VADC is a 15-bit sigma-delta ADC.
   16   SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read
   17   voltage. The VADC is a 16-bit sigma-delta ADC.
   18 
   19 properties:
   20   compatible:
   21     oneOf:
   22       - items:
   23           - const: qcom,pms405-adc
   24           - const: qcom,spmi-adc-rev2
   25 
   26       - items:
   27           - enum:
   28               - qcom,spmi-vadc
   29               - qcom,spmi-adc5
   30               - qcom,spmi-adc-rev2
   31               - qcom,spmi-adc7
   32 
   33   reg:
   34     description: VADC base address in the SPMI PMIC register map
   35     maxItems: 1
   36 
   37   '#address-cells':
   38     const: 1
   39 
   40   '#size-cells':
   41     const: 0
   42 
   43   '#io-channel-cells':
   44     const: 1
   45 
   46   interrupts:
   47     maxItems: 1
   48     description:
   49       End of conversion interrupt.
   50 
   51 required:
   52   - compatible
   53   - reg
   54   - '#address-cells'
   55   - '#size-cells'
   56   - '#io-channel-cells'
   57 
   58 patternProperties:
   59   "^.*@[0-9a-f]+$":
   60     type: object
   61     description: |
   62       Represents the external channels which are connected to the ADC.
   63       For compatible property "qcom,spmi-vadc" following channels, also known as
   64       reference point channels, are used for result calibration and their channel
   65       configuration nodes should be defined:
   66       VADC_REF_625MV and/or VADC_SPARE1(based on PMIC version) VADC_REF_1250MV,
   67       VADC_GND_REF and VADC_VDD_VADC.
   68 
   69     properties:
   70       reg:
   71         maxItems: 1
   72         description: |
   73           ADC channel number.
   74           See include/dt-bindings/iio/qcom,spmi-vadc.h
   75           For PMIC7 ADC, the channel numbers are specified separately per PMIC
   76           in the PMIC-specific files in include/dt-bindings/iio/.
   77 
   78       label:
   79         $ref: /schemas/types.yaml#/definitions/string
   80         description: |
   81             ADC input of the platform as seen in the schematics.
   82             For thermistor inputs connected to generic AMUX or GPIO inputs
   83             these can vary across platform for the same pins. Hence select
   84             the platform schematics name for this channel.
   85 
   86       qcom,decimation:
   87         $ref: /schemas/types.yaml#/definitions/uint32
   88         description: |
   89             This parameter is used to decrease ADC sampling rate.
   90             Quicker measurements can be made by reducing decimation ratio.
   91 
   92       qcom,pre-scaling:
   93         description: |
   94             Used for scaling the channel input signal before the signal is
   95             fed to VADC. The configuration for this node is to know the
   96             pre-determined ratio and use it for post scaling. It is a pair of
   97             integers, denoting the numerator and denominator of the fraction by which
   98             input signal is multiplied. For example, <1 3> indicates the signal is scaled
   99             down to 1/3 of its value before ADC measurement.
  100             If property is not found default value depending on chip will be used.
  101         $ref: /schemas/types.yaml#/definitions/uint32-array
  102         oneOf:
  103           - items:
  104               - const: 1
  105               - enum: [ 1, 3, 4, 6, 20, 8, 10 ]
  106           - items:
  107               - const: 10
  108               - const: 81
  109 
  110       qcom,ratiometric:
  111         description: |
  112             Channel calibration type.
  113             - For compatible property "qcom,spmi-vadc", if this property is
  114               specified VADC will use the VDD reference (1.8V) and GND for
  115               channel calibration. If property is not found, channel will be
  116               calibrated with 0.625V and 1.25V reference channels, also
  117               known as absolute calibration.
  118             - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" and
  119               "qcom,spmi-adc-rev2", if this property is specified VADC will use
  120               the VDD reference (1.875V) and GND for channel calibration. If
  121               property is not found, channel will be calibrated with 0V and 1.25V
  122               reference channels, also known as absolute calibration.
  123         type: boolean
  124 
  125       qcom,hw-settle-time:
  126         $ref: /schemas/types.yaml#/definitions/uint32
  127         description: |
  128             Time between AMUX getting configured and the ADC starting
  129             conversion. The 'hw_settle_time' is an index used from valid values
  130             and programmed in hardware to achieve the hardware settling delay.
  131 
  132       qcom,avg-samples:
  133         $ref: /schemas/types.yaml#/definitions/uint32
  134         description: |
  135             Number of samples to be used for measurement.
  136             Averaging provides the option to obtain a single measurement
  137             from the ADC that is an average of multiple samples. The value
  138             selected is 2^(value).
  139 
  140     required:
  141       - reg
  142 
  143 allOf:
  144   - if:
  145       properties:
  146         compatible:
  147           contains:
  148             const: qcom,spmi-vadc
  149 
  150     then:
  151       patternProperties:
  152         "^.*@[0-9a-f]+$":
  153           properties:
  154             qcom,decimation:
  155               enum: [ 512, 1024, 2048, 4096 ]
  156               default: 512
  157 
  158             qcom,hw-settle-time:
  159               enum: [ 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
  160                       4, 6, 8, 10 ]
  161               default: 0
  162 
  163             qcom,avg-samples:
  164               enum: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ]
  165               default: 1
  166 
  167   - if:
  168       properties:
  169         compatible:
  170           contains:
  171             const: qcom,spmi-adc-rev2
  172 
  173     then:
  174       patternProperties:
  175         "^.*@[0-9a-f]+$":
  176           properties:
  177             qcom,decimation:
  178               enum: [ 256, 512, 1024 ]
  179               default: 1024
  180 
  181             qcom,hw-settle-time:
  182               enum: [ 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
  183                       4, 6, 8, 10 ]
  184               default: 0
  185 
  186             qcom,avg-samples:
  187               enum: [ 1, 2, 4, 8, 16 ]
  188               default: 1
  189 
  190   - if:
  191       properties:
  192         compatible:
  193           contains:
  194             const: qcom,spmi-adc5
  195 
  196     then:
  197       patternProperties:
  198         "^.*@[0-9a-f]+$":
  199           properties:
  200             qcom,decimation:
  201               enum: [ 250, 420, 840 ]
  202               default: 840
  203 
  204             qcom,hw-settle-time:
  205               enum: [ 15, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
  206                       4, 6, 8, 10, 16, 32, 64, 128 ]
  207               default: 15
  208 
  209             qcom,avg-samples:
  210               enum: [ 1, 2, 4, 8, 16 ]
  211               default: 1
  212 
  213   - if:
  214       properties:
  215         compatible:
  216           contains:
  217             const: qcom,spmi-adc7
  218 
  219     then:
  220       patternProperties:
  221         "^.*@[0-9a-f]+$":
  222           properties:
  223             qcom,decimation:
  224               enum: [ 85, 340, 1360 ]
  225               default: 1360
  226 
  227             qcom,hw-settle-time:
  228               enum: [ 15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, 4000,
  229                       8000, 16000, 32000, 64000, 128000 ]
  230               default: 15
  231 
  232             qcom,avg-samples:
  233               enum: [ 1, 2, 4, 8, 16 ]
  234               default: 1
  235 
  236 additionalProperties: false
  237 
  238 examples:
  239   - |
  240     spmi_bus {
  241       #address-cells = <1>;
  242       #size-cells = <0>;
  243       /* VADC node */
  244       pmic_vadc: adc@3100 {
  245         compatible = "qcom,spmi-vadc";
  246         reg = <0x3100>;
  247         interrupts = <0x0 0x31 0x0 0x1>;
  248         #address-cells = <1>;
  249         #size-cells = <0>;
  250         #io-channel-cells = <1>;
  251 
  252         /* Channel node */
  253         adc-chan@39 {
  254           reg = <0x39>;
  255           qcom,decimation = <512>;
  256           qcom,ratiometric;
  257           qcom,hw-settle-time = <200>;
  258           qcom,avg-samples = <1>;
  259           qcom,pre-scaling = <1 3>;
  260         };
  261 
  262         adc-chan@9 {
  263           reg = <0x9>;
  264         };
  265 
  266         adc-chan@a {
  267           reg = <0xa>;
  268         };
  269 
  270         adc-chan@e {
  271           reg = <0xe>;
  272         };
  273 
  274         adc-chan@f {
  275           reg = <0xf>;
  276         };
  277       };
  278     };

Cache object: cda04f860ce0556051baa7afeb8c553a


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