openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

furia_pkg_cfg.c (6283B)


      1 /*
      2  *         
      3  * 
      4  * 
      5  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      6  * 
      7  * Copyright 2007-2019 Broadcom Inc. All rights reserved. 
      8  */
      9 /*
     10   Includes
     11 */
     12 #include "furia_pkg_cfg.h"
     13 #include "furia_types.h"
     14 /*
     15 * Defines
     16 */
     17 
     18 /*
     19 * Types
     20 */
     21 
     22 /*
     23 * Macros
     24 */
     25 
     26 /*
     27 * Global Variables
     28 */
     29 
     30     /* No package configuration defined. */
     31     /* Using Plain Duplex with no pkg swap */ 
     32 
     33     /* chip_id, pkg_lane_num, lane_type, die_addr, die_lane_num, slice_rd_val, slice_wr_val,
     34      * sideB(RX), sideA(TX), inv_in_data, inv_out_data
     35      */
     36 
     37 const FURIA_PKG_LANE_CFG_t glb_lanes_82208[8] = {
     38     {0x82208, 0, SIMPLEX_TX, 0, 2, 2, 1 << 2, SYS, LINE, 1, 1},
     39     {0x82208, 1, SIMPLEX_TX, 0, 3, 3, 1 << 3, SYS, LINE, 0, 0},
     40     {0x82208, 2, SIMPLEX_TX, 0, 3, 3, 1 << 3, LINE, SYS, 1, 1},
     41     {0x82208, 3, SIMPLEX_TX, 0, 2, 2, 1 << 2, LINE, SYS, 1, 1},
     42     {0x82208, 4, SIMPLEX_TX, 0, 1, 1, 1 << 1, LINE, SYS, 1, 1},
     43     {0x82208, 5, SIMPLEX_TX, 0, 0, 0, 1 << 0, LINE, SYS, 0, 0},
     44     {0x82208, 6, SIMPLEX_TX, 0, 0, 0, 1 << 0, SYS, LINE, 1, 1},
     45     {0x82208, 7, SIMPLEX_TX, 0, 1, 1, 1 << 1, SYS, LINE, 0, 0}
     46 };
     47 
     48 const FURIA_PKG_LANE_CFG_t glb_lanes_82209[8] = {
     49     {0x82209, 0, SIMPLEX_TX, 0, 1, 1, 1 << 1, SYS, LINE, 0, 0},
     50     {0x82209, 1, SIMPLEX_TX, 0, 0, 0, 1 << 0, SYS, LINE, 0, 0},
     51     {0x82209, 2, SIMPLEX_TX, 0, 0, 0, 1 << 0, LINE, SYS, 1, 1},
     52     {0x82209, 3, SIMPLEX_TX, 0, 1, 1, 1 << 1, LINE, SYS, 1, 1},
     53     {0x82209, 4, SIMPLEX_TX, 0, 2, 2, 1 << 2, LINE, SYS, 0, 0},
     54     {0x82209, 5, SIMPLEX_TX, 0, 3, 3, 1 << 3, LINE, SYS, 0, 0},
     55     {0x82209, 6, SIMPLEX_TX, 0, 3, 3, 1 << 3, SYS, LINE, 0, 0},
     56     {0x82209, 7, SIMPLEX_TX, 0, 2, 2, 1 << 2, SYS, LINE, 1, 1}
     57 };
     58 
     59 const FURIA_PKG_LANE_CFG_t glb_lanes_82073[8] = {
     60     {0x82073, 0, DUPLEX_XCVR, 0, 3, 3, 1<<3, SYS, LINE, 0, 0},
     61     {0x82073, 1, DUPLEX_XCVR, 0, 2, 2, 1<<2, SYS, LINE, 0, 0},
     62     {0x82073, 2, DUPLEX_XCVR, 0, 1, 1, 1<<1, SYS, LINE, 0, 0},
     63     {0x82073, 3, DUPLEX_XCVR, 0, 0, 0, 1<<0, SYS, LINE, 0, 0},
     64     {0x82073, 4, DUPLEX_XCVR, 1, 3, 3, 1<<3, SYS, LINE, 0, 0},
     65     {0x82073, 5, DUPLEX_XCVR, 1, 2, 2, 1<<2, SYS, LINE, 0, 0},
     66     {0x82073, 6, DUPLEX_XCVR, 1, 1, 1, 1<<1, SYS, LINE, 0, 0},
     67     {0x82073, 7, DUPLEX_XCVR, 1, 0, 0, 1<<0, SYS, LINE, 0, 0}
     68 };
     69 
     70 const FURIA_PKG_LANE_CFG_t glb_lanes_82381[8] = {
     71     {0x82381, 0, DUPLEX_XCVR, 0, 3, 3, 1<<3, SYS, LINE, 0, 0},
     72     {0x82381, 1, DUPLEX_XCVR, 0, 2, 2, 1<<2, SYS, LINE, 0, 0},
     73     {0x82381, 2, DUPLEX_XCVR, 0, 1, 1, 1<<1, SYS, LINE, 0, 0},
     74     {0x82381, 3, DUPLEX_XCVR, 0, 0, 0, 1<<0, SYS, LINE, 0, 0},
     75     {0x82381, 4, DUPLEX_XCVR, 1, 3, 3, 1<<3, SYS, LINE, 0, 0},
     76     {0x82381, 5, DUPLEX_XCVR, 1, 2, 2, 1<<2, SYS, LINE, 0, 0},
     77     {0x82381, 6, DUPLEX_XCVR, 1, 1, 1, 1<<1, SYS, LINE, 0, 0},
     78     {0x82381, 7, DUPLEX_XCVR, 1, 0, 0, 1<<0, SYS, LINE, 0, 0}
     79 };
     80 const FURIA_PKG_LANE_CFG_t glb_lanes_82383[8] = {
     81     {0x82383, 0, DUPLEX_XCVR, 0, 3, 3, 1<<3, SYS, LINE, 0, 0},
     82     {0x82383, 1, DUPLEX_XCVR, 0, 2, 2, 1<<2, SYS, LINE, 0, 0},
     83     {0x82383, 2, DUPLEX_XCVR, 0, 1, 1, 1<<1, SYS, LINE, 0, 0},
     84     {0x82383, 3, DUPLEX_XCVR, 0, 0, 0, 1<<0, SYS, LINE, 0, 0},
     85     {0x82383, 4, DUPLEX_XCVR, 1, 3, 3, 1<<3, SYS, LINE, 0, 0},
     86     {0x82383, 5, DUPLEX_XCVR, 1, 2, 2, 1<<2, SYS, LINE, 0, 0},
     87     {0x82383, 6, DUPLEX_XCVR, 1, 1, 1, 1<<1, SYS, LINE, 0, 0},
     88     {0x82383, 7, DUPLEX_XCVR, 1, 0, 0, 1<<0, SYS, LINE, 0, 0}
     89 };
     90 
     91 const FURIA_PKG_LANE_CFG_t glb_lanes_82385[8] = {
     92     {0x82385, 0, DUPLEX_XCVR, 0, 3, 3, 1<<3, SYS, LINE, 0, 0},
     93     {0x82385, 1, DUPLEX_XCVR, 0, 2, 2, 1<<2, SYS, LINE, 0, 0},
     94     {0x82385, 2, DUPLEX_XCVR, 0, 1, 1, 1<<1, SYS, LINE, 0, 0},
     95     {0x82385, 3, DUPLEX_XCVR, 0, 0, 0, 1<<0, SYS, LINE, 0, 0},
     96     {0x82385, 4, DUPLEX_XCVR, 1, 3, 3, 1<<3, SYS, LINE, 0, 0},
     97     {0x82385, 5, DUPLEX_XCVR, 1, 2, 2, 1<<2, SYS, LINE, 0, 0},
     98     {0x82385, 6, DUPLEX_XCVR, 1, 1, 1, 1<<1, SYS, LINE, 0, 0},
     99     {0x82385, 7, DUPLEX_XCVR, 1, 0, 0, 1<<0, SYS, LINE, 0, 0}
    100 };
    101 const FURIA_PKG_LANE_CFG_t glb_lanes_82071[4] = {
    102     {0x82071, 0, DUPLEX_XCVR, 0, 3, 3, 1<<3, SYS, LINE, 0, 0},
    103     {0x82071, 1, DUPLEX_XCVR, 0, 2, 2, 1<<2, SYS, LINE, 0, 0},
    104     {0x82071, 2, DUPLEX_XCVR, 0, 1, 1, 1<<1, SYS, LINE, 0, 0},
    105     {0x82071, 3, DUPLEX_XCVR, 0, 0, 0, 1<<0, SYS, LINE, 0, 0},
    106 };
    107 const FURIA_PKG_LANE_CFG_t glb_lanes_82380[4] = {
    108     {0x82380, 0, DUPLEX_XCVR, 0, 3, 3, 1<<3, SYS, LINE, 0, 0},
    109     {0x82380, 1, DUPLEX_XCVR, 0, 2, 2, 1<<2, SYS, LINE, 0, 0},
    110     {0x82380, 2, DUPLEX_XCVR, 0, 1, 1, 1<<1, SYS, LINE, 0, 0},
    111     {0x82380, 3, DUPLEX_XCVR, 0, 0, 0, 1<<0, SYS, LINE, 0, 0},
    112 };
    113 const FURIA_PKG_LANE_CFG_t glb_lanes_82072[8] = {
    114     {0x82072, 0, DUPLEX_XCVR, 0, 3, 3, 1<<3, SYS, LINE, 0, 0},
    115     {0x82072, 1, DUPLEX_XCVR, 0, 2, 2, 1<<2, SYS, LINE, 0, 0},
    116     {0x82072, 2, DUPLEX_XCVR, 0, 1, 1, 1<<1, SYS, LINE, 0, 0},
    117     {0x82072, 3, DUPLEX_XCVR, 0, 0, 0, 1<<0, SYS, LINE, 0, 0},
    118     {0x82072, 4, DUPLEX_XCVR, 1, 3, 3, 1<<3, SYS, LINE, 0, 0},
    119     {0x82072, 5, DUPLEX_XCVR, 1, 2, 2, 1<<2, SYS, LINE, 0, 0},
    120     {0x82072, 6, DUPLEX_XCVR, 1, 1, 1, 1<<1, SYS, LINE, 0, 0},
    121     {0x82072, 7, DUPLEX_XCVR, 1, 0, 0, 1<<0, SYS, LINE, 0, 0}
    122 };
    123 const FURIA_PKG_LANE_CFG_t glb_lanes_82212[12] = {
    124   {0x82212, 0, SIMPLEX_TX,  0, 0, 0, 1<<0, LINE, SYS, 0, 0 },
    125   {0x82212, 1, SIMPLEX_TX,  0, 1, 1, 1<<1, LINE, SYS, 0, 0 },
    126   {0x82212, 2, SIMPLEX_TX,  1, 0, 0, 1<<0, LINE, SYS, 1, 1 },
    127   {0x82212, 3, SIMPLEX_TX,  1, 1, 1, 1<<1, LINE, SYS, 0, 0 },
    128   {0x82212, 4, SIMPLEX_TX,  1, 2, 2, 1<<2, LINE, SYS, 1, 1 },
    129   {0x82212, 5, SIMPLEX_TX,  1, 3, 3, 1<<3, LINE, SYS, 0, 0 },
    130   {0x82212, 6, SIMPLEX_TX,  0, 1, 1, 1<<1, SYS,  LINE,1, 1 },
    131   {0x82212, 7, SIMPLEX_TX,  0, 0, 0, 1<<0, SYS,  LINE,0, 0 },
    132   {0x82212, 8, SIMPLEX_TX,  0, 2, 2, 1<<2, LINE, SYS, 1, 1 },
    133   {0x82212, 9, SIMPLEX_TX,  0, 3, 3, 1<<3, LINE, SYS, 0, 0 },
    134   {0x82212, 10, SIMPLEX_TX, 1, 3, 3, 1<<3, SYS,  LINE,1, 1 },
    135   {0x82212, 11, SIMPLEX_TX, 1, 2, 2, 1<<2, SYS,  LINE,0, 0 }
    136 };
    137 
    138 
    139 const FURIA_PKG_LANE_CFG_t* const glb_package_array[MAX_NUM_PACKAGES] = {
    140     glb_lanes_82208,
    141     glb_lanes_82209,
    142     glb_lanes_82073,
    143     glb_lanes_82381,
    144     glb_lanes_82385,
    145     glb_lanes_82071,
    146     glb_lanes_82380,
    147     glb_lanes_82072,
    148     glb_lanes_82212,
    149     glb_lanes_82383,
    150     NULL
    151 }; 
    152 
    153 FURIA_PHY_LIST_t glb_phy_list[MAX_NUM_PHYS];
    154 
    155