| Summary: | [p1022ds] dmesg error: wm8776 1-001a: Unable to configure MCLK ratio 12288000/44100 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BSPs | Reporter: | Yi Zhao <yi.zhao> | ||||
| Component: | bsps-meta-fsl-ppc | Assignee: | Chunrong Guo <b40290> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Yi Zhao <yi.zhao> | ||||
| Severity: | normal | ||||||
| Priority: | Medium | CC: | alexandru.c.georgescu, ke.zou, yi.zhao, zhangle.yang, zhenhua.luo | ||||
| Version: | 1.9 | ||||||
| Target Milestone: | 1.9 | ||||||
| Hardware: | Other | ||||||
| OS: | ppc | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | Regression (Used to work) | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
|
Description
Yi Zhao
2015-06-29 06:36:25 UTC
hello zhao ,
this issue is about sound driver.
can you try the following steps ?
step 1:
you can check kernel configure options .
Kernel Configure Tree View Options
Kernel Configure Tree View Options Description
Device Drivers --->
[*] Sound card support --->
[*] Preclaim OSS device numbers
[*] Advanced Linux Sound Architecture --->
[*] OSS Mixer API
[*] OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
[*] Verbose procfs contents
[*] ALSA for SoC audio support --->
[*] ALSA SoC support for the Freescale P1022DS board
step 2:
(1)After u-boot start up, setting and saving environments and reset:
setenv hwconfig audclk:12
save
reset
(2) After kernel start up with ramdisk root file system, find the kernel output like this:
snd-soc-p1022ds snd-soc-p1022ds.0: wm8776-hifi-playback <-> ffe15000.ssi mapping ok
snd-soc-p1022ds snd-soc-p1022ds.0: wm8776-hifi-capture <-> ffe15000.ssi mapping ok
Hi Chunrong, (In reply to comment #1) > hello zhao , > > this issue is about sound driver. > > can you try the following steps ? > > step 1: > > you can check kernel configure options . > > Kernel Configure Tree View Options > > Kernel Configure Tree View Options Description > Device Drivers ---> > > [*] Sound card support ---> > > [*] Preclaim OSS device numbers > > [*] Advanced Linux Sound Architecture ---> > > [*] OSS Mixer API > > [*] OSS PCM (digital audio) API > > [*] OSS PCM (digital audio) API - Include plugin system > > [*] Verbose procfs contents > > [*] ALSA for SoC audio support ---> > > [*] ALSA SoC support for the Freescale P1022DS board > > > I got the kernel and rootfs from http://autobuilder.yoctoproject.org/pub/releases/yocto-1.9_M1.rc1/machines/p1022ds/ I checked the default config for this kernel: The following 4 options are not enabled. [*] Preclaim OSS device numbers [*] OSS Mixer API [*] OSS PCM (digital audio) API [*] OSS PCM (digital audio) API - Include plugin system I rebuild a new kernel and enable all above options you mentioned. But it still doesn't work. > step 2: > > (1)After u-boot start up, setting and saving environments and reset: > setenv hwconfig audclk:12 > save > reset Already setting this > (2) After kernel start up with ramdisk root file system, find the kernel > output like this: > > snd-soc-p1022ds snd-soc-p1022ds.0: wm8776-hifi-playback <-> ffe15000.ssi > mapping ok > snd-soc-p1022ds snd-soc-p1022ds.0: wm8776-hifi-capture <-> ffe15000.ssi > mapping ok The above messages also show in the /var/log/message: # grep "snd-soc-p1022ds" /var/log/messages Nov 10 23:59:56 p1022ds user.err kernel: snd-soc-p1022ds snd-soc-p1022ds.0: ASoC: platform ffe0c100.dma-channel not registered Nov 10 23:59:56 p1022ds user.err kernel: snd-soc-p1022ds snd-soc-p1022ds.0: could not register card Nov 10 23:59:56 p1022ds user.info kernel: platform snd-soc-p1022ds.0: Driver snd-soc-p1022ds requests probe deferral Nov 10 23:59:56 p1022ds user.info kernel: snd-soc-p1022ds snd-soc-p1022ds.0: wm8776-hifi-playback <-> ffe15000.ssi mapping ok Nov 10 23:59:56 p1022ds user.info kernel: snd-soc-p1022ds snd-soc-p1022ds.0: wm8776-hifi-capture <-> ffe15000.ssi mapping ok Nov 10 23:59:56 p1022ds user.info kernel: #0: snd-soc-p1022ds Nov 11 00:00:01 p1022ds user.err pulseaudio[2179]: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-snd-soc-p1022ds.0" card_name= "alsa_card.platform-snd-soc-p1022ds.0" namereg_fail=false tsched=yes fixed_latency_ Nov 11 00:00:02 p1022ds user.err pulseaudio[2179]: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-snd-soc-p1022ds.0" card_name= "alsa_card.platform-snd-soc-p1022ds.0" namereg_fail=false tsched=yes fixed_latency_ Nov 11 00:00:02 p1022ds user.err pulseaudio[2179]: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-snd-soc-p1022ds.0" card_name= "alsa_card.platform-snd-soc-p1022ds.0" namereg_fail=false tsched=yes fixed_latency_ Nov 11 00:00:03 p1022ds user.err pulseaudio[2179]: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-snd-soc-p1022ds.0" card_name= "alsa_card.platform-snd-soc-p1022ds.0" namereg_fail=false tsched=yes fixed_latency_ Nov 11 00:00:03 p1022ds user.err pulseaudio[2179]: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-snd-soc-p1022ds.0" card_name= "alsa_card.platform-snd-soc-p1022ds.0" namereg_fail=false tsched=yes fixed_latency_ Nov 11 00:00:04 p1022ds user.err pulseaudio[2179]: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-snd-soc-p1022ds.0" card_name= "alsa_card.platform-snd-soc-p1022ds.0" namereg_fail=false tsched=yes fixed_latency_ Nov 11 00:00:04 p1022ds user.warn pulseaudio[2179]: [pulseaudio] module-udev-detect.c: Tried to configure /devices/soc.0/ffe15000.ssi/snd-soc-p1022ds.0/sound/card0 (alsa_card.platform-s nd-soc-p1022ds.0) more often than 5 times in 10s Thanks, Yi hello zhao, I test codec clock sources setting as 11MHz and AUDIO works well. you can try the following steps: setenv hwconfig 'audclk:11' save reset (In reply to comment #3) > hello zhao, > > I test codec clock sources setting as 11MHz and AUDIO works well. > you can try the following steps: > > setenv hwconfig 'audclk:11' > save > reset Thanks, Chunrong. It works. Does it need to change the default setting from 12 to 11 in u-boot code ? Yi It is known bug: If pull up R37 and R38 do not welded on board, MIC port will work on "line in" mode. · Because of TDM and AUDIO is pin multiplex, TDM and AUDIO can’t enable simultaneous! And AUDIO codec clock sources only setting as 11MHz or 12MHz ! For u-boot environment setting, following is success setting: setenv hwconfig 'audclk:11' /* codec clock is 11MHz */ setenv hwconfig 'audclk:12' /* codec clock is 12MHz */ It is known bug: If pull up R37 and R38 do not welded on board, MIC port will work on "line in" mode. · Because of TDM and AUDIO is pin multiplex, TDM and AUDIO can’t enable simultaneous! And AUDIO codec clock sources only setting as 11MHz or 12MHz ! For u-boot environment setting, following is success setting: setenv hwconfig 'audclk:11' /* codec clock is 11MHz */ setenv hwconfig 'audclk:12' /* codec clock is 12MHz */ Verified |