Lines Matching refs:ssm2602

3 // File:         sound/soc/codecs/ssm2602.c
7 // Description: Driver for ssm2602 sound chip
24 #include "ssm2602.h"
38 * ssm2602 register cache
39 * We can't read the ssm2602 register space when we are
57 * ssm2602 register patch
307 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(component);
308 int srate = ssm2602_get_coeff(ssm2602->sysclk, params_rate(params));
314 regmap_write(ssm2602->regmap, SSM2602_SRATE, srate);
333 regmap_update_bits(ssm2602->regmap, SSM2602_IFACE,
342 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(component);
344 if (ssm2602->sysclk_constraints) {
347 ssm2602->sysclk_constraints);
355 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(dai->component);
358 regmap_update_bits(ssm2602->regmap, SSM2602_APDIGI,
362 regmap_update_bits(ssm2602->regmap, SSM2602_APDIGI,
371 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(component);
380 ssm2602->sysclk_constraints = &ssm2602_constraints_12288000;
384 ssm2602->sysclk_constraints = &ssm2602_constraints_11289600;
387 ssm2602->sysclk_constraints = NULL;
392 ssm2602->sysclk = freq;
408 ssm2602->clk_out_pwr |= mask;
410 ssm2602->clk_out_pwr &= ~mask;
412 regmap_update_bits(ssm2602->regmap, SSM2602_PWR,
413 PWR_CLK_OUT_PDN | PWR_OSC_PDN, ssm2602->clk_out_pwr);
422 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(codec_dai->component);
474 regmap_write(ssm2602->regmap, SSM2602_IFACE, iface);
481 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(component);
486 regmap_update_bits(ssm2602->regmap, SSM2602_PWR,
488 ssm2602->clk_out_pwr);
494 regmap_update_bits(ssm2602->regmap, SSM2602_PWR,
500 regmap_update_bits(ssm2602->regmap, SSM2602_PWR,
527 .name = "ssm2602-hifi",
547 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(component);
549 regcache_sync(ssm2602->regmap);
557 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(component);
560 regmap_update_bits(ssm2602->regmap, SSM2602_LOUT1V,
562 regmap_update_bits(ssm2602->regmap, SSM2602_ROUT1V,
595 struct ssm2602_priv *ssm2602 = snd_soc_component_get_drvdata(component);
598 ret = regmap_write(ssm2602->regmap, SSM2602_RESET, 0);
604 regmap_register_patch(ssm2602->regmap, ssm2602_patch,
608 regmap_update_bits(ssm2602->regmap, SSM2602_LINVOL,
610 regmap_update_bits(ssm2602->regmap, SSM2602_RINVOL,
613 regmap_write(ssm2602->regmap, SSM2602_APANA, APANA_SELECT_DAC |
616 switch (ssm2602->type) {
666 struct ssm2602_priv *ssm2602;
671 ssm2602 = devm_kzalloc(dev, sizeof(*ssm2602), GFP_KERNEL);
672 if (ssm2602 == NULL)
675 dev_set_drvdata(dev, ssm2602);
676 ssm2602->type = type;
677 ssm2602->regmap = regmap;