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

kbp_recover.h (2850B)


      1 /** \file kbp_recover.h
      2  *
      3  * Functions and defines for handling jericho2 kbp recover sequence.
      4  */
      5 /*
      6  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      7  * 
      8  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      9  */
     10 #if defined(INCLUDE_KBP)
     11 
     12 #ifndef _KBP_RECOVER_INCLUDED__
     13 /*
     14  * {
     15  */
     16 
     17 #define _KBP_RECOVER_INCLUDED__
     18 
     19 /*************
     20  * INCLUDES  *
     21  */
     22 /*
     23  * {
     24  */
     25 
     26 /*
     27  * }
     28  */
     29 
     30 /*************
     31  * DEFINES   *
     32  */
     33 /*
     34  * {
     35  */
     36 
     37 #define DNX_KBP_CLAUSE45_ADDR(devad, regad)     \
     38             ((((devad) & 0x3F) << 16) |          \
     39              ((regad) & 0xFFFF))
     40 
     41 #define DNX_KBP_TX_PCS_EN_REG    (0xF00F)
     42 
     43 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD0_REG    (0xF160)
     44 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD1_REG    (0xF161)
     45 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD2_REG    (0xF162)
     46 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD3_REG    (0xF163)
     47 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD4_REG    (0xF164)
     48 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD5_REG    (0xF165)
     49 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD6_REG    (0xF166)
     50 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD7_REG    (0xF167)
     51 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_CTRL_QUAD8_REG    (0xF168)
     52 
     53 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_IN_RESET_VAL    (0x3037)
     54 #define DNX_KBP_TX_PHASE_MATCHING_FIFO_OUT_OF_RESET_VAL    (0x3035)
     55 
     56 #define DNX_KBP_RECOVER_LINK_UP_LOOP_TIMES    (0x64)
     57 #define DNX_KBP_RECORD_REPLY_VALID_CHECK_TIMES    (5)
     58 
     59 /*OP2 register*/
     60 #define DNX_KBP_RX_LINK_CTRL_REG    (0x3002)
     61 #define DNX_KBP_TX_LINK_CTRL_REG    (0x7002)
     62 
     63 #define DNX_KBP_FEC_CTRL_REG        (0xF807)
     64 #define DNX_KBP_RX_TX_PCS_CTRL_REG  (0xF801)
     65 #define DNX_KBP_CDR_STATUS_REG      (0xF822)
     66 #define DNX_KBP_LINKUP_STATUS_REG   (0x2829)
     67 
     68 #define DNX_KBP_PHMF_FIFO_CTRL_REG  (0xF852)
     69 
     70 #define DNX_KBP_CLEAR_ERR_0_CTRL_REG  (0x2850)
     71 #define DNX_KBP_CLEAR_ERR_0_1_CTRL_REG  (0x2851)
     72 #define DNX_KBP_CLEAR_ERR_1_CTRL_REG  (0x2003)
     73 #define DNX_KBP_CLEAR_ERR_2_CTRL_REG  (0xF806)
     74 #define DNX_KBP_CLEAR_ERR_3_CTRL_REG  (0x10)
     75 
     76 /*
     77  * }
     78  */
     79 /*************
     80  * MACROS    *
     81  */
     82 /*
     83  * {
     84  */
     85 
     86 /*
     87  * }
     88  */
     89 
     90 /*************
     91  * ENUMS     *
     92  */
     93 /*
     94  * {
     95  */
     96 
     97 /*
     98  * }
     99  */
    100 
    101 /*************
    102  * GLOBALS   *
    103  */
    104 /*
    105  * {
    106  */
    107 /*
    108  * }
    109  */
    110 /*************
    111  * FUNCTIONS *
    112  */
    113 /*
    114  * {
    115  */
    116 shr_error_e dnx_kbp_recover_run_recovery_sequence(
    117     int unit,
    118     uint32 core,
    119     uint32 mdio_id);
    120 
    121 shr_error_e dnx_kbp_phase_matching_fifo_reset(
    122     int unit,
    123     uint32 mdio_id,
    124     int kbp_port_id,
    125     int reset);
    126 
    127 shr_error_e dnx_kbp_op_link_stability_check(
    128     int unit,
    129     uint32 core,
    130     uint32 kbp_mdio_id,
    131     uint32 retries);
    132 
    133 shr_error_e dnx_kbp_device_interface_enable_link(
    134     int unit,
    135     uint32 enable);
    136 
    137 /*
    138  * }
    139  */
    140 #endif /* __KBP_RECOVER_INCLUDED__ */
    141 #endif /* defined(INCLUDE_KBP) */