Lines Matching defs:rt1308

3 // rt1308.c  --  RT1308 ALSA SoC amplifier component driver
28 #include "rt1308.h"
197 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
199 return regmap_multi_reg_write(rt1308->regmap, init_list,
455 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
459 rt1308->lrck = params_rate(params);
460 pre_div = rt1308_get_clk_info(rt1308->sysclk, rt1308->lrck);
463 "Unsupported clock setting %d\n", rt1308->lrck);
475 rt1308->bclk = rt1308->lrck * (32 << bclk_ms);
481 rt1308->lrck, pre_div, dai->id);
522 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
527 rt1308->master = 0;
578 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
581 if (freq == rt1308->sysclk && clk_id == rt1308->sysclk_src)
606 rt1308->sysclk = freq;
607 rt1308->sysclk_src = clk_id;
619 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
623 if (source == rt1308->pll_src && freq_in == rt1308->pll_in &&
624 freq_out == rt1308->pll_out)
630 rt1308->pll_in = 0;
631 rt1308->pll_out = 0;
679 rt1308->pll_in = freq_in;
680 rt1308->pll_out = freq_out;
681 rt1308->pll_src = source;
688 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
690 rt1308->component = component;
697 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
699 regmap_write(rt1308->regmap, RT1308_RESET, 0);
705 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
707 regcache_cache_only(rt1308->regmap, true);
708 regcache_mark_dirty(rt1308->regmap);
715 struct rt1308_priv *rt1308 = snd_soc_component_get_drvdata(component);
717 regcache_cache_only(rt1308->regmap, false);
718 regcache_sync(rt1308->regmap);
739 .name = "rt1308-aif",
783 { .compatible = "realtek,rt1308", },
798 { "rt1308", 0 },
803 static void rt1308_efuse(struct rt1308_priv *rt1308)
805 regmap_write(rt1308->regmap, RT1308_RESET, 0);
807 regmap_write(rt1308->regmap, RT1308_POWER_STATUS, 0x01800000);
809 regmap_write(rt1308->regmap, RT1308_EFUSE_1, 0x44fe0f00);
811 regmap_write(rt1308->regmap, RT1308_PVDD_OFFSET_CTL, 0x10000000);
816 struct rt1308_priv *rt1308;
820 rt1308 = devm_kzalloc(&i2c->dev, sizeof(struct rt1308_priv),
822 if (rt1308 == NULL)
825 i2c_set_clientdata(i2c, rt1308);
827 rt1308->regmap = devm_regmap_init_i2c(i2c, &rt1308_regmap);
828 if (IS_ERR(rt1308->regmap)) {
829 ret = PTR_ERR(rt1308->regmap);
835 regmap_read(rt1308->regmap, RT1308_VEN_DEV_ID, &val);
839 "Device with ID register %x is not rt1308\n", val);
843 rt1308_efuse(rt1308);
852 struct rt1308_priv *rt1308 = i2c_get_clientdata(client);
854 regmap_write(rt1308->regmap, RT1308_RESET, 0);
859 .name = "rt1308",