Lines Matching refs:sgtl5000

159 	struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec);  in mic_bias_event()  local
166 sgtl5000->micbias_resistor << SGTL5000_BIAS_R_SHIFT); in mic_bias_event()
464 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_set_dai_fmt() local
467 sgtl5000->master = 0; in sgtl5000_set_dai_fmt()
479 sgtl5000->master = 1; in sgtl5000_set_dai_fmt()
509 sgtl5000->fmt = fmt & SND_SOC_DAIFMT_FORMAT_MASK; in sgtl5000_set_dai_fmt()
532 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_set_dai_sysclk() local
536 sgtl5000->sysclk = freq; in sgtl5000_set_dai_sysclk()
560 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_set_clock() local
623 switch (sgtl5000->sysclk / frame_rate) { in sgtl5000_set_clock()
638 if (sgtl5000->master) { in sgtl5000_set_clock()
646 sgtl5000->sysclk / frame_rate); in sgtl5000_set_clock()
658 if (sgtl5000->sysclk > 17000000) { in sgtl5000_set_clock()
660 in = sgtl5000->sysclk / 2; in sgtl5000_set_clock()
663 in = sgtl5000->sysclk; in sgtl5000_set_clock()
718 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_pcm_hw_params() local
725 if (!sgtl5000->sysclk) { in sgtl5000_pcm_hw_params()
747 if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J) in sgtl5000_pcm_hw_params()
764 if (sgtl5000->fmt == SND_SOC_DAIFMT_RIGHT_J) in sgtl5000_pcm_hw_params()
859 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in ldo_regulator_register() local
896 sgtl5000->ldo = ldo; in ldo_regulator_register()
903 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in ldo_regulator_remove() local
904 struct ldo_regulator *ldo = sgtl5000->ldo; in ldo_regulator_remove()
944 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_set_bias_level() local
953 ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_set_bias_level()
954 sgtl5000->supplies); in sgtl5000_set_bias_level()
959 regcache_cache_only(sgtl5000->regmap, false); in sgtl5000_set_bias_level()
961 ret = regcache_sync(sgtl5000->regmap); in sgtl5000_set_bias_level()
966 regcache_cache_only(sgtl5000->regmap, true); in sgtl5000_set_bias_level()
967 regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_set_bias_level()
968 sgtl5000->supplies); in sgtl5000_set_bias_level()
976 regcache_cache_only(sgtl5000->regmap, true); in sgtl5000_set_bias_level()
977 regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_set_bias_level()
978 sgtl5000->supplies); in sgtl5000_set_bias_level()
1114 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_set_power_regs() local
1116 vdda = regulator_get_voltage(sgtl5000->supplies[VDDA].consumer); in sgtl5000_set_power_regs()
1117 vddio = regulator_get_voltage(sgtl5000->supplies[VDDIO].consumer); in sgtl5000_set_power_regs()
1118 vddd = regulator_get_voltage(sgtl5000->supplies[VDDD].consumer); in sgtl5000_set_power_regs()
1223 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_replace_vddd_with_ldo() local
1234 sgtl5000->supplies[VDDD].supply = LDO_CONSUMER_NAME; in sgtl5000_replace_vddd_with_ldo()
1245 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_enable_regulators() local
1248 for (i = 0; i < ARRAY_SIZE(sgtl5000->supplies); i++) in sgtl5000_enable_regulators()
1249 sgtl5000->supplies[i].supply = supply_names[i]; in sgtl5000_enable_regulators()
1252 if (sgtl5000->revision < 0x11) { in sgtl5000_enable_regulators()
1270 ret = regulator_bulk_get(codec->dev, ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_enable_regulators()
1271 sgtl5000->supplies); in sgtl5000_enable_regulators()
1275 ret = regulator_bulk_enable(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_enable_regulators()
1276 sgtl5000->supplies); in sgtl5000_enable_regulators()
1286 regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_enable_regulators()
1287 sgtl5000->supplies); in sgtl5000_enable_regulators()
1298 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_probe() local
1339 sgtl5000->micbias_resistor << SGTL5000_BIAS_R_SHIFT); in sgtl5000_probe()
1343 sgtl5000->micbias_voltage << SGTL5000_BIAS_VOLT_SHIFT); in sgtl5000_probe()
1354 regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_probe()
1355 sgtl5000->supplies); in sgtl5000_probe()
1356 regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_probe()
1357 sgtl5000->supplies); in sgtl5000_probe()
1365 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); in sgtl5000_remove() local
1367 regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_remove()
1368 sgtl5000->supplies); in sgtl5000_remove()
1369 regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies), in sgtl5000_remove()
1370 sgtl5000->supplies); in sgtl5000_remove()
1413 static int sgtl5000_fill_defaults(struct sgtl5000_priv *sgtl5000) in sgtl5000_fill_defaults() argument
1420 ret = regmap_write(sgtl5000->regmap, index, val); in sgtl5000_fill_defaults()
1431 struct sgtl5000_priv *sgtl5000; in sgtl5000_i2c_probe() local
1436 sgtl5000 = devm_kzalloc(&client->dev, sizeof(*sgtl5000), GFP_KERNEL); in sgtl5000_i2c_probe()
1437 if (!sgtl5000) in sgtl5000_i2c_probe()
1440 sgtl5000->regmap = devm_regmap_init_i2c(client, &sgtl5000_regmap); in sgtl5000_i2c_probe()
1441 if (IS_ERR(sgtl5000->regmap)) { in sgtl5000_i2c_probe()
1442 ret = PTR_ERR(sgtl5000->regmap); in sgtl5000_i2c_probe()
1447 sgtl5000->mclk = devm_clk_get(&client->dev, NULL); in sgtl5000_i2c_probe()
1448 if (IS_ERR(sgtl5000->mclk)) { in sgtl5000_i2c_probe()
1449 ret = PTR_ERR(sgtl5000->mclk); in sgtl5000_i2c_probe()
1457 ret = clk_prepare_enable(sgtl5000->mclk); in sgtl5000_i2c_probe()
1465 ret = regmap_read(sgtl5000->regmap, SGTL5000_CHIP_ID, &reg); in sgtl5000_i2c_probe()
1479 sgtl5000->revision = rev; in sgtl5000_i2c_probe()
1486 sgtl5000->micbias_resistor = 0; in sgtl5000_i2c_probe()
1489 sgtl5000->micbias_resistor = 1; in sgtl5000_i2c_probe()
1492 sgtl5000->micbias_resistor = 2; in sgtl5000_i2c_probe()
1495 sgtl5000->micbias_resistor = 3; in sgtl5000_i2c_probe()
1498 sgtl5000->micbias_resistor = 2; in sgtl5000_i2c_probe()
1504 sgtl5000->micbias_resistor = 2; in sgtl5000_i2c_probe()
1511 sgtl5000->micbias_voltage = (value / 250) - 5; in sgtl5000_i2c_probe()
1513 sgtl5000->micbias_voltage = 0; in sgtl5000_i2c_probe()
1518 sgtl5000->micbias_voltage = 0; in sgtl5000_i2c_probe()
1522 i2c_set_clientdata(client, sgtl5000); in sgtl5000_i2c_probe()
1525 ret = sgtl5000_fill_defaults(sgtl5000); in sgtl5000_i2c_probe()
1537 clk_disable_unprepare(sgtl5000->mclk); in sgtl5000_i2c_probe()
1543 struct sgtl5000_priv *sgtl5000 = i2c_get_clientdata(client); in sgtl5000_i2c_remove() local
1546 clk_disable_unprepare(sgtl5000->mclk); in sgtl5000_i2c_remove()