} else if (active_irq & NAU8825_HEADSET_COMPLETION_IRQ) {
if (nau8825_is_jack_inserted(regmap)) {
event |= nau8825_jack_insert(nau8825);
- if (!nau8825->high_imped) {
+ if (!nau8825->xtalk_bypass && !nau8825->high_imped) {
/* Apply the cross talk suppression in the
* headset without high impedance.
*/
&nau8825->jack_eject_debounce);
if (ret)
nau8825->jack_eject_debounce = 0;
+ ret = device_property_read_u32(dev, "nuvoton,crosstalk-bypass",
+ &nau8825->xtalk_bypass);
+ if (ret)
+ nau8825->xtalk_bypass = 1;
nau8825->mclk = devm_clk_get(dev, "mclk");
if (PTR_ERR(nau8825->mclk) == -EPROBE_DEFER) {