On 3 Jul 2015 4:43 pm, Nicolas George george@nsup.org wrote:
Le quintidi 15 messidor, an CCXXIII, Antonio Ospite a écrit :
snd-soc-sst-bytcr-rt5640 will be loaded automatically if you use snd-intel-sst-acpi instead of snd-soc-sst-acpi, you can blacklist the latter using a file in /etc/modprobe.d (look up the details), or just remove snd-soc-sst-acpi.ko from the installation dir as a dirty hack.
Indeed. I always loaded snd-soc-sst-acpi before snd-intel-sst-acpi, so I could not observe it gives a different result.
In my tests I used the code from mainline linux.
Ok. That is what I am doing too.
Note that different drivers expect different firmwares, you cannot mix them:
snd-soc-sst-acpi -> fw_sst_0f28.bin-48kHz_i2s_master snd-intel-sst-acpi -> fw_sst_0f28.bin snd-intel-sst-acpi -> fw_sst_0f28_ssp0.bin (renamed to fw_sst_0f28.bin)
Ok. I re-ran the tests like that.
After loading snd-intel-sst-acpi, the kernel says:
[ 35.160330] intel_sst_acpi 80860F28:00: LPE base: 0x90a00000 size:0x200000 [ 35.160339] intel_sst_acpi 80860F28:00: IRAM base: 0x90ac0000 [ 35.160372] intel_sst_acpi 80860F28:00: DRAM base: 0x90b00000 [ 35.160384] intel_sst_acpi 80860F28:00: SHIM base: 0x90b40000 [ 35.160395] intel_sst_acpi 80860F28:00: Mailbox base: 0x90b44000 [ 35.160405] intel_sst_acpi 80860F28:00: DDR base: 0x20000000 [ 35.161373] intel_sst_acpi 80860F28:00: Got drv data max stream 25
After loading snd-soc-sst-bytcr-rt5640 it says:
[ 69.130424] bytt100_rt5640 bytt100_rt5640: snd-soc-dummy-dai <-> media-cpu-dai mapping ok [ 69.130482] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping ok [ 69.130536] bytt100_rt5640 bytt100_rt5640: rt5640-aif1 <-> ssp2-port mapping ok [ 69.130650] bytt100_rt5640 bytt100_rt5640: Connecting non-supply widget to supply widget is not supported (Int Mic -> LDO2) [ 69.130657] bytt100_rt5640 bytt100_rt5640: ASoC: no dapm match for Int Mic --> (null) --> LDO2 [ 69.130663] bytt100_rt5640 bytt100_rt5640: ASoC: Failed to add route Int Mic -> direct -> LDO2 [ 69.165392] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 0 doesn't have DAPM widget!!! [ 69.165427] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 1 doesn't have DAPM widget!!! [ 69.165460] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 2 doesn't have DAPM widget!!! [ 69.165494] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 3 doesn't have DAPM widget!!! [ 69.165521] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in0_0 doesn't have DAPM widget!!! [ 69.165551] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in0_1 doesn't have DAPM widget!!! [ 69.165583] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in1_0 doesn't have DAPM widget!!! [ 69.165618] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in1_1 doesn't have DAPM widget!!!
The sound card appears, but then if I try to play something:
aplay -D hw:0 -c 2 -r 48000 -f S16_LE /dev/urandom aplay: set_params:1297: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: S16_LE SUBFORMAT: STD SAMPLE_BITS: 16 FRAME_BITS: 32 CHANNELS: 2 RATE: 48000 PERIOD_TIME: 125000 PERIOD_SIZE: 6000 PERIOD_BYTES: 24000 PERIODS: 4 BUFFER_TIME: 500000 BUFFER_SIZE: 24000 BUFFER_BYTES: 96000 TICK_TIME: 0
[ 95.164749] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
This is dpcm enabled driver
So please route the FE to BE and it should work...
Vinod
The messages are exactly the same with both firmwares (fw_sst_0f28.bin and fw_sst_0f28_ssp0.bin).
Maybe I forgot to load another module?
Side note: snd-intel-sst-acpi and snd-soc-rt5640 both have usage count 1 without dependent modules, that requires a reboot between each test.
Thanks for your help, it helped me make progress even if it still is not success.
Regards,
-- Nicolas George