Lines Matching refs:rt1308

199 	struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);  in rt1308_reg_init()  local
201 return regmap_multi_reg_write(rt1308->regmap, init_list, in rt1308_reg_init()
457 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_hw_params() local
461 rt1308->lrck = params_rate(params); in rt1308_hw_params()
462 pre_div = rt1308_get_clk_info(rt1308->sysclk, rt1308->lrck); in rt1308_hw_params()
465 "Unsupported clock setting %d\n", rt1308->lrck); in rt1308_hw_params()
477 rt1308->bclk = rt1308->lrck * (32 << bclk_ms); in rt1308_hw_params()
483 rt1308->lrck, pre_div, dai->id); in rt1308_hw_params()
524 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_set_dai_fmt() local
529 rt1308->master = 0; in rt1308_set_dai_fmt()
580 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_set_component_sysclk() local
583 if (freq == rt1308->sysclk && clk_id == rt1308->sysclk_src) in rt1308_set_component_sysclk()
608 rt1308->sysclk = freq; in rt1308_set_component_sysclk()
609 rt1308->sysclk_src = clk_id; in rt1308_set_component_sysclk()
621 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_set_component_pll() local
625 if (source == rt1308->pll_src && freq_in == rt1308->pll_in && in rt1308_set_component_pll()
626 freq_out == rt1308->pll_out) in rt1308_set_component_pll()
632 rt1308->pll_in = 0; in rt1308_set_component_pll()
633 rt1308->pll_out = 0; in rt1308_set_component_pll()
681 rt1308->pll_in = freq_in; in rt1308_set_component_pll()
682 rt1308->pll_out = freq_out; in rt1308_set_component_pll()
683 rt1308->pll_src = source; in rt1308_set_component_pll()
690 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_probe() local
692 rt1308->component = component; in rt1308_probe()
699 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_remove() local
701 regmap_write(rt1308->regmap, RT1308_RESET, 0); in rt1308_remove()
707 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_suspend() local
709 regcache_cache_only(rt1308->regmap, true); in rt1308_suspend()
710 regcache_mark_dirty(rt1308->regmap); in rt1308_suspend()
717 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component); in rt1308_resume() local
719 regcache_cache_only(rt1308->regmap, false); in rt1308_resume()
720 regcache_sync(rt1308->regmap); in rt1308_resume()
806 static void rt1308_efuse(struct rt1308_priv *rt1308) in rt1308_efuse() argument
808 regmap_write(rt1308->regmap, RT1308_RESET, 0); in rt1308_efuse()
810 regmap_write(rt1308->regmap, RT1308_POWER_STATUS, 0x01800000); in rt1308_efuse()
812 regmap_write(rt1308->regmap, RT1308_EFUSE_1, 0x44fe0f00); in rt1308_efuse()
814 regmap_write(rt1308->regmap, RT1308_PVDD_OFFSET_CTL, 0x10000000); in rt1308_efuse()
820 struct rt1308_priv *rt1308; in rt1308_i2c_probe() local
824 rt1308 = devm_kzalloc(&i2c->dev, sizeof(struct rt1308_priv), in rt1308_i2c_probe()
826 if (rt1308 == NULL) in rt1308_i2c_probe()
829 i2c_set_clientdata(i2c, rt1308); in rt1308_i2c_probe()
831 rt1308->regmap = devm_regmap_init_i2c(i2c, &rt1308_regmap); in rt1308_i2c_probe()
832 if (IS_ERR(rt1308->regmap)) { in rt1308_i2c_probe()
833 ret = PTR_ERR(rt1308->regmap); in rt1308_i2c_probe()
839 regmap_read(rt1308->regmap, RT1308_VEN_DEV_ID, &val); in rt1308_i2c_probe()
847 rt1308_efuse(rt1308); in rt1308_i2c_probe()
856 struct rt1308_priv *rt1308 = i2c_get_clientdata(client); in rt1308_i2c_shutdown() local
858 regmap_write(rt1308->regmap, RT1308_RESET, 0); in rt1308_i2c_shutdown()