forked from len0rd/rockbox
This new header generator works differently from the previous one: - it uses the new format - the generated macro follow a different style (see below) - the generated macro are highly documented! - it supports SCT-style platform or RMW-style ones Compared to the old style, the new one generate a big set of macros per register/field/enum (loosely related to iohw.h from Embedded C spec). The user then calls generic (names are customizable) macros to perform operations: reg_read(REG_A) reg_read(REG_B(3)) reg_read_field(REG_A, FIELD_X) reg_read_field(REG_B(3), COOL_FIELD) reg_write(REG_A, 0x42) reg_write_field(REG_A, FIELD_X(1), FIELD_Y(3), IRQ_V(FIQ)) reg_write_fielc(REG_B(3), COOL_FIELD_V(I_AM_COOL), BLA(42)) the following use RMW or SET/CLR variants, depending on target: reg_set_field(REG_A, FLAG_U, FLAG_V) reg_clr_field(REG_A, FIELD_X, FIELD_Y, IRQ) reg_clr_field(REG_B(3), COOL_FIELD, BLA) the following does clear followed by set, on SET/CLR targets: reg_cs(REG_A, 0xff, 0x42) reg_cs(REG_B(3), 0xaa, 0x55) reg_cs_field(REG_A, FIELD_X(1), FIELD_Y(3), IRQ_V(FIQ)) reg_cs_field(REG_B(3), COOL_FIELD_V(I_AM_COOL)) The generator code is pretty long but has lots of documentation and lots of macro names can be customized. Change-Id: I5d6c5ec2406e58b5da11a5240c3a409a5bb5239a |
||
|---|---|---|
| .. | ||
| AMS/hacking | ||
| analysis | ||
| atj2137 | ||
| bootchart | ||
| common | ||
| disassembler/arm | ||
| e200tool | ||
| editors | ||
| hwpatcher | ||
| hwstub | ||
| imxtools | ||
| ipod | ||
| jz4740_tools | ||
| jz4760_tools | ||
| meizu_dfu | ||
| MTP | ||
| nwztools | ||
| regtools | ||
| rk27utils | ||
| rknanoutils | ||
| rockbox_api | ||
| samsungtools | ||
| skinupdater | ||
| tcctool | ||
| themeeditor | ||
| time-sync | ||
| ypr0tools | ||
| zenutils | ||
| parse_testcodec.rb | ||