From d87fd1b74fc633b4e41792badec5bc50fd4f23ab Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sat, 24 Oct 2009 20:58:41 +0000 Subject: [ramips] make ethernet a platform device git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18135 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ramips/files/arch/mips/ralink/rt305x/devices.c | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c') diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c index 5dd1022b97..6155b9fb60 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c @@ -19,6 +19,8 @@ #include #include "devices.h" +#include + static struct resource rt305x_flash0_resources[] = { { .flags = IORESOURCE_MEM, @@ -94,3 +96,29 @@ void __init rt305x_register_flash(unsigned int id, platform_device_register(pdev); rt305x_flash_instance++; } + +static void rt305x_fe_reset(void) +{ + rt305x_sysc_wr(RAMIPS_FE_RESET_BIT, RAMIPS_FE_RESET); + rt305x_sysc_wr(0, RAMIPS_FE_RESET); +} + +static struct ramips_eth_platform_data ramips_eth_data = { + .mac = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 }, + .base_addr = RT305X_FE_BASE, + .irq = RT305X_CPU_IRQ_FE, + .reset_fe = rt305x_fe_reset, + .min_pkt_len = 64 +}; + +static struct platform_device rt305x_eth_device = { + .name = "ramips_eth", + .dev = { + .platform_data = (void *) &ramips_eth_data, + } +}; + +void __init rt305x_register_ethernet(void) +{ + platform_device_register(&rt305x_eth_device); +} -- cgit v1.2.3