Linux核心驅動在Tx2440上的移植詳解

2021-05-23 21:44:30 字數 1302 閱讀 6526

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

#include

static struct s3c24xx_uda134x_platform_data s3c24xx_uda134x_data = ;

struct platform_device s3c24xx_uda134x =

};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 s3c***x chips

<*>   soc i2s audio support uda134x wired to a s3c24xx

linux 核心 驅動

首先 1.建立裝置 分配cdev結構體 if globalmem major 手動分配 ret register chrdev region devno,1,globalmem else globalmem 提供給上層使用 2 建立核心裝置 struct globalmem dev globalme...

在linux核心驅動樹中新增自己的驅動

在linux核心驅動樹中新增自己的驅動 例如在linux 2.6.x.x drivers char中新增驅動目錄lzp iic 1 在linux 2.6.x.x drivers char目錄下新增lzp iic目錄,並在lzp iic目錄新增kconfig和makefile kconfig 內容 a...

新增linux核心驅動

1.將核心驅動.ko放入 lib modules 3.2.0 23 generic kernel drivers 目錄下 2.執行depmod a來解決依賴 掃瞄driver下的驅動依賴關係 命令執行完成後,會自動生成modules.dep 和modules.alias。dep為依賴關係。3.更新當...