Lines Matching refs:rt5640

463 	struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec);  in set_dmic_clk()  local
466 rate = rt5640->sysclk / rl6231_get_pre_div(rt5640->regmap, in set_dmic_clk()
921 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in hp_amp_power_on() local
924 regmap_update_bits(rt5640->regmap, RT5640_PR_BASE + in hp_amp_power_on()
926 regmap_update_bits(rt5640->regmap, RT5640_DEPOP_M2, in hp_amp_power_on()
928 regmap_update_bits(rt5640->regmap, RT5640_DEPOP_M1, in hp_amp_power_on()
931 regmap_write(rt5640->regmap, RT5640_PR_BASE + RT5640_HP_DCC_INT1, in hp_amp_power_on()
934 regmap_update_bits(rt5640->regmap, RT5640_PWR_ANLG1, in hp_amp_power_on()
936 regmap_update_bits(rt5640->regmap, RT5640_PWR_ANLG1, in hp_amp_power_on()
940 regmap_update_bits(rt5640->regmap, RT5640_PWR_ANLG1, in hp_amp_power_on()
947 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_pmu_depop() local
949 regmap_update_bits(rt5640->regmap, RT5640_DEPOP_M2, in rt5640_pmu_depop()
952 regmap_update_bits(rt5640->regmap, RT5640_CHARGE_PUMP, in rt5640_pmu_depop()
955 regmap_update_bits(rt5640->regmap, RT5640_DEPOP_M3, in rt5640_pmu_depop()
961 regmap_write(rt5640->regmap, RT5640_PR_BASE + in rt5640_pmu_depop()
963 regmap_update_bits(rt5640->regmap, RT5640_DEPOP_M1, in rt5640_pmu_depop()
966 regmap_update_bits(rt5640->regmap, RT5640_PR_BASE + in rt5640_pmu_depop()
974 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_hp_event() local
979 rt5640->hp_mute = 0; in rt5640_hp_event()
983 rt5640->hp_mute = 1; in rt5640_hp_event()
1043 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_hp_post_event() local
1047 if (!rt5640->hp_mute) in rt5640_hp_post_event()
1683 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_hw_params() local
1687 rt5640->lrck[dai->id] = params_rate(params); in rt5640_hw_params()
1688 pre_div = rl6231_get_clk_info(rt5640->sysclk, rt5640->lrck[dai->id]); in rt5640_hw_params()
1691 rt5640->lrck[dai->id], dai->id); in rt5640_hw_params()
1703 rt5640->bclk[dai->id] = rt5640->lrck[dai->id] * (32 << bclk_ms); in rt5640_hw_params()
1706 rt5640->bclk[dai->id], rt5640->lrck[dai->id]); in rt5640_hw_params()
1754 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_set_dai_fmt() local
1760 rt5640->master[dai->id] = 1; in rt5640_set_dai_fmt()
1764 rt5640->master[dai->id] = 0; in rt5640_set_dai_fmt()
1819 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_set_dai_sysclk() local
1822 if (freq == rt5640->sysclk && clk_id == rt5640->sysclk_src) in rt5640_set_dai_sysclk()
1838 rt5640->sysclk = freq; in rt5640_set_dai_sysclk()
1839 rt5640->sysclk_src = clk_id; in rt5640_set_dai_sysclk()
1849 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_set_dai_pll() local
1853 if (source == rt5640->pll_src && freq_in == rt5640->pll_in && in rt5640_set_dai_pll()
1854 freq_out == rt5640->pll_out) in rt5640_set_dai_pll()
1860 rt5640->pll_in = 0; in rt5640_set_dai_pll()
1861 rt5640->pll_out = 0; in rt5640_set_dai_pll()
1910 rt5640->pll_in = freq_in; in rt5640_set_dai_pll()
1911 rt5640->pll_out = freq_out; in rt5640_set_dai_pll()
1912 rt5640->pll_src = source; in rt5640_set_dai_pll()
1961 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_dmic_enable() local
1963 regmap_update_bits(rt5640->regmap, RT5640_GPIO_CTRL1, in rt5640_dmic_enable()
1967 regmap_update_bits(rt5640->regmap, RT5640_DMIC, in rt5640_dmic_enable()
1969 regmap_update_bits(rt5640->regmap, RT5640_GPIO_CTRL1, in rt5640_dmic_enable()
1974 regmap_update_bits(rt5640->regmap, RT5640_DMIC, in rt5640_dmic_enable()
1976 regmap_update_bits(rt5640->regmap, RT5640_GPIO_CTRL1, in rt5640_dmic_enable()
1987 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_probe() local
1989 rt5640->codec = codec; in rt5640_probe()
2024 if (rt5640->pdata.dmic_en) in rt5640_probe()
2025 rt5640_dmic_enable(codec, rt5640->pdata.dmic1_data_pin, in rt5640_probe()
2026 rt5640->pdata.dmic2_data_pin); in rt5640_probe()
2041 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_suspend() local
2045 regcache_cache_only(rt5640->regmap, true); in rt5640_suspend()
2046 regcache_mark_dirty(rt5640->regmap); in rt5640_suspend()
2047 if (gpio_is_valid(rt5640->pdata.ldo1_en)) in rt5640_suspend()
2048 gpio_set_value_cansleep(rt5640->pdata.ldo1_en, 0); in rt5640_suspend()
2055 struct rt5640_priv *rt5640 = snd_soc_codec_get_drvdata(codec); in rt5640_resume() local
2057 if (gpio_is_valid(rt5640->pdata.ldo1_en)) { in rt5640_resume()
2058 gpio_set_value_cansleep(rt5640->pdata.ldo1_en, 1); in rt5640_resume()
2062 regcache_cache_only(rt5640->regmap, false); in rt5640_resume()
2063 regcache_sync(rt5640->regmap); in rt5640_resume()
2183 static int rt5640_parse_dt(struct rt5640_priv *rt5640, struct device_node *np) in rt5640_parse_dt() argument
2185 rt5640->pdata.in1_diff = of_property_read_bool(np, in rt5640_parse_dt()
2187 rt5640->pdata.in2_diff = of_property_read_bool(np, in rt5640_parse_dt()
2190 rt5640->pdata.ldo1_en = of_get_named_gpio(np, in rt5640_parse_dt()
2198 if (!gpio_is_valid(rt5640->pdata.ldo1_en) && in rt5640_parse_dt()
2199 (rt5640->pdata.ldo1_en != -ENOENT)) in rt5640_parse_dt()
2200 return rt5640->pdata.ldo1_en; in rt5640_parse_dt()
2209 struct rt5640_priv *rt5640; in rt5640_i2c_probe() local
2213 rt5640 = devm_kzalloc(&i2c->dev, in rt5640_i2c_probe()
2216 if (NULL == rt5640) in rt5640_i2c_probe()
2218 i2c_set_clientdata(i2c, rt5640); in rt5640_i2c_probe()
2221 rt5640->pdata = *pdata; in rt5640_i2c_probe()
2228 if (!rt5640->pdata.ldo1_en) in rt5640_i2c_probe()
2229 rt5640->pdata.ldo1_en = -EINVAL; in rt5640_i2c_probe()
2231 ret = rt5640_parse_dt(rt5640, i2c->dev.of_node); in rt5640_i2c_probe()
2235 rt5640->pdata.ldo1_en = -EINVAL; in rt5640_i2c_probe()
2237 rt5640->regmap = devm_regmap_init_i2c(i2c, &rt5640_regmap); in rt5640_i2c_probe()
2238 if (IS_ERR(rt5640->regmap)) { in rt5640_i2c_probe()
2239 ret = PTR_ERR(rt5640->regmap); in rt5640_i2c_probe()
2245 if (gpio_is_valid(rt5640->pdata.ldo1_en)) { in rt5640_i2c_probe()
2246 ret = devm_gpio_request_one(&i2c->dev, rt5640->pdata.ldo1_en, in rt5640_i2c_probe()
2251 rt5640->pdata.ldo1_en, ret); in rt5640_i2c_probe()
2257 regmap_read(rt5640->regmap, RT5640_VENDOR_ID2, &val); in rt5640_i2c_probe()
2264 regmap_write(rt5640->regmap, RT5640_RESET, 0); in rt5640_i2c_probe()
2266 ret = regmap_register_patch(rt5640->regmap, init_list, in rt5640_i2c_probe()
2271 if (rt5640->pdata.in1_diff) in rt5640_i2c_probe()
2272 regmap_update_bits(rt5640->regmap, RT5640_IN1_IN2, in rt5640_i2c_probe()
2275 if (rt5640->pdata.in2_diff) in rt5640_i2c_probe()
2276 regmap_update_bits(rt5640->regmap, RT5640_IN3_IN4, in rt5640_i2c_probe()
2279 if (rt5640->pdata.in3_diff) in rt5640_i2c_probe()
2280 regmap_update_bits(rt5640->regmap, RT5640_IN1_IN2, in rt5640_i2c_probe()
2283 rt5640->hp_mute = 1; in rt5640_i2c_probe()