diff options
8 files changed, 24 insertions, 107 deletions
| diff --git a/target/linux/ar71xx/base-files/etc/defconfig/rb-750/network b/target/linux/ar71xx/base-files/etc/defconfig/rb-750/network index 113d9f3ee..de201bf5e 100644 --- a/target/linux/ar71xx/base-files/etc/defconfig/rb-750/network +++ b/target/linux/ar71xx/base-files/etc/defconfig/rb-750/network @@ -4,12 +4,8 @@ config interface loopback  	option ipaddr	127.0.0.1  	option netmask	255.0.0.0 -config interface eth -	option ifname	eth0 -	option proto	none -  config interface lan -	option ifname	'port2 port3 port4 port5' +	option ifname	eth0  	option type	bridge  	option proto	static  	option ipaddr	192.168.1.1 @@ -18,3 +14,11 @@ config interface lan  config interface wan  	option ifname	eth1  	option proto	dhcp + +config switch eth0 +	option enable_vlan	1 + +config switch_vlan +	option device	eth0 +	option vlan	1 +	option ports	"0 1 2 3 4" diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig index 6d52eba86..a0e141020 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig @@ -30,7 +30,6 @@ config AR71XX_MACH_AP96  config AR71XX_MACH_DIR_600_A1  	bool "D-Link DIR-600 rev. A1 support" -	select AR71XX_DEV_AP91_ETH  	select AR71XX_DEV_AP91_PCI if PCI  	select AR71XX_DEV_M25P80  	select AR71XX_DEV_GPIO_BUTTONS @@ -140,7 +139,6 @@ config AR71XX_MACH_RB4XX  config AR71XX_MACH_RB750  	bool "MikroTik RouterBOARD 750 support" -	select AR71XX_DEV_AP91_ETH  	default n  config AR71XX_MACH_WNDR3700 @@ -281,10 +279,6 @@ config AR71XX_DEV_AP91_PCI  	select AR71XX_PCI_ATH9K_FIXUP  	def_bool n -config AR71XX_DEV_AP91_ETH -	select AR71XX_DEV_DSA -	def_bool n -  config AR71XX_DEV_AP94_PCI  	select AR71XX_PCI_ATH9K_FIXUP  	def_bool n diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile index 991ae9202..f6ceb0a98 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile @@ -13,7 +13,6 @@ obj-y	:= prom.o irq.o setup.o devices.o gpio.o ar71xx.o  obj-$(CONFIG_EARLY_PRINTK)		+= early_printk.o  obj-$(CONFIG_PCI)			+= pci.o -obj-$(CONFIG_AR71XX_DEV_AP91_ETH)	+= dev-ap91-eth.o  obj-$(CONFIG_AR71XX_DEV_AP91_PCI)	+= dev-ap91-pci.o  obj-$(CONFIG_AR71XX_DEV_AP94_PCI)	+= dev-ap94-pci.o  obj-$(CONFIG_AR71XX_DEV_AR913X_WMAC)	+= dev-ar913x-wmac.o diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.c deleted file mode 100644 index fbb813603..000000000 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - *  Atheros AP91 reference board ethernet initialization - * - *  Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org> - * - *  This program is free software; you can redistribute it and/or modify it - *  under the terms of the GNU General Public License version 2 as published - *  by the Free Software Foundation. - */ - -#include "devices.h" -#include "dev-dsa.h" -#include "dev-ap91-eth.h" - -static struct dsa_chip_data ap91_dsa_chip = { -	.port_names[0]  = "cpu", -	.port_names[1]  = "lan1", -	.port_names[2]  = "lan2", -	.port_names[3]  = "lan3", -	.port_names[4]  = "lan4", -}; - -static struct dsa_platform_data ap91_dsa_data = { -	.nr_chips	= 1, -	.chip		= &ap91_dsa_chip, -}; - -static void ap91_eth_set_port_name(unsigned port, const char *name) -{ -	if (port < 1 || port > 5) -		return; - -	if (name) -		ap91_dsa_chip.port_names[port] = (char *) name; -} - -void __init ap91_eth_init(const char *port_names[]) -{ -	if (port_names) { -		int i; - -		for (i = 0; i < AP91_ETH_NUM_PORT_NAMES; i++) -			ap91_eth_set_port_name(i + 1, port_names[i]); -	} - -	/* WAN port */ -	ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; -	ar71xx_eth0_data.speed = SPEED_100; -	ar71xx_eth0_data.duplex = DUPLEX_FULL; - -	/* LAN ports */ -	ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; -	ar71xx_eth1_data.speed = SPEED_1000; -	ar71xx_eth1_data.duplex = DUPLEX_FULL; - -	ar71xx_add_device_mdio(0x0); -	ar71xx_add_device_eth(1); -	ar71xx_add_device_eth(0); - -	ar71xx_add_device_dsa(1, &ap91_dsa_data); -} diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.h b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.h deleted file mode 100644 index 08b1dde6b..000000000 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - *  Atheros AP91 reference board ethernet initialization - * - *  Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org> - * - *  This program is free software; you can redistribute it and/or modify it - *  under the terms of the GNU General Public License version 2 as published - *  by the Free Software Foundation. - */ - -#ifndef _AR71XX_DEV_AP91_ETH_H -#define _AR71XX_DEV_AP91_ETH_H - -#define AP91_ETH_NUM_PORT_NAMES	4 - -#if defined(CONFIG_AR71XX_DEV_AP91_ETH) -void ap91_eth_init(const char *port_names[]) __init; -#else -static inline void ap91_eth_init(const char *port_names[]) { } -#endif - -#endif /* _AR71XX_DEV_AP91_ETH_H */ - diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c index 5c36402e3..ffb4c0b84 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c @@ -16,7 +16,6 @@  #include "machtype.h"  #include "devices.h"  #include "dev-m25p80.h" -#include "dev-ap91-eth.h"  #include "dev-ap91-pci.h"  #include "dev-gpio-buttons.h"  #include "dev-leds-gpio.h" diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb750.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb750.c index 9c8386b7b..d60f45294 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb750.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb750.c @@ -14,7 +14,6 @@  #include "machtype.h"  #include "devices.h" -#include "dev-ap91-eth.h"  static struct rb750_led_data rb750_leds[] = {  	{ @@ -56,13 +55,6 @@ static struct platform_device rb750_leds_device = {  	}  }; -static const char *rb750_port_names[AP91_ETH_NUM_PORT_NAMES] __initdata = { -	"port5", -	"port4", -	"port3", -	"port2", -}; -  static struct platform_device rb750_nand_device = {  	.name	= "rb750-nand",  	.id	= -1, @@ -127,7 +119,21 @@ static void __init rb750_setup(void)  	ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0);  	ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1); -	ap91_eth_init(rb750_port_names); + +	/* WAN port */ +	ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; +	ar71xx_eth0_data.speed = SPEED_100; +	ar71xx_eth0_data.duplex = DUPLEX_FULL; + +	/* LAN ports */ +	ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; +	ar71xx_eth1_data.speed = SPEED_1000; +	ar71xx_eth1_data.duplex = DUPLEX_FULL; +	ar71xx_eth1_data.has_ar7240_switch = 1; + +	ar71xx_add_device_mdio(0x0); +	ar71xx_add_device_eth(1); +	ar71xx_add_device_eth(0);  	platform_device_register(&rb750_leds_device);  	platform_device_register(&rb750_nand_device); diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c index 834b462de..b2cee220b 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c @@ -16,7 +16,6 @@  #include "machtype.h"  #include "devices.h"  #include "dev-m25p80.h" -#include "dev-ap91-eth.h"  #include "dev-ap91-pci.h"  #include "dev-gpio-buttons.h"  #include "dev-leds-gpio.h" | 
