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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值