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_dhrp.h (51063B)


      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_DHRP_INCLUDED
      7 /* { */
      8 #define UI_ROM_DEFI_DHRP_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 #include <appl/diag/dpp/utils_fap20v_calibrate.h>
     18 
     19 
     20 #include <ui_pure_defi_dhrp.h>
     21 
     22 
     23 /*
     24  * UI definition{
     25  */
     26 
     27 /********************************************************
     28  */
     29 EXTERN CONST
     30    PARAM_VAL_RULES
     31      Dhrp_iddr_data_vals[]
     32 #ifdef INIT
     33    =
     34 {
     35   {
     36     VAL_NUMERIC,SYMB_NAME_NUMERIC,
     37     {
     38       {
     39         0,
     40         0,0,
     41           /*
     42            * Number of times this value can be repeated (i.e.,
     43            * value is an array). Must be at least 1!
     44            */
     45         FAP20V_IDRAM_WORD_NOF_LONGS,
     46         (VAL_PROC_PTR)NULL
     47       }
     48     }
     49   },
     50 /*
     51  * Last element. Do not remove.
     52  */
     53   {
     54     VAL_END_OF_LIST
     55   }
     56 }
     57 #endif
     58 ;
     59 
     60 /********************************************************
     61 *NAME
     62 *  Dhrp_pkt_byte_size_defualt
     63 *TYPE: BUFFER
     64 *DATE: 25/MAR/2003
     65 *FUNCTION:
     66 *  Default number if no amplitude.
     67 *ORGANIZATION:
     68 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
     69 *    int val_type -
     70 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
     71 *      VAL_IP OR VAL_SYMBOL)
     72 *    union value -
     73 *      Union of one of
     74 *        int            int_value
     75 *        char           *string_value
     76 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
     77 *        unsigned long  ip_value ;
     78 *      Value of default variable.
     79 *USAGE:
     80 *  SEE ORGANIZATION.
     81 *REMARKS:
     82 *  NONE.
     83 *SEE ALSO:
     84  */
     85 EXTERN CONST
     86    PARAM_VAL
     87      Dhrp_pkt_byte_size_defualt
     88 #ifdef INIT
     89    =
     90 {
     91   VAL_NUMERIC,
     92   0,
     93   {
     94     /*
     95      * Casting may be required here only to keep the compiler silent.
     96      */
     97     (unsigned long)64
     98   }
     99 }
    100 #endif
    101 ;
    102 
    103 /********************************************************
    104 *NAME
    105 *  Dhrp_pad_data_vals
    106 *TYPE: BUFFER
    107 *DATE: 18/JAN/2002
    108 *FUNCTION:
    109 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    110 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    111 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    112 *ORGANIZATION:
    113 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    114 *    int val_type -
    115 *      Type of value. Can be:
    116 *        VAL_END_OF_LIST 0
    117 *        VAL_NUMERIC     1
    118 *        VAL_SYMBOL      2
    119 *        VAL_TEXT        3
    120 *        VAL_IP          4
    121 *      The first one is only to indicate the end of
    122 *      this array. The others indicate what kind of
    123 *      value this is.
    124 *    char *symb_val -
    125 *      ASCII presentation of the symbolic value.
    126 *      Note: Must be small letters only!
    127 *      For numeric variables:
    128 *      This is a dummy variable. Enables searching
    129 *      array of 'PARAM_VAL_RULES' for name (string)
    130 *      matching without special case for numeric
    131 *      variable.
    132 *    VAL_DESCRIPTOR val_descriptor -
    133 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    134 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    135 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    136 *      See details in file of definition. Note: Symbols
    137 *      must be small letters only!
    138 *USAGE:
    139 *  SEE ORGANIZATION.
    140 *REMARKS:
    141 *  NONE.
    142 *SEE ALSO:
    143  */
    144 EXTERN CONST
    145    PARAM_VAL_RULES
    146      Dhrp_pad_data_vals[]
    147 #ifdef INIT
    148    =
    149 {
    150   {
    151     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    152     {
    153       {
    154         HAS_MIN_VALUE | HAS_MAX_VALUE,
    155         0xFF,0,
    156           /*
    157            * Number of times this value can be repeated (i.e.,
    158            * value is an array). Must be at least 1!
    159            */
    160         FAP20V_CPU_TX_FRAG_BYTE_SIZE,
    161         (VAL_PROC_PTR)NULL
    162       }
    163     }
    164   },
    165 /*
    166  * Last element. Do not remove.
    167  */
    168   {
    169     VAL_END_OF_LIST
    170   }
    171 }
    172 #endif
    173 ;
    174 
    175 /********************************************************
    176 *NAME
    177 *  Dhrp_milisec_defualt
    178 *TYPE: BUFFER
    179 *DATE: 25/MAR/2003
    180 *FUNCTION:
    181 *  Default number if no amplitude.
    182 *ORGANIZATION:
    183 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    184 *    int val_type -
    185 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    186 *      VAL_IP OR VAL_SYMBOL)
    187 *    union value -
    188 *      Union of one of
    189 *        int            int_value
    190 *        char           *string_value
    191 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    192 *        unsigned long  ip_value ;
    193 *      Value of default variable.
    194 *USAGE:
    195 *  SEE ORGANIZATION.
    196 *REMARKS:
    197 *  NONE.
    198 *SEE ALSO:
    199  */
    200 EXTERN CONST
    201    PARAM_VAL
    202      Dhrp_milisec_defualt
    203 #ifdef INIT
    204    =
    205 {
    206   VAL_NUMERIC,
    207   0,
    208   {
    209     /*
    210      * Casting may be required here only to keep the compiler silent.
    211      */
    212     (unsigned long)5000
    213   }
    214 }
    215 #endif
    216 ;
    217 
    218 EXTERN CONST
    219    PARAM_VAL_RULES
    220      Dhrp_on_off_vals[]
    221 #ifdef INIT
    222    =
    223 {
    224   {
    225     VAL_SYMBOL,
    226     "on",
    227     {
    228       {
    229         1,
    230         (long)"    On. Enable. 1 value.",
    231         (long)NULL
    232       }
    233     }
    234   },
    235   {
    236     VAL_SYMBOL,
    237     "off",
    238     {
    239       {
    240         0,
    241           /*
    242            * Casting added here just to keep the compiler silent.
    243            */
    244         (long)"    Off. Disable. 0 value.",
    245         (long)NULL
    246       }
    247     }
    248   },
    249 /*
    250  * Last element. Do not remove.
    251  */
    252   {
    253     VAL_END_OF_LIST
    254   }
    255 }
    256 #endif
    257 ;
    258 
    259 
    260 /********************************************************
    261 *NAME
    262 *  Dhrp_nof_pkts_defualt
    263 *TYPE: BUFFER
    264 *DATE: 25/MAR/2003
    265 *FUNCTION:
    266 *  Default number if no amplitude.
    267 *ORGANIZATION:
    268 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    269 *    int val_type -
    270 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    271 *      VAL_IP OR VAL_SYMBOL)
    272 *    union value -
    273 *      Union of one of
    274 *        int            int_value
    275 *        char           *string_value
    276 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    277 *        unsigned long  ip_value ;
    278 *      Value of default variable.
    279 *USAGE:
    280 *  SEE ORGANIZATION.
    281 *REMARKS:
    282 *  NONE.
    283 *SEE ALSO:
    284  */
    285 EXTERN CONST
    286    PARAM_VAL
    287      Dhrp_nof_pkts_defualt
    288 #ifdef INIT
    289    =
    290 {
    291   VAL_NUMERIC,
    292   0,
    293   {
    294     /*
    295      * Casting may be required here only to keep the compiler silent.
    296      */
    297     (unsigned long)1
    298   }
    299 }
    300 #endif
    301 ;
    302 
    303 
    304 
    305 /********************************************************
    306 *NAME
    307 *  Dhrp_offset_correct_vals
    308 *TYPE: BUFFER
    309 *DATE: 18/JAN/2002
    310 *FUNCTION:
    311 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    312 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    313 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    314 *ORGANIZATION:
    315 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    316 *    int val_type -
    317 *      Type of value. Can be:
    318 *        VAL_END_OF_LIST 0
    319 *        VAL_NUMERIC     1
    320 *        VAL_SYMBOL      2
    321 *        VAL_TEXT        3
    322 *        VAL_IP          4
    323 *      The first one is only to indicate the end of
    324 *      this array. The others indicate what kind of
    325 *      value this is.
    326 *    char *symb_val -
    327 *      ASCII presentation of the symbolic value.
    328 *      Note: Must be small letters only!
    329 *      For numeric variables:
    330 *      This is a dummy variable. Enables searching
    331 *      array of 'PARAM_VAL_RULES' for name (string)
    332 *      matching without special case for numeric
    333 *      variable.
    334 *    VAL_DESCRIPTOR val_descriptor -
    335 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    336 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    337 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    338 *      See details in file of definition. Note: Symbols
    339 *      must be small letters only!
    340 *USAGE:
    341 *  SEE ORGANIZATION.
    342 *REMARKS:
    343 *  NONE.
    344 *SEE ALSO:
    345  */
    346 EXTERN CONST
    347    PARAM_VAL_RULES
    348      Dhrp_offset_correct_vals[]
    349 #ifdef INIT
    350    =
    351 {
    352   {
    353     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    354     {
    355       {
    356         HAS_MIN_VALUE | HAS_MAX_VALUE,
    357         200,0,
    358           /*
    359            * Number of times this value can be repeated (i.e.,
    360            * value is an array). Must be at least 1!
    361            */
    362         FAP20V_DRC_NOF_MODULES,
    363         (VAL_PROC_PTR)NULL
    364       }
    365     }
    366   },
    367 /*
    368  * Last element. Do not remove.
    369  */
    370   {
    371     VAL_END_OF_LIST
    372   }
    373 }
    374 #endif
    375 ;
    376 
    377 
    378 /********************************************************
    379 *NAME
    380 *  Dhrp_nof_ddr_vals
    381 *TYPE: BUFFER
    382 *DATE: 20/FEB/2002
    383 *FUNCTION:
    384 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    385 *  RELATED TO THE PARAMETER "DOWNLOAD_MIBS" IN THE
    386 *  CONTEXT OF SUBJECT 'NVRAM'.
    387 *ORGANIZATION:
    388 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    389 *    int val_type -
    390 *      Type of value. Can be:
    391 *        VAL_END_OF_LIST 0
    392 *        VAL_NUMERIC     1
    393 *        VAL_SYMBOL      2
    394 *        VAL_TEXT        3
    395 *        VAL_IP          4
    396 *      The first one is only to indicate the end of
    397 *      this array. The others indicate what kind of
    398 *      value this is.
    399 *    VAL_DESCRIPTOR val_descriptor -
    400 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    401 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    402 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    403 *      See details in file of definition. Note: Symbols
    404 *      must be small letters only!
    405 *USAGE:
    406 *  SEE ORGANIZATION.
    407 *REMARKS:
    408 *  NONE.
    409 *SEE ALSO:
    410  */
    411 EXTERN CONST
    412    PARAM_VAL_RULES
    413      Dhrp_nof_ddr_vals[]
    414 #ifdef INIT
    415    =
    416 {
    417   {
    418     VAL_SYMBOL,
    419     "two_ddrs",
    420     {
    421       {
    422         2,
    423           /*
    424            * Casting added here just to keep the compiler silent.
    425            */
    426         (long)"    2_ddrs.",
    427           /*
    428            * Pointer to a function to call after symbolic value
    429            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    430            * Casting to 'long' added here just to keep the
    431            * compiler silent.
    432            */
    433         (long)NULL
    434       }
    435     }
    436   },
    437   {
    438     VAL_SYMBOL,
    439     "four_ddrs",
    440     {
    441       {
    442         FAP20V_DRC_NOF_MODULES,
    443           /*
    444            * Casting added here just to keep the compiler silent.
    445            */
    446         (long)"    4_ddrs.",
    447           /*
    448            * Pointer to a function to call after symbolic value
    449            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    450            * Casting to 'long' added here just to keep the
    451            * compiler silent.
    452            */
    453         (long)NULL
    454       }
    455     }
    456   },
    457 /*
    458  * Last element. Do not remove.
    459  */
    460   {
    461     VAL_END_OF_LIST
    462   }
    463 }
    464 #endif
    465 ;
    466 /********************************************************
    467 *NAME
    468 *  Dhrp_nof_ddr_default
    469 *TYPE: BUFFER
    470 *DATE: 15/Jun/2004
    471 *FUNCTION:
    472 *  Default FALSE.
    473 *ORGANIZATION:
    474 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    475 *    int val_type -
    476 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    477 *      VAL_IP OR VAL_SYMBOL)
    478 *    union value -
    479 *      Union of one of
    480 *        int            int_value
    481 *        char           *string_value
    482 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    483 *        unsigned long  ip_value ;
    484 *      Value of default variable.
    485 *USAGE:
    486 *  SEE ORGANIZATION.
    487 *REMARKS:
    488 *  NONE.
    489 *SEE ALSO:
    490  */
    491 EXTERN CONST
    492    PARAM_VAL
    493      Dhrp_nof_ddr_default
    494 #ifdef INIT
    495    =
    496 {
    497   VAL_SYMBOL,
    498   FAP20V_DRC_NOF_MODULES,
    499   {
    500     /*
    501      * Casting may be required here only to keep the compiler silent.
    502      */
    503     (unsigned long)"    4_ddrs."
    504   }
    505 }
    506 #endif
    507 ;
    508 
    509 /********************************************************
    510 *NAME
    511 *  Dhrp_fap_id
    512 *TYPE: BUFFER
    513 *DATE: 25/MAR/2003
    514 *FUNCTION:
    515 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    516 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    517 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    518 *ORGANIZATION:
    519 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    520 *    int val_type -
    521 *      Type of value. Can be:
    522 *        VAL_END_OF_LIST 0
    523 *        VAL_NUMERIC     1
    524 *        VAL_SYMBOL      2
    525 *        VAL_TEXT        3
    526 *        VAL_IP          4
    527 *      The first one is only to indicate the end of
    528 *      this array. The others indicate what kind of
    529 *      value this is.
    530 *    char *symb_val -
    531 *      ASCII presentation of the symbolic value.
    532 *      Note: Must be small letters only!
    533 *      For numeric variables:
    534 *      This is a dummy variable. Enables searching
    535 *      array of 'PARAM_VAL_RULES' for name (string)
    536 *      matching without special case for numeric
    537 *      variable.
    538 *    VAL_DESCRIPTOR val_descriptor -
    539 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    540 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    541 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    542 *      See details in file of definition. Note: Symbols
    543 *      must be small letters only!
    544 *USAGE:
    545 *  SEE ORGANIZATION.
    546 *REMARKS:
    547 *  NONE.
    548 *SEE ALSO:
    549  */
    550 EXTERN CONST
    551    PARAM_VAL_RULES
    552      Dhrp_fap_id[]
    553 #ifdef INIT
    554    =
    555 {
    556   {
    557     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    558     {
    559       {
    560         HAS_MIN_VALUE | HAS_MAX_VALUE,
    561         FAP20V_NOF_FAPS_IN_SYSTEM-1,0,
    562           /*
    563            * Number of times this value can be repeated (i.e.,
    564            * value is an array). Must be at least 1!
    565            */
    566         1,
    567         (VAL_PROC_PTR)NULL
    568       }
    569     }
    570   },
    571 /*
    572  * Last element. Do not remove.
    573  */
    574   {
    575     VAL_END_OF_LIST
    576   }
    577 }
    578 #endif
    579 ;
    580 
    581 
    582 /********************************************************
    583 *NAME
    584 *  Dhrp_true_false_vals
    585 *TYPE: BUFFER
    586 *DATE: 20/FEB/2002
    587 *FUNCTION:
    588 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    589 *  RELATED TO THE PARAMETER "DOWNLOAD_MIBS" IN THE
    590 *  CONTEXT OF SUBJECT 'NVRAM'.
    591 *ORGANIZATION:
    592 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    593 *    int val_type -
    594 *      Type of value. Can be:
    595 *        VAL_END_OF_LIST 0
    596 *        VAL_NUMERIC     1
    597 *        VAL_SYMBOL      2
    598 *        VAL_TEXT        3
    599 *        VAL_IP          4
    600 *      The first one is only to indicate the end of
    601 *      this array. The others indicate what kind of
    602 *      value this is.
    603 *    VAL_DESCRIPTOR val_descriptor -
    604 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    605 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    606 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    607 *      See details in file of definition. Note: Symbols
    608 *      must be small letters only!
    609 *USAGE:
    610 *  SEE ORGANIZATION.
    611 *REMARKS:
    612 *  NONE.
    613 *SEE ALSO:
    614  */
    615 EXTERN CONST
    616    PARAM_VAL_RULES
    617      Dhrp_true_false_vals[]
    618 #ifdef INIT
    619    =
    620 {
    621   {
    622     VAL_SYMBOL,
    623     "true",
    624     {
    625       {
    626         1,
    627           /*
    628            * Casting added here just to keep the compiler silent.
    629            */
    630         (long)"    TRUE.",
    631           /*
    632            * Pointer to a function to call after symbolic value
    633            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    634            * Casting to 'long' added here just to keep the
    635            * compiler silent.
    636            */
    637         (long)NULL
    638       }
    639     }
    640   },
    641   {
    642     VAL_SYMBOL,
    643     "false",
    644     {
    645       {
    646         0,
    647           /*
    648            * Casting added here just to keep the compiler silent.
    649            */
    650         (long)"    FALSE.",
    651           /*
    652            * Pointer to a function to call after symbolic value
    653            * has been accepted. Casting should be 'VAL_PROC_PTR'.
    654            * Casting to 'long' added here just to keep the
    655            * compiler silent.
    656            */
    657         (long)NULL
    658       }
    659     }
    660   },
    661 /*
    662  * Last element. Do not remove.
    663  */
    664   {
    665     VAL_END_OF_LIST
    666   }
    667 }
    668 #endif
    669 ;
    670 /********************************************************
    671 *NAME
    672 *  Dhrp_false_default
    673 *TYPE: BUFFER
    674 *DATE: 15/Jun/2004
    675 *FUNCTION:
    676 *  Default FALSE.
    677 *ORGANIZATION:
    678 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    679 *    int val_type -
    680 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    681 *      VAL_IP OR VAL_SYMBOL)
    682 *    union value -
    683 *      Union of one of
    684 *        int            int_value
    685 *        char           *string_value
    686 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    687 *        unsigned long  ip_value ;
    688 *      Value of default variable.
    689 *USAGE:
    690 *  SEE ORGANIZATION.
    691 *REMARKS:
    692 *  NONE.
    693 *SEE ALSO:
    694  */
    695 EXTERN CONST
    696    PARAM_VAL
    697      Dhrp_false_default
    698 #ifdef INIT
    699    =
    700 {
    701   VAL_SYMBOL,
    702   FALSE,
    703   {
    704     /*
    705      * Casting may be required here only to keep the compiler silent.
    706      */
    707     (unsigned long)"    FALSE."
    708   }
    709 }
    710 #endif
    711 ;
    712 
    713 /********************************************************
    714 *NAME
    715 *  Dhrp_true_default
    716 *TYPE: BUFFER
    717 *DATE: 15/Jun/2004
    718 *FUNCTION:
    719 *  Default TRUE.
    720 *ORGANIZATION:
    721 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    722 *    int val_type -
    723 *      Type of variable (VAL_NUMERIC, VAL_TEXT,
    724 *      VAL_IP OR VAL_SYMBOL)
    725 *    union value -
    726 *      Union of one of
    727 *        int            int_value
    728 *        char           *string_value
    729 *        char           val_text[MAX_SIZE_OF_TEXT_VAR] ;
    730 *        unsigned long  ip_value ;
    731 *      Value of default variable.
    732 *USAGE:
    733 *  SEE ORGANIZATION.
    734 *REMARKS:
    735 *  NONE.
    736 *SEE ALSO:
    737  */
    738 EXTERN CONST
    739    PARAM_VAL
    740      Dhrp_true_default
    741 #ifdef INIT
    742    =
    743 {
    744   VAL_SYMBOL,
    745   TRUE,
    746   {
    747     /*
    748      * Casting may be required here only to keep the compiler silent.
    749      */
    750     (unsigned long)"    TRUE."
    751   }
    752 }
    753 #endif
    754 ;
    755 
    756 /********************************************************
    757  */
    758 EXTERN CONST
    759    PARAM_VAL_RULES
    760      Dhrp_empty_vals[]
    761 #ifdef INIT
    762    =
    763 {
    764 /*
    765  * Last element. Do not remove.
    766  */
    767   {
    768     VAL_END_OF_LIST
    769   }
    770 }
    771 #endif
    772 ;
    773 
    774 /********************************************************
    775  */
    776 EXTERN CONST
    777    PARAM_VAL_RULES
    778      Dhrp_free_vals[]
    779 #ifdef INIT
    780    =
    781 {
    782   {
    783     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    784     {
    785       {
    786         HAS_NO_MIN_VALUE | HAS_NO_MAX_VALUE,
    787         0,0,
    788           /*
    789            * Number of times this value can be repeated (i.e.,
    790            * value is an array). Must be at least 1!
    791            */
    792         1,
    793         (VAL_PROC_PTR)NULL
    794       }
    795     }
    796   },
    797 /*
    798  * Last element. Do not remove.
    799  */
    800   {
    801     VAL_END_OF_LIST
    802   }
    803 }
    804 #endif
    805 ;
    806 
    807 /********************************************************
    808 *NAME
    809 *  Fap20v_indefinite_num_vals
    810 *TYPE: BUFFER
    811 *DATE: 18/JAN/2002
    812 *FUNCTION:
    813 *  ARRAY CONTAINING THE INITIAL LIST OF VALUES
    814 *  RELATED TO AN INDEFINITE SINGLE NUMBER. FOR EXAMPLE,
    815 *  THE PARAMETER "PRINT_ERRNO" WITHIN 'VX_SHELL'.
    816 *ORGANIZATION:
    817 *  ARRAY OF STRUCTURES OF TYPE 'PARAM_VAL':
    818 *    int val_type -
    819 *      Type of value. Can be:
    820 *        VAL_END_OF_LIST 0
    821 *        VAL_NUMERIC     1
    822 *        VAL_SYMBOL      2
    823 *        VAL_TEXT        3
    824 *        VAL_IP          4
    825 *      The first one is only to indicate the end of
    826 *      this array. The others indicate what kind of
    827 *      value this is.
    828 *    char *symb_val -
    829 *      ASCII presentation of the symbolic value.
    830 *      Note: Must be small letters only!
    831 *      For numeric variables:
    832 *      This is a dummy variable. Enables searching
    833 *      array of 'PARAM_VAL_RULES' for name (string)
    834 *      matching without special case for numeric
    835 *      variable.
    836 *    VAL_DESCRIPTOR val_descriptor -
    837 *      Union of structures (of types VAL_NUM_DESCRIPTOR,
    838 *      VAL_TEXT_DESCRIPTOR, VAL_IP_DESCRIPTOR and
    839 *      VAL_SYMB_DESCRIPTOR). Descriptor of value.
    840 *      See details in file of definition. Note: Symbols
    841 *      must be small letters only!
    842 *USAGE:
    843 *  SEE ORGANIZATION.
    844 *REMARKS:
    845 *  NONE.
    846 *SEE ALSO:
    847  */
    848 EXTERN CONST
    849    PARAM_VAL_RULES
    850      Dhrp_indefinite_num_vals[]
    851 #ifdef INIT
    852    =
    853 {
    854   {
    855     VAL_NUMERIC,SYMB_NAME_NUMERIC,
    856     {
    857       {
    858         0,
    859         0,0,
    860           /*
    861            * Number of times this value can be repeated (i.e.,
    862            * value is an array). Must be at least 1!
    863            */
    864         1,
    865         (VAL_PROC_PTR)NULL
    866       }
    867     }
    868   },
    869 /*
    870  * Last element. Do not remove.
    871  */
    872   {
    873     VAL_END_OF_LIST
    874   }
    875 }
    876 #endif
    877 ;
    878 
    879 
    880 
    881 /********************************************************
    882  */
    883 EXTERN CONST
    884    PARAM
    885      Dhrp_params[]
    886 #ifdef INIT
    887    =
    888 /*
    889  ******
    890  * ENTRY -- 0
    891  ******
    892  * ENTRY -- 1
    893  *BIT() - .
    894  */
    895 {
    896   {
    897     PARAM_DHRP_BSP_ID,
    898     "bsp",
    899     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
    900     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
    901     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    902     0,0,0,0,0,0,0,
    903     "BSP related.",
    904     "Examples:\r\n"
    905     "  dhrp mem read 0x10\r\n",
    906     "",
    907     {BIT(0) | BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | BIT(6) | BIT(7) | BIT(8) | BIT(9) | BIT(10) | BIT(11) | BIT(12) | BIT(13)| BIT(14) | BIT(15) | BIT(16) | BIT(17) | BIT(18) | BIT(19) | BIT(20) | BIT(26) | BIT(31),
    908      BIT(9) | BIT(10)
    909     },
    910     1,
    911       /*
    912        * Pointer to a function to call after symbolic parameter
    913        * has been accepted.
    914        */
    915     (VAL_PROC_PTR)NULL
    916   },
    917   {
    918     PARAM_DHRP_MILISEC_ID,
    919     "delay_in_milisec",
    920     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
    921     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
    922     HAS_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)&Dhrp_milisec_defualt,
    923     0,0,0,0,0,0,0,
    924     "How much milisec we send traffic, before check for errors.\r\n",
    925     "Examples:\r\n"
    926     "  dhrp fap20v_1 search_dram_delay_line delay_in_milisec 5000 start_taps 10 2 0 0 0\r\n"
    927     "Delay for 5 seconds, before check for errors.",
    928     "",
    929     {BIT(8) | BIT(9) | BIT(14) | BIT(15) | BIT(16) | BIT(17) | BIT(18)},
    930     LAST_ORDINAL,
    931       /*
    932        * Pointer to a function to call after symbolic parameter
    933        * has been accepted.
    934        */
    935     (VAL_PROC_PTR)NULL
    936   },
    937   {
    938     PARAM_DHRP_ZBT_TEST_RW_ID,
    939     "zbt_test_rw",
    940     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
    941     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
    942     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    943     0,0,0,0,0,0,0,
    944     "Read/write ZBT test SOC_SAND_FAP20V.",
    945     "Examples:\r\n"
    946     "  dhrp fap20v_1 zbt_test_rw\r\n"
    947     "Read/write ZBT test.\n\r"
    948     "  Test function of the SOC_SAND_FAP20V ZBT.\n\r"
    949     "  1. Write data to some ZBT offsets.\n\r"
    950     "  2. Read the data, and compare it.\n\r",
    951     "",
    952     {BIT(6)},
    953     2,
    954       /*
    955        * Pointer to a function to call after symbolic parameter
    956        * has been accepted.
    957        */
    958     (VAL_PROC_PTR)NULL
    959   },
    960   {
    961     PARAM_DHRP_INQ_TEST_RW_ID,
    962     "inq_test_rw",
    963     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
    964     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
    965     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    966     0,0,0,0,0,0,0,
    967     "Read/write INQ test SOC_SAND_FAP20V.",
    968     "Examples:\r\n"
    969     "  dhrp fap20v_1 inq_test_rw\r\n"
    970     "Read/write INQ test.\n\r"
    971     "  Test function of the SOC_SAND_FAP20V INQ.\n\r"
    972     "  1. Write data to some INQ offsets.\n\r"
    973     "  2. Read the data, and compare it.\n\r",
    974     "",
    975     {BIT(6)},
    976     2,
    977       /*
    978        * Pointer to a function to call after symbolic parameter
    979        * has been accepted.
    980        */
    981     (VAL_PROC_PTR)NULL
    982   },
    983   {
    984     PARAM_DHRP_CPU_TEST_RW_ID,
    985     "cpu_test_rw",
    986     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
    987     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
    988     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
    989     0,0,0,0,0,0,0,
    990     "Read/write CPU test SOC_SAND_FAP20V.",
    991     "Examples:\r\n"
    992     "  dhrp fap20v_1 cpu_test_rw\r\n"
    993     "Test function of the SOC_SAND_FAP20V CPU interface.\n\r"
    994     "1. Read version register, and compare to the expected value.\n\r"
    995     "2. Write/Read/Compare values at spare register.\n\r",
    996     "",
    997     {BIT(7)},
    998     2,
    999       /*
   1000        * Pointer to a function to call after symbolic parameter
   1001        * has been accepted.
   1002        */
   1003     (VAL_PROC_PTR)NULL
   1004   },
   1005   {
   1006     PARAM_DHRP_IDDR_TEST_RW_ID,
   1007     "iddr_test_rw",
   1008     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1009     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1010     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1011     0,0,0,0,0,0,0,
   1012     "Read/write IDDR test SOC_SAND_FAP20V.",
   1013     "Examples:\r\n"
   1014     "  dhrp fap20v_1 iddr_test_rw offset 0x1 data_to_test 0x0 0xEDA1 nof_iteration 10000\r\n"
   1015     "Read/write IDDR test.\n\r"
   1016     "  Write to the Ingress DRAM at offset1, 256 bits.\n\r"
   1017     "  First long is 0x0.\n\r"
   1018     "  Second long is 0xEDA1.\n\r"
   1019     "  Rest will be paded with 0xAA55AA55.\n\r"
   1020     "  Every iteration the data is inverted.\n\r"
   1021     "  Will write the value, than read it, than compare.\n\r"
   1022     "  If compare succeed - continue to teh next write/read.\n\r"
   1023     "  If compare fail - stops and reports",
   1024     "",
   1025     {BIT(3)},
   1026     2,
   1027       /*
   1028        * Pointer to a function to call after symbolic parameter
   1029        * has been accepted.
   1030        */
   1031     (VAL_PROC_PTR)NULL
   1032   },
   1033   {
   1034     PARAM_DHRP_IDDR_OFFSET_ID,
   1035     "offset",
   1036     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1037     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1038     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1039     0,0,0,0,0,0,0,
   1040     "Offset in the IDDR.",
   1041     "Examples:\r\n"
   1042     "  dhrp fap20v_1 iddr_test_rw offset 0x1 data_to_test 0x0 0xEDA1 nof_iteration 10000\r\n"
   1043     "Read/write IDDR test.\n\r"
   1044     "  Write to the Ingress DRAM at offset1, 256 bits.\n\r"
   1045     "  First long is 0x0.\n\r"
   1046     "  Second long is 0xEDA1.\n\r"
   1047     "  Rest will be paded with 0xAA55AA55.\n\r"
   1048     "  Every iteration the data is inverted.\n\r"
   1049     "  Will write the value, than read it, than compare.\n\r"
   1050     "  If compare succeed - continue to teh next write/read.\n\r"
   1051     "  If compare fail - stops and reports",
   1052     "",
   1053     {BIT(3)},
   1054     LAST_ORDINAL,
   1055       /*
   1056        * Pointer to a function to call after symbolic parameter
   1057        * has been accepted.
   1058        */
   1059     (VAL_PROC_PTR)NULL
   1060   },
   1061   {
   1062     PARAM_DHRP_NOF_ITERATION_ID,
   1063     "nof_iteration",
   1064     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1065     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1066     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1067     0,0,0,0,0,0,0,
   1068     "Number of read/writes per test.",
   1069     "Examples:\r\n"
   1070     "  dhrp fap20v_1 iddr_test_rw offset 0x1 data_to_test 0x0 0xEDA1 nof_iteration 10000\r\n"
   1071     "Read/write IDDR test.\n\r"
   1072     "  Write to the Ingress DRAM at offset1, 256 bits.\n\r"
   1073     "  First long is 0x0.\n\r"
   1074     "  Second long is 0xEDA1.\n\r"
   1075     "  Rest will be paded with 0xAA55AA55.\n\r"
   1076     "  Every iteration the data is inverted.\n\r"
   1077     "  Will write the value, than read it, than compare.\n\r"
   1078     "  If compare succeed - continue to teh next write/read.\n\r"
   1079     "  If compare fail - stops and reports",
   1080     "",
   1081     {BIT(3)},
   1082     LAST_ORDINAL,
   1083       /*
   1084        * Pointer to a function to call after symbolic parameter
   1085        * has been accepted.
   1086        */
   1087     (VAL_PROC_PTR)NULL
   1088   },
   1089   {
   1090     PARAM_DHRP_PAD_DATA_ID,
   1091     "data_to_test",
   1092     (PARAM_VAL_RULES *)&Dhrp_iddr_data_vals[0],
   1093     (sizeof(Dhrp_iddr_data_vals) / sizeof(Dhrp_iddr_data_vals[0])) - 1,
   1094     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1095     0,0,0,0,0,0,0,
   1096     "Data to read/write.",
   1097     "Examples:\r\n"
   1098     "  dhrp fap20v_1 iddr_test_rw offset 0x1 data_to_test 0x0 0xEDA1 nof_iteration 10000\r\n"
   1099     "Read/write IDDR test.\n\r"
   1100     "  Write to the Ingress DRAM at offset1, 256 bits.\n\r"
   1101     "  First long is 0x0.\n\r"
   1102     "  Second long is 0xEDA1.\n\r"
   1103     "  Rest will be paded with 0xAA55AA55.\n\r"
   1104     "  Every iteration the data is inverted.\n\r"
   1105     "  Will write the value, than read it, than compare.\n\r"
   1106     "  If compare succeed - continue to teh next write/read.\n\r"
   1107     "  If compare fail - stops and reports",
   1108     "",
   1109     {BIT(3)},
   1110     LAST_ORDINAL,
   1111       /*
   1112        * Pointer to a function to call after symbolic parameter
   1113        * has been accepted.
   1114        */
   1115     (VAL_PROC_PTR)NULL
   1116   },
   1117 
   1118 /* { utils_fap20v_calibrate.c */
   1119 
   1120   {
   1121     PARAM_DHRP_CALIBRATE_LOAD_ID,
   1122     "load_params",
   1123     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1124     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1125     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1126     0,0,0,0,0,0,0,
   1127     "Load calibration parameters to the device.",
   1128     "Examples:\r\n"
   1129     "  dhrp bsp load_params end_win 41 37 43 42\r\n"
   1130     "Load calibration parameters to the device.\n\r",
   1131     "",
   1132     {BIT(20)},
   1133     2,
   1134       /*
   1135        * Pointer to a function to call after symbolic parameter
   1136        * has been accepted.
   1137        */
   1138     (VAL_PROC_PTR)NULL
   1139   },
   1140   {
   1141     PARAM_DHRP_END_WIN_ID,
   1142     "end_win",
   1143     (PARAM_VAL_RULES *)&Dhrp_offset_correct_vals[0],
   1144     (sizeof(Dhrp_offset_correct_vals) / sizeof(Dhrp_offset_correct_vals[0])) - 1,
   1145     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   1146     0,0,0,0,0,0,0,
   1147     "End window per DRAM calibrate.",
   1148     "Examples:\r\n"
   1149     "  dhrp bsp load_params end_win 41 37 43 42 avrg 9 7 9 8\r\n"
   1150     "End window 41 37 43 42.",
   1151     "",
   1152     {BIT(20)},
   1153     LAST_ORDINAL,
   1154       /*
   1155        * Pointer to a function to call after symbolic parameter
   1156        * has been accepted.
   1157        */
   1158     (VAL_PROC_PTR)NULL
   1159   },
   1160   {
   1161     PARAM_DHRP_AVRG_ID,
   1162     "avrg",
   1163     (PARAM_VAL_RULES *)&Dhrp_offset_correct_vals[0],
   1164     (sizeof(Dhrp_offset_correct_vals) / sizeof(Dhrp_offset_correct_vals[0])) - 1,
   1165     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   1166     0,0,0,0,0,0,0,
   1167     "End window per DRAM calibrate.",
   1168     "Examples:\r\n"
   1169     "  dhrp bsp load_params end_win 41 37 43 42 avrg 9 7 9 8 sample_delay_reg 0x294A5294\r\n"
   1170     "avrg 9 7 9 8.",
   1171     "",
   1172     {BIT(20)},
   1173     LAST_ORDINAL,
   1174       /*
   1175        * Pointer to a function to call after symbolic parameter
   1176        * has been accepted.
   1177        */
   1178     (VAL_PROC_PTR)NULL
   1179   },
   1180   {
   1181     PARAM_DHRP_SAMPLE_DELAY_REG_ID,
   1182     "sample_delay_reg",
   1183     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1184     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1185     HAS_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)&Dhrp_nof_ddr_default,
   1186     0,0,0,0,0,0,0,
   1187     "Sample delay register.",
   1188     "Examples:\r\n"
   1189     "  dhrp bsp load_params end_win 41 37 43 42 avrg 9 7 9 8 sample_delay_reg 0x294A5294\r\n"
   1190     "sample_delay_reg 0x294A5294.",
   1191     "",
   1192     {BIT(20)},
   1193     LAST_ORDINAL,
   1194       /*
   1195        * Pointer to a function to call after symbolic parameter
   1196        * has been accepted.
   1197        */
   1198     (VAL_PROC_PTR)NULL
   1199   },
   1200   {
   1201     PARAM_DHRP_SCAN_DRAM_DELAY_AUTO_ID,
   1202     "scan_dram_delay_line_auto",
   1203     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1204     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1205     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1206     0,0,0,0,0,0,0,
   1207     "Scan for DRAM delay lines - Automatic function.",
   1208     "Examples:\r\n"
   1209     "  dhrp bsp scan_dram_delay_line_auto delay_in_milisec 5000 fix_factor 4\r\n"
   1210     "Scan for DRAM delay lines.\n\r",
   1211     "",
   1212     {BIT(15)},
   1213     2,
   1214       /*
   1215        * Pointer to a function to call after symbolic parameter
   1216        * has been accepted.
   1217        */
   1218     (VAL_PROC_PTR)NULL
   1219   },
   1220   {
   1221     PARAM_DHRP_CALIBRATE_DDR_FULL_ID,
   1222     "calibrate_ddr_full",
   1223     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1224     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1225     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1226     0,0,0,0,0,0,0,
   1227     "Full Clibrate DDR.",
   1228     "Examples:\r\n"
   1229     "  dhrp bsp calibrate_ddr_full\r\n"
   1230     "Scan for DRAM delay lines.\n\r",
   1231     "",
   1232     {BIT(19)},
   1233     2,
   1234       /*
   1235        * Pointer to a function to call after symbolic parameter
   1236        * has been accepted.
   1237        */
   1238     (VAL_PROC_PTR)NULL
   1239   },
   1240   {
   1241     PARAM_DHRP_NOF_DDR_ID,
   1242     "nof_ddr",
   1243     (PARAM_VAL_RULES *)&Dhrp_nof_ddr_vals[0],
   1244     (sizeof(Dhrp_nof_ddr_vals) / sizeof(Dhrp_nof_ddr_vals[0])) - 1,
   1245     HAS_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)&Dhrp_nof_ddr_default,
   1246     0,0,0,0,0,0,0,
   1247     "Number of DRAM in the system to calibrate.",
   1248     "Examples:\r\n"
   1249     "  dhrp bsp calibrate_ddr_full nof_ddr 4_ddr\r\n"
   1250     "Calibrating 4 ddrs (default).",
   1251     "",
   1252     {BIT(19) | BIT(20)},
   1253     LAST_ORDINAL,
   1254       /*
   1255        * Pointer to a function to call after symbolic parameter
   1256        * has been accepted.
   1257        */
   1258     (VAL_PROC_PTR)NULL
   1259   },
   1260   {
   1261     PARAM_DHRP_OFFSET_CORRECT_ID,
   1262     "offset_correct",
   1263     (PARAM_VAL_RULES *)&Dhrp_offset_correct_vals[0],
   1264     (sizeof(Dhrp_offset_correct_vals) / sizeof(Dhrp_offset_correct_vals[0])) - 1,
   1265     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   1266     0,0,0,0,0,0,0,
   1267     "Offset correction per DRAM calibrate.",
   1268     "Examples:\r\n"
   1269     "  dhrp bsp calibrate_ddr_full nof_ddr 4_ddr offset_correct 1 3 1 3\r\n"
   1270     "Calibrating with offset correction 1 3 1 3.",
   1271     "",
   1272     {BIT(19)},
   1273     LAST_ORDINAL,
   1274       /*
   1275        * Pointer to a function to call after symbolic parameter
   1276        * has been accepted.
   1277        */
   1278     (VAL_PROC_PTR)NULL
   1279   },
   1280   {
   1281     PARAM_DHRP_DO_EXHAUSTIVE_SEARCH_ID,
   1282     "do_exhaustive_search",
   1283     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1284     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1285     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   1286     0,0,0,0,0,0,0,
   1287     "Do exhaustive search DRAM calibrate.",
   1288     "Examples:\r\n"
   1289     "  dhrp bsp calibrate_ddr_full nof_ddr 4_ddr offset_correct 1 3 1 3 do_exhaustive_search\r\n"
   1290     "Calibration with exhaustive search.",
   1291     "",
   1292     {BIT(19)},
   1293     LAST_ORDINAL,
   1294       /*
   1295        * Pointer to a function to call after symbolic parameter
   1296        * has been accepted.
   1297        */
   1298     (VAL_PROC_PTR)NULL
   1299   },
   1300   {
   1301     PARAM_DHRP_CALIBRATE_DDR_ID,
   1302     "calibrate_ddr",
   1303     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1304     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1305     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1306     0,0,0,0,0,0,0,
   1307     "Clibrate DDR.",
   1308     "Examples:\r\n"
   1309     "  dhrp bsp calibrate_ddr delay_in_milisec 5000 max_nof_send_pkts\r\n"
   1310     "Scan for DRAM delay lines.\n\r",
   1311     "",
   1312     {BIT(18)},
   1313     2,
   1314       /*
   1315        * Pointer to a function to call after symbolic parameter
   1316        * has been accepted.
   1317        */
   1318     (VAL_PROC_PTR)NULL
   1319   },
   1320   {
   1321     PARAM_DHRP_SCAN_DRAM_DELAY_AUTO_B_ID,
   1322     "scan_dram_delay_line_auto_b",
   1323     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1324     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1325     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1326     0,0,0,0,0,0,0,
   1327     "Scan for DRAM delay lines - TYPE B -Automatic function.",
   1328     "Examples:\r\n"
   1329     "  dhrp bsp scan_dram_delay_line_auto_b delay_in_milisec 5000 fix_factor 4 sample_num 2 sample_add 1\r\n"
   1330     "Scan for DRAM delay lines.\n\r",
   1331     "",
   1332     {BIT(16)},
   1333     2,
   1334       /*
   1335        * Pointer to a function to call after symbolic parameter
   1336        * has been accepted.
   1337        */
   1338     (VAL_PROC_PTR)NULL
   1339   },
   1340   {
   1341     PARAM_DHRP_SAMPLE_NUM_ID,
   1342     "sample_num",
   1343     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1344     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1345     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1346     0,0,0,0,0,0,0,
   1347     "Sample number to take (out of 5).\r\n",
   1348     "Examples:\r\n"
   1349     "  dhrp bsp scan_dram_delay_line_auto delay_in_milisec 5000 fix_factor 4 sample_num 2 sample_add 1\r\n"
   1350     "Fix factor here is 4.",
   1351     "",
   1352     {BIT(16)},
   1353     LAST_ORDINAL,
   1354       /*
   1355        * Pointer to a function to call after symbolic parameter
   1356        * has been accepted.
   1357        */
   1358     (VAL_PROC_PTR)NULL
   1359   },
   1360   {
   1361     PARAM_DHRP_PACKET_SCHEME_ID,
   1362     "packet_scheme",
   1363     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1364     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1365     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1366     0,0,0,0,0,0,0,
   1367     "Packet scheme to use.\n\r"
   1368     "0- SSO pattern. 1- Relaxed pattern (SSO and ZERO). 2- Zero pattern\r\n",
   1369     "Examples:\r\n"
   1370     "  dhrp bsp scan_dram_delay_line_auto_b delay_in_milisec 5000 fix_factor 4 smaple_num 2 sample_add 1 packet_scheme0\r\n"
   1371     "Fix factor here is 4.",
   1372     "",
   1373     {BIT(16)},
   1374     LAST_ORDINAL,
   1375       /*
   1376        * Pointer to a function to call after symbolic parameter
   1377        * has been accepted.
   1378        */
   1379     (VAL_PROC_PTR)NULL
   1380   },
   1381   {
   1382     PARAM_DHRP_NOF_PKTS_ID,
   1383     "nof_pkts",
   1384     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1385     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1386     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)&Dhrp_nof_pkts_defualt,
   1387     0,0,0,0,0,0,0,
   1388     "Number of pakcets to send. Number will tranced to 32.",
   1389     "Examples:\r\n"
   1390     "  dhrp bsp scan_dram_delay_line_auto_b delay_in_milisec 5000 fix_factor 4 smaple_num 2 sample_add 1 packet_scheme 0 nof_pkts 32\r\n"
   1391     "Maximum number of packet to send is 32, bigger number will be tranced to 32.",
   1392     "",
   1393     {BIT(16) | BIT(18)},
   1394     LAST_ORDINAL,
   1395       /*
   1396        * Pointer to a function to call after symbolic parameter
   1397        * has been accepted.
   1398        */
   1399     (VAL_PROC_PTR)NULL
   1400   },
   1401   {
   1402     PARAM_DHRP_SAMPLE_ADD_ID,
   1403     "sample_add",
   1404     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1405     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1406     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1407     0,0,0,0,0,0,0,
   1408     "Number to add to the sample value we take.\r\n",
   1409     "Examples:\r\n"
   1410     "  dhrp bsp scan_dram_delay_line_auto_b delay_in_milisec 5000 fix_factor 4 smaple_num 2 sample_add 1\r\n"
   1411     "Fix factor here is 4.",
   1412     "",
   1413     {BIT(16)},
   1414     LAST_ORDINAL,
   1415       /*
   1416        * Pointer to a function to call after symbolic parameter
   1417        * has been accepted.
   1418        */
   1419     (VAL_PROC_PTR)NULL
   1420   },
   1421   {
   1422     PARAM_DHRP_FIX_FACTOR_ID,
   1423     "fix_factor",
   1424     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1425     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1426     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1427     0,0,0,0,0,0,0,
   1428     "Fix factor, for average calculations.\r\n",
   1429     "Examples:\r\n"
   1430     "  dhrp bsp scan_dram_delay_line_auto delay_in_milisec 5000 fix_factor 4\r\n"
   1431     "Fix factor here is 4.",
   1432     "",
   1433     {BIT(15) | BIT(16)},
   1434     LAST_ORDINAL,
   1435       /*
   1436        * Pointer to a function to call after symbolic parameter
   1437        * has been accepted.
   1438        */
   1439     (VAL_PROC_PTR)NULL
   1440   },
   1441   {
   1442     PARAM_DHRP_SCAN_DRAM_DELAY_LINE_ID,
   1443     "scan_dram_delay_line",
   1444     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1445     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1446     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1447     0,0,0,0,0,0,0,
   1448     "Scan for DRAM delay lines.",
   1449     "Examples:\r\n"
   1450     "  dhrp bsp scan_dram_delay_line delay_in_milisec 5000 start_ddr 0 end_ddr 3 start_scan 20 end_scan 50\r\n"
   1451     "Scan for DRAM delay lines.\n\r",
   1452     "",
   1453     {BIT(14)},
   1454     2,
   1455       /*
   1456        * Pointer to a function to call after symbolic parameter
   1457        * has been accepted.
   1458        */
   1459     (VAL_PROC_PTR)NULL
   1460   },
   1461   {
   1462     PARAM_DHRP_START_DDR_ID,
   1463     "start_ddr",
   1464     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1465     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1466     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1467     0,0,0,0,0,0,0,
   1468     "The DDR to start with.\r\n",
   1469     "Examples:\r\n"
   1470     "  dhrp bsp scan_dram_delay_line delay_in_milisec 5000 start_ddr 0 end_ddr 3 start_scan 20 end_scan 50\r\n"
   1471     "The DRAM to use are 0 to 3 (ALL).",
   1472     "",
   1473     {BIT(9) | BIT(14) | BIT(16)},
   1474     LAST_ORDINAL,
   1475       /*
   1476        * Pointer to a function to call after symbolic parameter
   1477        * has been accepted.
   1478        */
   1479     (VAL_PROC_PTR)NULL
   1480   },
   1481   {
   1482     PARAM_DHRP_END_DDR_ID,
   1483     "end_ddr",
   1484     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1485     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1486     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1487     0,0,0,0,0,0,0,
   1488     "The DDR to end with.\r\n",
   1489     "Examples:\r\n"
   1490     "  dhrp bsp scan_dram_delay_line delay_in_milisec 5000 start_ddr 0 end_ddr 3 start_scan 20 end_scan 50\r\n"
   1491     "The DRAM to use are 0 to 3 (ALL).",
   1492     "",
   1493     {BIT(9) | BIT(14) | BIT(16)},
   1494     LAST_ORDINAL,
   1495       /*
   1496        * Pointer to a function to call after symbolic parameter
   1497        * has been accepted.
   1498        */
   1499     (VAL_PROC_PTR)NULL
   1500   },
   1501   {
   1502     PARAM_DHRP_START_SCAN_ID,
   1503     "start_scan",
   1504     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1505     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1506     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1507     0,0,0,0,0,0,0,
   1508     "The SCAN value to start with.\r\n",
   1509     "Examples:\r\n"
   1510     "  dhrp bsp scan_dram_delay_line delay_in_milisec 5000 start_ddr 0 end_ddr 3 start_scan 20 end_scan 50\r\n"
   1511     "The scan values are from 20 to 50.",
   1512     "",
   1513     {BIT(14)},
   1514     LAST_ORDINAL,
   1515       /*
   1516        * Pointer to a function to call after symbolic parameter
   1517        * has been accepted.
   1518        */
   1519     (VAL_PROC_PTR)NULL
   1520   },
   1521   {
   1522     PARAM_DHRP_END_SCAN_ID,
   1523     "end_scan",
   1524     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1525     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1526     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1527     0,0,0,0,0,0,0,
   1528     "The SCAN value to end with.\r\n",
   1529     "Examples:\r\n"
   1530     "  dhrp bsp scan_dram_delay_line delay_in_milisec 5000 start_ddr 0 end_ddr 3 start_scan 20 end_scan 50\r\n"
   1531     "The scan values are from 20 to 50.",
   1532     "",
   1533     {BIT(14)},
   1534     LAST_ORDINAL,
   1535       /*
   1536        * Pointer to a function to call after symbolic parameter
   1537        * has been accepted.
   1538        */
   1539     (VAL_PROC_PTR)NULL
   1540   },
   1541   {
   1542     PARAM_DHRP_LBG_ID,
   1543     "lbg",
   1544     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1545     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1546     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1547     0,0,0,0,0,0,0,
   1548     "LBG - Local Bandwidth Generation (using recycling and local route).",
   1549     "Examples:\r\n"
   1550     "  dhrp fap20v_1 lbg start_conf\r\n"
   1551     "Results in configuring the SOC_SAND_FAP20V to LBG mode.",
   1552     "",
   1553     {BIT(10) | BIT(11) | BIT(12) | BIT(13)},
   1554     2,
   1555       /*
   1556        * Pointer to a function to call after symbolic parameter
   1557        * has been accepted.
   1558        */
   1559     (VAL_PROC_PTR)NULL
   1560   },
   1561   {
   1562     PARAM_DHRP_VERBOSE_ID,
   1563     "verbose",
   1564     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1565     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1566     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   1567     0,0,0,0,0,0,0,
   1568     "Do more printing.",
   1569     "Examples:\r\n"
   1570     "  dhrp fap20v_1 lbg start_conf verbose\r\n"
   1571     "Results in configuring the SOC_SAND_FAP20V to LBG mode -- DO MORE PRINTS",
   1572     "",
   1573     {BIT(10) | BIT(11) | BIT(12) | BIT(13) | BIT(14) | BIT(15) | BIT(16) | BIT(18) | BIT(19)},
   1574     LAST_ORDINAL,
   1575       /*
   1576        * Pointer to a function to call after symbolic parameter
   1577        * has been accepted.
   1578        */
   1579     (VAL_PROC_PTR)NULL
   1580   },
   1581   {
   1582     PARAM_DHRP_LBG_START_CONF_ID,
   1583     "start_conf",
   1584     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1585     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1586     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1587     0,0,0,0,0,0,0,
   1588     "Configue the FAP to LBG mode (using recycling and local route).",
   1589     "Examples:\r\n"
   1590     "  dhrp fap20v_1 lbg start_conf\r\n"
   1591     "Results in configuring the SOC_SAND_FAP20V to LBG mode.",
   1592     "",
   1593     {BIT(10)},
   1594     3,
   1595       /*
   1596        * Pointer to a function to call after symbolic parameter
   1597        * has been accepted.
   1598        */
   1599     (VAL_PROC_PTR)NULL
   1600   },
   1601   {
   1602     PARAM_DHRP_LBG_SEND_PKT_ID,
   1603     "send_pkt",
   1604     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1605     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1606     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1607     0,0,0,0,0,0,0,
   1608     "Send packet in LBG mode (using recycling and local route).",
   1609     "Examples:\r\n"
   1610     "  dhrp fap20v_1 lbg send_pkt\r\n"
   1611     "Results in sending packet in LBG mode.",
   1612     "",
   1613     {BIT(11)},
   1614     3,
   1615       /*
   1616        * Pointer to a function to call after symbolic parameter
   1617        * has been accepted.
   1618        */
   1619     (VAL_PROC_PTR)NULL
   1620   },
   1621   {
   1622     PARAM_DHRP_PAD_DATA_ID,
   1623     "pad_data",
   1624     (PARAM_VAL_RULES *)&Dhrp_pad_data_vals[0],
   1625     (sizeof(Dhrp_pad_data_vals) / sizeof(Dhrp_pad_data_vals[0])) - 1,
   1626     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)NULL,
   1627     0,0,0,0,0,0,0,
   1628     "Up to 32 bytes of data may be inserted. The rest of the data is used with default values.",
   1629     "Examples:\r\n"
   1630     "  dhrp fap20v_1 lbg send_pkt nof_pkts 1000 pad_data 0xFF 0xCC 0x12\r\n"
   1631     "Send 1000 packets. The data get sent is:\n\r"
   1632     "  0xFFCC12FF 0x00000000 0xFFFFFFFF 0x00000000 0xFFFFFFFF 0x00000000 0xFFFFFFFF 0x00000000",
   1633     "",
   1634     {BIT(11)},
   1635     LAST_ORDINAL,
   1636       /*
   1637        * Pointer to a function to call after symbolic parameter
   1638        * has been accepted.
   1639        */
   1640     (VAL_PROC_PTR)NULL
   1641   },
   1642   {
   1643     PARAM_DHRP_NOF_PKTS_ID,
   1644     "nof_pkts",
   1645     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1646     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1647     HAS_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)&Dhrp_nof_pkts_defualt,
   1648     0,0,0,0,0,0,0,
   1649     "Number of pakcets to send.",
   1650     "Examples:\r\n"
   1651     "  dhrp fap20v_1 lbg send_pkt nof_pkts 1000\r\n"
   1652     "Send 1000 packets.",
   1653     "",
   1654     {BIT(11)},
   1655     LAST_ORDINAL,
   1656       /*
   1657        * Pointer to a function to call after symbolic parameter
   1658        * has been accepted.
   1659        */
   1660     (VAL_PROC_PTR)NULL
   1661   },
   1662   {
   1663     PARAM_DHRP_PKT_BYTE_SIZE_ID,
   1664     "pkt_byte_size",
   1665     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1666     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1667     HAS_DEFAULT | MUST_APPEAR,(PARAM_VAL *)&Dhrp_pkt_byte_size_defualt,
   1668     0,0,0,0,0,0,0,
   1669     "Packet byte size",
   1670     "Examples:\r\n"
   1671     "  dhrp fap20v_1 lbg send_pkt nof_pkts 1000 pkt_byte_size 100\r\n"
   1672     "Send 1000 packets. The packet byte size is 100",
   1673     "",
   1674     {BIT(11) | BIT(13)},
   1675     LAST_ORDINAL,
   1676       /*
   1677        * Pointer to a function to call after symbolic parameter
   1678        * has been accepted.
   1679        */
   1680     (VAL_PROC_PTR)NULL
   1681   },
   1682   {
   1683     PARAM_DHRP_LBG_RESTORE_CONF_ID,
   1684     "restore_conf",
   1685     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1686     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1687     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1688     0,0,0,0,0,0,0,
   1689     "Restore the FAP to before LBG mode.",
   1690     "Examples:\r\n"
   1691     "  dhrp fap20v_1 lbg restore_conf\r\n"
   1692     "Restore configuration the SOC_SAND_FAP20V to the before LBG mode.",
   1693     "",
   1694     {BIT(12)},
   1695     3,
   1696       /*
   1697        * Pointer to a function to call after symbolic parameter
   1698        * has been accepted.
   1699        */
   1700     (VAL_PROC_PTR)NULL
   1701   },
   1702   {
   1703     PARAM_DHRP_GET_RATE_ID,
   1704     "get_rate",
   1705     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1706     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1707     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1708     0,0,0,0,0,0,0,
   1709     "Get device BW rates.",
   1710     "Examples:\r\n"
   1711     "  dhrp fap20v_1 lbg get_rate\r\n"
   1712     "Get device BW rates.",
   1713     "",
   1714     {BIT(13)},
   1715     3,
   1716       /*
   1717        * Pointer to a function to call after symbolic parameter
   1718        * has been accepted.
   1719        */
   1720     (VAL_PROC_PTR)NULL
   1721   },
   1722   {
   1723     PARAM_DHRP_CLR_CNT_INT_ID,
   1724     "clear_counter_and_interrupts",
   1725     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1726     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1727     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1728     0,0,0,0,0,0,0,
   1729     "Clear counters and interrupts at the SOC_SAND_FAP20V.",
   1730     "Examples:\r\n"
   1731     "  gfa fap20v_1 clear_counter_and_interrupts\r\n"
   1732     "Results in clear counter and interrupts.",
   1733     "",
   1734     {BIT(2)},
   1735     2,
   1736       /*
   1737        * Pointer to a function to call after symbolic parameter
   1738        * has been accepted.
   1739        */
   1740     (VAL_PROC_PTR)NULL
   1741   },
   1742   {
   1743     PARAM_DHRP_CALIBRATE_CLEAR_NV_ID,
   1744     "calibrate_params_from_nv_clear",
   1745     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1746     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1747     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1748     0,0,0,0,0,0,0,
   1749     "Clear the stored calibration parameters from the Board NvRam.",
   1750     "Examples:\r\n"
   1751     "  dhrp bsp calibrate_params_from_nv_clear\r\n"
   1752     " Clear the stored calibration parameters from the Board NvRam..\n\r",
   1753     "",
   1754     {BIT(31)},
   1755     2,
   1756       /*
   1757        * Pointer to a function to call after symbolic parameter
   1758        * has been accepted.
   1759        */
   1760     (VAL_PROC_PTR)NULL
   1761   },
   1762   {
   1763     PARAM_DHRP_MEM_READ_ID,
   1764     "read",
   1765     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1766     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1767     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1768     0,0,0,0,0,0,0,
   1769     "DHRP read",
   1770     "Examples:\r\n"
   1771     "  dhrp read 0x10\r\n"
   1772     "Read address 0x10.",
   1773     "",
   1774     {BIT(28)},
   1775     1,
   1776       /*
   1777        * Pointer to a function to call after symbolic parameter
   1778        * has been accepted.
   1779        */
   1780     (VAL_PROC_PTR)NULL
   1781   },
   1782   {
   1783     PARAM_DHRP_MEM_WRITE_ID,
   1784     "write",
   1785     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1786     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1787     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1788     0,0,0,0,0,0,0,
   1789     "DHRP write",
   1790     "Examples:\r\n"
   1791     "  dhrp read 0x10 data 0x1\r\n"
   1792     "Write 0x1 to address 0x10.",
   1793     "",
   1794     {BIT(29)},
   1795     1,
   1796       /*
   1797        * Pointer to a function to call after symbolic parameter
   1798        * has been accepted.
   1799        */
   1800     (VAL_PROC_PTR)NULL
   1801   },
   1802   {
   1803     PARAM_DHRP_MEM_WRITE_DATA_ID,
   1804     "data",
   1805     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1806     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1807     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1808     0,0,0,0,0,0,0,
   1809     "Data to write",
   1810     "Examples:\r\n"
   1811     "  dhrp read 0x10 data 0x1\r\n"
   1812     "Write 0x1 to address 0x10.",
   1813     "",
   1814     {BIT(29)},
   1815     2,
   1816       /*
   1817        * Pointer to a function to call after symbolic parameter
   1818        * has been accepted.
   1819        */
   1820     (VAL_PROC_PTR)NULL
   1821   },
   1822   {
   1823     PARAM_DHRP_MEM_NOF_ADDR_ID,
   1824     "nof_addrs",
   1825     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1826     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1827     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   1828     0,0,0,0,0,0,0,
   1829     "nof consequent addressese to read/write",
   1830     "Examples:\r\n"
   1831     "  dhrp read 0x10 data 0x1 nod_addrs 3\r\n"
   1832     "Write 0x1 to addresses 0x10, 0x14, 0x18.",
   1833     "",
   1834     {BIT(28) | BIT(29)},
   1835     LAST_ORDINAL,
   1836       /*
   1837        * Pointer to a function to call after symbolic parameter
   1838        * has been accepted.
   1839        */
   1840     (VAL_PROC_PTR)NULL
   1841   },
   1842   {
   1843     PARAM_DHRP_RESET_DEVICE_ID,
   1844     "reset_device",
   1845     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1846     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1847     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1848     0,0,0,0,0,0,0,
   1849     "resets a SOC_SAND_FAP20V device.\r\n",
   1850     "Examples:\r\n"
   1851     "  fap20v general reset_device 0x1\r\n"
   1852     "Results in resetting device 0x1 (off-on).\r\n",
   1853     "",
   1854     {BIT(26) | BIT(27)},
   1855     2,
   1856       /*
   1857        * Pointer to a function to call after symbolic parameter
   1858        * has been accepted.
   1859        */
   1860     (VAL_PROC_PTR)NULL
   1861   },
   1862   {
   1863     PARAM_DHRP_REMAIN_OFF_ID,
   1864     "remain_off",
   1865     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1866     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1867     HAS_NO_DEFAULT | MAY_NOT_APPEAR, (PARAM_VAL *)0,
   1868     0,0,0,0,0,0,0,
   1869     "If appears the device will stay in reset.\r\n",
   1870     "Examples:\r\n"
   1871     "  fap20v general reset_device 0x1 remain_off\r\n"
   1872     "Results in shutting of device 0x1.\r\n",
   1873     "",
   1874     {BIT(26)},
   1875     (unsigned int)LAST_ORDINAL,
   1876       /*
   1877        * Pointer to a function to call after symbolic parameter
   1878        * has been accepted.
   1879        */
   1880     (VAL_PROC_PTR)NULL
   1881   },
   1882   {
   1883     PARAM_DHRP_DRAM_CALIBRATE_AUTO_ID,
   1884     "calibrate_ddr_auto",
   1885     (PARAM_VAL_RULES *)&Dhrp_empty_vals[0],
   1886     (sizeof(Dhrp_empty_vals) / sizeof(Dhrp_empty_vals[0])) - 1,
   1887     HAS_NO_DEFAULT | MUST_APPEAR,(PARAM_VAL *)0,
   1888     0,0,0,0,0,0,0,
   1889     "auto calibrates the DDR.\r\n",
   1890     "Examples:\r\n"
   1891     "  dhrp bsp calibrate_ddr_auto dev_id 1\r\n",
   1892     "",
   1893     {BIT(19)},
   1894     2,
   1895       /*
   1896        * Pointer to a function to call after symbolic parameter
   1897        * has been accepted.
   1898        */
   1899     (VAL_PROC_PTR)NULL
   1900   },
   1901   {
   1902     PARAM_DHRP_DEVICE_ID_ID,
   1903     "dev_id",
   1904     (PARAM_VAL_RULES *)&Dhrp_indefinite_num_vals[0],
   1905     (sizeof(Dhrp_indefinite_num_vals) / sizeof(Dhrp_indefinite_num_vals[0])) - 1,
   1906     HAS_NO_DEFAULT | MAY_NOT_APPEAR,(PARAM_VAL *)0,
   1907     0,0,0,0,0,0,0,
   1908     "DHRP unit, might be added to the end of each CLI line. (0 or 1)",
   1909     "Examples:\r\n"
   1910     "  dhrp bsp lbg get_rate unit 1\r\n"
   1911     "Get device BW rates.",
   1912     "",
   1913     {0xFFFFFFFF, 0xFFFFFFFF},
   1914     LAST_ORDINAL,
   1915       /*
   1916        * Pointer to a function to call after symbolic parameter
   1917        * has been accepted.
   1918        */
   1919     (VAL_PROC_PTR)NULL
   1920   },
   1921 /* } */
   1922 /*
   1923  * Last element. Do not remove.
   1924  */
   1925   {
   1926     PARAM_END_OF_LIST
   1927   }
   1928 }
   1929 #endif
   1930 ;
   1931 
   1932 /*
   1933  * }
   1934  */
   1935 
   1936 
   1937 /* } */
   1938 #endif
   1939 
   1940