mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jian Shen <shenjian15@huawei.com>
To: <andrew@lunn.ch>, <f.fainelli@gmail.com>, <hkallweit1@gmail.com>,
	<davem@davemloft.net>
Cc: <netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linuxarm@huawei.com>
Subject: [PATCH net-next 1/2] net: phy: marvell: add new m88e1510 LED configuration
Date: Thu, 14 Feb 2019 12:31:06 +0800	[thread overview]
Message-ID: <1550118667-119947-2-git-send-email-shenjian15@huawei.com> (raw)
In-Reply-To: <1550118667-119947-1-git-send-email-shenjian15@huawei.com>

The default m88e1510 LED configuration is 0x1177, used LED[0]
for 1000M link, LED[1] for 100M link, and LED[2] for active.
But for our boards, we want to use 0x1040, which use LED[0] for
link, and LED[1] for active.

This patch adds a new m88e1510 LED configuration for it.

Signed-off-by: Jian Shen <shenjian15@huawei.com>
---
 drivers/net/phy/marvell.c   | 22 +++++++++++++++++++++-
 include/linux/marvell_phy.h |  1 +
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 3ccba37..c195286 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -128,6 +128,10 @@
 #define MII_PHY_LED_CTRL	        16
 #define MII_88E1121_PHY_LED_DEF		0x0030
 #define MII_88E1510_PHY_LED_DEF		0x1177
+#define MII_88E1510_PHY_HNS3_LED_DEF	0x1040
+
+#define MII_88E1510_PHY_LED_POLARITY_CTRL	0x11
+#define MII_88E1510_PHY_HNS3_LED_POLARITY	0x4415
 
 #define MII_M1011_PHY_STATUS		0x11
 #define MII_M1011_PHY_STATUS_1000	0x8000
@@ -619,12 +623,19 @@ static void marvell_config_led(struct phy_device *phydev)
 		def_config = MII_88E1121_PHY_LED_DEF;
 		break;
 	/* Default PHY LED config:
+	 * For hns3:
+	 * LED[0] .. Link
+	 * LED[1] .. Activity
+	 * For others:
 	 * LED[0] .. 1000Mbps Link
 	 * LED[1] .. 100Mbps Link
 	 * LED[2] .. Blink, Activity
 	 */
 	case MARVELL_PHY_FAMILY_ID(MARVELL_PHY_ID_88E1510):
-		def_config = MII_88E1510_PHY_LED_DEF;
+		if (phydev->dev_flags & MARVELL_PHY_M1510_HNS3_LEDS)
+			def_config = MII_88E1510_PHY_HNS3_LED_DEF;
+		else
+			def_config = MII_88E1510_PHY_LED_DEF;
 		break;
 	default:
 		return;
@@ -634,6 +645,15 @@ static void marvell_config_led(struct phy_device *phydev)
 			      def_config);
 	if (err < 0)
 		phydev_warn(phydev, "Fail to config marvell phy LED.\n");
+
+	if (phydev->dev_flags & MARVELL_PHY_M1510_HNS3_LEDS) {
+		err = phy_write_paged(phydev, MII_MARVELL_LED_PAGE,
+				      MII_88E1510_PHY_LED_POLARITY_CTRL,
+				      MII_88E1510_PHY_HNS3_LED_POLARITY);
+		if (err < 0)
+			phydev_warn(phydev,
+				    "Fail to config marvell phy LED polarity.\n");
+	}
 }
 
 static int marvell_config_init(struct phy_device *phydev)
diff --git a/include/linux/marvell_phy.h b/include/linux/marvell_phy.h
index 1eb6f24..99e0bbb 100644
--- a/include/linux/marvell_phy.h
+++ b/include/linux/marvell_phy.h
@@ -32,5 +32,6 @@
 /* struct phy_device dev_flags definitions */
 #define MARVELL_PHY_M1145_FLAGS_RESISTANCE	0x00000001
 #define MARVELL_PHY_M1118_DNS323_LEDS		0x00000002
+#define MARVELL_PHY_M1510_HNS3_LEDS		0x00000004
 
 #endif /* _MARVELL_PHY_H */
-- 
1.9.1


  reply	other threads:[~2019-02-14  3:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-14  4:31 [PATCH net-next 0/2] net: phy: add new led configuration for marvell m88e1510 Jian Shen
2019-02-14  4:31 ` Jian Shen [this message]
2019-02-14  4:06   ` [PATCH net-next 1/2] net: phy: marvell: add new m88e1510 LED configuration Florian Fainelli
2019-02-14  7:24     ` shenjian (K)
2019-02-14  4:31 ` [PATCH net-next 2/2] net: hns3: add fixup handle for hns3 driver Jian Shen
2019-02-14  4:08   ` Florian Fainelli
2019-02-14  7:25     ` shenjian (K)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1550118667-119947-2-git-send-email-shenjian15@huawei.com \
    --to=shenjian15@huawei.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®