summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/iio/pressure/honeywell,hsc030pa.yaml
blob: 89977b9f01cfe1ef4dade090793d7058143130e6 (plain)
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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/pressure/honeywell,hsc030pa.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Honeywell TruStability HSC and SSC pressure sensor series

description: |
  support for Honeywell TruStability HSC and SSC digital pressure sensor
  series.

  These sensors have either an I2C, an SPI or an analog interface. Only the
  digital versions are supported by this driver.

  There are 118 models with different pressure ranges available in each family.
  The vendor calls them "HSC series" and "SSC series". All of them have an
  identical programming model but differ in pressure range, unit and transfer
  function.

  To support different models one needs to specify the pressure range as well
  as the transfer function. Pressure range can either be provided via
  pressure-triplet (directly extracted from the part number) or in case it's
  a custom chip via numerical range limits converted to pascals.

  The transfer function defines the ranges of raw conversion values delivered
  by the sensor. pmin-pascal and pmax-pascal corespond to the minimum and
  maximum pressure that can be measured.

  Please note that in case of an SPI-based sensor, the clock signal should not
  exceed 800kHz and the MOSI signal is not required.

  Specifications about the devices can be found at:
  https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/trustability-hsc-series/documents/sps-siot-trustability-hsc-series-high-accuracy-board-mount-pressure-sensors-50099148-a-en-ciid-151133.pdf
  https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/trustability-ssc-series/documents/sps-siot-trustability-ssc-series-standard-accuracy-board-mount-pressure-sensors-50099533-a-en-ciid-151134.pdf

maintainers:
  - Petre Rodan <petre.rodan@subdimension.ro>

properties:
  compatible:
    const: honeywell,hsc030pa

  reg:
    maxItems: 1

  honeywell,transfer-function:
    description: |
      Transfer function which defines the range of valid values delivered by
      the sensor.
      0 - A, 10% to 90% of 2^14
      1 - B, 5% to 95% of 2^14
      2 - C, 5% to 85% of 2^14
      3 - F, 4% to 94% of 2^14
    enum: [0, 1, 2, 3]
    $ref: /schemas/types.yaml#/definitions/uint32

  honeywell,pressure-triplet:
    description: |
      Case-sensitive five character string that defines pressure range, unit
      and type as part of the device nomenclature. In the unlikely case of a
      custom chip, set to "NA" and provide pmin-pascal and pmax-pascal.
    enum: [001BA, 1.6BA, 2.5BA, 004BA, 006BA, 010BA, 1.6MD, 2.5MD, 004MD,
           006MD, 010MD, 016MD, 025MD, 040MD, 060MD, 100MD, 160MD, 250MD,
           400MD, 600MD, 001BD, 1.6BD, 2.5BD, 004BD, 2.5MG, 004MG, 006MG,
           010MG, 016MG, 025MG, 040MG, 060MG, 100MG, 160MG, 250MG, 400MG,
           600MG, 001BG, 1.6BG, 2.5BG, 004BG, 006BG, 010BG, 100KA, 160KA,
           250KA, 400KA, 600KA, 001GA, 160LD, 250LD, 400LD, 600LD, 001KD,
           1.6KD, 2.5KD, 004KD, 006KD, 010KD, 016KD, 025KD, 040KD, 060KD,
           100KD, 160KD, 250KD, 400KD, 250LG, 400LG, 600LG, 001KG, 1.6KG,
           2.5KG, 004KG, 006KG, 010KG, 016KG, 025KG, 040KG, 060KG, 100KG,
           160KG, 250KG, 400KG, 600KG, 001GG, 015PA, 030PA, 060PA, 100PA,
           150PA, 0.5ND, 001ND, 002ND, 004ND, 005ND, 010ND, 020ND, 030ND,
           001PD, 005PD, 015PD, 030PD, 060PD, 001NG, 002NG, 004NG, 005NG,
           010NG, 020NG, 030NG, 001PG, 005PG, 015PG, 030PG, 060PG, 100PG,
           150PG, NA]
    $ref: /schemas/types.yaml#/definitions/string

  honeywell,pmin-pascal:
    description: |
      Minimum pressure value the sensor can measure in pascal.
      To be specified only if honeywell,pressure-triplet is set to "NA".

  honeywell,pmax-pascal:
    description: |
      Maximum pressure value the sensor can measure in pascal.
      To be specified only if honeywell,pressure-triplet is set to "NA".

  vdd-supply:
    description:
      Provide VDD power to the sensor (either 3.3V or 5V depending on the chip)

  spi-max-frequency:
    maximum: 800000

required:
  - compatible
  - reg
  - honeywell,transfer-function
  - honeywell,pressure-triplet

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml

additionalProperties: false

dependentSchemas:
  honeywell,pmin-pascal:
    properties:
      honeywell,pressure-triplet:
        const: NA
  honeywell,pmax-pascal:
    properties:
      honeywell,pressure-triplet:
        const: NA

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        pressure@28 {
            compatible = "honeywell,hsc030pa";
            reg = <0x28>;
            honeywell,transfer-function = <0>;
            honeywell,pressure-triplet = "030PA";
        };
    };
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        pressure@0 {
            compatible = "honeywell,hsc030pa";
            reg = <0>;
            spi-max-frequency = <800000>;
            honeywell,transfer-function = <0>;
            honeywell,pressure-triplet = "NA";
            honeywell,pmin-pascal = <0>;
            honeywell,pmax-pascal = <200000>;
        };
    };
...