Lines Matching full:component

3 // rt5682.c  --  RT5682 ALSA SoC audio component driver
827 * @component: SoC audio component device.
836 * set of filters specified by the mask. And the component driver will turn on
839 int rt5682_sel_asrc_clk_src(struct snd_soc_component *component, in rt5682_sel_asrc_clk_src() argument
853 snd_soc_component_update_bits(component, RT5682_PLL_TRACK_2, in rt5682_sel_asrc_clk_src()
859 snd_soc_component_update_bits(component, RT5682_PLL_TRACK_3, in rt5682_sel_asrc_clk_src()
868 static int rt5682_button_detect(struct snd_soc_component *component) in rt5682_button_detect() argument
872 val = snd_soc_component_read(component, RT5682_4BTN_IL_CMD_1); in rt5682_button_detect()
874 snd_soc_component_write(component, RT5682_4BTN_IL_CMD_1, val); in rt5682_button_detect()
875 dev_dbg(component->dev, "%s btn_type=%x\n", __func__, btn_type); in rt5682_button_detect()
876 snd_soc_component_update_bits(component, in rt5682_button_detect()
882 static void rt5682_enable_push_button_irq(struct snd_soc_component *component, in rt5682_enable_push_button_irq() argument
885 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_enable_push_button_irq()
888 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_1, in rt5682_enable_push_button_irq()
890 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_13, in rt5682_enable_push_button_irq()
892 snd_soc_component_write(component, RT5682_IL_CMD_1, 0x0040); in rt5682_enable_push_button_irq()
893 snd_soc_component_update_bits(component, RT5682_4BTN_IL_CMD_2, in rt5682_enable_push_button_irq()
897 snd_soc_component_update_bits(component, in rt5682_enable_push_button_irq()
902 snd_soc_component_update_bits(component, in rt5682_enable_push_button_irq()
906 snd_soc_component_update_bits(component, RT5682_IRQ_CTRL_3, in rt5682_enable_push_button_irq()
908 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_1, in rt5682_enable_push_button_irq()
910 snd_soc_component_update_bits(component, RT5682_4BTN_IL_CMD_2, in rt5682_enable_push_button_irq()
912 snd_soc_component_update_bits(component, RT5682_4BTN_IL_CMD_2, in rt5682_enable_push_button_irq()
914 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_13, in rt5682_enable_push_button_irq()
921 * @component: SoC audio component device.
928 static int rt5682_headset_detect(struct snd_soc_component *component, int jack_insert) in rt5682_headset_detect() argument
930 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_headset_detect()
931 struct snd_soc_dapm_context *dapm = &component->dapm; in rt5682_headset_detect()
935 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_1, in rt5682_headset_detect()
938 snd_soc_component_update_bits(component, in rt5682_headset_detect()
941 snd_soc_component_update_bits(component, in rt5682_headset_detect()
943 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_3, in rt5682_headset_detect()
945 snd_soc_component_update_bits(component, in rt5682_headset_detect()
948 rt5682_enable_push_button_irq(component, false); in rt5682_headset_detect()
949 snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1, in rt5682_headset_detect()
952 snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1, in rt5682_headset_detect()
956 val = snd_soc_component_read(component, RT5682_CBJ_CTRL_2) in rt5682_headset_detect()
960 val = snd_soc_component_read(component, in rt5682_headset_detect()
969 snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1, in rt5682_headset_detect()
971 rt5682_enable_push_button_irq(component, true); in rt5682_headset_detect()
978 snd_soc_component_update_bits(component, in rt5682_headset_detect()
982 snd_soc_component_update_bits(component, RT5682_MICBIAS_2, in rt5682_headset_detect()
986 rt5682_enable_push_button_irq(component, false); in rt5682_headset_detect()
987 snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1, in rt5682_headset_detect()
992 snd_soc_component_update_bits(component, in rt5682_headset_detect()
997 snd_soc_component_update_bits(component, in rt5682_headset_detect()
999 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_3, in rt5682_headset_detect()
1001 snd_soc_component_update_bits(component, RT5682_MICBIAS_2, in rt5682_headset_detect()
1004 snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1, in rt5682_headset_detect()
1010 dev_dbg(component->dev, "jack_type = %d\n", rt5682->jack_type); in rt5682_headset_detect()
1014 static int rt5682_set_jack_detect(struct snd_soc_component *component, in rt5682_set_jack_detect() argument
1017 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_set_jack_detect()
1037 snd_soc_component_update_bits(component, in rt5682_set_jack_detect()
1039 snd_soc_component_update_bits(component, in rt5682_set_jack_detect()
1042 snd_soc_component_write(component, RT5682_CBJ_CTRL_1, in rt5682_set_jack_detect()
1044 snd_soc_component_update_bits(component, in rt5682_set_jack_detect()
1047 snd_soc_component_update_bits(component, in rt5682_set_jack_detect()
1086 dev_warn(component->dev, "Wrong JD source\n"); in rt5682_set_jack_detect()
1101 if (!rt5682->component || in rt5682_jack_detect_handler()
1102 !snd_soc_card_is_instantiated(rt5682->component->card)) { in rt5682_jack_detect_handler()
1118 dapm = snd_soc_component_get_dapm(rt5682->component); in rt5682_jack_detect_handler()
1123 val = snd_soc_component_read(rt5682->component, RT5682_AJD1_CTRL) in rt5682_jack_detect_handler()
1130 rt5682_headset_detect(rt5682->component, 1); in rt5682_jack_detect_handler()
1136 btn_type = rt5682_button_detect(rt5682->component); in rt5682_jack_detect_handler()
1168 dev_err(rt5682->component->dev, in rt5682_jack_detect_handler()
1176 rt5682->jack_type = rt5682_headset_detect(rt5682->component, 0); in rt5682_jack_detect_handler()
1225 dev_err(rt5682->component->dev, in rt5682_div_sel()
1231 dev_dbg(rt5682->component->dev, "div[%d]=%d\n", i, div[i]); in rt5682_div_sel()
1235 dev_dbg(rt5682->component->dev, in rt5682_div_sel()
1243 dev_err(rt5682->component->dev, in rt5682_div_sel()
1262 struct snd_soc_component *component = in set_dmic_clk() local
1264 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in set_dmic_clk()
1273 snd_soc_component_update_bits(component, RT5682_DMIC_CTRL_1, in set_dmic_clk()
1282 struct snd_soc_component *component = in set_filter_clk() local
1284 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in set_filter_clk()
1292 val = snd_soc_component_read(component, RT5682_GPIO_CTRL_1) & in set_filter_clk()
1307 snd_soc_component_update_bits(component, reg, in set_filter_clk()
1316 snd_soc_component_update_bits(component, RT5682_ADDA_CLK_1, in set_filter_clk()
1327 struct snd_soc_component *component = in is_sys_clk_from_pll1() local
1330 val = snd_soc_component_read(component, RT5682_GLB_CLK); in is_sys_clk_from_pll1()
1342 struct snd_soc_component *component = in is_sys_clk_from_pll2() local
1345 val = snd_soc_component_read(component, RT5682_GLB_CLK); in is_sys_clk_from_pll2()
1357 struct snd_soc_component *component = in is_using_asrc() local
1373 val = (snd_soc_component_read(component, reg) >> shift) & 0xf; in is_using_asrc()
1542 struct snd_soc_component *component = in rt5682_hp_event() local
1547 snd_soc_component_update_bits(component, RT5682_HP_CTRL_2, in rt5682_hp_event()
1549 snd_soc_component_update_bits(component, RT5682_HP_LOGIC_CTRL_2, in rt5682_hp_event()
1551 snd_soc_component_update_bits(component, in rt5682_hp_event()
1553 snd_soc_component_update_bits(component, in rt5682_hp_event()
1555 snd_soc_component_update_bits(component, RT5682_HP_CTRL_2, in rt5682_hp_event()
1559 snd_soc_component_update_bits(component, RT5682_CHARGE_PUMP_1, in rt5682_hp_event()
1564 snd_soc_component_update_bits(component, RT5682_HP_CTRL_2, in rt5682_hp_event()
1566 snd_soc_component_update_bits(component, RT5682_CHARGE_PUMP_1, in rt5682_hp_event()
1568 snd_soc_component_update_bits(component, in rt5682_hp_event()
1570 snd_soc_component_update_bits(component, in rt5682_hp_event()
1581 struct snd_soc_component *component = in set_dmic_power() local
1583 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in set_dmic_power()
1591 val = snd_soc_component_read(component, RT5682_GLB_CLK); in set_dmic_power()
1594 snd_soc_component_update_bits(component, in set_dmic_power()
1606 snd_soc_component_update_bits(component, in set_dmic_power()
1609 snd_soc_component_update_bits(component, in set_dmic_power()
1621 struct snd_soc_component *component = in rt5682_set_verf() local
1628 snd_soc_component_update_bits(component, in rt5682_set_verf()
1633 snd_soc_component_update_bits(component, in rt5682_set_verf()
1643 snd_soc_component_update_bits(component, in rt5682_set_verf()
1649 snd_soc_component_update_bits(component, in rt5682_set_verf()
2066 struct snd_soc_component *component = dai->component; in rt5682_set_tdm_slot() local
2070 snd_soc_component_update_bits(component, RT5682_TDM_ADDA_CTRL_2, in rt5682_set_tdm_slot()
2073 snd_soc_component_update_bits(component, RT5682_TDM_ADDA_CTRL_2, in rt5682_set_tdm_slot()
2095 snd_soc_component_update_bits(component, RT5682_TDM_CTRL, in rt5682_set_tdm_slot()
2124 snd_soc_component_update_bits(component, RT5682_TDM_TCON_CTRL, in rt5682_set_tdm_slot()
2126 snd_soc_component_update_bits(component, RT5682_I2S1_SDP, in rt5682_set_tdm_slot()
2135 struct snd_soc_component *component = dai->component; in rt5682_hw_params() local
2136 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_hw_params()
2145 dev_err(component->dev, "Unsupported frame size: %d\n", in rt5682_hw_params()
2178 snd_soc_component_update_bits(component, RT5682_I2S1_SDP, in rt5682_hw_params()
2181 snd_soc_component_update_bits(component, in rt5682_hw_params()
2188 snd_soc_component_update_bits(component, in rt5682_hw_params()
2192 snd_soc_component_update_bits(component, in rt5682_hw_params()
2197 snd_soc_component_update_bits(component, RT5682_I2S2_SDP, in rt5682_hw_params()
2200 snd_soc_component_update_bits(component, in rt5682_hw_params()
2205 snd_soc_component_update_bits(component, in rt5682_hw_params()
2209 snd_soc_component_update_bits(component, in rt5682_hw_params()
2214 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id); in rt5682_hw_params()
2223 struct snd_soc_component *component = dai->component; in rt5682_set_dai_fmt() local
2224 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_set_dai_fmt()
2283 snd_soc_component_update_bits(component, RT5682_I2S1_SDP, in rt5682_set_dai_fmt()
2285 snd_soc_component_update_bits(component, RT5682_TDM_TCON_CTRL, in rt5682_set_dai_fmt()
2294 snd_soc_component_update_bits(component, RT5682_I2S2_SDP, in rt5682_set_dai_fmt()
2299 dev_err(component->dev, "Invalid dai->id: %d\n", dai->id); in rt5682_set_dai_fmt()
2305 static int rt5682_set_component_sysclk(struct snd_soc_component *component, in rt5682_set_component_sysclk() argument
2308 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_set_component_sysclk()
2332 dev_err(component->dev, "Invalid clock id (%d)\n", clk_id); in rt5682_set_component_sysclk()
2335 snd_soc_component_update_bits(component, RT5682_GLB_CLK, in rt5682_set_component_sysclk()
2339 snd_soc_component_update_bits(component, in rt5682_set_component_sysclk()
2347 dev_dbg(component->dev, "Sysclk is %dHz and clock id is %d\n", in rt5682_set_component_sysclk()
2353 static int rt5682_set_component_pll(struct snd_soc_component *component, in rt5682_set_component_pll() argument
2357 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_set_component_pll()
2368 dev_dbg(component->dev, "PLL disabled\n"); in rt5682_set_component_pll()
2372 snd_soc_component_update_bits(component, RT5682_GLB_CLK, in rt5682_set_component_pll()
2380 snd_soc_component_update_bits(component, in rt5682_set_component_pll()
2385 dev_err(component->dev, "Unknown PLL2 Source %d\n", in rt5682_set_component_pll()
2397 dev_err(component->dev, "Unsupported input clock %d\n", in rt5682_set_component_pll()
2401 dev_dbg(component->dev, "PLL2F: fin=%d fout=%d bypass=%d m=%d n=%d k=%d\n", in rt5682_set_component_pll()
2409 dev_err(component->dev, "Unsupported input clock %d\n", in rt5682_set_component_pll()
2413 dev_dbg(component->dev, "PLL2B: fin=%d fout=%d bypass=%d m=%d n=%d k=%d\n", in rt5682_set_component_pll()
2419 snd_soc_component_write(component, RT5682_PLL2_CTRL_1, in rt5682_set_component_pll()
2423 snd_soc_component_write(component, RT5682_PLL2_CTRL_2, in rt5682_set_component_pll()
2426 snd_soc_component_write(component, RT5682_PLL2_CTRL_3, in rt5682_set_component_pll()
2433 snd_soc_component_update_bits(component, RT5682_PLL2_CTRL_4, in rt5682_set_component_pll()
2443 snd_soc_component_update_bits(component, in rt5682_set_component_pll()
2448 snd_soc_component_update_bits(component, in rt5682_set_component_pll()
2453 dev_err(component->dev, "Unknown PLL1 Source %d\n", in rt5682_set_component_pll()
2460 dev_err(component->dev, "Unsupported input clock %d\n", in rt5682_set_component_pll()
2465 dev_dbg(component->dev, "bypass=%d m=%d n=%d k=%d\n", in rt5682_set_component_pll()
2469 snd_soc_component_write(component, RT5682_PLL_CTRL_1, in rt5682_set_component_pll()
2471 snd_soc_component_write(component, RT5682_PLL_CTRL_2, in rt5682_set_component_pll()
2485 struct snd_soc_component *component = dai->component; in rt5682_set_bclk1_ratio() local
2486 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_set_bclk1_ratio()
2492 snd_soc_component_update_bits(component, RT5682_TDM_TCON_CTRL, in rt5682_set_bclk1_ratio()
2496 snd_soc_component_update_bits(component, RT5682_TDM_TCON_CTRL, in rt5682_set_bclk1_ratio()
2500 snd_soc_component_update_bits(component, RT5682_TDM_TCON_CTRL, in rt5682_set_bclk1_ratio()
2504 snd_soc_component_update_bits(component, RT5682_TDM_TCON_CTRL, in rt5682_set_bclk1_ratio()
2517 struct snd_soc_component *component = dai->component; in rt5682_set_bclk2_ratio() local
2518 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_set_bclk2_ratio()
2524 snd_soc_component_update_bits(component, RT5682_ADDA_CLK_2, in rt5682_set_bclk2_ratio()
2529 snd_soc_component_update_bits(component, RT5682_ADDA_CLK_2, in rt5682_set_bclk2_ratio()
2541 static int rt5682_set_bias_level(struct snd_soc_component *component, in rt5682_set_bias_level() argument
2544 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_set_bias_level()
2591 struct snd_soc_component *component; in rt5682_wclk_prepare() local
2597 component = rt5682->component; in rt5682_wclk_prepare()
2598 dapm = snd_soc_component_get_dapm(component); in rt5682_wclk_prepare()
2603 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_1, in rt5682_wclk_prepare()
2607 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_1, in rt5682_wclk_prepare()
2611 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_1, in rt5682_wclk_prepare()
2629 struct snd_soc_component *component; in rt5682_wclk_unprepare() local
2635 component = rt5682->component; in rt5682_wclk_unprepare()
2636 dapm = snd_soc_component_get_dapm(component); in rt5682_wclk_unprepare()
2643 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_1, in rt5682_wclk_unprepare()
2707 struct snd_soc_component *component; in rt5682_wclk_set_rate() local
2716 component = rt5682->component; in rt5682_wclk_set_rate()
2740 rt5682_set_component_pll(component, RT5682_PLL2, RT5682_PLL2_S_MCLK, in rt5682_wclk_set_rate()
2743 rt5682_set_component_sysclk(component, RT5682_SCLK_S_PLL2, 0, in rt5682_wclk_set_rate()
2750 snd_soc_component_update_bits(component, RT5682_ADDA_CLK_1, in rt5682_wclk_set_rate()
2829 struct snd_soc_component *component; in rt5682_bclk_set_rate() local
2836 component = rt5682->component; in rt5682_bclk_set_rate()
2840 for_each_component_dais(component, dai) in rt5682_bclk_set_rate()
2844 dev_err(rt5682->i2c_dev, "dai %d not found in component\n", in rt5682_bclk_set_rate()
2928 static int rt5682_probe(struct snd_soc_component *component) in rt5682_probe() argument
2930 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_probe()
2933 struct snd_soc_dapm_context *dapm = &component->dapm; in rt5682_probe()
2935 rt5682->component = component; in rt5682_probe()
2954 static void rt5682_remove(struct snd_soc_component *component) in rt5682_remove() argument
2956 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_remove()
2962 static int rt5682_suspend(struct snd_soc_component *component) in rt5682_suspend() argument
2964 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_suspend()
2976 val = snd_soc_component_read(component, in rt5682_suspend()
2981 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_1, in rt5682_suspend()
2986 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_1, in rt5682_suspend()
2995 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_1, in rt5682_suspend()
2999 snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1, in rt5682_suspend()
3003 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_1, in rt5682_suspend()
3006 snd_soc_component_update_bits(component, RT5682_HP_CHARGE_PUMP_1, in rt5682_suspend()
3015 static int rt5682_resume(struct snd_soc_component *component) in rt5682_resume() argument
3017 struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); in rt5682_resume()
3026 snd_soc_component_update_bits(component, RT5682_SAR_IL_CMD_1, in rt5682_resume()
3030 snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1, in rt5682_resume()
3033 snd_soc_component_update_bits(component, RT5682_PWR_ANLG_3, in rt5682_resume()
3170 dev_err(rt5682->component->dev, "HP Calibration Failure\n"); in rt5682_calibrate()