📄 app_dol2function_cpu.c
字号:
/*++
Copyright (c) 2001 Sunplus Technology Co., Ltd.
Module Name:
L1_DoFunction.c
Abstract:
Select the corresponding L1 L2 Function for USB vendor command
Environment:
Keil C51 Compiler
Revision History:
11/12/2001 YPWang created
--*/
//=============================================================================
//Header file
//=============================================================================
#include "general.h"
#include "App.h"
//=============================================================================
//Symbol
//=============================================================================
//-----------------------------------------------------------------------------
//Constant
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//Variable
//-----------------------------------------------------------------------------
//=============================================================================
//Program
//=============================================================================
//-----------------------------------------------------------------------------
//App_DoL2Function_Audio
//-----------------------------------------------------------------------------
/*
routine description:
Do specified Audio L2 Function
arguments:
L2_FuncID - L2 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL2Function_Audio(UCHAR L2_FuncID, ULONG *ArgBuf)
{
USHORT* pAC97RegValue;
switch (L2_FuncID)
{
case 0x81:
L2_InitAC97();;
break;
case 0x82:
L2_RdAC97Reg((UCHAR)ArgBuf[0], pAC97RegValue);
break;
case 0x83:
L2_WrAC97Reg((UCHAR)ArgBuf[0], (USHORT)ArgBuf[1]);
break;
case 0x85:
L2_SetEmbAudCodecVol((UCHAR)ArgBuf[0]);
break;
case 0x86:
L2_EnableAudStream((UCHAR)ArgBuf[0], (UCHAR)ArgBuf[1]);
break;
case 0x87:
L2_PlayAud((ULONG)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2], (UCHAR)ArgBuf[3]);
break;
case 0x88:
L2_RecordAudToDRAM((ULONG)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2]);
break;
case 0x89:
L2_PlayAudFromDRAM((ULONG)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2], (UCHAR)ArgBuf[3] );
break;
case 0x8b:
//L2_TestAud((ULONG)ArgBuf[0]);
break;
default:
break;
}
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL2Function_Global
//-----------------------------------------------------------------------------
/*
routine description:
Do specified Global L2 Function
arguments:
L2_FuncID - L2 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL2Function_Global(UCHAR L2_FuncID, ULONG *ArgBuf)
{
switch (L2_FuncID)
{
case 0x00:
L2_Suspend((UCHAR)ArgBuf[0]);
break;
default:
break;
}
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL2Function_CDSP
//-----------------------------------------------------------------------------
/*
routine description:
Do specified CDSP L2 Function
arguments:
L2_FuncID - L2 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL2Function_CDSP(UCHAR L2_FuncID, ULONG *ArgBuf)
{
switch (L2_FuncID)
{
case 0x00:
L2_InitCDSP((UCHAR)ArgBuf[0]);
break;
default:
break;
}
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL2Function_FM
//-----------------------------------------------------------------------------
/*
routine description:
Do specified FM L2 Function (06)
arguments:
L2_FuncID - L2 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL2Function_FM(UCHAR L2_FuncID, ULONG *ArgBuf)
{
UCHAR ByteData;
USHORT WordData;
//ULONG LongData;
switch (L2_FuncID)
{
case 0x00:
L2_FlashMode((UCHAR)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2]);
//PRINT_APP("L2 0600 finish\n");
break;
case 0x01:
L2_ReadECC((UCHAR)ArgBuf[0], &ByteData);
//PRINT_APP("L2 0601 finish\n");
break;
case 0x02:
L2_ClearECC();
//PRINT_APP("L2 0602 finish\n");
break;
case 0x03:
L2_ECCMode((UCHAR)ArgBuf[0]);
//PRINT_APP("L2 0603 finish\n");
break;
case 0x10:
L2_NANDInit((UCHAR)ArgBuf[0] , (UCHAR)ArgBuf[1]);
//PRINT_APP("L2 0610 finish\n");
break;
case 0x11:
L2_NANDSendCmd((UCHAR)ArgBuf[0]);
//PRINT_APP("L2 0611 finish\n");
break;
case 0x12:
L2_NANDSendAddr((UCHAR)ArgBuf[0],(ULONG)ArgBuf[1]);
//PRINT_APP("L2 0612 finish\n");
break;
case 0x13:
L2_NANDCheckRdy(&ByteData);
//PRINT_APP("L2 0613 finish\n");
break;
case 0x14:
L2_NANDWritePort((UCHAR)ArgBuf[0]);
//PRINT_APP("L2 0614 finish\n");
break;
case 0x15:
L2_NANDReadPort(&ByteData);
//PRINT_APP("L2 0615 finish\n");
break;
case 0x16:
L2_NANDCompleteOperation();
//PRINT_APP("L2 0616 finish\n");
break;
case 0x20:
L2_CFInit((UCHAR)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2]);
//PRINT_APP("L2 0620 finish\n");
break;
case 0x21:
L2_CardDetect((UCHAR)ArgBuf[0],&ByteData);
//PRINT_APP("L2 0621 finish\n");
break;
case 0x22:
L2_CFReset((UCHAR)ArgBuf[0]);
//PRINT_APP("L2 0622 finish\n");
break;
case 0x23:
L2_CFCheckRdy(&ByteData);
//PRINT_APP("L2 0623 finish\n");
break;
case 0x24:
L2_CFSetMemA((UCHAR)ArgBuf[0] ,(UCHAR)ArgBuf[1]);
//PRINT_APP("L2 0624 finish\n");
break;
case 0x25:
L2_CFAttrMemRd((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],&ByteData);
//PRINT_APP("L2 0625 finish\n");
break;
case 0x26:
L2_CFAttrMemWr((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2]);
//PRINT_APP("L2 0626 finish\n");
break;
case 0x27:
L2_CFComMemRd((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],&ByteData);
//PRINT_APP("L2 0627 finish\n");
break;
case 0x28:
L2_CFComMemWr((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2]);
//PRINT_APP("L2 0628 finish\n");
break;
case 0x29:
L2_CFCheckIRQ((UCHAR)ArgBuf[0],&ByteData);
//PRINT_APP("L2 0629 finish\n");
break;
case 0x2a:
L2_CFSetCsA((UCHAR)ArgBuf[0]);
//PRINT_APP("L2 062A finish\n");
break;
case 0x2b:
L2_CFSetWordCsAWr((UCHAR)ArgBuf[0], (USHORT)ArgBuf[1]);
//PRINT_APP("L2 062B finish\n");
break;
case 0x2c:
L2_CFSetWordCsARd((UCHAR)ArgBuf[0], &WordData);
//PRINT_APP("L2 062C finish\n");
break;
#ifdef TestModeEn
case 0xff:
L2_TestFlash((UCHAR)ArgBuf[0]);
break;
#endif
default:
break;
}
return L2K_SUCCESS;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -