Linux内核驱动在Tx2440上的移植详解

Linux内核已经完美的支持 UDA1341 音频芯片的驱动,我们只要在arch/arm/mach-s3c2440/mach-smdk2440.c文件中注册 UDA1341 平台设备的控制端口就可以了。

1、修改arch/arm/mach-s3c2440/mach-smdk2440.c,在Platform_device结构体中,加入:#if defined(CONFIG_SND_S3C24XX_SOC)&s3c24xx_uda134x, #endif


2、修改arch/arm/plat-s3c24xx/devs.c,在DM9000那段代码下面加入:

//硬件接法:L3MODE -> GPB2 L3DATA->GPB3 L3CLOCK->GPB4#if defined(CONFIG_SND_S3C24XX_SOC)#include <mach/regs-gpio.h> #include <sound/s3c24xx_uda134x.h>static struct s3c24xx_uda134x_platform_data s3c24xx_uda134x_data = { .l3_clk = S3C2410_GPB(4), .l3_data = S3C2410_GPB(3), .l3_mode = S3C2410_GPB(2), .model = UDA134X_UDA1341,}; struct platform_device s3c24xx_uda134x = { .name = “s3c24xx_uda134x”, .dev = { .platform_data = &s3c24xx_uda134x_data, } };EXPORT_SYMBOL(s3c24xx_uda134x);#endif


3、在arch/arm/plat-s3c/include/plat/devs.h中加入:

#if defined(CONFIG_SND_S3C24XX_SOC)extern struct platform_device s3c24xx_uda134x;#endif


4、配置内核,支持声卡: 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-> <*> SoC Audio for the Samsung S3CXXXX chips <*> SoC I2S Audio support UDA134X wired to a S3C24XX

如果你希望成功,以恒心为良友,以经验为参谋,以小心为兄弟,以希望为哨兵。

Linux内核驱动在Tx2440上的移植详解

相关文章:

你感兴趣的文章:

标签云: