Re: [alsa-devel] writing an alsa driver
Hi all,
I own an Asus x205ta too and I really want to help to make this audio card works. I'm using linux next with Michele Curti's patch (as of 23 june)
Here kernel .config:
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5645_MACH=m # CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH is no CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m # CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH is not set # CONFIG_SND_SOC_INTEL_BROADWELL_MACH is not set CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5645_MACH=m
bo@X205TA:~$ uname -a Linux X205TA 4.2.0-rc2-next-20150717+ #3 SMP Wed Jul 22 15:31:59 CEST 2015 x86_64 x86_64 x86_64 GNU/Linux
Output of lsmod:
snd_soc_sst_bytcr_rt5645 16384 0 snd_intel_sst_acpi 16384 1 snd_intel_sst_core 73728 1 snd_intel_sst_acpi snd_soc_rt5645 139264 1 snd_soc_sst_mfld_platform 90112 3 snd_intel_sst_core snd_pcm 102400 4 snd_soc_rt5645,snd_soc_core,snd_soc_sst_mfld_platform,snd_soc_sst_bytcr_rt5645
bo@X205TA:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: baytrailcraudio [baytrailcraudio], device 0: Baytrail Audio (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0
bo@@X205TA:~$ aplay -D hw:0 -c 2 -r 48000 -f S16_LE /dev/urandomPlaying raw data '/dev/urandom' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo 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
bo@X205TA:~$ cat /proc/interrupts | grep sst 6: 0 0 0 0 IO-APIC 28-fasteoi intel_sst_driver
bo@X205TA:~$ ll /lib/firmware/intel/fw* -rw-r--r-- 1 root root 647078 lug 22 17:56 /lib/firmware/intel/fw_sst_0f28.bin -rw-r--r-- 1 root root 265684 lug 22 17:56 /lib/firmware/intel/fw_sst_0f28.bin-48kHz_i2s_master -rw-r--r-- 1 root root 701614 lug 22 17:56 /lib/firmware/intel/fw_sst_22a8.bin
I read that the firmware used by bytx205_rt5645 is intel/fw_sst_0f28.bin:
in fact in sst_acpi i have:
{"10EC5648", "X205", "bytx205_rt5645", NULL, "intel/fw_sst_0f28.bin", &byt_rvp_platform_data },
but it's bounded to sst1 as i see from disassembling acpi data: cat dsdt.dsl: [...] Device (SSP1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "SSPX0000" /* Intel SSP Device */) // _HID: Hardware ID Name (_CID, "SSPX0000" /* Intel SSP Device */) // _CID: Compatible ID [...] Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001D, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000018, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000019, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001A, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001B, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } [...]
however the fw is tied to work with SSP0. What can i do?
I tried to connect parts in routing:
#DSP routing amixer -c0 sset 'codec_out0 mix 0 pcm0_in' on amixer -c0 sset 'media0_out mix 0 media1_in' on amixer -c0 sset 'media1_in Gain 0' 80% amixer -c0 sset 'media1_in Gain 0 Ramp Delay' 50 amixer -c0 sset 'media1_in Gain 0' off amixer -c0 sset 'pcm0_in Gain 0' 80% amixer -c0 sset 'pcm0_in Gain 0 Ramp Delay' 50 amixer -c0 sset 'pcm0_in Gain 0' off amixer -c0 sset 'codec_out0 Gain 0' 80% amixer -c0 sset 'codec_out0 Gain 0 Ramp Delay' 50 amixer -c0 sset 'codec_out0 Gain 0' off
#Codec routin, if you have different one please modfiy amixer -c0 sset "DAC MIXL INF1" on amixer -c0 sset "DAC MIXR INF1" on amixer -c0 sset "Stereo DAC MIXL DAC L1" on amixer -c0 sset "Stereo DAC MIXR DAC R1" on amixer -c0 sset "SPK MIXL DAC L1" on amixer -c0 sset "SPK MIXR DAC R1" on amixer -c0 sset "SPOL MIX SPKVOL L" on amixer -c0 sset "SPOR MIX SPKVOL R" on amixer -c0 sset "SPOL MIX DAC L1" on amixer -c0 sset "SPOR MIX DAC R1" on amixer -c0 sset "Speaker L" on amixer -c0 sset "Speaker R" on amixer -c0 sset "Headphone" off amixer -c0 sset "Ext Spk" on
and the attached dmesg log appeared
I get no sound but at least no heat :)
Is everything that I've done correct? I see in these output logs many of the errors and bugs that the other users found.
Thanks for the time spent
Marco
Output of dmesg:
On Wed, Jul 22, 2015 at 10:05:36PM +0200, Marco Bodega wrote:
Hi all,
I own an Asus x205ta too and I really want to help to make this audio card works. I'm using linux next with Michele Curti's patch (as of 23 june)
Great! Good to know that you are working on this driver. I did no progress since then because I stopped working on it..
but it's bounded to sst1 as i see from disassembling acpi data: cat dsdt.dsl: [...] Device (SSP1) {
...
however the fw is tied to work with SSP0. What can i do?
SSP2 http://permalink.gmane.org/gmane.linux.alsa.devel/140328 future versions of the firmware should support SSP1
Is everything that I've done correct? I see in these output logs many of the errors and bugs that the other users found.
[ 7.145429] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 0 doesn't have DAPM widget!!! [ 7.145461] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 1 doesn't have DAPM widget!!! [ 7.145488] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 2 doesn't have DAPM widget!!! [ 7.145517] sst-mfld-platform sst-mfld-platform: Slot control: codec_out tx interleaver slot 3 doesn't have DAPM widget!!! [ 7.145540] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in0_0 doesn't have DAPM widget!!! [ 7.145565] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in0_1 doesn't have DAPM widget!!! [ 7.145592] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in1_0 doesn't have DAPM widget!!! [ 7.145621] sst-mfld-platform sst-mfld-platform: Slot control: codec_in rx deinterleaver codec_in1_1 doesn't have DAPM widget!!!
Yep, Vinod will check these http://permalink.gmane.org/gmane.linux.alsa.devel/140564
Regards, Michele
participants (2)
-
Marco Bodega
-
Michele Curti