summaryrefslogtreecommitdiff
path: root/utils
AgeCommit message (Collapse)Author
2021-08-14Remove the (very) incomplete port for the Tatung TPJ-1102Solomon Peachy
It was barely even a stub, and hasn't seen any development since 2009 Change-Id: I0aa15d9a7b90ae8c771924d9f401380d4cc0fab9
2021-07-08x1000: more CPM register definitionsAidan MacDonald
Change-Id: Ie6fa343a65a6bd19e578664b10bac771289ed0b3
2021-06-17mknkboot: optimize verifyfirmJames Buren
The checksum only needs to be calculated once. A small oversight on my initial implementation. Change-Id: Ie23faf36f5add7ed7f146769b604dbd8204c2605
2021-06-14x1000: Extend CPM registers for dual bootAidan MacDonald
Change-Id: I283834a653506fd95ff8b56897e5f3afaf375cf5
2021-06-12mknkboot/beastpatcher: implement basic firmware validationJames Buren
This imports the MD5 code used by other utilities and creates a function for checking the provided NK.bin against known original firmware checksums. Integration into mknkboot and beastpatcher is also added. For the sake of consistency with beastpatcher, mknkboot had its printf statements rewrote to print to stderr like beastpatcher does. Change-Id: I0e52271d8d627a5b02302ab5cd1da2815b7cec1e
2021-06-11beastpatcher: fix some minor issuesJames Buren
This mainly fixes some compiler warnings and makes it work with mingw64. Change-Id: Iabd13b5bed3427869ae78ceeb7e2255e68a6f7bd
2021-06-11sendfirm: fix some minor issuesJames Buren
This patches some compile warnings and also makes it work correctly with modern mingw64. Change-Id: I8cd292bc989ae04bbaa1d7149d58d6d833a51c0a
2021-06-01FiiO M3K: minor fixesAidan MacDonald
- Drop obsolete NAND patch script (it's simpler to use 'dd' directly) - Remove an outdated comment - Fix missing 'void' in a function definition - Reset the poweroff timer when we poke the backlight Change-Id: I752624386f30ac95f41a731d2b6be837e12275a9
2021-05-30x1000: refactor AIC initializationAidan MacDonald
Have pcm-x1000 handle most work, so target's audiohw code touches only the relevant settings. Change-Id: Icf3d1b7ca428ac50a5a16ecec39ed8186ac5ae13
2021-05-29x1000: Complete the register definitionsAidan MacDonald
I think this covers everything now, although some fields are missing enum values. Those can be added in if and when they are needed. Change-Id: Ib1a94ba9c9a5949b6a038f8c1a49786823fae58f
2021-04-21FiiO M3K/X1000: add USB supportAidan MacDonald
This only required a minor patch to the usb-designware driver due to DMA requiring physical addresses -- on the X1000, these differ from virtual addresses so we have to do the usual conversion. Both the mass storage and HID drivers work, but there are a few issues so this can't be considered 100% stable yet. - Mass storage might not be detected properly on insertion, and USB has to be replugged before it shows up - HID driver may occasionally panic or hang the machine Change-Id: Ia3ce7591d5928ec7cbca7953abfef01bdbd873ef
2021-03-28New port: FiiO M3K on bare metalAidan MacDonald
Change-Id: I7517e7d5459e129dcfc9465c6fbd708619888fbe
2021-03-25usb: implement macro for initializing USB stringsJames Buren
This uses the new unicode string literal feature that is available now to greatly simplify the initialization of these special string types. This makes them much more readable at a quick glance. Change-Id: Iad8b49aa763486608e3bb7e83fb8abfb48ce0a7b
2021-03-02Add RegGen-NG tool and definitions for Ingenic X1000Aidan MacDonald
Change-Id: Ib9ec35c068e1cff8dcf120a13cfe3f5f58908a95
2021-02-28Add ingenic_tools/usbboot utilityAidan MacDonald
This is essentially an expanded version of jz4760_tools/usbboot, able to support both X1000 and JZ4760 CPUs and easily extended to handle other Ingenic CPUs using the same boot protocol. Change-Id: I70ce3acc3531d65390c6bbae4d2b3352140acf0a
2021-02-27Make headergen_v2's output include what it usesAidan MacDonald
Change-Id: Ie9790faac44c33a170bc2dc39d706575cefa0f2f
2021-01-02rbutil: Add option to langstat to pass git hash.Dominik Riebeling
Don't always operate on the remote head, instead default to the local HEAD, and allow passing a hash to use for calculating statistics. Change-Id: I420308e66769689c1dfac56e19058b097a0533a2
2020-11-22deploy: Update sources list for Rockbox Utility.Dominik Riebeling
Change-Id: If23a2ee8056b124500e385a9d973dfbddbc32e02
2020-11-13Bugfix Backlight_init should be called after lcd_initWilliam Wilgus
the rest.. Change-Id: I50585ba2191aa8134de3045b1445859b27503a68
2020-11-04qeditor: add better fallback mecanism for iconsAmaury Pouly
Change-Id: Ib87406c95fc6c579f108b81246350d12de428ba4
2020-10-31tomcrypt: Set target macOS version.Dominik Riebeling
Make sure the target version isn't the default one so it also runs on older macOS version than the current one. Change-Id: Ib3517c97eee23ce1648e644ffc9daba2d1e7b599
2020-10-21rbutil: Fix native Windows build for tools.Dominik Riebeling
- When make on Windows finds sh.exe it will try to use that. We use cmd.exe calls when detecting Windows, so make sure we use cmd.exe as shell. - Add missing Windows compatibility to tomcrypt Makefile. Change-Id: Iaef133ca27472a5ddf449174d540983f15c66aea
2020-10-18nwzstools: add NW-A820 nvp nodesAmaury Pouly
Change-Id: Iab79eb0c9b0bbf8fb7622f5630f385d56878507a
2020-10-18rbutil: Pass isysroot to rbutil libs on macOS.Dominik Riebeling
On macOS we pass the full path to the compiler. On recent versions this causes the compiler to not find its SDK path, this needs to get passed via the isysroot option. Change-Id: Iea2820e1755cc80e12691119dfa31d70938ea511
2020-10-18sbtools: Change crypto wrapper implementation to C.Dominik Riebeling
There's nothing C++ left. Change-Id: I98d8406215287c02b56029ed7c0e2b0e645bbcf1
2020-10-18sbtools: convert crypto to libtomcrypt.Dominik Riebeling
Replace the use of crypto++ with tomcrypt, which is much smaller and C. This gets rid of various build issues for systems that don't ship crypo++ (i.e. everything except Linux.) Change-Id: Ic0799e17b94935c71b14765cf9a2a7ea2b0adc7a
2020-10-18imxtools: Replace use of "byte" with its underlying uint8_t.Dominik Riebeling
libtomcrypt uses a macro "byte" which conflicts with this type. Since the underlying type is uint8_t and there's no real benefit from using a custom type use the actual underlying type. Change-Id: I982c9b8bdcb657b99fa645a5235303af7afda25b
2020-10-18utils: Add Makefile for our copy of libtomcrypt.Dominik Riebeling
Change-Id: I6b9ffe86b9e78b494a3a9211d6e79bb81c9fb6d4
2020-10-18utils: Add (partial) libtomcrypt.Dominik Riebeling
Add the parts of libtomcrypt that we're about to use. Change-Id: I0adc1d7d1f4833e7bb3ed53b9a4d9a85977cfb8b
2020-10-15nwztools/scsitool: fix incorrect declaration in header fileAmaury Pouly
Change-Id: I10727311db4747a66b3ae7f72a92a64cc99dfc82
2020-10-11nwztools: fix wrongly generate MD5 filesAmaury Pouly
When generating the MD5 using -z index,name the tool would add the entry but forgot to increase the file size, hence truncating the file. Change-Id: Ibd3c594722ab46350cda60d158666fe34a96e922
2020-10-11nwztools: re-implement MD5 on WindowsAmaury Pouly
I forgot to fixup the windows up and missed it because of conditional compilation Change-Id: I526c765b9d56508815941ecb9b9dbac7ea407cf0
2020-10-11nwztool: fix computationAmaury Pouly
It turns out the calculation gives the right result for the wrong reason, this fixes it. Change-Id: I36053c8993b5ae1e85380da59546ffade265fb3f
2020-10-11nwztools/upgtool: add support for MD5Amaury Pouly
When compressing, it is possible to tell the tool to add an entry to the MD5 file (index 1), it is still necessary to give an empty file for that index. To do so, pass the option "-z idx,name" insteas of "-z idx". This will create an entry of the form "size md5 name". For instance "-z 6,system.img". When decompressing, if one passes "-z idx,name" instead of "-z idx", the tool will decompress and check against the value in the MD5 file. Change-Id: Ifb945f6121644ae9105265d2d83ce6067301c5b2
2020-10-11nwztool/upgtools: add NW-A55 and DMP-Z1 KAS, reorganize listAmaury Pouly
Change-Id: I24bc6b15c954540cfa9b4f176ecbf817b1b641e7
2020-10-11nwztool/upgtool: add support for compressionAmaury Pouly
To decompress some output file(s), simply pass -z <idx> where idx is the index of the file to decompress, starting from 0. For example upgtool -e NW_WM_FW.UPG -o tmp/ -m nw-wm1a -z 6 -z 7 to decompress files 6 and 7. To compress file, use the same options: upgtool -c NW_WM_FW.UPG -m nw-wm1a -z 2 script.sh md5sum.txt system.img Change-Id: I1ef0b3e02c98e58154f1a959fb1ad70ad2ce6500
2020-10-11nwztools/upgtools: add support for windowsAmaury Pouly
In order to avoid the crypto++ mess, the code uses the Windows Cryptography API, which is standard. There is also some makefile magic to cross-compile: make PREFIX=i686-w64-mingw32- EXE_EXT=.exe I selected the option so that it should statically link supports libraries used by gcc (slsj and libwinpthread). Change-Id: Iaf07da23afe81ed217fb3921ce13367c5441514d
2020-10-11scsitools: typoAmaury Pouly
Change-Id: I0f4e5b6c5e88a1ae49102e6f6fc6f8c86cb63959
2020-10-11nwztools: add support for new UPG format on post-WM1/A30 devicesAmaury Pouly
The new code supports reading and writing UPG files. I kept the old keysig search code but it only supports the old format (the new format has too long keys anyway). Since we now have to support two types of encryption(DES and AES), I reorganized the crypto routines and clean-up some code. Change-Id: Ie9be220ec2431ec6d0bd11699fa0493b62e1cec2
2020-10-11scsitools: const correctness and add "get_dnk_nvp all" subcommand.Amaury Pouly
Change-Id: Ic5cb3dfa3be684f31a2c55a3cb7d45cfe8c65b25
2020-10-11nwztools: fix MW-WM1/A30 KAS, fix KAS lengthAmaury Pouly
Split WM1A/WM1Z because they don't have the same KAS. On newer devices, the KAS is actually 64 bytes, not 60. The strange thing is that "get_dnk_nvp kas" returns 60 bytes whereas "get_dnk_prop kas" returns 64, not sure why. Change-Id: I944d3d838209ba58388439af0cdf5d7c74f1f7fc
2020-09-17jz4760: Heavily rework USB driver to add working DMA supportSolomon Peachy
* DMA Bulk IN (ie our TX) results in sequential transfers 33-68% faster. * DMA Bulk OUT (ie RX) is mostly stripped out due to complete brokenness. * Interrupt and control endpoints remain PIO-driven. Other improvements: 1) Use consistent endpoint references (no magic numbers) 2) Greatly enhanced logging 3) DMA support can be compiled out completely 4) Setting lockswitch will disable all DMA operations at runtime 5) Much more robust error checking and recovery Change-Id: I57b82e655e55ced0dfe289e379b0b61d8fe443b4
2020-09-04themeeditor: Get revision info from git.Dominik Riebeling
We're not using svn anymore. This isn't used, but at least try to get the right value. Change-Id: I66e726d28b504a0f15d5b6497a02963243ba466a
2020-09-03themeeditor: Update targetdb.Dominik Riebeling
Change-Id: Iec78635b46e08a508a20048a14687f3be830ad63
2020-09-03themeeditor: Make NSIS script work with mxe.Dominik Riebeling
Change-Id: I592a28f64f88c4ec0d1c4f45aeb8148ac2bc7d9b
2020-09-03themeeditor: Make it compile with current Qt5.Dominik Riebeling
- Replace use of obsolete members with their replacements. - Fix type issue that requires explicitly creating the right object now. - Update project file to work with Qt5. Change-Id: I3af2b1520796e977e58c0a01e165c77c469a23b9
2020-09-03themeeditor: Fix download URL for targetdb.Dominik Riebeling
We're not using svn anymore since long. Change-Id: I408b1c59dfaafe1e403b0fa49b912862b68c72f8
2020-09-03themeeditor: Fix menu Quit entry not working.Dominik Riebeling
Change-Id: Ib527b4b4a7b450dee713dea93eaf93d85c0d4bfd
2020-08-05beastpatcher: don't hardcode lib paths.Dominik Riebeling
Let the linker find libmtp / libusb. Also don't insist on linking them statically -- current Debian doesn't have a static libmtp. Set STATIC to force linking statically. Change-Id: I3ce9cea832705c87f08054435eadf9f169afedb2
2020-07-26deploy: Simplify retrieving CPU count.Dominik Riebeling
The multiprocessing module is part of Python since 2.6, so no need to do an extra check here. Change-Id: If1c223edf9f04b6de8fdf757ba00f79897783a53