本文共 3345 字,大约阅读时间需要 11 分钟。
代码 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11提交id : 4459e78a4d845f08286623b98546bcefbb45ddb9defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_defconfig
CONFIG_DM9000=y
drivers/net/ethernet/davicom/dm9000.c
$ git diff arch/arm/mach-s3c/mach-smdk6410.c diff --git a/arch/arm/mach-s3c/mach-smdk6410.c b/arch/arm/mach-s3c/mach-smdk6410.cindex ae18c13..924bcf0 100644--- a/arch/arm/mach-s3c/mach-smdk6410.c+++ b/arch/arm/mach-s3c/mach-smdk6410.c@@ -70,6 +70,8 @@ #include "regs-srom-s3c64xx.h" #include "regs-sys-s3c64xx.h" +#include+ #define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE@@ -254,6 +256,46 @@ static struct samsung_keypad_platdata smdk6410_keypad_data __initdata = { .cols = 8, }; +/* Ethernet */+#ifdef CONFIG_DM9000+#define S3C64XX_PA_DM9000 (0x18000000)+#define S3C64XX_SZ_DM9000 SZ_1M+#define S3C64XX_VA_DM9000 S3C_ADDR(0x03b00300)++static struct resource dm9000_resources[] = { + [0] = { + .start = S3C64XX_PA_DM9000,+ .end = S3C64XX_PA_DM9000 + 3,+ .flags = IORESOURCE_MEM,+ },+ [1] = { + .start = S3C64XX_PA_DM9000 + 4,+ .end = S3C64XX_PA_DM9000 + S3C64XX_SZ_DM9000 - 1,+ .flags = IORESOURCE_MEM,+ },+ [2] = { + .start = IRQ_EINT(7),+ .end = IRQ_EINT(7),+ .flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH,+ },+};++static struct dm9000_plat_data dm9000_setup = { + .flags = DM9000_PLATF_16BITONLY,+ .dev_addr = { 0x08, 0x90, 0x00, 0xa0, 0x90, 0x90 },+};++static struct platform_device s3c_device_dm9000 = { + .name = "dm9000",+ .id = 0,+ .num_resources = ARRAY_SIZE(dm9000_resources),+ .resource = dm9000_resources,+ .dev = { + .platform_data = &dm9000_setup,+ }+};+#endif //#ifdef CONFIG_DM9000+ static struct map_desc smdk6410_iodesc[] = { }; static struct platform_device *smdk6410_devices[] __initdata = { @@ -277,7 +319,11 @@ static struct platform_device *smdk6410_devices[] __initdata = { #endif &smdk6410_lcd_powerdev, - &smdk6410_smsc911x,+#ifdef CONFIG_DM9000+ &s3c_device_dm9000,+#endif++ //&smdk6410_smsc911x, &s3c_device_adc, &s3c_device_cfcon, &s3c_device_rtc,
$ cat arch/arm/configs/ok6410A_sdboot_mini_defconfig CONFIG_ARCH_MULTI_V6=yCONFIG_ARCH_S3C64XX=yCONFIG_MACH_SMDK6410=yCONFIG_SERIAL_SAMSUNG=yCONFIG_SERIAL_SAMSUNG_CONSOLE=yCONFIG_MMC=yCONFIG_MMC_SDHCI=yCONFIG_MMC_SDHCI_S3C=yCONFIG_EXT3_FS=y#### add for mount: mdev: unknown user/group 'root:root' on line 11CONFIG_TMPFS=y#### net driver dm9000CONFIG_NET=yCONFIG_NETDEVICES=yCONFIG_ETHERNET=yCONFIG_DM9000=y#### root nfsCONFIG_INET=yCONFIG_IP_PNP=yCONFIG_NETWORK_FILESYSTEMS=yCONFIG_NFS_FS=yCONFIG_ROOT_NFS=y
ifconfig eth0 10.10.11.120 netmask 255.255.255.0 up && route add default gw 10.10.11.254ping 10.10.11.59ping 8.8.8.8
转载地址:http://fdigi.baihongyu.com/