diff options
| author | Florian Fainelli <florian@openwrt.org> | 2011-02-27 13:53:53 -0500 |
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2011-03-14 16:07:27 -0400 |
| commit | bf3a1eb85967dcbaae42f4fcb53c2392cec32677 (patch) | |
| tree | 9be1360731809174407c4ffa581123b863014e2d | |
| parent | ab5330eb26327675d28df19a8ab257c928c6a3bd (diff) | |
MIPS: MTX-1: Make au1000_eth probe all PHY addresses
When au1000_eth probes the MII bus for PHY address, if we do not set
au1000_eth platform data's phy_search_highest_address, the MII probing
logic will exit early and will assume a valid PHY is found at address 0.
For MTX-1, the PHY is at address 31, and without this patch, the link
detection/speed/duplex would not work correctly.
CC: stable@kernel.org
Signed-off-by: Florian Fainelli <florian@openwrt.org>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2111/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| -rw-r--r-- | arch/mips/alchemy/mtx-1/platform.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/mips/alchemy/mtx-1/platform.c b/arch/mips/alchemy/mtx-1/platform.c index e30e42add697..956f946218c5 100644 --- a/arch/mips/alchemy/mtx-1/platform.c +++ b/arch/mips/alchemy/mtx-1/platform.c | |||
| @@ -28,6 +28,8 @@ | |||
| 28 | #include <linux/mtd/physmap.h> | 28 | #include <linux/mtd/physmap.h> |
| 29 | #include <mtd/mtd-abi.h> | 29 | #include <mtd/mtd-abi.h> |
| 30 | 30 | ||
| 31 | #include <asm/mach-au1x00/au1xxx_eth.h> | ||
| 32 | |||
| 31 | static struct gpio_keys_button mtx1_gpio_button[] = { | 33 | static struct gpio_keys_button mtx1_gpio_button[] = { |
| 32 | { | 34 | { |
| 33 | .gpio = 207, | 35 | .gpio = 207, |
| @@ -140,10 +142,17 @@ static struct __initdata platform_device * mtx1_devs[] = { | |||
| 140 | &mtx1_mtd, | 142 | &mtx1_mtd, |
| 141 | }; | 143 | }; |
| 142 | 144 | ||
| 145 | static struct au1000_eth_platform_data mtx1_au1000_eth0_pdata = { | ||
| 146 | .phy_search_highest_addr = 1, | ||
| 147 | .phy1_search_mac0 = 1, | ||
| 148 | }; | ||
| 149 | |||
| 143 | static int __init mtx1_register_devices(void) | 150 | static int __init mtx1_register_devices(void) |
| 144 | { | 151 | { |
| 145 | int rc; | 152 | int rc; |
| 146 | 153 | ||
| 154 | au1xxx_override_eth_cfg(0, &mtx1_au1000_eth0_pdata); | ||
| 155 | |||
| 147 | rc = gpio_request(mtx1_gpio_button[0].gpio, | 156 | rc = gpio_request(mtx1_gpio_button[0].gpio, |
| 148 | mtx1_gpio_button[0].desc); | 157 | mtx1_gpio_button[0].desc); |
| 149 | if (rc < 0) { | 158 | if (rc < 0) { |
