Wm5102 是一颗功能强大的音频编解码芯片, 三星 S4 手机就使用了这个芯片。
手册解读:
数字接口: AIFs 支持 PCM,TDM,I2S
AIF1 支持 8 通道, AIF2 和 AIF3 支持 2 通道。双向通信可达 192KHz
2 PWM 输出
5 GPIO 引脚
系统时钟可以从 MCKL1 或者 MCKL2 获得
MIC—BIAS为麦克的直流偏置电压。
1 你说的mic bias应该说的是主板上麦克的偏置电压。偏置电压是由英文bias voltage翻译得到的。
2 在电子技术课程中,我们知道,由三极管组成的放大电路能够放大一定范围的交流信号,但前提是需要设置放大电路的静态工作点,即为保证放大电路正常工作而为放大电路提供偏置电压。这样,才能保证放大电路的正常工作。
3 简单说,偏置就是为放大电路提供适合的静态工作点。
RPI <-- AF1 --> WM5102 <-- AF2 --> WM8804
LHPF Low PASS / High PASS digtal filter 低通高通滤波器
与 Mic Mixer 接有 4 个 LHPF 可配置的滤波器(可配置为高或者低),用于滤除不需要的噪声信号
数字音频接口:
1. 3 路数字音频接口, AIF1~3 可独立配置 Tx 和 Rx
AIF1 有 8 路输入输出, AIF2~3 有两路输入输出
2. Tx 的输入可以是任何输入信号或者来自 digtal core 处理的信号
Rx 可以作为 digtal core 的输入或者作为输出
3. TXData 数据输出
RxData 数据输入
BCLK bit Clock
LRCLK 左右通道数据时钟
主模式,输出时钟;从模式,时钟输入
4. 4 种工作模式
DSP mode A
DSP mode B (Master only)
I2S
Left Justified (Master only)
内核驱动 :https://www.kernel.org/doc/Documentation/devicetree/bindings/mfd/arizona.txt
make ja3g_00_defconfig 三星 I9500 的内核
使用 update/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- 的交叉编译工具链
如何得到的:
diff -Nru Makefile.bak Makefile --- Makefile.bak 2013-04-12 15:57:28.000000000 +0800
+++ Makefile 2013-04-12 16:43:58.000000000 +0800
@@ -192,8 +192,8 @@
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
export KBUILD_BUILDHOST := $(SUBARCH)
-ARCH ?= $(SUBARCH)
-CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
+ARCH ?= arm
+CROSS_COMPILE ?= /opt/toolchains/arm-eabi-4.6/bin/arm-eabi-
# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
[ 2.140583] CPU plotform driver probe successfully
[ 2.147085] CPU dai i2s driver probe successfully
[ 2.156617] snd-rpi-wsp snd-rpi-wsp.0: CODEC wm5102-codec not registered
[ 2.164950] Indeed it is in host mode hprt0 = 00021501
[ 2.171614] snd-rpi-wsp snd-rpi-wsp.0: snd_soc_register_card() failed: -517