Lines Matching defs:cpcap
14 #include <linux/mfd/motorola-cpcap.h>
260 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
264 if (cpcap->vendor != CPCAP_VENDOR_ST)
269 err = regmap_write(cpcap->regmap, CPCAP_REG_TEST,
273 err = regmap_write(cpcap->regmap, CPCAP_REG_ST_TEST1,
279 err = regmap_write(cpcap->regmap, CPCAP_REG_ST_TEST1,
283 err = regmap_write(cpcap->regmap, CPCAP_REG_TEST,
361 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
367 err = regmap_read(cpcap->regmap, CPCAP_REG_RXCOA, ®_voice);
370 err = regmap_read(cpcap->regmap, CPCAP_REG_RXSDOA, ®_hifi);
373 err = regmap_read(cpcap->regmap, CPCAP_REG_RXEPOA, ®_ext);
404 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
427 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_RXCOA,
431 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_RXSDOA,
435 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_RXEPOA,
449 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
453 err = regmap_read(cpcap->regmap, CPCAP_REG_TXI, ®val);
488 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
519 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_TXI,
533 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
537 err = regmap_read(cpcap->regmap, CPCAP_REG_TXI, ®val);
564 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
587 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_TXI,
949 static int cpcap_set_sysclk(struct cpcap_audio *cpcap, enum cpcap_dai dai,
972 dev_err(cpcap->component->dev, "invalid DAI: %d", dai);
978 dev_err(cpcap->component->dev, "invalid clk id %d", clk_id);
981 err = regmap_update_bits(cpcap->regmap, clkidreg, BIT(clkidshift),
990 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CDI,
1018 dev_err(cpcap->component->dev, "unsupported freq %u", freq);
1022 err = regmap_update_bits(cpcap->regmap, clkfreqreg,
1028 cpcap->codec_clk_id = clk_id;
1029 cpcap->codec_freq = freq;
1035 static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai,
1038 struct snd_soc_component *component = cpcap->component;
1093 err = regmap_update_bits(cpcap->regmap, sampreg,
1101 err = regmap_read(cpcap->regmap, sampreg, &sampreadval);
1119 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1123 return cpcap_set_samprate(cpcap, CPCAP_DAI_HIFI, rate);
1130 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1134 return cpcap_set_sysclk(cpcap, CPCAP_DAI_HIFI, clk_id, freq);
1141 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1216 return regmap_update_bits(cpcap->regmap, reg, mask, val);
1222 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1233 return regmap_update_bits(cpcap->regmap, reg, mask, val);
1250 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1261 err = cpcap_set_samprate(cpcap, CPCAP_DAI_VOICE, rate);
1276 err = regmap_update_bits(cpcap->regmap, reg_cdi, mask, val);
1288 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1292 return cpcap_set_sysclk(cpcap, CPCAP_DAI_VOICE, clk_id, freq);
1299 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1366 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CDI, mask, val);
1370 cpcap->codec_format = val;
1378 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1389 return regmap_update_bits(cpcap->regmap, reg, mask, val);
1403 .name = "cpcap-hifi",
1415 .name = "cpcap-voice",
1434 static int cpcap_dai_mux(struct cpcap_audio *cpcap, bool swap_dai_configuration)
1453 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CDI,
1458 err = regmap_update_bits(cpcap->regmap, CPCAP_REG_SDACDI,
1469 struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
1475 err = regmap_update_bits(cpcap->regmap,
1484 err = cpcap_dai_mux(cpcap, swap_dai_configuration);
1488 err = cpcap_set_sysclk(cpcap, CPCAP_DAI_HIFI, 0, 26000000);
1491 err = cpcap_set_sysclk(cpcap, CPCAP_DAI_VOICE, 0, 26000000);
1495 err = cpcap_set_samprate(cpcap, CPCAP_DAI_HIFI, 48000);
1499 err = cpcap_set_samprate(cpcap, CPCAP_DAI_VOICE, 48000);
1508 struct cpcap_audio *cpcap;
1511 cpcap = devm_kzalloc(component->dev, sizeof(*cpcap), GFP_KERNEL);
1512 if (!cpcap)
1514 snd_soc_component_set_drvdata(component, cpcap);
1515 cpcap->component = component;
1517 cpcap->regmap = dev_get_regmap(component->dev->parent, NULL);
1518 if (!cpcap->regmap)
1520 snd_soc_component_init_regmap(component, cpcap->regmap);
1522 err = cpcap_get_vendor(component->dev, cpcap->regmap, &cpcap->vendor);
1559 .name = "cpcap-codec",
1564 MODULE_ALIAS("platform:cpcap-codec");