# 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. allOf: - $ref: /schemas/iio/iio.yaml# 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" unevaluatedProperties: 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"; }; };