Skip to contentSkip to conversation

Add Marvell 88E1118 support for TSEC

PATCH New Ron Madrid 2 participants 2 messages May 23, 2008 – May 24, 2008 Network drivers

lore
Share & tools
lore

Ron Madrid

author
#0 lore raw

PATCH 1/1 Add Marvell 88E1118 support for TSEC

Add Marvell 88E1118 support for TSEC

---
 drivers/net/tsec.c |   31
+++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)
drivers/net/tsec.c +0 -0
index c7af930..397ae71 100644
@@ -1128,6 +1128,36 @@ struct phy_info

phy_info_M88E1111S = {
},
};

+struct phy_info phy_info_M88E1118 = {
+ 0x01410e1,
+ "Marvell 88E1118",
+ 4,
+ (struct phy_cmd[]){ /* config */
+ /* Reset and configure the PHY */
+ {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+ {0x16, 0x0002, NULL}, /* Change Page Number */
+ {0x15, 0x1070, NULL}, /* Delay RGMII TX and RX */
+ {MIIM_GBIT_CONTROL, MIIM_GBIT_CONTROL_INIT, NULL},
+ {MIIM_ANAR, MIIM_ANAR_INIT, NULL},
+ {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+ {MIIM_CONTROL, MIIM_CONTROL_INIT, &mii_cr_init},
+ {miim_end,}
+ },
+ (struct phy_cmd[]){ /* startup */
+ {0x16, 0x0000, NULL}, /* Change Page Number */
+ /* Status is read once to clear old link state */
+ {MIIM_STATUS, miim_read, NULL},
+ /* Auto-negotiate */
+ /* Read the status */
+ {MIIM_88E1011_PHY_STATUS, miim_read,
+ &mii_parse_88E1011_psr},
+ {miim_end,}
+ },
+ (struct phy_cmd[]){ /* shutdown */
+ {miim_end,}
+ },
+};
+
static unsigned int m88e1145_setmode(uint mii_reg,
struct tsec_private *priv)
{
uint mii_data = read_phy_reg(priv, mii_reg);
@@ -1492,6 +1522,7 @@ struct phy_info *phy_info[] = {
&phy_info_BCM5464S, &phy_info_M88E1011S, &phy_info_M88E1111S,
+ &phy_info_M88E1118,
&phy_info_M88E1145, &phy_info_M88E1149S, &phy_info_dm9161,

Signature · 1 line
1.5.5.1
Applied
#1 lore raw

PATCH 1/1 Add Marvell 88E1118 support for TSEC

Quoted 53 lines · Ron Madrid

Add Marvell 88E1118 support for TSEC

---
 drivers/net/tsec.c |   31
+++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)
drivers/net/tsec.c +30 -0
index c7af930..397ae71 100644
@@ -1128,6 +1128,36 @@ struct phy_info
 phy_info_M88E1111S = {
 			   },
 };
 
+struct phy_info phy_info_M88E1118 = {
+	0x01410e1,
+	"Marvell 88E1118",
+	4,
+	(struct phy_cmd[]){	/* config */
+		/* Reset and configure the PHY */
+		{MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+		{0x16, 0x0002, NULL}, /* Change Page Number */
+		{0x15, 0x1070, NULL}, /* Delay RGMII TX and RX */
+		{MIIM_GBIT_CONTROL, MIIM_GBIT_CONTROL_INIT, NULL},
+		{MIIM_ANAR, MIIM_ANAR_INIT, NULL},
+		{MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+		{MIIM_CONTROL, MIIM_CONTROL_INIT, &mii_cr_init},
+		{miim_end,}
+		},
+	(struct phy_cmd[]){	/* startup */
+		{0x16, 0x0000, NULL}, /* Change Page Number */
+		/* Status is read once to clear old link state */
+		{MIIM_STATUS, miim_read, NULL},
+		/* Auto-negotiate */
+		/* Read the status */
+		{MIIM_88E1011_PHY_STATUS, miim_read,
+		 &mii_parse_88E1011_psr},
+		{miim_end,}
+		},
+	(struct phy_cmd[]){	/* shutdown */
+		{miim_end,}
+		},
+};
+
 static unsigned int m88e1145_setmode(uint mii_reg,
 struct tsec_private *priv)

{

drivers/net/tsec.c +0 -0
 	uint mii_data = read_phy_reg(priv, mii_reg);

drivers/net/tsec.c struct phy_info *phy_info[] = { · line 1528

Quoted 7 lines
drivers/net/tsec.c +1 -0
@@ -1492,6 +1522,7 @@ struct phy_info *phy_info[] = {
 	&phy_info_BCM5464S,
 	&phy_info_M88E1011S,
 	&phy_info_M88E1111S,
+	&phy_info_M88E1118,
 	&phy_info_M88E1145,
 	&phy_info_M88E1149S,
 	&phy_info_dm9161,

Applied to net repo.

Thanks,
Ben