Lines Matching defs:component
3 * rt5668.c -- RT5668B ALSA SoC audio component driver
44 struct snd_soc_component *component;
804 * @component: SoC audio component device.
813 * set of filters specified by the mask. And the component driver will turn on
816 int rt5668_sel_asrc_clk_src(struct snd_soc_component *component,
831 snd_soc_component_update_bits(component, RT5668_PLL_TRACK_2,
837 snd_soc_component_update_bits(component, RT5668_PLL_TRACK_3,
846 static int rt5668_button_detect(struct snd_soc_component *component)
850 val = snd_soc_component_read(component, RT5668_4BTN_IL_CMD_1);
852 snd_soc_component_write(component, RT5668_4BTN_IL_CMD_1, val);
858 static void rt5668_enable_push_button_irq(struct snd_soc_component *component,
862 snd_soc_component_update_bits(component, RT5668_SAR_IL_CMD_1,
864 snd_soc_component_update_bits(component, RT5668_SAR_IL_CMD_13,
866 snd_soc_component_write(component, RT5668_IL_CMD_1, 0x0040);
867 snd_soc_component_update_bits(component, RT5668_4BTN_IL_CMD_2,
870 snd_soc_component_update_bits(component, RT5668_IRQ_CTRL_3,
873 snd_soc_component_update_bits(component, RT5668_IRQ_CTRL_3,
875 snd_soc_component_update_bits(component, RT5668_SAR_IL_CMD_1,
877 snd_soc_component_update_bits(component, RT5668_4BTN_IL_CMD_2,
879 snd_soc_component_update_bits(component, RT5668_4BTN_IL_CMD_2,
881 snd_soc_component_update_bits(component, RT5668_SAR_IL_CMD_13,
888 * @component: SoC audio component device.
895 static int rt5668_headset_detect(struct snd_soc_component *component,
898 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
900 snd_soc_component_get_dapm(component);
906 snd_soc_component_update_bits(component, RT5668_CBJ_CTRL_1,
910 val = snd_soc_component_read(component, RT5668_CBJ_CTRL_2)
914 val = snd_soc_component_read(component,
923 rt5668_enable_push_button_irq(component, true);
930 rt5668_enable_push_button_irq(component, false);
931 snd_soc_component_update_bits(component, RT5668_CBJ_CTRL_1,
939 dev_dbg(component->dev, "jack_type = %d\n", rt5668->jack_type);
958 if (snd_soc_component_read(rt5668->component, RT5668_AJD1_CTRL)
961 rt5668->jack_type = rt5668_headset_detect(rt5668->component, 0);
972 static int rt5668_set_jack_detect(struct snd_soc_component *component,
975 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
979 snd_soc_component_update_bits(component, RT5668_CBJ_CTRL_2,
981 snd_soc_component_write(component, RT5668_CBJ_CTRL_1, 0xd002);
982 snd_soc_component_update_bits(component, RT5668_CBJ_CTRL_3,
984 snd_soc_component_update_bits(component, RT5668_SAR_IL_CMD_1,
1010 dev_warn(component->dev, "Wrong JD source\n");
1025 if (!rt5668->component || !rt5668->component->card ||
1026 !rt5668->component->card->instantiated) {
1035 val = snd_soc_component_read(rt5668->component, RT5668_AJD1_CTRL)
1042 rt5668_headset_detect(rt5668->component, 1);
1046 btn_type = rt5668_button_detect(rt5668->component);
1079 dev_err(rt5668->component->dev,
1087 rt5668->jack_type = rt5668_headset_detect(rt5668->component, 0);
1173 struct snd_soc_component *component =
1175 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
1181 snd_soc_component_update_bits(component, RT5668_DMIC_CTRL_1,
1190 struct snd_soc_component *component =
1192 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
1196 val = snd_soc_component_read(component, RT5668_GPIO_CTRL_1) &
1211 snd_soc_component_update_bits(component, reg,
1221 struct snd_soc_component *component =
1224 val = snd_soc_component_read(component, RT5668_GLB_CLK);
1236 struct snd_soc_component *component =
1252 val = (snd_soc_component_read(component, reg) >> shift) & 0xf;
1422 struct snd_soc_component *component =
1427 snd_soc_component_write(component,
1429 snd_soc_component_write(component,
1431 snd_soc_component_update_bits(component, RT5668_STO_NG2_CTRL_1,
1433 snd_soc_component_update_bits(component,
1438 snd_soc_component_update_bits(component,
1440 snd_soc_component_write(component,
1471 struct snd_soc_component *component =
1478 snd_soc_component_update_bits(component,
1483 snd_soc_component_update_bits(component,
1496 snd_soc_component_update_bits(component,
1502 snd_soc_component_update_bits(component,
1870 struct snd_soc_component *component = dai->component;
1892 snd_soc_component_update_bits(component, RT5668_TDM_CTRL,
1912 snd_soc_component_update_bits(component, RT5668_TDM_TCON_CTRL,
1922 struct snd_soc_component *component = dai->component;
1923 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
1932 dev_err(component->dev, "Unsupported frame size: %d\n",
1965 snd_soc_component_update_bits(component, RT5668_I2S1_SDP,
1968 snd_soc_component_update_bits(component,
1973 snd_soc_component_update_bits(component,
1977 snd_soc_component_update_bits(component,
1982 snd_soc_component_update_bits(component, RT5668_I2S2_SDP,
1985 snd_soc_component_update_bits(component,
1990 snd_soc_component_update_bits(component,
1994 snd_soc_component_update_bits(component,
1999 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2008 struct snd_soc_component *component = dai->component;
2009 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2068 snd_soc_component_update_bits(component, RT5668_I2S1_SDP,
2070 snd_soc_component_update_bits(component, RT5668_TDM_TCON_CTRL,
2079 snd_soc_component_update_bits(component, RT5668_I2S2_SDP,
2084 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id);
2090 static int rt5668_set_component_sysclk(struct snd_soc_component *component,
2093 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2117 dev_err(component->dev, "Invalid clock id (%d)\n", clk_id);
2120 snd_soc_component_update_bits(component, RT5668_GLB_CLK,
2124 snd_soc_component_update_bits(component,
2132 dev_dbg(component->dev, "Sysclk is %dHz and clock id is %d\n",
2138 static int rt5668_set_component_pll(struct snd_soc_component *component,
2142 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2151 dev_dbg(component->dev, "PLL disabled\n");
2155 snd_soc_component_update_bits(component, RT5668_GLB_CLK,
2162 snd_soc_component_update_bits(component, RT5668_GLB_CLK,
2166 snd_soc_component_update_bits(component, RT5668_GLB_CLK,
2170 dev_err(component->dev, "Unknown PLL Source %d\n", source);
2176 dev_err(component->dev, "Unsupport input clock %d\n", freq_in);
2180 dev_dbg(component->dev, "bypass=%d m=%d n=%d k=%d\n",
2184 snd_soc_component_write(component, RT5668_PLL_CTRL_1,
2186 snd_soc_component_write(component, RT5668_PLL_CTRL_2,
2199 struct snd_soc_component *component = dai->component;
2200 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2206 snd_soc_component_update_bits(component, RT5668_ADDA_CLK_2,
2211 snd_soc_component_update_bits(component, RT5668_ADDA_CLK_2,
2223 static int rt5668_set_bias_level(struct snd_soc_component *component,
2226 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2258 static int rt5668_probe(struct snd_soc_component *component)
2260 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2262 rt5668->component = component;
2267 static void rt5668_remove(struct snd_soc_component *component)
2269 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2275 static int rt5668_suspend(struct snd_soc_component *component)
2277 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);
2284 static int rt5668_resume(struct snd_soc_component *component)
2286 struct rt5668_priv *rt5668 = snd_soc_component_get_drvdata(component);