1 /*
2  * Copyright 2012 Freescale Semiconductor, Inc.
3  *
4  * SPDX-License-Identifier:	GPL-2.0+
5  */
6 
7 #ifndef __CROSSBAR_CONNECTIONS_H__
8 #define __CROSSBAR_CONNECTIONS_H__
9 
10 #define NUM_CON_VSC3316	8
11 #define NUM_CON_VSC3308	4
12 
13 static const int8_t vsc16_tx_amc[8][2] = { {15, 3}, {0, 2}, {7, 4}, {9, 10},
14 				{5, 11}, {4, 5}, {2, 6}, {12, 9} };
15 
16 static int8_t vsc16_tx_sfp[8][2] = { {15, 7}, {0, 1}, {7, 8}, {9, 0},
17 				{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
18 
19 static int8_t vsc16_tx_4sfp_sgmii_12_56[8][2] = { {15, 7}, {0, 1},
20 				{7, 8}, {9, 0}, {2, 14}, {12, 15},
21 				{-1, -1}, {-1, -1} };
22 
23 static const int8_t vsc16_tx_4sfp_sgmii_34[8][2] = { {15, 7}, {0, 1},
24 				{7, 8}, {9, 0}, {5, 14}, {4, 15},
25 				{-1, -1}, {-1, -1} };
26 
27 static int8_t vsc16_tx_sfp_sgmii_aurora[8][2] = { {15, 7}, {0, 1},
28 				{7, 8}, {9, 0}, {5, 14},
29 				{4, 15}, {2, 12}, {12, 13} };
30 
31 #ifdef CONFIG_ARCH_B4420
32 static int8_t vsc16_tx_sgmii_lane_cd[8][2] = { {5, 14}, {4, 15},
33 		{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
34 #endif
35 
36 static const int8_t vsc16_tx_aurora[8][2] = { {2, 13}, {12, 12}, {-1, -1},
37 			{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
38 
39 static const int8_t vsc16_rx_amc[8][2] = { {3, 15}, {2, 1}, {4, 8}, {10, 9},
40 				{11, 11}, {5, 10}, {6, 3}, {9, 12} };
41 
42 static int8_t vsc16_rx_sfp[8][2] = { {8, 15}, {0, 1}, {7, 8}, {1, 9},
43 				{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
44 
45 static int8_t vsc16_rx_4sfp_sgmii_12_56[8][2] = { {8, 15}, {0, 1},
46 				{7, 8}, {1, 9}, {14, 3}, {15, 12},
47 				{-1, -1}, {-1, -1} };
48 
49 static const int8_t vsc16_rx_4sfp_sgmii_34[8][2] = { {8, 15}, {0, 1},
50 				{7, 8}, {1, 9}, {14, 11}, {15, 10},
51 				{-1, -1}, {-1, -1} };
52 
53 static int8_t vsc16_rx_sfp_sgmii_aurora[8][2] = { {8, 15}, {0, 1},
54 				{7, 8}, {1, 9}, {14, 11},
55 				{15, 10}, {13, 3}, {12, 12} };
56 
57 #ifdef CONFIG_ARCH_B4420
58 static int8_t vsc16_rx_sgmii_lane_cd[8][2] = { {14, 11}, {15, 10},
59 		{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
60 #endif
61 
62 static const int8_t vsc16_rx_aurora[8][2] = { {13, 3}, {12, 12}, {-1, -1},
63 			{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
64 
65 static const int8_t vsc08_tx_amc[4][2] = { {2, 2}, {3, 3}, {7, 4}, {1, 5} };
66 
67 static const int8_t vsc08_tx_sfp[4][2] = { {2, 1}, {3, 0}, {7, 6}, {1, 7} };
68 
69 static const int8_t vsc08_rx_amc[4][2] = { {2, 3}, {3, 4}, {4, 7}, {5, 1} };
70 
71 static const int8_t vsc08_rx_sfp[4][2] = { {1, 3}, {0, 4}, {6, 7}, {7, 1} };
72 
73 #endif
74