memcntl 函数 linux,Linux下利用DM9000C构造双网口

static struct resource s3c_dm9k_resource0[] = {

[0] = {

.start = S3C2410_CS4,

.end   = S3C2410_CS4 + 3,

.flags = IORESOURCE_MEM

},

[1] = {

.start = S3C2410_CS4 + 4,

.end   = S3C2410_CS4 + 7,

.flags = IORESOURCE_MEM

},

[2] = {

.start = IRQ_EINT7,

.end   = IRQ_EINT7,

.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,

}

};

static struct dm9000_plat_data s3c_device_dm9k_pdata0 = {

.flags = DM9000_PLATF_16BITONLY

};

static struct platform_device s3c_device_eth0 = {

.name           = "dm9000",

.id             = -1,

.num_resources  = ARRAY_SIZE(s3c_dm9k_resource0),

.resource       = s3c_dm9k_resource0,

.dev            = {

.platform_data  = &s3c_device_dm9k_pdata0,

},

};

static struct resource s3c_dm9k_resource1[] = {

[0] = {

.start = S3C2410_CS3,

.end   = S3C2410_CS3+ 3,

.flags = IORESOURCE_MEM

},

[1] = {

.start = S3C2410_CS3+ 4,

.end   = S3C2410_CS3+ 7,

.flags = IORESOURCE_MEM

},

[2] = {

.start = IRQ_EINT8,

.end   = IRQ_EINT8,

.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,

}

};

static struct dm9000_plat_data s3c_device_dm9k_pdata1 = {

.flags = DM9000_PLATF_16BITONLY

};

static struct platform_device s3c_device_eth1 = {

.name           = "dm9000",

.id             = 1,

.num_resources  = ARRAY_SIZE(s3c_dm9k_resource1),

.resource       = s3c_dm9k_resource1,

.dev            = {

.platform_data  = &s3c_device_dm9k_pdata1,

},

};

static void s3c_dm9k_bus_init(void)

{

unsigned int oldval_bwscon = *(volatile unsigned int *)S3C2410_BWSCON;

*((volatile unsigned int *)S3C2410_BWSCON) =

(oldval_bwscon & ~(0x33<<12)) | S3C2410_BWSCON_DW3_16|S3C2410_BWSCON_DW4_16;

}

void __init sbc2440_init(void)

{

......

s3c_dm9k_bus_init();//koujinqiao

......

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值