| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #ifndef __DRIVERS_I2C_DA7219_CHIP_H__ |
| #define __DRIVERS_I2C_DA7219_CHIP_H__ |
| |
| #include <acpi/acpi_device.h> |
| |
| /* |
| * 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__ */ |