tangled
alpha
login
or
join now
tjh.dev
/
kernel
1
fork
atom
Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1
fork
atom
overview
issues
pulls
pipelines
Merge branch 'for-2.6.37' into for-2.6.38
Mark Brown
15 years ago
3df94756
84dab567
+71
-30
9 changed files
expand all
collapse all
unified
split
arch
arm
mach-davinci
dm355.c
dm365.c
dm644x.c
sound
soc
codecs
wm8994.c
davinci
davinci-evm.c
davinci-i2s.c
davinci-mcasp.c
davinci-sffsdr.c
davinci-vcif.c
+3
-3
arch/arm/mach-davinci/dm355.c
reviewed
···
359
359
CLK(NULL, "uart1", &uart1_clk),
360
360
CLK(NULL, "uart2", &uart2_clk),
361
361
CLK("i2c_davinci.1", NULL, &i2c_clk),
362
362
-
CLK("davinci-asp.0", NULL, &asp0_clk),
363
363
-
CLK("davinci-asp.1", NULL, &asp1_clk),
362
362
+
CLK("davinci-mcbsp.0", NULL, &asp0_clk),
363
363
+
CLK("davinci-mcbsp.1", NULL, &asp1_clk),
364
364
CLK("davinci_mmc.0", NULL, &mmcsd0_clk),
365
365
CLK("davinci_mmc.1", NULL, &mmcsd1_clk),
366
366
CLK("spi_davinci.0", NULL, &spi0_clk),
···
664
664
};
665
665
666
666
static struct platform_device dm355_asp1_device = {
667
667
-
.name = "davinci-asp",
667
667
+
.name = "davinci-mcbsp",
668
668
.id = 1,
669
669
.num_resources = ARRAY_SIZE(dm355_asp1_resources),
670
670
.resource = dm355_asp1_resources,
+3
-3
arch/arm/mach-davinci/dm365.c
reviewed
···
459
459
CLK(NULL, "usb", &usb_clk),
460
460
CLK("davinci_emac.1", NULL, &emac_clk),
461
461
CLK("davinci_voicecodec", NULL, &voicecodec_clk),
462
462
-
CLK("davinci-asp.0", NULL, &asp0_clk),
462
462
+
CLK("davinci-mcbsp", NULL, &asp0_clk),
463
463
CLK(NULL, "rto", &rto_clk),
464
464
CLK(NULL, "mjcp", &mjcp_clk),
465
465
CLK(NULL, NULL, NULL),
···
922
922
};
923
923
924
924
static struct platform_device dm365_asp_device = {
925
925
-
.name = "davinci-asp",
926
926
-
.id = 0,
925
925
+
.name = "davinci-mcbsp",
926
926
+
.id = -1,
927
927
.num_resources = ARRAY_SIZE(dm365_asp_resources),
928
928
.resource = dm365_asp_resources,
929
929
};
+2
-2
arch/arm/mach-davinci/dm644x.c
reviewed
···
302
302
CLK("davinci_emac.1", NULL, &emac_clk),
303
303
CLK("i2c_davinci.1", NULL, &i2c_clk),
304
304
CLK("palm_bk3710", NULL, &ide_clk),
305
305
-
CLK("davinci-asp", NULL, &asp_clk),
305
305
+
CLK("davinci-mcbsp", NULL, &asp_clk),
306
306
CLK("davinci_mmc.0", NULL, &mmcsd_clk),
307
307
CLK(NULL, "spi", &spi_clk),
308
308
CLK(NULL, "gpio", &gpio_clk),
···
580
580
};
581
581
582
582
static struct platform_device dm644x_asp_device = {
583
583
-
.name = "davinci-asp",
583
583
+
.name = "davinci-mcbsp",
584
584
.id = -1,
585
585
.num_resources = ARRAY_SIZE(dm644x_asp_resources),
586
586
.resource = dm644x_asp_resources,
+2
sound/soc/codecs/wm8994.c
reviewed
···
3905
3905
return -ENOMEM;
3906
3906
snd_soc_codec_set_drvdata(codec, wm8994);
3907
3907
3908
3908
+
codec->reg_cache = &wm8994->reg_cache;
3909
3909
+
3908
3910
wm8994->pdata = dev_get_platdata(codec->dev->parent);
3909
3911
wm8994->codec = codec;
3910
3912
+29
-11
sound/soc/davinci/davinci-evm.c
reviewed
···
158
158
}
159
159
160
160
/* davinci-evm digital audio interface glue - connects codec <--> CPU */
161
161
-
static struct snd_soc_dai_link evm_dai = {
161
161
+
static struct snd_soc_dai_link dm6446_evm_dai = {
162
162
.name = "TLV320AIC3X",
163
163
.stream_name = "AIC3X",
164
164
-
.cpu_dai_name = "davinci-mcasp.0",
164
164
+
.cpu_dai_name = "davinci-mcbsp",
165
165
.codec_dai_name = "tlv320aic3x-hifi",
166
166
-
.codec_name = "tlv320aic3x-codec.0-001a",
166
166
+
.codec_name = "tlv320aic3x-codec.1-001b",
167
167
+
.platform_name = "davinci-pcm-audio",
168
168
+
.init = evm_aic3x_init,
169
169
+
.ops = &evm_ops,
170
170
+
};
171
171
+
172
172
+
static struct snd_soc_dai_link dm355_evm_dai = {
173
173
+
.name = "TLV320AIC3X",
174
174
+
.stream_name = "AIC3X",
175
175
+
.cpu_dai_name = "davinci-mcbsp.1",
176
176
+
.codec_dai_name = "tlv320aic3x-hifi",
177
177
+
.codec_name = "tlv320aic3x-codec.1-001b",
167
178
.platform_name = "davinci-pcm-audio",
168
179
.init = evm_aic3x_init,
169
180
.ops = &evm_ops,
···
184
173
#ifdef CONFIG_SND_DM365_AIC3X_CODEC
185
174
.name = "TLV320AIC3X",
186
175
.stream_name = "AIC3X",
187
187
-
.cpu_dai_name = "davinci-i2s",
176
176
+
.cpu_dai_name = "davinci-mcbsp",
188
177
.codec_dai_name = "tlv320aic3x-hifi",
189
178
.init = evm_aic3x_init,
190
190
-
.codec_name = "tlv320aic3x-codec.0-001a",
179
179
+
.codec_name = "tlv320aic3x-codec.1-0018",
191
180
.ops = &evm_ops,
192
181
#elif defined(CONFIG_SND_DM365_VOICE_CODEC)
193
182
.name = "Voice Codec - CQ93VC",
···
231
220
.ops = &evm_ops,
232
221
};
233
222
234
234
-
/* davinci dm6446, dm355 evm audio machine driver */
235
235
-
static struct snd_soc_card snd_soc_card_evm = {
236
236
-
.name = "DaVinci EVM",
237
237
-
.dai_link = &evm_dai,
223
223
+
/* davinci dm6446 evm audio machine driver */
224
224
+
static struct snd_soc_card dm6446_snd_soc_card_evm = {
225
225
+
.name = "DaVinci DM6446 EVM",
226
226
+
.dai_link = &dm6446_evm_dai,
227
227
+
.num_links = 1,
228
228
+
};
229
229
+
230
230
+
/* davinci dm355 evm audio machine driver */
231
231
+
static struct snd_soc_card dm355_snd_soc_card_evm = {
232
232
+
.name = "DaVinci DM355 EVM",
233
233
+
.dai_link = &dm355_evm_dai,
238
234
.num_links = 1,
239
235
};
240
236
···
280
262
int ret;
281
263
282
264
if (machine_is_davinci_evm()) {
283
283
-
evm_snd_dev_data = &snd_soc_card_evm;
265
265
+
evm_snd_dev_data = &dm6446_snd_soc_card_evm;
284
266
index = 0;
285
267
} else if (machine_is_davinci_dm355_evm()) {
286
286
-
evm_snd_dev_data = &snd_soc_card_evm;
268
268
+
evm_snd_dev_data = &dm355_snd_soc_card_evm;
287
269
index = 1;
288
270
} else if (machine_is_davinci_dm365_evm()) {
289
271
evm_snd_dev_data = &dm365_snd_soc_card_evm;
+11
-4
sound/soc/davinci/davinci-i2s.c
reviewed
···
426
426
snd_pcm_format_t fmt;
427
427
unsigned element_cnt = 1;
428
428
429
429
-
dai->capture_dma_data = dev->dma_params;
430
430
-
dai->playback_dma_data = dev->dma_params;
431
431
-
432
429
/* general line settings */
433
430
spcr = davinci_mcbsp_read_reg(dev, DAVINCI_MCBSP_SPCR_REG);
434
431
if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
···
598
601
return ret;
599
602
}
600
603
604
604
+
static int davinci_i2s_startup(struct snd_pcm_substream *substream,
605
605
+
struct snd_soc_dai *dai)
606
606
+
{
607
607
+
struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai);
608
608
+
609
609
+
snd_soc_dai_set_dma_data(dai, substream, dev->dma_params);
610
610
+
return 0;
611
611
+
}
612
612
+
601
613
static void davinci_i2s_shutdown(struct snd_pcm_substream *substream,
602
614
struct snd_soc_dai *dai)
603
615
{
···
618
612
#define DAVINCI_I2S_RATES SNDRV_PCM_RATE_8000_96000
619
613
620
614
static struct snd_soc_dai_ops davinci_i2s_dai_ops = {
615
615
+
.startup = davinci_i2s_startup,
621
616
.shutdown = davinci_i2s_shutdown,
622
617
.prepare = davinci_i2s_prepare,
623
618
.trigger = davinci_i2s_trigger,
···
756
749
.probe = davinci_i2s_probe,
757
750
.remove = davinci_i2s_remove,
758
751
.driver = {
759
759
-
.name = "davinci-i2s",
752
752
+
.name = "davinci-mcbsp",
760
753
.owner = THIS_MODULE,
761
754
},
762
755
};
+10
-3
sound/soc/davinci/davinci-mcasp.c
reviewed
···
715
715
int word_length;
716
716
u8 fifo_level;
717
717
718
718
-
cpu_dai->capture_dma_data = dev->dma_params;
719
719
-
cpu_dai->playback_dma_data = dev->dma_params;
720
720
-
721
718
davinci_hw_common_param(dev, substream->stream);
722
719
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
723
720
fifo_level = dev->txnumevt;
···
796
799
return ret;
797
800
}
798
801
802
802
+
static int davinci_mcasp_startup(struct snd_pcm_substream *substream,
803
803
+
struct snd_soc_dai *dai)
804
804
+
{
805
805
+
struct davinci_audio_dev *dev = snd_soc_dai_get_drvdata(dai);
806
806
+
807
807
+
snd_soc_dai_set_dma_data(dai, substream, dev->dma_params);
808
808
+
return 0;
809
809
+
}
810
810
+
799
811
static struct snd_soc_dai_ops davinci_mcasp_dai_ops = {
812
812
+
.startup = davinci_mcasp_startup,
800
813
.trigger = davinci_mcasp_trigger,
801
814
.hw_params = davinci_mcasp_hw_params,
802
815
.set_fmt = davinci_mcasp_set_dai_fmt,
+1
-1
sound/soc/davinci/davinci-sffsdr.c
reviewed
···
84
84
static struct snd_soc_dai_link sffsdr_dai = {
85
85
.name = "PCM3008", /* Codec name */
86
86
.stream_name = "PCM3008 HiFi",
87
87
-
.cpu_dai_name = "davinci-asp.0",
87
87
+
.cpu_dai_name = "davinci-mcbsp",
88
88
.codec_dai_name = "pcm3008-hifi",
89
89
.codec_name = "pcm3008-codec",
90
90
.platform_name = "davinci-pcm-audio",
+10
-3
sound/soc/davinci/davinci-vcif.c
reviewed
···
97
97
&davinci_vcif_dev->dma_params[substream->stream];
98
98
u32 w;
99
99
100
100
-
dai->capture_dma_data = davinci_vcif_dev->dma_params;
101
101
-
dai->playback_dma_data = davinci_vcif_dev->dma_params;
102
102
-
103
100
/* Restart the codec before setup */
104
101
davinci_vcif_stop(substream);
105
102
davinci_vcif_start(substream);
···
171
174
return ret;
172
175
}
173
176
177
177
+
static int davinci_vcif_startup(struct snd_pcm_substream *substream,
178
178
+
struct snd_soc_dai *dai)
179
179
+
{
180
180
+
struct davinci_vcif_dev *dev = snd_soc_dai_get_drvdata(dai);
181
181
+
182
182
+
snd_soc_dai_set_dma_data(dai, substream, dev->dma_params);
183
183
+
return 0;
184
184
+
}
185
185
+
174
186
#define DAVINCI_VCIF_RATES SNDRV_PCM_RATE_8000_48000
175
187
176
188
static struct snd_soc_dai_ops davinci_vcif_dai_ops = {
189
189
+
.startup = davinci_vcif_startup,
177
190
.trigger = davinci_vcif_trigger,
178
191
.hw_params = davinci_vcif_hw_params,
179
192
};