diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c index 37985b79677011..6d48eb99071d4d 100644 --- a/sound/soc/codecs/es8316.c +++ b/sound/soc/codecs/es8316.c @@ -694,6 +694,9 @@ static void es8316_enable_jack_detect(struct snd_soc_component *component, if (device_property_read_bool(component->dev, "everest,jack-detect-inverted")) es8316->jd_inverted = true; + if (device_property_read_bool(component->dev, + "everest,jack-detect-not-inverted")) + es8316->jd_inverted = false; mutex_lock(&es8316->lock); diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c index 71dd2331f7cccf..b1d75cfeb0257d 100644 --- a/sound/soc/intel/boards/sof_es8336.c +++ b/sound/soc/intel/boards/sof_es8336.c @@ -52,6 +52,7 @@ #define SOF_ES8336_OVERRIDE_DSM_LOW_HIGH BIT(9) #define SOF_ES8336_SPK_EN_LOW BIT(10) #define SOF_ES8336_HP_EN_LOW BIT(11) +#define SOF_ES8336_JD_NOT_INVERTED BIT(12) static unsigned long quirk; @@ -339,6 +340,7 @@ static const struct dmi_system_id sof_es8336_quirk_table[] = { DMI_MATCH(DMI_BOARD_NAME, "BOHB-WAX9-PCB-B2"), }, .driver_data = (void *)(SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK | + SOF_ES8336_JD_NOT_INVERTED | SOF_ES8336_OVERRIDE_DSM_LOW_HIGH | SOF_ES8336_HP_EN_LOW) @@ -692,6 +694,9 @@ static int sof_es8336_probe(struct platform_device *pdev) if (quirk & SOF_ES8336_JD_INVERTED) props[cnt++] = PROPERTY_ENTRY_BOOL("everest,jack-detect-inverted"); + else if (quirk & SOF_ES8336_JD_NOT_INVERTED) + props[cnt++] = PROPERTY_ENTRY_BOOL("everest,jack-detect-not-inverted"); + if (cnt) { fwnode = fwnode_create_software_node(props, NULL);