dm9000
来源:互联网 发布:python 运算符 编辑:程序博客网 时间:2024/06/05 18:41
添加选项:
make menuconfig
Networking options --->
[*] TCP/IP networking
│ │ [*] IP: multicasting
│ │ [*] IP: advanced router
│ │ [*] FIB TRIE statistics
│ │ [*] IP: policy routing
│ │ [*] IP: equal cost multipath
│ │ [*] IP: verbose route monitoring
[*] IP: kernel level autoconfiguration │ │
│ │ [*] IP: DHCP support │ │
│ │ [*] IP: BOOTP support │ │
│ │ [*] IP: RARP support │ │
│ │ <*> IP: tunneling │ │
│ │ <*> IP: GRE demultiplexer │ │
│ │ <M> IP: GRE tunnels over IP │ │
│ │ [ ] IP: broadcast GRE over IP │ │
│ │ [*] IP: multicast routing │ │
│ │ [*] IP: multicast policy routing
[*] IP: PIM-SM version 1 support │ │
│ │ [*] IP: PIM-SM version 2 support │ │
│ │ [*] IP: ARP daemon support │ │
│ │ [*] IP: TCP syncookie support │ │
│ │ <*> IP: AH transformation │ │
│ │ <*> IP: ESP transformation │ │
│ │ <*> IP: IPComp transformation │ │
│ │ <*> IP: IPsec transport mode │ │
│ │ <*> IP: IPsec tunnel mode │ │
│ │ <*> IP: IPsec BEET mode
<*> Large Receive Offload (ipv4/tcp) │ │
│ │ <*> INET: socket monitoring interface
Device Drivers --->
[*] Network device support --->
[*] Ethernet driver support --->
<*> DM9000 support
2.添加dm9000的代码,在arch/arm/mach-s3c64xx/mach-s3c6410.c
添加头文件
#include <linux/dm9000.h>
添加初始化代码。分配资源
/*
dm9000
add by fatfish
*/
/* DM9000AEP 10/100 ethernet controller */
#define SMDK6410_PA_DM9000 (0x18000000)
#define SMDK6410_VA_EXTDEV S3C_ADDR(0x02000000)
#define SMDK6410_PA_EXTDEV (0x30000000)
#define SMDK6410_EN_DM9000 (1<<14)
static __u32 smdk6410_extdev_status;
static void __init smdk6410_dm9000_enable(void)
{
smdk6410_extdev_status |= (SMDK6410_EN_DM9000 << 16);
__raw_writel(smdk6410_extdev_status, SMDK6410_VA_EXTDEV);
}
static struct resource smdk6410_dm9000_resource[] = {
[0] = {
.start = SMDK6410_PA_DM9000,
.end = SMDK6410_PA_DM9000 + 3,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = SMDK6410_PA_DM9000 + 4,
.end = SMDK6410_PA_DM9000 + 4 + 500,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = IRQ_EINT(7), /*根据电路图来的*/
.end = IRQ_EINT(7),
.flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH,
},
};
static struct dm9000_plat_data smdk6410_dm9000_pdata = {
.flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),
.dev_addr = { 0x08, 0x90, 0x90, 0x90, 0x90, 0x90 }, /* MAC addr*/
/* dev_addr can be set to provide hwaddr. */
};
static struct platform_device smdk6410_device_eth = {
.name = "dm9000",
.id = -1,
.num_resources = ARRAY_SIZE(smdk6410_dm9000_resource),
.resource = smdk6410_dm9000_resource,
.dev = {
.platform_data = &smdk6410_dm9000_pdata,
},
};
static struct map_desc smdk6410_iodesc[] __initdata = {
{
.virtual = (unsigned long)SMDK6410_VA_EXTDEV,
.pfn = __phys_to_pfn(SMDK6410_PA_EXTDEV),
.length = SZ_64K,
.type = MT_DEVICE,
},
};
static struct platform_device *smdk6410_devices[] __initdata中添加
&smdk6410_device_eth,
static void __init smdk6410_machine_init(void)中添加
smdk6410_dm9000_enable();
- DM9000
- DM9000
- dm9000
- DM9000
- dm9000
- dm9000
- DM9000
- DM9000
- dm9000
- dm9000
- DM9000网卡
- dm9000移植
- DM9000寄存器
- DM9000布线
- DM9000驱动
- DM9000网卡
- DM9000 Device Driver(1) -- Dm9000.c
- DM9000 Device Driver(2) -- Dm9000.h
- PE文件格式及相关资料
- xml(在内部定义,上一篇是在外部引入)
- FormsAuthentication.HashPasswordForStoringInConfigFile 方法 之研究
- C++中的const与指针
- 解题报告之DisjointSet
- dm9000
- 【字典树】poj1451 T9
- PE文件格式详解(上)
- AxWebBrowser禁止脚本(js)关闭窗口
- iphone开发中图标的设置
- 位操作
- Java面试题:聪明的法官
- 使用Jcrop实现图片上传、剪裁和保存(ASP.NET)
- windows内存映射机制