MIPS: MTX-1: Make au1000_eth probe all PHY addresses [Linux 2.6.38]

This Linux kernel change "MIPS: MTX-1: Make au1000_eth probe all PHY addresses" is included in the Linux 2.6.38 release. This change is authored by Florian Fainelli <florian [at] openwrt.org> on Sun Feb 27 19:53:53 2011 +0100. The commit for this change in Linux stable tree is bf3a1eb (patch).

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: [email protected]
Signed-off-by: Florian Fainelli <[email protected]>
To: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/2111/
Signed-off-by: Ralf Baechle <[email protected]>

There are 9 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 arch/mips/alchemy/mtx-1/platform.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/mips/alchemy/mtx-1/platform.c b/arch/mips/alchemy/mtx-1/platform.c
index e30e42a..956f946 100644
--- a/arch/mips/alchemy/mtx-1/platform.c
+++ b/arch/mips/alchemy/mtx-1/platform.c
@@ -28,6 +28,8 @@
 #include <linux/mtd/physmap.h>
 #include <mtd/mtd-abi.h>

+#include <asm/mach-au1x00/au1xxx_eth.h>
+
 static struct gpio_keys_button mtx1_gpio_button[] = {
    {
        .gpio = 207,
@@ -140,10 +142,17 @@
    &mtx1_mtd,
 };

+static struct au1000_eth_platform_data mtx1_au1000_eth0_pdata = {
+   .phy_search_highest_addr    = 1,
+   .phy1_search_mac0       = 1,
+};
+
 static int __init mtx1_register_devices(void)
 {
    int rc;

+   au1xxx_override_eth_cfg(0, &mtx1_au1000_eth0_pdata);
+
    rc = gpio_request(mtx1_gpio_button[0].gpio,
                    mtx1_gpio_button[0].desc);
    if (rc < 0) {

Leave a Reply

Your email address will not be published. Required fields are marked *