平台:TQ3399(【 点击此处】查看开发平台详细参数) 内核:Linux4.4
驱动的添加: 1. 添加驱动 2.修改 sound/soc/codec/Kconfig以及Makefile加入驱动编译 sound/soc/codec/Kconfig: sound/soc/codec/Makefile 3.menuconfig中 enablesimple card 以及 codec makemenuconfig Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> ALSA for SoC audio support ---> ASoC support for Rockchip Rockchip I2S DeviceDriver CODEC drivers ---> Realtek ALC5640 CODEC ASoC Simple sound card support
4.在dts中添加节点 rk3399-excavator-sapphire.dtsi 声卡调试: 1. 通过如下命令确认声卡是否注册成功 2. 查看寄存器 3. 写寄存器 4. 通过查看clk tree确认相应的audio clk是否正常。 以上调试后,基本能够确定我们的声卡已经注册到系统中,并且通过软件的方式看到我们mclk的频率为11.288MHz。下面的命令用来播放音频。 我们播放的是48KHz频率的音频,播放后发现有杂音,用示波器测量mclk的波形发现频率并不是12.288MHz。调试发现,硬件接口中使用的是I2S1,但是I2S1使用了I2S0的mclk,I2S0的mclk默认是12MHz。 修改时钟: 修改kernel/arch/arm64/boot/dts/rockchip/rk3399.dtsi 修改kernel/drivers/clk/rockchip/clk-rk3399.c 修改kernel/include/dt-bindings/clock/rk3399-cru.h 修改kernel/sound/soc/rockchip/rockchip_i2s.c
|