ar71xx: allow overriding of the lan port names on AP91 based boards
SVN-Revision: 20095
This commit is contained in:
parent
781c482e6a
commit
45ff7289fe
5 changed files with 24 additions and 5 deletions
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
#include "devices.h"
|
#include "devices.h"
|
||||||
#include "dev-dsa.h"
|
#include "dev-dsa.h"
|
||||||
|
#include "dev-ap91-eth.h"
|
||||||
|
|
||||||
static struct dsa_chip_data ap91_dsa_chip = {
|
static struct dsa_chip_data ap91_dsa_chip = {
|
||||||
.port_names[0] = "cpu",
|
.port_names[0] = "cpu",
|
||||||
|
@ -24,11 +25,27 @@ static struct dsa_platform_data ap91_dsa_data = {
|
||||||
.chip = &ap91_dsa_chip,
|
.chip = &ap91_dsa_chip,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init ap91_eth_init(u8 *mac_addr)
|
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(u8 *mac_addr, const char *port_names[])
|
||||||
{
|
{
|
||||||
if (mac_addr)
|
if (mac_addr)
|
||||||
ar71xx_set_mac_base(mac_addr);
|
ar71xx_set_mac_base(mac_addr);
|
||||||
|
|
||||||
|
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 */
|
/* WAN port */
|
||||||
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
|
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
|
||||||
ar71xx_eth0_data.phy_mask = 0x0;
|
ar71xx_eth0_data.phy_mask = 0x0;
|
||||||
|
|
|
@ -11,8 +11,10 @@
|
||||||
#ifndef _AR71XX_DEV_AP91_ETH_H
|
#ifndef _AR71XX_DEV_AP91_ETH_H
|
||||||
#define _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)
|
#if defined(CONFIG_AR71XX_DEV_AP91_ETH)
|
||||||
void ap91_eth_init(u8 *mac_addr) __init;
|
void ap91_eth_init(u8 *mac_addr, const char *port_names[]) __init;
|
||||||
#else
|
#else
|
||||||
static inline void ap91_eth_init(u8 *mac_addr) { }
|
static inline void ap91_eth_init(u8 *mac_addr) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -130,7 +130,7 @@ static void __init dir_600_a1_setup(void)
|
||||||
ARRAY_SIZE(dir_600_a1_gpio_buttons),
|
ARRAY_SIZE(dir_600_a1_gpio_buttons),
|
||||||
dir_600_a1_gpio_buttons);
|
dir_600_a1_gpio_buttons);
|
||||||
|
|
||||||
ap91_eth_init(mac);
|
ap91_eth_init(mac, NULL);
|
||||||
ap91_pci_init(ee, mac);
|
ap91_pci_init(ee, mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ static void __init rb750_setup(void)
|
||||||
AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
|
AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
|
||||||
AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
|
AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
|
||||||
|
|
||||||
ap91_eth_init(NULL);
|
ap91_eth_init(NULL, NULL);
|
||||||
platform_device_register(&rb750_leds_device);
|
platform_device_register(&rb750_leds_device);
|
||||||
platform_device_register(&rb750_nand_device);
|
platform_device_register(&rb750_nand_device);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ static void __init tl_wr741nd_setup(void)
|
||||||
ARRAY_SIZE(tl_wr741nd_gpio_buttons),
|
ARRAY_SIZE(tl_wr741nd_gpio_buttons),
|
||||||
tl_wr741nd_gpio_buttons);
|
tl_wr741nd_gpio_buttons);
|
||||||
|
|
||||||
ap91_eth_init(mac);
|
ap91_eth_init(mac, NULL);
|
||||||
ap91_pci_init(ee, mac);
|
ap91_pci_init(ee, mac);
|
||||||
}
|
}
|
||||||
MIPS_MACHINE(AR71XX_MACH_TL_WR741ND, "TL-WR741ND", "TP-LINK TL-WR741ND",
|
MIPS_MACHINE(AR71XX_MACH_TL_WR741ND, "TL-WR741ND", "TP-LINK TL-WR741ND",
|
||||||
|
|
Loading…
Reference in a new issue