/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __DRIVERS_I2C_DA7219_CHIP_H__ #define __DRIVERS_I2C_DA7219_CHIP_H__ #include /* * Dialog Semiconductor DA7219 Audio Codec devicetree bindings * linux/Documentation/devicetree/bindings/sound/da7219.txt */ struct drivers_i2c_da7219_config { /* Interrupt configuration */ struct acpi_irq irq; /* Use GPIO based interrupt instead of PIRQ */ struct acpi_gpio irq_gpio; /* I2C Bus Frequency in Hertz (default 400kHz) */ unsigned int bus_speed; /* * micbias-lvl : Voltage (mV) for Mic Bias * [<1600>, <1800>, <2000>, <2200>, <2400>, <2600>] */ unsigned int micbias_lvl; /* * mic-amp-in-sel : Mic input source type * ["diff", "se_p", "se_n"] */ const char *mic_amp_in_sel; /* * Properties for da7219_aad child node */ /* * micbias-pulse-lvl : Mic bias higher voltage pulse level (mV) * [<2800>, <2900>] */ unsigned int micbias_pulse_lvl; /* * micbias-pulse-time : Mic bias higher voltage pulse duration (ms) */ unsigned int micbias_pulse_time; /* * btn-cfg : Periodic button press measurements for 4-pole jack (ms) * [<2>, <5>, <10>, <50>, <100>, <200>, <500>] */ unsigned int btn_cfg; /* * mic-det-thr : Impedance threshold for mic detection measurement (Ohms) * [<200>, <500>, <750>, <1000>] */ unsigned int mic_det_thr; /* * jack-ins-deb : Debounce time for jack insertion (ms) * [<5>, <10>, <20>, <50>, <100>, <200>, <500>, <1000>] */ unsigned int jack_ins_deb; /* * jack-det-rate : Jack type detection latency (3/4 pole) * ["32ms_64ms", "64ms_128ms", "128ms_256ms", "256ms_512ms"] */ const char *jack_det_rate; /* * jack-rem-deb : Debounce time for jack removal (ms) * [<1>, <5>, <10>, <20>] */ unsigned int jack_rem_deb; /* * a-d-btn-thr : Impedance threshold between buttons A and D * [0x0 - 0xFF] */ unsigned int a_d_btn_thr; /* * d-b-btn-thr : Impedance threshold between buttons D and B * [0x0 - 0xFF] */ unsigned int d_b_btn_thr; /* * b-c-btn-thr : Impedance threshold between buttons B and C * [0x0 - 0xFF] */ unsigned int b_c_btn_thr; /* * c-mic-btn-thr : Impedance threshold between button C and Mic * [0x0 - 0xFF] */ unsigned int c_mic_btn_thr; /* * btn-avg : Number of 8-bit readings for averaged button measurement * [<1>, <2>, <4>, <8>] */ unsigned int btn_avg; /* * adc-1bit-rpt : Repeat count for 1-bit button measurement * [<1>, <2>, <4>, <8>] */ unsigned int adc_1bit_rpt; /* * mclk-name : Pass the system clk to da7219 * ["name of mclk" ] */ const char *mclk_name; }; #endif /* __DRIVERS_I2C_DA7219_CHIP_H__ */