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

📄 csl_mdiohal.h

📁 Ti C6416 上对FLASH操作得范例程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/*****************************************************************************\*           Copyright (C) 1999-2003 Texas Instruments Incorporated.*                           All Rights Reserved*------------------------------------------------------------------------------* FILENAME...... csl_mdiohal.h* DATE CREATED.. 02/08/2002* LAST MODIFIED. 03/05/2003*------------------------------------------------------------------------------* REGISTERS/PARAMETERS** VERSION           - Module Version Register* CONTROL           - Module Control Register* ALIVE             - PHY "Alive" Indication Register* LINK              - PHY Link Status Register* LINKINTRAW        - Link Status Change Interrupt Register* LINKINTMASKED     - Link Status Change Interrupt Register (Masked)* USERINTRAW        - User Command Complete Interrupt* USERINTMASKED     - User Command Complete Interrupt (Masked)* USERINTMASKSET    - Enable User Command Complete Interrupt Mask* USERINTMASKCLEAR  - Disable User Command Complete Interrupt Mask* USERACCESS0       - User Access Register 0* USERPHYSEL0       - User PHY Select Register 0* USERACCESS1       - User Access Register 1* USERPHYSEL1       - User PHY Select Register 1**\******************************************************************************/#ifndef _CSL_MDIOHAL_H#define _CSL_MDIOHAL_H_#include <csl_stdinc.h>#include <csl_chip.h>#if (MDIO_SUPPORT)/******************************************************************************\* MDIO Register section\******************************************************************************/#define _MDIO_BASE_ADDR   0x01c83800u/******************************************************************************\* module level register/field access macros\******************************************************************************//* ----------------- *//* FIELD MAKE MACROS *//* ----------------- */// User Supplied Value#define MDIO_FMK(REG,FIELD,x)\  ((x<<_MDIO_##REG##_##FIELD##_SHIFT)&_MDIO_##REG##_##FIELD##_MASK)// Symbolic Value Name#define MDIO_FMKS(REG,FIELD,SYM)\  ((MDIO_##REG##_##FIELD##_##SYM<<_MDIO_##REG##_##FIELD##_SHIFT)\  &_MDIO_##REG##_##FIELD##_MASK)// MAC Index Flag Flag#define MDIO_FMKMIF(MACINDEX)    (1u<<(MACINDEX))/* -------------------------------- *//* RAW REGISTER/FIELD ACCESS MACROS *//* -------------------------------- */#define MDIO_ADDR(REG)\    _MDIO_##REG##_ADDR#define MDIO_REG(REG)\    *(volatile Uint32*)(_MDIO_##REG##_ADDR)// Standard Registers#define MDIO_RGET(REG)\    (*(volatile Uint32*)(_MDIO_##REG##_ADDR))#define MDIO_RSET(REG,x)\    (*(volatile Uint32*)(_MDIO_##REG##_ADDR)=(x))#define MDIO_FGET(REG,FIELD)\    ((MDIO_RGET(REG)&_MDIO_##REG##_##FIELD##_MASK)\    >>_MDIO_##REG##_##FIELD##_SHIFT)#define MDIO_FSET(REG,FIELD,x)\    MDIO_RSET(REG,(MDIO_RGET(REG)&~_MDIO_##REG##_##FIELD##_MASK)|\    MDIO_FMK(REG,FIELD,x))#define MDIO_FSETS(REG,FIELD,SYM)\    MDIO_RSET(REG,(MDIO_RGET(REG)&~_MDIO_##REG##_##FIELD##_MASK)|\    MDIO_FMKS(REG,FIELD,SYM))/******************************************************************************\* _____________________* |                   |* |  VERSION          |* |___________________|** TXIDVER           - TX Identification and Version Register** FIELDS (msb -> lsb)* (r)   MODID       - Module Id* (r)   REVMAJ      - Major Revision* (r)   REVMIN      - Minor Revision** MACROS SUPPORTED*  MDIO_FMK     y*  MDIO_FMKS    .*  MDIO_FMKMIF  .*  MDIO_ADDR    y*  MDIO_REG     y*  MDIO_RGET    y*  MDIO_RSET    y*  MDIO_FGET    y*  MDIO_FSET    y*  MDIO_FSETS   .*\******************************************************************************/#define _MDIO_VERSION_ADDR                      (_MDIO_BASE_ADDR+0x0000u)#define MDIO_VERSION                            MDIO_REG(VERSION)#define _MDIO_VERSION_MODID_MASK                0xFFFF0000u#define _MDIO_VERSION_MODID_SHIFT               16u#define  MDIO_VERSION_MODID_DEFAULT		0x00000007u	#define _MDIO_VERSION_REVMAJ_MASK               0x0000FF00u#define _MDIO_VERSION_REVMAJ_SHIFT              8u#define  MDIO_VERSION_REVMAJ_DEFAULT		0x00000000u	#define _MDIO_VERSION_REVMIN_MASK               0x000000FFu#define _MDIO_VERSION_REVMIN_SHIFT              0u#define	 MDIO_VERSION_REVMIN_DEFAULT		0x00000000u	/******************************************************************************\* _____________________* |                   |* |    CONTROL        |* |___________________|** CONTROL           - MDIO Control Register** FIELDS (msb -> lsb)* (r)   IDLE        - MDIO State Machine Idle* (rw)  ENABLE      - Enable Control* (rw)  PREAMBLE    - Preamble Disable* (rwc) FAULT       - Fault Indicator* (rw)  FAULTENB    - Fault Detect Enable* (rw)  INTTESTENB  - Link Test Enable* (rw)  CLKDIV      - Clock Divider*** MACROS SUPPORTED*  MDIO_FMK     y*  MDIO_FMKS    y*  MDIO_FMKMIF  .*  MDIO_ADDR    y*  MDIO_REG     y*  MDIO_RGET    y*  MDIO_RSET    y*  MDIO_FGET    y*  MDIO_FSET    y*  MDIO_FSETS   y*\******************************************************************************/#define _MDIO_CONTROL_ADDR                      (_MDIO_BASE_ADDR+0x0004u)#define MDIO_CONTROL                            MDIO_REG(TXCONTROL)#define _MDIO_CONTROL_IDLE_MASK                 0x80000000u#define _MDIO_CONTROL_IDLE_SHIFT                31u#define  MDIO_CONTROL_IDLE_DEFAULT		0x00000001u	#define MDIO_CONTROL_IDLE_YES                   1u#define MDIO_CONTROL_IDLE_NO                    0u#define _MDIO_CONTROL_ENABLE_MASK               0x40000000u#define _MDIO_CONTROL_ENABLE_SHIFT              30u#define  MDIO_CONTROL_ENABLE_DEFAULT		0x00000000u	#define MDIO_CONTROL_ENABLE_YES                 1u#define MDIO_CONTROL_ENABLE_NO                  0u#define _MDIO_CONTROL_PREAMBLE_MASK             0x00100000u#define _MDIO_CONTROL_PREAMBLE_SHIFT            20u#define  MDIO_CONTROL_PREAMBLE_DEFAULT		0x00000000u	#define MDIO_CONTROL_PREAMBLE_DISABLED          1u#define MDIO_CONTROL_PREAMBLE_ENABLED           0u#define _MDIO_CONTROL_FAULT_MASK                0x00080000u#define _MDIO_CONTROL_FAULT_SHIFT               19u#define  MDIO_CONTROL_FAULT_DEFAULT		0x00000000u	#define MDIO_CONTROL_FAULT_YES                  1u#define MDIO_CONTROL_FAULT_NO                   0u#define _MDIO_CONTROL_FAULTENB_MASK             0x00040000u#define _MDIO_CONTROL_FAULTENB_SHIFT            18u#define  MDIO_CONTROL_FAULTENB_DEFAULT		0x00000000u	#define MDIO_CONTROL_FAULTENB_YES               1u#define MDIO_CONTROL_FAULTENB_NO                0u#define _MDIO_CONTROL_INTTESTENB_MASK           0x00020000u#define _MDIO_CONTROL_INTTESTENB_SHIFT          17u#define  MDIO_CONTROL_INTTESTENB_DEFAULT	0x00000000u	#define MDIO_CONTROL_INTTESTENB_YES             1u#define MDIO_CONTROL_INTTESTENB_NO              0u#define _MDIO_CONTROL_CLKDIV_MASK               0x000000FFu#define _MDIO_CONTROL_CLKDIV_SHIFT              0u#define  MDIO_CONTROL_CLKDIV_DEFAULT		0x000000FFu	/******************************************************************************\* _____________________* |                   |* |   ALIVE           |* |   LINK            |* |___________________|** ALIVE             - PHY "Alive" Indication Register* LINK              - PHY Link Status Register** FIELDS (msb -> lsb)*  PHY Index Flags (0-31) (use MDIO_FMKMIF)** MACROS SUPPORTED*  MDIO_FMK     .*  MDIO_FMKS    .*  MDIO_FMKMIF  y*  MDIO_ADDR    y*  MDIO_REG     y*  MDIO_RGET    y*  MDIO_RSET    y*  MDIO_FGET    .*  MDIO_FSET    .*  MDIO_FSETS   .*\******************************************************************************/#define _MDIO_ALIVE_ADDR                        (_MDIO_BASE_ADDR+0x0008u)#define _MDIO_LINK_ADDR                         (_MDIO_BASE_ADDR+0x000Cu)#define MDIO_ALIVE                              MDIO_REG(ALIVE)#define MDIO_LINK                               MDIO_REG(LINK)/******************************************************************************\* _____________________* |                   |* | LINKINTRAW        |* | LINKINTMASKED     |* | USERINTRAW        |* | USERINTMASKED     |* | USERINTMASKSET    |* | USERINTMASKCLEAR  |* |___________________|** LINKINTRAW        - Link Status Change Interrupt Register* LINKINTMASKED     - Link Status Change Interrupt Register (Masked)* USERINTRAW        - User Command Complete Interrupt* USERINTMASKED     - User Command Complete Interrupt (Masked)

⌨️ 快捷键说明

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