csl_clkrst.h
来自「dsp在音频处理中的运用」· C头文件 代码 · 共 567 行 · 第 1/2 页
H
567 行
if (CSL_SOK != CSL_clkrstInit(NULL)) { return; } @endverbatim * * @return returns the status of the operation * */CSL_Status CSL_clkrstInit( /** CLKRST specific context information */ CSL_ClkrstContext * pContext );/** @brief Opens the instance of CLKRST requested. * * The open call sets up the data structures for the particular instance of * CLKRST device. The device can be re-opened anytime after it has been normally * closed if so required. The handle returned by this call is input as an * essential argument for rest of the APIs described for this module. * * <b> Usage Constraints: </b> * CLKRST must be successfully initialized via @a CSL_clkrstInit() before calling * this function. Memory for the @a CSL_clkrstObj must be allocated outside * this call. This object must be retained while usage of this peripheral. * * @b Example: * @verbatim CSL_ClkrstObj clkrstObj; CSL_Status status; ... hClkrst = CSL_clkrstOpen(&clkrstObj, CSL_CLKRST_1, NULL, &status); @endverbatim * * @return returns a handle @a CSL_ClkrstHandle to the requested instance of * CLKRST if the call is successful, otherwise, a @a NULL is returned. * */CSL_ClkrstHandle CSL_clkrstOpen ( /** Pointer to the object that holds reference to the * instance of CLKRST requested after the call */ CSL_ClkrstObj* pClkrstObj, /** Instance of CLKRST to which a handle is requested */ CSL_InstNum clkrstNum, /** Module specific parameters; * Currently there are none; the user should pass 'NULL' */ CSL_ClkrstParam *pClkrstParam, /** This returns the status (success/errors) of the call. * Could be 'NULL' if the user does not want status information. */ CSL_Status *pStatus );/** @brief closes the instance of CLKRST requested * * Unreserves the clkrst identified by the handle. * * <b> Usage Constraints: </b> * Both @a CSL_clkrstInit() and @a CSL_clkrstOpen() must be called successfully in that order before @a CSL_clkrstClose() can be called. * * @b Example: * @verbatim CSL_ClkrstHandle hClkrst; ... CSL_clkrstClose(hClkrst); @endverbatim * * @return returns the status of the operation (see @a CSL_Status) * */CSL_Status CSL_clkrstClose( /** pointer to the object that holds reference to the required instance of CLKRST */ CSL_ClkrstHandle hClkrst);/** Configures the CLKRST using the values passed in through the setup structure. The setup structure consists of pointers to substructures. If these pointers are set to @a NULL, then the setup corresponding to that sub-structure is not done. * * <b> Usage Constraints: </b> * Both @a CSL_clkrstInit() and @a CSL_clkrstOpen() must be called successfully in that order before this function can be called. The main setup structure consists of pointers to sub-structures. The user has to allocate space for & fill in the main setup structure & it's sub-structures appropriately before calling this function. If some part of CLKRST is not to be configured, then the corresponding setup sub-structure pointers must be set to @a NULL * * @b Example: * @verbatim CSL_ClkrstHandle hClkrst; CSL_ClkrstHwSetup hwSetup = CSL_CLKRST_HWSETUP_DEFAULTS; Uint16 clkIdleEntry = (CSL_CLKRST_MODULE_PER | CSL_CLKRST_MODULE_WDT | CSL_CLKRST_MODULE_XORP); ... hwSetup.clkIdleEntryPtr = &clkTdleEntry; CSL_clkrstHwSetup(hClkrst, &hwSetup); @endverbatim * * @return returns the status of the setup operation * */CSL_Status CSL_clkrstHwSetup( /** pointer to the object that holds reference to the required instance of CLKRST */ CSL_ClkrstHandle hClkrst, /** pointer to setup structure which contains the information to program CLKRST to a useful state */ CSL_ClkrstHwSetup *setup);/** Gets the configuration of the CLKRST into the setup structure. The setup structure consists of pointers to substructures. If these pointers are set to @a NULL, then the setup corresponding to that sub-structure is not fetched. * * <b> Usage Constraints: </b> * Both @a CSL_clkrstInit() and @a CSL_clkrstOpen() must be called successfully in that order before this function can be called. The main setup structure consists of pointers to sub-structures. The user has to allocate space for & fill in the main setup structure & it's sub-structures appropriately before calling this function. Those parts of CLKRST whose information is not required should have their correspondinf setup sub-structures set to NULL * * @b Example: * @verbatim CSL_ClkrstHandle hClkrst; CSL_ClkrstHwSetup hwSetup = CSL_CLKRST_HWSETUP_DEFAULTS; Uint16 clkIdleEntry; ... hwSetup.clkIdleEntryPtr = &clkTdleEntry; CSL_clkrstGetHwSetup(hClkrst, &hwSetup); @endverbatim * * @return returns the status of the setup operation * */CSL_Status CSL_clkrstGetHwSetup( /** pointer to the object that holds reference to the required instance of CLKRST */ CSL_ClkrstHandle hClkrst, /** pointer to setup structure which contains the information to program CLKRST to a useful state */ CSL_ClkrstHwSetup *setup);/** This function initializes the device registers with the register-values provided through the Config Data structure. For information passed through the Config Data structure refer to @a CSL_ClkrstConfig. * * <b> Usage Constraints: </b> * The user has to allocate space for & fill in the main setup structure appropriately before calling this function. * * @b Example: * @verbatim CSL_ClkrstHandle hClkrst; CSL_ClkrstConfig config = CSL_CLKRST_CONFIG_DEFAULTS; ... CSL_clkrstHwSetupRaw(hClkrst, &config); @endverbatim * * @return Returns the status of the setup operation * */ CSL_Status CSL_clkrstHwSetupRaw( /** pointer to the object that holds reference to the * instance of CLKRST requested after the call */ CSL_ClkrstHandle hClkrst, /** pointer to the object that holds reference to the * config structure */ CSL_ClkrstConfig * setup);/** Takes a command with an optional argument & implements it. This function is used to carry out the different operations performed by clkrst. * * <b> Usage Constraints: </b> * Both @a CSL_clkrstInit() and @a CSL_clkrstOpen() must be called successfully in that order before @a CSL_clkrstHwControl() can be called. For the argument type that can be @a void* casted & passed with a particular command refer to @a CSL_clkrstHwControlCmd * * @b Example: * @verbatim CSL_clkrstHandle hclkrst; CSL_Status status; Uint16 clkEn = (CSL_CLKRST_MODULE_WDT | CSL_CLKRST_MODULE_PER | CSL_CLKRST_MODULE_XORP); ... status = CSL_clkrstHwControl(hclkrst, CSL_CLKRST_CMD_CLK_ENABLE, &clkEn); @endverbatim * * @return returns the status of the operation * */CSL_Status CSL_clkrstHwControl( /** pointer to the object that holds reference to the required instance of CLKRST */ CSL_ClkrstHandle hClkrst, /** the command to this API which indicates the action to be taken */ CSL_ClkrstHwControlCmd cmd, /** an optional argument @a void* casted */ void *arg);/** Gets the status of the different operations or the current setup of CLKRST. The status is returned through @a CSL_ClkrstHwSetup. The obtaining of status * is the reverse operation of @a CSL_clkrstHwSetup() function. * * <b> Usage Constraints: </b> * Both @a CSL_clkrstInit() and @a CSL_clkrstOpen() must be called successfully in that order before @a CSL_clkrstGetHwStatus() can be called. For the argument type that can be @a void* casted & passed with a particular command refer to @a CSL_ClkrstHwStatusQuery * * @b Example: * @verbatim CSL_ClkrstHandle hClkrst; CSL_Status status; Uint16 response; ... status = CSL_clkrstGetHwStatus(hClkrst, CSL_CLKRST_QUERY_CLK_SETTING, &response); @endverbatim * * @return returns the status of the operation * */CSL_Status CSL_clkrstGetHwStatus( /** pointer to the object that holds reference to the required instance of CLKRST */ CSL_ClkrstHandle hClkrst, /** the query to this API which indicates the status/setup to be returned */ CSL_ClkrstHwStatusQuery query, /** placeholder to return the status; @a void* casted */ void *response);/** @brief Function to get the Base-address of the peripheral instance. * * This function is used for getting the base-address of the peripheral * instance. This function will be called inside the @ CSL_clkrstOpen() * function call. * * Note: This function is open for re-implementing if the user wants to modify * the base address of the peripheral object to point to a different * location and there by allow CSL initiated write/reads into peripheral * MMR's go to an alternate location. Please refer the documentation for * more details. * * @b Example: * @verbatim CSL_Status status; CSL_ClkrstBaseAddress baseAddress; ... status = CSL_clkrstGetBaseAddress(CSL_CLKRST_1, NULL, &baseAddress); @endverbatim * * @return Returns the status of the operation (see @a CSL_Status) * */CSL_Status CSL_clkrstGetBaseAddress( /** Instance number */ CSL_InstNum clkrstNum, /** Module specific parameters */ CSL_ClkrstParam * pClkrstParam, /** Base address details */ CSL_ClkrstBaseAddress * pBaseAddress);#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?