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

📄 csl_pschwcontrol.c

📁 TI达芬奇dm644x各硬件模块测试代码
💻 C
字号:
/*   ==========================================================================
 *   Copyright (c) Texas Instruments Inc, 2005
 *
 *   Use of this software is controlled by the terms and conditions found
 *   in the license agreement under which this software has been supplied
 *   provided
 *   ==========================================================================
*/
/** @file csl_pscHwControl.c
 *
 *    @brief    File for functional layer of CSL API @a CSL_pscHwControl()
 *
 *  Description
 *    - The @a CSL_pscHwControl() function definition & it's associated
 *      functions
 *  @date 5-June-2004
 *  @author Lawrence Ronk
 */

#include <csl_psc.h>
/*#include <cslr_sys_001.h>*/ /*Law: need to consier creating functional CSL for sys module.  Hope just register CSL is sufficient for this simple module.*/
#include <csl_pscAux.h>

/*#include <csl_pscAux.h>*/

#pragma CODE_SECTION (CSL_pscHwControl, ".text:csl_section:psc");
/**
    \brief Control PSC module


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

    \param arg   Arguments if any for the command

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

CSL_Status CSL_pscHwControl ( CSL_PscHandle hPsc,
                               CSL_PscHwControlCmd cmd,
                               void *arg ) {

  CSL_Status status = CSL_SOK;



  switch (cmd){


    case CSL_PSC_CMD_DSP_PWR_ON:
      status = CSL_pscPdDspPwrOnOff(hPsc, CSL_PSC_PD_STATE_ON  );
      break;

    case CSL_PSC_CMD_DSP_PWR_OFF:
      status = CSL_pscPdDspPwrOnOff(hPsc, CSL_PSC_PD_STATE_OFF );
      break;

    case CSL_PSC_CMD_DSP_LRESET_ASSERT:
      status = CSL_pscDspLocalReset(hPsc, cmd );
      break;

    case CSL_PSC_CMD_DSP_LRESET_DEASSERT:
      status = CSL_pscDspLocalReset(hPsc, cmd );
      break;


    case CSL_PSC_CMD_MD_STATE_CFG:
      status = CSL_pscMdStateCfg(hPsc, *((CSL_PscMdCfg *) arg) );
      break;


    case CSL_PSC_CMD_MD_STATE_CFG_ALL:
      status = CSL_pscMdStateCfgAll(hPsc, (CSL_PscMdCfg *) arg );
      break;


    case CSL_PSC_CMD_MD_STATE_ENABLE:
      status = CSL_pscMdStateSet(hPsc, (CSL_PscMdCfg *) arg, CSL_PSC_MD_STATE_ENABLE  );
      break;


    case CSL_PSC_CMD_MD_STATE_DISABLE:
      status = CSL_pscMdStateSet(hPsc, (CSL_PscMdCfg *) arg, CSL_PSC_MD_STATE_DISABLE );
      break;


    case CSL_PSC_CMD_MD_STATE_ENABLE_ALL:
      status = CSL_pscMdStateSetAll(hPsc, (CSL_PscMdCfg *) arg, CSL_PSC_MD_STATE_ENABLE );
      break;

    case CSL_PSC_CMD_PD_INT_CFG:
      status = CSL_pscPdIntCfg(hPsc, (*(CSL_PscPdCfg *) arg) );
      break;

    case CSL_PSC_CMD_PD_INT_CLR:
      status = CSL_pscPdIntClr(hPsc, (CSL_PscPdList *) arg );
      break;

    case CSL_PSC_CMD_MD_INT_CFG:
      status = CSL_pscMdIntCfg(hPsc, (*(CSL_PscMdCfg *) arg) );
      break;

    case CSL_PSC_CMD_MD_INT_CLR:
      status = CSL_pscMdIntClr(hPsc, (CSL_PscMdList *) arg );
      break;

    case CSL_PSC_CMD_INT_EVAL:
      status = CSL_pscIntEval(hPsc);
      break;

  default:
    status = CSL_ESYS_INVCMD;
    break;
  }

  return status;

}
     




⌨️ 快捷键说明

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