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