@@ -1237,16 +1237,11 @@ static const struct snd_soc_dapm_widget twl4030_dapm_widgets[] = {
1237
1237
SND_SOC_DAPM_OUTPUT ("Virtual Voice OUT" ),
1238
1238
1239
1239
/* DACs */
1240
- SND_SOC_DAPM_DAC ("DAC Right1" , "Right Front HiFi Playback" ,
1241
- SND_SOC_NOPM , 0 , 0 ),
1242
- SND_SOC_DAPM_DAC ("DAC Left1" , "Left Front HiFi Playback" ,
1243
- SND_SOC_NOPM , 0 , 0 ),
1244
- SND_SOC_DAPM_DAC ("DAC Right2" , "Right Rear HiFi Playback" ,
1245
- SND_SOC_NOPM , 0 , 0 ),
1246
- SND_SOC_DAPM_DAC ("DAC Left2" , "Left Rear HiFi Playback" ,
1247
- SND_SOC_NOPM , 0 , 0 ),
1248
- SND_SOC_DAPM_DAC ("DAC Voice" , "Voice Playback" ,
1249
- SND_SOC_NOPM , 0 , 0 ),
1240
+ SND_SOC_DAPM_DAC ("DAC Right1" , NULL , SND_SOC_NOPM , 0 , 0 ),
1241
+ SND_SOC_DAPM_DAC ("DAC Left1" , NULL , SND_SOC_NOPM , 0 , 0 ),
1242
+ SND_SOC_DAPM_DAC ("DAC Right2" , NULL , SND_SOC_NOPM , 0 , 0 ),
1243
+ SND_SOC_DAPM_DAC ("DAC Left2" , NULL , SND_SOC_NOPM , 0 , 0 ),
1244
+ SND_SOC_DAPM_DAC ("DAC Voice" , NULL , SND_SOC_NOPM , 0 , 0 ),
1250
1245
1251
1246
/* Analog bypasses */
1252
1247
SND_SOC_DAPM_SWITCH ("Right1 Analog Loopback" , SND_SOC_NOPM , 0 , 0 ,
@@ -1375,14 +1370,10 @@ static const struct snd_soc_dapm_widget twl4030_dapm_widgets[] = {
1375
1370
1376
1371
/* Introducing four virtual ADC, since TWL4030 have four channel for
1377
1372
capture */
1378
- SND_SOC_DAPM_ADC ("ADC Virtual Left1" , "Left Front Capture" ,
1379
- SND_SOC_NOPM , 0 , 0 ),
1380
- SND_SOC_DAPM_ADC ("ADC Virtual Right1" , "Right Front Capture" ,
1381
- SND_SOC_NOPM , 0 , 0 ),
1382
- SND_SOC_DAPM_ADC ("ADC Virtual Left2" , "Left Rear Capture" ,
1383
- SND_SOC_NOPM , 0 , 0 ),
1384
- SND_SOC_DAPM_ADC ("ADC Virtual Right2" , "Right Rear Capture" ,
1385
- SND_SOC_NOPM , 0 , 0 ),
1373
+ SND_SOC_DAPM_ADC ("ADC Virtual Left1" , NULL , SND_SOC_NOPM , 0 , 0 ),
1374
+ SND_SOC_DAPM_ADC ("ADC Virtual Right1" , NULL , SND_SOC_NOPM , 0 , 0 ),
1375
+ SND_SOC_DAPM_ADC ("ADC Virtual Left2" , NULL , SND_SOC_NOPM , 0 , 0 ),
1376
+ SND_SOC_DAPM_ADC ("ADC Virtual Right2" , NULL , SND_SOC_NOPM , 0 , 0 ),
1386
1377
1387
1378
/* Analog/Digital mic path selection.
1388
1379
TX1 Left/Right: either analog Left/Right or Digimic0
@@ -1426,6 +1417,23 @@ static const struct snd_soc_dapm_widget twl4030_dapm_widgets[] = {
1426
1417
};
1427
1418
1428
1419
static const struct snd_soc_dapm_route intercon [] = {
1420
+ /* Stream -> DAC mapping */
1421
+ {"DAC Right1" , NULL , "HiFi Playback" },
1422
+ {"DAC Left1" , NULL , "HiFi Playback" },
1423
+ {"DAC Right2" , NULL , "HiFi Playback" },
1424
+ {"DAC Left2" , NULL , "HiFi Playback" },
1425
+ {"DAC Voice" , NULL , "Voice Playback" },
1426
+
1427
+ /* ADC -> Stream mapping */
1428
+ {"HiFi Capture" , NULL , "ADC Virtual Left1" },
1429
+ {"HiFi Capture" , NULL , "ADC Virtual Right1" },
1430
+ {"HiFi Capture" , NULL , "ADC Virtual Left2" },
1431
+ {"HiFi Capture" , NULL , "ADC Virtual Right2" },
1432
+ {"Voice Capture" , NULL , "ADC Virtual Left1" },
1433
+ {"Voice Capture" , NULL , "ADC Virtual Right1" },
1434
+ {"Voice Capture" , NULL , "ADC Virtual Left2" },
1435
+ {"Voice Capture" , NULL , "ADC Virtual Right2" },
1436
+
1429
1437
{"Digital L1 Playback Mixer" , NULL , "DAC Left1" },
1430
1438
{"Digital R1 Playback Mixer" , NULL , "DAC Right1" },
1431
1439
{"Digital L2 Playback Mixer" , NULL , "DAC Left2" },
@@ -2170,7 +2178,7 @@ static struct snd_soc_dai_driver twl4030_dai[] = {
2170
2178
.formats = TWL4030_FORMATS ,
2171
2179
.sig_bits = 24 ,},
2172
2180
.capture = {
2173
- .stream_name = "Capture" ,
2181
+ .stream_name = "HiFi Capture" ,
2174
2182
.channels_min = 2 ,
2175
2183
.channels_max = 4 ,
2176
2184
.rates = TWL4030_RATES ,
@@ -2187,7 +2195,7 @@ static struct snd_soc_dai_driver twl4030_dai[] = {
2187
2195
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 ,
2188
2196
.formats = SNDRV_PCM_FMTBIT_S16_LE ,},
2189
2197
.capture = {
2190
- .stream_name = "Capture" ,
2198
+ .stream_name = "Voice Capture" ,
2191
2199
.channels_min = 1 ,
2192
2200
.channels_max = 2 ,
2193
2201
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 ,
0 commit comments