# Copyright (c) 2020 arithmetics.io # SPDX-License-Identifier: Apache-2.0 description: Texas Instruments FDC2X1X capacitive sensor compatible: "ti,fdc2x1x" include: [sensor-device.yaml, i2c-device.yaml] properties: sd-gpios: type: phandle-array description: | The SD pin defaults to active high when consumed by the sensor. The property value should ensure the flags properly describe the signal that is presented to the driver. intb-gpios: type: phandle-array description: | The INTB pin defaults to active low when produced by the sensor. The property value should ensure the flags properly describe the signal that is presented to the driver. fdc2x14: type: boolean description: | Set to identify the sensor as FDC2114 or FDC2214 (4-channel version) autoscan: type: boolean description: | Set the Auto-Scan Mode. false = Continuous conversion on the single channel selected by "active-channel" (single channel mode). true = Auto-Scan conversions as selected by "rr-sequence" (multichannel mode). fref: type: int required: true description: | Reference frequency of the used clock source in KHz. The internal clock oscillates at around 43360 KHz (43.36 MHz) at 20 degrees Celsius. Recommended external clock source frequency is 40000 KHz (40 MHz). rr-sequence: type: int default: 0 description: | Auto-Scan Sequence Configuration. The FDC will perform a single conversion on each channel in the sequence selected, and then restart the sequence continuously. The sensor performs conversion on Channel 0 to 1 by default after power-on-reset. This setting only applies if autoscan=true (multichannel mode). 0 = Ch0, Ch1 1 = Ch0, Ch1, Ch2 (FDC2114, FDC2214 only) 2 = Ch0, Ch1, Ch2, Ch3 (FDC2114, FDC2214 only) enum: - 0 - 1 - 2 active-channel: type: int default: 0 description: | Selects channel for continuous conversions. The sensor performs continuous conversion on Channel 0 by default after power-on-reset. This setting only applies if autoscan=false (single channel mode). 0 = Perform continuous conversions on Channel 0 1 = Perform continuous conversions on Channel 1 2 = Perform continuous conversions on Channel 2 (FDC2114, FDC2214 only) 3 = Perform continuous conversions on Channel 3 (FDC2114, FDC2214 only) enum: - 0 - 1 - 2 - 3 deglitch: type: int required: true description: | Input deglitch filter bandwidth. Select the lowest setting that exceeds the oscillation tank oscillation frequency. 1 = 1MHz 4 = 3.3MHz 5 = 10MHz 7 = 33MHz enum: - 1 - 4 - 5 - 7 sensor-activate-sel: type: string default: "low-power" description: | Sensor Activation Mode Selection. The sensor uses low-power activation mode by default after power-on-reset. full-current = the FDC will drive maximum sensor current for a shorter sensor activation time. low-power = the FDC uses the value programmed by "idrive" during sensor activation to minimize power consumption. enum: - "full-current" - "low-power" ref-clk-src: type: string default: "internal" description: | Select Reference Frequency Source. The sensor uses the internal clock by default after power-on-reset. internal = Use Internal oscillator as reference frequency external = Reference frequency is provided from CLKIN pin. enum: - "internal" - "external" current-drive: type: string default: "normal" description: | Select Current Sensor Drive. The sensor uses normal current drive by default after power-on-reset. High current drive is not supported if autoscan=false and will default to normal. normal = The FDC will drive all channels with normal sensor current (1.5mA max). high = The FDC will drive channel 0 with current >1.5mA. enum: - "normal" - "high" output-gain: type: int default: 0 description: | Output gain control (FDC2112, FDC2114 only) The default output gain is 0 after power-on-reset. 0 = Gain = 1 | Effective Resolution 12 bits | 100% full scale 1 = Gain = 4 | Effective Resolution 14 bits | 25% full scale 2 = Gain = 8 | Effective Resolution 15 bits | 12.5% full scale 3 = Gain = 16 | Effective Resolution 16 bits | 6.25% full scale enum: - 0 - 1 - 2 - 3 child-binding: description: | Settings for each channel 0-1 (FDC2112 and FDC2212) or 0-3 (FDC2114 and FDC2214) properties: rcount: type: int required: true description: | Channel X Reference Count Conversion Interval Time. Valid range: 256 - 65535 offset: type: int default: 0 description: | Channel X Conversion Offset (FDC2112 and FDC2212 only). The default offset value after power-on-reset is 0. Valid range: 0 - 65535 settlecount: type: int required: true description: | Channel X Conversion Settling. The FDC will use this settling time to allow the LC sensor to stabilize before initiation of a conversion on Channel X. Valid range: 0 - 65535 fref-divider: type: int required: true description: | Channel X Reference Divider. Sets the divider for Channel X reference. Use this to scale the maximum conversion frequency. Valid range: 1 - 1023 idrive: type: int required: true description: | Channel X Sensor drive current. This field defines the Drive Current used during the settling + conversion time of Channel X sensor clock. Valid range: 0 - 31 fin-sel: type: int required: true description: | Channel X Sensor frequency select. For differential sensor configuration: 1 = divide by 1. Choose for sensor frequencies between 0.01MHz and 8.75MHz 2 = divide by 2. Choose for sensor frequencies between 5MHz and 10MHz For single-ended sensor configuration: 2 = divide by 2. Choose for sensor frequencies between 0.01MHz and 10MHz enum: - 1 # Divide by 1 - 2 # Divide by 2 inductance: type: int required: true description: | Inductor value used on the PCB for the sensing network of the specific channel, which is usually 18uH.