linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY
@ 2020-09-09  9:34 Divya Koppera
  2020-09-09 13:51 ` Andrew Lunn
  2020-09-11  6:10 ` [PATCH v2 " Divya Koppera
  0 siblings, 2 replies; 6+ messages in thread
From: Divya Koppera @ 2020-09-09  9:34 UTC (permalink / raw)
  To: andrew, hkallweit1, linux, davem, kuba, marex, netdev, linux-kernel
  Cc: UNGLinuxDriver

LAN8814 is a low-power, quad-port triple-speed (10BASE-T/100BASETX/1000BASE-T)
Ethernet physical layer transceiver (PHY). It supports transmission and
reception of data on standard CAT-5, as well as CAT-5e and CAT-6, unshielded
twisted pair (UTP) cables.

LAN8814 supports industry-standard QSGMII (Quad Serial Gigabit Media
Independent Interface) and Q-USGMII (Quad Universal Serial Gigabit Media
Independent Interface) providing chip-to-chip connection to four Gigabit
Ethernet MACs using a single serialized link (differential pair) in each
direction.

The LAN8814 SKU supports high-accuracy timestamping functions to
support IEEE-1588 solutions using Microchip Ethernet switches, as well as
customer solutions based on SoCs and FPGAs.

The LAN8804 SKU has same features as that of LAN8814 SKU except that it does
not support 1588, SyncE, or Q-USGMII with PCH/MCH.

This adds support for 10BASE-T, 100BASE-TX, and 1000BASE-T,
QSGMII link with the MAC.

Signed-off-by: Divya Koppera<divya.koppera@microchip.com>
---
 drivers/net/phy/micrel.c   | 16 ++++++++++++++++
 include/linux/micrel_phy.h |  1 +
 2 files changed, 17 insertions(+)

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 3fe552675dd2..9f60865587ea 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -1314,6 +1314,21 @@ static struct phy_driver ksphy_driver[] = {
 	.get_stats	= kszphy_get_stats,
 	.suspend	= genphy_suspend,
 	.resume		= kszphy_resume,
+}, {
+	.phy_id		= PHY_ID_LAN8814,
+	.phy_id_mask	= MICREL_PHY_ID_MASK,
+	.name		= "Microchip INDY Gigabit Quad PHY",
+	.driver_data	= &ksz9021_type,
+	.probe		= kszphy_probe,
+	.get_features	= ksz9031_get_features,
+	.config_init	= ksz9031_config_init,
+	.soft_reset	= genphy_soft_reset,
+	.read_status	= ksz9031_read_status,
+	.get_sset_count	= kszphy_get_sset_count,
+	.get_strings	= kszphy_get_strings,
+	.get_stats	= kszphy_get_stats,
+	.suspend	= genphy_suspend,
+	.resume		= kszphy_resume,
 }, {
 	.phy_id		= PHY_ID_KSZ9131,
 	.phy_id_mask	= MICREL_PHY_ID_MASK,
@@ -1387,6 +1402,7 @@ static struct mdio_device_id __maybe_unused micrel_tbl[] = {
 	{ PHY_ID_KSZ8081, MICREL_PHY_ID_MASK },
 	{ PHY_ID_KSZ8873MLL, MICREL_PHY_ID_MASK },
 	{ PHY_ID_KSZ886X, MICREL_PHY_ID_MASK },
+	{ PHY_ID_LAN8814, MICREL_PHY_ID_MASK },
 	{ }
 };
 
diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h
index 75f880c25bb8..416ee6dd2574 100644
--- a/include/linux/micrel_phy.h
+++ b/include/linux/micrel_phy.h
@@ -27,6 +27,7 @@
 #define PHY_ID_KSZ8061		0x00221570
 #define PHY_ID_KSZ9031		0x00221620
 #define PHY_ID_KSZ9131		0x00221640
+#define PHY_ID_LAN8814		0x00221660
 
 #define PHY_ID_KSZ886X		0x00221430
 #define PHY_ID_KSZ8863		0x00221435
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY
  2020-09-09  9:34 [PATCH v1 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY Divya Koppera
@ 2020-09-09 13:51 ` Andrew Lunn
  2020-09-11  6:10 ` [PATCH v2 " Divya Koppera
  1 sibling, 0 replies; 6+ messages in thread
From: Andrew Lunn @ 2020-09-09 13:51 UTC (permalink / raw)
  To: Divya Koppera
  Cc: hkallweit1, linux, davem, kuba, marex, netdev, linux-kernel,
	UNGLinuxDriver

> @@ -1314,6 +1314,21 @@ static struct phy_driver ksphy_driver[] = {
>  	.get_stats	= kszphy_get_stats,
>  	.suspend	= genphy_suspend,
>  	.resume		= kszphy_resume,
> +}, {
> +	.phy_id		= PHY_ID_LAN8814,
> +	.phy_id_mask	= MICREL_PHY_ID_MASK,
> +	.name		= "Microchip INDY Gigabit Quad PHY",
> +	.driver_data	= &ksz9021_type,
> +	.probe		= kszphy_probe,
> +	.get_features	= ksz9031_get_features,

static int ksz9031_get_features(struct phy_device *phydev)
{
	int ret;

	ret = genphy_read_abilities(phydev);
	if (ret < 0)
		return ret;

	/* Silicon Errata Sheet (DS80000691D or DS80000692D):


Hi Divya

Do these erratas apply to this PHY as well?

   Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY
  2020-09-09  9:34 [PATCH v1 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY Divya Koppera
  2020-09-09 13:51 ` Andrew Lunn
@ 2020-09-11  6:10 ` Divya Koppera
  2020-09-11 12:32   ` Andrew Lunn
  2020-09-11 13:18   ` [PATCH v3 " Divya Koppera
  1 sibling, 2 replies; 6+ messages in thread
From: Divya Koppera @ 2020-09-11  6:10 UTC (permalink / raw)
  To: andrew, hkallweit1, linux, davem, kuba, marex, netdev, linux-kernel
  Cc: UNGLinuxDriver

LAN8814 is a low-power, quad-port triple-speed (10BASE-T/100BASETX/1000BASE-T)
Ethernet physical layer transceiver (PHY). It supports transmission and
reception of data on standard CAT-5, as well as CAT-5e and CAT-6, unshielded
twisted pair (UTP) cables.

LAN8814 supports industry-standard QSGMII (Quad Serial Gigabit Media
Independent Interface) and Q-USGMII (Quad Universal Serial Gigabit Media
Independent Interface) providing chip-to-chip connection to four Gigabit
Ethernet MACs using a single serialized link (differential pair) in each
direction.

The LAN8814 SKU supports high-accuracy timestamping functions to
support IEEE-1588 solutions using Microchip Ethernet switches, as well as
customer solutions based on SoCs and FPGAs.

The LAN8804 SKU has same features as that of LAN8814 SKU except that it does
not support 1588, SyncE, or Q-USGMII with PCH/MCH.

This adds support for 10BASE-T, 100BASE-TX, and 1000BASE-T,
QSGMII link with the MAC.

Signed-off-by: Divya Koppera<divya.koppera@microchip.com>
---
v1 -> v2:
* Removing get_features and config_init as the Errata mentioned and other
  functionality related things are not applicable for this phy.
  Addressed review comments.
---
 drivers/net/phy/micrel.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 9f60865587ea..a7f74b3b97af 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -1320,8 +1320,6 @@ static struct phy_driver ksphy_driver[] = {
 	.name		= "Microchip INDY Gigabit Quad PHY",
 	.driver_data	= &ksz9021_type,
 	.probe		= kszphy_probe,
-	.get_features	= ksz9031_get_features,
-	.config_init	= ksz9031_config_init,
 	.soft_reset	= genphy_soft_reset,
 	.read_status	= ksz9031_read_status,
 	.get_sset_count	= kszphy_get_sset_count,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY
  2020-09-11  6:10 ` [PATCH v2 " Divya Koppera
@ 2020-09-11 12:32   ` Andrew Lunn
  2020-09-11 13:18   ` [PATCH v3 " Divya Koppera
  1 sibling, 0 replies; 6+ messages in thread
From: Andrew Lunn @ 2020-09-11 12:32 UTC (permalink / raw)
  To: Divya Koppera
  Cc: hkallweit1, linux, davem, kuba, marex, netdev, linux-kernel,
	UNGLinuxDriver

On Fri, Sep 11, 2020 at 11:40:20AM +0530, Divya Koppera wrote:
> LAN8814 is a low-power, quad-port triple-speed (10BASE-T/100BASETX/1000BASE-T)
> Ethernet physical layer transceiver (PHY). It supports transmission and
> reception of data on standard CAT-5, as well as CAT-5e and CAT-6, unshielded
> twisted pair (UTP) cables.
> 
> LAN8814 supports industry-standard QSGMII (Quad Serial Gigabit Media
> Independent Interface) and Q-USGMII (Quad Universal Serial Gigabit Media
> Independent Interface) providing chip-to-chip connection to four Gigabit
> Ethernet MACs using a single serialized link (differential pair) in each
> direction.
> 
> The LAN8814 SKU supports high-accuracy timestamping functions to
> support IEEE-1588 solutions using Microchip Ethernet switches, as well as
> customer solutions based on SoCs and FPGAs.
> 
> The LAN8804 SKU has same features as that of LAN8814 SKU except that it does
> not support 1588, SyncE, or Q-USGMII with PCH/MCH.
> 
> This adds support for 10BASE-T, 100BASE-TX, and 1000BASE-T,
> QSGMII link with the MAC.
> 
> Signed-off-by: Divya Koppera<divya.koppera@microchip.com>

Hi Divya

I don't think V1 got merged. So you need to squash this into V1, so
you still add the new PHY, but without these callbacks.

    Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY
  2020-09-11  6:10 ` [PATCH v2 " Divya Koppera
  2020-09-11 12:32   ` Andrew Lunn
@ 2020-09-11 13:18   ` Divya Koppera
  2020-09-12  0:42     ` David Miller
  1 sibling, 1 reply; 6+ messages in thread
From: Divya Koppera @ 2020-09-11 13:18 UTC (permalink / raw)
  To: andrew, hkallweit1, linux, davem, kuba, marex, netdev, linux-kernel
  Cc: UNGLinuxDriver

LAN8814 is a low-power, quad-port triple-speed (10BASE-T/100BASETX/1000BASE-T)
Ethernet physical layer transceiver (PHY). It supports transmission and
reception of data on standard CAT-5, as well as CAT-5e and CAT-6, unshielded
twisted pair (UTP) cables.

LAN8814 supports industry-standard QSGMII (Quad Serial Gigabit Media
Independent Interface) and Q-USGMII (Quad Universal Serial Gigabit Media
Independent Interface) providing chip-to-chip connection to four Gigabit
Ethernet MACs using a single serialized link (differential pair) in each
direction.

The LAN8814 SKU supports high-accuracy timestamping functions to
support IEEE-1588 solutions using Microchip Ethernet switches, as well as
customer solutions based on SoCs and FPGAs.

The LAN8804 SKU has same features as that of LAN8814 SKU except that it does
not support 1588, SyncE, or Q-USGMII with PCH/MCH.

This adds support for 10BASE-T, 100BASE-TX, and 1000BASE-T,
QSGMII link with the MAC.

Signed-off-by: Divya Koppera<divya.koppera@microchip.com>
---
v1 -> v2:
* Removing get_features and config_init as the Errata mentioned and other
  functionality related things are not applicable for this phy.
  Addressed review comments.
---
v2 -> v3:
* As v2 contains only diff of v1 and v2, correcting mistake and sending
  whole patch with addressed comments in v2.
---
 drivers/net/phy/micrel.c   | 14 ++++++++++++++
 include/linux/micrel_phy.h |  1 +
 2 files changed, 15 insertions(+)

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 3fe552675dd2..a7f74b3b97af 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -1314,6 +1314,19 @@ static struct phy_driver ksphy_driver[] = {
 	.get_stats	= kszphy_get_stats,
 	.suspend	= genphy_suspend,
 	.resume		= kszphy_resume,
+}, {
+	.phy_id		= PHY_ID_LAN8814,
+	.phy_id_mask	= MICREL_PHY_ID_MASK,
+	.name		= "Microchip INDY Gigabit Quad PHY",
+	.driver_data	= &ksz9021_type,
+	.probe		= kszphy_probe,
+	.soft_reset	= genphy_soft_reset,
+	.read_status	= ksz9031_read_status,
+	.get_sset_count	= kszphy_get_sset_count,
+	.get_strings	= kszphy_get_strings,
+	.get_stats	= kszphy_get_stats,
+	.suspend	= genphy_suspend,
+	.resume		= kszphy_resume,
 }, {
 	.phy_id		= PHY_ID_KSZ9131,
 	.phy_id_mask	= MICREL_PHY_ID_MASK,
@@ -1387,6 +1400,7 @@ static struct mdio_device_id __maybe_unused micrel_tbl[] = {
 	{ PHY_ID_KSZ8081, MICREL_PHY_ID_MASK },
 	{ PHY_ID_KSZ8873MLL, MICREL_PHY_ID_MASK },
 	{ PHY_ID_KSZ886X, MICREL_PHY_ID_MASK },
+	{ PHY_ID_LAN8814, MICREL_PHY_ID_MASK },
 	{ }
 };
 
diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h
index 75f880c25bb8..416ee6dd2574 100644
--- a/include/linux/micrel_phy.h
+++ b/include/linux/micrel_phy.h
@@ -27,6 +27,7 @@
 #define PHY_ID_KSZ8061		0x00221570
 #define PHY_ID_KSZ9031		0x00221620
 #define PHY_ID_KSZ9131		0x00221640
+#define PHY_ID_LAN8814		0x00221660
 
 #define PHY_ID_KSZ886X		0x00221430
 #define PHY_ID_KSZ8863		0x00221435
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY
  2020-09-11 13:18   ` [PATCH v3 " Divya Koppera
@ 2020-09-12  0:42     ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2020-09-12  0:42 UTC (permalink / raw)
  To: Divya.Koppera
  Cc: andrew, hkallweit1, linux, kuba, marex, netdev, linux-kernel,
	UNGLinuxDriver

From: Divya Koppera <Divya.Koppera@microchip.com>
Date: Fri, 11 Sep 2020 18:48:44 +0530

> LAN8814 is a low-power, quad-port triple-speed (10BASE-T/100BASETX/1000BASE-T)
> Ethernet physical layer transceiver (PHY). It supports transmission and
> reception of data on standard CAT-5, as well as CAT-5e and CAT-6, unshielded
> twisted pair (UTP) cables.
> 
> LAN8814 supports industry-standard QSGMII (Quad Serial Gigabit Media
> Independent Interface) and Q-USGMII (Quad Universal Serial Gigabit Media
> Independent Interface) providing chip-to-chip connection to four Gigabit
> Ethernet MACs using a single serialized link (differential pair) in each
> direction.
> 
> The LAN8814 SKU supports high-accuracy timestamping functions to
> support IEEE-1588 solutions using Microchip Ethernet switches, as well as
> customer solutions based on SoCs and FPGAs.
> 
> The LAN8804 SKU has same features as that of LAN8814 SKU except that it does
> not support 1588, SyncE, or Q-USGMII with PCH/MCH.
> 
> This adds support for 10BASE-T, 100BASE-TX, and 1000BASE-T,
> QSGMII link with the MAC.
> 
> Signed-off-by: Divya Koppera<divya.koppera@microchip.com>

Applied, thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-09-12  0:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-09  9:34 [PATCH v1 net-next] net: phy: mchp: Add support for LAN8814 QUAD PHY Divya Koppera
2020-09-09 13:51 ` Andrew Lunn
2020-09-11  6:10 ` [PATCH v2 " Divya Koppera
2020-09-11 12:32   ` Andrew Lunn
2020-09-11 13:18   ` [PATCH v3 " Divya Koppera
2020-09-12  0:42     ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).