summaryrefslogtreecommitdiffstats
path: root/utils
AgeCommit message (Collapse)AuthorFilesLines
2013-06-12imxtools: move hwemul to its own directoryAmaury Pouly25-0/+0
The hwemul is only partly imx specific: the stub is stmp specific but could be ported to other targets, the computer side and the protocol are mostly stmp independent (or should be). Change-Id: If88febffe591b0de86ea11cb740455ba20ddc401
2013-06-09time-sync: allow passing an arbitrary time.Dominik Riebeling1-5/+19
During testing it can be useful to set an arbitrary (non-current) time on the device. Extend time-sync to accept an additional (optional) parameter with the time to set. Only changes date / time, no timezone. Change-Id: Ib320777cb245cff19ca00b20540db3a43a4e488f
2013-06-09Rework langstat.Dominik Riebeling1-2/+2
- Generally improve code and make it compliant to PEP8. - Make it work with Python3 as well. Change-Id: I9e99999c59dc501664c36dd38fcb85fb60d6d9e6
2013-04-15rk27load: Fix stage1 (dram init routine)Marcin Bukat2-36/+95
Change-Id: I9f7bbb7e938bd5886c11533b1aa939bd27cab555
2013-03-21rknanoutils: fix boot toolAmaury Pouly1-2/+2
Correctly descramble the first stages (0 to 2) in continuous mode. Also fix a disassembled (but unused) crc routine used in dfu mode. Change-Id: I20016d1c696a9bcb6584377ee9b55493783c7159
2013-03-21rknanoutils: add dfu toolAmaury Pouly2-0/+239
This tool can upload a firmware to the device in DFU mode. The protocol is the same as the rk27xx devices except that it can load a bigger (unlimited ?) firmware. Change-Id: Ic9d4c5087629a9156f9d5d5cdc80767e6359c431
2013-03-16rknanoutils: fix stupid mistakeAmaury Pouly1-7/+14
Change-Id: I5267533226d833b20abb3cfd27cc390aef1181e4
2013-03-05Make the tarball generation tool handle spaces in filenamesFrank Gevaerts1-1/+1
<insert opinion on such filenames here> Change-Id: Ie1b5fac97eea93c9ac934ffb8bf6c0d9a0559339
2013-02-18imxtools/sbtools: silence warningAmaury Pouly1-0/+1
Change-Id: I423e760bbc8e418bcce3afe01c5831b5a3e655f3
2013-02-18imxtools/sbtools: add -jump command, fix helpAmaury Pouly1-0/+8
Change-Id: I0d5d61c1dc137333bda5e403d06a43d16f2750bf
2013-02-18sbtools/elftosb1: implement key file loadingAmaury Pouly1-0/+8
Change-Id: I2273b8d6314250620611ec50d159237edc6d76c2
2013-02-16sbtools: add brute force option for sb1 in sbtoelfAmaury Pouly6-3/+218
After some reverse engineering, it appears that the keys of the sb1 format are very weak: the 128 bytes are generated from the laserfuse words 4,5 and 6 but in a weird manner: 4 and 5 are simply ORed and 6 is only half used (somehow), making it "only" a 48 bit word to find. Change-Id: I40702e19d0924ef51c01894efce3cb65bd664456
2013-02-16sbtools: increase performance by compiling with O3, add zenv keyAmaury Pouly3-1/+2
Change-Id: I2301f695e49d306d21bb9efa9c44acf1d3296a08
2013-01-30imxtools/hwemul: fix Makefile linking orderAmaury Pouly1-1/+1
Change-Id: Ie9ad10c627a86b1e6e689052fd436529d3ba6591
2013-01-29imxtools/hwemul: add readline supportAmaury Pouly3-19/+19
Change-Id: If2e86bf8b520a8d4c38a56ac969918fdeb2c6f91
2013-01-29imxtools/sbtoelf: add more robust version guessAmaury Pouly1-8/+12
Change-Id: I41ce1005d997cf35153e085b19294bb7d418e968
2013-01-26imxtools/sbtools: fix file type detectionAmaury Pouly1-4/+8
Change-Id: I872e98f5810df3ecc975e025385f9c5ca7b47a44
2013-01-26imxtools/hwemul: allow for toolchain prefix overrideAmaury Pouly1-4/+5
Change-Id: I4f790441edac01ab2e8cb286c766ea0b272b4780
2013-01-15imxtools/scsitools: add support for more commandsAmaury Pouly3-8/+459
Change-Id: Iddff64502ba357dcd36903d31015b9ae2d00ae62
2013-01-10imxtools/nwztools: fix compilation for windowsAmaury Pouly3-0/+20
There is a windows port of the sg_utils library for scsi pass- through. This little changes make it compile under mingw. A better fix would be to implement direct ioctl on both windows and linux but that's already better than nothing Change-Id: I0d77cd1bad69806a66f0590362f165f24fa240e9
2012-12-26imxtools/sbtools: improve sb1 key handlingAmaury Pouly1-7/+12
Change-Id: Ib014a102fe44a67dd256e45e804bca9b5812eb61
2012-12-26imxtools/sbtools: add crypto code for documentation purposeAmaury Pouly1-0/+43
Change-Id: I4f3c659d65c1453b192cbce4bf6c85d882761929
2012-12-26elftosb1: fix usage()Amaury Pouly1-0/+10
Change-Id: I9ce73b907fa6276b9cd1f285156623bdafa6d548
2012-12-16imxtools/sbtools: implement rom/product/component version switchAmaury Pouly1-0/+51
Change-Id: If3ebae2e60f324c93f85a4f1a6f30257cccb735d
2012-12-16imxtools/sbtools: fix sb1 product/component version writingAmaury Pouly1-0/+2
Change-Id: I0153192f41ccc5fb98e7e9f6f110d97bd76dbc47
2012-12-16imxtools/sbtools: "fix" address handling in ELFAmaury Pouly1-1/+1
This is a common problem that proprietary tools don't handle ELF files correctly. ELF sections use a virtual address and the virtual -> physical translation is done though segments. This allows to have a load (physical) address different from the virtual one. Here is the trick: proprietary tools usually don't take the pain to do the translation and just grab the virtual address. This commit implements proper translation in elftosb1 knowing that this introduce a deviation from the behaviour of the proprietary tool. Change-Id: I91721a3a8dead382a0603f84ae3b35c5eb9704eb
2012-12-16imxtools/sbtools: introduce elftosb1 for stmp36xxAmaury Pouly2-1/+547
The tool still lacks some feature of the proprietary one but can create files with all the basic features. Change-Id: Ib0c91210940ca829291ce70945f88dc510a49974
2012-12-16imxtools/sbtools: fix some instruction handling & cryptoAmaury Pouly2-8/+17
Change-Id: I6530bdf27896d8325dec4e2ba31c7e6a0131a286
2012-12-16imxtools/sbtools: add elf function (sort by address)Amaury Pouly2-1/+57
Change-Id: Ib68746e11b43eadbbe0443626d4dc65d998348fa
2012-12-16imxtools/sbtools: update misc with MINAmaury Pouly1-0/+4
Change-Id: I17daaff068fcd3a8c70c52db5fa209082461173f
2012-12-16imxtools/sbtoelf: use new method to get default xor keyAmaury Pouly1-21/+6
Change-Id: Ie00306a3c78e7490afe9964bd55ce53019e603ed
2012-12-16imxtools/sbtools: implement sb1 writeAmaury Pouly2-16/+181
Change-Id: Ic36d3a8fcf09350dff5988eb860d76eb11608cc2
2012-12-16imxtools/elftosb: remove duplicate includeAmaury Pouly1-1/+0
Change-Id: I34776ba3608bb5d25ce0d0fb3c6f228a4c9effc0
2012-12-14imxtools/hwemul: remove useless code (pwm)Amaury Pouly1-102/+0
The PWM code was for testing only the Zen X-Fi and should be present in general because it could touch pins by error and without producing any result. Change-Id: Id20e2940cd7a057941d241254d0a867f5451e2db
2012-12-13imxtools/sbloader: implement stmp36xx recovery supportAmaury Pouly1-2/+30
Change-Id: I6cfb432cd474ca00d7dff77577c0aa499b78fe2d
2012-12-13sbtools/sbload: prepare support for the stmp36xxAmaury Pouly1-75/+95
Change-Id: I13147009f2573d80c2c3dca2852a6d7b45174e9d
2012-12-13imxtools/scsitool: retrieve the minimum amount of inquiry dataAmaury Pouly1-1/+1
Some device only report the minimum (36 bytes) amount of inquiry data so don't ask for more Change-Id: Ie74d659f6e27b077acba160aeb87d1e7edf82e66
2012-12-13sbootls/rsrc: fix warningsAmaury Pouly1-1/+2
Change-Id: Id756cab14c9151ea74d628d002e1a203c5fbf01a
2012-12-11imxtools: introduce the new scsitoolAmaury Pouly5-0/+475
It appears that all devices based on the Sigmaltel SDK support a common vendor specific SCSI interface when in UMS mode. This applies to the STMP36xx and the STMP37xx. This interface supports many operations: - get device info - get device paritionning - get janus/drm info - read/write/allocate/erase any partition - reset (chip or to updater and/or recovery) This includes the ability to do a firmware upgrade by rewriting the firmware partition. The tool currently does mostly nothing but will be enhanced depending on the reverse engineering efforts and the use of it. It has been tested on the Fuze+ and the Zen X-Fi2/3. Change-Id: Ibd4b2ad364c03ada4f9001573ef4cc87cfb041d1
2012-12-11newtools/scsitool: fix typoAmaury Pouly1-1/+1
Change-Id: I882956c0022db846882c68f8aac7f9d8fe49dfa8
2012-12-06samsungtool: allow firmware creationAmaury Pouly4-1/+229
The new tool fwcrypt can create a firmware image with a specified model, version, region and so on. Change-Id: I0e90e9ab905398a3e7ae3f4fb8b8bbfb2d12d703
2012-12-06rsrctool: improve debug outputAmaury Pouly1-1/+15
Change-Id: I3a4fc048466b9e4d7290237efc1cefb07fd0a118
2012-12-02hwemul: fix code (out of bound access)Amaury Pouly1-1/+0
As noticed by bertrik some code accesses an array out of its bounds Change-Id: I891d0305213ca7081c386b306f87fe9e1ba3b6c5
2012-12-02rsrctool: produce an actually usuable entry list of the rsrc fileAmaury Pouly5-12/+71
Change-Id: I6c8e5f3faf04741e4a13c1e705e9e869ccf8cfec
2012-11-29Introduce samsungtools to decrypt samsung firmwareAmaury Pouly4-0/+353
Samsung provides many firmware upgrade in the format of a .dat file, at least for nearly all YP's (checked for Q2, R0, T10, Z5). This is a simple cyclic xor which a fixed key, a md5 sum and a header specifying the model/version/region. Change-Id: Ib0461a74196383189fd2d8162da444a85a229c60
2012-11-29imxtools: introduce rsrctool to manipulate rsrc sectionsAmaury Pouly4-1/+505
This tool is very preliminary but could be use for whatever purpose since the format of the rsrc sections is now known. By the way it appears that this format is the same as the one use by the stmp36xx for its resources. Change-Id: Idd7057f5cdce5af9726904169bb100c8bacb0981
2012-11-28sbtoelf: add switch to prevent elf simplificationAmaury Pouly1-6/+15
While elf simplification is a powerful tool it can be useful to prevent it from happening for debug purposes. Also add a missing switch description in usage() and missing static. Change-Id: I80a1904dc4340c412bd3de1c124a2e38d6ac11a2
2012-11-28sbtoelf: also simplify elf files for sb2Amaury Pouly1-0/+1
This is less useful is most cases because sb2 doesn't have the size restritions but some elf are produced with one section per file and still yield dozens or hundreds of sections. And this free anyway so we can do it. Change-Id: Ia5ca83a8375063ecc7052d1ea73b2b21c00be730
2012-11-28sbtoelf: implement elf simplificationAmaury Pouly1-0/+90
Change-Id: Icfac5a2aa6a7b3582054321df003c6bb217b59d0
2012-11-27sbtoelf: implement sb extraction for sb1Amaury Pouly3-4/+54
Load, fill and call/jump instructions are extracted as elf files like for sb2. Because of the size limitations of the sb1 instructions, the resulting elf files can easily have hundreds of sections. The (currently) implemented elf simplification method will hopefully reduce this to a few sections only Change-Id: I8fd6ed935ac3128f244bbd71c782e2a0a1c6d44a