Lines Matching defs:wcd934x

9 #include <linux/mfd/wcd934x/registers.h>
10 #include <linux/mfd/wcd934x/wcd934x.h>
27 #include <dt-bindings/sound/qcom,wcd934x.h>
2365 struct wcd934x_codec *wcd934x = snd_soc_component_get_drvdata(component);
2387 mutex_lock(&wcd934x->micb_lock);
2391 wcd934x->pullup_ref[micb_index]++;
2392 if ((wcd934x->pullup_ref[micb_index] == 1) &&
2393 (wcd934x->micb_ref[micb_index] == 0))
2399 if (wcd934x->pullup_ref[micb_index] > 0)
2400 wcd934x->pullup_ref[micb_index]--;
2402 if ((wcd934x->pullup_ref[micb_index] == 0) &&
2403 (wcd934x->micb_ref[micb_index] == 0))
2408 wcd934x->micb_ref[micb_index]++;
2409 if (wcd934x->micb_ref[micb_index] == 1) {
2414 wcd_mbhc_event_notify(wcd934x->mbhc,
2419 wcd_mbhc_event_notify(wcd934x->mbhc,
2423 if (wcd934x->micb_ref[micb_index] > 0)
2424 wcd934x->micb_ref[micb_index]--;
2426 if ((wcd934x->micb_ref[micb_index] == 0) &&
2427 (wcd934x->pullup_ref[micb_index] > 0))
2431 else if ((wcd934x->micb_ref[micb_index] == 0) &&
2432 (wcd934x->pullup_ref[micb_index] == 0)) {
2434 wcd_mbhc_event_notify(wcd934x->mbhc,
2440 wcd_mbhc_event_notify(wcd934x->mbhc,
2444 wcd_mbhc_event_notify(wcd934x->mbhc,
2449 mutex_unlock(&wcd934x->micb_lock);
2490 struct wcd934x_codec *wcd934x = snd_soc_component_get_drvdata(component);
2509 mutex_lock(&wcd934x->micb_lock);
2554 mutex_unlock(&wcd934x->micb_lock);
2561 struct wcd934x_codec *wcd934x = snd_soc_component_get_drvdata(component);
2571 if (wcd934x->common.micb_mv[1] >= WCD_MBHC_THR_HS_MICB_MV)
2574 micb_mv = req_en ? WCD_MBHC_THR_HS_MICB_MV : wcd934x->common.micb_mv[1];
2581 static void wcd934x_mbhc_get_result_params(struct wcd934x_codec *wcd934x,
2594 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x20, 0x20);
2596 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_2, &val);
2601 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_1, &val1);
2603 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x20, 0x00);
2611 dev_err(wcd934x->dev, "%s: Impedance detect ramp error, c1=%d, x1=0x%x\n",
2622 dev_dbg(wcd934x->dev, "%s: d1=%d, c1=%d, x1=0x%x, z_val=%di (milliohm)\n",
2628 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_1, &val);
2629 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_2, &val1);
2643 struct wcd934x_codec *wcd934x = dev_get_drvdata(component->dev);
2662 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x80, 0x80);
2663 wcd934x_mbhc_get_result_params(wcd934x, d1_a, zdet_param->noff, &zdet);
2664 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x80, 0x00);
2672 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x40, 0x40);
2673 wcd934x_mbhc_get_result_params(wcd934x, d1_a, zdet_param->noff, &zdet);
2674 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x40, 0x00);
2702 struct wcd934x_codec *wcd934x = dev_get_drvdata(component->dev);
2730 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ELECT, 0x80, 0x00);
2734 if (wcd934x->mbhc_cfg.hphl_swh)
2735 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x80, 0x00);
2738 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x01, 0x00);
2822 wcd_mbhc_set_hph_type(wcd934x->mbhc, WCD_MBHC_HPH_MONO);
2846 wcd_mbhc_set_hph_type(wcd934x->mbhc, WCD_MBHC_HPH_STEREO);
2850 wcd_mbhc_set_hph_type(wcd934x->mbhc, WCD_MBHC_HPH_MONO);
2858 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x01, 0x01);
2861 if (wcd934x->mbhc_cfg.hphl_swh)
2862 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x80, 0x80);
2867 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ELECT, 0x80, 0x80);
5901 .name = "wcd934x-codec",
5911 .name = "wcd934x-codec",