Commit Graph

728 Commits

Author SHA1 Message Date
dragonmux 663f2a329a samd: Cleanup and stylistic fixes 2022-08-18 18:52:00 -07:00
dragonmux 8cf1d2f09c target: Added target clock tristating to the target attach and detach functions 2022-08-15 22:16:15 -07:00
dragonmux d4d6218234 stm32g0: Refactored the wait code in the flash write routine 2022-08-15 22:16:15 -07:00
dragonmux d6c1d8a1cc stm32g0: Made the flash write routine a little more understandable 2022-08-15 22:16:15 -07:00
dragonmux 23cf81eb55 stm32g0: Begun cleaning up the flash write routine 2022-08-15 22:16:15 -07:00
dragonmux 486fb6504c stm32g0: Cleaned up stm32g0_flash_lock 2022-08-15 22:16:15 -07:00
dragonmux f554fbd831 stm32g0: Refactored out the cleanup step for the flash routines 2022-08-15 22:16:15 -07:00
dragonmux de909d96f0 stm32g0: Removed some checks from the erase function which can never fire 2022-08-15 22:16:15 -07:00
dragonmux 90fc89fd63 stm32g0: Further naming and structural cleanup in stm32g0_flash_erase 2022-08-15 22:16:15 -07:00
dragonmux f4d8022437 stm32g0: Refactored out the busy wait code into a small function,
This netted a 36 byte code size reduction
2022-08-15 22:16:15 -07:00
dragonmux 60af35b06c stm32g0: Begun sorting out the erase routine mess 2022-08-15 22:16:15 -07:00
dragonmux f859368a97 stm32g0: Fixed the structure naming and typedef'd them 2022-08-15 22:16:15 -07:00
dragonmux 04b86f6eea stm32g0: Cleaned up the STM32G0B_C memory map setup slightly 2022-08-15 22:16:15 -07:00
dragonmux c500e720e3 stm32g0: Removed some more unnecessary casts 2022-08-15 22:16:15 -07:00
dragonmux 43afb5207a stm32g0: Run clang-format through much of the code 2022-08-15 22:16:15 -07:00
dragonmux ba7c6a3048 stm32g0: Cleaned up the flash function definitions 2022-08-15 22:16:15 -07:00
dragonmux 1aa1a3598a stm32g0: Removed some needless casts from the command list build 2022-08-15 22:16:15 -07:00
dragonmux 6b5c492bc7 adiv5_swdp: Implemented clock tristating for adiv5_swdp_scan 2022-08-15 22:16:15 -07:00
dragonmux 4c544bad28 adiv5: Add a dummy read to the end of firmware_mem_write_sized() so we always wait on the write to ensure it's complete before any DP access can occur 2022-08-08 14:45:38 -07:00
dragonmux 7107d14bbc sfdp: Moved the read debugging into the implementation 2022-08-08 14:43:29 -07:00
dragonmux 1556db88de rp: Made use of the extra information we pull back from the SFDP data in rp_flash_erase 2022-08-08 14:43:29 -07:00
dragonmux 09b044e351 rp: Cleanup in the Flash write/erase routines 2022-08-08 14:43:29 -07:00
dragonmux e69a79cecf rp: Types cleanup for the Flash erase/write routines 2022-08-08 14:43:29 -07:00
dragonmux 4630353be4 rp: Created a Flash container type for the SPI-specific configuration bits 2022-08-08 14:43:29 -07:00
dragonmux d883fd0cdc rp: Refactored the SPI Flash parameter and size readout into rp_add_flash() 2022-08-08 14:43:29 -07:00
dragonmux 8e99e8ec4d rp: Added some debugging to the SFDP read routine to aid with SFDP failures 2022-08-08 14:43:29 -07:00
dragonmux 298299d85b rp: Cleaned up some variable naming in the ROM function table reader 2022-08-08 14:43:29 -07:00
dragonmux 9681475ab5 rp: Made use of the SFDP routines to extract the necessary Flash parameters 2022-08-08 14:43:29 -07:00
dragonmux 253d0cc1d9 rp: Entirely rewrote the SPI Flash read routine so we can implement SFDP support 2022-08-08 14:43:29 -07:00
dragonmux 6559c46ce9 sfdp: Implemented a structure for the JEDEC ID data 2022-08-08 14:43:29 -07:00
dragonmux 969c7c6c14 rp: Naming cleanup for the memory region base addresses and sizes 2022-08-08 14:43:29 -07:00
dragonmux ff30b66b3a rp: Cleaned up the RP register definitions for the SPI Flash and the chip select line control routine 2022-08-08 14:43:29 -07:00
dragonmux 2058725dd8 rp: Cleaned up and rewrote the ROM function table readout code to be more understandable and transparent
This saves 20 bytes of Flash
2022-08-08 14:43:29 -07:00
dragonmux a372cfd787 rp: Fixed the private structure naming and made a typedef for it 2022-08-08 14:43:29 -07:00
dragonmux 11b43a7c66 rp: Refactored the ROM table tags using a helper macro 2022-08-08 14:43:29 -07:00
dragonmux f2b0d3030c rp: Fixed the UB _-prefixed naming of the ROM routines 2022-08-08 14:43:29 -07:00
dragonmux 8d772d048b rp: Cleaned up ROM table function table readout 2022-08-08 14:43:29 -07:00
dragonmux 8382b0aa7d rp: Magic numbers cleanup using top of file definitions 2022-08-08 14:43:29 -07:00
dragonmux 96259d11c8 sfdp: Implemented the logic needed to read the headers and basic parameter table 2022-08-08 14:43:29 -07:00
dragonmux d9c7c8bc13 sfdp: Implemented types and helpers for the basic parameter table 2022-08-08 14:43:29 -07:00
dragonmux c6133a8cae sfdp: Begun implementing the machinary needed to read and parse out SFDP headers from SPI Flash 2022-08-08 14:43:29 -07:00
dragonmux 64c0b8a298 target_internal: typedef'd the target_flash structure to make use nicer 2022-08-08 14:43:29 -07:00
dragonmux 1b8dd3a5d9 target: Made target_flash_for_addr() available as a target internal 2022-08-07 20:16:04 -07:00
dragonmux 3dadd64f9b samd: Made all the defined constants unsigned 2022-08-07 13:38:42 -07:00
dragonmux da2c4f24b0 samd: Done a little reformatting of the defined constants 2022-08-07 13:38:42 -07:00
dragonmux 5ade9143a6 samd: Removed piles of needless command handler casts 2022-08-07 13:38:42 -07:00
dragonmux 0be6c1bc72 samd: Corrected the DID family mask 2022-08-07 13:38:42 -07:00
dragonmux d9e14645da samd: Fixed a couple of clang-tidy warnings 2022-08-07 13:38:42 -07:00
Sean Cross c89fd19632 adiv5_jtagdp: remove double-parens on if statement
Some parens were doubled-up, which can cause warnings on certain
platforms. Remove the double-parens in order to fix this warning.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-08-07 11:10:05 -04:00
Sean Cross aeab1bae03 adiv5: use PRIxNN specifiers for debug printfs
This fixes a few printf-style warnings that slipped through due to the
fact that they're only enabled on debug builds. This enables building
this file on an Xtensa platform where -Werror and -Wformat is enabled by
default.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-08-07 11:10:05 -04:00
Rafael Silva 0075abacbf jlink_adiv5_swdp: remove duplicated logic on swdp low access 2022-08-06 18:02:30 -04:00
Rafael Silva 4f01ffe56c misc: change return type of scan routines to size_t 2022-08-06 18:02:30 -04:00
Rafael Silva ce6477886f target/adi: unify DPIDR TARGETID handling in adiv5_dp_init
this makes the assumption that DPs will be v1 or higher, for SWD-DP scans this is
guaranteed, but on JTAG-SCANS it may not be true, DPv0 does not have DPIDR
implemented and reads are UNPREDICTABLE

Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-08-06 18:02:30 -04:00
Rafael Silva c04b98435a adiv5_jtagdp: code format 2022-08-06 18:02:30 -04:00
Rafael Silva 81890b1fe9 target/adi: clarify TARGETSEL mask and offset 2022-08-06 18:02:30 -04:00
Rafael Silva 20d4109c56 target/stm32h7: fix ids
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-08-06 13:46:53 -04:00
Rafael Silva 87cabb78e5 target/cortexm: print t->part_id not ap->partno in unknown device warning
this is the id used to probe, which may or may not be the same
2022-08-05 13:47:09 +01:00
gatin00b 180ceabae3 fix: Correct grammatical error 2022-08-03 19:30:27 -07:00
dragonmux 0077d31be3 rp: Make the function naming scheme uniform 2022-07-31 16:23:31 -07:00
dragonmux 6288d5884d rp: Fixed another clang-tidy warning 2022-07-31 16:23:31 -07:00
dragonmux 7266e3cf54 rp: More code re-ordering to make the order of definitions make more sense 2022-07-31 16:23:31 -07:00
dragonmux 982d1ac847 rp: atoi() -> strtoul() to fix the clang-tidy warning and improve robustness and correctness 2022-07-31 16:23:31 -07:00
dragonmux efb2e99408 rp: re-grouped the target-specific commands to the bottom of the implementation 2022-07-31 16:23:31 -07:00
dragonmux ae982cae6b rp: Begun re-ordering the code to make it more like other targets 2022-07-31 16:23:31 -07:00
dragonmux 9015013195 rp: static correctness for several of the RP2040 routines 2022-07-31 16:23:31 -07:00
dragonmux f429898adb rp: Removed rp_detach as the function serves no purpose 2022-07-31 16:23:31 -07:00
grumat df513ebda8 Added support for AT32F403A/407/415. 2022-07-31 12:21:26 +01:00
Rafael Silva f435bd2136 target/adi: rework handling of TARGETID
add missing fetching of targetid in jlink probes
clarify how targetid is being read
handle idcode as debug_port_id
use targetid when available to identify device in probe routine
2022-07-31 12:09:07 +01:00
Rafael Silva ad65f4a7c7 target/adi: remove superfluous ap_ prefix from ap variable 2022-07-31 12:09:07 +01:00
Rafael Silva 8238d3c020 target: rename target idcode 2022-07-31 12:09:07 +01:00
Rafael Silva 8e06539eb5 target/lp17xx: remove unnecessary check
this actually just checked that is was a DP designed by arm for probably a cortex M3 or M4
we already check for M3 afterwards, not very useful
2022-07-31 11:16:36 +01:00
Rafael Silva 07b8d9c285 target/efm32: remove unnecessary check 2022-07-31 11:16:36 +01:00
Rafael Silva 1286faff64 target/adi: correct raspberry jep code, cleanup dpidr/targetid code handling 2022-07-31 11:16:36 +01:00
Rafael Silva 58025feec2 target/adi: rename missleading idcode variable 2022-07-31 11:16:36 +01:00
Rafael Silva a9229a869b target/semihosting: move semihosting defines to its own header 2022-07-31 11:16:36 +01:00
Rafael Silva 73f3910f62 misc: code format & cleanup 2022-07-31 11:16:36 +01:00
dragonmux e6075d4bd3 ch32f1: Static correctness for for ch32f1_buffer_clear 2022-07-30 18:05:42 -07:00
dragonmux 7e7bc3789c ch32f1: Fixed the return type for ch32f1_flash_lock 2022-07-30 18:05:42 -07:00
dragonmux f548473f28 ch32f1: Fixed the return type for ch32f1_flash_unlock 2022-07-30 18:05:42 -07:00
dragonmux 9d43ade05c cortexm: Fixed the probing for LMI devices (both Cortex-M3 and Cortex-M4)
Other routines that were firing in front of lmi_probe were putting the devices into bad state and causing a plethora of issues
2022-07-30 18:04:07 -07:00
dragonmux a561e71fc3 lmi: Refactored out the device IDs as defines 2022-07-30 18:04:07 -07:00
dragonmux c6b833665b lmi: Cleaned up in lm3s_probe() 2022-07-30 18:04:07 -07:00
dragonmux 289aad6792 lmi: Added support for the LM3S8962 2022-07-30 18:04:07 -07:00
dragonmux f3f7253f00 lmi Added support for LM3S5732 2022-07-30 18:04:07 -07:00
dragonmux 20b973daa0 lmi: Corrected the LM3S3748 RAM and Flash regions as they were mis-sized 2022-07-30 18:04:07 -07:00
dragonmux 738b6c650f lmi: Refactored the probe code as it handles multiple device families and the structure should reflect that 2022-07-30 18:04:07 -07:00
dragonmux 75773631cb cortexm: Fixed a clang-tidy warning in the PROBE macro 2022-07-30 18:04:07 -07:00
dragonmux 08207b9af9 lmi: Added some more robustness to the probe routine 2022-07-30 18:04:07 -07:00
dragonmux d3c80f8b32 jtag_scan: Reordered jtag_dev_t to fix a clang-tidy warning about excessive padding 2022-07-30 18:00:08 -07:00
dragonmux a4ee80edfe jtag_scan: Cleaned up and reworked jtag_dev_shift_dr() 2022-07-30 18:00:08 -07:00
dragonmux 2eb19d4eb7 jtag_scan: Cleaned up and reworked jtag_dev_write_ir() 2022-07-30 18:00:08 -07:00
dragonmux 14dafdbf92 jtag_scan: Finished cleaning up in jtag_scan() 2022-07-30 18:00:08 -07:00
dragonmux 181e84cb0c jtag_scan: Adjusted the parameter and result types for jtag_scan(), jtag_add_device(), and related functions 2022-07-30 18:00:08 -07:00
dragonmux 36db97a57c jtag_scan: Cleaned up and reworked the BMDA integration and scan debugging information 2022-07-30 18:00:08 -07:00
dragonmux 8bf601a368 jtag_scan: Continued reworking jtag_scan() and switched jtag_dev_count to a uint32_t as it can't be negative 2022-07-30 18:00:08 -07:00
dragonmux 190c45b450 jtag_scan: Reworked IR length and device count scanning when irlens is not given 2022-07-30 18:00:08 -07:00
dragonmux 9f35763199 jtag_scan: Reworked and cleaned up how scan works when irlens is specified 2022-07-30 18:00:08 -07:00
dragonmux b258730499 jtag_scan: Turned the JTAG conformance hard errors into warnings 2022-07-30 18:00:08 -07:00
dragonmux 823634e609 command: Refactored and cleaned up command_process 2022-07-30 17:47:53 -07:00
dragonmux 84c004281d lpc11xx: Further cleanup in lpc11xx_add_flash 2022-07-30 16:59:38 -07:00