Lines Matching defs:component

439 	struct snd_soc_component *component;
469 static int rt5645_reset(struct snd_soc_component *component)
471 return snd_soc_component_write(component, RT5645_RESET, 0);
702 struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
703 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
728 struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
729 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
770 struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
771 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
875 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
876 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
883 dev_err(component->dev, "Failed to set DMIC clock\n");
885 snd_soc_component_update_bits(component, RT5645_DMIC_CTRL1,
893 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
896 val = snd_soc_component_read(component, RT5645_GLB_CLK);
907 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
939 val = (snd_soc_component_read(component, reg) >> shift) & 0xf;
952 static int rt5645_enable_hweq(struct snd_soc_component *component)
954 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
970 * @component: SoC audio component device.
982 int rt5645_sel_asrc_clk_src(struct snd_soc_component *component,
1038 snd_soc_component_update_bits(component, RT5645_ASRC_2,
1042 snd_soc_component_update_bits(component, RT5645_ASRC_3,
1671 static void hp_amp_power(struct snd_soc_component *component, int on)
1674 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
1680 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x3100);
1681 snd_soc_component_write(component, RT5645_CHARGE_PUMP,
1683 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x000d);
1693 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1697 snd_soc_component_write(component, RT5645_DEPOP_M3, 0x0737);
1700 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1140);
1701 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1707 snd_soc_component_update_bits(component, RT5645_DEPOP_M2,
1709 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x000d);
1714 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1716 snd_soc_component_update_bits(component, RT5645_PWR_VOL,
1719 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1725 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1729 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1745 snd_soc_component_write(component, RT5645_DEPOP_M3, 0x0737);
1748 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1140);
1750 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x0001);
1751 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1754 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1762 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x0000);
1763 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1766 snd_soc_component_update_bits(component, RT5645_DEPOP_M2,
1776 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1777 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
1781 hp_amp_power(component, 1);
1784 snd_soc_component_update_bits(component, RT5645_DEPOP_M3,
1792 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1794 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1796 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1801 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1811 snd_soc_component_update_bits(component, RT5645_DEPOP_M3,
1819 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1821 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1823 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1829 hp_amp_power(component, 0);
1842 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1846 rt5645_enable_hweq(component);
1847 snd_soc_component_update_bits(component, RT5645_PWR_DIG1,
1852 snd_soc_component_update_bits(component, RT5645_GEN_CTRL3,
1857 snd_soc_component_update_bits(component, RT5645_GEN_CTRL3,
1859 snd_soc_component_write(component, RT5645_EQ_CTRL2, 0);
1860 snd_soc_component_update_bits(component, RT5645_PWR_DIG1,
1875 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1879 hp_amp_power(component, 1);
1880 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1882 snd_soc_component_update_bits(component, RT5645_LOUT1,
1887 snd_soc_component_update_bits(component, RT5645_LOUT1,
1890 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1892 hp_amp_power(component, 0);
1905 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1909 snd_soc_component_update_bits(component, RT5645_PWR_ANLG2,
1914 snd_soc_component_update_bits(component, RT5645_PWR_ANLG2,
1928 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1932 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
1938 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
1953 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1957 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
1963 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
2749 struct snd_soc_component *component = dai->component;
2750 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2757 dev_err(component->dev, "Unsupported clock setting\n");
2762 dev_err(component->dev, "Unsupported frame size: %d\n", frame_size);
2803 snd_soc_component_update_bits(component, RT5645_I2S1_SDP,
2805 snd_soc_component_update_bits(component, RT5645_ADDA_CLK1, mask_clk, val_clk);
2811 snd_soc_component_update_bits(component, RT5645_I2S2_SDP,
2813 snd_soc_component_update_bits(component, RT5645_ADDA_CLK1, mask_clk, val_clk);
2816 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2825 struct snd_soc_component *component = dai->component;
2826 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2877 snd_soc_component_update_bits(component, RT5645_I2S1_SDP,
2882 snd_soc_component_update_bits(component, RT5645_I2S2_SDP,
2887 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2896 struct snd_soc_component *component = dai->component;
2897 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2914 dev_err(component->dev, "Invalid clock id (%d)\n", clk_id);
2917 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2930 struct snd_soc_component *component = dai->component;
2931 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2940 dev_dbg(component->dev, "PLL disabled\n");
2944 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2951 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2958 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2962 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2966 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2971 dev_err(component->dev, "Unknown PLL source %d\n", source);
2977 dev_err(component->dev, "Unsupported input clock %d\n", freq_in);
2981 dev_dbg(component->dev, "bypass=%d m=%d n=%d k=%d\n",
2985 snd_soc_component_write(component, RT5645_PLL_CTRL1,
2987 snd_soc_component_write(component, RT5645_PLL_CTRL2,
3001 struct snd_soc_component *component = dai->component;
3002 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3025 snd_soc_component_update_bits(component, RT5645_BASS_BACK,
3059 snd_soc_component_update_bits(component, RT5645_TDM_CTRL_1, mask, val);
3064 static int rt5645_set_bias_level(struct snd_soc_component *component,
3067 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3071 if (SND_SOC_BIAS_STANDBY == snd_soc_component_get_bias_level(component)) {
3072 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3078 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3081 snd_soc_component_update_bits(component, RT5645_GEN_CTRL1,
3087 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3093 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3096 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) {
3097 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1140);
3107 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1100);
3109 snd_soc_component_update_bits(component, RT5645_GEN_CTRL1,
3111 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3124 static void rt5645_enable_push_button_irq(struct snd_soc_component *component,
3127 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
3134 snd_soc_component_update_bits(component, RT5650_4BTN_IL_CMD1, 0x3, 0x3);
3135 snd_soc_component_update_bits(component,
3137 snd_soc_component_update_bits(component,
3139 snd_soc_component_read(component, RT5650_4BTN_IL_CMD1);
3141 snd_soc_component_read(component, RT5650_4BTN_IL_CMD1));
3143 snd_soc_component_update_bits(component, RT5650_4BTN_IL_CMD2, 0x8000, 0x0);
3144 snd_soc_component_update_bits(component, RT5645_INT_IRQ_ST, 0x8, 0x0);
3152 static int rt5645_jack_detect(struct snd_soc_component *component, int jack_insert)
3154 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
3155 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3189 dev_dbg(component->dev, "val = %d\n", val);
3194 rt5645_enable_push_button_irq(component, true);
3198 rt5645_enable_push_button_irq(component, false);
3220 rt5645_enable_push_button_irq(component, false);
3234 static int rt5645_button_detect(struct snd_soc_component *component)
3238 val = snd_soc_component_read(component, RT5650_4BTN_IL_CMD1);
3241 snd_soc_component_write(component, RT5650_4BTN_IL_CMD1, val);
3248 int rt5645_set_jack_detect(struct snd_soc_component *component,
3252 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3272 static int rt5645_component_set_jack(struct snd_soc_component *component,
3289 return rt5645_set_jack_detect(component, hs_jack, mic_jack, btn_jack);
3298 if (!rt5645->component)
3309 dev_dbg(rt5645->component->dev, "gpio_state = %d\n",
3311 report = rt5645_jack_detect(rt5645->component, gpio_state);
3320 val = snd_soc_component_read(rt5645->component, RT5645_A_JD_CTRL1) & 0x0020;
3323 val = snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0x1000;
3329 report = rt5645_jack_detect(rt5645->component, 1);
3333 if (snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0x4) {
3336 btn_type = rt5645_button_detect(rt5645->component);
3366 dev_err(rt5645->component->dev,
3381 snd_soc_component_update_bits(rt5645->component,
3383 rt5645_jack_detect(rt5645->component, 0);
3423 static int rt5645_probe(struct snd_soc_component *component)
3425 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
3426 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3428 rt5645->component = component;
3454 snd_soc_component_force_bias_level(component, SND_SOC_BIAS_OFF);
3464 component->card->long_name = rt5645->pdata.long_name;
3466 rt5645->eq_param = devm_kcalloc(component->dev,
3476 static void rt5645_remove(struct snd_soc_component *component)
3478 rt5645_reset(component);
3482 static int rt5645_suspend(struct snd_soc_component *component)
3484 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3492 static int rt5645_resume(struct snd_soc_component *component)
3494 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);