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
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,