drivers: net: cpsw: add support to have phy address from cpsw platform data
authorMugunthan V N <mugunthanvnm@ti.com>
Tue, 18 Feb 2014 12:31:52 +0000 (07:31 -0500)
committerTom Rini <trini@ti.com>
Tue, 4 Mar 2014 14:41:53 +0000 (09:41 -0500)
Some platforms like AM437x have different EVMs with different phy addresses,
so this patch adds support for passing phy address via cpsw plaform data.
Also renamed phy_id to phy_addr so better understanding of the code.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
[trini: Update BuR am335x_igep0033 pcm051_rev3 pcm051_rev1 cm_t335
pengwyn boards]
Signed-off-by: Tom Rini <trini@ti.com>
24 files changed:
board/BuR/common/common.c
board/compulab/cm_t335/cm_t335.c
board/isee/igep0033/board.c
board/phytec/pcm051/board.c
board/siemens/dxr2/board.c
board/siemens/pxm2/board.c
board/siemens/rut/board.c
board/silica/pengwyn/board.c
board/ti/am335x/board.c
board/ti/dra7xx/evm.c
board/ti/ti814x/evm.c
drivers/net/cpsw.c
include/configs/am335x_evm.h
include/configs/am335x_igep0033.h
include/configs/bur_am335x_common.h
include/configs/cm_t335.h
include/configs/dra7xx_evm.h
include/configs/dxr2.h
include/configs/pcm051.h
include/configs/pengwyn.h
include/configs/pxm2.h
include/configs/rut.h
include/configs/ti814x_evm.h
include/cpsw.h

index 6d187ea..04f3f1f 100644 (file)
@@ -141,12 +141,12 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 0,
        },
        {
                .slave_reg_ofs  = 0x308,
                .sliver_reg_ofs = 0xdc0,
-               .phy_id         = 1,
+               .phy_addr       = 1,
        },
 };
 
index 01019e8..9583149 100644 (file)
@@ -47,7 +47,7 @@ static void cpsw_control(int enabled)
 static struct cpsw_slave_data cpsw_slave = {
        .slave_reg_ofs  = 0x208,
        .sliver_reg_ofs = 0xd80,
-       .phy_id         = 0,
+       .phy_addr       = 0,
        .phy_if         = PHY_INTERFACE_MODE_RGMII,
 };
 
index 089a835..9f8fcf2 100644 (file)
@@ -116,7 +116,7 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 0,
                .phy_if         = PHY_INTERFACE_MODE_RMII,
        },
 };
index 7e5e07f..1071662 100644 (file)
@@ -176,13 +176,13 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 0,
                .phy_if         = PHY_INTERFACE_MODE_RGMII,
        },
        {
                .slave_reg_ofs  = 0x308,
                .sliver_reg_ofs = 0xdc0,
-               .phy_id         = 1,
+               .phy_addr       = 1,
                .phy_if         = PHY_INTERFACE_MODE_RGMII,
        },
 };
index 6c316fa..9b8f538 100644 (file)
@@ -198,7 +198,7 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 0,
                .phy_if         = PHY_INTERFACE_MODE_MII,
        },
 };
index ef3d6cc..98083d5 100644 (file)
@@ -181,13 +181,13 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 0,
                .phy_if         = PHY_INTERFACE_MODE_RMII,
        },
        {
                .slave_reg_ofs  = 0x308,
                .sliver_reg_ofs = 0xdc0,
-               .phy_id         = 1,
+               .phy_addr       = 1,
                .phy_if         = PHY_INTERFACE_MODE_RMII,
        },
 };
index 25ab54d..e0ada3f 100644 (file)
@@ -143,13 +143,13 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 1,
+               .phy_addr       = 1,
                .phy_if         = PHY_INTERFACE_MODE_RMII,
        },
        {
                .slave_reg_ofs  = 0x308,
                .sliver_reg_ofs = 0xdc0,
-               .phy_id         = 0,
+               .phy_addr       = 0,
                .phy_if         = PHY_INTERFACE_MODE_RMII,
        },
 };
index a553129..ee88b6f 100644 (file)
@@ -141,13 +141,13 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 0,
                .phy_if         = PHY_INTERFACE_MODE_MII,
        },
        {
                .slave_reg_ofs  = 0x308,
                .sliver_reg_ofs = 0xdc0,
-               .phy_id         = 1,
+               .phy_addr       = 1,
                .phy_if         = PHY_INTERFACE_MODE_MII,
        },
 };
index 5721768..862f966 100644 (file)
@@ -544,12 +544,12 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 0,
        },
        {
                .slave_reg_ofs  = 0x308,
                .sliver_reg_ofs = 0xdc0,
-               .phy_id         = 1,
+               .phy_addr       = 1,
        },
 };
 
index bed8285..7990e79 100644 (file)
@@ -149,12 +149,12 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x208,
                .sliver_reg_ofs = 0xd80,
