powerpc/t4240: add QSGMII interface support
Subsystems (2)
PATCH 3/3 powerpc/t4240: add QSGMII interface support
From: Shaohui Xie <[email protected]>
Also some fix for QSGMII.
1. fix QSGMII configure of Serdes2.
2. fix PHY address of QSGMII MAC9 & MAC10 for each FMAN.
3. fix dtb for QSGMII interface.
Signed-off-by Shaohui Xie <[email protected]>
---
resend for patchwork to catch.
arch/powerpc/cpu/mpc85xx/t4240_serdes.c | 14 +++--- board/freescale/t4qds/eth.c | 80 ++++++++++++++++++++++-------- drivers/net/fm/eth.c | 4 +- drivers/net/fm/memac.c | 1 + drivers/net/fm/t4240.c | 40 +++++++++++++++- 5 files changed, 108 insertions(+), 31 deletions(-)
arch/powerpc/cpu/mpc85xx/t4240_serdes.c +7 -7
@@ -106,25 +106,25 @@ static const struct serdes_config serdes2_cfg_tbl[] = {SGMII_FM2_DTSEC1 ,SGMII_FM2_DTSEC2 , SGMII_FM2_DTSEC3, SGMII_FM2_DTSEC4}}, {38, {NONE, NONE, QSGMII_FM2_B, NONE, - NONE, NONE, QSGMII_FM1_A, NONE}}, + NONE, NONE, QSGMII_FM2_A, NONE} }, {40, {SGMII_FM2_DTSEC5, SGMII_FM2_DTSEC6,SGMII_FM2_DTSEC10 ,SGMII_FM2_DTSEC9 , - NONE, NONE, QSGMII_FM1_A, NONE}}, + NONE, NONE, QSGMII_FM2_A, NONE} }, {46, {SGMII_FM2_DTSEC5, SGMII_FM2_DTSEC6,SGMII_FM2_DTSEC10 ,SGMII_FM2_DTSEC9 , - NONE, NONE, QSGMII_FM1_A, NONE}}, + NONE, NONE, QSGMII_FM2_A, NONE} }, {48, {SGMII_FM2_DTSEC5, SGMII_FM2_DTSEC6,SGMII_FM2_DTSEC10 ,SGMII_FM2_DTSEC9 , - NONE, NONE, QSGMII_FM1_A, NONE}}, + NONE, NONE, QSGMII_FM2_A, NONE} }, {50, {XAUI_FM2_MAC9, XAUI_FM2_MAC9,XAUI_FM2_MAC9 ,XAUI_FM2_MAC9 , - NONE, NONE, QSGMII_FM1_A, NONE}}, + NONE, NONE, QSGMII_FM2_A, NONE} }, {52, {HIGIG_FM2_MAC9, HIGIG_FM2_MAC9,HIGIG_FM2_MAC9 ,HIGIG_FM2_MAC9 , - NONE, NONE, QSGMII_FM1_A, NONE}}, + NONE, NONE, QSGMII_FM2_A, NONE} }, {54, {HIGIG_FM2_MAC9, HIGIG_FM2_MAC9,HIGIG_FM2_MAC9 ,HIGIG_FM2_MAC9 , - NONE, NONE, QSGMII_FM1_A, NONE}}, + NONE, NONE, QSGMII_FM2_A, NONE} }, {56, {XFI_FM1_MAC9, XFI_FM1_MAC10,XFI_FM2_MAC10 ,XFI_FM2_MAC9 , SGMII_FM2_DTSEC1, SGMII_FM2_DTSEC2,
board/freescale/t4qds/eth.c +58 -22
134 lines not on this page · raw message
drivers/net/fm/eth.c +3 -1
@@ -341,7 +341,9 @@ static int fm_eth_startup(struct fm_eth *fm_eth) mac->init_mac (mac);/* For some reason we need to set SPEED_100 */ -if ((fm_eth->enet_if ==PHY_INTERFACE_MODE_SGMII ) && mac->set_if_mode) +if (((fm_eth->enet_if ==PHY_INTERFACE_MODE_SGMII ) || + (fm_eth->enet_if ==PHY_INTERFACE_MODE_QSGMII )) && + mac->set_if_mode) mac->set_if_mode (mac, fm_eth->enet_if,SPEED_100 );/* init bmi rx port, IM mode and disable */
drivers/net/fm/memac.c +1 -0
@@ -90,6 +90,7 @@ static void memac_set_interface_mode(struct fsl_enet_mac *mac, if_mode |= (IF_MODE_GMII |IF_MODE_RM );break ;case PHY_INTERFACE_MODE_SGMII : +case PHY_INTERFACE_MODE_QSGMII : if_mode &= ~IF_MODE_MASK ; if_mode |= (IF_MODE_GMII );break ;
drivers/net/fm/t4240.c +39 -1
@@ -114,7 +114,45 @@ phy_interface_t fman_port_enet_if(enum fm_port port)return PHY_INTERFACE_MODE_SGMII ;break ;default : -return PHY_INTERFACE_MODE_NONE ; +break ; + } + +/* handle QSGMII */ +switch (port) { +case FM1_DTSEC1 : +case FM1_DTSEC2 : +case FM1_DTSEC3 : +case FM1_DTSEC4 : +/* check lane G on SerDes1 */ +if (is_serdes_configured (QSGMII_FM1_A )) +return PHY_INTERFACE_MODE_QSGMII ; +break ; +case FM1_DTSEC5 : +case FM1_DTSEC6 : +case FM1_DTSEC9 : +case FM1_DTSEC10 : +/* check lane C on SerDes1 */ +if (is_serdes_configured (QSGMII_FM1_B )) +return PHY_INTERFACE_MODE_QSGMII ; +break ; +case FM2_DTSEC1 : +case FM2_DTSEC2 : +case FM2_DTSEC3 : +case FM2_DTSEC4 : +/* check lane G on SerDes2 */ +if (is_serdes_configured (QSGMII_FM2_A )) +return PHY_INTERFACE_MODE_QSGMII ; +break ; +case FM2_DTSEC5 : +case FM2_DTSEC6 : +case FM2_DTSEC9 : +case FM2_DTSEC10 : +/* check lane C on SerDes2 */ +if (is_serdes_configured (QSGMII_FM2_B )) +return PHY_INTERFACE_MODE_QSGMII ; +break ; +default : +break ; }return PHY_INTERFACE_MODE_NONE ;
Signature · 1 line
1.7.0.4
PATCH 3/3 powerpc/t4240: add QSGMII interface support
Quoted 9 lines · Shaohui Xie
From: Shaohui Xie <[email protected]>
Also some fix for QSGMII.
1. fix QSGMII configure of Serdes2.
2. fix PHY address of QSGMII MAC9 & MAC10 for each FMAN.
3. fix dtb for QSGMII interface.Signed-off-by Shaohui Xie <[email protected]>---
Applied to u-boot-mpc85xx/master.
York