board/b4860qds: Add support to make Aurora work on B4860QDS
PATCH 1/1 board/b4860qds: Add support to make Aurora work on B4860QDS
1) Add new SerDes1 protocols having Aurora in them
2) Add VSC cross point connections for Aurora to work with CPRI and SGMIIs
3) Configure VSC crossbar switch to connect SerDes1 lanes to aurora on board, by checking SerDes1 protocols
4) SerDes1 Refclks have been set properly to make Aurora, CPRI and SGMIIs to work together properly
--- arch/powerpc/cpu/mpc85xx/b4860_serdes.c | 32 +++++++++ board/freescale/b4860qds/b4860qds.c | 75 ++++++++++++++++++++- board/freescale/b4860qds/b4860qds_crossbar_con.h | 8 ++ 3 files changed, 111 insertions(+), 4 deletions(-)
arch/powerpc/cpu/mpc85xx/b4860_serdes.c +32 -0
@@ -18,6 +18,24 @@ struct serdes_config { #ifdef CONFIG_PPC_B4860 static struct serdes_config serdes1_cfg_tbl[] = { /* SerDes 1 */ + {0x02, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x04, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x05, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x06, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x08, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x09, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x0A, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x0B, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x0C, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, {0x0D, {CPRI8, CPRI7, CPRI6, CPRI5, CPRI4, CPRI3, CPRI2, CPRI1}}, {0x0E, {CPRI8, CPRI7, CPRI6, CPRI5,
@@ -44,8 +62,22 @@ static struct serdes_config serdes1_cfg_tbl[] = { {0x34, {AURORA, AURORA,SGMII_FM1_DTSEC3 ,SGMII_FM1_DTSEC4 , CPRI4, CPRI3, CPRI2, CPRI1}}, + {0x39, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x3A, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x3C, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x3D, {AURORA, AURORA, CPRI6, CPRI5, + CPRI4, CPRI3, CPRI2, CPRI1} }, {0x3E, {CPRI8, CPRI7, CPRI6, CPRI5, CPRI4, CPRI3, CPRI2, CPRI1}}, + {0x5C, {AURORA, AURORA, +SGMII_FM1_DTSEC3 ,SGMII_FM1_DTSEC4 , + CPRI4, CPRI3, CPRI2, CPRI1} }, + {0x5D, {AURORA, AURORA, +SGMII_FM1_DTSEC3 ,SGMII_FM1_DTSEC4 , + CPRI4, CPRI3, CPRI2, CPRI1} }, {} }; static struct serdes_config serdes2_cfg_tbl[] = {
board/freescale/b4860qds/b4860qds.c +71 -4
111 lines not on this page · raw message
board/freescale/b4860qds/b4860qds_crossbar_con.h +8 -0
@@ -24,6 +24,10 @@ static const int8_t vsc16_tx_4sfp_sgmii_34[8][2] = { {15, 7}, {0, 1}, {7, 8}, {9, 0}, {5, 14}, {4, 15}, {-1, -1}, {-1, -1} }; +static int8_t vsc16_tx_sfp_sgmii_aurora[8 ][2 ] = { {15 ,7 }, {0 ,1 }, + {7 ,8 }, {9 ,0 }, {5 ,14 }, + {4 ,15 }, {2 ,12 }, {12 ,13 } }; +#ifdef CONFIG_PPC_B4420 static int8_t vsc16_tx_sgmii_lane_cd[8 ][2 ] = { {5 ,14 }, {4 ,15 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 } };
@@ -46,6 +50,10 @@ static const int8_t vsc16_rx_4sfp_sgmii_34[8][2] = { {8, 15}, {0, 1}, {7, 8}, {1, 9}, {14, 11}, {15, 10}, {-1, -1}, {-1, -1} }; +static int8_t vsc16_rx_sfp_sgmii_aurora[8 ][2 ] = { {8 ,15 }, {0 ,1 }, + {7 ,8 }, {1 ,9 }, {14 ,11 }, + {15 ,10 }, {13 ,3 }, {12 ,12 } }; +#ifdef CONFIG_PPC_B4420 static int8_t vsc16_rx_sgmii_lane_cd[8 ][2 ] = { {14 ,11 }, {15 ,10 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 }, {-1 ,-1 } };
Signature · 1 line
1.7.6.GIT
PATCH 1/1 board/b4860qds: Add support to make Aurora work on B4860QDS
Quoted 10 lines · Shaveta Leekha
1) Add new SerDes1 protocols having Aurora in them
2) Add VSC cross point connections for Aurora to work with CPRI and SGMIIs
3) Configure VSC crossbar switch to connect SerDes1 lanes to aurora on board, by checking SerDes1 protocols
4) SerDes1 Refclks have been set properly to make Aurora, CPRI and SGMIIs to work together properlySigned-off-by Shaveta Leekha <[email protected]>---
Applied to u-boot-mpc85xx/master. Thanks.
York