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-2019 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_ */