aboutsummaryrefslogtreecommitdiff
path: root/src/flash
AgeCommit message (Collapse)Author
2016-05-05xmc4xxx: Fix error propagation for erase_check callbackAndreas Färber
If an error occurs during xmc4xxx_blank_check_memory() aka .erase_check, it would break out of the loop over flash sectors and return ERROR_OK. Instead return the error code so that tcl.c can notify the user. Change-Id: Ie2c1b7933eef2b240b28f8a292634fbbf5b31706 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3425 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2016-05-05fm4: Set read callbackAndreas Färber
Fix a segfault for flash read_bank by adopting the default read implementation. Change-Id: I09e030d9a7669b848a1743aaba03875bf408c7ee Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3431 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2016-05-05at91samd: Add additional "B Variant" parts from SAMD21 familyPeter D. Gray
The parts are listed in Rev I of the Datasheet Change-Id: Icdd9108a0f1f19f666fce79de7f25df9f46de866 Signed-off-by: Peter D. Gray <peter@conalgo.com> Reviewed-on: http://openocd.zylin.com/3424 Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com> Tested-by: jenkins
2016-05-05flash/nor: Add Infineon XMC1000 flash driverAndreas Färber
The XMC1000 family uses a very different flash interface from XMC4000. Tested on XMC 2Go and XMC1100 Boot Kit. Change-Id: I3edaed420ef1c0fb89fdf221022c8b04163d41b3 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3418 Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com> Tested-by: jenkins
2016-05-05at91samd: Atmel SAML22 (segment LCD) family addedTomas Vanek
Part IDs taken from Atmel-42402C-SAM L22_Datasheet_Complete-01/2016 (revision C) Change-Id: I1eb76a92097a8327da10faa0551e7fc962a549f8 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/3426 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2016-05-05flash Kinetis: new KVx family addedTomas Vanek
Cortex-M0+ and M4 motor control MCUs KV10, KV11, KV30, KV31, KV42, KV44 and KV46 added to SDID identification. Watchdog disable code changed to work on Cortex-M0+ (KV1x) Protection size set to 1K for 16K flash devices (KV10Z16) - cherry picked from Andrey Smirnov's change #2051 Change-Id: Ia6f4868eaf7e2cb6ad6a736210c703a67e0027be Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/3235 Tested-by: jenkins Reviewed-by: Kyle Manna <kyle.manna@fuel7.com> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2016-05-05Add support for Atmel AT91SAMD21E16B (B variant) and a spelling mistake.Peter D. Gray
Change-Id: I55ab830aed34a02c53f3419facc81c7354368e30 Signed-off-by: Peter D. Gray <peter@conalgo.com> Reviewed-on: http://openocd.zylin.com/3422 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Andreas Färber <afaerber@suse.de>
2016-05-05flash/nor: Reorder drivers alphabeticallyAndreas Färber
To avoid conflicts between flash drivers being added, consistently use an alphabetical sort order for the three places new drivers get added: * Makefile.am NOR_DRIVERS (note: automake disallows a trailing backslash) * drivers.c struct flash_driver forward declarations * drivers.c flash_drivers array Change-Id: Idcd6a8e12821ef10958a6b3ad7bac0dc63cadd08 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3417 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2016-05-04stm32lx: Add support for lock/unlock (RDP Level 0<->1)Andreas Fritiofson
Change-Id: Iecc356373e084056d048d92820062483cac3c8ec Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3234 Tested-by: jenkins Reviewed-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2016-05-04stm32f2x.c: Add more F4 devices.Uwe Bonnes
Taken from git://git.ac6.fr/openocd commit e8ed67c42227b7072 STM32F446 (0x434) now is's own case. Change-Id: I5061db7102b4c923c9f39d3d2f0cc69d29fca0a4 Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3375 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-05-04src/flash/nor/stm32f2x.c: Really erase second bank if requested.Uwe Bonnes
Taken from git://git.ac6.fr/openocd commit e8ed67c42227b7072 Change-Id: Ic7f529aecd1603b8c083c3c9ce96a0f13dd604e0 Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3374 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-05-04 stm32l4x.c: Correct waiting for data.Uwe Bonnes
Old code waited only for 7 bytes and didn't handle buffer wrap-around, but was functional despite. Change-Id: Iceaf7be1e51368b2ec0a8722cc9ac16d12f9aa63 Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3140 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-05-04stm32l4x.c: Use explicit 64-bit flash access as reference manual implies.Uwe Bonnes
Change-Id: I87b540c1ee7158a9d697e9fbc845a603c6bbe74d Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3139 Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com> Tested-by: jenkins
2016-05-04flash: Added support for Freescale Kinetis KE family.Ivan Meleca
Tested with MKE04Z8VTG4, MKE02Z64VLC4 and MKE02Z64VLD2. Change-Id: I606e32a2746a3b96d3e50f3656ba78d40c41c1ea Signed-off-by: Ivan Meleca <ivan@artekit.eu> Reviewed-on: http://openocd.zylin.com/3380 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2016-05-04stm32l4x.c: Free r6/7 for 64-bit operations.Uwe Bonnes
Use r5 instead of r7. Change-Id: I350d00eeabe9446d64dba8f1dbffb5d4beab7dd6 Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3138 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-04-06flash Kinetis: remove TARGET_HALTED halted check from probeTomas Vanek
There is no reason why not probe running target. Initial gdb connect to running target is now possible without halt in gdb-attach event. Change-Id: Iacc4a231587d378168b18db871582f1086504831 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/3382 Tested-by: jenkins Reviewed-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29helper/fileio: Remove nested structMarc Schink
Change-Id: I1a3afbddcf950689da58e0df8850a05f558d7879 Signed-off-by: Marc Schink <openocd-dev@marcschink.de> Reviewed-on: http://openocd.zylin.com/3222 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29fm4: Add support for S6E2DH familyAndreas Färber
Add support for S6E2DH MainFlash. VFlash is not implemented. Briefly tested with SK-FM4-176L-S6E2DH V110 board. Change-Id: If7c523d8c75307bc1494bbf4cca3eed0272e8e01 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3158 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-29fm4: Add support for MB9BFx64/x65Andreas Färber
These appear to be just additional flash size configurations. Entirely based on manual, untested. Change-Id: I4460dc1a588335df8fc0a385d24513a4e35b6951 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3157 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-29flash: nor: mdr: implement read/verify for Info memoryPaul Fertser
This adds necessary code to obtain data from the Info region which is not memory-mapped so can't be read the usual way. With this "flash read_bank" and "flash verify_bank" commands should start to work as expected for the Info memory block. Change-Id: I57e4b80fff577500cfa85954b625fe9c9ff92aa5 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/3227 Tested-by: jenkins Reviewed-by: Eldar Khayrullin <eldar.khayrullin@mail.ru> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29xmc4xxx: Integrate build of erase check codeAndreas Färber
Instead of pointing to the assembler sources in a comment and inline-commenting the THUMB bytecode, place the hex array alongside the assembler sources and include it via preprocessor. Originally inspired by a typo in the file path during driver development, but it also facilitates making changes to the assembler sources. A Makefile is provided to help automate updating the bytecode. It is not integrated with the automake system to avoid forcing an ARM cross-compiler onto every user, i.e. after modifying the sources they need to be rebuilt in that directory before building the usual way. ARM_CROSS_COMPILE= can be passed on the make command line to deal with native ARM toolchains or with varying prefixes of cross-toolchains. Change-Id: I00ceb980a68c8554a180dd13719ac77b677a8bcd Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3133 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2016-02-29flash: New Spansion FM4 flash driverAndreas Färber
The Spansion FM4 family of microcontrollers does not offer a way to identify the chip model nor the flash size, except for Dual Flash vs. regular layout. Therefore the family is passed as argument and wildcard-matched - MB9BFx6x and S6E2CC families are supported. Iterations showed that ... 1) Just doing the flash command sequence from SRAM loader code for each half-word took 20 minutes for an 8 KB block. 2) Doing the busy-wait in the loader merely reduced the time to 19 minutes. 3) Significant performance gains were achieved by looping in loader code rather than in OpenOCD and by maximizing the batch size across sectors, getting us down to ~2 seconds for 8 KB and ~2.5 minutes for 1.1 MB. (Tested with SK-FM4-176L-S6E2CC-ETH v11, CMSIS-DAP v23.) gcc, objcopy -Obinary and bin2char.sh are used for automating the integration of hand-written assembler snippets. Change-Id: I092c81074662534f50b71b91d54eb8e0098fec76 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/2190 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-29at91sam4 Flash: Added identification of atsam4n'sColin Helliwell
The Flash driver for at91sam4 cpu's has been enhanced to recognise and support the SAM4N family. Change-Id: I50c471a6053b52edffd8efdd8abfe516cc5c55ee Signed-off-by: Colin Helliwell <colin.helliwell@ln-systems.com> Reviewed-on: http://openocd.zylin.com/3242 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-29stm32lx.c: Print device string as info.Uwe Bonnes
Change-Id: I893f0d9a5095a9f122adc76cf403277639fa880c Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3362 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29stm32lx.c: Add STM32L0 categories 1, 2 and 5.Uwe Bonnes
Change-Id: I493072a856a66e4cd60de490a0937287db4b5c4d Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3360 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29flash/nor/faux.c: fixing check for failed mallocAlexander Kurz
Error found by static code analysis using the semantic pattern null_ref2/mini_null_ref2.cocci, see coccinellery.org Change-Id: Ic817c29f0ccf2b41fc8f7d9a480ad30d6e5b7ab8 Signed-off-by: Alexander Kurz <akurz@blala.de> Reviewed-on: http://openocd.zylin.com/3364 Tested-by: jenkins Reviewed-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29flash/nor/stellaris: fix: flash info RCC and RCC2 mixed upAlexander Kurz
The flash info command on stellaris platformes "TI/LMI Stellaris information ... rcc is ..., rcc2 is ..." presented the actual RCC2 register as rcc and an uninitialized variable as rcc2 due to a copy and paste error. Found using the semantic pattern da/da.cocci, see coccinellery.org Change-Id: I6f920fc3e07fdc085ea8e2248fbc9453eb8393dc Signed-off-by: Alexander Kurz <akurz@blala.de> Reviewed-on: http://openocd.zylin.com/3368 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29flash/nor/non_cfi.c: cleanup, member double-intializationAlexander Kurz
A struct member has been initialized twice. Found using the semantic pattern da/da.cocci, see coccinellery.org Change-Id: I0320afd60f1ba505758cc5bc0adcf27f572492fb Signed-off-by: Alexander Kurz <akurz@blala.de> Reviewed-on: http://openocd.zylin.com/3369 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29Cleanup: removal of obsolete semicolonsAlexander Kurz
Obsolete C source code semicolons were removed using the semantic patch semicolon/semicolon.cocci, see coccinellery.org Change-Id: I153b4995a9e028ebaf5f58c947821dc78345a777 Signed-off-by: Alexander Kurz <akurz@blala.de> Reviewed-on: http://openocd.zylin.com/3367 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-29cfi intel: fixing faulty flash write error messageAlexander Kurz
Writing to Intel CFI flash with unaligned tail bytes raised a false error message although all data was programmed successfully. e.g.: > flash write_image image 0x602e0000 bin > Programming at 0x602e0000, count 0x00000002 bytes remaining > couldn't write word at base 0x60000000, address 0x602e0000 > error writing to flash at address 0x60000000 at offset 0x002e0000 Root cause for this false error was a mixup of two result variables introduced with ecc8041c. Change-Id: Ib6b85293dbed946a36a307e5b198c47b901145bf Signed-off-by: Alexander Kurz <akurz@blala.de> Reviewed-on: http://openocd.zylin.com/3233 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-27nrf51: move hwid 0057 and add 0058Peter A. Bigot
Chip markings: N51822 / QFAAG2 / 1435CZ for HWID 0057 N51822 / QFAAG3 / 1436AJ for HWID 0058 Change-Id: I242b94d6a2362aae0de970c7ac77811c76dacdc0 Signed-off-by: Peter A. Bigot <pab@pabigot.com> Reviewed-on: http://openocd.zylin.com/3187 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-27nrf51: move table entry for hwid 0084 to correct MCU sectionPeter A. Bigot
This is a nRF51822 variant, not a nRF51422 variant. Change-Id: Ia199e0afa39408d7391a9655bad47eba2fd85f14 Signed-off-by: Peter A. Bigot <pab@pabigot.com> Reviewed-on: http://openocd.zylin.com/3105 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2016-02-23xmc4xxx: Add XMC4700 supportAndreas Färber
Tested with EES-AA revision chips on Relax Kit for 5V Shields and Relax Lite Kit. Change-Id: I17d4479657bad0516d4c10c2ad7e745d59e678b7 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3136 Tested-by: jenkins Reviewed-by: Jeff Ciesielski <jeffciesielski@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2016-02-15Kinetis: check/switch run mode before flash operationTomas Vanek
FTFx flash controller requires MCU in normal RUN mode. Flash cannot be erased, programmed or blank checked in VLPR or HSRUN modes. VLPR mode is switched to RUN mode as it does not require any changes in clock generator setting. VLPR can be active from reset on some KLx devices (with some FOPT setting) so 'reset init' might not be sufficient to get device to normal RUN. Any other mode than RUN or VLPR is reported as an error. Change-Id: I60f494ce0d534b04870c6219d9b05f66f7244433 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/3012 Tested-by: jenkins
2016-02-15Kinetis: invalidate flash cache after erase/writeTomas Vanek
Cached old flash contents broke verify readback on Kx devices. Change-Id: I0effaf358f451b473f0d9c762a133ffd21bc64b4 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/2993 Tested-by: jenkins
2016-02-15Kinetis: improve flash detection using SIM_FCFG2 MAXADDR0 and MAXADDR1Tomas Vanek
Autodetect 1 or 2 flash blocks devices and recheck bank sizes. Correct pf_size calculation for 2 MB devices. Change-Id: Ib3b68db9ec5356b8d5dc73c9f12053f7476bf474 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/2992 Tested-by: jenkins
2016-02-15Kinetis: nvm_partition commandTomas Vanek
Command for partitioning FlexNVM to data flash and EEPROM blocks Change-Id: Ia0ea65d72b0e5f23da330520284b0bd26435e444 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/2991 Tested-by: jenkins
2016-02-15Kinetis: fix preparation of FlexRAM before flash programmingTomas Vanek
FlexRAM should be requested before any section programming. Test FCNFG RAMRDY bit before issuing FTFx_CMD_SETFLEXRAM to speed up operation and to cover pflash only devices. Change-Id: Ib0f2d8e8ab8b1507cbf2b7f8565178ab79941f5d Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/2990 Tested-by: jenkins
2016-02-15Kinetis: kinetis_ftfx_command() based on target instead of flash bankTomas Vanek
kinetis_ftfx_command() did not use other struct flash_bank* members than base->target. Switching first parameter to struct target* enables use of kinetis_ftfx_command() without unnecessary bank getting and probing. Removed kinetis_securing_test: kind of dead code, same function as command flash erase_address pad 0x400 0x10 Removed "NAND" word from help as flash is obviously NOR Change-Id: I3f5fc295ef2bf42f3e913549949f2a36377f6367 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/2988 Tested-by: jenkins
2016-02-15Kinetis: FlexNVM handlingTomas Vanek
FlexNVM (data flash) is memory mapped at 0x10000000. Driver used to send the same address to FTFx controller for erase/write ops. This was wrong as FTFx accepts only low 24 bits of address. To fix addressing for flash controller kinfo->prog_base was introduced. Added FlexNVM protection check, blank check and data flash size calculation. Blank check cannot use block operation on FlexNVM when EEPROM backup is enabled. Removed non functional reassign logic and bank_ordinal stuff. Now one can re-probe FlexNVM banks after nvm_partition change. Change-Id: Ia60b938266963e5d056701278cdf7bf2f62a429a Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/2987 Tested-by: jenkins
2016-02-13flash: nor: nrf51: add hwid 0x0057Jacob Rosenthal
Change-Id: I43b9dc1ce254a8ee8c84ad8e25bb809eb8629e13 Signed-off-by: Jacob Rosenthal <jakerosenthal@gmail.com> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/3102 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-13cfi: support for 16-bit flash with reversed endiannessEsben Haabendal
This is for targets where flash controller has reverse endianness compared to target. For these, the 'bus_swap' parameter can be given to the CFI driver, which will cause command CFI commands to be written with bytes swapped. This is only for x16 CFI flash. Change-Id: I698b768e92e65d160232e90b0e81a824e3c81a46 Signed-off-by: Esben Haabendal <esben@haabendal.dk> Reviewed-on: http://openocd.zylin.com/3041 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-13flash/nor/spi: reorder to group micron devicesRobert Jordens
Change-Id: Ic5b13e8b994d0741a0a12cd7ed427191b42958e2 Signed-off-by: Robert Jordens <jordens@gmail.com> Reviewed-on: http://openocd.zylin.com/3207 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2016-02-03flash: nor: {pic32mx,cfi}: fix register namesPaul Fertser
Commit fd43be07265b5f3cf3146f2bb80c1c2fc0a44fcf introduced a regression: since the register names were changed from those traditional for MIPS to common GDB scheme the code that makes use of them needs to be changed accordingly. This commit restores pic32mx flash driver functionality. Change-Id: Id18c739390fae36737a02dc30c363d0444f53b96 Reported-by: Louis Rannou <louson@users.sf.net> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/3206 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-01-29flash/nor/niietcm4: minor fixesBogdan Kolbov
niietcm4_write() buffer padding: add correct buffer padding for 16 bytes. Args check in FLASH_BANK_COMMAND_HANDLER(): first version of the driver had 7 args, current - 6. This patch will fix error when flash is rejected (current k1921vk01t.cfg has flash bank init with 6 args). Timeouts in flash flag checking procedure: increase timeouts in niietcm4_opstatus_check() and niietcm4_uopstatus_check() cause there were problems in some hardware configurations. JTAG ID: wrong id in k1921vk01t.cfg replaced with right one. Signed-off-by: Bogdan Kolbov <kolbov@niiet.ru> Change-Id: I84296ba3eb4eeda4d4a68b18c94666f1269a500f Reviewed-on: http://openocd.zylin.com/3171 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2015-12-29arm_adi_v5: dap_queue_ap_* DAP->AP parameterAndreas Fritiofson
Move the mandatory dap_ap_select() call into the dap_queue_ap_read/write wrapper. This avoids the need for dap_ap_select() and the notion of a "current" AP within target code. Change-Id: I5cde8f3eef2c662f7458be6f3b3dd44ea693bd74 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3164 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
2015-12-29arm_adi_v5: Remove all cases of "restoring" previous dap_ap_select()Andreas Fritiofson
All AP operations should select the AP to use before calling it so there's no point in restoring the previous value afterwards. The explicit call to dap_ap_select() before all AP operations should be moved into dap_queue_ap_read/write() which then would have to take the AP as an argument instead of the DAP. Change-Id: Icacb0c76ef2a5ac36b4d2f26b52ec01a8850286e Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3156 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
2015-12-29arm_adi_v5: Remove all mem_ap_sel_* functionsAndreas Fritiofson
All mem_ap_* functions now make sure the SELECT register is updated with the AP number that it's operating on. This shouldn't have to be handled explicitly. Change-Id: Ib193d8930fabb6a25715064355f98258c9580b5d Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3153 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
2015-12-29arm_adi_v5: Change mem_ap calls to take pointer to AP and not DAPAndreas Fritiofson
Change-Id: I8d3e42056aa5828cb917ca578a54b7d53846a150 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3149 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
2015-12-29arm_adi_v5: Convert the AP references from numbers to pointersAndreas Fritiofson
Change the debug_ap and memory_ap fields of the cortex_a target and the debug_ap field of the cortex_m target to be pointers to the struct adiv5_ap instead of AP numbers in some known DAP. This reduces the dependency on the DAP struct in the targets and enables MEM-AP accesses to take the relevant AP as parameter. Change-Id: I39d7b134d78000564b7eec5bff464adf0ef89147 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3147 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>