Lines Matching defs:component
412 struct snd_soc_component *component;
443 static int rt5645_reset(struct snd_soc_component *component)
445 return snd_soc_component_write(component, RT5645_RESET, 0);
676 struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
677 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
702 struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
703 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
744 struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
745 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
849 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
850 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
857 dev_err(component->dev, "Failed to set DMIC clock\n");
859 snd_soc_component_update_bits(component, RT5645_DMIC_CTRL1,
867 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
870 val = snd_soc_component_read(component, RT5645_GLB_CLK);
881 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
913 val = (snd_soc_component_read(component, reg) >> shift) & 0xf;
926 static int rt5645_enable_hweq(struct snd_soc_component *component)
928 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
944 * @component: SoC audio component device.
956 int rt5645_sel_asrc_clk_src(struct snd_soc_component *component,
1012 snd_soc_component_update_bits(component, RT5645_ASRC_2,
1016 snd_soc_component_update_bits(component, RT5645_ASRC_3,
1645 static void hp_amp_power(struct snd_soc_component *component, int on)
1648 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
1653 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x3100);
1654 snd_soc_component_write(component, RT5645_CHARGE_PUMP,
1656 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x000d);
1660 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1664 snd_soc_component_write(component, RT5645_DEPOP_M3, 0x0737);
1667 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1140);
1672 snd_soc_component_update_bits(component, RT5645_DEPOP_M2,
1674 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x000d);
1679 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1681 snd_soc_component_update_bits(component, RT5645_PWR_VOL,
1684 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1690 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1694 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1710 snd_soc_component_write(component, RT5645_DEPOP_M3, 0x0737);
1713 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1140);
1715 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x0001);
1718 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1726 snd_soc_component_write(component, RT5645_DEPOP_M1, 0x0000);
1727 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1730 snd_soc_component_update_bits(component, RT5645_DEPOP_M2,
1740 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1741 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
1745 hp_amp_power(component, 1);
1748 snd_soc_component_update_bits(component, RT5645_DEPOP_M3,
1756 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1758 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1760 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1765 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1775 snd_soc_component_update_bits(component, RT5645_DEPOP_M3,
1783 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1785 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1787 snd_soc_component_update_bits(component, RT5645_DEPOP_M1,
1793 hp_amp_power(component, 0);
1806 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1810 rt5645_enable_hweq(component);
1811 snd_soc_component_update_bits(component, RT5645_PWR_DIG1,
1816 snd_soc_component_update_bits(component, RT5645_GEN_CTRL3,
1821 snd_soc_component_update_bits(component, RT5645_GEN_CTRL3,
1823 snd_soc_component_write(component, RT5645_EQ_CTRL2, 0);
1824 snd_soc_component_update_bits(component, RT5645_PWR_DIG1,
1839 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1843 hp_amp_power(component, 1);
1844 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1846 snd_soc_component_update_bits(component, RT5645_LOUT1,
1851 snd_soc_component_update_bits(component, RT5645_LOUT1,
1854 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
1856 hp_amp_power(component, 0);
1869 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1873 snd_soc_component_update_bits(component, RT5645_PWR_ANLG2,
1878 snd_soc_component_update_bits(component, RT5645_PWR_ANLG2,
1892 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1893 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
1913 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1917 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
1923 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
1938 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
1942 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
1948 snd_soc_component_update_bits(component, RT5645_GEN_CTRL2,
2735 struct snd_soc_component *component = dai->component;
2736 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2743 dev_err(component->dev, "Unsupported clock setting\n");
2748 dev_err(component->dev, "Unsupported frame size: %d\n", frame_size);
2789 snd_soc_component_update_bits(component, RT5645_I2S1_SDP,
2791 snd_soc_component_update_bits(component, RT5645_ADDA_CLK1, mask_clk, val_clk);
2797 snd_soc_component_update_bits(component, RT5645_I2S2_SDP,
2799 snd_soc_component_update_bits(component, RT5645_ADDA_CLK1, mask_clk, val_clk);
2802 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2811 struct snd_soc_component *component = dai->component;
2812 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2863 snd_soc_component_update_bits(component, RT5645_I2S1_SDP,
2868 snd_soc_component_update_bits(component, RT5645_I2S2_SDP,
2873 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2882 struct snd_soc_component *component = dai->component;
2883 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2900 dev_err(component->dev, "Invalid clock id (%d)\n", clk_id);
2903 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2916 struct snd_soc_component *component = dai->component;
2917 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
2926 dev_dbg(component->dev, "PLL disabled\n");
2930 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2937 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2944 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2948 snd_soc_component_update_bits(component, RT5645_GLB_CLK,
2952 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2957 dev_err(component->dev, "Unknown PLL source %d\n", source);
2963 dev_err(component->dev, "Unsupport input clock %d\n", freq_in);
2967 dev_dbg(component->dev, "bypass=%d m=%d n=%d k=%d\n",
2971 snd_soc_component_write(component, RT5645_PLL_CTRL1,
2973 snd_soc_component_write(component, RT5645_PLL_CTRL2,
2987 struct snd_soc_component *component = dai->component;
2988 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3011 snd_soc_component_update_bits(component, RT5645_BASS_BACK,
3045 snd_soc_component_update_bits(component, RT5645_TDM_CTRL_1, mask, val);
3050 static int rt5645_set_bias_level(struct snd_soc_component *component,
3053 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3057 if (SND_SOC_BIAS_STANDBY == snd_soc_component_get_bias_level(component)) {
3058 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3064 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3067 snd_soc_component_update_bits(component, RT5645_GEN_CTRL1,
3073 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3079 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3082 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) {
3083 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1140);
3093 snd_soc_component_write(component, RT5645_DEPOP_M2, 0x1100);
3095 snd_soc_component_update_bits(component, RT5645_GEN_CTRL1,
3097 snd_soc_component_update_bits(component, RT5645_PWR_ANLG1,
3110 static void rt5645_enable_push_button_irq(struct snd_soc_component *component,
3113 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
3120 snd_soc_component_update_bits(component, RT5650_4BTN_IL_CMD1, 0x3, 0x3);
3121 snd_soc_component_update_bits(component,
3123 snd_soc_component_update_bits(component,
3125 snd_soc_component_read(component, RT5650_4BTN_IL_CMD1);
3127 snd_soc_component_read(component, RT5650_4BTN_IL_CMD1));
3129 snd_soc_component_update_bits(component, RT5650_4BTN_IL_CMD2, 0x8000, 0x0);
3130 snd_soc_component_update_bits(component, RT5645_INT_IRQ_ST, 0x8, 0x0);
3138 static int rt5645_jack_detect(struct snd_soc_component *component, int jack_insert)
3140 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
3141 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3175 dev_dbg(component->dev, "val = %d\n", val);
3180 rt5645_enable_push_button_irq(component, true);
3184 rt5645_enable_push_button_irq(component, false);
3204 rt5645_enable_push_button_irq(component, false);
3218 static int rt5645_button_detect(struct snd_soc_component *component)
3222 val = snd_soc_component_read(component, RT5650_4BTN_IL_CMD1);
3225 snd_soc_component_write(component, RT5650_4BTN_IL_CMD1, val);
3232 int rt5645_set_jack_detect(struct snd_soc_component *component,
3236 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3262 if (!rt5645->component)
3271 dev_dbg(rt5645->component->dev, "gpio_state = %d\n",
3273 report = rt5645_jack_detect(rt5645->component, gpio_state);
3282 val = snd_soc_component_read(rt5645->component, RT5645_A_JD_CTRL1) & 0x0020;
3285 val = snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0x1000;
3291 report = rt5645_jack_detect(rt5645->component, 1);
3295 if (snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0x4) {
3298 btn_type = rt5645_button_detect(rt5645->component);
3328 dev_err(rt5645->component->dev,
3343 snd_soc_component_update_bits(rt5645->component,
3345 rt5645_jack_detect(rt5645->component, 0);
3385 static int rt5645_probe(struct snd_soc_component *component)
3387 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
3388 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3390 rt5645->component = component;
3416 snd_soc_component_force_bias_level(component, SND_SOC_BIAS_OFF);
3426 component->card->long_name = rt5645->pdata.long_name;
3428 rt5645->eq_param = devm_kcalloc(component->dev,
3438 static void rt5645_remove(struct snd_soc_component *component)
3440 rt5645_reset(component);
3444 static int rt5645_suspend(struct snd_soc_component *component)
3446 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
3454 static int rt5645_resume(struct snd_soc_component *component)
3456 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);