diff options
Diffstat (limited to 'sound/soc/codecs/tlv320dac33.c')
-rw-r--r-- | sound/soc/codecs/tlv320dac33.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c index e1aa66ff7f1c..1b35d0cf3364 100644 --- a/sound/soc/codecs/tlv320dac33.c +++ b/sound/soc/codecs/tlv320dac33.c | |||
@@ -91,6 +91,7 @@ struct tlv320dac33_priv { | |||
91 | * this */ | 91 | * this */ |
92 | enum dac33_fifo_modes fifo_mode;/* FIFO mode selection */ | 92 | enum dac33_fifo_modes fifo_mode;/* FIFO mode selection */ |
93 | unsigned int nsample; /* burst read amount from host */ | 93 | unsigned int nsample; /* burst read amount from host */ |
94 | u8 burst_bclkdiv; /* BCLK divider value in burst mode */ | ||
94 | 95 | ||
95 | enum dac33_state state; | 96 | enum dac33_state state; |
96 | }; | 97 | }; |
@@ -845,9 +846,18 @@ static int dac33_prepare_chip(struct snd_pcm_substream *substream) | |||
845 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_A, aictrl_a); | 846 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_A, aictrl_a); |
846 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_B, aictrl_b); | 847 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_B, aictrl_b); |
847 | 848 | ||
848 | /* BCLK divide ratio */ | 849 | /* |
850 | * BCLK divide ratio | ||
851 | * 0: 1.5 | ||
852 | * 1: 1 | ||
853 | * 2: 2 | ||
854 | * ... | ||
855 | * 254: 254 | ||
856 | * 255: 255 | ||
857 | */ | ||
849 | if (dac33->fifo_mode) | 858 | if (dac33->fifo_mode) |
850 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_C, 3); | 859 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_C, |
860 | dac33->burst_bclkdiv); | ||
851 | else | 861 | else |
852 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_C, 32); | 862 | dac33_write(codec, DAC33_SER_AUDIOIF_CTRL_C, 32); |
853 | 863 | ||
@@ -1239,6 +1249,7 @@ static int __devinit dac33_i2c_probe(struct i2c_client *client, | |||
1239 | i2c_set_clientdata(client, dac33); | 1249 | i2c_set_clientdata(client, dac33); |
1240 | 1250 | ||
1241 | dac33->power_gpio = pdata->power_gpio; | 1251 | dac33->power_gpio = pdata->power_gpio; |
1252 | dac33->burst_bclkdiv = pdata->burst_bclkdiv; | ||
1242 | dac33->irq = client->irq; | 1253 | dac33->irq = client->irq; |
1243 | dac33->nsample = NSAMPLE_MAX; | 1254 | dac33->nsample = NSAMPLE_MAX; |
1244 | /* Disable FIFO use by default */ | 1255 | /* Disable FIFO use by default */ |