Line 42... |
Line 42... |
|
|
#define FLAG_SHIFT(reg_name,flag_name) (reg_name##_##flag_name##_OFFSET)
|
#define FLAG_SHIFT(reg_name,flag_name) (reg_name##_##flag_name##_OFFSET)
|
#define FLAG_MASK(reg_name,flag_name) (1LU << reg_name##_##flag_name##_OFFSET)
|
#define FLAG_MASK(reg_name,flag_name) (1LU << reg_name##_##flag_name##_OFFSET)
|
|
|
#define TEST_FLAG(reg_value,reg_name,flag_name) (((reg_value ) >> reg_name##_##flag_name##_OFFSET) & 1LU)
|
#define TEST_FLAG(reg_value,reg_name,flag_name) (((reg_value ) >> reg_name##_##flag_name##_OFFSET) & 1LU)
|
#define SET_FLAG(reg_value,reg_name,flag_name) { reg_value |= 1LU << reg_name##_##flag_name##_OFFSET; }
|
#define SET_FLAG(reg_value,reg_name,flag_name) { (reg_value) |= 1LU << reg_name##_##flag_name##_OFFSET; }
|
#define CLEAR_FLAG(reg_value,reg_name,flag_name) { reg_value &= ~(1LU << reg_name##_##flag_name##_OFFSET); }
|
#define CLEAR_FLAG(reg_value,reg_name,flag_name) { (reg_value) &= ~(1LU << reg_name##_##flag_name##_OFFSET); }
|
#define ASSIGN_FLAG(reg_value,reg_name,flag_name,flag_value) { \
|
#define ASSIGN_FLAG(reg_value,reg_name,flag_name,flag_value) { \
|
reg_value = flag_value ? ((reg_value) | (1LU << reg_name##_##flag_name##_OFFSET)) : ((reg_value) & ~(1LU << reg_name##_##flag_name##_OFFSET)); }
|
(reg_value) = flag_value ? ((reg_value) | (1LU << reg_name##_##flag_name##_OFFSET)) : ((reg_value) & ~(1LU << reg_name##_##flag_name##_OFFSET)); }
|
|
|
#define FIELD_SHIFT(reg_name,field_name) (reg_name##_##field_name##_OFFSET)
|
#define FIELD_SHIFT(reg_name,field_name) (reg_name##_##field_name##_OFFSET)
|
#define FIELD_MASK(reg_name,field_name) ((~(~0LU << reg_name##_##field_name##_WIDTH)) << reg_name##_##field_name##_OFFSET)
|
#define FIELD_MASK(reg_name,field_name) ((~(~0LU << reg_name##_##field_name##_WIDTH)) << reg_name##_##field_name##_OFFSET)
|
|
|
#define GET_FIELD(reg_value,reg_name,field_name) (((reg_value) >> reg_name##_##field_name##_OFFSET) & (~(~0LU << reg_name##_##field_name##_WIDTH)))
|
#define GET_FIELD(reg_value,reg_name,field_name) (((reg_value) >> reg_name##_##field_name##_OFFSET) & (~(~0LU << reg_name##_##field_name##_WIDTH)))
|
#define SET_FIELD(reg_value,reg_name,field_name,field_value) { \
|
#define SET_FIELD(reg_value,reg_name,field_name,field_value) { \
|
reg_value &= ~((~(~0LU << reg_name##_##field_name##_WIDTH)) << reg_name##_##field_name##_OFFSET); \
|
(reg_value) &= ~((~(~0LU << reg_name##_##field_name##_WIDTH)) << reg_name##_##field_name##_OFFSET); \
|
reg_value |= (field_value) << reg_name##_##field_name##_OFFSET; }
|
(reg_value) |= (field_value) << reg_name##_##field_name##_OFFSET; }
|
|
|
|
|
|
|
#endif /* __FIELDS_H */
|
#endif /* __FIELDS_H */
|
|
|
No newline at end of file
|
No newline at end of file
|