| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/proximity/semtech,sx9324.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Semtech's SX9324 capacitive proximity sensor |
| |
| maintainers: |
| - Gwendal Grignou <gwendal@chromium.org> |
| - Daniel Campello <campello@chromium.org> |
| |
| description: | |
| Semtech's SX9324 proximity sensor. |
| |
| properties: |
| compatible: |
| const: semtech,sx9324 |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| description: |
| Generated by device to announce preceding read request has finished |
| and data is available or that a close/far proximity event has happened. |
| maxItems: 1 |
| |
| vdd-supply: |
| description: Main power supply |
| |
| svdd-supply: |
| description: Host interface power supply |
| |
| "#io-channel-cells": |
| const: 1 |
| |
| semtech,ph0-pin: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: | |
| Array of 3 entries. Index represent the id of the CS pin. |
| Value indicates how each CS pin is used during phase 0. |
| Each of the 3 pins have the following value - |
| 0 : unused (high impedance) |
| 1 : measured input |
| 2 : dynamic shield |
| 3 : grounded. |
| For instance, CS0 measured, CS1 shield and CS2 ground is [1, 2, 3] |
| items: |
| enum: [ 0, 1, 2, 3 ] |
| minItems: 3 |
| maxItems: 3 |
| |
| semtech,ph1-pin: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: Same as ph0-pin for phase 1. |
| items: |
| enum: [ 0, 1, 2, 3 ] |
| minItems: 3 |
| maxItems: 3 |
| |
| semtech,ph2-pin: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: Same as ph0-pin for phase 2. |
| items: |
| enum: [ 0, 1, 2, 3 ] |
| minItems: 3 |
| maxItems: 3 |
| |
| semtech,ph3-pin: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: Same as ph0-pin for phase 3. |
| items: |
| enum: [ 0, 1, 2, 3 ] |
| minItems: 3 |
| maxItems: 3 |
| |
| |
| semtech,ph01-resolution: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [8, 16, 32, 64, 128, 256, 512, 1024] |
| description: |
| Capacitance measurement resolution. For phase 0 and 1. |
| Higher the number, higher the resolution. |
| default: 128 |
| |
| semtech,ph23-resolution: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [8, 16, 32, 64, 128, 256, 512, 1024] |
| description: |
| Capacitance measurement resolution. For phase 2 and 3 |
| default: 128 |
| |
| semtech,startup-sensor: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 1, 2, 3] |
| default: 0 |
| description: | |
| Phase used for start-up proximity detection. |
| It is used when we enable a phase to remove static offset and measure |
| only capacitance changes introduced by the user. |
| |
| semtech,ph01-proxraw-strength: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 7 |
| default: 1 |
| description: |
| PROXRAW filter strength for phase 0 and 1. A value of 0 represents off, |
| and other values represent 1-1/2^N. |
| |
| semtech,ph23-proxraw-strength: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 7 |
| default: 1 |
| description: |
| Same as proxraw-strength01, for phase 2 and 3. |
| |
| semtech,avg-pos-strength: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 16, 64, 128, 256, 512, 1024, 4294967295] |
| default: 16 |
| description: | |
| Average positive filter strength. A value of 0 represents off and |
| UINT_MAX (4294967295) represents infinite. Other values |
| represent 1-1/N. |
| |
| semtech,cs-idle-sleep: |
| description: |
| State of CS pins during sleep mode and idle time. |
| enum: |
| - hi-z |
| - gnd |
| - vdd |
| |
| semtech,int-comp-resistor: |
| description: |
| Internal resistor setting for compensation. |
| enum: |
| - lowest |
| - low |
| - high |
| - highest |
| |
| semtech,input-precharge-resistor-ohms: |
| default: 4000 |
| multipleOf: 2000 |
| minimum: 0 |
| maximum: 30000 |
| description: |
| Pre-charge input resistance in Ohm. |
| |
| semtech,input-analog-gain: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 3 |
| description: | |
| Defines the input antenna analog gain |
| 0: x1.247 |
| 1: x1 (default) |
| 2: x0.768 |
| 3: x0.552 |
| |
| required: |
| - compatible |
| - reg |
| - "#io-channel-cells" |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| proximity@28 { |
| compatible = "semtech,sx9324"; |
| reg = <0x28>; |
| interrupt-parent = <&pio>; |
| interrupts = <5 IRQ_TYPE_LEVEL_LOW 5>; |
| vdd-supply = <&pp3300_a>; |
| svdd-supply = <&pp1800_prox>; |
| #io-channel-cells = <1>; |
| semtech,ph0-pin = <1 2 3>; |
| semtech,ph1-pin = <3 2 1>; |
| semtech,ph2-pin = <1 2 3>; |
| semtech,ph3-pin = <3 2 1>; |
| semtech,ph01-resolution = <256>; |
| semtech,ph23-resolution = <256>; |
| semtech,startup-sensor = <1>; |
| semtech,ph01-proxraw-strength = <2>; |
| semtech,ph23-proxraw-strength = <2>; |
| semtech,avg-pos-strength = <64>; |
| semtech,int-comp-resistor = "lowest"; |
| semtech,input-precharge-resistor-ohms = <2000>; |
| semtech,cs-idle-sleep = "gnd"; |
| }; |
| }; |