[U-Boot] [PATCH 0/5] net: phy: Add Marvell M88E1512

These patches add support for the Marvell M88E1512 PHY.
Phil Edworthy (5): net: phy: Fix mask so that we can identify Marvell 88E1518 net: phy: Add support for Marvell M88E1512 net: phy: Marvell 88E151x: Add support for RGMII net: phy: Marvell 88E151x: Increase delay after init net: phy: Marvell: Use phy_interface_is_rgmii helper function
drivers/net/phy/marvell.c | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-)

The mask for the 88E1510 meant that the 88E1518 code would never be used.
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com --- Note: This has only been tested on a board that uses a Marvell 88E1512 PHY, see subsequent patches. --- drivers/net/phy/marvell.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 4eeb0f6..06029c0 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -553,7 +553,7 @@ static struct phy_driver M88E1149S_driver = { static struct phy_driver M88E1510_driver = { .name = "Marvell 88E1510", .uid = 0x1410dd0, - .mask = 0xffffff0, + .mask = 0xfffffff, .features = PHY_GBIT_FEATURES, .config = &m88e1510_config, .startup = &m88e1011s_startup, @@ -563,7 +563,7 @@ static struct phy_driver M88E1510_driver = { static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1, - .mask = 0xffffff0, + .mask = 0xfffffff, .features = PHY_GBIT_FEATURES, .config = &m88e1518_config, .startup = &m88e1011s_startup,

On 09.12.2016 11:40, Phil Edworthy wrote:
The mask for the 88E1510 meant that the 88E1518 code would never be used.
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
Note: This has only been tested on a board that uses a Marvell 88E1512 PHY, see subsequent patches.
drivers/net/phy/marvell.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 4eeb0f6..06029c0 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -553,7 +553,7 @@ static struct phy_driver M88E1149S_driver = { static struct phy_driver M88E1510_driver = { .name = "Marvell 88E1510", .uid = 0x1410dd0,
- .mask = 0xffffff0,
- .mask = 0xfffffff, .features = PHY_GBIT_FEATURES, .config = &m88e1510_config, .startup = &m88e1011s_startup,
@@ -563,7 +563,7 @@ static struct phy_driver M88E1510_driver = { static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1,
- .mask = 0xffffff0,
- .mask = 0xfffffff, .features = PHY_GBIT_FEATURES, .config = &m88e1518_config, .startup = &m88e1011s_startup,
Nice catch, thanks. I wonder, why this wasn't detected until now. Still:
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan

On Fri, Dec 9, 2016 at 6:13 AM, Stefan Roese sr@denx.de wrote:
On 09.12.2016 11:40, Phil Edworthy wrote:
The mask for the 88E1510 meant that the 88E1518 code would never be used.
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
Acked-by: Joe Hershberger joe.hershberger@ni.com

Signed-off-by: Phil Edworthy phil.edworthy@renesas.com --- drivers/net/phy/marvell.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 06029c0..a7ea435 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -560,6 +560,16 @@ static struct phy_driver M88E1510_driver = { .shutdown = &genphy_shutdown, };
+static struct phy_driver M88E1512_driver = { + .name = "Marvell 88E1512", + .uid = 0x01410dd4, + .mask = 0xfffffff, + .features = PHY_GBIT_FEATURES, + .config = &m88e1518_config, + .startup = &m88e1011s_startup, + .shutdown = &genphy_shutdown, +}; + static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1, @@ -591,6 +601,7 @@ int phy_marvell_init(void) phy_register(&M88E1111S_driver); phy_register(&M88E1011S_driver); phy_register(&M88E1510_driver); + phy_register(&M88E1512_driver); phy_register(&M88E1518_driver);
return 0;

On 09.12.2016 11:40, Phil Edworthy wrote:
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 06029c0..a7ea435 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -560,6 +560,16 @@ static struct phy_driver M88E1510_driver = { .shutdown = &genphy_shutdown, };
+static struct phy_driver M88E1512_driver = {
- .name = "Marvell 88E1512",
- .uid = 0x01410dd4,
- .mask = 0xfffffff,
- .features = PHY_GBIT_FEATURES,
- .config = &m88e1518_config,
- .startup = &m88e1011s_startup,
- .shutdown = &genphy_shutdown,
+};
static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1, @@ -591,6 +601,7 @@ int phy_marvell_init(void) phy_register(&M88E1111S_driver); phy_register(&M88E1011S_driver); phy_register(&M88E1510_driver);
- phy_register(&M88E1512_driver); phy_register(&M88E1518_driver);
Do you need some special handling for the M88E1512 or is it identical to the 1518 handling? If its identical, why do we need a new entry for this PHY?
Thanks, Stefan

Hi Stefan,
On 09 December 2016 12:16, Stefan Roese wrote:
On 09.12.2016 11:40, Phil Edworthy wrote:
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 06029c0..a7ea435 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -560,6 +560,16 @@ static struct phy_driver M88E1510_driver = { .shutdown = &genphy_shutdown, };
+static struct phy_driver M88E1512_driver = {
- .name = "Marvell 88E1512",
- .uid = 0x01410dd4,
- .mask = 0xfffffff,
- .features = PHY_GBIT_FEATURES,
- .config = &m88e1518_config,
- .startup = &m88e1011s_startup,
- .shutdown = &genphy_shutdown,
+};
static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1, @@ -591,6 +601,7 @@ int phy_marvell_init(void) phy_register(&M88E1111S_driver); phy_register(&M88E1011S_driver); phy_register(&M88E1510_driver);
- phy_register(&M88E1512_driver); phy_register(&M88E1518_driver);
Do you need some special handling for the M88E1512 or is it identical to the 1518 handling? If its identical, why do we need a new entry for this PHY?
Good point, they are the same except for the uid so no need for a new entry. I'll change the mask of the 1518 to cover it.
Btw, what's the best way to indicate that the code supports the 1512 as well? It's not so easy to see if the code supports a particular device ahead of hardware arriving, other than trying to match the uid's manually.
Thanks Phil

Hi Phil,
On 09.12.2016 13:38, Phil Edworthy wrote:
On 09 December 2016 12:16, Stefan Roese wrote:
On 09.12.2016 11:40, Phil Edworthy wrote:
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 06029c0..a7ea435 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -560,6 +560,16 @@ static struct phy_driver M88E1510_driver = { .shutdown = &genphy_shutdown, };
+static struct phy_driver M88E1512_driver = {
- .name = "Marvell 88E1512",
- .uid = 0x01410dd4,
- .mask = 0xfffffff,
- .features = PHY_GBIT_FEATURES,
- .config = &m88e1518_config,
- .startup = &m88e1011s_startup,
- .shutdown = &genphy_shutdown,
+};
static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1, @@ -591,6 +601,7 @@ int phy_marvell_init(void) phy_register(&M88E1111S_driver); phy_register(&M88E1011S_driver); phy_register(&M88E1510_driver);
- phy_register(&M88E1512_driver); phy_register(&M88E1518_driver);
Do you need some special handling for the M88E1512 or is it identical to the 1518 handling? If its identical, why do we need a new entry for this PHY?
Good point, they are the same except for the uid so no need for a new entry. I'll change the mask of the 1518 to cover it.
Thanks.
Btw, what's the best way to indicate that the code supports the 1512 as well? It's not so easy to see if the code supports a particular device ahead of hardware arriving, other than trying to match the uid's manually.
A comment would be welcome here. Not sure if this is done in a more generic way in the Linux PHY drivers. You might want to check there as well...
Thanks, Stefan

On Fri, Dec 9, 2016 at 6:41 AM, Stefan Roese sr@denx.de wrote:
Hi Phil,
On 09.12.2016 13:38, Phil Edworthy wrote:
On 09 December 2016 12:16, Stefan Roese wrote:
On 09.12.2016 11:40, Phil Edworthy wrote:
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 06029c0..a7ea435 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -560,6 +560,16 @@ static struct phy_driver M88E1510_driver = { .shutdown = &genphy_shutdown, };
+static struct phy_driver M88E1512_driver = {
.name = "Marvell 88E1512",
.uid = 0x01410dd4,
.mask = 0xfffffff,
.features = PHY_GBIT_FEATURES,
.config = &m88e1518_config,
.startup = &m88e1011s_startup,
.shutdown = &genphy_shutdown,
+};
static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1, @@ -591,6 +601,7 @@ int phy_marvell_init(void) phy_register(&M88E1111S_driver); phy_register(&M88E1011S_driver); phy_register(&M88E1510_driver);
phy_register(&M88E1512_driver); phy_register(&M88E1518_driver);
Do you need some special handling for the M88E1512 or is it identical to the 1518 handling? If its identical, why do we need a new entry for this PHY?
Good point, they are the same except for the uid so no need for a new entry. I'll change the mask of the 1518 to cover it.
I'm not sure I get it. The previous patch was to pay attention to the last nibble of the ID (unlike Linux) so that the special 1518 handler is run. Now you want to have a 1510 + 1512 handler? Are you planning a funky mask like 0xffffff1? Maybe it would be better to just have them checked explicitly since there is need for discrimination within the 151x family.
Thanks.
Btw, what's the best way to indicate that the code supports the 1512 as well? It's not so easy to see if the code supports a particular device ahead of hardware arriving, other than trying to match the uid's manually.
A comment would be welcome here. Not sure if this is done in a more generic way in the Linux PHY drivers. You might want to check there as well...
Thanks, Stefan
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Fri, Dec 9, 2016 at 12:54 PM, Joe Hershberger joe.hershberger@gmail.com wrote:
On Fri, Dec 9, 2016 at 6:41 AM, Stefan Roese sr@denx.de wrote:
Hi Phil,
On 09.12.2016 13:38, Phil Edworthy wrote:
On 09 December 2016 12:16, Stefan Roese wrote:
On 09.12.2016 11:40, Phil Edworthy wrote:
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 06029c0..a7ea435 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -560,6 +560,16 @@ static struct phy_driver M88E1510_driver = { .shutdown = &genphy_shutdown, };
+static struct phy_driver M88E1512_driver = {
.name = "Marvell 88E1512",
.uid = 0x01410dd4,
.mask = 0xfffffff,
.features = PHY_GBIT_FEATURES,
.config = &m88e1518_config,
.startup = &m88e1011s_startup,
.shutdown = &genphy_shutdown,
+};
static struct phy_driver M88E1518_driver = { .name = "Marvell 88E1518", .uid = 0x1410dd1, @@ -591,6 +601,7 @@ int phy_marvell_init(void) phy_register(&M88E1111S_driver); phy_register(&M88E1011S_driver); phy_register(&M88E1510_driver);
phy_register(&M88E1512_driver); phy_register(&M88E1518_driver);
Do you need some special handling for the M88E1512 or is it identical to the 1518 handling? If its identical, why do we need a new entry for this PHY?
Good point, they are the same except for the uid so no need for a new entry. I'll change the mask of the 1518 to cover it.
I'm not sure I get it. The previous patch was to pay attention to the last nibble of the ID (unlike Linux) so that the special 1518 handler is run. Now you want to have a 1510 + 1512 handler? Are you planning a funky mask like 0xffffff1? Maybe it would be better to just have them
I guess you were making the 1512 behave like the 1518, not the 1510 - I see your follow-up patch used 0xffffffb as a mask.
Still seems a bit smelly to me, but I guess we can see where it ends up with some future marvell phy.
checked explicitly since there is need for discrimination within the 151x family.
Thanks.
Btw, what's the best way to indicate that the code supports the 1512 as well? It's not so easy to see if the code supports a particular device ahead of hardware arriving, other than trying to match the uid's manually.
A comment would be welcome here. Not sure if this is done in a more generic way in the Linux PHY drivers. You might want to check there as well...
Thanks, Stefan
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

This has been tested with a Marvell 88E1512 PHY.
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com --- drivers/net/phy/marvell.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index a7ea435..8214760 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -300,13 +300,19 @@ static int m88e1518_config(struct phy_device *phydev) phy_write(phydev, MDIO_DEVAD_NONE, 16, 0x2159); phy_write(phydev, MDIO_DEVAD_NONE, 22, 0x0000);
- /* SGMII-to-Copper mode initialization */ - if (phydev->interface == PHY_INTERFACE_MODE_SGMII) { + /* SGMII/RGMII-to-Copper mode initialization */ + if ((phydev->interface == PHY_INTERFACE_MODE_SGMII) || + phy_interface_is_rgmii(phydev)) { /* Select page 18 */ phy_write(phydev, MDIO_DEVAD_NONE, 22, 18);
- /* In reg 20, write MODE[2:0] = 0x1 (SGMII to Copper) */ - m88e1518_phy_writebits(phydev, 20, 0, 3, 1); + if (phydev->interface == PHY_INTERFACE_MODE_SGMII) { + /* In reg 20, write MODE[2:0] = 0x1 (SGMII to Copper) */ + m88e1518_phy_writebits(phydev, 20, 0, 3, 1); + } else { + /* In reg 20, write MODE[2:0] = 0x0 (RGMII to Copper) */ + m88e1518_phy_writebits(phydev, 20, 0, 3, 0); + }
/* PHY reset is necessary after changing MODE[2:0] */ m88e1518_phy_writebits(phydev, 20, 15, 1, 1);

On 09.12.2016 11:41, Phil Edworthy wrote:
This has been tested with a Marvell 88E1512 PHY.
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index a7ea435..8214760 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -300,13 +300,19 @@ static int m88e1518_config(struct phy_device *phydev) phy_write(phydev, MDIO_DEVAD_NONE, 16, 0x2159); phy_write(phydev, MDIO_DEVAD_NONE, 22, 0x0000);
- /* SGMII-to-Copper mode initialization */
- if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
- /* SGMII/RGMII-to-Copper mode initialization */
- if ((phydev->interface == PHY_INTERFACE_MODE_SGMII) ||
/* Select page 18 */ phy_write(phydev, MDIO_DEVAD_NONE, 22, 18);phy_interface_is_rgmii(phydev)) {
/* In reg 20, write MODE[2:0] = 0x1 (SGMII to Copper) */
m88e1518_phy_writebits(phydev, 20, 0, 3, 1);
if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
/* In reg 20, write MODE[2:0] = 0x1 (SGMII to Copper) */
m88e1518_phy_writebits(phydev, 20, 0, 3, 1);
} else {
/* In reg 20, write MODE[2:0] = 0x0 (RGMII to Copper) */
m88e1518_phy_writebits(phydev, 20, 0, 3, 0);
}
/* PHY reset is necessary after changing MODE[2:0] */ m88e1518_phy_writebits(phydev, 20, 15, 1, 1);
Joe has recently sent a patch, adding some nice macros for the some "standard" Marvell PHY register, like PAGE [1]. So this patch will most likely generate some merge problems. Please rebase it on top of Joe's patch.
Other than this:
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan

Hi Stefan,
On 09 December 2016 12:19, Stefan Roese wrote:
On 09.12.2016 11:41, Phil Edworthy wrote:
This has been tested with a Marvell 88E1512 PHY.
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index a7ea435..8214760 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -300,13 +300,19 @@ static int m88e1518_config(struct phy_device
*phydev)
phy_write(phydev, MDIO_DEVAD_NONE, 16, 0x2159); phy_write(phydev, MDIO_DEVAD_NONE, 22, 0x0000);
- /* SGMII-to-Copper mode initialization */
- if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
- /* SGMII/RGMII-to-Copper mode initialization */
- if ((phydev->interface == PHY_INTERFACE_MODE_SGMII) ||
/* Select page 18 */ phy_write(phydev, MDIO_DEVAD_NONE, 22, 18);phy_interface_is_rgmii(phydev)) {
/* In reg 20, write MODE[2:0] = 0x1 (SGMII to Copper) */
m88e1518_phy_writebits(phydev, 20, 0, 3, 1);
if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
/* In reg 20, write MODE[2:0] = 0x1 (SGMII to Copper) */
m88e1518_phy_writebits(phydev, 20, 0, 3, 1);
} else {
/* In reg 20, write MODE[2:0] = 0x0 (RGMII to Copper) */
m88e1518_phy_writebits(phydev, 20, 0, 3, 0);
}
/* PHY reset is necessary after changing MODE[2:0] */ m88e1518_phy_writebits(phydev, 20, 15, 1, 1);
Joe has recently sent a patch, adding some nice macros for the some "standard" Marvell PHY register, like PAGE [1]. So this patch will most likely generate some merge problems. Please rebase it on top of Joe's patch.
Will do!
Thanks Phil
Other than this:
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan

On Marvell 88E1512, the delay is not enough when connected to some external switches (e.g. Netgear GS108E).
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com --- drivers/net/phy/marvell.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 8214760..48ebb50 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -320,7 +320,7 @@ static int m88e1518_config(struct phy_device *phydev) /* Reset page selection */ phy_write(phydev, MDIO_DEVAD_NONE, 22, 0);
- udelay(100); + udelay(500); }
return m88e1111s_config(phydev);

On 09.12.2016 11:41, Phil Edworthy wrote:
On Marvell 88E1512, the delay is not enough when connected to some external switches (e.g. Netgear GS108E).
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 8214760..48ebb50 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -320,7 +320,7 @@ static int m88e1518_config(struct phy_device *phydev) /* Reset page selection */ phy_write(phydev, MDIO_DEVAD_NONE, 22, 0);
udelay(100);
udelay(500);
}
return m88e1111s_config(phydev);
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan

On Fri, Dec 9, 2016 at 4:41 AM, Phil Edworthy phil.edworthy@renesas.com wrote:
On Marvell 88E1512, the delay is not enough when connected to some external switches (e.g. Netgear GS108E).
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
Acked-by: Joe Hershberger joe.hershberger@ni.com

Signed-off-by: Phil Edworthy phil.edworthy@renesas.com --- drivers/net/phy/marvell.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 48ebb50..dc1d25f 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -177,10 +177,7 @@ static int m88e1111s_config(struct phy_device *phydev) { int reg;
- if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) || - (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) || - (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) || - (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)) { + if (phy_interface_is_rgmii(phydev)) { reg = phy_read(phydev, MDIO_DEVAD_NONE, MIIM_88E1111_PHY_EXT_CR); if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) ||

On 09.12.2016 11:41, Phil Edworthy wrote:
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
drivers/net/phy/marvell.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 48ebb50..dc1d25f 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -177,10 +177,7 @@ static int m88e1111s_config(struct phy_device *phydev) { int reg;
- if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) ||
(phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) ||
(phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) ||
(phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)) {
- if (phy_interface_is_rgmii(phydev)) { reg = phy_read(phydev, MDIO_DEVAD_NONE, MIIM_88E1111_PHY_EXT_CR); if ((phydev->interface == PHY_INTERFACE_MODE_RGMII) ||
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan

On Fri, Dec 9, 2016 at 4:41 AM, Phil Edworthy phil.edworthy@renesas.com wrote:
Signed-off-by: Phil Edworthy phil.edworthy@renesas.com
Acked-by: Joe Hershberger joe.hershberger@ni.com
participants (3)
-
Joe Hershberger
-
Phil Edworthy
-
Stefan Roese