-               .phy_id         = 0,
+               .phy_addr       = 2,
        },
        {
                .slave_reg_ofs  = 0x308,
                .sliver_reg_ofs = 0xdc0,
-               .phy_id         = 1,
+               .phy_addr       = 3,
        },
 };
 
index 140ad71..54b3dfb 100644 (file)
@@ -132,12 +132,12 @@ static struct cpsw_slave_data cpsw_slaves[] = {
        {
                .slave_reg_ofs  = 0x50,
                .sliver_reg_ofs = 0x700,
-               .phy_id         = 1,
+               .phy_addr       = 1,
        },
        {
                .slave_reg_ofs  = 0x90,
                .sliver_reg_ofs = 0x740,
-               .phy_id         = 0,
+               .phy_addr       = 0,
        },
 };
 
index 50167aa..dd6c26a 100644 (file)
@@ -656,7 +656,7 @@ static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv)
 
        cpsw_ale_add_mcast(priv, NetBcastAddr, 1 << slave_port);
 
-       priv->phy_mask |= 1 << slave->data->phy_id;
+       priv->phy_mask |= 1 << slave->data->phy_addr;
 }
 
 static struct cpdma_desc *cpdma_desc_alloc(struct cpsw_priv *priv)
@@ -948,7 +948,7 @@ static int cpsw_phy_init(struct eth_device *dev, struct cpsw_slave *slave)
                        SUPPORTED_1000baseT_Full);
 
        phydev = phy_connect(priv->bus,
-                       CONFIG_PHY_ADDR,
+                       slave->data->phy_addr,
                        dev,
                        slave->data->phy_if);
 
index 59a8f36..23c056c 100644 (file)
 /* Network. */
 #define CONFIG_PHY_GIGE
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                        0
 #define CONFIG_PHY_SMSC
 
 /* NAND support */
index 115d1b3..e72ee05 100644 (file)
 #define CONFIG_NET_RETRY_COUNT         10
 #define CONFIG_NET_MULTI
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                        0
 #define CONFIG_PHY_SMSC
 
 /* NAND support */
index 1f57bd2..7bbe596 100644 (file)
@@ -51,7 +51,6 @@
 #define CONFIG_MII                     /* Required in net/eth.c */
 #define CONFIG_SPL_ETH_SUPPORT
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                        1
 #define CONFIG_PHY_NATSEMI
 #define CONFIG_SPL_NET_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT         /* used for a fetching MAC-Address */
index 56e9a8e..26b615b 100644 (file)
 /* Network. */
 #define CONFIG_PHY_GIGE
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                        0
 #define CONFIG_PHY_ATHEROS
 
 /* NAND support */
index c67cf60..291c538 100644 (file)
@@ -62,7 +62,6 @@
 #define CONFIG_MII                     /* Required in net/eth.c */
 #define CONFIG_PHY_GIGE                        /* per-board part of CPSW */
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                        2
 
 /* SPI */
 #undef CONFIG_OMAP3_SPI
index 1e42f5c..e95d74c 100644 (file)
@@ -49,7 +49,6 @@
 
 #undef CONFIG_MII
 #undef CONFIG_PHY_GIGE
-#define CONFIG_PHY_ADDR                        0
 #define CONFIG_PHY_SMSC
 
 #define CONFIG_FACTORYSET
index 6f41ee7..9af3efd 100644 (file)
 #define CONFIG_NET_MULTI
 #define CONFIG_PHY_GIGE
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                        0
 #define CONFIG_PHY_SMSC
 
 #endif /* ! __CONFIG_PCM051_H */
index 5a55556..fc25966 100644 (file)
 /* Network */
 #define CONFIG_CMD_MII
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                1
 #define CONFIG_PHY_RESET       1
 #define CONFIG_PHY_NATSEMI
 
index 7722f7b..6276d43 100644 (file)
@@ -44,7 +44,6 @@
 #undef CONFIG_SPL_NET_VCI_STRING
 #undef CONFIG_SPL_ETH_SUPPORT
 
-#define CONFIG_PHY_ADDR                        0
 #define CONFIG_PHY_ATHEROS
 
 #define CONFIG_FACTORYSET
index d4519f9..6bddede 100644 (file)
@@ -41,7 +41,6 @@
 #undef CONFIG_SPL_NET_VCI_STRING
 #undef CONFIG_SPL_ETH_SUPPORT
 
-#define CONFIG_PHY_ADDR                        1
 #define CONFIG_PHY_NATSEMI
 
 #define CONFIG_FACTORYSET
index ba16b1c..b51400c 100644 (file)
 #define CONFIG_NET_MULTI
 #define CONFIG_PHY_GIGE
 #define CONFIG_PHYLIB
-#define CONFIG_PHY_ADDR                        1
 #define CONFIG_PHY_ET1011C
 #define CONFIG_PHY_ET1011C_TX_CLK_FIX
 
index 743cb96..a73843d 100644 (file)
@@ -19,7 +19,7 @@
 struct cpsw_slave_data {
        u32             slave_reg_ofs;
        u32             sliver_reg_ofs;
-       int             phy_id;
+       int             phy_addr;
        int             phy_if;
 };