📄 mmccore.c
字号:
/*
* Header for MultiMediaCard (MMC)
*
* Copyright (c) 2004 ASIC of SOUTHEAST UNIVERSITY
*
* Many thanks to PESIA!
*
* Based strongly on code by:
*
* Author: Yong-iL Joh <tolkien@mizi.com>
*
* Date : $Date: 2004/12/22 10:02:10 $
*
* Versation : 1.0 $
*
*/
#include "mmccore.h"
struct request g_Request;
struct mmc_dev g_mmc_dev;
int mmc_nr_sects;
extern g_busy;
int mmc_init(void)
{
int i;
for(i=0;i<520;i++){
*(U32*)(0x1fff0000 + 4*i) = 0xABCDEF;
}
g_mmc_dev.suspended = 0;
mmc_nr_sects = 64 *1024*1024/512;
#if 0
g_Request.cmd = 1 ;
g_Request.sector =0;
g_Request.block_len= 512;
g_Request.nr_sectors=2;
g_Request.buffer = (U32*)0x1fff0000;
#endif
return 0;
}
int mmc_exit(void)
{
mmc_nr_sects = 0;
return 0;
}
void mmc_send_cmd( struct mmc_dev *dev, U32 cmd, U32 arg, U32 nob, U32 block_len)// jzp
{
unsigned long flags;
unsigned long psr;
dev->request.cmd = cmd;
dev->request.arg = arg;
dev->request.nob = nob;
dev->request.block_len = block_len;
dev->request.buffer = (U8*) 0;
if ( nob && dev->io_request )
dev->request.buffer = dev->io_request->buffer;
//local_irq_save(flags);
psr = ent_cri();
mmc_cmd_to_reg( &dev->request);
ret_cri(psr);
//local_irq_restore(flags);
}
int mmc_finish_io_request( int result )
{
g_busy = 0;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -