diff mbox series

[v1,2/7] net: phy: realtek: Add support for RTL8201F PHY module.

Message ID 1589034315-19722-3-git-send-email-amittomer25@gmail.com
State Accepted
Commit b0778d9c2c221a13b7b977bd8eb397a16ff36fe0
Delegated to: Tom Rini
Headers show
Series add Ethernet support for S700 | expand

Commit Message

Amit Tomer May 9, 2020, 2:25 p.m. UTC
This patch adds support for Realtek PHY RTL8201F 10/100Mbs
(with variants: RTL8201FN and RTL8201FL) PHYceiver. It is
present on Actions Semi Cubieboard7 board.

Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
---
 drivers/net/phy/realtek.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Tom Rini July 8, 2020, 3:02 a.m. UTC | #1
On Sat, May 09, 2020 at 07:55:10PM +0530, Amit Singh Tomar wrote:

> This patch adds support for Realtek PHY RTL8201F 10/100Mbs
> (with variants: RTL8201FN and RTL8201FL) PHYceiver. It is
> present on Actions Semi Cubieboard7 board.
> 
> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index 8f1d75963259..b9c373bfe3cc 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -157,6 +157,14 @@  static int rtl8211x_config(struct phy_device *phydev)
 	return 0;
 }
 
+/* RealTek RTL8201F */
+static int rtl8201f_config(struct phy_device *phydev)
+{
+	genphy_config_aneg(phydev);
+
+	return 0;
+}
+
 static int rtl8211f_config(struct phy_device *phydev)
 {
 	u16 reg;
@@ -386,12 +394,24 @@  static struct phy_driver RTL8211F_driver = {
 	.writeext = &rtl8211f_phy_extwrite,
 };
 
+/* Support for RTL8201F PHY */
+static struct phy_driver RTL8201F_driver = {
+	.name = "RealTek RTL8201F 10/100Mbps Ethernet",
+	.uid = 0x1cc816,
+	.mask = 0xffffff,
+	.features = PHY_BASIC_FEATURES,
+	.config = &rtl8201f_config,
+	.startup = &rtl8211e_startup,
+	.shutdown = &genphy_shutdown,
+};
+
 int phy_realtek_init(void)
 {
 	phy_register(&RTL8211B_driver);
 	phy_register(&RTL8211E_driver);
 	phy_register(&RTL8211F_driver);
 	phy_register(&RTL8211DN_driver);
+	phy_register(&RTL8201F_driver);
 
 	return 0;
 }