Skip to contentSkip to conversation

net/phy: Add support for CS4315/CS4340 PHY

PATCH Superseded Shengzhou Liu 3 participants 3 messages May 19, 2014 – Jul 21, 2014

Subsystems (2)

v5 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

PATCH v5 1/1 net/phy: Add support for CS4315/CS4340 PHY

Add support for Cortina CS4315/CS4340 10G PHY.
- This driver loads CS43xx firmware from NOR/NAND/SPI/SD device to initialize Cortina PHY.
- Cortina PHY has non-standard offset of PHY ID registers, thus we define own get_phy_id() to override default get_phy_id().
- To define macro CONFIG_PHY_CORTINA will enable this driver.

---
v5: fix unclaimed variable in case of nand boot.
v4: add support for loading cortina phy ucode from NAND/SPI/SD
v3: move devad as '0' in cortina.c instead of in phy.c
v2: no change.

 drivers/net/phy/Makefile  |   1 +
 drivers/net/phy/cortina.c | 333 ++++++++++++++++++++++++++++++++++++++++++++++
 drivers/net/phy/phy.c     |   3 +
 include/cortina.h         |  73 ++++++++++
 include/phy.h             |   2 +
 5 files changed, 412 insertions(+)
 create mode 100644 drivers/net/phy/cortina.c
 create mode 100644 include/cortina.h
drivers/net/phy/Makefile +1 -0
index dbf7bf7..b091962 100644
@@ -24,3 +24,4 @@ obj-$(CONFIG_PHY_REALTEK) += realtek.o
 obj-$(CONFIG_PHY_SMSC) += smsc.o
 obj-$(CONFIG_PHY_TERANETICS) += teranetics.o
 obj-$(CONFIG_PHY_VITESSE) += vitesse.o
+obj-$(CONFIG_PHY_CORTINA) += cortina.o
drivers/net/phy/cortina.c new file +333 -0

333 lines not on this page · raw message

drivers/net/phy/phy.c +3 -0
index 230ed97..1a729c5 100644
@@ -481,6 +481,9 @@ int phy_init(void)
 #ifdef CONFIG_PHY_VITESSE
 	phy_vitesse_init();
 #endif
+#ifdef CONFIG_PHY_CORTINA
+	phy_cortina_init();
+#endif
 
 	return 0;
 }
include/cortina.h new file +73 -0

73 lines not on this page · raw message

include/phy.h +2 -0
index d3ecd63..781c9c0 100644
@@ -233,10 +233,12 @@ int phy_realtek_init(void);
 int phy_smsc_init(void);
 int phy_teranetics_init(void);
 int phy_vitesse_init(void);
+int phy_cortina_init(void);
 
 int board_phy_config(struct phy_device *phydev);
 
 /* PHY UIDs for various PHYs that are referenced in external code */
 #define PHY_UID_TN2020	0x00a19410
+#define PHY_UID_CS4340  0x13e51002
 
 #endif
Signature · 1 line
1.8.0
#1 lore raw

PATCH v5 1/1 net/phy: Add support for CS4315/CS4340 PHY

Quoted 7 lines · Shengzhou Liu

Add support for Cortina CS4315/CS4340 10G PHY.
- This driver loads CS43xx firmware from NOR/NAND/SPI/SD device to initialize Cortina PHY.
- Cortina PHY has non-standard offset of PHY ID registers, thus we define own get_phy_id() to override default get_phy_id().
- To define macro CONFIG_PHY_CORTINA will enable this driver.

Quoted 6 lines

---
v5: fix unclaimed variable in case of nand boot.
v4: add support for loading cortina phy ucode from NAND/SPI/SD
v3: move devad as '0' in cortina.c instead of in phy.c
v2: no change.

Joe,

Would you take this patch, or ack it so I can take it in?

http://patchwork.ozlabs.org/patch/350162/

York

#2 lore raw

PATCH v5 1/1 net/phy: Add support for CS4315/CS4340 PHY

Hi Shengzhou Liu,

Quoted 17 lines · York Sun
Quoted 7 lines · Shengzhou Liu

Add support for Cortina CS4315/CS4340 10G PHY.
- This driver loads CS43xx firmware from NOR/NAND/SPI/SD device to initialize Cortina PHY.
- Cortina PHY has non-standard offset of PHY ID registers, thus we define own get_phy_id() to override default get_phy_id().
- To define macro CONFIG_PHY_CORTINA will enable this driver.

Quoted 6 lines

---
v5: fix unclaimed variable in case of nand boot.
v4: add support for loading cortina phy ucode from NAND/SPI/SD
v3: move devad as '0' in cortina.c instead of in phy.c
v2: no change.

Quoted 5 lines

Joe,

Would you take this patch, or ack it so I can take it in?

http://patchwork.ozlabs.org/patch/350162/

NAK

Please add your new phy to phy.c and phy.h in alphabetical order like the rest of them.

Thanks,
-Joe