ar71xx: make the AR8216 driver usable on the TEW-632BRP/DIR-615-Cx boards

Cc: backfire@openwrt.org

SVN-Revision: 20752
owl
Gabor Juhos 2010-04-09 08:40:09 +00:00
parent 4c29a2c263
commit d6c0363884
4 changed files with 52 additions and 8 deletions

View File

@ -0,0 +1,26 @@
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option ifname eth0
option type bridge
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0
config interface wan
option ifname eth1
option proto dhcp
config switch
option name eth0
option reset 1
option enable_vlan 1
config switch_vlan
option device eth0
option vlan 1
option ports '0 1 2 3 4'

View File

@ -14,3 +14,13 @@ config interface lan
config interface wan config interface wan
option ifname eth1 option ifname eth1
option proto dhcp option proto dhcp
config switch
option name eth0
option reset 1
option enable_vlan 1
config switch_vlan
option device eth0
option vlan 1
option ports '0 1 2 3 4'

View File

@ -128,6 +128,11 @@ static struct gpio_button dir_615c1_gpio_buttons[] __initdata = {
} }
}; };
#define DIR_615C1_LAN_PHYMASK BIT(0)
#define DIR_615C1_WAN_PHYMASK BIT(4)
#define DIR_615C1_MDIO_MASK (~(DIR_615C1_LAN_PHYMASK | \
DIR_615C1_WAN_PHYMASK))
static void __init dir_615c1_setup(void) static void __init dir_615c1_setup(void)
{ {
const char *config = (char *) KSEG1ADDR(DIR_615C1_CONFIG_ADDR); const char *config = (char *) KSEG1ADDR(DIR_615C1_CONFIG_ADDR);
@ -141,14 +146,13 @@ static void __init dir_615c1_setup(void)
wlan_mac = mac; wlan_mac = mac;
} }
ar71xx_add_device_mdio(0x0); ar71xx_add_device_mdio(DIR_615C1_MDIO_MASK);
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
ar71xx_eth0_data.speed = SPEED_100; ar71xx_eth0_data.phy_mask = DIR_615C1_LAN_PHYMASK;
ar71xx_eth0_data.duplex = DUPLEX_FULL;
ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
ar71xx_eth1_data.phy_mask = 0x10; ar71xx_eth1_data.phy_mask = DIR_615C1_WAN_PHYMASK;
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);

View File

@ -104,6 +104,11 @@ static struct gpio_button tew_632brp_gpio_buttons[] __initdata = {
} }
}; };
#define TEW_632BRP_LAN_PHYMASK BIT(0)
#define TEW_632BRP_WAN_PHYMASK BIT(4)
#define TEW_632BRP_MDIO_MASK (~(TEW_632BRP_LAN_PHYMASK | \
TEW_632BRP_WAN_PHYMASK))
static void __init tew_632brp_setup(void) static void __init tew_632brp_setup(void)
{ {
const char *config = (char *) KSEG1ADDR(TEW_632BRP_CONFIG_ADDR); const char *config = (char *) KSEG1ADDR(TEW_632BRP_CONFIG_ADDR);
@ -117,14 +122,13 @@ static void __init tew_632brp_setup(void)
wlan_mac = mac; wlan_mac = mac;
} }
ar71xx_add_device_mdio(0x0); ar71xx_add_device_mdio(TEW_632BRP_MDIO_MASK);
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
ar71xx_eth0_data.speed = SPEED_100; ar71xx_eth0_data.phy_mask = TEW_632BRP_LAN_PHYMASK;
ar71xx_eth0_data.duplex = DUPLEX_FULL;
ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
ar71xx_eth1_data.phy_mask = 0x10; ar71xx_eth1_data.phy_mask = TEW_632BRP_WAN_PHYMASK;
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);