diff options
Diffstat (limited to 'sound/soc/codecs/sgtl5000.c')
-rw-r--r-- | sound/soc/codecs/sgtl5000.c | 10 |
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 = { | |||
1480 | static const struct regmap_config sgtl5000_regmap = { | 1483 | static 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, |