arch_xt_io_utils.h File Reference
|
yasimavr
|
Loading...
Searching...
No Matches
arch_xt_io_utils.h File Reference
#include <stddef.h>Go to the source code of this file.
Macros | |
| #define | DEF_BITSPEC_F(field) bitspec_t(field ## _gp + bitmask_t(field ## _gm).bitcount() - 1, field ## _gp) |
| #define | DEF_BITSPEC_B(bit) bitspec_t(bit ## _bp) |
| #define | DEF_REGBIT_F(addr, field) regbit_t(REG_ADDR(addr), DEF_BITSPEC_F(field)) |
| #define | DEF_REGBIT_B(addr, bit) regbit_t(REG_ADDR(addr), DEF_BITSPEC_B(bit)) |
| #define | EXTRACT_F(reg, field) (((reg) & field ## _gm) >> field ## _gp) |
| #define | EXTRACT_B(reg, bit) (((reg) & bit ## _bm) >> bit ## _bp) |
| #define | EXTRACT_GC(reg, field) ((reg) & field ## _gm) |
| #define | READ_IOREG(reg) read_ioreg(REG_ADDR(reg)) |
| #define | READ_IOREG_F(reg, field) read_ioreg(REG_ADDR(reg), DEF_BITSPEC_F(field)) |
| #define | READ_IOREG_B(reg, bit) read_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
| #define | READ_IOREG_F_GC(reg, field) (READ_IOREG(reg) & field ## _gm) |
| #define | READ_IOREG_B_GC(reg, field) (READ_IOREG(reg) & field ## _bm) |
| #define | WRITE_IOREG(reg, value) write_ioreg(REG_ADDR(reg), (value)); |
| #define | WRITE_IOREG_F(reg, field, value) write_ioreg(DEF_REGBIT_F(reg, field), (value)) |
| #define | WRITE_IOREG_B(reg, bit, value) write_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit), (value)) |
| #define | WRITE_IOREG_F_GC(reg, field, gc_value) WRITE_IOREG_F(reg, field, (gc_value) >> field ## _gp) |
| #define | WRITE_IOREG_B_GC(reg, field, gc_value) WRITE_IOREG_B(reg, field, (gc_value) >> field ## _bp) |
| #define | TEST_IOREG(reg, bit) test_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
| #define | SET_IOREG(reg, bit) set_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
| #define | CLEAR_IOREG(reg, bit) clear_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
Macro Definition Documentation
◆ CLEAR_IOREG
| #define CLEAR_IOREG | ( | reg, | |
| bit | |||
| ) | clear_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
◆ DEF_BITSPEC_B
| #define DEF_BITSPEC_B | ( | bit | ) | bitspec_t(bit ## _bp) |
◆ DEF_BITSPEC_F
| #define DEF_BITSPEC_F | ( | field | ) | bitspec_t(field ## _gp + bitmask_t(field ## _gm).bitcount() - 1, field ## _gp) |
◆ DEF_REGBIT_B
| #define DEF_REGBIT_B | ( | addr, | |
| bit | |||
| ) | regbit_t(REG_ADDR(addr), DEF_BITSPEC_B(bit)) |
◆ DEF_REGBIT_F
| #define DEF_REGBIT_F | ( | addr, | |
| field | |||
| ) | regbit_t(REG_ADDR(addr), DEF_BITSPEC_F(field)) |
◆ EXTRACT_B
| #define EXTRACT_B | ( | reg, | |
| bit | |||
| ) | (((reg) & bit ## _bm) >> bit ## _bp) |
◆ EXTRACT_F
| #define EXTRACT_F | ( | reg, | |
| field | |||
| ) | (((reg) & field ## _gm) >> field ## _gp) |
◆ EXTRACT_GC
| #define EXTRACT_GC | ( | reg, | |
| field | |||
| ) | ((reg) & field ## _gm) |
◆ READ_IOREG
| #define READ_IOREG | ( | reg | ) | read_ioreg(REG_ADDR(reg)) |
◆ READ_IOREG_B
| #define READ_IOREG_B | ( | reg, | |
| bit | |||
| ) | read_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
◆ READ_IOREG_B_GC
| #define READ_IOREG_B_GC | ( | reg, | |
| field | |||
| ) | (READ_IOREG(reg) & field ## _bm) |
◆ READ_IOREG_F
| #define READ_IOREG_F | ( | reg, | |
| field | |||
| ) | read_ioreg(REG_ADDR(reg), DEF_BITSPEC_F(field)) |
◆ READ_IOREG_F_GC
| #define READ_IOREG_F_GC | ( | reg, | |
| field | |||
| ) | (READ_IOREG(reg) & field ## _gm) |
◆ SET_IOREG
| #define SET_IOREG | ( | reg, | |
| bit | |||
| ) | set_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
◆ TEST_IOREG
| #define TEST_IOREG | ( | reg, | |
| bit | |||
| ) | test_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit)) |
◆ WRITE_IOREG
| #define WRITE_IOREG | ( | reg, | |
| value | |||
| ) | write_ioreg(REG_ADDR(reg), (value)); |
◆ WRITE_IOREG_B
| #define WRITE_IOREG_B | ( | reg, | |
| bit, | |||
| value | |||
| ) | write_ioreg(REG_ADDR(reg), DEF_BITSPEC_B(bit), (value)) |
◆ WRITE_IOREG_B_GC
| #define WRITE_IOREG_B_GC | ( | reg, | |
| field, | |||
| gc_value | |||
| ) | WRITE_IOREG_B(reg, field, (gc_value) >> field ## _bp) |
◆ WRITE_IOREG_F
| #define WRITE_IOREG_F | ( | reg, | |
| field, | |||
| value | |||
| ) | write_ioreg(DEF_REGBIT_F(reg, field), (value)) |
◆ WRITE_IOREG_F_GC
| #define WRITE_IOREG_F_GC | ( | reg, | |
| field, | |||
| gc_value | |||
| ) | WRITE_IOREG_F(reg, field, (gc_value) >> field ## _gp) |
Generated by