三星平台声卡移植添加新的声卡驱动程序
2016-08-25 16:19
477 查看
核心提示:家提供的wm8976声卡驱动程序,添加到内核硬件环境 jz2440开发板,搭载 s3c2440处理器 使用的声卡芯片 wm8976软件环境内核版本 linux 3.4.2内核 交叉编译工具 arm-linux-gcc 4.3.2添加新的声卡驱动方法方法一... 目的:在linux 3.4.2内核下移植厂家提供的wm8976声卡驱动程序,添加到内核 硬件环境 jz2440开发板,搭载 s3c2440处理器 使用的声卡芯片 wm8976 软件环境内核版本 linux 3.4.2内核 交叉编译工具 arm-linux-gcc 4.3.2 添加新的声卡驱动方法 方法一 ①将移植好的声卡驱动wm8976.c和wm8976.h放入内核 sound/soc/codecs目录下,并修改对应目录下的Makefile文件,注销掉内核自带的声卡驱动文件uda134x.o,改名为新的文件名wm8976.o ②修改内核文件 s3c24xx_uda134x.c 将其文件中的 snd_soc_dai_link结构体中的codec_name 改为和 wm8976-codec codec_dai_name 改为 wm8976-iis 方法二 仿照内核添加一个配置项即可 ① 将移植好的声卡驱动wm8976.c和wm8976.h放入内核 sound/soc/codecs目录下 ② 修改 sound/soc/codecs/Makefile 1)搜索 snd-soc-uda134x-objs :=uda134x.o 在其下方添加一行 snd-soc-wm8976-objs :=wm8976.o 2)同样搜索 obj-$(CONFIG_SND_SOC_UDA134X)+=snd-soc-uda134x.o 在其下方添加新的一行 obj-$(CONFIG_SND_SOC_WM8976)+=snd-soc-wm8976.o ③修改同目录(sound/soc/codecs)下的Kconfig文件(主要是在makemenuconfig时添加一项) 1)打开后 搜索 configSND_SOC_UDA134X 在其下方添加新的两行 configSND_SOC_WM8976 tristate 2)搜索 selectSND_SOC_UDA134X 在其下方添加新的一行 selectSND_SOC_WM8976 ③修改sound/soc/samsung目录下的文件 1)复制s3c24xx_uda134x.c,命名为s3c2440_wm8976.c 修改s3c24xx_uda134x_hw_params 函数 #if 0 ret = snd_soc_dai_set_sysclk(codec_dai, 0, clk, SND_SOC_CLOCK_OUT); if (ret < 0) return ret; #endif 修改 snd_soc_s3c24xx_uda134x .name = S3C2440_WM8976 , 替换S3C24XX_UDA134X 为S3C2440_WM8976 2)修改对应目录下的Makefile 搜索snd-soc-s3c24xx-uda134x-objs := s3c24xx_uda134x.o 在其下方添加一行 snd-soc-s3c24xx-wm8976-objs :=s3c2440_wm8976.o 搜索 obj-$(CONFIG_SND_SOC_SAMSUNG_S3C24XX_UDA134X)+= snd-soc-s3c24xx-uda134x.o 在其下方添加一行 obj-$(CONFIG_SND_SOC_SAMSUNG_S3C24XX_WM8976) +=snd-soc-s3c24xx-wm8976.o 3)修改Kconfig文件 搜索configSND_SOC_SAMSUNG_S3C24XX_UDA134X tristate SoC I2S Audio support UDA134X wired to aS3C24XX depends on SND_SOC_SAMSUNG &&ARCH_S3C24XX select SND_S3C24XX_I2S select SND_SOC_L3 select SND_SOC_UDA134X 添加wm8976相关的 configSND_SOC_SAMSUNG_S3C24XX_WM8976 tristate SoC I2S Audio support WM8976 wired to aS3C24XX depends on SND_SOC_SAMSUNG && ARCH_S3C24XX select SND_S3C24XX_I2S select SND_SOC_L3 select SND_SOC_WM8976 ④ 重新配置内核 make menuconfig Device Drivers ---> <*>Sound card support ---> <*> Advanced LinuxSound Architecture ---> <*> ALSA for SoC audiosupport ---> <*> ASoC support for Samsung <*> SoC I2S Audiosupport WM8976 wired to a S3C24XX 编译内核 makeuImage
相关文章推荐
- 【转】在高通平台添加或者移植一个完整的camera
- 三星6410 uart平台设备添加流程分析
- linux-2.6.32在mini2440开发板上移植(8)之添加ADC驱动程序
- 移植u-boot-2010.09到三星SC32442平台(一):时钟和nand启动
- 教大家如何在qualcomm平台移植MTP驱动程序
- 移植u-boot-2010.09到三星SC32442平台(二):nand读写和ax88180以太网支持
- 在高通平台添加或者移植一个完整的camera
- 移植u-boot-2010.09到三星SC32442平台(三):yaffs2文件系统写入支持
- 嵌入式Linux平台USB驱动程序的移植
- linux-2.6.32在mini2440开发板上移植 --添加ADC驱动程序
- linux-2.6.32在mini2440开发板上移植(8)之添加ADC驱动程序
- linux-2.6.32在mini2440开发板上移植---添加触摸屏驱动程序
- 关于三星S3C6410裸机程序支持SDHC2.0驱动程序的移植
- 在8X12平台添加或者移植一个完整的camera
- 嵌入式平台USB驱动程序移植(zc0301p 摄像头)
- [图文]为移植到Android平台上的Cocos2d-x项目添加xml布局文件
- UBOOT-2012-10在OK6410平台的移植(六)添加DNW下载功能
- linux-2.6.32在mini2440开发板上移植(9)之添加触摸屏驱动程序
- cocos2dx移植到Android平台避免手动添加CPP路径到Android.mk
- linux-2.6.32在mini2440开发板上移植(8)之添加ADC驱动程序