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

physr.h (2354B)


      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:        physr.h
      8  * Purpose:     Basic defines for PHY specific data that gets pointed to 
      9  *              by phy_ctrl. The data gets allocated and freed outside the
     10  *              driver.
     11  * Note:        This header file is for PHY driver module. Should not include
     12  *              this header file in SOC or BCM layers.
     13  */
     14 
     15 #ifndef _PHY_SR_H
     16 #define _PHY_SR_H
     17 
     18 /*
     19  * phy56xxx_5601x private data holds shadow registers
     20  */
     21 typedef struct serdes_5601x_sregs {
     22     uint16      mii_ctrl;               /* 0*0  */
     23     uint16      mii_ana;                /* 0*4  */
     24     uint16      r1000x_ctrl1;           /* 0*10 */
     25     uint16      r1000x_ctrl2;           /* 0*11 */
     26     uint16      analog_tx;              /* 2*1b */
     27     uint16      digi3_ctrl;             /* 2*10 */
     28  } serdes_5601x_sregs_t;
     29 
     30 
     31 /*
     32  * serdescombo_5601x private data holds shadow registers
     33  */
     34 typedef struct serdescombo_5601x_sregs {
     35     uint16      mii_ctrl;               /* 0*0  */
     36     uint16      mii_ana;                /* 0*4  */
     37     uint16      r1000x_ctrl1;           /* 0*10 */
     38     uint16      r1000x_ctrl2;           /* 0*11 */
     39     uint16      analog_tx;              /* 2*1b */
     40     uint16      digi3_ctrl;             /* 2*10 */
     41     uint16      misc_misc2;             /* 5*1e */
     42     uint16      misc_tx_actrl3;         /* 5*17 */
     43 } serdescombo_5601x_sregs_t;
     44 
     45 /*
     46  * serdescombo65_5602x private data
     47  */
     48 typedef struct serdescombo65_5602x_sregs {
     49     uint16      ieee0_mii_ctrl;         /* 0000ffe0 */
     50     uint16      ieee0_mii_ana;          /* 0000ffe4 */
     51     uint16      xgxs_blk0_ctrl;         /* 00008000 */
     52     uint16      tx_all_driver;          /* 000080a7 */
     53     uint16      over_1g_up1;            /* 00008329 */
     54     uint16      serdes_digital_ctrl1;   /* 00008300 */
     55     uint16      serdes_digital_misc1;   /* 00008308 */
     56     uint16      cl73_ieeeb0_an_ctrl;    /* 38000000 */
     57     uint16      cl73_ieeeb0_an_adv1;    /* 38000010 */
     58     uint16      cl73_ieeeb0_an_adv2;    /* 38000011 */
     59     uint16      cl73_ieeeb0_bamctrl1;   /* 00008372 */
     60     uint16      cl73_ieeeb0_bamctrl3;   /* 00008374 */
     61 } serdescombo65_5602x_sregs_t;
     62 
     63 
     64 #endif /* _PHY_SR_H */