rockbox/utils
Amaury Pouly e62203aac1 regtools: add headergen_v2
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
2016-05-25 00:11:07 +01:00
..
AMS/hacking amsinfo: save files with .bin extension 2011-12-13 03:01:16 +00:00
analysis Introduce a new analysis tool to detect which macros are defined in each build. 2015-02-16 11:31:05 +01:00
atj2137 Fix uninitialized variable (should fix libusb retry handling) 2015-01-04 13:35:47 +01:00
bootchart Add simple bootchart -> gnuplot shell script 2010-04-05 19:58:51 +00:00
common update deploy.py to recognize and use Qt5 2016-01-17 18:38:28 +01:00
disassembler/arm Make sure files which aren't windows-specific use \n line endings only 2010-06-17 16:59:51 +00:00
e200tool Add new tool to upload code on e200/c200/view in manufacturer mode 2014-04-07 22:25:06 +02:00
editors Move sample.emacs to utils/editors 2010-02-18 23:32:08 +00:00
hwpatcher hwpatcher: add generic RKW file patching script 2014-09-02 22:35:26 +02:00
hwstub hwstub: remove the old library 2016-04-08 18:52:36 +01:00
imxtools qeditor: port to the new hwstub library and add features 2016-04-08 18:46:46 +01:00
ipod Add some notes describing how the bin2note exploit works 2009-07-16 17:40:55 +00:00
jz4740_tools Fix crash on uninitialized variable 2015-01-13 21:57:24 +01:00
jz4760_tools jz4670_tools: add usbboot tool, tweak Makefile and packtool 2016-04-08 18:54:46 +01:00
meizu_dfu meizu_dfu: supports a single argument to run some code from RAM 2010-06-08 23:04:17 +00:00
MTP MTP: put libs after files in the Makefile, to please old gcc versions 2014-12-13 12:58:08 +01:00
nwztools imxtools/nwztools: fix compilation for windows 2013-01-10 00:51:35 +00:00
regtools regtools: add headergen_v2 2016-05-25 00:11:07 +01:00
rk27utils Fix uninitialized variable (should fix libusb retry handling) 2015-01-04 13:35:47 +01:00
rknanoutils rknanoutils: fix boot tool 2013-03-21 19:02:03 +01:00
rockbox_api Fix menu (update to newer one) 2008-10-09 12:28:09 +00:00
samsungtools samsungtool: allow firmware creation 2012-12-06 12:17:50 +01:00
skinupdater SKIN BREAK: %pb, %bl and %pv (bar types) changed so the image is the last param instead of the first. skin updater, skins and manual all updated. 2010-06-09 16:15:01 +00:00
tcctool tcctool: fix Makefile 2013-09-18 13:14:20 +02:00
themeeditor Convert one more file from DOS to UNIX. 2011-11-06 22:52:21 +00:00
time-sync time-sync: allow passing an arbitrary time. 2013-06-09 19:51:08 +02:00
ypr0tools ypr1: Add some commands to rockbox.sh which are needed for playback 2014-03-09 23:25:50 +01:00
zenutils Clean up bogus 'make compiler happy' code 2015-01-12 21:13:00 +01:00
parse_testcodec.rb utils/parse_testcodec.rb: add support for Opus files 2015-07-17 00:51:22 +02:00