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

ui_rom_defi_diag.h (14262B)


      1 /* 
      2  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      3  * 
      4  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      5 */
      6 #ifndef UI_ROM_DEFI_DIAG_INCLUDED
      7 /* { */
      8 #define UI_ROM_DEFI_DIAG_INCLUDED
      9 /*
     10  * General include file for reference design.
     11  */
     12 
     13 #include <appl/diag/dpp/ref_sys.h>
     14 
     15 #include <appl/diag/dpp/ui_defx.h>
     16 #include <appl/diag/dpp/utils_defx.h>
     17 #ifdef LINK_FAP20V_LIBRARIES
     18   #include <appl/diag/dpp/utils_fap20v_tests.h>
     19 
     20   #include <sweep/Fap20v/sweep_fap20v_app.h>
     21 #endif /* LINK_FAP20V_LIBRARIES */
     22 
     23 #include <ui_pure_defi_diag.h>
     24 #include <appl/diag/dpp/utils_hw_diagnostics.h>
     25 
     26 
     27 /*
     28  * UI definition{
     29  */
     30 
     31 /********************************************************
     32  */
     33 EXTERN CONST
     34    PARAM_VAL_RULES
     35      Diag_revert_data_vals[]
     36 #ifdef INIT
     37    =
     38 {
     39   {
     40     VAL_SYMBOL,
     41     "true",
     42     {
     43       {
     44         UTILS_HW_DIAG_MEM_TEST_REVERT_DATA_YES,
     45         (long)"    Revert data bits.",
     46         (long)NULL
     47       }
     48     }
     49   },
     50   {
     51     VAL_SYMBOL,
     52     "false",
     53     {
     54       {
     55         UTILS_HW_DIAG_MEM_TEST_REVERT_DATA_NO,
     56           /*
     57            * Casting added here just to keep the compiler silent.
     58            */
     59         (long)"    Don't revert data bits.",
     60         (long)NULL
     61       }
     62     }
     63   },
     64   {
     65     VAL_SYMBOL,
     66     "both",
     67     {
     68       {
     69         UTILS_HW_DIAG_MEM_TEST_REVERT_DATA_BOTH,
     70           /*
     71            * Casting added here just to keep the compiler silent.
     72            */
     73         (long)"    Run test once without reverted data, and again with reverted data.",
     74         (long)NULL
     75       }
     76     }
     77   },
     78 
     79 /*
     80  * Last element. Do not remove.
     81  */
     82   {
     83     VAL_END_OF_LIST
     84   }
     85 }
     86 #endif
     87 ;
     88 
     89 /********************************************************
     90  */
     91 EXTERN CONST
     92    PARAM_VAL_RULES
     93      Diag_revert_addrs_vals[]
     94 #ifdef INIT
     95    =
     96 {
     97   {
     98     VAL_SYMBOL,
     99     "true",
    100     {
    101       {
    102         UTILS_HW_DIAG_MEM_TEST_REVERT_ADDRS_YES,
    103         (long)"    Revert address offset bits.",
    104         (long)NULL
    105       }
    106     }
    107   },
    108   {
    109     VAL_SYMBOL,
    110     "false",
    111     {
    112       {
    113         UTILS_HW_DIAG_MEM_TEST_REVERT_ADDRS_NO,
    114           /*
    115            * Casting added here just to keep the compiler silent.
    116            */
    117         (long)"    Don't revert address offset bits.",
    118         (long)NULL
    119       }
    120     }
    121   },
    122 
    123 /*
    124  * Last element. Do not remove.
    125  */
    126   {
    127     VAL_END_OF_LIST
    128   }
    129 }
    130 #endif
    131 ;
    132 
    133 /********************************************************
    134  */
    135 EXTERN CONST
    136    PARAM_VAL_RULES
    137      Diag_addrs_alignment_vals[]
    138 #ifdef INIT
    139    =
    140 {
    141   {
    142     VAL_SYMBOL,
    143     "byte",
    144     {
    145       {
    146         UTILS_HW_DIAG_MEM_TEST_ADDRESS_BYTE_ALIGNMENT,
    147         (long)"    Byte alignment.",
    148         (long)NULL
    149       }
    150     }
    151   },
    152   {
    153     VAL_SYMBOL,
    154     "long",
    155     {
    156       {
    157         UTILS_HW_DIAG_MEM_TEST_ADDRESS_LONG_ALIGNMENT,
    158           /*
    159            * Casting added here just to keep the compiler silent.
    160            */
    161         (long)"    Long alignment.",
    162         (long)NULL
    163       }
    164     }
    165   },
    166 
    167 /*
    168  * Last element. Do not remove.
    169  */
    170   {
    171     VAL_END_OF_LIST
    172   }
    173 }
    174 #endif
    175 ;
    176 
    177 /********************************************************
    178  */
    179 EXTERN CONST
    180    PARAM_VAL_RULES
    181      Diag_data_walk_vals[]
    182 #ifdef INIT
    183    =
    184 {
    185   {
    186     VAL_SYMBOL,
    187     "index_walk",
    188     {
    189       {
    190         UTILS_HW_DIAG_MEM_TEST_DATA_TYPE_RUNNING_INDEX,
    191         (long)"    Index walk: 0,1,2,3... (dec).",
    192         (long)NULL
    193       }
    194     }
    195   },
    196   {
    197     VAL_SYMBOL,
    198     "walking_one",
    199     {
    200       {
    201         UTILS_HW_DIAG_MEM_TEST_DATA_TYPE_WALKING_ONE,
    202           /*
    203            * Casting added here just to keep the compiler silent.
    204            */
    205         (long)"    Walking one: 0, 1, 10, 100... (bin).",
    206         (long)NULL
    207       }
    208     }
    209   },
    210   {
    211     VAL_SYMBOL,
    212     "random",
    213     {
    214       {
    215         UTILS_HW_DIAG_MEM_TEST_DATA_TYPE_RANDOM,
    216           /*
    217            * Casting added here just to keep the compiler silent.
    218            */
    219         (long)"    Random data",
    220         (long)NULL
    221       }
    222     }
    223   },
    224   {
    225     VAL_SYMBOL,
    226     "sso",
    227     {
    228       {
    229         UTILS_HW_DIAG_MEM_TEST_DATA_TYPE_SSO,
    230           /*
    231            * Casting added here just to keep the compiler silent.
    232            */
    233         (long)"    SSO: 1111.., 0000..., 1111..., 0000 ...(bin).",
    234         (long)NULL
    235       }
    236     }
    237   },
    238   {
    239     VAL_SYMBOL,
    240     "cross",
    241     {
    242       {
    243         UTILS_HW_DIAG_MEM_TEST_DATA_TYPE_CROSS_WALK,
    244           /*
    245            * Casting added here just to keep the compiler silent.
    246            */
    247         (long)"    Cross walk: 1010.., 0101..., 1010..., 0101...(bin).",
    248         (long)NULL
    249       }
    250     }
    251   },
    252   {
    253     VAL_SYMBOL,
    254     "pattern",
    255     {
    256       {
    257         UTILS_HW_DIAG_MEM_TEST_DATA_TYPE_PATTERN,
    258           /*
    259            * Casting added here just to keep the compiler silent.
    260            */
    261         (long)"    Pattern: constant value.",
    262         (long)NULL
    263       }
    264     }
    265   },
    266 
    267 /*
    268  * Last element. Do not remove.
    269  */
    270   {
    271     VAL_END_OF_LIST
    272   }
    273 }
    274 #endif
    275 ;
    276 
    277 /********************************************************
    278  */
    279 EXTERN CONST
    280    PARAM_VAL_RULES
    281      Diag_offset_walk_vals[]
    282 #ifdef INIT
    283    =
    284 {
    285   {
    286     VAL_SYMBOL,
    287     "index_walk",
    288     {
    289       {
    290         UTILS_HW_DIAG_MEM_TEST_ADDR_WALK_TYPE_INC_ONE,
    291         (long)"    Index walk: 0,1,2,3... (dec).",
    292         (long)NULL
    293       }
    294     }
    295   },
    296   {
    297     VAL_SYMBOL,
    298     "walking_one",
    299     {
    300       {
    301         UTILS_HW_DIAG_MEM_TEST_ADDR_WALK_TYPE_WALKING_ONE,
    302           /*
    303            * Casting added here just to keep the compiler silent.
    304            */
    305         (long)"    Walking one: 0, 1, 10, 100... (bin).",
    306         (long)NULL
    307       }
    308     }
    309   },
    310 
    311 /*
    312  * Last element. Do not remove.
    313  */
    314   {
    315     VAL_END_OF_LIST
    316   }
    317 }
    318 #endif
    319 ;
    320 
    321 
    322 
    323 /********************************************************
    324  */
    325 EXTERN CONST
    326    PARAM_VAL
    327      Diag_revert_data_value_default
    328 #ifdef INIT
    329    =
    330 {
    331   VAL_NUMERIC,
    332   UTILS_HW_DIAG_MEM_TEST_REVERT_DATA_NO,
    333   {
    334     /*
    335      * Casting may be required here only to keep the compiler silent.
    336      */
    337     (unsigned long)UTILS_HW_DIAG_MEM_TEST_REVERT_DATA_NO
    338   }
    339 }
    340 #endif
    341 ;
    342 
    343 /********************************************************
    344  */
    345 EXTERN CONST
    346    PARAM_VAL_RULES
    347      Diag_empty_vals[]
    348 #ifdef INIT
    349    =
    350 {
    351 /*
    352  * Last element. Do not remove.
    353  */
    354   {
    355     VAL_END_OF_LIST
    356   }
    357 }
    358 #endif
    359 ;
    360 
    361 /********************************************************
    362  */
    363 EXTERN CONST
    364    PARAM_VAL_RULES
    365      Diag_free_vals[]
    366 #ifdef INIT
    367    =
    368 {
    369   {
    370     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    371     {
    372       {
    373         HAS_NO_MIN_VALUE | HAS_NO_MAX_VALUE,
    374         0,0,
    375           /*
    376            * Number of times this value can be repeated (i.e.,
    377            * value is an array). Must be at least 1!
    378            */
    379         1,
    380         (VAL_PROC_PTR)NULL
    381       }
    382     }
    383   },
    384 /*
    385  * Last element. Do not remove.
    386  */
    387   {
    388     VAL_END_OF_LIST
    389   }
    390 }
    391 #endif
    392 ;
    393 
    394 
    395 /********************************************************
    396  */
    397 EXTERN CONST
    398    PARAM
    399      Diag_params[]
    400 #ifdef INIT
    401    =
    402 /*
    403  ******
    404  * ENTRY -- 0
    405  *  BIT(0,1) - MEM
    406  *  BIT(0) - MEM read
    407  *  BIT(1) - MEM write
    408  *  BIT(2) - fpga download
    409  *  BIT(3,4,5) - flash
    410  ******
    411  * ENTRY -- 1
    412  *BIT() - .
    413  */
    414 {
    415   {
    416     PARAM_DIAG_HW_ID,
    417     "gen_hw",
    418     (PARAM_VAL_RULES *)&Diag_empty_vals[0],
    419     (sizeof(Diag_empty_vals) / sizeof(Diag_empty_vals[0])) - 1,
    420     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    421     0,0,0,0,0,0,0,
    422     "Generic HW tests\r\n",
    423     "",
    424     "",
    425     {BIT(0) | BIT(1)},
    426     1,
    427       /*
    428        * Pointer to a function to call after symbolic parameter
    429        * has been accepted.
    430        */
    431     (VAL_PROC_PTR)NULL
    432   },
    433   {
    434     PARAM_DIAG_HW_MEM_ID,
    435     "mem_test",
    436     (PARAM_VAL_RULES *)&Diag_empty_vals[0],
    437     (sizeof(Diag_empty_vals) / sizeof(Diag_empty_vals[0])) - 1,
    438     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    439     0,0,0,0,0,0,0,
    440     "Test memory space.",
    441     "Examples:\r\n"
    442     "  tevb mem read 0x10\r\n"
    443     "NOTE: Do not run memory test on in use memory\r\n",
    444     "",
    445     {BIT(0) | BIT(1)},
    446     2,
    447       /*
    448        * Pointer to a function to call after symbolic parameter
    449        * has been accepted.
    450        */
    451     (VAL_PROC_PTR)NULL
    452   },
    453   {
    454     PARAM_DIAG_HW_MEM_SET_SPACE_ID,
    455     "set_space",
    456     (PARAM_VAL_RULES *)&Diag_empty_vals[0],
    457     (sizeof(Diag_empty_vals) / sizeof(Diag_empty_vals[0])) - 1,
    458     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    459     0,0,0,0,0,0,0,
    460     "Set tested memory space (default is CPU space)",
    461     "",
    462     "",
    463     {BIT(0)},
    464     3,
    465       /*
    466        * Pointer to a function to call after symbolic parameter
    467        * has been accepted.
    468        */
    469     (VAL_PROC_PTR)NULL
    470   },
    471 
    472 #if LINK_FAP20V_LIBRARIES
    473 /*
    474  * {
    475  */
    476   {
    477     PARAM_DIAG_HW_MEM_SPACE_ZBT_ID,
    478     "zbt",
    479     (PARAM_VAL_RULES *)&Diag_free_vals[0],
    480     (sizeof(Diag_free_vals) / sizeof(Diag_free_vals[0])) - 1,
    481     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    482     0,0,0,0,0,0,0,
    483     "ZBT memory space",
    484     "\r\n",
    485     "",
    486     {BIT(0)},
    487     4,
    488       /*
    489        * Pointer to a function to call after symbolic parameter
    490        * has been accepted.
    491        */
    492     (VAL_PROC_PTR)NULL
    493   },
    494   {
    495     PARAM_DIAG_HW_MEM_SPACE_DRAM_ID,
    496     "dram",
    497     (PARAM_VAL_RULES *)&Diag_free_vals[0],
    498     (sizeof(Diag_free_vals) / sizeof(Diag_free_vals[0])) - 1,
    499     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    500     0,0,0,0,0,0,0,
    501     "DRAM memory space",
    502     "\r\n",
    503     "",
    504     {BIT(0)},
    505     4,
    506       /*
    507        * Pointer to a function to call after symbolic parameter
    508        * has been accepted.
    509        */
    510     (VAL_PROC_PTR)NULL
    511   },
    512 /*
    513  * } LINK_FAP20V_LIBRARIES
    514  */
    515 #endif
    516 
    517   {
    518     PARAM_DIAG_HW_MEM_SPACE_CPU_ID,
    519     "cpu",
    520     (PARAM_VAL_RULES *)&Diag_empty_vals[0],
    521     (sizeof(Diag_empty_vals) / sizeof(Diag_empty_vals[0])) - 1,
    522     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    523     0,0,0,0,0,0,0,
    524     "CPU memory space",
    525     "\r\n",
    526     "",
    527     {BIT(0)},
    528     4,
    529       /*
    530        * Pointer to a function to call after symbolic parameter
    531        * has been accepted.
    532        */
    533     (VAL_PROC_PTR)NULL
    534   },
    535   {
    536     PARAM_DIAG_HW_MEM_BASE_ADDR_ID,
    537     "base_addr",
    538     (PARAM_VAL_RULES *)&Diag_free_vals[0],
    539     (sizeof(Diag_free_vals) / sizeof(Diag_free_vals[0])) - 1,
    540     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    541     0,0,0,0,0,0,0,
    542     "Base address of tested memory",
    543     "\r\n",
    544     "",
    545     {BIT(1)},
    546     3,
    547       /*
    548        * Pointer to a function to call after symbolic parameter
    549        * has been accepted.
    550        */
    551     (VAL_PROC_PTR)NULL
    552   },
    553   {
    554     PARAM_DIAG_HW_MEM_SIZE_ID,
    555     "size",
    556     (PARAM_VAL_RULES *)&Diag_free_vals[0],
    557     (sizeof(Diag_free_vals) / sizeof(Diag_free_vals[0])) - 1,
    558     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    559     0,0,0,0,0,0,0,
    560     "Size of tested space in bytes",
    561     "\r\n",
    562     "",
    563     {BIT(1)},
    564     4,
    565       /*
    566        * Pointer to a function to call after symbolic parameter
    567        * has been accepted.
    568        */
    569     (VAL_PROC_PTR)NULL
    570   },
    571   {
    572     PARAM_DIAG_HW_MEM_REVERT_DATA_ID,
    573     "revert_data",
    574     (PARAM_VAL_RULES *)&Diag_revert_data_vals[0],
    575     (sizeof(Diag_revert_data_vals) / sizeof(Diag_revert_data_vals[0])) - 1,
    576     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
    577     0,0,0,0,0,0,0,
    578     "Revertion of data bits",
    579     "\r\n",
    580     "",
    581     {BIT(1)},
    582     LAST_ORDINAL,
    583       /*
    584        * Pointer to a function to call after symbolic parameter
    585        * has been accepted.
    586        */
    587     (VAL_PROC_PTR)NULL
    588   },
    589   {
    590     PARAM_DIAG_HW_MEM_REVERT_OFFSET_ID,
    591     "revert_offset",
    592     (PARAM_VAL_RULES *)&Diag_revert_addrs_vals[0],
    593     (sizeof(Diag_revert_addrs_vals) / sizeof(Diag_revert_addrs_vals[0])) - 1,
    594     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
    595     0,0,0,0,0,0,0,
    596     "Revertion of address offset bits",
    597     "\r\n",
    598     "",
    599     {BIT(1)},
    600     LAST_ORDINAL,
    601       /*
    602        * Pointer to a function to call after symbolic parameter
    603        * has been accepted.
    604        */
    605     (VAL_PROC_PTR)NULL
    606   },
    607   {
    608     PARAM_DIAG_HW_MEM_OFFSET_WALK_ID,
    609     "offset_walk",
    610     (PARAM_VAL_RULES *)&Diag_offset_walk_vals[0],
    611     (sizeof(Diag_offset_walk_vals) / sizeof(Diag_offset_walk_vals[0])) - 1,
    612     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
    613     0,0,0,0,0,0,0,
    614     "Offset walk method (relation between address offset and index in test)",
    615     "\r\n",
    616     "",
    617     {BIT(1)},
    618     LAST_ORDINAL,
    619       /*
    620        * Pointer to a function to call after symbolic parameter
    621        * has been accepted.
    622        */
    623     (VAL_PROC_PTR)NULL
    624   },
    625   {
    626     PARAM_DIAG_HW_MEM_DATA_WALK_ID,
    627     "data_walk",
    628     (PARAM_VAL_RULES *)&Diag_data_walk_vals[0],
    629     (sizeof(Diag_data_walk_vals) / sizeof(Diag_data_walk_vals[0])) - 1,
    630     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
    631     0,0,0,0,0,0,0,
    632     "Writen data method (relation between data and index in test)",
    633     "\r\n",
    634     "",
    635     {BIT(1)},
    636     LAST_ORDINAL,
    637       /*
    638        * Pointer to a function to call after symbolic parameter
    639        * has been accepted.
    640        */
    641     (VAL_PROC_PTR)NULL
    642   },
    643   {
    644     PARAM_DIAG_HW_MEM_ALIGNMENT_ID,
    645     "address_alignment",
    646     (PARAM_VAL_RULES *)&Diag_addrs_alignment_vals[0],
    647     (sizeof(Diag_addrs_alignment_vals) / sizeof(Diag_addrs_alignment_vals[0])) - 1,
    648     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
    649     0,0,0,0,0,0,0,
    650     "Address alignment - bytes or longs",
    651     "\r\n",
    652     "",
    653     {BIT(1)},
    654     LAST_ORDINAL,
    655       /*
    656        * Pointer to a function to call after symbolic parameter
    657        * has been accepted.
    658        */
    659     (VAL_PROC_PTR)NULL
    660   },
    661   {
    662     PARAM_DIAG_HW_MEM_PATTERN_ID,
    663     "pattern_value",
    664     (PARAM_VAL_RULES *)&Diag_free_vals[0],
    665     (sizeof(Diag_free_vals) / sizeof(Diag_free_vals[0])) - 1,
    666     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
    667     0,0,0,0,0,0,0,
    668     "Pattern to use when data type is set to PATTERN",
    669     "\r\n",
    670     "",
    671     {BIT(1)},
    672     LAST_ORDINAL,
    673       /*
    674        * Pointer to a function to call after symbolic parameter
    675        * has been accepted.
    676        */
    677     (VAL_PROC_PTR)NULL
    678   },
    679   {
    680     PARAM_DIAG_VERBOSE_ID,
    681     "verbose",
    682     (PARAM_VAL_RULES *)&Diag_empty_vals[0],
    683     (sizeof(Diag_empty_vals) / sizeof(Diag_empty_vals[0])) - 1,
    684     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
    685     0,0,0,0,0,0,0,
    686     "Do more printing.",
    687     "",
    688     "",
    689     {BIT(0) | BIT(1) | BIT(2) | BIT(3)},
    690     LAST_ORDINAL,
    691       /*
    692        * Pointer to a function to call after symbolic parameter
    693        * has been accepted.
    694        */
    695     (VAL_PROC_PTR)NULL
    696   },
    697 
    698 /*
    699  * Last element. Do not remove.
    700  */
    701   {
    702     PARAM_END_OF_LIST
    703   }
    704 }
    705 #endif
    706 ;
    707 
    708 /*
    709  * }
    710  */
    711 
    712 
    713 /* } */
    714 #endif
    715 
    716