rt1305 247 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 249 sound/soc/codecs/rt1305.c regmap_multi_reg_write(rt1305->regmap, init_list, RT1305_INIT_REG_LEN); rt1305 411 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 416 sound/soc/codecs/rt1305.c if (rt1305->sysclk_src == RT1305_FS_SYS_PRE_S_PLL1 && rt1305 428 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 430 sound/soc/codecs/rt1305.c if (rt1305->sysclk_src == RT1305_FS_SYS_PRE_S_PLL1) rt1305 629 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 633 sound/soc/codecs/rt1305.c rt1305->lrck = params_rate(params); rt1305 634 sound/soc/codecs/rt1305.c pre_div = rt1305_get_clk_info(rt1305->sysclk, rt1305->lrck); rt1305 638 sound/soc/codecs/rt1305.c rt1305->lrck * 64, rt1305->lrck * 256); rt1305 640 sound/soc/codecs/rt1305.c rt1305->lrck * 256, SND_SOC_CLOCK_IN); rt1305 651 sound/soc/codecs/rt1305.c rt1305->bclk = rt1305->lrck * (32 << bclk_ms); rt1305 657 sound/soc/codecs/rt1305.c rt1305->lrck, pre_div, dai->id); rt1305 698 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 704 sound/soc/codecs/rt1305.c rt1305->master = 1; rt1305 708 sound/soc/codecs/rt1305.c rt1305->master = 0; rt1305 758 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 761 sound/soc/codecs/rt1305.c if (freq == rt1305->sysclk && clk_id == rt1305->sysclk_src) rt1305 783 sound/soc/codecs/rt1305.c rt1305->sysclk = freq; rt1305 784 sound/soc/codecs/rt1305.c rt1305->sysclk_src = clk_id; rt1305 796 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 800 sound/soc/codecs/rt1305.c if (source == rt1305->pll_src && freq_in == rt1305->pll_in && rt1305 801 sound/soc/codecs/rt1305.c freq_out == rt1305->pll_out) rt1305 807 sound/soc/codecs/rt1305.c rt1305->pll_in = 0; rt1305 808 sound/soc/codecs/rt1305.c rt1305->pll_out = 0; rt1305 859 sound/soc/codecs/rt1305.c rt1305->pll_in = freq_in; rt1305 860 sound/soc/codecs/rt1305.c rt1305->pll_out = freq_out; rt1305 861 sound/soc/codecs/rt1305.c rt1305->pll_src = source; rt1305 868 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 870 sound/soc/codecs/rt1305.c rt1305->component = component; rt1305 880 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 882 sound/soc/codecs/rt1305.c rt1305_reset(rt1305->regmap); rt1305 888 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 890 sound/soc/codecs/rt1305.c regcache_cache_only(rt1305->regmap, true); rt1305 891 sound/soc/codecs/rt1305.c regcache_mark_dirty(rt1305->regmap); rt1305 898 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = snd_soc_component_get_drvdata(component); rt1305 900 sound/soc/codecs/rt1305.c regcache_cache_only(rt1305->regmap, false); rt1305 901 sound/soc/codecs/rt1305.c regcache_sync(rt1305->regmap); rt1305 993 sound/soc/codecs/rt1305.c static void rt1305_calibrate(struct rt1305_priv *rt1305) rt1305 999 sound/soc/codecs/rt1305.c regcache_cache_bypass(rt1305->regmap, true); rt1305 1001 sound/soc/codecs/rt1305.c rt1305_reset(rt1305->regmap); rt1305 1002 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_ADC_SET_3, 0x0219); rt1305 1003 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xcf, 0x5548); rt1305 1004 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc1, 0x0320); rt1305 1005 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_CLOCK_DETECT, 0x1000); rt1305 1006 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0600); rt1305 1007 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xffd0); rt1305 1008 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0080); rt1305 1009 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880); rt1305 1010 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0dfe); rt1305 1013 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x0442); rt1305 1015 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_CAL_EFUSE_CLOCK, 0xb000); rt1305 1016 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc3, 0xd4a0); rt1305 1017 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xcc, 0x00cc); rt1305 1018 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc1, 0x0320); rt1305 1019 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_STATUS, 0x0000); rt1305 1020 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0xffff); rt1305 1021 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfc20); rt1305 1022 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x06, 0x00c0); rt1305 1023 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfca0); rt1305 1024 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfce0); rt1305 1025 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfcf0); rt1305 1028 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0080); rt1305 1029 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880); rt1305 1030 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880); rt1305 1031 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfce0); rt1305 1032 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfca0); rt1305 1033 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfc20); rt1305 1034 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x06, 0x0000); rt1305 1035 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0000); rt1305 1037 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_5, &valmsb); rt1305 1038 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_6, &vallsb); rt1305 1040 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_7, &valmsb); rt1305 1041 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_8, &vallsb); rt1305 1046 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x9542); rt1305 1047 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfcf0); rt1305 1048 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0xffff); rt1305 1049 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x1dfe); rt1305 1050 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_SILENCE_DETECT, 0x0e13); rt1305 1051 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0650); rt1305 1053 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x50, 0x0064); rt1305 1054 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x51, 0x0770); rt1305 1055 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x52, 0xc30c); rt1305 1056 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0x8200); rt1305 1057 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xfb00); rt1305 1058 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xff80); rt1305 1060 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x55, &rh); rt1305 1061 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x56, &rl); rt1305 1073 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0x9200); rt1305 1074 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xfb00); rt1305 1075 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xff80); rt1305 1077 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x55, &rh); rt1305 1078 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x56, &rl); rt1305 1090 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0xc2ec); rt1305 1094 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x4e, rt1305 1096 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x4f, rt1305 1098 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xfe, rt1305 1100 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xfd, rt1305 1107 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0dfe); rt1305 1109 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x0442); rt1305 1110 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_CLOCK_DETECT, 0x3000); rt1305 1111 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0400); rt1305 1112 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0000); rt1305 1113 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_CAL_EFUSE_CLOCK, 0x8000); rt1305 1114 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0x1020); rt1305 1115 sound/soc/codecs/rt1305.c regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0x0000); rt1305 1117 sound/soc/codecs/rt1305.c regcache_cache_bypass(rt1305->regmap, false); rt1305 1123 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305; rt1305 1127 sound/soc/codecs/rt1305.c rt1305 = devm_kzalloc(&i2c->dev, sizeof(struct rt1305_priv), rt1305 1129 sound/soc/codecs/rt1305.c if (rt1305 == NULL) rt1305 1132 sound/soc/codecs/rt1305.c i2c_set_clientdata(i2c, rt1305); rt1305 1134 sound/soc/codecs/rt1305.c rt1305->regmap = devm_regmap_init_i2c(i2c, &rt1305_regmap); rt1305 1135 sound/soc/codecs/rt1305.c if (IS_ERR(rt1305->regmap)) { rt1305 1136 sound/soc/codecs/rt1305.c ret = PTR_ERR(rt1305->regmap); rt1305 1142 sound/soc/codecs/rt1305.c regmap_read(rt1305->regmap, RT1305_DEVICE_ID, &val); rt1305 1149 sound/soc/codecs/rt1305.c rt1305_reset(rt1305->regmap); rt1305 1150 sound/soc/codecs/rt1305.c rt1305_calibrate(rt1305); rt1305 1159 sound/soc/codecs/rt1305.c struct rt1305_priv *rt1305 = i2c_get_clientdata(client); rt1305 1161 sound/soc/codecs/rt1305.c rt1305_reset(rt1305->regmap);