📄 csl_ddr2.h
字号:
* @verbatim
CSL_Status status;
CSL_Ddr2BaseAddress baseAddress;
...
status = CSL_ddr2GetBaseAddress(CSL_DDR2, NULL, &baseAddress);
@endverbatim
*
*
* ============================================================================
*/
CSL_Status CSL_ddr2GetBaseAddress (
CSL_InstNum ddr2Num,
CSL_Ddr2Param *pDdr2Param,
CSL_Ddr2BaseAddress *pBaseAddress
);
/** ============================================================================
* @n@b CSL_ddr2HwSetupRaw
*
* @b Description
* @n This function initializes the device registers with the register-values
* provided through the config data structure.
*
* @b Arguments
* @verbatim
hDdr2 Handle to the DDR2 external memory interface
instance
config Pointer to the config structure containing the
device register values
@endverbatim
*
* <b> Return Value </b> CSL_Status
* @li CSL_SOK - Configuration successful
* @li CSL_ESYS_BADHANDLE - Invalid handle
* @li CSL_ESYS_INVPARAMS - Configuration structure
* pointer is not properly
* initialized
*
* <b> Pre Condition </b>
* @n @a CSL_ddr2Init() and @a CSL_ddr2Open () must be called successfully.
* before calling this function.
*
* <b> Post Condition </b>
* @n The registers of the specified DDR2 EMIF instance will be
* setup according to the values passed through the config structure
*
* @b Modifies
* @n Hardware registers of the DDR2 EMIF
*
* @b Example
* @verbatim
CSL_Ddr2Handle hDdr2;
CSL_Ddr2Config config = CSL_DDR2_CONFIG_DEFAULTS;
CSL_Status status;
...
status = CSL_ddr2HwSetupRaw (hDdr2, &config);
..
@endverbatim
*
* ===========================================================================
*/
CSL_Status CSL_ddr2HwSetupRaw (
CSL_Ddr2Handle hDdr2,
CSL_Ddr2Config *config
);
/** ============================================================================
* @n@b CSL_ddr2HwSetup
*
* @b Description
* @n This function initializes the device registers with the appropriate values
* provided through the HwSetup data structure.
*
* @b Arguments
* @verbatim
hDdr2 Pointer to the peripheral data object of the
DDR2 external memory interface instance
setup Pointer to setup structure which contains the
information to program DDR2 to a useful state
@endverbatim
*
* <b> Return Value </b> CSL_Status
* @li CSL_OK Hwsetup successful
* @li CSL_ESYS_BADHANDLE The handle passed is invalid
* @li CSL_ESYS_INVPARAMS The param passed is invalid
*
* <b> Pre Condition </b>
* Both @a CSL_ddr2Init() and @a CSL_ddr2Open() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* <b> Post Condition </b>
* @n DDR2 registers are configured according to the hardware setup parameters
*
* @b Modifies
* @n DDR2 registers
*
* @b Example:
* @verbatim
CSL_Ddr2Handle hDdr2;
CSL_Ddr2Timing1 tim1 = CSL_DDR2_TIMING1_DEFAULTS;
CSL_Ddr2Timing2 tim2 = CSL_DDR2_TIMING2_DEFAULTS;
CSL_Ddr2Settings set = CSL_DDR2_SETTING_DEFAULTS;
CSL_Ddr2HwSetup hwSetup ;
hwSetup.refreshRate = (Uint16)0x753;
hwSetup.timing1Param = &tim1;
hwSetup.timing2Param = &tim2;
hwSetup.setParam = &set;
CSL_ddr2HwSetup(hDdr2, &hwSetup);
@endverbatim
*
* @return Returns the status of the setup operation
*
* ============================================================================
*/
CSL_Status CSL_ddr2HwSetup (
CSL_Ddr2Handle hDdr2,
CSL_Ddr2HwSetup *setup
);
/** ============================================================================
* @n@b CSL_ddr2GetHwSetup
*
* @b Description
* @n This function gets the current setup of the DDR2. The status is
* returned through @a CSL_Ddr2HwSetup. The obtaining of status
* is the reverse operation of @a CSL_ddr2HwSetup() function.
*
* @b Arguments
* @verbatim
hDdr2 Handle to the external memory interface instance
setup Pointer to setup structure which contains the
information to program DDR2 to a useful state
@endverbatim
*
* <b> Return Value </b> CSL_Status
* @li CSL_OK - Hardware setup successful
* @li CSL_ESYS_INVPARAMS - The param passed is invalid
* @li CSL_ESYS_BADHANDLE - Handle is not valid
*
* <b> Pre Condition </b>
* Both @a CSL_ddr2Init() and @a CSL_ddr2Open() must be called successfully
* in order before calling @a CSL_ddr2GetHwSetup().
*
* <b> Post Condition </b>
* @n None
*
* @b Modifies
* @n Second parameter setup value
*
* @b Example:
* @verbatim
CSL_Ddr2Handle hDdr2;
CSL_Status status;
CSL_Ddr2Timing1 tim1;
CSL_Ddr2Timing2 tim2;
CSL_Ddr2Settings set;
CSL_Ddr2HwSetup hwSetup ;
hwSetup.timing1Param = &tim1;
hwSetup.timing2Param = &tim2;
hwSetup.setParam = &set;
...
status = CSL_ddr2GetHwSetup(hDdr2, &hwSetup);
@endverbatim
*
* @return returns the status of the operation (see @a CSL_Status)
*
* ============================================================================
*/
CSL_Status CSL_ddr2GetHwSetup (
CSL_Ddr2Handle hDdr2,
CSL_Ddr2HwSetup *setup
);
/** ============================================================================
* @n@b CSL_ddr2HwControl
*
* @b Description
* @n Control operations for the DDR2. For a particular control operation, the
* pointer to the corresponding data type needs to be passed as argument
* HwControl function Call. All the arguments (Structure elements included)
* passed to the HwControl function are inputs. For the list of commands
* supported and argument type that can be @a void* casted & passed with a
* particular command refer to @a CSL_Ddr2HwControlCmd.
*
* @b Arguments
* @verbatim
hDdr2 Pointer to the peripheral data object of the
DDR2 external memory interface instance
cmd The command to this API indicates the action to be
taken
arg An optional argument @a void* casted
@endverbatim
*
* <b> Return Value </b> CSL_Status
* @li CSL_OK - Command successful
* @li CSL_ESYS_BADHANDLE - The handle passed is invalid
* @li CSL_ESYS_INVCMD - The Command passed is invalid
*
* <b> Pre Condition </b>
* Both @a CSL_ddr2Init() and @a CSL_ddr2Open() must be called successfully
* in order before calling @a CSL_ddr2HwControl(). For the argument type that
* can be @a void* casted & passed with a particular command refer to
* @a CSL_Ddr2HwControlCmd.
*
* <b> Post Condition </b>
* @n DDR2 registers are configured according to the command passed.
*
* @b Modifies
* @n DDR2 registers
*
* @b Example:
* @verbatim
CSL_Ddr2Handle hDdr2;
CSL_Status status;
CSL_Ddr2SelfRefresh command;
command = CSL_DDR2_SELF_REFRESH_DISABLE;
...
status = CSL_ddr2HwControl(hDdr2,
CCSL_DDR2_CMD_SELF_REFRESH,
&command);
@endverbatim
*
*
* ============================================================================
*/
CSL_Status CSL_ddr2HwControl (
CSL_Ddr2Handle hDdr2,
CSL_Ddr2HwControlCmd cmd,
void *arg
);
/** ============================================================================
* @n@b CSL_ddr2GetHwStatus
*
* @b Description
* @n This function is used to read the current device configuration, status
* flags and the value present associated registers. Following table details
* the various status queries supported and the associated data structure to
* record the response. User should allocate memory for the said data type and
* pass its pointer as an unadorned void* argument to the status query call.
* For details about the various status queries supported and the associated
* data structure to record the response, refer to @a CSL_Ddr2HwStatusQuery
*
* @b Arguments
* @verbatim
hDdr2 Pointer to the peripheral data object of the
DDR2 external memory interface instance
query The query to this API which indicates the status
to be returned
response Placeholder to return the status. @a void* casted
@endverbatim
*
* <b> Return Value </b> CSL_Status
* @li CSL_OK - Hardware status call is
* successful
* @li CSL_ESYS_BADHANDLE - Not a valid Handle
* @li CSL_ESYS_INVQUERY - Invalid Query
*
* <b> Pre Condition </b>
* Both @a CSL_ddr2Init() and @a CSL_ddr2Open() must be called successfully
* in order before callinbg @a CSL_ddr2GetHwStatus(). For the argument type
* that can be @a void* casted & passed with a particular command refer to
* @a CSL_Ddr2HwStatusQuery
*
* <b> Post Condition </b>
* @n None
*
* @b Modifies
* @n Third parameter, response vlaue
*
* @b Example:
* @verbatim
CSL_Ddr2Handle hDdr2;
CSL_Status status;
Uint16 response;
...
status = CSL_ddr2GetHwStatus(hDdr2,
CSL_DDR2_QUERY_REFRESH_RATE,
&response);
@endverbatim
*
*
* ============================================================================
*/
CSL_Status CSL_ddr2GetHwStatus (
CSL_Ddr2Handle hDdr2,
CSL_Ddr2HwStatusQuery query,
void *response
);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -