aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/sgtl5000.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/sgtl5000.c')
-rw-r--r--sound/soc/codecs/sgtl5000.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 760e8bfeacaa..1f4093f3f3a1 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -654,16 +654,19 @@ static int sgtl5000_set_clock(struct snd_soc_codec *codec, int frame_rate)
654 snd_soc_update_bits(codec, SGTL5000_CHIP_ANA_POWER, 654 snd_soc_update_bits(codec, SGTL5000_CHIP_ANA_POWER,
655 SGTL5000_PLL_POWERUP | SGTL5000_VCOAMP_POWERUP, 655 SGTL5000_PLL_POWERUP | SGTL5000_VCOAMP_POWERUP,
656 SGTL5000_PLL_POWERUP | SGTL5000_VCOAMP_POWERUP); 656 SGTL5000_PLL_POWERUP | SGTL5000_VCOAMP_POWERUP);
657
658 /* if using pll, clk_ctrl must be set after pll power up */
659 snd_soc_write(codec, SGTL5000_CHIP_CLK_CTRL, clk_ctl);
657 } else { 660 } else {
661 /* otherwise, clk_ctrl must be set before pll power down */
662 snd_soc_write(codec, SGTL5000_CHIP_CLK_CTRL, clk_ctl);
663
658 /* power down pll */ 664 /* power down pll */
659 snd_soc_update_bits(codec, SGTL5000_CHIP_ANA_POWER, 665 snd_soc_update_bits(codec, SGTL5000_CHIP_ANA_POWER,
660 SGTL5000_PLL_POWERUP | SGTL5000_VCOAMP_POWERUP, 666 SGTL5000_PLL_POWERUP | SGTL5000_VCOAMP_POWERUP,
661 0); 667 0);
662 } 668 }
663 669
664 /* if using pll, clk_ctrl must be set after pll power up */
665 snd_soc_write(codec, SGTL5000_CHIP_CLK_CTRL, clk_ctl);
666
667 return 0; 670 return 0;
668} 671}
669 672
@@ -1480,6 +1483,7 @@ static struct snd_soc_codec_driver sgtl5000_driver = {
1480static const struct regmap_config sgtl5000_regmap = { 1483static const struct regmap_config sgtl5000_regmap = {
1481 .reg_bits = 16, 1484 .reg_bits = 16,
1482 .val_bits = 16, 1485 .val_bits = 16,
1486 .reg_stride = 2,
1483 1487
1484 .max_register = SGTL5000_MAX_REG_OFFSET, 1488 .max_register = SGTL5000_MAX_REG_OFFSET,
1485 .volatile_reg = sgtl5000_volatile, 1489 .volatile_reg = sgtl5000_volatile,