📄 cs_a.h
字号:
CSRegSwitch, \
ChipSelectEnableVal \
) \
( \
(CS_A_PARAM_CHECKING) ? \
( \
((CSPtr) == NULL) ? \
CS_A_ERR_INVALID_HANDLE : \
(((CSRegSwitch) < CS_A_CSCR0 ) || \
((CSRegSwitch) > CS_A_CSCR3)) ? \
CS_A_ERR_INVALID_REGISTER : \
(((ChipSelectEnableVal) < CS_A_CHIP_SELECT_DISABLE ) || \
((ChipSelectEnableVal) > CS_A_CHIP_SELECT_ENABLE)) ? \
CS_A_ERR_INVALID_CHIP_SELECT_ENABLE_VAL : \
CS_A_ControlChipSelect_f((CSPtr), \
(CSRegSwitch), \
(ChipSelectEnableVal) \
) \
) \
: \
CS_A_ControlChipSelect_f( \
(CSPtr), \
(CSRegSwitch), \
(ChipSelectEnableVal) \
) \
) /* end of CS_A_ControlChipSelect */
/*----------------------------------------------------------------------*/
/* Macro: CS_A_Reset */
/* */
/* Purpose: */
/* CS_A_Reset allows software to request a reset. */
/* Input: */
/* CSPtr : CS module base address associated with this driver. */
/* ResetConditionVal : Allows software to request a cs. */
/* Output: */
/* CS_A_ERR_NONE : No error. */
/* CS_A_ERR_INVALID_HANDLE : CS base address parameter is zero */
/* CS_A_ERR_INVALID_RESET_CONDITION_VAL:Reset Condition is not valid. */
/*----------------------------------------------------------------------*/
#define CS_A_Reset(CSPtr, \
ResetConditionVal \
) \
( \
(CS_A_PARAM_CHECKING) ? \
( \
((CSPtr) == NULL) ? \
CS_A_ERR_INVALID_HANDLE : \
(((ResetConditionVal) < CS_A_EMULATION_MODE) || \
((ResetConditionVal) > CS_A_32_BIT_PORT_SIZE_ENABLE)) ? \
CS_A_ERR_INVALID_RESET_CONDITION_VAL : \
CS_A_Reset_f((CSPtr), \
(ResetConditionVal) \
) \
) \
: \
CS_A_Reset_f((CSPtr), \
(ResetConditionVal) \
) \
) /* End of CS_A_Reset Macro */
/*----------------------------------------------------------------------*/
/* Macro: CS_A_ConfigureChipSelectFeatures */
/* */
/* Purpose: */
/* Writes a chip select register with the user defined values */
/* requested to perform a chip select. */
/* Input: */
/* CSPtr : CS base address associated with this driver. */
/* CSRegSwitch : Select among CS_A registers. */
/* TransferAckVal : Transfer Acknowledge enabled or disabled. */
/* WaitStateVal : Number of wait states for the chip select logic to */
/* insert before asserting the internal cycle */
/* termination signal. */
/* WriteEnableVal : Determines when the Enable Byte output pins are */
/* asserted. */
/* WriteWaitStateVal:Determines additional wait state for write cycle.*/
/* PortSizeVal : Width of external data port. */
/* ReadOnlyVal : Chip Select logic Read Only. */
/* SupervisorOnlyVal : Determines user level access restriction. */
/* Output: */
/* CS_A_ERR_NONE : No error */
/* CS_A_ERR_INVALID_HANDLE : CS base address parameter is zero */
/* CS_A_ERR_INVALID_TRANSFER_ACK_VAL : Not a valid transfer */
/* acknowledge selection */
/* CS_A_ERR_INVALID_WRITE_ENABLE_VAL : Not a valid write enable */
/* selection */
/* CS_A_ERR_INVALID_WAIT_STATE_VAL : Not a valid wait state selection */
/* CS_A_ERR_INVALID_WRITE_WAIT_STATE_VAL : Not a valid write wait */
/* state selection */
/* CS_A_ERR_INVALID_PORT_SIZE_VAL : Not a valid port size selection */
/* CS_A_ERR_INVALID_READ_ONLY_VAL : Not a valid read only selection */
/* CS_A_ERR_INVALID_SUPERVISOR_ONLY_VAL : Not a valid supervisor only */
/* selection */
/* CS_A_ERR_INVALID_REGISTER CS Register:Selection switch is invalid */
/*----------------------------------------------------------------------*/
#define CS_A_ConfigureChipSelectFeatures(CSPtr, \
CSRegSwitch, \
TransferAckVal, \
WaitStateVal, \
WriteEnableVal, \
WriteWaitStateVal, \
PortSizeVal, \
ReadOnlyVal, \
SupervisorOnlyVal \
) \
( \
(CS_A_PARAM_CHECKING) ? \
( \
((CSPtr) == NULL) ? \
CS_A_ERR_INVALID_HANDLE : \
(((CSRegSwitch) < CS_A_CSCR0 ) || \
((CSRegSwitch) > CS_A_CSCR3)) ? \
CS_A_ERR_INVALID_REGISTER : \
(((TransferAckVal) < CS_A_EXTERNAL_LOGIC_ASSERTION) || \
((TransferAckVal) > CS_A_CHIP_SELECT_LOGIC_ASSERTION)) ? \
CS_A_ERR_INVALID_TRANSFER_ACK_VAL : \
(((WaitStateVal) < CS_A_WAIT_STATE_ZERO) || \
((WaitStateVal) > CS_A_WAIT_STATE_SIX )) ? \
CS_A_ERR_INVALID_WAIT_STATE_VAL : \
(((WriteEnableVal) < CS_A_WRITE_AS_BYTES_ENABLE) || \
((WriteEnableVal) > CS_A_EXTERNAL_WRITE_ENABLE )) ? \
CS_A_ERR_INVALID_WRITE_ENABLE_VAL : \
(((WriteWaitStateVal) < CS_A_NO_WAIT_STATE_ADD ) || \
((WriteWaitStateVal) > CS_A_ADD_ONE_WAIT_STATE )) ? \
CS_A_ERR_INVALID_WRITE_WAIT_STATE_VAL : \
(((PortSizeVal) < CS_A_PORT_SIZE_16) || \
((PortSizeVal) > CS_A_PORT_SIZE_32 )) ? \
CS_A_ERR_INVALID_PORT_SIZE_VAL : \
(((ReadOnlyVal) < CS_A_READ_WRITE_ENABLE) || \
((ReadOnlyVal) > CS_A_READ_ONLY_ENABLE )) ? \
CS_A_ERR_INVALID_READ_ONLY_VAL : \
(((SupervisorOnlyVal) < CS_A_SUPERVISOR_AND_USER_ENABLE ) || \
((SupervisorOnlyVal) > CS_A_SUPERVISOR_ONLY_ENABLE )) ? \
CS_A_ERR_INVALID_SUPERVISOR_ONLY_VAL : \
CS_A_ConfigureChipSelectFeatures_f( \
(CSPtr), \
(CSRegSwitch), \
(TransferAckVal), \
(WaitStateVal), \
(WriteEnableVal), \
(WriteWaitStateVal),\
(PortSizeVal), \
(ReadOnlyVal), \
(SupervisorOnlyVal) \
) \
) \
: \
CS_A_ConfigureChipSelectFeatures_f( \
(CSPtr), \
(CSRegSwitch), \
(TransferAckVal), \
(WaitStateVal), \
(WriteEnableVal), \
(WriteWaitStateVal),\
(PortSizeVal), \
(ReadOnlyVal), \
(SupervisorOnlyVal) \
) \
) /* End of CS_A_ConfigureChipSelectFeatures Macro */
/*----------------------------------------------------------------------*/
/* Macro: CS_A_SetRegister */
/* */
/* Purpose: */
/* Write a 16-bit data value to a sub-set of Chip Select Module */
/* registers. Parameter checking is a compile-time option. */
/* Input: */
/* CSPtr : CS_A base address associated with this driver. */
/* CSRegisterSwitch : Select among MGM_A registers. */
/* RegisterValue : Data to copy into selected CS_A register. */
/* Output: */
/* CS_A_ERR_NONE : No error */
/* CS_A_ERR_INVALID_HANDLE : CS base address parameter is zero */
/* CS_A_ERR_INVALID_REGISTER : CS Register Selection is invalid */
/*----------------------------------------------------------------------*/
#define CS_A_SetRegister( CSPtr, \
CSRegisterSwitch, \
RegisterValue \
) \
( \
(CS_A_PARAM_CHECKING) ? \
( \
((CSPtr) == NULL) ? \
CS_A_ERR_INVALID_HANDLE : \
(((CSRegisterSwitch) < CS_A_CSCR0 ) || \
((CSRegisterSwitch) > CS_A_CSCR3)) ? \
CS_A_ERR_INVALID_REGISTER : \
CS_A_SetRegister_f( (CSPtr), \
(CSRegisterSwitch), \
(RegisterValue) \
) \
) \
: \
CS_A_SetRegister_f( (CSPtr), \
(CSRegisterSwitch), \
(RegisterValue) \
) \
) /* End of CS_A_SetRegister Macro */
/*----------------------------------------------------------------------*/
/* Macro: CS_A_GetRegister */
/* */
/* Purpose: */
/* Return the contents of a sub-set of CS Module registers. */
/* Parameter checking is a compile-time option. */
/* Input: */
/* CSPtr : CS_A base address associated with this driver. */
/* CSRegisterSwitch : Select among a sub-set of CS_A registers. */
/* GetRegisterPtr : Result address for selected CS_A register data. */
/* Output: */
/* CS_A_ERR_NONE : No error */
/* CS_A_ERR_INVALID_HANDLE : CS base address parameter is zero */
/* CS_A_ERR_INVALID_REGISTER : CS Register Selection switch is invalid*/
/*----------------------------------------------------------------------*/
#define CS_A_GetRegister( \
CSPtr, \
CSRegisterSwitch, \
GetRegisterPtr \
) \
( \
(CS_A_PARAM_CHECKING) ? \
( \
((CSPtr) == NULL) ? \
CS_A_ERR_INVALID_HANDLE : \
((GetRegisterPtr) == NULL) ? \
CS_A_ERR_BAD_RESULT_ADDR : \
(((CSRegisterSwitch) < CS_A_CSCR0) || \
((CSRegisterSwitch) > CS_A_CSCR3)) ? \
CS_A_ERR_INVALID_REGISTER : \
CS_A_GetRegister_f( (CSPtr), \
(CSRegisterSwitch), \
(GetRegisterPtr) \
) \
) \
: \
CS_a_GetRegister_f( (CSPtr), \
(CSRegisterSwitch), \
(GetRegisterPtr) \
) \
) /* End of CS_A_GetRegister Macro */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -