static int __init dm9000_init(void) { #if defined(CONFIG_ARCH_S3C2410) unsigned int oldval_bwscon = *(volatile unsigned int *)S3C2410_BWSCON; unsigned int oldval_bankcon4 = *(volatile unsigned int *)S3C2410_BANKCON4; // *((volatile unsigned int *)S3C2410_BWSCON) = // (oldval_bwscon & ~(3<<16)) | S3C2410_BWSCON_DW4_16 | S3C2410_BWSCON_WS4 | S3C2410_BWSCON_ST4; //*((volatile unsigned int *)S3C2410_BANKCON4) = 0x1f7c; *((volatile unsigned int *)S3C2410_BWSCON) = (oldval_bwscon| 0x000f0000) & 0xfff1ffff; *((volatile unsigned int *)S3C2410_BANKCON4) = 0x0700;
#endif printk(KERN_INFO "%s Ethernet Driver, V%s\n", CARDNAME, DRV_VERSION);
return platform_driver_register(&dm9000_driver); }
改动了 BWSCON 和 BANKCON4 的值 |