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

celldata.h (2228B)


      1 /*
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      6  *
      7  * File:        celldata.h
      8  * Purpose:     
      9  */
     10 
     11 #ifndef   _DIAG_CELLDATA_H_
     12 #define   _DIAG_CELLDATA_H_
     13 
     14 #define DIAG_CELLDATA_CHUNKS        17
     15 #define DIAG_CELLDATA_CHUNK_WORDS    8
     16 #define DIAG_CELLDATA_SLICES        61
     17 #define DIAG_CELLDATA_SLICE_WORDS    3
     18 #define DIAG_CELLDATA_SLICE_COLUMNS  4
     19 
     20 #define DIAG_CELLDATA_SLICE4S        16
     21 #define DIAG_CELLDATA_SLICE4_WORDS    9
     22 
     23 #define DIAG_CELLDATA_CBMP_MASK     0xf
     24 
     25 #define DIAG_CELLDATA_DIFF_S60_C2_MASK 0x3fff0
     26 
     27 typedef uint32 diag_cd_chunk_t[DIAG_CELLDATA_CHUNKS][SOC_MAX_MEM_WORDS];
     28 typedef uint32 diag_cd_slice_t[DIAG_CELLDATA_SLICES][DIAG_CELLDATA_SLICE_WORDS];
     29 typedef uint32 diag_cd_columns_t[DIAG_CELLDATA_SLICES][DIAG_CELLDATA_SLICE_COLUMNS];
     30 typedef uint32 diag_cd_slice4_t[DIAG_CELLDATA_SLICE4S][SOC_MAX_MEM_WORDS];
     31 
     32 extern int diag_celldata_chunk_read(int unit, soc_mem_t mem,
     33                                     int index, diag_cd_chunk_t chunk_data);
     34 extern void diag_celldata_chunk_to_slice(diag_cd_chunk_t chunk_data,
     35                                          diag_cd_slice_t slice_data);
     36 extern void diag_celldata_slice_to_columns(diag_cd_slice_t slice_data,
     37                                            diag_cd_columns_t columns_data);
     38 
     39 extern void diag_celldata_columns_to_slice(diag_cd_columns_t columns_data,
     40                                            diag_cd_slice_t slice_data);
     41 extern void diag_celldata_slice_to_chunk(diag_cd_slice_t slice_data,
     42                                          diag_cd_chunk_t chunk_data);
     43 extern int diag_celldata_chunk_write(int unit, soc_mem_t mem,
     44                                      int index, diag_cd_chunk_t chunk_data);
     45 
     46 extern int diag_celldata_columns_test(int unit, soc_mem_t mem, int index,
     47                                       int do_write, int do_read,
     48                                       diag_cd_columns_t columns_data,
     49                                       diag_cd_columns_t columns_result,
     50                                       diag_cd_columns_t columns_diff);
     51 
     52 #endif /* _DIAG_CELLDATA_H_ */