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

📄 sdio.h

📁 marvell8385 GSPI开发驱动
💻 H
字号:
/******************** (c) Marvell Semiconductor, Inc., 2003 *******************
 *
 * $Header:
 *
 * Purpose:
 *    This file contains the function prototypes and definitions for the
 *    sdio.c.
 *
 * Public Procedures:
 *
 * Notes:
 *    None.
 *
 *****************************************************************************/

#ifdef SDIO

#ifndef _SDIO_H_
#define _SDIO_H_

//=============================================================================
//                                DEFINITIONS
//=============================================================================


#define MRVL_8100_SDIO_VER_ID           0x02 // TODO: what should this be?

// amount of time to wait in ms to check FW again if it is not ready
#define SDIO_FW_NOT_READY_WAIT_TIME     5

#define CF_READ_CMD_BUF_SIZE 128
#define CF_WRITE_CMD_BUF_SIZE 128

#define SDIO_EXTENDED_IO_BLOCK_SIZE	 32//64 //32  //256  //128	//512  //32

#define SDIO_IO_READY               0x08
#define SDIO_CIS_CARD_READY         0x04
#define SDIO_UPLOAD_CARD_READY      0x02
#define SDIO_DOWNLOAD_CARD_READY    0x01
#define SDIO_IO_PORT                0x10000

#ifdef PWARE_SDIO_INTR_MODIFICATIONS
	#define SDIO_DISABLE_INTERRUPT_MASK 0x01
	#define SDIO_ENABLE_INTERRUPT_MASK  0x00
#else
	#define SDIO_DISABLE_INTERRUPT      0x0
	#define SDIO_ENABLE_INTERRUPT       0x1
#endif // PWARE_SDIO_INTR_MODIFICATIONS

#define UPLOAD_HOST_INT_STATUS_RDY      0x01

#ifndef MRV_CHIP_8305
#define DOWNLOAD_HOST_INT_STATUS_RDY       0x02
#define UPLOADDOWNLOAD_HOST_INT_STATUS_RDY 0x03
#endif

// host control register
#define HCR_HOST_INT_STATUS_REGISTER        0x5
#define HCR_HOST_INT_STATUS_RSR_REGISTER    0x6
#define HCR_HOST_INT_MASK_REGISTER          0x4
#define HCR_HOST_CONFIGURATION_REGISTER     0x3
//TT
#define HCR_SDIO_BUS_INTERFACE_CONTROL	0x7
#define HCR_HOST_CARD_STATUS_REGISTER	0x20

#ifndef MRV_CHIP_8305
#define CARD_REVISION_REG            0x3c
#endif

// card control register
#define CCR_CARD_STATUS_REGISTER        0x20

#ifdef MRV_CHIP_8686PN   //dralee_20051201
#define LENGTH_SCRATCH_REGISTER                         0x34
#define PACKET_TYPE_MAC_EVENT_SCRATCH_REGISTER          0x36
#else
#define LENGTH_SCRATCH_REGISTER                         0x80FE
#define PACKET_TYPE_MAC_EVENT_SCRATCH_REGISTER          0x80FC
#endif

// code which will be in the scratch register after FW is initialized
#define SDIO_FW_INIT_CODE               0xFEDC

// 50 ms wait time
#define PKT_WAIT_TIME               50000   // number of 10 us units

// block size of FW download
#ifdef MRV_CHIP_8305
    #define SDIO_FW_DOWNLOAD_BLOCK_SIZE 252
#else
    #define SDIO_FW_DOWNLOAD_BLOCK_SIZE 512
#endif

enum sdio_pkt_type {
   SDIO_DATA_PKT = 0,
   SDIO_CMD_PKT,
   SDIO_TX_DONE_EVENT,
   SDIO_MAC_EVENT,
   SDIO_INVALID_PKT_TYPE   //dralee, last entry of sdio_pkt_type
};

#if 0
// Move to If.h
typedef enum _SDIO_FW_STATUS {
    FW_STATUS_READ_FAILED,
    FW_STATUS_INITIALIZED,
    FW_STATUS_UNINITIALIZED
} SDIO_FW_STATUS;
#endif

//lykao, 050505, begin
// Structure describing Registry values
//typedef struct _REG_VALUE_DESCR {
//    LPWSTR val_name;
//    DWORD  val_type;
//    PBYTE  val_data;
//	} REG_VALUE_DESCR, *PREG_VALUE_DESCR;
//lykao, 050505, end
#define NOT !



//=============================================================================
//                          PUBLIC TYPE DEFINITIONS
//=============================================================================
//
//

//=============================================================================
//                          FUNCTION HEADER
//=============================================================================

NDIS_STATUS sdio_Initialization( PMRVDRV_ADAPTER Adapter, NDIS_HANDLE WrapperConfigurationContext );
IF_API_STATUS sdio_GetLengthOfDataBlock( PMRVDRV_ADAPTER Adapter, USHORT *pLength );
IF_API_STATUS sdio_GetCardStatusAndMacEvent(  PMRVDRV_ADAPTER Adapter, UCHAR *pCardStatus, UCHAR *pMacEvent );
IF_API_STATUS sdio_GetDataBlock( PMRVDRV_ADAPTER Adapter, USHORT usLength, UCHAR ucCardStatus, UCHAR *p_pkt );

#endif // _SDIO_H_

#endif // SDIO

⌨️ 快捷键说明

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