c2b6c44d2572e9211ad7489ade5a4fabe28ab946
[karo-tx-uboot.git] / board / freescale / b4860qds / b4860qds_crossbar_con.h
1 /*
2  * Copyright 2012 Freescale Semiconductor, Inc.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of
7  * the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
17  * MA 02111-1307 USA
18  */
19
20 #ifndef __CROSSBAR_CONNECTIONS_H__
21 #define __CROSSBAR_CONNECTIONS_H__
22
23 #define NUM_CON_VSC3316 8
24 #define NUM_CON_VSC3308 4
25
26 static const int8_t vsc16_tx_amc[8][2] = { {15, 3}, {0, 2}, {7, 4}, {9, 10},
27                                 {5, 11}, {4, 5}, {2, 6}, {12, 9} };
28
29 static const int8_t vsc16_tx_sfp[8][2] = { {15, 7}, {0, 1}, {7, 8}, {9, 0},
30                                 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
31
32 static const int8_t vsc16_tx_4sfp_sgmii_12_56[8][2] = { {15, 7}, {0, 1},
33                                 {7, 8}, {9, 0}, {2, 14}, {12, 15},
34                                 {-1, -1}, {-1, -1} };
35
36 static const int8_t vsc16_tx_4sfp_sgmii_34[8][2] = { {15, 7}, {0, 1},
37                                 {7, 8}, {9, 0}, {5, 14}, {4, 15},
38                                 {-1, -1}, {-1, -1} };
39
40 #ifdef CONFIG_PPC_B4420
41 static const int8_t vsc16_tx_sgmii_lane_cd[8][2] = { {5, 14}, {4, 15},
42                 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
43 #endif
44
45 static const int8_t vsc16_tx_aurora[8][2] = { {2, 13}, {12, 12}, {-1, -1},
46                         {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
47
48 static const int8_t vsc16_rx_amc[8][2] = { {3, 15}, {2, 1}, {4, 8}, {10, 9},
49                                 {11, 11}, {5, 10}, {6, 3}, {9, 12} };
50
51 static const int8_t vsc16_rx_sfp[8][2] = { {8, 15}, {0, 1}, {7, 8}, {1, 9},
52                                 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
53
54 static const int8_t vsc16_rx_4sfp_sgmii_12_56[8][2] = { {8, 15}, {0, 1},
55                                 {7, 8}, {1, 9}, {14, 3}, {15, 12},
56                                 {-1, -1}, {-1, -1} };
57
58 static const int8_t vsc16_rx_4sfp_sgmii_34[8][2] = { {8, 15}, {0, 1},
59                                 {7, 8}, {1, 9}, {14, 11}, {15, 10},
60                                 {-1, -1}, {-1, -1} };
61
62 #ifdef CONFIG_PPC_B4420
63 static const int8_t vsc16_rx_sgmii_lane_cd[8][2] = { {14, 11}, {15, 10},
64                 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
65 #endif
66
67 static const int8_t vsc16_rx_aurora[8][2] = { {13, 3}, {12, 12}, {-1, -1},
68                         {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} };
69
70 static const int8_t vsc08_tx_amc[4][2] = { {2, 2}, {3, 3}, {7, 4}, {1, 5} };
71
72 static const int8_t vsc08_tx_sfp[4][2] = { {2, 1}, {3, 0}, {7, 6}, {1, 7} };
73
74 static const int8_t vsc08_rx_amc[4][2] = { {2, 3}, {3, 4}, {4, 7}, {5, 1} };
75
76 static const int8_t vsc08_rx_sfp[4][2] = { {1, 3}, {0, 4}, {6, 7}, {7, 1} };
77
78 #endif