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

📄 csl_vpsshwcontrol.c

📁 ccs下对dm6446的测试程序
💻 C
字号:

/*   ==========================================================================
 *   Copyright (c) Texas Instruments Inc , 2004
 *
 *   Use of this software is controlled by the terms and conditions found
 *   in the license agreement under which this software has been supplied
 *   priovided
 *   ==========================================================================
*/
/** \file csl_vpssHwControl.c
 *
 *  \brief    File for functional layer of CSL API \a CSL_vpssHwControl()
 *
 *  Description
 *    - The \a CSL_vpssHwControl() function definition & it's associated
 *      functions
 *
 *  \date   25th October, 2004
 *  \author Vignesh LA
 */

#include <csl_vpss.h>
#include <csl_vpss_aux.h>

#pragma CODE_SECTION (CSL_vpssHwControl, ".text:csl_section:vpss");

/**
    \brief Control VPSS module

    \param hVpss  Pointer to the object that holds reference to the instance
                 of VPSS requested
    \param cmd   Command to perform an operation on VPSS

    \param arg   Arguments if any for the command

    \return if success, \c CSL_SOK, else error code
    \see 
*/

CSL_Status CSL_vpssHwControl ( CSL_VpssHandle hVpss,
                                CSL_VpssHwControlCmd cmd,
                                void *arg ) {
                                
  CSL_Status status = CSL_SOK;   

  switch (cmd) {

	  case CSL_VPSS_CMD_CLR_WBL_O:
        hVpss->regs->PCR = hVpss->regs->PCR;
	    break;

	  case CSL_VPSS_CMD_CLR_CCDC_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF80FFFF;
	    break;
	
	  case CSL_VPSS_CMD_CLR_PRV_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF40FFFF;
	    break;

	  case CSL_VPSS_CMD_CLR_RSZ1_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF20FFFF;
	    break;

	  case CSL_VPSS_CMD_CLR_RSZ2_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF10FFFF;
	    break;

	  case CSL_VPSS_CMD_CLR_RSZ3_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF08FFFF;
	    break;

	  case CSL_VPSS_CMD_CLR_RSZ4_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF04FFFF;
	    break;

	  case CSL_VPSS_CMD_CLR_AF_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF02FFFF;
	    break;

	  case CSL_VPSS_CMD_CLR_AEW_WBL_O:
		hVpss->regs->PCR = hVpss->regs->PCR & 0xFF01FFFF;
	    break;

	  case CSL_VPSS_CMD_DMA_PRI:
		hVpss->regs->PCR = (hVpss->regs->PCR & 0xFF00FFF8) | ((*(Uint8 *)arg) & 0x00000007);
	    break;

	  case CSL_VPSS_CMD_READ_EXPAND:
        status = CSL_vpssSetRdExp(hVpss, (CSL_VpssRdExpInfo *)arg);
	    break;

	  case CSL_VPSS_CMD_CALC_RD_EXPAND:
        status = CSL_vpssCalcRdExp(hVpss, (CSL_VpssRdExpInfo *)arg);
	    break;

	  default:
	     status = CSL_ESYS_INVCMD ;
	     break;
   }
  return status;
}

⌨️ 快捷键说明

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