亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sdiocontrollerbase.h

?? 三星2440 cpu WINCE 5.00板級(jí)支持包
?? H
?? 第 1 頁 / 共 2 頁
字號(hào):
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//

// Copyright (c) 2002 BSQUARE Corporation.  All rights reserved.
// DO NOT REMOVE --- BEGIN EXTERNALLY DEVELOPED SOURCE CODE ID 40973--- DO NOT REMOVE

#ifndef __SDIOCONTROLLER_H
#define __SDIOCONTROLLER_H

//#################################### Register Constants/Masks/etc. ######################################

// NOTE: The theoretical maximum speed is 25.3 Mhz (prescaler register set to 0), but this is above the 
//       maximum allowed value of 25 MHz.  The next lower value allowed by the prescaler register on the 
//       SC2440 hardware is 12687500 Hz (prescaler register set to 1)
#define MAX_SDI_BUS_TRANSFER_SPEED		12687500				// 12.7 Mhz

#define BYTES_PER_SECTOR				512
#define SDI_CONTROLLER_FIFO_SIZE		64

//----- Register definitions for SDICON control register (global config register) -----
#define LITTLE_ENDIAN_BYTE_ORDER		0x00000000
#define SDIO_INTERRUPT_ENABLE			0x00000008 
#define SDIO_READ_WAIT_ENABLE			0x00000004 
#define SDIO_SDMCC_RESET				0x00000100
#define SDIO_CLK_TYPE_MCC				0x00000020
#define SDIO_BYTE_ORDER_B				0x00000010
#define SDIOCON_RSV1					0x00000002 
#define CLOCK_ENABLE					0x00000001				


//----- Register definitions for SDICCON control register (command config register) -----
//		NOTE:  Lowest 8 bits are used for the actual command's opcode
#define SDIO_ABORT_COMMAND				0x00001000				// Works for CMD12 and CMD52
#define SDIO_COMMAND_WITH_DATA			0x00000800
#define LONG_RESPONSE					0x00000400				
#define WAIT_FOR_RESPONSE				0x00000200				
#define START_COMMAND					0x00000100				

#define COMMAND_START_BIT				0x00000040				// Commands are 6 bits, but the 7th bit must be set!
#define MAX_CMD_VALUE					0x0000007F				// In SD/MMC clock cycles
#define	NULL_CMD_ARGUMENT				0x00000000
															
//----- Register definitions for SDICSTA control register (command status register) -----
//		NOTE:  Lowest 8 bits indicate the command's response code
#define CRC_CHECK_FAILED				0x00001000				
#define COMMAND_SENT					0x00000800
#define COMMAND_TIMED_OUT				0x00000400				
#define RESPONSE_RECEIVED				0x00000200				
#define COMMAND_IN_PROGRESS				0x00000100				

#define SHORT_RESPONSE_LENGTH			0x00000006				// In bytes
#define LONG_RESPONSE_LENGTH			0x00000010				// In bytes


//----- Register definitions for SDIDTIMER control register (data/busy config register) -----
//		NOTES:	1) Valid range		= 0-65536
//				2) Default value	= 0x2000 
#define NO_DATABUSY_TIMEOUT				0
#define MAX_DATABUSY_TIMEOUT			0x0000FFFF

//----- Register definitions for SDIDCON control register (transfer config register) -----
//		NOTE:  Lowest 12 bits are used for the block number (don't care in stream mode)
/*enable burst4 mode in DMA mode.this bit should be set only when data size is word*/
#define SDIO_BURST4_ENABLE				0x01000000
/*indicates the size of the transfer with FIFO,which is typically byte,halfword or word*/
#define SDIO_DATA_SIZE_BYTE			0x00000000
#define SDIO_DATA_SIZE_HALFW			0x00400000
#define SDIO_DATA_SIZE_WORD			0x00800000
#define SDIO_INTERRUPT_PERIOD_TYPE		0x00200000				// 0 = 2 cycles, 1 = more than 2 cycles
#define TRANSMIT_AFTER_RESPONSE			0x00100000
#define RECEIVE_AFTER_COMMAND			0x00080000
#define BUSY_AFTER_COMMAND				0x00040000
#define TRANSFER_BLOCK_MODE				0x00020000				// Clearing this bit enables stream mode
#define WIDE_BUS_ENABLE					0x00010000				
#define DMA_ENABLE						0x00008000				
#define DATA_TRANSFER_START					0x00004000
#define DATA_TRANSMIT_MODE				0x00003000
#define DATA_RECEIVE_MODE				0x00002000

// Bits 12-13 are used to determine transfer mode:
#define DATA_TRANSMIT_START				0x00003000
#define DATA_RECEIVE_START				0x00002000
#define DATA_BUSY						0x00001000
#define DATA_READY						0x00000000


//----- Register definitions for SDIDSTA control register (transfer status register) -----
#define READ_WAIT_REQUEST_OCCURED		0x00000400				
#define SDIO_INTERRUPT_DETECTED			0x00000200
#define DATA_STATS_RSV8					0x00000100
#define DATA_TRANSMIT_CRC_ERROR			0x00000080
#define DATA_RECEIVE_CRC_ERROR			0x00000040
#define DATA_TIME_OUT					0x00000020
#define DATA_TRANSMIT_FINISHED			0x00000010
#define BUSY_CHECKS_FINISH				0x00000008
#define START_BIT_ERROR					0x00000004
#define DATA_TRANSMIT_IN_PROGRESS		0x00000002
#define DATA_RECIEVE_IN_PROGRESS		0x00000001

//----- Register definitions for SDIFSTA control register (FIFO status register) -----
//		NOTE:  Lowest 7 bits indicate the number of data bytes in the FIFO
#define RESET_FIFO						0x00010000
//FIFO fail error when FIFO occurs overrun/underrun data saving. This flag is cleared by setting to one these bits.
#define FIFO_FAIL_ERROR					0x00004000	//FIFO fail
#define FIFO_FAIL_LAST_TX				0x00008000	//FIFO fail in the last transfer(only FIFO reset need)
#define FIFO_AVAIL_FOR_TX				0x00002000
#define FIFO_AVAIL_FOR_RX				0x00001000
#define TX_FIFO_HALF_FULL				0x00000800				// < 33 bytes
#define TX_FIFO_EMPTY					0x00000400				// = 0 bytes
#define RX_FIFO_LAST_DATA_READY			0x00000200
#define RX_FIFO_FULL					0x00000100				// = 64 bytes
#define RX_FIFO_HALF_FULL				0x00000080				// > 33 bytes


//----- Register definitions for SDIIMSK control register (interrupt mask register) -----
#define SDIO_NO_BUSY_INT				0x00040000
#define RESPONSE_CRC_ERROR_INT			0x00020000				
#define COMMAND_SENT_INT				0x00010000				
#define COMMAND_RESPONSE_TIMEOUT_INT	0x00008000				
#define COMMAND_RESPONSE_REC_INT		0x00004000				
#define READ_WAIT_REQUEST_INT			0x00002000				
#define SDIO_HOST_IO_INT				0x00001000				
#define FIFO_FAIL_ERROR_INT				0x00000800				
#define CRC_STATUS_ERROR_INT			0x00000400				
#define DATA_CRC_FAIL_INT				0x00000200				
#define DATA_TIMEOUT_INT				0x00000100				
#define DATA_COUNTER_ZERO_INT			0x00000080				
#define BUSY_CHECKS_COMPLETE_INT		0x00000040				
#define START_BIT_ERROR_INT				0x00000020				
#define TX_FIFO_HALF_FULL_INT			0x00000010				// < 33 bytes
#define TX_FIFO_EMPTY_INT				0x00000008				// = 0 bytes
#define RX_FIFO_LAST_DATA_READY_INT		0x00000004				
#define RX_FIFO_FULL_INT				0x00000002				// = 64 bytes
#define RX_FIFO_HALF_FULL_INT			0x00000001				// > 33 bytes

