Lines Matching refs:rt1305

250 	struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component);  in rt1305_reg_init()  local
252 regmap_multi_reg_write(rt1305->regmap, init_list, RT1305_INIT_REG_LEN); in rt1305_reg_init()
414 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_is_rc_clk_from_pll() local
419 if (rt1305->sysclk_src == RT1305_FS_SYS_PRE_S_PLL1 && in rt1305_is_rc_clk_from_pll()
431 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_is_sys_clk_from_pll() local
433 if (rt1305->sysclk_src == RT1305_FS_SYS_PRE_S_PLL1) in rt1305_is_sys_clk_from_pll()
631 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_hw_params() local
635 rt1305->lrck = params_rate(params); in rt1305_hw_params()
636 pre_div = rt1305_get_clk_info(rt1305->sysclk, rt1305->lrck); in rt1305_hw_params()
640 rt1305->lrck * 64, rt1305->lrck * 256); in rt1305_hw_params()
642 rt1305->lrck * 256, SND_SOC_CLOCK_IN); in rt1305_hw_params()
653 rt1305->bclk = rt1305->lrck * (32 << bclk_ms); in rt1305_hw_params()
659 rt1305->lrck, pre_div, dai->id); in rt1305_hw_params()
700 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_set_dai_fmt() local
706 rt1305->master = 1; in rt1305_set_dai_fmt()
710 rt1305->master = 0; in rt1305_set_dai_fmt()
760 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_set_component_sysclk() local
763 if (freq == rt1305->sysclk && clk_id == rt1305->sysclk_src) in rt1305_set_component_sysclk()
785 rt1305->sysclk = freq; in rt1305_set_component_sysclk()
786 rt1305->sysclk_src = clk_id; in rt1305_set_component_sysclk()
798 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_set_component_pll() local
802 if (source == rt1305->pll_src && freq_in == rt1305->pll_in && in rt1305_set_component_pll()
803 freq_out == rt1305->pll_out) in rt1305_set_component_pll()
809 rt1305->pll_in = 0; in rt1305_set_component_pll()
810 rt1305->pll_out = 0; in rt1305_set_component_pll()
861 rt1305->pll_in = freq_in; in rt1305_set_component_pll()
862 rt1305->pll_out = freq_out; in rt1305_set_component_pll()
863 rt1305->pll_src = source; in rt1305_set_component_pll()
870 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_probe() local
872 rt1305->component = component; in rt1305_probe()
882 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_remove() local
884 rt1305_reset(rt1305->regmap); in rt1305_remove()
890 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_suspend() local
892 regcache_cache_only(rt1305->regmap, true); in rt1305_suspend()
893 regcache_mark_dirty(rt1305->regmap); in rt1305_suspend()
900 struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); in rt1305_resume() local
902 regcache_cache_only(rt1305->regmap, false); in rt1305_resume()
903 regcache_sync(rt1305->regmap); in rt1305_resume()
994 static void rt1305_calibrate(struct rt1305_priv *rt1305) in rt1305_calibrate() argument
1000 regcache_cache_bypass(rt1305->regmap, true); in rt1305_calibrate()
1002 rt1305_reset(rt1305->regmap); in rt1305_calibrate()
1003 regmap_write(rt1305->regmap, RT1305_ADC_SET_3, 0x0219); in rt1305_calibrate()
1004 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xcf, 0x5548); in rt1305_calibrate()
1005 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc1, 0x0320); in rt1305_calibrate()
1006 regmap_write(rt1305->regmap, RT1305_CLOCK_DETECT, 0x1000); in rt1305_calibrate()
1007 regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0600); in rt1305_calibrate()
1008 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xffd0); in rt1305_calibrate()
1009 regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0080); in rt1305_calibrate()
1010 regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880); in rt1305_calibrate()
1011 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0dfe); in rt1305_calibrate()
1014 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x0442); in rt1305_calibrate()
1016 regmap_write(rt1305->regmap, RT1305_CAL_EFUSE_CLOCK, 0xb000); in rt1305_calibrate()
1017 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc3, 0xd4a0); in rt1305_calibrate()
1018 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xcc, 0x00cc); in rt1305_calibrate()
1019 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc1, 0x0320); in rt1305_calibrate()
1020 regmap_write(rt1305->regmap, RT1305_POWER_STATUS, 0x0000); in rt1305_calibrate()
1021 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0xffff); in rt1305_calibrate()
1022 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfc20); in rt1305_calibrate()
1023 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x06, 0x00c0); in rt1305_calibrate()
1024 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfca0); in rt1305_calibrate()
1025 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfce0); in rt1305_calibrate()
1026 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfcf0); in rt1305_calibrate()
1029 regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0080); in rt1305_calibrate()
1030 regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880); in rt1305_calibrate()
1031 regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880); in rt1305_calibrate()
1032 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfce0); in rt1305_calibrate()
1033 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfca0); in rt1305_calibrate()
1034 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfc20); in rt1305_calibrate()
1035 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x06, 0x0000); in rt1305_calibrate()
1036 regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0000); in rt1305_calibrate()
1038 regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_5, &valmsb); in rt1305_calibrate()
1039 regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_6, &vallsb); in rt1305_calibrate()
1041 regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_7, &valmsb); in rt1305_calibrate()
1042 regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_8, &vallsb); in rt1305_calibrate()
1047 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x9542); in rt1305_calibrate()
1048 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfcf0); in rt1305_calibrate()
1049 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0xffff); in rt1305_calibrate()
1050 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x1dfe); in rt1305_calibrate()
1051 regmap_write(rt1305->regmap, RT1305_SILENCE_DETECT, 0x0e13); in rt1305_calibrate()
1052 regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0650); in rt1305_calibrate()
1054 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x50, 0x0064); in rt1305_calibrate()
1055 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x51, 0x0770); in rt1305_calibrate()
1056 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x52, 0xc30c); in rt1305_calibrate()
1057 regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0x8200); in rt1305_calibrate()
1058 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xfb00); in rt1305_calibrate()
1059 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xff80); in rt1305_calibrate()
1061 regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x55, &rh); in rt1305_calibrate()
1062 regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x56, &rl); in rt1305_calibrate()
1074 regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0x9200); in rt1305_calibrate()
1075 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xfb00); in rt1305_calibrate()
1076 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xff80); in rt1305_calibrate()
1078 regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x55, &rh); in rt1305_calibrate()
1079 regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x56, &rl); in rt1305_calibrate()
1091 regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0xc2ec); in rt1305_calibrate()
1095 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x4e, in rt1305_calibrate()
1097 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x4f, in rt1305_calibrate()
1099 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xfe, in rt1305_calibrate()
1101 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xfd, in rt1305_calibrate()
1108 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0dfe); in rt1305_calibrate()
1110 regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x0442); in rt1305_calibrate()
1111 regmap_write(rt1305->regmap, RT1305_CLOCK_DETECT, 0x3000); in rt1305_calibrate()
1112 regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0400); in rt1305_calibrate()
1113 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0000); in rt1305_calibrate()
1114 regmap_write(rt1305->regmap, RT1305_CAL_EFUSE_CLOCK, 0x8000); in rt1305_calibrate()
1115 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0x1020); in rt1305_calibrate()
1116 regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0x0000); in rt1305_calibrate()
1118 regcache_cache_bypass(rt1305->regmap, false); in rt1305_calibrate()
1124 struct rt1305_priv *rt1305; in rt1305_i2c_probe() local
1128 rt1305 = devm_kzalloc(&i2c->dev, sizeof(struct rt1305_priv), in rt1305_i2c_probe()
1130 if (rt1305 == NULL) in rt1305_i2c_probe()
1133 i2c_set_clientdata(i2c, rt1305); in rt1305_i2c_probe()
1135 rt1305->regmap = devm_regmap_init_i2c(i2c, &rt1305_regmap); in rt1305_i2c_probe()
1136 if (IS_ERR(rt1305->regmap)) { in rt1305_i2c_probe()
1137 ret = PTR_ERR(rt1305->regmap); in rt1305_i2c_probe()
1143 regmap_read(rt1305->regmap, RT1305_DEVICE_ID, &val); in rt1305_i2c_probe()
1150 rt1305_reset(rt1305->regmap); in rt1305_i2c_probe()
1151 rt1305_calibrate(rt1305); in rt1305_i2c_probe()
1160 struct rt1305_priv *rt1305 = i2c_get_clientdata(client); in rt1305_i2c_shutdown() local
1162 rt1305_reset(rt1305->regmap); in rt1305_i2c_shutdown()