Lines Matching defs:wcd934x
8 #include <linux/mfd/wcd934x/registers.h>
9 #include <linux/mfd/wcd934x/wcd934x.h>
2420 struct wcd934x_codec *wcd934x = snd_soc_component_get_drvdata(component);
2442 mutex_lock(&wcd934x->micb_lock);
2446 wcd934x->pullup_ref[micb_index]++;
2447 if ((wcd934x->pullup_ref[micb_index] == 1) &&
2448 (wcd934x->micb_ref[micb_index] == 0))
2454 if (wcd934x->pullup_ref[micb_index] > 0)
2455 wcd934x->pullup_ref[micb_index]--;
2457 if ((wcd934x->pullup_ref[micb_index] == 0) &&
2458 (wcd934x->micb_ref[micb_index] == 0))
2463 wcd934x->micb_ref[micb_index]++;
2464 if (wcd934x->micb_ref[micb_index] == 1) {
2469 wcd_mbhc_event_notify(wcd934x->mbhc,
2474 wcd_mbhc_event_notify(wcd934x->mbhc,
2478 if (wcd934x->micb_ref[micb_index] > 0)
2479 wcd934x->micb_ref[micb_index]--;
2481 if ((wcd934x->micb_ref[micb_index] == 0) &&
2482 (wcd934x->pullup_ref[micb_index] > 0))
2486 else if ((wcd934x->micb_ref[micb_index] == 0) &&
2487 (wcd934x->pullup_ref[micb_index] == 0)) {
2489 wcd_mbhc_event_notify(wcd934x->mbhc,
2495 wcd_mbhc_event_notify(wcd934x->mbhc,
2499 wcd_mbhc_event_notify(wcd934x->mbhc,
2504 mutex_unlock(&wcd934x->micb_lock);
2554 struct wcd934x_codec *wcd934x = snd_soc_component_get_drvdata(component);
2573 mutex_lock(&wcd934x->micb_lock);
2618 mutex_unlock(&wcd934x->micb_lock);
2625 struct wcd934x_codec *wcd934x = snd_soc_component_get_drvdata(component);
2635 if (wcd934x->micb2_mv >= WCD_MBHC_THR_HS_MICB_MV)
2638 micb_mv = req_en ? WCD_MBHC_THR_HS_MICB_MV : wcd934x->micb2_mv;
2645 static void wcd934x_mbhc_get_result_params(struct wcd934x_codec *wcd934x,
2658 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x20, 0x20);
2660 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_2, &val);
2665 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_1, &val1);
2667 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x20, 0x00);
2675 dev_err(wcd934x->dev, "%s: Impedance detect ramp error, c1=%d, x1=0x%x\n",
2686 dev_dbg(wcd934x->dev, "%s: d1=%d, c1=%d, x1=0x%x, z_val=%di (milliohm)\n",
2692 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_1, &val);
2693 regmap_read(wcd934x->regmap, WCD934X_ANA_MBHC_RESULT_2, &val1);
2707 struct wcd934x_codec *wcd934x = dev_get_drvdata(component->dev);
2726 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x80, 0x80);
2727 wcd934x_mbhc_get_result_params(wcd934x, d1_a, zdet_param->noff, &zdet);
2728 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x80, 0x00);
2736 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x40, 0x40);
2737 wcd934x_mbhc_get_result_params(wcd934x, d1_a, zdet_param->noff, &zdet);
2738 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ZDET, 0x40, 0x00);
2766 struct wcd934x_codec *wcd934x = dev_get_drvdata(component->dev);
2794 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ELECT, 0x80, 0x00);
2798 if (wcd934x->mbhc_cfg.hphl_swh)
2799 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x80, 0x00);
2802 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x01, 0x00);
2886 wcd_mbhc_set_hph_type(wcd934x->mbhc, WCD_MBHC_HPH_MONO);
2910 wcd_mbhc_set_hph_type(wcd934x->mbhc, WCD_MBHC_HPH_STEREO);
2914 wcd_mbhc_set_hph_type(wcd934x->mbhc, WCD_MBHC_HPH_MONO);
2922 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x01, 0x01);
2925 if (wcd934x->mbhc_cfg.hphl_swh)
2926 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_MECH, 0x80, 0x80);
2931 regmap_update_bits(wcd934x->regmap, WCD934X_ANA_MBHC_ELECT, 0x80, 0x80);
5957 .name = "wcd934x-codec",
5967 .name = "wcd934x-codec",
5971 MODULE_ALIAS("platform:wcd934x-codec");