#define ERROR_INTERRUPTS_HANDLED		COMMAND_RESPONSE_TIMEOUT_INT | DATA_TIMEOUT_INT 


//###################################### Hardware Controller Structures ##################################
typedef enum {
    Idle				= -1,
    CommandSent			= 1,
    CommandComplete		= 2,
    ResponseWait		= 3,
    WriteDataTransfer	= 4,
    WriteDataTransferDone = 5,
    ProgramWait			= 6,
    WriteDataDone		= 7,
    ReadDataTransfer	= 8,
    ReadDataTransferDone = 9,
    ReadDataDone		= 10,

} SDHCDSTATE;

class CSDIOControllerBase
{
public:
    explicit CSDIOControllerBase( PSDCARD_HC_CONTEXT pHCContext );
    virtual ~CSDIOControllerBase();

    PSDCARD_HC_CONTEXT GetHostContext() const;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲成人| 国产99久久久精品| 亚洲国产精品传媒在线观看| 不卡av电影在线播放| 亚洲成a人v欧美综合天堂下载| 久久久99精品免费观看| 欧美日韩一区三区| av一区二区三区在线| 精品写真视频在线观看| 亚洲成人免费电影| 亚洲丝袜精品丝袜在线| 欧美精品一区二区久久久| 欧美三级电影在线观看| 99re8在线精品视频免费播放| 国产精品99久久久久久有的能看| 天天影视网天天综合色在线播放| 亚洲色图欧美激情| 久久久综合视频| 欧美大胆一级视频| 91精品国产全国免费观看| 色狠狠一区二区三区香蕉| 成人av在线资源| 国产伦精一区二区三区| 日本欧美一区二区| 日韩电影免费一区| 免费在线欧美视频| 日本在线不卡视频| 日本午夜一区二区| 蜜桃久久精品一区二区| 亚洲福中文字幕伊人影院| 亚洲特级片在线| 综合激情成人伊人| 日韩伦理av电影| 中日韩免费视频中文字幕| 国产午夜精品久久| 国产精品久久三区| 国产精品免费人成网站| 欧美韩国一区二区| 日韩毛片在线免费观看| 中文字幕五月欧美| 亚洲靠逼com| 一区二区三区精品久久久| 亚洲综合在线免费观看| 亚洲一区二区三区四区五区黄| 一区二区三区四区乱视频| 一区二区视频在线看| 一区二区三区在线观看视频| 一区二区三区日韩精品| 亚洲一级不卡视频| 午夜视频一区在线观看| 亚洲一二三区视频在线观看| 亚洲国产视频一区| 天天色 色综合| 激情综合网激情| 国产成人免费视频精品含羞草妖精| 高清不卡在线观看| 91福利在线看| 91精品国产色综合久久不卡蜜臀 | 精品国产91九色蝌蚪| 日韩三级伦理片妻子的秘密按摩| 欧美大片日本大片免费观看| 久久亚洲综合色| 亚洲欧美日韩系列| 日韩精品亚洲一区| 国产一区二区三区电影在线观看 | 色中色一区二区| 69p69国产精品| xfplay精品久久| 日本一区二区动态图| 亚洲精品乱码久久久久久黑人| 亚洲一区二区三区自拍| 久久精品国产亚洲高清剧情介绍| 国产精品系列在线播放| 色综合夜色一区| 欧美白人最猛性xxxxx69交| 欧美激情综合五月色丁香| 亚洲伦理在线精品| 麻豆一区二区三| 91一区二区三区在线播放| 欧美日韩三级一区| 国产色产综合色产在线视频| 一区二区高清免费观看影视大全| 美女脱光内衣内裤视频久久影院| 不卡一区二区中文字幕| 在线播放国产精品二区一二区四区| 久久蜜桃av一区二区天堂| 亚洲精品日韩一| 国产精品亚洲一区二区三区妖精 | 久久久91精品国产一区二区精品| 亚洲色图欧美偷拍| 国产综合久久久久久鬼色| 色综合久久中文综合久久牛| 日韩精品自拍偷拍| 亚洲韩国精品一区| a在线欧美一区| 精品国产髙清在线看国产毛片| 亚洲欧洲在线观看av| 美女视频黄频大全不卡视频在线播放| 国产福利一区二区三区| 欧美一区二区视频免费观看| 成人免费在线播放视频| 美女被吸乳得到大胸91| 在线精品国精品国产尤物884a| 久久久综合网站| 乱中年女人伦av一区二区| 91香蕉国产在线观看软件| 亚洲精品在线观看网站| 丝袜美腿一区二区三区| 9人人澡人人爽人人精品| 精品国产一区二区三区av性色| 午夜精品免费在线观看| 91麻豆精东视频| 中文字幕一区二区三区蜜月| 精品无人码麻豆乱码1区2区 | 国产精品视频在线看| 麻豆精品在线播放| 69久久夜色精品国产69蝌蚪网| 亚洲精品午夜久久久| av中文字幕不卡| 自拍偷在线精品自拍偷无码专区| 国产一二精品视频| 精品国产免费久久| 麻豆精品一二三| 欧美大胆一级视频| 麻豆国产精品官网| 欧美精品高清视频| 日韩国产在线观看| 欧美一区在线视频| 美腿丝袜亚洲三区| 亚洲男人的天堂网| 91在线porny国产在线看| 亚洲国产岛国毛片在线| 成人黄色在线视频| 国产精品无码永久免费888| 国产美女久久久久| 中文字幕av资源一区| 国产乱码精品1区2区3区| 久久精品视频在线免费观看| 久99久精品视频免费观看| 亚洲精品一线二线三线无人区| 精品一区二区三区不卡| 精品国产一区二区三区不卡 | 国产精品亚洲一区二区三区在线| 久久综合狠狠综合| 国产成人在线网站| 国产精品国产三级国产a| 成人av网站在线| 亚洲三级视频在线观看| 色欧美片视频在线观看| 亚洲一区二区三区三| 91麻豆精品国产自产在线| 日本欧美一区二区三区乱码| 欧美xxxxxxxx| 成人一二三区视频| 夜夜操天天操亚洲| 日韩一卡二卡三卡四卡| 国产一区在线观看视频| 国产精品视频麻豆| 欧美无砖砖区免费| 伦理电影国产精品| 国产精品麻豆视频| 在线观看免费亚洲| 极品少妇xxxx偷拍精品少妇| 国产午夜亚洲精品理论片色戒 | 欧美一区二区女人| 国产一区二区免费视频| 国产精品乱人伦一区二区| 在线看日本不卡| 久久99久久久久| 国产精品国产自产拍在线| 欧美午夜精品理论片a级按摩| 免费精品视频最新在线| 国产欧美精品一区二区三区四区 | 国v精品久久久网| 亚洲一二三区在线观看| 久久香蕉国产线看观看99| 91色在线porny| 韩国女主播一区二区三区| 国产精品久久免费看| 欧美一区二区三区四区高清| 成人国产精品视频| 日本午夜精品一区二区三区电影| 欧美高清在线一区二区| 欧美另类久久久品| 9色porny自拍视频一区二区| 热久久免费视频| 亚洲欧美日韩一区二区三区在线观看| 日韩免费高清电影| 色系网站成人免费| 国产精一品亚洲二区在线视频| 亚洲国产一区二区视频| 亚洲国产成人自拍| 欧美成人乱码一区二区三区| 色综合色综合色综合色综合色综合| 麻豆精品在线视频| 久久伊人蜜桃av一区二区| 欧美亚洲禁片免费| 99久久免费视频.com| 国产在线精品不卡| 日韩 欧美一区二区三区|