Symbol: ssm2518
sound/soc/codecs/ssm2518.c
310
static int ssm2518_lookup_mcs(struct ssm2518 *ssm2518,
sound/soc/codecs/ssm2518.c
327
if (sysclks[i] == ssm2518->sysclk)
sound/soc/codecs/ssm2518.c
338
struct ssm2518 *ssm2518 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/ssm2518.c
344
mcs = ssm2518_lookup_mcs(ssm2518, rate);
sound/soc/codecs/ssm2518.c
361
if (ssm2518->right_j) {
sound/soc/codecs/ssm2518.c
376
ret = regmap_update_bits(ssm2518->regmap, SSM2518_REG_CLOCK,
sound/soc/codecs/ssm2518.c
381
ret = regmap_update_bits(ssm2518->regmap, SSM2518_REG_SAI_CTRL1,
sound/soc/codecs/ssm2518.c
386
return regmap_update_bits(ssm2518->regmap, SSM2518_REG_POWER1,
sound/soc/codecs/ssm2518.c
392
struct ssm2518 *ssm2518 = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/ssm2518.c
400
return regmap_update_bits(ssm2518->regmap, SSM2518_REG_MUTE_CTRL,
sound/soc/codecs/ssm2518.c
406
struct ssm2518 *ssm2518 = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/ssm2518.c
437
ssm2518->right_j = false;
sound/soc/codecs/ssm2518.c
448
ssm2518->right_j = true;
sound/soc/codecs/ssm2518.c
468
ret = regmap_write(ssm2518->regmap, SSM2518_REG_SAI_CTRL1, ctrl1);
sound/soc/codecs/ssm2518.c
472
return regmap_write(ssm2518->regmap, SSM2518_REG_SAI_CTRL2, ctrl2);
sound/soc/codecs/ssm2518.c
475
static int ssm2518_set_power(struct ssm2518 *ssm2518, bool enable)
sound/soc/codecs/ssm2518.c
480
ret = regmap_update_bits(ssm2518->regmap, SSM2518_REG_POWER1,
sound/soc/codecs/ssm2518.c
482
regcache_mark_dirty(ssm2518->regmap);
sound/soc/codecs/ssm2518.c
485
if (ssm2518->enable_gpio)
sound/soc/codecs/ssm2518.c
486
gpiod_set_value_cansleep(ssm2518->enable_gpio, enable);
sound/soc/codecs/ssm2518.c
488
regcache_cache_only(ssm2518->regmap, !enable);
sound/soc/codecs/ssm2518.c
491
ret = regmap_update_bits(ssm2518->regmap, SSM2518_REG_POWER1,
sound/soc/codecs/ssm2518.c
493
regcache_sync(ssm2518->regmap);
sound/soc/codecs/ssm2518.c
502
struct ssm2518 *ssm2518 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/ssm2518.c
513
ret = ssm2518_set_power(ssm2518, true);
sound/soc/codecs/ssm2518.c
516
ret = ssm2518_set_power(ssm2518, false);
sound/soc/codecs/ssm2518.c
526
struct ssm2518 *ssm2518 = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/ssm2518.c
532
return regmap_update_bits(ssm2518->regmap,
sound/soc/codecs/ssm2518.c
593
ret = regmap_write(ssm2518->regmap, SSM2518_REG_CHAN_MAP,
sound/soc/codecs/ssm2518.c
599
ret = regmap_update_bits(ssm2518->regmap, SSM2518_REG_SAI_CTRL1,
sound/soc/codecs/ssm2518.c
604
return regmap_update_bits(ssm2518->regmap, SSM2518_REG_SAI_CTRL2,
sound/soc/codecs/ssm2518.c
611
struct ssm2518 *ssm2518 = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/ssm2518.c
613
if (ssm2518->constraints)
sound/soc/codecs/ssm2518.c
615
SNDRV_PCM_HW_PARAM_RATE, ssm2518->constraints);
sound/soc/codecs/ssm2518.c
647
struct ssm2518 *ssm2518 = snd_soc_component_get_drvdata(component);
sound/soc/codecs/ssm2518.c
669
ssm2518->constraints = NULL;
sound/soc/codecs/ssm2518.c
677
ssm2518->constraints = &ssm2518_constraints_2048000;
sound/soc/codecs/ssm2518.c
688
ssm2518->constraints = &ssm2518_constraints_2822000;
sound/soc/codecs/ssm2518.c
696
ssm2518->constraints = &ssm2518_constraints_3072000;
sound/soc/codecs/ssm2518.c
701
ssm2518->constraints = &ssm2518_constraints_12288000;
sound/soc/codecs/ssm2518.c
707
ssm2518->sysclk = freq;
sound/soc/codecs/ssm2518.c
709
return regmap_update_bits(ssm2518->regmap, SSM2518_REG_POWER1,
sound/soc/codecs/ssm2518.c
739
struct ssm2518 *ssm2518;
sound/soc/codecs/ssm2518.c
742
ssm2518 = devm_kzalloc(&i2c->dev, sizeof(*ssm2518), GFP_KERNEL);
sound/soc/codecs/ssm2518.c
743
if (ssm2518 == NULL)
sound/soc/codecs/ssm2518.c
747
ssm2518->enable_gpio = devm_gpiod_get_optional(&i2c->dev, NULL,
sound/soc/codecs/ssm2518.c
749
ret = PTR_ERR_OR_ZERO(ssm2518->enable_gpio);
sound/soc/codecs/ssm2518.c
753
gpiod_set_consumer_name(ssm2518->enable_gpio, "SSM2518 nSD");
sound/soc/codecs/ssm2518.c
755
i2c_set_clientdata(i2c, ssm2518);
sound/soc/codecs/ssm2518.c
757
ssm2518->regmap = devm_regmap_init_i2c(i2c, &ssm2518_regmap_config);
sound/soc/codecs/ssm2518.c
758
if (IS_ERR(ssm2518->regmap))
sound/soc/codecs/ssm2518.c
759
return PTR_ERR(ssm2518->regmap);
sound/soc/codecs/ssm2518.c
767
regcache_cache_bypass(ssm2518->regmap, true);
sound/soc/codecs/ssm2518.c
768
ret = regmap_write(ssm2518->regmap, SSM2518_REG_POWER1,
sound/soc/codecs/ssm2518.c
770
regcache_cache_bypass(ssm2518->regmap, false);
sound/soc/codecs/ssm2518.c
774
ret = regmap_update_bits(ssm2518->regmap, SSM2518_REG_POWER2,
sound/soc/codecs/ssm2518.c
779
ret = ssm2518_set_power(ssm2518, false);