# Copyright (c) 2020 Facebook, Inc. and its affiliates
# SPDX-License-Identifier: Apache-2.0

# Common fields for BMP388

include: sensor-device.yaml

properties:
    int-gpios:
      type: phandle-array

    odr:
      type: string
      description: |
        Default output data rate in Hz. Only the following values are allowed:
          200   - 200     - 5ms  (default; chip reset value)
          100   - 100     - 10ms
          50    - 50      - 20ms
          25    - 25      - 40ms
          12.5  - 25/2    - 80ms
          6.25  - 25/4    - 160ms
          3.125 - 25/8    - 320ms
          1.563 - 25/16   - 640ms
          .781  - 25/32   - 1.28s
          .391  - 25/64   - 2.56s
          .195  - 25/128  - 5.12s
          .098  - 25/256  - 10.24s
          .049  - 25/512  - 20.48s
          .024  - 25/1024 - 40.96s
          .012  - 25/2048 - 81.92s
          .006  - 25/4096 - 163.84s
          .003  - 25/8192 - 327.68s
      default: "200"
      enum:
        - "200"
        - "100"
        - "50"
        - "25"
        - "12.5"
        - "6.25"
        - "3.125"
        - "1.563"
        - ".781"
        - ".391"
        - ".195"
        - ".098"
        - ".049"
        - ".024"
        - ".012"
        - ".006"
        - ".003"

    osr-press:
      type: int
      description: |
        Default pressure oversampling rate. Only the following values are
        allowed:
          1 sample, 16-bit, 2.64 Pa
          2 samples, 17-bit, 1.32 Pa
          4 samples, 18-bit, 0.66 Pa (default; chip reset value)
          8 samples, 19-bit, 0.33 Pa
          16 samples, 20-bit, 0.17 Pa
          32 Samples, 21-bit, 0.085 Pa
      default: 4
      enum:
        - 1
        - 2
        - 4
        - 8
        - 16
        - 32

    osr-temp:
      type: int
      description: |
        Default temperature oversampling rate. Only the following values are
        allowed:
          1 sample, 16-bit, .0050 C (default; chip reset value)
          2 samples, 17-bit, .0025 C
          4 samples, 18-bit, .0012 C
          8 samples, 19-bit, .0006 C
          16 samples, 20-bit, .0003 C
          32 Samples, 21-bit, .00015 C
      default: 1
      enum:
        - 1
        - 2
        - 4
        - 8
        - 16
        - 32

    iir-filter:
      type: int
      description: |
        Default IIR filter coefficient. The default 0 is the chip reset value.
      default: 0
      enum:
        - 0
        - 1
        - 3
        - 7
        - 15
        - 31
        - 63
        - 127
