⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_mdio.h

📁 Ti C6416 上对FLASH操作得范例程序
💻 H
字号:
/*****************************************************************************\*           Copyright (C) 1999-2003 Texas Instruments Incorporated.*                           All Rights Reserved*------------------------------------------------------------------------------* FILENAME...... csl_mdio.h* DATE CREATED.. 02/08/2002* LAST MODIFIED. 05/09/2003*------------------------------------------------------------------------------* NOTE:*   When used in an multitasking environment, no MDIO function may be*   called while another MDIO function is operating on the same device*   handle in another thread. It is the responsibility of the application*   to assure adherence to this restriction.** ALSO NOTE:*   When using the CSL EMAC module, the EMAC module will make use of this*   MDIO module. It is not necessary for the application to call any MDIO*   functions directly when the CSL EMAC module is in use.*\******************************************************************************/#ifndef _CSL_MDIO_H#define _CSL_MDIO_H_
#include <csl.h>#include <csl_chip.h>
#include <csl_irq.h>
#include <csl_mdiohal.h>

#if (MDIO_SUPPORT)/*-----------------------------------------------------------------------*\* NEW TYPES\*-----------------------------------------------------------------------*/#ifndef _CSL_EMAC_TYPES#define _CSL_EMAC_TYPEStypedef unsigned int uint;typedef void * Handle;#endif/*-----------------------------------------------------------------------*\* MDIO Configuration Mode Flags** These flags determine how the MDIO module behaves\*-----------------------------------------------------------------------*/#define MDIO_MODEFLG_AUTONEG     0x0001 /* Use Autonegotiate         *//* The following bits are used for manual and fallback configuration */#define MDIO_MODEFLG_HD10        0x0002 /* Use 10Mb/s Half Duplex    */#define MDIO_MODEFLG_FD10        0x0004 /* Use 10Mb/s Full Duplex    */#define MDIO_MODEFLG_HD100       0x0008 /* Use 100Mb/s Half Duplex   */#define MDIO_MODEFLG_FD100       0x0010 /* Use 100Mb/s Full Duplex   */#define MDIO_MODEFLG_LOOPBACK    0x0020 /* Use PHY Loopback          *//* The following bits are reserved for use by the MDIO module */#define MDIO_MODEFLG_NWAYACTIVE  0x0040 /* NWAY is currently active  *//*-----------------------------------------------------------------------*\* MDIO Link Status Values** These values indicate current PHY link status\*-----------------------------------------------------------------------*/#define MDIO_LINKSTATUS_NOLINK   0#define MDIO_LINKSTATUS_HD10     1#define MDIO_LINKSTATUS_FD10     2#define MDIO_LINKSTATUS_HD100    3#define MDIO_LINKSTATUS_FD100    4/*-----------------------------------------------------------------------*\* MDIO Events** These events are returned by MDIO_timerTick() to allow the application* (or EMAC) to track MDIO status.\*-----------------------------------------------------------------------*/#define MDIO_EVENT_NOCHANGE      0   /* No change from previous status */#define MDIO_EVENT_LINKDOWN      1   /* Link down event                */#define MDIO_EVENT_LINKUP        2   /* Link (or re-link) event        */#define MDIO_EVENT_PHYERROR      3   /* No PHY connected               *//*-----------------------------------------------------------------------*\* MDIO_open()** Opens the MDIO peripheral and start searching for a PHY device.** It is assumed that the MDIO module is reset prior to calling this* function.\*-----------------------------------------------------------------------*/CSLAPI Handle MDIO_open( uint mdioModeFlags );/*-----------------------------------------------------------------------*\* MDIO_close()** Close the MDIO peripheral and disable further operation.\*-----------------------------------------------------------------------*/CSLAPI void MDIO_close( Handle hMDIO );/*-----------------------------------------------------------------------*\* MDIO_getStatus()** Called to get the status of the MDIO/PHY\*-----------------------------------------------------------------------*/CSLAPI void MDIO_getStatus( Handle hMDIO, uint *pPhy, uint *pLinkStatus );/*-----------------------------------------------------------------------*\* MDIO_timerTick()** Called to signify that approx 100mS have elapsed** Returns an MDIO event code (see MDIO Events in CSL_MDIO.H).\*-----------------------------------------------------------------------*/CSLAPI uint MDIO_timerTick( Handle hMDIO );/*-----------------------------------------------------------------------*\* MDIO_initPHY()** Force a switch to the specified PHY, and start negotiation.** This call is only used to override the normal PHY detection process.** Returns 1 if the PHY selection completed OK, else 0\*-----------------------------------------------------------------------*/CSLAPI uint MDIO_initPHY( Handle hMDIO, uint phyAddr );/*-----------------------------------------------------------------------*\* MDIO_phyRegRead()** Raw data read of a PHY register.** Returns 1 if the PHY ACK'd the read, else 0\*-----------------------------------------------------------------------*/CSLAPI uint MDIO_phyRegRead( uint phyIdx, uint phyReg, Uint16 *pData );/*-----------------------------------------------------------------------*\* MDIO_phyRegWrite()** Raw data write  of a PHY register.** Returns 1 if the PHY ACK'd the write, else 0\*-----------------------------------------------------------------------*/CSLAPI uint MDIO_phyRegWrite( uint phyIdx, uint phyReg, Uint16 data );#endif /* MDIO_SUPPORT */#endif /* _CSL_MDIO_H_ *//******************************************************************************\* End of mdio.h\******************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -