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