summaryrefslogtreecommitdiffstats
path: root/utils/hwstub/tools/init.lua
AgeCommit message (Collapse)AuthorFilesLines
2016-04-08hwstub: port hwstub_shell to the new libraryAmaury Pouly1-62/+24
Also use this opportunity to cleanup support for multiple devices: the shell now supports dynamic changes in the device and will call init() everytime a new device is selected, to prepare a new environment. The shell now honors register width on register read/write. The shell also provides access to variants as follows by creating a subtable under the register using the variant type in UPPER case and having the same layout as a register. For example if register HW.GPIO.DIR has variants "set" and "clr", those can be used like this: HW.GPIO.DIR.SET.write(0xff) HW.GPIO.DIR.CLR.write(0xff00) Change-Id: I943947fa98bce875de0cba4338e8b7196a4c1165
2014-11-28hwstub_shell: add support for call and jumpMarcin Bukat1-0/+2
Change-Id: Ie09d0db21831b79255da858bada7382a08ff4eef Reviewed-on: http://gerrit.rockbox.org/1052 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com> Tested: Marcin Bukat <marcin.bukat@gmail.com>
2014-11-18hwstub/qeditor: add support for atomic read/writesMarcin Bukat1-2/+2
The current code assumed that READ/WRITE would produce atomic read/writes for 8/16/32-bit words, which in turned put assumption on the memcpy function. Since some memcpy implementation do not always guarantee such strong assumption, introduce two new operation READ/WRITE_ATOMIC which provide the necessary tools to do correct read and write to register in a single memory access. Change-Id: I37451bd5057bb0dcaf5a800d8aef8791c792a090
2014-09-07hwstub: don't put revision in the protocol, it's specific to the implementationAmaury Pouly1-2/+2
Change-Id: I1311a22da41fe977f1613f1e313a864baa03027c
2014-02-10utils/hwstub: completely rework the protocol, drop unused featuresAmaury Pouly1-12/+6
The protocol has evolved a lot during the 2.x.y lifetime, bringing more features which later got unused. This commit removes all the unused stuff and simplifies everything: - drop the feature mask: everything is mandatory or stalled on error - remove the info request and put all static information in standard USB descriptors which are part of the configuration descriptor (and can be retrieved using the standard GetDescriptor request). - remove the USB interface, we had only one anyway - remove all endpoint descriptors - remove the exit/atexit stuff, it never worked as intended anyway - update the hwstub library and make it able to handle any device - update the tools (mostly renaming and removing of code) Change-Id: I1872bba7f4177fc3891180e8f944aab88f5bde31
2013-12-24hwstub: add delay functionAmaury Pouly1-0/+7
Change-Id: Iab208ed59a9a2540a64b190357411d3de28f288e
2013-08-11hwstub: add stmp clkctrl code and generic register dumperAmaury Pouly1-1/+1
Change-Id: I432853fb4171f07ed23b73dc0499814fe8ce8748
2013-07-13hwstub: enhance protocol with more functionsAmaury Pouly1-1/+8
Change-Id: I7944249c2f7ea3e180e7b79ee8ae402d1d0742d3
2013-06-13hwstub: major improvement in the stub and the toolsAmaury Pouly1-0/+104
Fix the stub in many way to correctly detect the STMP family and act upon that. Drop some unused commands and bump version. Rewrite the tool to allows scripting in lua and load the register description from an XML file using the regtools. Introduce a new tool to load and run code using the hwstub (either binary format or Rockbox additive scramble format). Also switch to an optimise version of the memcpy/move/set functions to correctly handle alignement issue (like writing a full word/half-word when possible for registers which is crucial) Change-Id: Id1d5cfe0b1b47e8b43900d32c5cd6eafae6414f6