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 79