移植已经在32 kernel上工作的USP PCM代码,需要注意以下几点:
1)首先示波器测量FS CLK和Bit CLK是否正常。
2)WM8990的usp frame格式与BC06不同,BC06 TX/RX frame 长度为31,否则会有噪声,不断出现underrun和overrun错误。
3)28 kernel alsa驱动中无须为每个audio设备注册platform device。因此,usp的资源和时钟信息需要在sound/soc/$(platform)/$(specific)中指定,包括struct resource结构体和platform_device->dev->private_data->clk_name。如果这些信息没有指明,从打印的usp寄存器中可以看到值均为0。
4)声音延迟现在仍旧存在。解决办法:同步运行录音放音和拨号程序。
compiling error:
1)一些头文件定义错误。
2)audio alsa启动流程: platform -> cpu dai -> codec dai