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