diff options
Diffstat (limited to 'src/drivers/i2c/sx9324/chip.h')
-rw-r--r-- | src/drivers/i2c/sx9324/chip.h | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/src/drivers/i2c/sx9324/chip.h b/src/drivers/i2c/sx9324/chip.h index 9c9dd3cf35..47910fb7a0 100644 --- a/src/drivers/i2c/sx9324/chip.h +++ b/src/drivers/i2c/sx9324/chip.h @@ -23,7 +23,148 @@ struct drivers_i2c_sx9324_config { /* IO-APIC interrupt */ struct acpi_irq irq; + + /* + semtech,ph0-pin: + 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 + */ + uint64_t ph0_pin[3]; + + /* + semtech,ph1-pin: + Same as ph0-pin for phase 1. + */ + uint64_t ph1_pin[3]; + + /* + semtech,ph2-pin: + Same as ph0-pin for phase 2. + */ + uint64_t ph2_pin[3]; + + /* + semtech,ph3-pin: + Same as ph0-pin for phase 3. + */ + uint64_t ph3_pin[3]; + + /* + semtech,ph01-resolution: + 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 + */ + uint64_t ph01_resolution; + + /* + semtech,ph23-resolution: + Same as ph01-resolution for phase 2 and 3. + */ + uint64_t ph23_resolution; + + /* + semtech,startup-sensor: + 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. + */ + uint64_t startup_sensor; + + /* + semtech,ph01-proxraw-strength: + 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. + */ + uint64_t ph01_proxraw_strength; + + /* + semtech,ph23-proxraw-strength: + Same as proxraw-strength01, for phase 2 and 3. + */ + uint64_t ph23_proxraw_strength; + + /* + semtech,avg-pos-strength: + 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. + */ + uint64_t avg_pos_strength; + + /* + semtech,cs-idle-sleep: + description: + State of CS pins during sleep mode and idle time. + enum: + - hi-z + - gnd + - vdd + */ + const char *cs_idle_sleep; + + /* + semtech,int-comp-resistor: + description: + Internal resistor setting for compensation. + enum: + - lowest + - low + - high + - highest + */ + const char *int_comp_resistor; + + /* + semtech,input-precharge-resistor-ohms: + default: 4000 + multipleOf: 2000 + minimum: 0 + maximum: 30000 + description: + Pre-charge input resistance in Ohm. + */ + uint64_t input_precharge_resistor_ohms; + + /* + semtech,input-analog-gain: + minimum: 0 + maximum: 3 + description: | + Defines the input antenna analog gain + 0: x1.247 + 1: x1 (default) + 2: x0.768 + 3: x0.552 + */ + uint64_t input_analog_gain; + +#if CONFIG(DRIVERS_I2C_SX9324_SUPPORT_LEGACY_LINUX_DRIVER) #include "registers.h" +#endif }; #undef REGISTER |