summaryrefslogtreecommitdiff
path: root/utils/hwstub/tools/init.lua (follow)
Commit message (Collapse)AuthorAge
* hwstub: port hwstub_shell to the new libraryAmaury Pouly2016-04-08
| | | | | | | | | | | | | | | 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
* hwstub_shell: add support for call and jumpMarcin Bukat2014-11-28
| | | | | | | 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>
* hwstub/qeditor: add support for atomic read/writesMarcin Bukat2014-11-18
| | | | | | | | | | 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
* hwstub: don't put revision in the protocol, it's specific to the implementationAmaury Pouly2014-09-07
| | | | Change-Id: I1311a22da41fe977f1613f1e313a864baa03027c
* utils/hwstub: completely rework the protocol, drop unused featuresAmaury Pouly2014-02-10
| | | | | | | | | | | | | | | | | 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
* hwstub: add delay functionAmaury Pouly2013-12-24
| | | | Change-Id: Iab208ed59a9a2540a64b190357411d3de28f288e
* hwstub: add stmp clkctrl code and generic register dumperAmaury Pouly2013-08-11
| | | | Change-Id: I432853fb4171f07ed23b73dc0499814fe8ce8748
* hwstub: enhance protocol with more functionsAmaury Pouly2013-07-13
| | | | Change-Id: I7944249c2f7ea3e180e7b79ee8ae402d1d0742d3
* hwstub: major improvement in the stub and the toolsAmaury Pouly2013-06-13
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