Lines Matching refs:component

379 	struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);  in set_dmic_clk()  local
380 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in set_dmic_clk()
387 dev_err(component->dev, "Failed to set DMIC clock\n"); in set_dmic_clk()
389 snd_soc_component_update_bits(component, RT5651_DMIC, RT5651_DMIC_CLK_MASK, in set_dmic_clk()
684 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5651_amp_power_event() local
685 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_amp_power_event()
722 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5651_hp_event() local
723 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_hp_event()
767 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5651_hp_post_event() local
768 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_hp_post_event()
787 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5651_bst1_event() local
791 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_bst1_event()
796 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_bst1_event()
810 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5651_bst2_event() local
814 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_bst2_event()
819 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_bst2_event()
833 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5651_bst3_event() local
837 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_bst3_event()
842 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_bst3_event()
1284 struct snd_soc_component *component = dai->component; in rt5651_hw_params() local
1285 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_hw_params()
1293 dev_err(component->dev, "Unsupported clock setting\n"); in rt5651_hw_params()
1298 dev_err(component->dev, "Unsupported frame size: %d\n", frame_size); in rt5651_hw_params()
1329 snd_soc_component_update_bits(component, RT5651_I2S1_SDP, in rt5651_hw_params()
1331 snd_soc_component_update_bits(component, RT5651_ADDA_CLK1, mask_clk, val_clk); in rt5651_hw_params()
1336 snd_soc_component_update_bits(component, RT5651_I2S2_SDP, in rt5651_hw_params()
1338 snd_soc_component_update_bits(component, RT5651_ADDA_CLK1, mask_clk, val_clk); in rt5651_hw_params()
1341 dev_err(component->dev, "Wrong dai->id: %d\n", dai->id); in rt5651_hw_params()
1350 struct snd_soc_component *component = dai->component; in rt5651_set_dai_fmt() local
1351 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_set_dai_fmt()
1394 snd_soc_component_update_bits(component, RT5651_I2S1_SDP, in rt5651_set_dai_fmt()
1399 snd_soc_component_update_bits(component, RT5651_I2S2_SDP, in rt5651_set_dai_fmt()
1404 dev_err(component->dev, "Wrong dai->id: %d\n", dai->id); in rt5651_set_dai_fmt()
1413 struct snd_soc_component *component = dai->component; in rt5651_set_dai_sysclk() local
1414 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_set_dai_sysclk()
1433 dev_err(component->dev, "Invalid clock id (%d)\n", clk_id); in rt5651_set_dai_sysclk()
1436 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_set_dai_sysclk()
1438 snd_soc_component_update_bits(component, RT5651_GLB_CLK, in rt5651_set_dai_sysclk()
1451 struct snd_soc_component *component = dai->component; in rt5651_set_dai_pll() local
1452 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_set_dai_pll()
1461 dev_dbg(component->dev, "PLL disabled\n"); in rt5651_set_dai_pll()
1465 snd_soc_component_update_bits(component, RT5651_GLB_CLK, in rt5651_set_dai_pll()
1472 snd_soc_component_update_bits(component, RT5651_GLB_CLK, in rt5651_set_dai_pll()
1476 snd_soc_component_update_bits(component, RT5651_GLB_CLK, in rt5651_set_dai_pll()
1480 snd_soc_component_update_bits(component, RT5651_GLB_CLK, in rt5651_set_dai_pll()
1484 dev_err(component->dev, "Unknown PLL source %d\n", source); in rt5651_set_dai_pll()
1490 dev_err(component->dev, "Unsupported input clock %d\n", freq_in); in rt5651_set_dai_pll()
1494 dev_dbg(component->dev, "bypass=%d m=%d n=%d k=%d\n", in rt5651_set_dai_pll()
1498 snd_soc_component_write(component, RT5651_PLL_CTRL1, in rt5651_set_dai_pll()
1500 snd_soc_component_write(component, RT5651_PLL_CTRL2, in rt5651_set_dai_pll()
1511 static int rt5651_set_bias_level(struct snd_soc_component *component, in rt5651_set_bias_level() argument
1516 if (SND_SOC_BIAS_STANDBY == snd_soc_component_get_bias_level(component)) { in rt5651_set_bias_level()
1517 if (snd_soc_component_read(component, RT5651_PLL_MODE_1) & 0x9200) in rt5651_set_bias_level()
1518 snd_soc_component_update_bits(component, RT5651_D_MISC, in rt5651_set_bias_level()
1523 if (SND_SOC_BIAS_OFF == snd_soc_component_get_bias_level(component)) { in rt5651_set_bias_level()
1524 snd_soc_component_update_bits(component, RT5651_PWR_ANLG1, in rt5651_set_bias_level()
1530 snd_soc_component_update_bits(component, RT5651_PWR_ANLG1, in rt5651_set_bias_level()
1533 snd_soc_component_update_bits(component, RT5651_D_MISC, 0x1, 0x1); in rt5651_set_bias_level()
1538 snd_soc_component_write(component, RT5651_D_MISC, 0x0010); in rt5651_set_bias_level()
1539 snd_soc_component_write(component, RT5651_PWR_DIG1, 0x0000); in rt5651_set_bias_level()
1540 snd_soc_component_write(component, RT5651_PWR_DIG2, 0x0000); in rt5651_set_bias_level()
1541 snd_soc_component_write(component, RT5651_PWR_VOL, 0x0000); in rt5651_set_bias_level()
1542 snd_soc_component_write(component, RT5651_PWR_MIXER, 0x0000); in rt5651_set_bias_level()
1544 snd_soc_component_update_bits(component, RT5651_PWR_ANLG1, in rt5651_set_bias_level()
1547 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_set_bias_level()
1558 static void rt5651_enable_micbias1_for_ovcd(struct snd_soc_component *component) in rt5651_enable_micbias1_for_ovcd() argument
1560 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); in rt5651_enable_micbias1_for_ovcd()
1571 static void rt5651_disable_micbias1_for_ovcd(struct snd_soc_component *component) in rt5651_disable_micbias1_for_ovcd() argument
1573 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); in rt5651_disable_micbias1_for_ovcd()
1583 static void rt5651_enable_micbias1_ovcd_irq(struct snd_soc_component *component) in rt5651_enable_micbias1_ovcd_irq() argument
1585 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_enable_micbias1_ovcd_irq()
1587 snd_soc_component_update_bits(component, RT5651_IRQ_CTRL2, in rt5651_enable_micbias1_ovcd_irq()
1592 static void rt5651_disable_micbias1_ovcd_irq(struct snd_soc_component *component) in rt5651_disable_micbias1_ovcd_irq() argument
1594 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_disable_micbias1_ovcd_irq()
1596 snd_soc_component_update_bits(component, RT5651_IRQ_CTRL2, in rt5651_disable_micbias1_ovcd_irq()
1601 static void rt5651_clear_micbias1_ovcd(struct snd_soc_component *component) in rt5651_clear_micbias1_ovcd() argument
1603 snd_soc_component_update_bits(component, RT5651_IRQ_CTRL2, in rt5651_clear_micbias1_ovcd()
1607 static bool rt5651_micbias1_ovcd(struct snd_soc_component *component) in rt5651_micbias1_ovcd() argument
1611 val = snd_soc_component_read(component, RT5651_IRQ_CTRL2); in rt5651_micbias1_ovcd()
1612 dev_dbg(component->dev, "irq ctrl2 %#04x\n", val); in rt5651_micbias1_ovcd()
1617 static bool rt5651_jack_inserted(struct snd_soc_component *component) in rt5651_jack_inserted() argument
1619 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_jack_inserted()
1624 dev_dbg(component->dev, "jack-detect gpio %d\n", val); in rt5651_jack_inserted()
1628 val = snd_soc_component_read(component, RT5651_INT_IRQ_ST); in rt5651_jack_inserted()
1629 dev_dbg(component->dev, "irq status %#04x\n", val); in rt5651_jack_inserted()
1660 static void rt5651_start_button_press_work(struct snd_soc_component *component) in rt5651_start_button_press_work() argument
1662 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_start_button_press_work()
1669 rt5651_clear_micbias1_ovcd(component); in rt5651_start_button_press_work()
1677 struct snd_soc_component *component = rt5651->component; in rt5651_button_press_work() local
1680 if (!rt5651_jack_inserted(component)) in rt5651_button_press_work()
1683 if (rt5651_micbias1_ovcd(component)) { in rt5651_button_press_work()
1689 rt5651_clear_micbias1_ovcd(component); in rt5651_button_press_work()
1707 dev_dbg(component->dev, "headset button press\n"); in rt5651_button_press_work()
1715 dev_dbg(component->dev, "headset button release\n"); in rt5651_button_press_work()
1719 rt5651_enable_micbias1_ovcd_irq(component); in rt5651_button_press_work()
1726 static int rt5651_detect_headset(struct snd_soc_component *component) in rt5651_detect_headset() argument
1739 rt5651_clear_micbias1_ovcd(component); in rt5651_detect_headset()
1744 if (!rt5651_jack_inserted(component)) in rt5651_detect_headset()
1747 if (rt5651_micbias1_ovcd(component)) { in rt5651_detect_headset()
1753 dev_dbg(component->dev, "mic-gnd shorted\n"); in rt5651_detect_headset()
1759 dev_dbg(component->dev, "mic-gnd open\n"); in rt5651_detect_headset()
1767 …dev_err(component->dev, "Error detecting headset vs headphones, bad contact?, assuming headphones\… in rt5651_detect_headset()
1785 struct snd_soc_component *component = rt5651->component; in rt5651_jack_detect_work() local
1788 if (!rt5651_jack_inserted(component)) { in rt5651_jack_detect_work()
1793 rt5651_disable_micbias1_ovcd_irq(component); in rt5651_jack_detect_work()
1794 rt5651_disable_micbias1_for_ovcd(component); in rt5651_jack_detect_work()
1798 dev_dbg(component->dev, "jack unplugged\n"); in rt5651_jack_detect_work()
1803 rt5651_enable_micbias1_for_ovcd(component); in rt5651_jack_detect_work()
1804 report = rt5651_detect_headset(component); in rt5651_jack_detect_work()
1805 dev_dbg(component->dev, "detect report %#02x\n", report); in rt5651_jack_detect_work()
1809 rt5651_enable_micbias1_ovcd_irq(component); in rt5651_jack_detect_work()
1812 rt5651_disable_micbias1_for_ovcd(component); in rt5651_jack_detect_work()
1814 } else if (rt5651->ovcd_irq_enabled && rt5651_micbias1_ovcd(component)) { in rt5651_jack_detect_work()
1815 dev_dbg(component->dev, "OVCD IRQ\n"); in rt5651_jack_detect_work()
1826 rt5651_disable_micbias1_ovcd_irq(component); in rt5651_jack_detect_work()
1827 rt5651_start_button_press_work(component); in rt5651_jack_detect_work()
1856 static void rt5651_enable_jack_detect(struct snd_soc_component *component, in rt5651_enable_jack_detect() argument
1860 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_enable_jack_detect()
1872 snd_soc_component_update_bits(component, RT5651_JD_CTRL2, in rt5651_enable_jack_detect()
1876 snd_soc_component_update_bits(component, in rt5651_enable_jack_detect()
1881 snd_soc_component_update_bits(component, in rt5651_enable_jack_detect()
1887 snd_soc_component_update_bits(component, RT5651_JD_CTRL2, in rt5651_enable_jack_detect()
1891 snd_soc_component_update_bits(component, in rt5651_enable_jack_detect()
1896 snd_soc_component_update_bits(component, in rt5651_enable_jack_detect()
1902 snd_soc_component_update_bits(component, RT5651_JD_CTRL2, in rt5651_enable_jack_detect()
1906 snd_soc_component_update_bits(component, in rt5651_enable_jack_detect()
1911 snd_soc_component_update_bits(component, in rt5651_enable_jack_detect()
1917 dev_err(component->dev, "Currently only JD1_1 / JD1_2 / JD2 are supported\n"); in rt5651_enable_jack_detect()
1923 snd_soc_component_update_bits(component, RT5651_GPIO_CTRL1, in rt5651_enable_jack_detect()
1927 snd_soc_component_update_bits(component, RT5651_PWR_ANLG2, in rt5651_enable_jack_detect()
1932 snd_soc_component_write(component, RT5651_PR_BASE + RT5651_BIAS_CUR4, in rt5651_enable_jack_detect()
1935 snd_soc_component_update_bits(component, RT5651_MICBIAS, in rt5651_enable_jack_detect()
1954 snd_soc_component_update_bits(component, RT5651_IRQ_CTRL2, in rt5651_enable_jack_detect()
1959 rt5651_enable_micbias1_for_ovcd(component); in rt5651_enable_jack_detect()
1960 rt5651_enable_micbias1_ovcd_irq(component); in rt5651_enable_jack_detect()
1968 static void rt5651_disable_jack_detect(struct snd_soc_component *component) in rt5651_disable_jack_detect() argument
1970 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_disable_jack_detect()
1976 rt5651_disable_micbias1_ovcd_irq(component); in rt5651_disable_jack_detect()
1977 rt5651_disable_micbias1_for_ovcd(component); in rt5651_disable_jack_detect()
1984 static int rt5651_set_jack(struct snd_soc_component *component, in rt5651_set_jack() argument
1988 rt5651_enable_jack_detect(component, jack, data); in rt5651_set_jack()
1990 rt5651_disable_jack_detect(component); in rt5651_set_jack()
2002 static void rt5651_apply_properties(struct snd_soc_component *component) in rt5651_apply_properties() argument
2004 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_apply_properties()
2007 if (device_property_read_bool(component->dev, "realtek,in2-differential")) in rt5651_apply_properties()
2008 snd_soc_component_update_bits(component, RT5651_IN1_IN2, in rt5651_apply_properties()
2011 if (device_property_read_bool(component->dev, "realtek,dmic-en")) in rt5651_apply_properties()
2012 snd_soc_component_update_bits(component, RT5651_GPIO_CTRL1, in rt5651_apply_properties()
2015 if (device_property_read_u32(component->dev, in rt5651_apply_properties()
2019 if (device_property_read_bool(component->dev, "realtek,jack-detect-not-inverted")) in rt5651_apply_properties()
2030 if (device_property_read_u32(component->dev, in rt5651_apply_properties()
2043 …dev_warn(component->dev, "Warning: Invalid over-current-threshold-microamp value: %d, defaulting t… in rt5651_apply_properties()
2048 if (device_property_read_u32(component->dev, in rt5651_apply_properties()
2053 …dev_warn(component->dev, "Warning: Invalid over-current-scale-factor value: %d, defaulting to 0.75… in rt5651_apply_properties()
2058 static int rt5651_probe(struct snd_soc_component *component) in rt5651_probe() argument
2060 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_probe()
2062 rt5651->component = component; in rt5651_probe()
2064 snd_soc_component_update_bits(component, RT5651_PWR_ANLG1, in rt5651_probe()
2067 snd_soc_component_force_bias_level(component, SND_SOC_BIAS_OFF); in rt5651_probe()
2069 rt5651_apply_properties(component); in rt5651_probe()
2075 static int rt5651_suspend(struct snd_soc_component *component) in rt5651_suspend() argument
2077 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_suspend()
2084 static int rt5651_resume(struct snd_soc_component *component) in rt5651_resume() argument
2086 struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); in rt5651_resume()
2089 snd_soc_component_cache_sync(component); in rt5651_resume()