You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(57) |
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(14) |
Nov
(36) |
Dec
(7) |
| 2007 |
Jan
(48) |
Feb
(10) |
Mar
(17) |
Apr
(8) |
May
(35) |
Jun
(28) |
Jul
(50) |
Aug
(71) |
Sep
(40) |
Oct
(19) |
Nov
(22) |
Dec
(143) |
| 2008 |
Jan
(184) |
Feb
(549) |
Mar
(381) |
Apr
(388) |
May
(148) |
Jun
(128) |
Jul
(502) |
Aug
(243) |
Sep
(136) |
Oct
(327) |
Nov
(252) |
Dec
(475) |
| 2009 |
Jan
(344) |
Feb
(185) |
Mar
(338) |
Apr
(826) |
May
(1559) |
Jun
(1429) |
Jul
(817) |
Aug
(451) |
Sep
(639) |
Oct
(935) |
Nov
(1222) |
Dec
(826) |
| 2010 |
Jan
(552) |
Feb
(532) |
Mar
(355) |
Apr
(206) |
May
(162) |
Jun
(203) |
Jul
(168) |
Aug
(232) |
Sep
(270) |
Oct
(259) |
Nov
(439) |
Dec
(468) |
| 2011 |
Jan
(224) |
Feb
(249) |
Mar
(278) |
Apr
(381) |
May
(316) |
Jun
(637) |
Jul
(544) |
Aug
(465) |
Sep
(159) |
Oct
(440) |
Nov
(139) |
Dec
|
| 2012 |
Jan
(204) |
Feb
(383) |
Mar
(295) |
Apr
(196) |
May
(590) |
Jun
(158) |
Jul
(167) |
Aug
(177) |
Sep
(179) |
Oct
(301) |
Nov
(144) |
Dec
(173) |
| 2013 |
Jan
(299) |
Feb
(120) |
Mar
(238) |
Apr
(140) |
May
(69) |
Jun
(133) |
Jul
(160) |
Aug
(107) |
Sep
(164) |
Oct
(196) |
Nov
(105) |
Dec
(74) |
| 2014 |
Jan
(205) |
Feb
(156) |
Mar
(175) |
Apr
(181) |
May
(162) |
Jun
(158) |
Jul
(117) |
Aug
(109) |
Sep
(148) |
Oct
(106) |
Nov
(82) |
Dec
(72) |
| 2015 |
Jan
(191) |
Feb
(205) |
Mar
(197) |
Apr
(163) |
May
(136) |
Jun
(36) |
Jul
(79) |
Aug
(55) |
Sep
(64) |
Oct
(146) |
Nov
(142) |
Dec
(78) |
| 2016 |
Jan
(65) |
Feb
(190) |
Mar
(53) |
Apr
(38) |
May
(95) |
Jun
(53) |
Jul
(58) |
Aug
(113) |
Sep
(96) |
Oct
(59) |
Nov
(136) |
Dec
(124) |
| 2017 |
Jan
(80) |
Feb
(109) |
Mar
(163) |
Apr
(78) |
May
(61) |
Jun
(73) |
Jul
(29) |
Aug
(47) |
Sep
(60) |
Oct
(76) |
Nov
(48) |
Dec
(35) |
| 2018 |
Jan
(138) |
Feb
(84) |
Mar
(109) |
Apr
(49) |
May
(24) |
Jun
(62) |
Jul
(96) |
Aug
(116) |
Sep
(53) |
Oct
(99) |
Nov
(80) |
Dec
(88) |
| 2019 |
Jan
(100) |
Feb
(141) |
Mar
(72) |
Apr
(174) |
May
(129) |
Jun
(102) |
Jul
(52) |
Aug
(45) |
Sep
(28) |
Oct
(43) |
Nov
(78) |
Dec
(47) |
| 2020 |
Jan
(113) |
Feb
(72) |
Mar
(94) |
Apr
(141) |
May
(82) |
Jun
(68) |
Jul
(125) |
Aug
(76) |
Sep
(33) |
Oct
(184) |
Nov
(61) |
Dec
(95) |
| 2021 |
Jan
(109) |
Feb
(77) |
Mar
(145) |
Apr
(116) |
May
(134) |
Jun
(113) |
Jul
(71) |
Aug
(118) |
Sep
(116) |
Oct
(92) |
Nov
(124) |
Dec
(68) |
| 2022 |
Jan
(57) |
Feb
(61) |
Mar
(57) |
Apr
(74) |
May
(86) |
Jun
(80) |
Jul
(43) |
Aug
(85) |
Sep
(120) |
Oct
(88) |
Nov
(100) |
Dec
(108) |
| 2023 |
Jan
(39) |
Feb
(56) |
Mar
(92) |
Apr
(81) |
May
(84) |
Jun
(72) |
Jul
(182) |
Aug
(82) |
Sep
(54) |
Oct
(68) |
Nov
(67) |
Dec
(75) |
| 2024 |
Jan
(79) |
Feb
(65) |
Mar
(42) |
Apr
(47) |
May
(68) |
Jun
(111) |
Jul
(43) |
Aug
(73) |
Sep
(100) |
Oct
(35) |
Nov
(100) |
Dec
(99) |
| 2025 |
Jan
(71) |
Feb
(68) |
Mar
(44) |
Apr
(40) |
May
(92) |
Jun
(45) |
Jul
(86) |
Aug
(60) |
Sep
(76) |
Oct
(69) |
Nov
(49) |
Dec
|
|
From: <ge...@op...> - 2025-11-12 14:07:28
|
This is an automated email from Gerrit. "Nishanth Menon <nm...@ti...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9236 -- gerrit commit 1fa9352631b41e0a4f0b05738fef41796e35dcaa Author: Nishanth Menon <nm...@ti...> Date: Wed Nov 12 07:20:55 2025 -0600 tcl/board/ti/*: Rename files using "-" separator Replace "_" file separator with "-" file separator as recommended by coding standards guidelines. While doing this, add the files that were present in previous 12.0 release to file_renaming.cfg for this non-trivial rename. Signed-off-by: Nishanth Menon <nm...@ti...> Change-Id: I88685f08f4a0cc580fa3b03f6db0d85061d65b94 diff --git a/tcl/board/ti/am243_launchpad.cfg b/tcl/board/ti/am243-launchpad.cfg similarity index 100% rename from tcl/board/ti/am243_launchpad.cfg rename to tcl/board/ti/am243-launchpad.cfg diff --git a/tcl/board/ti/am261_launchpad.cfg b/tcl/board/ti/am261-launchpad.cfg similarity index 100% rename from tcl/board/ti/am261_launchpad.cfg rename to tcl/board/ti/am261-launchpad.cfg diff --git a/tcl/board/ti/am263_launchpad.cfg b/tcl/board/ti/am263-launchpad.cfg similarity index 100% rename from tcl/board/ti/am263_launchpad.cfg rename to tcl/board/ti/am263-launchpad.cfg diff --git a/tcl/board/ti/am263p_launchpad.cfg b/tcl/board/ti/am263p-launchpad.cfg similarity index 100% rename from tcl/board/ti/am263p_launchpad.cfg rename to tcl/board/ti/am263p-launchpad.cfg diff --git a/tcl/board/ti/am273_launchpad.cfg b/tcl/board/ti/am273-launchpad.cfg similarity index 100% rename from tcl/board/ti/am273_launchpad.cfg rename to tcl/board/ti/am273-launchpad.cfg diff --git a/tcl/board/ti/am437x_idk.cfg b/tcl/board/ti/am437x-idk.cfg similarity index 100% rename from tcl/board/ti/am437x_idk.cfg rename to tcl/board/ti/am437x-idk.cfg diff --git a/tcl/board/ti/am43xx_evm.cfg b/tcl/board/ti/am43xx-evm.cfg similarity index 100% rename from tcl/board/ti/am43xx_evm.cfg rename to tcl/board/ti/am43xx-evm.cfg diff --git a/tcl/board/ti/cc13x0_launchpad.cfg b/tcl/board/ti/cc13x0-launchpad.cfg similarity index 100% rename from tcl/board/ti/cc13x0_launchpad.cfg rename to tcl/board/ti/cc13x0-launchpad.cfg diff --git a/tcl/board/ti/cc13x2_launchpad.cfg b/tcl/board/ti/cc13x2-launchpad.cfg similarity index 100% rename from tcl/board/ti/cc13x2_launchpad.cfg rename to tcl/board/ti/cc13x2-launchpad.cfg diff --git a/tcl/board/ti/cc26x0_launchpad.cfg b/tcl/board/ti/cc26x0-launchpad.cfg similarity index 100% rename from tcl/board/ti/cc26x0_launchpad.cfg rename to tcl/board/ti/cc26x0-launchpad.cfg diff --git a/tcl/board/ti/cc26x2_launchpad.cfg b/tcl/board/ti/cc26x2-launchpad.cfg similarity index 100% rename from tcl/board/ti/cc26x2_launchpad.cfg rename to tcl/board/ti/cc26x2-launchpad.cfg diff --git a/tcl/board/ti/cc26x2x7_launchpad.cfg b/tcl/board/ti/cc26x2x7-launchpad.cfg similarity index 100% rename from tcl/board/ti/cc26x2x7_launchpad.cfg rename to tcl/board/ti/cc26x2x7-launchpad.cfg diff --git a/tcl/board/ti/cc3200_launchxl.cfg b/tcl/board/ti/cc3200-launchxl.cfg similarity index 100% rename from tcl/board/ti/cc3200_launchxl.cfg rename to tcl/board/ti/cc3200-launchxl.cfg diff --git a/tcl/board/ti/cc3220sf_launchpad.cfg b/tcl/board/ti/cc3220sf-launchpad.cfg similarity index 100% rename from tcl/board/ti/cc3220sf_launchpad.cfg rename to tcl/board/ti/cc3220sf-launchpad.cfg diff --git a/tcl/board/ti/cc32xx_launchpad.cfg b/tcl/board/ti/cc32xx-launchpad.cfg similarity index 100% rename from tcl/board/ti/cc32xx_launchpad.cfg rename to tcl/board/ti/cc32xx-launchpad.cfg diff --git a/tcl/board/ti/msp432_launchpad.cfg b/tcl/board/ti/msp432-launchpad.cfg similarity index 100% rename from tcl/board/ti/msp432_launchpad.cfg rename to tcl/board/ti/msp432-launchpad.cfg diff --git a/tcl/board/ti/mspm0_launchpad.cfg b/tcl/board/ti/mspm0-launchpad.cfg similarity index 100% rename from tcl/board/ti/mspm0_launchpad.cfg rename to tcl/board/ti/mspm0-launchpad.cfg diff --git a/tcl/board/ti/omap2420_h4.cfg b/tcl/board/ti/omap2420-h4.cfg similarity index 100% rename from tcl/board/ti/omap2420_h4.cfg rename to tcl/board/ti/omap2420-h4.cfg diff --git a/tcl/board/ti/pandaboard_es.cfg b/tcl/board/ti/pandaboard-es.cfg similarity index 100% rename from tcl/board/ti/pandaboard_es.cfg rename to tcl/board/ti/pandaboard-es.cfg diff --git a/tcl/file_renaming.cfg b/tcl/file_renaming.cfg index 0a80d80334..1603e23213 100644 --- a/tcl/file_renaming.cfg +++ b/tcl/file_renaming.cfg @@ -17,13 +17,25 @@ set _file_renaming { board/nordic_nrf51822_mkit.cfg board/nordic/nrf51822-mkit.cfg board/nordic_nrf51_dk.cfg board/nordic/nrf51-dk.cfg board/nordic_nrf52_dk.cfg board/nordic/nrf52-dk.cfg + board/omap2420_h4.cfg board/ti/omap2420-h4.cfg board/stm32mp13x_dk.cfg board/st/stm32mp135f-dk.cfg board/stm32mp15x_dk2.cfg board/st/stm32mp157f-dk2.cfg board/sifive-hifive1-revb.cfg board/sifive/hifive1-rev-b.cfg + board/ti_am437x_idk.cfg board/ti/am437x-idk.cfg + board/ti_am43xx_evm.cfg board/ti/am43xx-evm.cfg board/ti_beagleboard.cfg board/beagle/beagleboard.cfg board/ti_beagleboard_xm.cfg board/beagle/beagleboard-xm.cfg board/ti_beaglebone_black.cfg board/beagle/beaglebone-black.cfg board/ti_beaglebone.cfg board/beagle/beaglebone.cfg + board/ti_cc13x0_launchpad.cfg board/ti/cc13x0-launchpad.cfg + board/ti_cc13x2_launchpad.cfg board/ti/cc13x2-launchpad.cfg + board/ti_cc26x0_launchpad.cfg board/ti/cc26x0-launchpad.cfg + board/ti_cc26x2_launchpad.cfg board/ti/cc26x2-launchpad.cfg + board/ti_cc3200_launchxl.cfg board/ti/cc3200-launchxl.cfg + board/ti_cc3220sf_launchpad.cfg board/ti/cc3220sf-launchpad.cfg + board/ti_cc32xx_launchpad.cfg board/ti/cc32xx-launchpad.cfg + board/ti_msp432_launchpad.cfg board/ti/msp432-launchpad.cfg + board/ti_pandaboard_es.cfg board/ti/pandaboard-es.cfg interface/chameleon.cfg interface/parport/chameleon.cfg interface/flashlink.cfg interface/parport/flashlink.cfg } -- |
|
From: <ge...@op...> - 2025-11-10 18:57:09
|
This is an automated email from Gerrit. "Tomas Vanek <va...@fb...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9235 -- gerrit commit b315e36c63b7d6c5c148e3e373d12ae8e1fa6f3f Author: Tomas Vanek <va...@fb...> Date: Mon Nov 10 19:30:44 2025 +0100 target/armv4_5: fix register numbering overlap Commit b5d2b1224fed ("target/cortex_a: add hypervisor mode") added sp_hyp, spsr_hyp registers with gdb_index 51 and 52 but did not moved FP regs enum base starting from 51. Move FP registers indices to make room for added registers. Change-Id: I4338777545918fdf62016e06764308dacea61e98 Signed-off-by: Tomas Vanek <va...@fb...> diff --git a/src/target/arm.h b/src/target/arm.h index 79ec99d117..54a25731c2 100644 --- a/src/target/arm.h +++ b/src/target/arm.h @@ -108,7 +108,8 @@ enum arm_mode { /* VFPv3 internal register numbers mapping to d0:31 */ enum { - ARM_VFP_V3_D0 = 51, + ARM_VFP_V3_D0 = 53, + // numbering should not overlap with e.g. armv4_5.c arm_core_regs .gdb_index ARM_VFP_V3_D1, ARM_VFP_V3_D2, ARM_VFP_V3_D3, diff --git a/src/target/armv4_5.c b/src/target/armv4_5.c index d1a81614e8..e1a46bad34 100644 --- a/src/target/armv4_5.c +++ b/src/target/armv4_5.c @@ -355,6 +355,7 @@ static const struct { /* These exist only when the Virtualization Extensions is present */ [42] = { .name = "sp_hyp", .cookie = 13, .mode = ARM_MODE_HYP, .gdb_index = 51, }, [43] = { .name = "spsr_hyp", .cookie = 16, .mode = ARM_MODE_HYP, .gdb_index = 52, }, + // .gdb_index numbering continues by ARM_VFP_V3_D0 }; static const struct { -- |
|
From: <ge...@op...> - 2025-11-10 13:34:44
|
This is an automated email from Gerrit. "Tomas Vanek <va...@fb...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9234 -- gerrit commit 47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0 Author: Tomas Vanek <va...@fb...> Date: Mon Nov 10 14:13:56 2025 +0100 tcl/interface/raspberrypi-native: adjust speed offsets Change 7732: jtag/drivers/bcm2835gpio: Support all 54 GPIO pins [1] reduces the time needed for GPIO handling. Adjust the speed offsets to the new and faster bcm2835gpio code. Measured with Sigrok/PulseView, sampled at 800 MHz. Configured as SWD with the fast path in the driver - other modes are expected to be slower. Adjusted to keep all half periods of SWCLK in the sampled poll sequence longer or equal than the half period of the nominal adapter speed. Link: [1] https://review.openocd.org/c/openocd/+/7732 Change-Id: Ia9e932dfd7547c8011c1d20d9e90bc0294050e8a Signed-off-by: Tomas Vanek <va...@fb...> diff --git a/tcl/interface/raspberrypi-native.cfg b/tcl/interface/raspberrypi-native.cfg index c80f90a146..1eb9761eea 100644 --- a/tcl/interface/raspberrypi-native.cfg +++ b/tcl/interface/raspberrypi-native.cfg @@ -50,12 +50,12 @@ set clocks_per_timing_loop 4 if {[string match *bcm2711* $compat]} { set speed_offset 52 } elseif {[string match *bcm2837* $compat] || [string match *bcm2710* $compat]} { - set speed_offset 34 + set speed_offset 31 } elseif {[string match *bcm2836* $compat] || [string match *bcm2709* $compat]} { - set speed_offset 36 + set speed_offset 25 } elseif {[string match *bcm2835* $compat] || [string match *bcm2708* $compat]} { set clocks_per_timing_loop 6 - set speed_offset 32 + set speed_offset 23 } elseif {[string match *bcm2712* $compat]} { echo "Error: Raspberrypi Pi 5 has moved GPIOs to PCIe connected RP1 chip." echo "Error: Native GPIO handling is not supported, use 'raspberrypi5-gpiod.cfg'" -- |
|
From: <ge...@op...> - 2025-11-10 09:59:45
|
This is an automated email from Gerrit. "Name of user not set <yuk...@st...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9220 -- gerrit commit 83c62ebb8115bbcf93c610199a17ae8d8aaa053a Author: Cubiking <yuk...@st...> Date: Sun Nov 9 22:11:53 2025 +0000 Frequency fix for stm32f4x Change-Id: I2059ae05f897786fcc05062e5cf9d19f3a692c9b Signed-off-by: Antonio Chiu <yuk...@st...> diff --git a/tcl/target/stm32f4x.cfg b/tcl/target/stm32f4x.cfg index a77527c46d..50bb4c161c 100644 --- a/tcl/target/stm32f4x.cfg +++ b/tcl/target/stm32f4x.cfg @@ -142,10 +142,10 @@ $_TARGETNAME configure -event reset-init { mmw 0x40023808 0x00000002 0 ;# RCC_CFGR |= RCC_CFGR_SW_PLL # Boost JTAG frequency - adapter speed 8000 + adapter speed 4000 } $_TARGETNAME configure -event reset-start { # Reduce speed since CPU speed will slow down to 16MHz with the reset - adapter speed 2000 + adapter speed 1800 } -- |
|
From: Antonio C. <cub...@us...> - 2025-11-09 21:47:12
|
Hello. I think I ve submit a pull request on that. Let me know if the project accepts. --- **[tickets:#461] stm32f4x.cfg Requested Speed Too High** **Status:** new **Milestone:** 0.12.0 **Created:** Fri Oct 17, 2025 04:15 PM UTC by Antonio Chiu **Last Updated:** Sat Nov 01, 2025 08:35 AM UTC **Owner:** nobody **Attachments:** - [stm32f4x.cfg Requested Speed Too High.rtf](https://sourceforge.net/p/openocd/tickets/461/attachment/stm32f4x.cfg%20Requested%20Speed%20Too%20High.rtf) (50.0 kB; application/msword) Tested on NUCLEO-F401RE (stm32f401re). It has the slowest Fcpu (adapter speed) in the STM32F4 series. It seems that the original adapter speed for reset-init and reset-start is too high for my board. I've reduced the speed to get rid of the errors. Technically this should work on all other STM32F4 boards as they all have higher Fcpu. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: <ge...@op...> - 2025-11-06 10:47:18
|
This is an automated email from Gerrit. "Evgeniy Naydanov <evg...@sy...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9233 -- gerrit commit c1d8ff3022aabf969d23538f8938a0e96fe2698f Author: Evgeniy Naydanov <evg...@sy...> Date: Tue Oct 28 17:16:55 2025 +0300 target/riscv: fix progbuf memory writes in case last write is busy Restarting the program buffer memory write pipeline when the write of the last element resulted in the busy response triggers an extra memory wrtite, that is cought by an assertion: ``` src/target/riscv/riscv-013.c:5048: write_memory_progbuf_inner: Assertion `next_addr_on_target - args.address <= (target_addr_t)args.size * args.count' failed. ``` Change-Id: I0f27145cad24686cf539aebfea7f6578b7cd78ab Signed-off-by: Evgeniy Naydanov <evg...@sy...> diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c index 370a15607e..6fa5e025be 100644 --- a/src/target/riscv/riscv-013.c +++ b/src/target/riscv/riscv-013.c @@ -4875,7 +4875,8 @@ static int write_memory_progbuf_teardown(struct target *target) * failed write. */ static int write_memory_progbuf_handle_busy(struct target *target, - target_addr_t *address_p, uint32_t size, const uint8_t *buffer) + target_addr_t *address_p, target_addr_t end_address, uint32_t size, + const uint8_t *buffer) { int res = riscv013_clear_abstract_error(target); if (res != ERROR_OK) @@ -4891,8 +4892,12 @@ static int write_memory_progbuf_handle_busy(struct target *target, if (register_read_direct(target, &address_on_target, GDB_REGNO_S0) != ERROR_OK) return ERROR_FAIL; const uint8_t * const curr_buff = buffer + (address_on_target - *address_p); - LOG_TARGET_DEBUG(target, "Restarting from 0x%" TARGET_PRIxADDR, *address_p); *address_p = address_on_target; + if (*address_p == end_address) { + LOG_TARGET_DEBUG(target, "Got busy while reading after reading the last element"); + return ERROR_OK; + } + LOG_TARGET_DEBUG(target, "Restarting from 0x%" TARGET_PRIxADDR, *address_p); /* This restores the pipeline and ensures one item gets reliably written */ return write_memory_progbuf_startup(target, address_p, curr_buff, size); } @@ -4970,7 +4975,8 @@ static int write_memory_progbuf_run_batch(struct target *target, struct riscv_ba /* TODO: If dmi busy is encountered, the address of the last * successful write can be deduced by analysing the batch. */ - return write_memory_progbuf_handle_busy(target, address_p, size, buffer); + return write_memory_progbuf_handle_busy(target, address_p, end_address, + size, buffer); } LOG_TARGET_ERROR(target, "Error when writing memory, abstractcs=0x%" PRIx32, abstractcs); -- |
|
From: <ge...@op...> - 2025-11-05 15:48:36
|
This is an automated email from Gerrit. "Antonio Borneo <bor...@gm...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9232 -- gerrit commit d88d7850cd4ff1cd9a5106b64bbd4b432721ea32 Author: Antonio Borneo <bor...@gm...> Date: Wed Nov 5 14:45:29 2025 +0100 target: cortex-m: defer cache identification on Cortex-M7 under reset On Cortex-M7 only, several registers in System Control Space (SCS) are not accessible when the CPU is under reset, generating a bus error. This cause OpenOCD to fail examining the CPU when the board reset button is pressed or when the flag 'connect_assert_srst' is used on 'reset_config' command. Introduce a deferred identification of the cache and run it during polling and at target halted (just in case of polling disabled). Change-Id: Ia5c582ae95f825c5fb8c2dcfb320142f7ac04a9f Signed-off-by: Antonio Borneo <bor...@gm...> diff --git a/src/target/armv7m_cache.c b/src/target/armv7m_cache.c index cc0c9d1404..f07ac142f9 100644 --- a/src/target/armv7m_cache.c +++ b/src/target/armv7m_cache.c @@ -68,7 +68,7 @@ static struct armv7m_cache_size decode_ccsidr(uint32_t ccsidr) return size; } -int armv7m_identify_cache(struct target *target) +static int armv7m_identify_cache_internal(struct target *target) { struct armv7m_common *armv7m = target_to_armv7m(target); struct armv7m_cache_common *cache = &armv7m->armv7m_cache; @@ -191,6 +191,54 @@ int armv7m_identify_cache(struct target *target) return ERROR_OK; } +/* + * On Cortex-M7 only, when the CPU is kept in reset, several registers of the + * System Control Space (SCS) are not accessible and return bus error. + * The list of accessible registers is: + * - 0xE000ED00 + * - 0xE000ED30 + * - 0xE000EDF0 ... 0xE000EEFC + * - 0xE000EF40 ... 0xE000EF48 + * - 0xE000EFD0 ... 0xE000EFFC + * This makes impossible detecting the cache during the reset. + * Use a deferred mechanism to detect the cache during polling or when the + * Cortex-M7 halts. + */ +int armv7m_identify_cache(struct target *target) +{ + struct cortex_m_common *cortex_m = target_to_cm(target); + struct armv7m_common *armv7m = target_to_armv7m(target); + struct armv7m_cache_common *cache = &armv7m->armv7m_cache; + + if (cache->info_valid) + return ERROR_OK; + + if (cortex_m->core_info->impl_part == CORTEX_M7_PARTNO + && cortex_m->dcb_dhcsr & S_RESET_ST) { + cache->defer_identification = true; + return ERROR_OK; + } + + return armv7m_identify_cache_internal(target); +} + +int armv7m_deferred_identify_cache(struct target *target) +{ + struct armv7m_common *armv7m = target_to_armv7m(target); + struct armv7m_cache_common *cache = &armv7m->armv7m_cache; + + if (cache->info_valid || !cache->defer_identification) + return ERROR_OK; + + int retval = armv7m_identify_cache_internal(target); + if (retval != ERROR_OK) + return retval; + + cache->defer_identification = false; + + return ERROR_OK; +} + int armv7m_d_cache_flush(struct target *target, uint32_t address, unsigned int length) { @@ -250,6 +298,11 @@ int armv7m_handle_cache_info_command(struct command_invocation *cmd, return ERROR_FAIL; } + if (cache->defer_identification) { + command_print(cmd, "Cache not detected yet"); + return ERROR_OK; + } + if (!cache->info_valid) { command_print(cmd, "No cache detected"); return ERROR_OK; diff --git a/src/target/armv7m_cache.h b/src/target/armv7m_cache.h index 576bff8d6b..e6d943209c 100644 --- a/src/target/armv7m_cache.h +++ b/src/target/armv7m_cache.h @@ -38,6 +38,7 @@ struct armv7m_arch_cache { // common cache information struct armv7m_cache_common { bool info_valid; + bool defer_identification; bool has_i_cache; bool has_d_u_cache; unsigned int loc; // level of coherency @@ -47,6 +48,7 @@ struct armv7m_cache_common { }; int armv7m_identify_cache(struct target *target); +int armv7m_deferred_identify_cache(struct target *target); int armv7m_d_cache_flush(struct target *target, uint32_t address, unsigned int length); int armv7m_i_cache_inval(struct target *target, uint32_t address, diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index 9f0b6284b0..3c094587f6 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -876,6 +876,11 @@ static int cortex_m_debug_entry(struct target *target) } // read caches state + if (!armv7m->is_hla_target) { + retval = armv7m_deferred_identify_cache(target); + if (retval != ERROR_OK) + return retval; + } uint32_t ccr = 0; if (armv7m->armv7m_cache.info_valid) { retval = mem_ap_read_u32(armv7m->debug_ap, CCR, &ccr); @@ -1018,6 +1023,12 @@ static int cortex_m_poll_one(struct target *target) /* S_RESET_ST was expected (in a reset command). Continue processing * to quickly get out of TARGET_RESET state */ + } else { + if (!armv7m->is_hla_target) { + retval = armv7m_deferred_identify_cache(target); + if (retval != ERROR_OK) + return retval; + } } if (target->state == TARGET_RESET) { @@ -2937,6 +2948,18 @@ int cortex_m_examine(struct target *target) if (retval != ERROR_OK) return retval; + /* + * Use a safe value of sticky S_RESET_ST for cache detection, before + * clearing it below. + */ + if (!armv7m->is_hla_target) { + retval = armv7m_identify_cache(target); + if (retval != ERROR_OK) { + LOG_ERROR("Cannot detect cache"); + return retval; + } + } + /* Don't cumulate sticky S_RESET_ST at the very first read of DHCSR * as S_RESET_ST may indicate a reset that happened long time ago * (most probably the power-on reset before OpenOCD was started). @@ -3006,14 +3029,6 @@ int cortex_m_examine(struct target *target) LOG_TARGET_INFO(target, "target has %d breakpoints, %d watchpoints", cortex_m->fp_num_code, cortex_m->dwt_num_comp); - - if (!armv7m->is_hla_target) { - retval = armv7m_identify_cache(target); - if (retval != ERROR_OK) { - LOG_ERROR("Cannot detect cache"); - return retval; - } - } } return ERROR_OK; -- |
|
From: Daniel G. <dgl...@us...> - 2025-11-05 12:11:17
|
I've had massive problems with an LPC-Link2 CMSIS adapter on the black USB 2.0 ports of a Raspberry Pi 4. It works flawlessly on the blue USB 3.0 ports. Best regards, Daniel --- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Wed Nov 05, 2025 10:57 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: Paul F. <da...@us...> - 2025-11-05 11:39:32
|
On Wed, Nov 05, 2025 at 10:57:53AM -0000, Mark W wrote: > How did you route around it if you're talking about the USB hub > integrated on RaspberryPi 5 board? First of all, it's not a full speed > hub there (so the forum thread doesn't apply), second, as seen in > doc/usb_adapters/stlink/0483_3757_stlinkv3pwr.txt it's a high speed > device so no translation is needed in any case. Are you connecting it > via an additional full speed hub? > > It's a rPi CM5, with the TI USB hub on the parent PCB. > I understand how that would have been confusing, my apologies. Thank you for clarifications. So does it basically mean stlinkv3 might have issues working with full speed? Can you try it with some other old (full speed) hub? I wonder if old full speed hub IC is really that much cheaper than a high speed one these days? USB2514B 4 ports high speed hub is $1.8 (buying 100) (and plenty other offerings) while TUSB2046 is $2.4 @100 (judging by Digikey). So where's the catch? ;) -- Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! mailto:fer...@gm... --- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Wed Nov 05, 2025 10:57 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: Mark W <mw...@us...> - 2025-11-05 10:57:53
|
> How did you route around it if you're talking about the USB hub integrated on RaspberryPi 5 board? First of all, it's not a full speed hub there (so the forum thread doesn't apply), second, as seen in doc/usb_adapters/stlink/0483_3757_stlinkv3pwr.txt it's a high speed device so no translation is needed in any case. Are you connecting it via an additional full speed hub? It's a rPi CM5, with the TI USB hub on the parent PCB. I understand how that would have been confusing, my apologies. --- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Wed Nov 05, 2025 10:31 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: Tormod V. <to...@us...> - 2025-11-05 10:31:41
|
If you are asking about the same issue in different forums, it is useful (and polite) to mention this and provide links. https://github.com/libusb/libusb/issues/1717 --- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Wed Nov 05, 2025 04:36 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: Paul F. <da...@us...> - 2025-11-05 07:53:32
|
On Wed, Nov 05, 2025 at 04:36:11AM -0000, Mark W wrote: > This problem appears to be caused by a TI UBS hub chip. > [1]https://forums.raspberrypi.com/viewtopic.php?t=246248 Hm, but this whole forum discussion doesn't seem to be related, and it's all strange. They reference a forum post on TI E2E that confirms that a certain USB hub model is _full speed_ so naturally it doesn't have any TT (transaction translators) from full/low speed to high speed since it doesn't support any high speed connections at all. As any other full speed hub by definition. So it's unclear why would anyone even mention TTs in that context. > There is no problem when I route around it, so I'll call this problem solved for > the moment. How did you route around it if you're talking about the USB hub integrated on RaspberryPi 5 board? First of all, it's not a full speed hub there (so the forum thread doesn't apply), second, as seen in doc/usb_adapters/stlink/0483_3757_stlinkv3pwr.txt it's a high speed device so no translation is needed in any case. Are you connecting it via an additional full speed hub? Now I feel even more confused than before and appreciate you clarifying. It might help someone else facing similar issue later who'd find this discussion via Internet search. -- Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! mailto:fer...@gm... --- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Wed Nov 05, 2025 04:36 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: Mark W <mw...@us...> - 2025-11-05 04:36:11
|
This problem appears to be caused by a TI UBS hub chip. https://forums.raspberrypi.com/viewtopic.php?t=246248 There is no problem when I route around it, so I'll call this problem solved for the moment. Thanks. --- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Tue Nov 04, 2025 07:00 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: Paul F. <da...@us...> - 2025-11-04 15:44:17
|
Hi Mark! On Tue, Nov 04, 2025 at 07:01:00AM -0000, Mark W wrote: > I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi > 5 (arm64) host. > > I've built OpenOCD on the host using the cloned master repo from > [2]https://github.com/openocd-org/openocd. > As im guessing this could be libusb related, ive tried the os repo version of > libusb, and also built libusb from the github master. > > The errors i see are (libusb also has debug output enabled): > ... > Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: > libusb: warning [libusb_init] installing new context as implicit default > libusb: error [submit_bulk_transfer] submiturb failed, errno=2 This doesn't look like something OpenOCD on arm64 specific, in fact, it's widely tested and used on modern Arm devices. There must be something else at play, probably even on hardware level. Is there anything new appearing in dmesg when that error happens probably? Have you tried starting OpenOCD without target connected to stlink? > I have also tested the exact same stlink and openocd version with a amd64 PC > (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine > with these. Good you have those data points for reference. I would try comparing strace logs for the working and non-working case, it might give additional clues. -- Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! mailto:fer...@gm... --- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Tue Nov 04, 2025 07:00 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: Mark W <mw...@us...> - 2025-11-04 07:01:03
|
--- **[tickets:#462] Problems on arm64 host** **Status:** new **Milestone:** 0.12.0 **Created:** Tue Nov 04, 2025 07:00 AM UTC by Mark W **Last Updated:** Tue Nov 04, 2025 07:00 AM UTC **Owner:** nobody I'm attempting to use openocd to connect to a STLink V3Mods using a Raspberry Pi 5 (arm64) host. I've built OpenOCD on the host using the cloned master repo from https://github.com/openocd-org/openocd. As im guessing this could be libusb related, ive tried the os repo version of libusb, and also built libusb from the github master. The errors i see are (libusb also has debug output enabled): ~~~ Debug: 111 4 target.c:1598 handle_target_init_command(): Initializing targets... Debug: 112 4 mem_ap.c:61 mem_ap_init_target(): [stm32h7x.ap2] mem_ap_init_target Debug: 113 4 semihosting_common.c:109 semihosting_common_init(): Debug: 114 4 stlink_usb.c:5120 stlink_dap_init(): stlink_dap_init() Debug: 115 4 stlink_usb.c:3732 stlink_open(): stlink_open Debug: 116 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3744 serial: Debug: 117 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3748 serial: Debug: 118 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374b serial: Debug: 119 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374d serial: Debug: 120 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374e serial: Debug: 121 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x374f serial: Debug: 122 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3752 serial: Debug: 123 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3753 serial: Debug: 124 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3754 serial: Debug: 125 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3755 serial: Debug: 126 4 stlink_usb.c:3744 stlink_open(): transport: 4 vid: 0x0483 pid: 0x3757 serial: libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 127 10 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 libusb: warning [libusb_init] installing new context as implicit default libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 128 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Error: 129 3482 stlink_usb.c:3470 stlink_usb_usb_open(): read version failed libusb: error [submit_bulk_transfer] submiturb failed, errno=2 Debug: 130 3482 stlink_usb.c:686 jtag_libusb_bulk_transfer_n(): ERROR, failed to submit transfer 0, error -1 Debug: 131 3482 command.c:453 jim_exec_command(): Command 'init' failed with error code -4 User : 132 3482 command.c:531 command_run_line(): openocd_erase.cfg:12: Error: in procedure 'script' at file "embedded:startup.tcl", line 72 at file "openocd_erase.cfg", line 12 ~~~ I have also tested the exact same stlink and openocd version with a amd64 PC (Debian Linux) host, and Raspberry Pi 3 arm32 (rpi os). Everything works fine with these. Any ideas as to what the problem may be here? Thanks in advance. --- Sent from sourceforge.net because ope...@li... is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
|
From: <ge...@op...> - 2025-11-03 17:53:37
|
This is an automated email from Gerrit. "Tomas Vanek <va...@fb...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9211 -- gerrit commit f595972881d37051611624de2ac235bdd477d2a5 Author: Tomas Vanek <va...@fb...> Date: Mon Nov 3 17:33:12 2025 +0100 target/cortex_a: fix HW breakpoint length for gdb kind 3 Gdb uses length 3 to set breakpoint on a 4 byte Thumb-2 instruction. Without this patch a breakpoint on down aligned word address was set. If the requested address was not word aligned, the breakpoint triggered at previous instruction and was not recognised properly by gdb. Set breakpoint on whole word if aligns with requested address, otherwise use length 2 and set byte mask. Change-Id: I12d1c57b7154e64abdf23dd7cd31714f9d8ec6f0 Signed-off-by: Tomas Vanek <va...@fb...> diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index 016ea175c0..a9c034b55d 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -54,6 +54,7 @@ #include <helper/bits.h> #include <helper/nvp.h> #include <helper/time_support.h> +#include <helper/align.h> static int cortex_a_poll(struct target *target); static int cortex_a_debug_entry(struct target *target); @@ -1341,6 +1342,14 @@ static int cortex_a_set_breakpoint(struct target *target, return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; } breakpoint_hw_set(breakpoint, brp_i); + if (breakpoint->length == 3) { + /* Thumb-2 breakpoint: fixup to length 4 if word aligned, + * set byte mask for length 2 if unaligned */ + if (IS_ALIGNED(breakpoint->address, 4)) + breakpoint->length = 4; + else + breakpoint->length = 2; + } if (breakpoint->length == 2) byte_addr_select = (3 << (breakpoint->address & 0x02)); control = ((matchmode & 0x7) << 20) -- |
|
From: <ge...@op...> - 2025-11-03 17:53:37
|
This is an automated email from Gerrit. "Tomas Vanek <va...@fb...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9209 -- gerrit commit f833247b9e73556aea6661d39f78207e291a3923 Author: Tomas Vanek <va...@fb...> Date: Sun Nov 2 07:52:02 2025 +0100 target/arm_dpm: report vector catch as breakpoint Commit 4afa32ece148 ("aarch64: unify armv7-a and armv8 debug entry decoding") probably unintentionally removed DSCR_ENTRY_VECT_CATCH from reported debug entry reasons. Note the discrepancy between 'case DSCR_ENTRY_BKPT_INSTR:' and its comment. Hitting vector catch was reported as DBG_REASON_UNDEFINED. DBG_REASON_UNDEFINED disturbed hwthread/gdb cooperation and gdb reported the wrong thread as stopped by SIGTRAP. Revert to the original functionality and report vector catch as a breakpoint. Change-Id: I12e938182cff8f633decba340000cfbb7b112ae3 Signed-off-by: Tomas Vanek <va...@fb...> diff --git a/src/target/arm_dpm.c b/src/target/arm_dpm.c index 26e32591a9..63c41c5835 100644 --- a/src/target/arm_dpm.c +++ b/src/target/arm_dpm.c @@ -1064,7 +1064,8 @@ void arm_dpm_report_dscr(struct arm_dpm *dpm, uint32_t dscr) target->debug_reason = DBG_REASON_DBGRQ; break; case DSCR_ENTRY_BREAKPOINT: /* HW breakpoint */ - case DSCR_ENTRY_BKPT_INSTR: /* vector catch */ + case DSCR_ENTRY_BKPT_INSTR: /* SW BKPT */ + case DSCR_ENTRY_VECT_CATCH: /* vector catch */ target->debug_reason = DBG_REASON_BREAKPOINT; break; case DSCR_ENTRY_IMPRECISE_WATCHPT: /* asynch watchpoint */ -- |
|
From: <ge...@op...> - 2025-11-03 17:53:32
|
This is an automated email from Gerrit. "Tomas Vanek <va...@fb...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9207 -- gerrit commit 7bf54f0cb571c548b65e1136f1c76c26c0157341 Author: Tomas Vanek <va...@fb...> Date: Sun Nov 2 08:02:40 2025 +0100 target/cortex_a: report target in some LOG_xx calls Switch to LOG_TARGET_DEBUG() and LOG_TARGET_ERROR() to make analyzing logs of multicore system easier. Not changed completely in the whole file, the changes were focused to halt and resume. Change-Id: I055ad682d3098d5c301a111605d57e504f877b4c Signed-off-by: Tomas Vanek <va...@fb...> diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index bc7550509c..016ea175c0 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -760,7 +760,7 @@ static int cortex_a_poll(struct target *target) if (DSCR_RUN_MODE(dscr) == (DSCR_CORE_HALTED | DSCR_CORE_RESTARTED)) { if (prev_target_state != TARGET_HALTED) { /* We have a halting debug event */ - LOG_DEBUG("Target halted"); + LOG_TARGET_DEBUG(target, "Target halted"); target->state = TARGET_HALTED; retval = cortex_a_debug_entry(target); @@ -808,7 +808,7 @@ static int cortex_a_halt(struct target *target) retval = cortex_a_wait_dscr_bits(target, DSCR_CORE_HALTED, DSCR_CORE_HALTED, &dscr); if (retval != ERROR_OK) { - LOG_ERROR("Error waiting for halt"); + LOG_TARGET_ERROR(target, "Error waiting for halt"); return retval; } @@ -871,13 +871,13 @@ static int cortex_a_internal_restore(struct target *target, bool current, resume_pc |= 0x1; break; case ARM_STATE_JAZELLE: - LOG_ERROR("How do I resume into Jazelle state??"); + LOG_TARGET_ERROR(target, "How do I resume into Jazelle state??"); return ERROR_FAIL; case ARM_STATE_AARCH64: - LOG_ERROR("Shouldn't be in AARCH64 state"); + LOG_TARGET_ERROR(target, "Shouldn't be in AARCH64 state"); return ERROR_FAIL; } - LOG_DEBUG("resume pc = 0x%08" PRIx32, resume_pc); + LOG_TARGET_DEBUG(target, "resume pc = 0x%08" PRIx32, resume_pc); buf_set_u32(arm->pc->value, 0, 32, resume_pc); arm->pc->dirty = true; arm->pc->valid = true; @@ -935,7 +935,7 @@ static int cortex_a_internal_restart(struct target *target) return retval; if ((dscr & DSCR_INSTR_COMP) == 0) - LOG_ERROR("DSCR InstrCompl must be set before leaving debug!"); + LOG_TARGET_ERROR(target, "DSCR InstrCompl must be set before leaving debug!"); retval = mem_ap_write_atomic_u32(armv7a->debug_ap, armv7a->debug_base + CPUDBG_DSCR, dscr & ~DSCR_ITR_EN); @@ -952,7 +952,7 @@ static int cortex_a_internal_restart(struct target *target) retval = cortex_a_wait_dscr_bits(target, DSCR_CORE_RESTARTED, DSCR_CORE_RESTARTED, &dscr); if (retval != ERROR_OK) { - LOG_ERROR("Error waiting for resume"); + LOG_TARGET_ERROR(target, "Error waiting for resume"); return retval; } @@ -1010,11 +1010,11 @@ static int cortex_a_resume(struct target *target, bool current, if (!debug_execution) { target->state = TARGET_RUNNING; target_call_event_callbacks(target, TARGET_EVENT_RESUMED); - LOG_DEBUG("target resumed at " TARGET_ADDR_FMT, address); + LOG_TARGET_DEBUG(target, "target resumed at " TARGET_ADDR_FMT, address); } else { target->state = TARGET_DEBUG_RUNNING; target_call_event_callbacks(target, TARGET_EVENT_DEBUG_RESUMED); - LOG_DEBUG("target debug resumed at " TARGET_ADDR_FMT, address); + LOG_TARGET_DEBUG(target, "target debug resumed at " TARGET_ADDR_FMT, address); } return ERROR_OK; @@ -1028,7 +1028,7 @@ static int cortex_a_debug_entry(struct target *target) struct armv7a_common *armv7a = target_to_armv7a(target); struct arm *arm = &armv7a->arm; - LOG_DEBUG("dscr = 0x%08" PRIx32, cortex_a->cpudbg_dscr); + LOG_TARGET_DEBUG(target, "dscr = 0x%08" PRIx32, cortex_a->cpudbg_dscr); /* REVISIT surely we should not re-read DSCR !! */ retval = mem_ap_read_atomic_u32(armv7a->debug_ap, @@ -1112,7 +1112,8 @@ static int cortex_a_post_debug_entry(struct target *target) &cortex_a->cp15_control_reg); if (retval != ERROR_OK) return retval; - LOG_DEBUG("cp15_control_reg: %8.8" PRIx32, cortex_a->cp15_control_reg); + LOG_TARGET_DEBUG(target, "cp15_control_reg: %8.8" PRIx32, + cortex_a->cp15_control_reg); cortex_a->cp15_control_reg_curr = cortex_a->cp15_control_reg; if (!armv7a->is_armv7r) @@ -1303,7 +1304,7 @@ static int cortex_a_restore_context(struct target *target, bool bpwp) { struct armv7a_common *armv7a = target_to_armv7a(target); - LOG_DEBUG(" "); + LOG_TARGET_DEBUG(target, " "); if (armv7a->pre_restore_context) armv7a->pre_restore_context(target); -- |
|
From: <ge...@op...> - 2025-11-03 17:53:32
|
This is an automated email from Gerrit. "Tomas Vanek <va...@fb...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9210 -- gerrit commit 56d6e6dee415d12c42979c3f49ba31a3bf9cdf3b Author: Tomas Vanek <va...@fb...> Date: Mon Nov 3 11:07:31 2025 +0100 target, breakpoints: report hit watchpoint in trivial case Some targets have no means to find out which watchpoint triggered the debug halt. Resolve properly the trivial and most used case when only one watchpoint is set. Change-Id: I683933ec43e6ca0fed84a08a2aa222ed8a6e277f Signed-off-by: Tomas Vanek <va...@fb...> diff --git a/src/target/breakpoints.c b/src/target/breakpoints.c index 7254eac7dc..44272df2f5 100644 --- a/src/target/breakpoints.c +++ b/src/target/breakpoints.c @@ -629,6 +629,20 @@ int watchpoint_hit(struct target *target, enum watchpoint_rw *rw, struct watchpoint *hit_watchpoint; retval = target_hit_watchpoint(target, &hit_watchpoint); + if (retval == ERROR_NOT_IMPLEMENTED + && target->debug_reason == DBG_REASON_WATCHPOINT) { + // Handle the trivial case: only one watchpoint is set + unsigned int cnt = 0; + struct watchpoint *wp = target->watchpoints; + while (wp) { + cnt++; + wp = wp->next; + } + if (cnt == 1) { + retval = ERROR_OK; + hit_watchpoint = target->watchpoints; + } + } if (retval != ERROR_OK) return ERROR_FAIL; diff --git a/src/target/target.c b/src/target/target.c index bdf0ff244d..cee9be0bf0 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -1360,9 +1360,9 @@ int target_hit_watchpoint(struct target *target, if (!target->type->hit_watchpoint) { /* For backward compatible, if hit_watchpoint is not implemented, - * return ERROR_FAIL such that gdb_server will not take the nonsense + * return error such that gdb_server will not take the nonsense * information. */ - return ERROR_FAIL; + return ERROR_NOT_IMPLEMENTED; } return target->type->hit_watchpoint(target, hit_watchpoint); -- |
|
From: <ge...@op...> - 2025-11-03 17:53:32
|
This is an automated email from Gerrit. "Tomas Vanek <va...@fb...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9208 -- gerrit commit b8b6f3ec67c381fa094e31d5a59f2fd50aaca69d Author: Tomas Vanek <va...@fb...> Date: Mon Nov 3 08:50:32 2025 +0100 target/armv4_5.c: mark registers as 'save-restore' gdb uses this mark when creating a dummy frame for manual call of a function by gdb command. With the original setting all registers as caller_save = false call command in gdb always clobbers r0, r1 and pc and some other registers depending on the called function. Set 'save-restore' for registers which are not preserved across function call. Change-Id: I16c49e4bf8001e38d18ce8861ca65988b08ccc88 Signed-off-by: Tomas Vanek <va...@fb...> diff --git a/src/target/armv4_5.c b/src/target/armv4_5.c index d1a81614e8..8a4d2a0a77 100644 --- a/src/target/armv4_5.c +++ b/src/target/armv4_5.c @@ -690,8 +690,6 @@ struct reg_cache *arm_build_reg_cache(struct target *target, struct arm *arm) && arm->core_type != ARM_CORE_TYPE_VIRT_EXT) continue; - /* REVISIT handle Cortex-M, which only shadows R13/SP */ - reg_arch_info[i].num = arm_core_regs[i].cookie; reg_arch_info[i].mode = arm_core_regs[i].mode; reg_arch_info[i].target = target; @@ -705,8 +703,11 @@ struct reg_cache *arm_build_reg_cache(struct target *target, struct arm *arm) reg_list[i].arch_info = ®_arch_info[i]; reg_list[i].exist = true; - /* This really depends on the calling convention in use */ - reg_list[i].caller_save = false; + /* This really depends on the calling convention in use. + * Set to loosely reflect AAPCS and checked with gdb function + * call command not to change the registers of the debugged program. */ + reg_list[i].caller_save = i < 4 || i == 9 + || i == 15; // PC /* Registers data type, as used by GDB target description */ reg_list[i].reg_data_type = malloc(sizeof(struct reg_data_type)); @@ -750,7 +751,8 @@ struct reg_cache *arm_build_reg_cache(struct target *target, struct arm *arm) reg_list[i].arch_info = ®_arch_info[i]; reg_list[i].exist = true; - reg_list[i].caller_save = false; + /* Mark d0 - d7, d16 - d31 as save-restore for gdb */ + reg_list[i].caller_save = j < 8 || (j >= 16 && j < 32); reg_list[i].reg_data_type = malloc(sizeof(struct reg_data_type)); reg_list[i].reg_data_type->type = arm_vfp_v3_regs[j].type; -- |
|
From: <ge...@op...> - 2025-11-03 17:43:13
|
This is an automated email from Gerrit. "Nishanth Menon <nm...@ti...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9203 -- gerrit commit 3965af5a153890e08adea166ba9905b1853c0486 Author: Nishanth Menon <nm...@ti...> Date: Mon Nov 3 11:02:57 2025 -0600 tcl/target: Move TI targets to ti folder Move the ti targets to a TI folder. Since the folder is ti, we can drop the "ti" prefix from the files themselves. Done via the following script: mkdir target/ti for cname in target/ti*.cfg target/omap*.cfg target/am335x.cfg target/amdm37x.cfg target/icepick.cfg target/stellaris.cfg do bname=`basename $cname` nname=`echo $bname|sed -e "s/^ti-//g"|sed -e "s/ti_//g"` npath="target/ti/$nname" echo "$cname => $npath" fref=`git grep $cname .|cut -d ':' -f1|sort -u` sed -i -e "s&$cname&$npath&g" $fref git mv $cname $npath done Change-Id: I9f94dc6bb01f73721d4ff96be92cb51de2cbf0e2 Suggested-by: Antonio Borneo <bor...@gm...> Signed-off-by: Nishanth Menon <nm...@ti...> diff --git a/README b/README index 73aa3a6301..b99c6d8133 100644 --- a/README +++ b/README @@ -38,7 +38,7 @@ e.g.: ``` openocd -f interface/ftdi/jtagkey2.cfg -c "transport select jtag" \ - -f target/ti_calypso.cfg + -f target/ti/calypso.cfg ``` ``` diff --git a/doc/openocd.texi b/doc/openocd.texi index 9540e69f3f..9b69b98ca7 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -1770,10 +1770,10 @@ There are more complex examples too, with chips that have multiple TAPs. Ones worth looking at include: @itemize -@item @file{target/omap3530.cfg} -- with disabled ARM and DSP, +@item @file{target/ti/omap3530.cfg} -- with disabled ARM and DSP, plus a JRC to enable them @item @file{target/str912.cfg} -- with flash, CPU, and boundary scan -@item @file{target/ti_dm355.cfg} -- with ETM, ARM, and JRC (this JRC +@item @file{target/ti/dm355.cfg} -- with ETM, ARM, and JRC (this JRC is not currently used) @end itemize diff --git a/tcl/board/am3517evm.cfg b/tcl/board/am3517evm.cfg index 0b19be68bc..c76516608c 100644 --- a/tcl/board/am3517evm.cfg +++ b/tcl/board/am3517evm.cfg @@ -13,7 +13,7 @@ # http://processors.wiki.ti.com/index.php?title=How_to_Find_the_Silicon_Revision_of_your_OMAP35x set CHIPTYPE "am35x" -source [find target/amdm37x.cfg] +source [find target/ti/amdm37x.cfg] # The TI-14 JTAG connector does not have srst. CPU reset is handled in # hardware. diff --git a/tcl/board/da850evm.cfg b/tcl/board/da850evm.cfg index 12de3a7e38..736467cf65 100644 --- a/tcl/board/da850evm.cfg +++ b/tcl/board/da850evm.cfg @@ -4,7 +4,7 @@ # http://focus.ti.com/dsp/docs/thirdparty/catalog/devtoolsproductfolder.tsp?actionPerformed=productFolder&productId=5939 # http://www.logicpd.com/products/development-kits/zoom-omap-l138-evm-development-kit -source [find target/omapl138.cfg] +source [find target/ti/omapl138.cfg] reset_config trst_and_srst separate diff --git a/tcl/board/dm355evm.cfg b/tcl/board/dm355evm.cfg index 0dbffa8395..d7102b372e 100644 --- a/tcl/board/dm355evm.cfg +++ b/tcl/board/dm355evm.cfg @@ -4,7 +4,7 @@ # http://focus.ti.com/docs/toolsw/folders/print/tmdsevm355.html # http://c6000.spectrumdigital.com/evmdm355/ -source [find target/ti_dm355.cfg] +source [find target/ti/dm355.cfg] reset_config trst_and_srst separate diff --git a/tcl/board/dm365evm.cfg b/tcl/board/dm365evm.cfg index 15db24c204..113a4a3d1a 100644 --- a/tcl/board/dm365evm.cfg +++ b/tcl/board/dm365evm.cfg @@ -4,7 +4,7 @@ # http://focus.ti.com/docs/toolsw/folders/print/tmdxevm365.html # http://support.spectrumdigital.com/boards/evmdm365 -source [find target/ti_dm365.cfg] +source [find target/ti/dm365.cfg] # NOTE: in Rev C boards, the CPLD ignores SRST from the ARM-20 JTAG # connector, so it doesn't affect generation of the reset signal. diff --git a/tcl/board/dm6446evm.cfg b/tcl/board/dm6446evm.cfg index 1236b86228..7f1b5b0522 100644 --- a/tcl/board/dm6446evm.cfg +++ b/tcl/board/dm6446evm.cfg @@ -6,7 +6,7 @@ # EVM is just the board; buy that at Spectrum. # The "kit" from TI also has: video camera, LCD video monitor, more. -source [find target/ti_dm6446.cfg] +source [find target/ti/dm6446.cfg] # J4 controls what CS2 hooks up to, usually NOR or NAND flash. # S3.1/S3.2 controls boot mode, which may force J4 and S3.3 settings. diff --git a/tcl/board/ek-lm3s1968.cfg b/tcl/board/ek-lm3s1968.cfg index c794a17a01..3828653400 100644 --- a/tcl/board/ek-lm3s1968.cfg +++ b/tcl/board/ek-lm3s1968.cfg @@ -18,4 +18,4 @@ source [find interface/ftdi/luminary.cfg] # include the target config set WORKAREASIZE 0x2000 set CHIPNAME lm3s1968 -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm3s3748.cfg b/tcl/board/ek-lm3s3748.cfg index 705cb64ce0..c72af120f6 100644 --- a/tcl/board/ek-lm3s3748.cfg +++ b/tcl/board/ek-lm3s3748.cfg @@ -13,4 +13,4 @@ source [find interface/ftdi/luminary.cfg] # 20k working area set WORKAREASIZE 0x4000 set CHIPNAME lm3s3748 -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm3s6965.cfg b/tcl/board/ek-lm3s6965.cfg index ee4e15f8a8..3ce2c5167b 100644 --- a/tcl/board/ek-lm3s6965.cfg +++ b/tcl/board/ek-lm3s6965.cfg @@ -14,4 +14,4 @@ source [find interface/ftdi/luminary.cfg] set WORKAREASIZE 0x5000 set CHIPNAME lm3s6965 # include the target config -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm3s811-revb.cfg b/tcl/board/ek-lm3s811-revb.cfg index f968eece5f..2006992b37 100644 --- a/tcl/board/ek-lm3s811-revb.cfg +++ b/tcl/board/ek-lm3s811-revb.cfg @@ -13,4 +13,4 @@ source [find interface/ftdi/luminary-lm3s811.cfg] # include the target config set WORKAREASIZE 0x2000 set CHIPNAME lm3s811 -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm3s811.cfg b/tcl/board/ek-lm3s811.cfg index 0cf36c2843..9a36221ea1 100644 --- a/tcl/board/ek-lm3s811.cfg +++ b/tcl/board/ek-lm3s811.cfg @@ -14,4 +14,4 @@ source [find interface/ftdi/luminary.cfg] # include the target config set WORKAREASIZE 0x2000 set CHIPNAME lm3s811 -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm3s8962.cfg b/tcl/board/ek-lm3s8962.cfg index 71a1b1090c..f58147edde 100644 --- a/tcl/board/ek-lm3s8962.cfg +++ b/tcl/board/ek-lm3s8962.cfg @@ -14,4 +14,4 @@ source [find interface/ftdi/luminary.cfg] set WORKAREASIZE 0x10000 set CHIPNAME lm3s8962 # include the target config -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm3s9b9x.cfg b/tcl/board/ek-lm3s9b9x.cfg index 289a2cc091..b823b56cdd 100644 --- a/tcl/board/ek-lm3s9b9x.cfg +++ b/tcl/board/ek-lm3s9b9x.cfg @@ -13,4 +13,4 @@ source [find interface/ftdi/luminary-icdi.cfg] set WORKAREASIZE 0x4000 set CHIPNAME lm3s9b9x -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm3s9d92.cfg b/tcl/board/ek-lm3s9d92.cfg index 08bbbdb586..9f4dcaa35c 100644 --- a/tcl/board/ek-lm3s9d92.cfg +++ b/tcl/board/ek-lm3s9d92.cfg @@ -13,4 +13,4 @@ source [find interface/ftdi/luminary-icdi.cfg] # 64k working area set WORKAREASIZE 0x10000 set CHIPNAME lm3s9d92 -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm4f120xl.cfg b/tcl/board/ek-lm4f120xl.cfg index 44b1b1ea12..b1ab986680 100644 --- a/tcl/board/ek-lm4f120xl.cfg +++ b/tcl/board/ek-lm4f120xl.cfg @@ -16,4 +16,4 @@ transport select jtag set WORKAREASIZE 0x8000 set CHIPNAME lm4f120h5qr -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ek-lm4f232.cfg b/tcl/board/ek-lm4f232.cfg index bb7f9ea5b0..1fd05bb753 100644 --- a/tcl/board/ek-lm4f232.cfg +++ b/tcl/board/ek-lm4f232.cfg @@ -16,4 +16,4 @@ transport select jtag set WORKAREASIZE 0x8000 set CHIPNAME lm4f23x -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/linksys-wag200g.cfg b/tcl/board/linksys-wag200g.cfg index 26900a7d7a..2150baf893 100644 --- a/tcl/board/linksys-wag200g.cfg +++ b/tcl/board/linksys-wag200g.cfg @@ -22,7 +22,7 @@ set partition_list { adam2env { "Adam2 environment" 0x903f0000 0x00010000 } } -source [find target/ti-ar7.cfg] +source [find target/ti/ar7.cfg] # External 4MB MXIC 29LV320MBTC Flash (Manufacturer/Device: 0x00c2 0x227e) set _FLASHNAME $_CHIPNAME.flash diff --git a/tcl/board/netgear-dg834v3.cfg b/tcl/board/netgear-dg834v3.cfg index a9938889c6..4292ac4065 100644 --- a/tcl/board/netgear-dg834v3.cfg +++ b/tcl/board/netgear-dg834v3.cfg @@ -12,7 +12,7 @@ set partition_list { config { "Bootloader config space" 0x903f0000 0x00010000 } } -source [find target/ti-ar7.cfg] +source [find target/ti/ar7.cfg] # External 16MB SDRAM - disabled as we use internal sram #$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 0x00001000 diff --git a/tcl/board/omap2420_h4.cfg b/tcl/board/omap2420_h4.cfg index ec169654fa..b3e9d7daba 100644 --- a/tcl/board/omap2420_h4.cfg +++ b/tcl/board/omap2420_h4.cfg @@ -2,7 +2,7 @@ # OMAP2420 SDP board ("H4") -source [find target/omap2420.cfg] +source [find target/ti/omap2420.cfg] # NOTE: this assumes you're *NOT* using a TI-14 connector. reset_config trst_and_srst separate diff --git a/tcl/board/osk5912.cfg b/tcl/board/osk5912.cfg index 0759a27ac0..1f94c67a28 100644 --- a/tcl/board/osk5912.cfg +++ b/tcl/board/osk5912.cfg @@ -2,7 +2,7 @@ # http://omap.spectrumdigital.com/osk5912/ -source [find target/omap5912.cfg] +source [find target/ti/omap5912.cfg] # NOTE: this assumes you're using the ARM 20-pin ("Multi-ICE") # JTAG connector, and accordingly have J1 connecting pins 1 & 2. diff --git a/tcl/board/phone_se_j100i.cfg b/tcl/board/phone_se_j100i.cfg index 70387ee154..09ea703c84 100644 --- a/tcl/board/phone_se_j100i.cfg +++ b/tcl/board/phone_se_j100i.cfg @@ -6,7 +6,7 @@ # more information can be found on # http://bb.osmocom.org/trac/wiki/SonyEricssonJ100i # -source [find target/ti_calypso.cfg] +source [find target/ti/calypso.cfg] # external flash diff --git a/tcl/board/ti/launchxl2-tms57012.cfg b/tcl/board/ti/launchxl2-tms57012.cfg index 99cb26e204..ba305f6914 100644 --- a/tcl/board/ti/launchxl2-tms57012.cfg +++ b/tcl/board/ti/launchxl2-tms57012.cfg @@ -7,4 +7,4 @@ source [find interface/xds110.cfg] transport select jtag -source [find target/ti_tms570ls1x.cfg] +source [find target/ti/tms570ls1x.cfg] diff --git a/tcl/board/ti_am243_launchpad.cfg b/tcl/board/ti_am243_launchpad.cfg index aa75dda888..6833cdd677 100644 --- a/tcl/board/ti_am243_launchpad.cfg +++ b/tcl/board/ti_am243_launchpad.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am243 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 250 diff --git a/tcl/board/ti_am261_launchpad.cfg b/tcl/board/ti_am261_launchpad.cfg index c6c4609ed1..0a99d8b1ec 100644 --- a/tcl/board/ti_am261_launchpad.cfg +++ b/tcl/board/ti_am261_launchpad.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am261 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 250 diff --git a/tcl/board/ti_am263_launchpad.cfg b/tcl/board/ti_am263_launchpad.cfg index a07a21b3d5..7d603d386a 100644 --- a/tcl/board/ti_am263_launchpad.cfg +++ b/tcl/board/ti_am263_launchpad.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am263 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 250 diff --git a/tcl/board/ti_am263p_launchpad.cfg b/tcl/board/ti_am263p_launchpad.cfg index 96e06fab6b..25ae80d63b 100644 --- a/tcl/board/ti_am263p_launchpad.cfg +++ b/tcl/board/ti_am263p_launchpad.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am263p } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 250 diff --git a/tcl/board/ti_am273_launchpad.cfg b/tcl/board/ti_am273_launchpad.cfg index c17170bf13..6f10b6b624 100644 --- a/tcl/board/ti_am273_launchpad.cfg +++ b/tcl/board/ti_am273_launchpad.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am273 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 250 diff --git a/tcl/board/ti_am335xevm.cfg b/tcl/board/ti_am335xevm.cfg index af058ecf70..cc64d5877b 100644 --- a/tcl/board/ti_am335xevm.cfg +++ b/tcl/board/ti_am335xevm.cfg @@ -7,6 +7,6 @@ # jtag_rclk 6000 -source [find target/am335x.cfg] +source [find target/ti/am335x.cfg] reset_config trst_and_srst diff --git a/tcl/board/ti_am437x_idk.cfg b/tcl/board/ti_am437x_idk.cfg index b4277628ee..30f2580f62 100644 --- a/tcl/board/ti_am437x_idk.cfg +++ b/tcl/board/ti_am437x_idk.cfg @@ -8,7 +8,7 @@ source [find interface/ftdi/xds100v2.cfg] transport select jtag adapter speed 30000 -source [find target/am437x.cfg] +source [find target/ti/am437x.cfg] $_TARGETNAME configure -event reset-init { init_platform 0x61a11b32 } reset_config trst_and_srst diff --git a/tcl/board/ti_am43xx_evm.cfg b/tcl/board/ti_am43xx_evm.cfg index 005421f423..1c39618203 100644 --- a/tcl/board/ti_am43xx_evm.cfg +++ b/tcl/board/ti_am43xx_evm.cfg @@ -4,6 +4,6 @@ transport select jtag adapter speed 16000 -source [find target/am437x.cfg] +source [find target/ti/am437x.cfg] reset_config trst_and_srst diff --git a/tcl/board/ti_am625_swd_native.cfg b/tcl/board/ti_am625_swd_native.cfg index 65314fe5dc..8891e021a9 100644 --- a/tcl/board/ti_am625_swd_native.cfg +++ b/tcl/board/ti_am625_swd_native.cfg @@ -20,4 +20,4 @@ if { ![info exists SOC] } { set SOC am625 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] diff --git a/tcl/board/ti_am625evm.cfg b/tcl/board/ti_am625evm.cfg index 4906fd0967..2df13cdae1 100644 --- a/tcl/board/ti_am625evm.cfg +++ b/tcl/board/ti_am625evm.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am625 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_am62a7_swd_native.cfg b/tcl/board/ti_am62a7_swd_native.cfg index 3d5e892289..4d5512688e 100644 --- a/tcl/board/ti_am62a7_swd_native.cfg +++ b/tcl/board/ti_am62a7_swd_native.cfg @@ -20,4 +20,4 @@ if { ![info exists SOC] } { set SOC am62a7 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] diff --git a/tcl/board/ti_am62a7evm.cfg b/tcl/board/ti_am62a7evm.cfg index e40790950b..1c90be8b16 100644 --- a/tcl/board/ti_am62a7evm.cfg +++ b/tcl/board/ti_am62a7evm.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am62a7 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_am62levm.cfg b/tcl/board/ti_am62levm.cfg index 6debdd49f4..53ac7a5a07 100644 --- a/tcl/board/ti_am62levm.cfg +++ b/tcl/board/ti_am62levm.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC am62l } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_am62p_swd_native.cfg b/tcl/board/ti_am62p_swd_native.cfg index a8c6bd1204..55e6ea3d75 100644 --- a/tcl/board/ti_am62p_swd_native.cfg +++ b/tcl/board/ti_am62p_swd_native.cfg @@ -20,4 +20,4 @@ if { ![info exists SOC] } { set SOC am62p } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] diff --git a/tcl/board/ti_am62pevm.cfg b/tcl/board/ti_am62pevm.cfg index 2322b3d943..6c7f99a33c 100644 --- a/tcl/board/ti_am62pevm.cfg +++ b/tcl/board/ti_am62pevm.cfg @@ -19,6 +19,6 @@ if { ![info exists SOC] } { set SOC am62p } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_am642evm.cfg b/tcl/board/ti_am642evm.cfg index e97fdcf138..a6cfacd805 100644 --- a/tcl/board/ti_am642evm.cfg +++ b/tcl/board/ti_am642evm.cfg @@ -19,6 +19,6 @@ if { ![info exists SOC] } { set SOC am642 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 250 diff --git a/tcl/board/ti_am64xx_swd_native.cfg b/tcl/board/ti_am64xx_swd_native.cfg index d3727149ec..65e9e7c56e 100644 --- a/tcl/board/ti_am64xx_swd_native.cfg +++ b/tcl/board/ti_am64xx_swd_native.cfg @@ -20,4 +20,4 @@ if { ![info exists SOC] } { set SOC am642 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] diff --git a/tcl/board/ti_am654evm.cfg b/tcl/board/ti_am654evm.cfg index a661f6068f..e812feb6cb 100644 --- a/tcl/board/ti_am654evm.cfg +++ b/tcl/board/ti_am654evm.cfg @@ -19,6 +19,6 @@ if { ![info exists SOC] } { set SOC am654 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_beagleboard.cfg b/tcl/board/ti_beagleboard.cfg index 6767bd6df1..735708e80c 100644 --- a/tcl/board/ti_beagleboard.cfg +++ b/tcl/board/ti_beagleboard.cfg @@ -6,7 +6,7 @@ # Fall back to 6MHz if RTCK is not supported jtag_rclk 6000 -source [find target/omap3530.cfg] +source [find target/ti/omap3530.cfg] # TI-14 JTAG connector reset_config trst_only diff --git a/tcl/board/ti_beagleboard_xm.cfg b/tcl/board/ti_beagleboard_xm.cfg index fd176a0016..cd9a53c5f8 100644 --- a/tcl/board/ti_beagleboard_xm.cfg +++ b/tcl/board/ti_beagleboard_xm.cfg @@ -4,7 +4,7 @@ # http://beagleboard.org set CHIPTYPE "dm37x" -source [find target/amdm37x.cfg] +source [find target/ti/amdm37x.cfg] # The TI-14 JTAG connector does not have srst. CPU reset is handled in # hardware. diff --git a/tcl/board/ti_beaglebone-base.cfg b/tcl/board/ti_beaglebone-base.cfg index 566f0a4b30..db8432f4c9 100644 --- a/tcl/board/ti_beaglebone-base.cfg +++ b/tcl/board/ti_beaglebone-base.cfg @@ -3,4 +3,4 @@ # AM335x Beaglebone family base configuration # http://beagleboard.org/bone -source [find target/am335x.cfg] +source [find target/ti/am335x.cfg] diff --git a/tcl/board/ti_blaze.cfg b/tcl/board/ti_blaze.cfg index e28b05b83a..e549035279 100644 --- a/tcl/board/ti_blaze.cfg +++ b/tcl/board/ti_blaze.cfg @@ -2,6 +2,6 @@ jtag_rclk 6000 -source [find target/omap4430.cfg] +source [find target/ti/omap4430.cfg] reset_config trst_and_srst diff --git a/tcl/board/ti_cc13x0_launchpad.cfg b/tcl/board/ti_cc13x0_launchpad.cfg index f6dfbcda3d..e6904456c1 100644 --- a/tcl/board/ti_cc13x0_launchpad.cfg +++ b/tcl/board/ti_cc13x0_launchpad.cfg @@ -6,4 +6,4 @@ source [find interface/xds110.cfg] transport select jtag adapter speed 5500 -source [find target/ti_cc13x0.cfg] +source [find target/ti/cc13x0.cfg] diff --git a/tcl/board/ti_cc13x2_launchpad.cfg b/tcl/board/ti_cc13x2_launchpad.cfg index 900842a2fd..1653224d1f 100644 --- a/tcl/board/ti_cc13x2_launchpad.cfg +++ b/tcl/board/ti_cc13x2_launchpad.cfg @@ -6,4 +6,4 @@ source [find interface/xds110.cfg] adapter speed 5500 transport select jtag -source [find target/ti_cc13x2.cfg] +source [find target/ti/cc13x2.cfg] diff --git a/tcl/board/ti_cc26x0_launchpad.cfg b/tcl/board/ti_cc26x0_launchpad.cfg index 431383db1c..8e57cf2a43 100644 --- a/tcl/board/ti_cc26x0_launchpad.cfg +++ b/tcl/board/ti_cc26x0_launchpad.cfg @@ -6,4 +6,4 @@ source [find interface/xds110.cfg] adapter speed 5500 transport select jtag -source [find target/ti_cc26x0.cfg] +source [find target/ti/cc26x0.cfg] diff --git a/tcl/board/ti_cc26x2_launchpad.cfg b/tcl/board/ti_cc26x2_launchpad.cfg index 133f57e07f..931270e21d 100644 --- a/tcl/board/ti_cc26x2_launchpad.cfg +++ b/tcl/board/ti_cc26x2_launchpad.cfg @@ -6,4 +6,4 @@ source [find interface/xds110.cfg] adapter speed 5500 transport select jtag -source [find target/ti_cc26x2.cfg] +source [find target/ti/cc26x2.cfg] diff --git a/tcl/board/ti_cc26x2x7_launchpad.cfg b/tcl/board/ti_cc26x2x7_launchpad.cfg index 9e6e72e89c..c1b6e059a0 100644 --- a/tcl/board/ti_cc26x2x7_launchpad.cfg +++ b/tcl/board/ti_cc26x2x7_launchpad.cfg @@ -6,4 +6,4 @@ source [find interface/xds110.cfg] adapter speed 5500 transport select jtag -source [find target/ti_cc26x2x7.cfg] +source [find target/ti/cc26x2x7.cfg] diff --git a/tcl/board/ti_cc3200_launchxl.cfg b/tcl/board/ti_cc3200_launchxl.cfg index 5f39b8a83f..ca78cd19e6 100644 --- a/tcl/board/ti_cc3200_launchxl.cfg +++ b/tcl/board/ti_cc3200_launchxl.cfg @@ -17,7 +17,7 @@ if { [info exists TRANSPORT] } { adapter speed 2500 set WORKAREASIZE 0x40000 -source [find target/ti_cc32xx.cfg] +source [find target/ti/cc32xx.cfg] reset_config srst_only adapter srst delay 1100 diff --git a/tcl/board/ti_cc3220sf_launchpad.cfg b/tcl/board/ti_cc3220sf_launchpad.cfg index fe34554dfc..560e3ee259 100644 --- a/tcl/board/ti_cc3220sf_launchpad.cfg +++ b/tcl/board/ti_cc3220sf_launchpad.cfg @@ -6,4 +6,4 @@ source [find interface/xds110.cfg] adapter speed 8500 transport select swd -source [find target/ti_cc3220sf.cfg] +source [find target/ti/cc3220sf.cfg] diff --git a/tcl/board/ti_cc32xx_launchpad.cfg b/tcl/board/ti_cc32xx_launchpad.cfg index 343da485d3..41da72c3cc 100644 --- a/tcl/board/ti_cc32xx_launchpad.cfg +++ b/tcl/board/ti_cc32xx_launchpad.cfg @@ -6,7 +6,7 @@ source [find interface/xds110.cfg] adapter speed 8500 transport select swd -source [find target/ti_cc32xx.cfg] +source [find target/ti/cc32xx.cfg] reset_config srst_only adapter srst delay 1100 diff --git a/tcl/board/ti_dk-tm4c129.cfg b/tcl/board/ti_dk-tm4c129.cfg index e0574fa870..d01b559668 100644 --- a/tcl/board/ti_dk-tm4c129.cfg +++ b/tcl/board/ti_dk-tm4c129.cfg @@ -13,4 +13,4 @@ transport select jtag set WORKAREASIZE 0x8000 set CHIPNAME tm4c129xnczad -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ti_ek-tm4c123gxl.cfg b/tcl/board/ti_ek-tm4c123gxl.cfg index 7b8fc267f5..2d1c1a7712 100644 --- a/tcl/board/ti_ek-tm4c123gxl.cfg +++ b/tcl/board/ti_ek-tm4c123gxl.cfg @@ -12,4 +12,4 @@ transport select jtag set WORKAREASIZE 0x8000 set CHIPNAME tm4c123gh6pm -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ti_ek-tm4c1294xl.cfg b/tcl/board/ti_ek-tm4c1294xl.cfg index 8cceb49c96..38e8f023b0 100644 --- a/tcl/board/ti_ek-tm4c1294xl.cfg +++ b/tcl/board/ti_ek-tm4c1294xl.cfg @@ -13,4 +13,4 @@ transport select jtag set WORKAREASIZE 0x8000 set CHIPNAME tm4c1294ncpdt -source [find target/stellaris.cfg] +source [find target/ti/stellaris.cfg] diff --git a/tcl/board/ti_j7200evm.cfg b/tcl/board/ti_j7200evm.cfg index cc70056fb4..7edeb36785 100644 --- a/tcl/board/ti_j7200evm.cfg +++ b/tcl/board/ti_j7200evm.cfg @@ -19,6 +19,6 @@ if { ![info exists SOC] } { set SOC j7200 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_j721e_swd_native.cfg b/tcl/board/ti_j721e_swd_native.cfg index 38316387af..7b3f6060f1 100644 --- a/tcl/board/ti_j721e_swd_native.cfg +++ b/tcl/board/ti_j721e_swd_native.cfg @@ -19,4 +19,4 @@ transport select swd if { ![info exists SOC] } { set SOC j721e } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] diff --git a/tcl/board/ti_j721evm.cfg b/tcl/board/ti_j721evm.cfg index d0c4b74965..92e88234ee 100644 --- a/tcl/board/ti_j721evm.cfg +++ b/tcl/board/ti_j721evm.cfg @@ -19,6 +19,6 @@ if { ![info exists SOC] } { set SOC j721e } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_j721s2evm.cfg b/tcl/board/ti_j721s2evm.cfg index 72418b57b6..f8e12b8753 100644 --- a/tcl/board/ti_j721s2evm.cfg +++ b/tcl/board/ti_j721s2evm.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC j721s2 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_j722s_swd_native.cfg b/tcl/board/ti_j722s_swd_native.cfg index a171ec3586..1bc60968c0 100644 --- a/tcl/board/ti_j722s_swd_native.cfg +++ b/tcl/board/ti_j722s_swd_native.cfg @@ -21,4 +21,4 @@ if { ![info exists SOC] } { set SOC j722s } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] diff --git a/tcl/board/ti_j722sevm.cfg b/tcl/board/ti_j722sevm.cfg index 6a5c2d9cd9..c43e7abe5d 100644 --- a/tcl/board/ti_j722sevm.cfg +++ b/tcl/board/ti_j722sevm.cfg @@ -19,6 +19,6 @@ if { ![info exists SOC] } { set SOC j722s } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_j784s4_swd_native.cfg b/tcl/board/ti_j784s4_swd_native.cfg index 13b2ac3b87..dd534248f6 100644 --- a/tcl/board/ti_j784s4_swd_native.cfg +++ b/tcl/board/ti_j784s4_swd_native.cfg @@ -19,4 +19,4 @@ transport select swd if { ![info exists SOC] } { set SOC j784s4 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] diff --git a/tcl/board/ti_j784s4evm.cfg b/tcl/board/ti_j784s4evm.cfg index d23dc8ce67..a8a5af2e0f 100644 --- a/tcl/board/ti_j784s4evm.cfg +++ b/tcl/board/ti_j784s4evm.cfg @@ -20,6 +20,6 @@ if { ![info exists SOC] } { set SOC j784s4 } -source [find target/ti_k3.cfg] +source [find target/ti/k3.cfg] adapter speed 2500 diff --git a/tcl/board/ti_msp432_launchpad.cfg b/tcl/board/ti_msp432_launchpad.cfg index 4832b837b0..455d5a362e 100644 --- a/tcl/board/ti_msp432_launchpad.cfg +++ b/tcl/board/ti_msp432_launchpad.cfg @@ -6,4 +6,4 @@ source [find interface/xds110.cfg] adapter speed 10000 transport select swd -source [find target/ti_msp432.cfg] +source [find target/ti/msp432.cfg] diff --git a/tcl/board/ti_mspm0_launchpad.cfg b/tcl/board/ti_mspm0_launchpad.cfg index 132fdc2a30..30632f2b5c 100644 --- a/tcl/board/ti_mspm0_launchpad.cfg +++ b/tcl/board/ti_mspm0_launchpad.cfg @@ -11,4 +11,4 @@ source [find interface/xds110.cfg] adapter speed 10000 -source [find target/ti_mspm0.cfg] +source [find target/ti/mspm0.cfg] diff --git a/tcl/board/ti_pandaboard.cfg b/tcl/board/ti_pandaboard.cfg index 45092e067d..7e15f07bdf 100644 --- a/tcl/board/ti_pandaboard.cfg +++ b/tcl/board/ti_pandaboard.cfg @@ -2,6 +2,6 @@ jtag_rclk 6000 -source [find target/omap4430.cfg] +source [find target/ti/omap4430.cfg] reset_config trst_only diff --git a/tcl/board/ti_pandaboard_es.cfg b/tcl/board/ti_pandaboard_es.cfg index f83735844d..cd8a2f80bb 100644 --- a/tcl/board/ti_pandaboard_es.cfg +++ b/tcl/board/ti_pandaboard_es.cfg @@ -2,6 +2,6 @@ jtag_rclk 6000 -source [find target/omap4460.cfg] +source [find target/ti/omap4460.cfg] reset_config trst_only diff --git a/tcl/board/ti_tmdx570ls20susb.cfg b/tcl/board/ti_tmdx570ls20susb.cfg index 9c5ef74eaa..ccf649d8fd 100644 --- a/tcl/board/ti_tmdx570ls20susb.cfg +++ b/tcl/board/ti_tmdx570ls20susb.cfg @@ -8,7 +8,7 @@ source [find interface/ftdi/xds100v2.cfg] # Processor is TMS570LS20216 -source [find target/ti_tms570ls20xxx.cfg] +source [find target/ti/tms570ls20xxx.cfg] reset_config trst_only diff --git a/tcl/board/ti_tmdx570ls31usb.cfg b/tcl/board/ti_tmdx570ls31usb.cfg index 324f003d38..b2d5d8119a 100644 --- a/tcl/board/ti_tmdx570ls31usb.cfg +++ b/tcl/board/ti_tmdx570ls31usb.cfg @@ -3,6 +3,6 @@ adapter speed 1500 source [find interface/ftdi/xds100v2.cfg] -source [find target/ti_tms570.cfg] +source [find target/ti/tms570.cfg] reset_config trst_only diff --git a/tcl/target/am335x.cfg b/tcl/target/ti/am335x.cfg similarity index 97% rename from tcl/target/am335x.cfg rename to tcl/target/ti/am335x.cfg index 208ebf5610..9388f76fb5 100644 --- a/tcl/target/am335x.cfg +++ b/tcl/target/ti/am335x.cfg @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-or-later -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME @@ -84,7 +84,7 @@ $_TARGETNAME configure -work-area-phys 0x40300000 -work-area-size 0x4000 # when putting the target into 'reset halt', we need to disable the watchdog as # it would otherwise trigger while we're in JTAG -# FIXME: unify with target/am437x.cfg +# FIXME: unify with target/ti/am437x.cfg source [find mem_helper.tcl] set WDT1_BASE_ADDR 0x44e35000 set WDT1_W_PEND_WSPR [expr {$WDT1_BASE_ADDR + 0x0034}] diff --git a/tcl/target/am437x.cfg b/tcl/target/ti/am437x.cfg similarity index 99% rename from tcl/target/am437x.cfg rename to tcl/target/ti/am437x.cfg index 5350927583..5470f164b5 100644 --- a/tcl/target/am437x.cfg +++ b/tcl/target/ti/am437x.cfg @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-or-later -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] source [find mem_helper.tcl] ############################################################################### diff --git a/tcl/target/amdm37x.cfg b/tcl/target/ti/amdm37x.cfg similarity index 99% rename from tcl/target/amdm37x.cfg rename to tcl/target/ti/amdm37x.cfg index d9adae9047..635d94c1c3 100644 --- a/tcl/target/amdm37x.cfg +++ b/tcl/target/ti/amdm37x.cfg @@ -59,7 +59,7 @@ adapter speed 10 # can be read about this module in sprugn4r in chapter 27: "Debug and # Emulation". The module is used to route the JTAG chain to the various # subsystems in the chip. -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # The TAP order should be described from the TDO connection in OpenOCD to the # TDI pin. The OpenOCD FAQ describes this in more detail: diff --git a/tcl/target/ti-ar7.cfg b/tcl/target/ti/ar7.cfg similarity index 100% rename from tcl/target/ti-ar7.cfg rename to tcl/target/ti/ar7.cfg diff --git a/tcl/target/ti_calypso.cfg b/tcl/target/ti/calypso.cfg similarity index 100% rename from tcl/target/ti_calypso.cfg rename to tcl/target/ti/calypso.cfg diff --git a/tcl/target/ti_cc13x0.cfg b/tcl/target/ti/cc13x0.cfg similarity index 84% rename from tcl/target/ti_cc13x0.cfg rename to tcl/target/ti/cc13x0.cfg index f1c43a6899..7f33edb804 100644 --- a/tcl/target/ti_cc13x0.cfg +++ b/tcl/target/ti/cc13x0.cfg @@ -10,4 +10,4 @@ set CHIPNAME cc13x0 set JRC_TAPID 0x0B9BE02F set WORKAREASIZE 0x4000 -source [find target/ti_cc26x0.cfg] +source [find target/ti/cc26x0.cfg] diff --git a/tcl/target/ti_cc13x2.cfg b/tcl/target/ti/cc13x2.cfg similarity index 84% rename from tcl/target/ti_cc13x2.cfg rename to tcl/target/ti/cc13x2.cfg index c850816851..2dadb9ce0b 100644 --- a/tcl/target/ti_cc13x2.cfg +++ b/tcl/target/ti/cc13x2.cfg @@ -10,4 +10,4 @@ set CHIPNAME cc13x2 set JRC_TAPID 0x0BB4102F set WORKAREASIZE 0x7000 -source [find target/ti_cc26x0.cfg] +source [find target/ti/cc26x0.cfg] diff --git a/tcl/target/cc2538.cfg b/tcl/target/ti/cc2538.cfg similarity index 94% rename from tcl/target/cc2538.cfg rename to tcl/target/ti/cc2538.cfg index e4fb02ad4d..f0fd34b054 100644 --- a/tcl/target/cc2538.cfg +++ b/tcl/target/ti/cc2538.cfg @@ -5,8 +5,8 @@ adapter speed 100 -source [find target/icepick.cfg] -source [find target/ti-cjtag.cfg] +source [find target/ti/icepick.cfg] +source [find target/ti/cjtag.cfg] if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME diff --git a/tcl/target/ti_cc26x0.cfg b/tcl/target/ti/cc26x0.cfg similarity index 95% rename from tcl/target/ti_cc26x0.cfg rename to tcl/target/ti/cc26x0.cfg index b9ccf31232..246c1fd979 100644 --- a/tcl/target/ti_cc26x0.cfg +++ b/tcl/target/ti/cc26x0.cfg @@ -6,8 +6,8 @@ # http://www.ti.com # -source [find target/icepick.cfg] -source [find target/ti-cjtag.cfg] +source [find target/ti/icepick.cfg] +source [find target/ti/cjtag.cfg] if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME diff --git a/tcl/target/ti_cc26x2.cfg b/tcl/target/ti/cc26x2.cfg similarity index 84% rename from tcl/target/ti_cc26x2.cfg rename to tcl/target/ti/cc26x2.cfg index 62c91c3395..14b5869219 100644 --- a/tcl/target/ti_cc26x2.cfg +++ b/tcl/target/ti/cc26x2.cfg @@ -10,4 +10,4 @@ set CHIPNAME cc26x2 set JRC_TAPID 0x0BB4102F set WORKAREASIZE 0x7000 -source [find target/ti_cc26x0.cfg] +source [find target/ti/cc26x0.cfg] diff --git a/tcl/target/ti_cc26x2x7.cfg b/tcl/target/ti/cc26x2x7.cfg similarity index 84% rename from tcl/target/ti_cc26x2x7.cfg rename to tcl/target/ti/cc26x2x7.cfg index 91c1a80596..80ecdd450a 100644 --- a/tcl/target/ti_cc26x2x7.cfg +++ b/tcl/target/ti/cc26x2x7.cfg @@ -10,4 +10,4 @@ set CHIPNAME cc26x2x7 set JRC_TAPID 0x1BB7702F set WORKAREASIZE 0x7000 -source [find target/ti_cc26x0.cfg] +source [find target/ti/cc26x0.cfg] diff --git a/tcl/target/ti_cc3220sf.cfg b/tcl/target/ti/cc3220sf.cfg similarity index 93% rename from tcl/target/ti_cc3220sf.cfg rename to tcl/target/ti/cc3220sf.cfg index cf43363768..7b242ab8a5 100644 --- a/tcl/target/ti_cc3220sf.cfg +++ b/tcl/target/ti/cc3220sf.cfg @@ -7,8 +7,8 @@ # source [find target/swj-dp.tcl] -source [find target/icepick.cfg] -source [find target/ti_cc32xx.cfg] +source [find target/ti/icepick.cfg] +source [find target/ti/cc32xx.cfg] set _FLASHNAME $_CHIPNAME.flash flash bank $_FLASHNAME cc3220sf 0 0 0 0 $_TARGETNAME diff --git a/tcl/target/ti_cc32xx.cfg b/tcl/target/ti/cc32xx.cfg similarity index 97% rename from tcl/target/ti_cc32xx.cfg rename to tcl/target/ti/cc32xx.cfg index 9eb03eb2f4..d081360bd4 100644 --- a/tcl/target/ti_cc32xx.cfg +++ b/tcl/target/ti/cc32xx.cfg @@ -8,7 +8,7 @@ # source [find target/swj-dp.tcl] -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME diff --git a/tcl/target/ti-cjtag.cfg b/tcl/target/ti/cjtag.cfg similarity index 100% rename from tcl/target/ti-cjtag.cfg rename to tcl/target/ti/cjtag.cfg diff --git a/tcl/target/ti_dm355.cfg b/tcl/target/ti/dm355.cfg similarity index 98% rename from tcl/target/ti_dm355.cfg rename to tcl/target/ti/dm355.cfg index 42923733ea..2ddbc7a8db 100644 --- a/tcl/target/ti_dm355.cfg +++ b/tcl/target/ti/dm355.cfg @@ -17,7 +17,7 @@ set EMU01 "-disable" # needing any ICEpick interaction. #set EMU01 "-enable" -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # # Also note: when running without RTCK before the PLLs are set up, you diff --git a/tcl/target/ti_dm365.cfg b/tcl/target/ti/dm365.cfg similarity index 98% rename from tcl/target/ti_dm365.cfg rename to tcl/target/ti/dm365.cfg index e19efd7ee4..5578c5b1f5 100644 --- a/tcl/target/ti_dm365.cfg +++ b/tcl/target/ti/dm365.cfg @@ -17,7 +17,7 @@ set EMU01 "-disable" # needing any ICEpick interaction. #set EMU01 "-enable" -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # Subsidiary TAP: ARM ETB11, with scan chain for 4K of ETM trace buffer if { [info exists ETB_TAPID] } { diff --git a/tcl/target/ti_dm6446.cfg b/tcl/target/ti/dm6446.cfg similarity index 98% rename from tcl/target/ti_dm6446.cfg rename to tcl/target/ti/dm6446.cfg index 8938234c30..23218c4ab3 100644 --- a/tcl/target/ti_dm6446.cfg +++ b/tcl/target/ti/dm6446.cfg @@ -17,7 +17,7 @@ set EMU01 "-disable" # needing any ICEpick interaction. #set EMU01 "-enable" -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # Subsidiary TAP: unknown ... must enable via ICEpick jtag newtap $_CHIPNAME unknown -irlen 8 -disable diff --git a/tcl/target/icepick.cfg b/tcl/target/ti/icepick.cfg similarity index 100% rename from tcl/target/icepick.cfg rename to tcl/target/ti/icepick.cfg diff --git a/tcl/target/ti_k3.cfg b/tcl/target/ti/k3.cfg similarity index 100% rename from tcl/target/ti_k3.cfg rename to tcl/target/ti/k3.cfg diff --git a/tcl/target/ti_msp432.cfg b/tcl/target/ti/msp432.cfg similarity index 100% rename from tcl/target/ti_msp432.cfg rename to tcl/target/ti/msp432.cfg diff --git a/tcl/target/ti_mspm0.cfg b/tcl/target/ti/mspm0.cfg similarity index 100% rename from tcl/target/ti_mspm0.cfg rename to tcl/target/ti/mspm0.cfg diff --git a/tcl/target/omap2420.cfg b/tcl/target/ti/omap2420.cfg similarity index 100% rename from tcl/target/omap2420.cfg rename to tcl/target/ti/omap2420.cfg diff --git a/tcl/target/omap3530.cfg b/tcl/target/ti/omap3530.cfg similarity index 98% rename from tcl/target/omap3530.cfg rename to tcl/target/ti/omap3530.cfg index c1921b437e..5ae003b398 100644 --- a/tcl/target/omap3530.cfg +++ b/tcl/target/ti/omap3530.cfg @@ -11,7 +11,7 @@ if { [info exists CHIPNAME] } { } # ICEpick-C ... used to route Cortex, DSP, and more not shown here -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # Subsidiary TAP: C64x+ DSP ... must enable via ICEpick jtag newtap $_CHIPNAME dsp -irlen 38 -ircapture 0x25 -irmask 0x3f -disable diff --git a/tcl/target/omap4430.cfg b/tcl/target/ti/omap4430.cfg similarity index 98% rename from tcl/target/omap4430.cfg rename to tcl/target/ti/omap4430.cfg index 4bc7fe1bf7..f1b87f147a 100644 --- a/tcl/target/omap4430.cfg +++ b/tcl/target/ti/omap4430.cfg @@ -12,7 +12,7 @@ if { [info exists CHIPNAME] } { # Although the OMAP4430 supposedly has an ICEpick-D, only the # ICEpick-C router commands seem to work. # See http://processors.wiki.ti.com/index.php/ICEPICK -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # diff --git a/tcl/target/omap4460.cfg b/tcl/target/ti/omap4460.cfg similarity index 98% rename from tcl/target/omap4460.cfg rename to tcl/target/ti/omap4460.cfg index 85ba96c51f..b9e4140618 100644 --- a/tcl/target/omap4460.cfg +++ b/tcl/target/ti/omap4460.cfg @@ -12,7 +12,7 @@ if { [info exists CHIPNAME] } { # Although the OMAP4430 supposedly has an ICEpick-D, only the # ICEpick-C router commands seem to work. # See http://processors.wiki.ti.com/index.php/ICEPICK -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # diff --git a/tcl/target/omap5912.cfg b/tcl/target/ti/omap5912.cfg similarity index 100% rename from tcl/target/omap5912.cfg rename to tcl/target/ti/omap5912.cfg diff --git a/tcl/target/omapl138.cfg b/tcl/target/ti/omapl138.cfg similarity index 98% rename from tcl/target/omapl138.cfg rename to tcl/target/ti/omapl138.cfg index 9d89429a88..166317f1d2 100644 --- a/tcl/target/omapl138.cfg +++ b/tcl/target/ti/omapl138.cfg @@ -9,7 +9,7 @@ if { [info exists CHIPNAME] } { set _CHIPNAME omapl138 } -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # Subsidiary TAP: ARM ETB11, with scan chain for 4K of ETM trace buffer if { [info exists ETB_TAPID] } { diff --git a/tcl/target/ti_rm4x.cfg b/tcl/target/ti/rm4x.cfg similarity index 56% rename from tcl/target/ti_rm4x.cfg rename to tcl/target/ti/rm4x.cfg index 715aa5b705..9103d44621 100644 --- a/tcl/target/ti_rm4x.cfg +++ b/tcl/target/ti/rm4x.cfg @@ -1,3 +1,3 @@ # SPDX-License-Identifier: GPL-2.0-or-later -source [find target/ti_tms570.cfg] +source [find target/ti/tms570.cfg] diff --git a/tcl/target/stellaris.cfg b/tcl/target/ti/stellaris.cfg similarity index 100% rename from tcl/target/stellaris.cfg rename to tcl/target/ti/stellaris.cfg diff --git a/tcl/target/ti_tms570.cfg b/tcl/target/ti/tms570.cfg similarity index 97% rename from tcl/target/ti_tms570.cfg rename to tcl/target/ti/tms570.cfg index 18e0d82941..3b0639b5d6 100644 --- a/tcl/target/ti_tms570.cfg +++ b/tcl/target/ti/tms570.cfg @@ -15,7 +15,7 @@ if { [info exists ENDIAN] } { } # TMS570 has an ICEpick-C on which we need the router commands. -source [find target/icepick.cfg] +source [find target/ti/icepick.cfg] # Main DAP # DAP_TAPID should be set before source-ing this file diff --git a/tcl/target/ti_tms570lc43xx.cfg b/tcl/target/ti/tms570lc43xx.cfg similarity index 73% rename from tcl/target/ti_tms570lc43xx.cfg rename to tcl/target/ti/tms570lc43xx.cfg index ffda989f97..677132a89e 100644 --- a/tcl/target/ti_tms570lc43xx.cfg +++ b/tcl/target/ti/tms570lc43xx.cfg @@ -3,4 +3,4 @@ set DAP_TAPID 0x0B95A02F set JRC_TAPID 0x0B95A02F -source [find target/ti_tms570.cfg] +source [find target/ti/tms570.cfg] diff --git a/tcl/target/ti_tms570ls1x.cfg b/tcl/target/ti/tms570ls1x.cfg similarity index 82% rename from tcl/target/ti_tms570ls1x.cfg rename to tcl/target/ti/tms570ls1x.cfg index 3c25777578..8eace9c524 100644 --- a/tcl/target/ti_tms570ls1x.cfg +++ b/tcl/target/ti/tms570ls1x.cfg @@ -5,4 +5,4 @@ set DAP_TAPID 0x0B95502F set JRC_TAPID 0x0B95502F -source [find target/ti_tms570.cfg] +source [find target/ti/tms570.cfg] diff --git a/tcl/target/ti_tms570ls20xxx.cfg b/tcl/target/ti/tms570ls20xxx.cfg similarity index 84% rename from tcl/target/ti_tms570ls20xxx.cfg rename to tcl/target/ti/tms570ls20xxx.cfg index cc2bbd6904..4581dbf304 100644 --- a/tcl/target/ti_tms570ls20xxx.cfg +++ b/tcl/target/ti/tms570ls20xxx.cfg @@ -5,4 +5,4 @@ set DAP_TAPID 0x0B7B302F set JRC_TAPID 0x0B7B302F -source [find target/ti_tms570.cfg] +source [find target/ti/tms570.cfg] diff --git a/tcl/target/ti_tms570ls3137.cfg b/tcl/target/ti/tms570ls3137.cfg similarity index 76% rename from tcl/target/ti_tms570ls3137.cfg rename to tcl/target/ti/tms570ls3137.cfg index ebe2cfc652..2cbbde84fe 100644 --- a/tcl/target/ti_tms570ls3137.cfg +++ b/tcl/target/ti/tms570ls3137.cfg @@ -4,4 +4,4 @@ set DAP_TAPID 0x0B8A002F set JRC_TAPID 0x0B8A002F -source [find target/ti_tms570.cfg] +source [find target/ti/tms570.cfg] -- |
|
From: <ge...@op...> - 2025-11-03 17:43:13
|
This is an automated email from Gerrit. "Nishanth Menon <nm...@ti...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9206 -- gerrit commit b014281a03b0c904a75aa401aab9cf85b9af5a06 Author: Nishanth Menon <nm...@ti...> Date: Mon Nov 3 11:39:34 2025 -0600 board/ti: Rename _swd_native.cfg as _self_hosted.cfg Rename the _swd_native.cfg files as _self_hosted.cfg files as a better representation of what we are using the configuration files to be. Change-Id: I4eb469a219b83de6a9e7a8dfef5607306f59a7cd Suggested-by: Antonio Borneo <bor...@gm...> Signed-off-by: Nishanth Menon <nm...@ti...> diff --git a/doc/openocd.texi b/doc/openocd.texi index e90fd6aa50..3a51cd6ff7 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -3840,7 +3840,7 @@ device configuration, this function may be blocked out. Typical behavior observed in such cases is a firewall exception report on the security controller and armv8 processor reporting a system error. -See @file{tcl/board/ti/am625_swd_native.cfg} for a sample configuration +See @file{tcl/board/ti/am625_self_hosted.cfg} for a sample configuration file. @deffn {Command} {dmem info} diff --git a/tcl/board/ti/am625_swd_native.cfg b/tcl/board/ti/am625_self_hosted.cfg similarity index 100% rename from tcl/board/ti/am625_swd_native.cfg rename to tcl/board/ti/am625_self_hosted.cfg diff --git a/tcl/board/ti/am62a7_swd_native.cfg b/tcl/board/ti/am62a7_self_hosted.cfg similarity index 100% rename from tcl/board/ti/am62a7_swd_native.cfg rename to tcl/board/ti/am62a7_self_hosted.cfg diff --git a/tcl/board/ti/am62p_swd_native.cfg b/tcl/board/ti/am62p_self_hosted.cfg similarity index 100% rename from tcl/board/ti/am62p_swd_native.cfg rename to tcl/board/ti/am62p_self_hosted.cfg diff --git a/tcl/board/ti/am64xx_swd_native.cfg b/tcl/board/ti/am64xx_self_hosted.cfg similarity index 100% rename from tcl/board/ti/am64xx_swd_native.cfg rename to tcl/board/ti/am64xx_self_hosted.cfg diff --git a/tcl/board/ti/j721e_swd_native.cfg b/tcl/board/ti/j721e_self_hosted.cfg similarity index 100% rename from tcl/board/ti/j721e_swd_native.cfg rename to tcl/board/ti/j721e_self_hosted.cfg diff --git a/tcl/board/ti/j722s_swd_native.cfg b/tcl/board/ti/j722s_self_hosted.cfg similarity index 100% rename from tcl/board/ti/j722s_swd_native.cfg rename to tcl/board/ti/j722s_self_hosted.cfg diff --git a/tcl/board/ti/j784s4_swd_native.cfg b/tcl/board/ti/j784s4_self_hosted.cfg similarity index 100% rename from tcl/board/ti/j784s4_swd_native.cfg rename to tcl/board/ti/j784s4_self_hosted.cfg -- |
|
From: <ge...@op...> - 2025-11-03 17:43:08
|
This is an automated email from Gerrit. "Nishanth Menon <nm...@ti...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9205 -- gerrit commit 56eaa04f5972bcf1bd970b373cb4e9ab65d1f029 Author: Nishanth Menon <nm...@ti...> Date: Mon Nov 3 11:31:12 2025 -0600 board/ti_*.cfg: Move TI evm platform configurations to board/ti folder As part of the cfg file cleanups, let us move the TI evms, launchpads and other development platform configuration files to board/ti folder. While at this, drop the "ti_" prefix as the folder structure gives us the details anyways. Change-Id: I929b88e0cf6527f3181820ad0b9b4744185eabaf Suggested-by: Antonio Borneo <bor...@gm...> Signed-off-by: Nishanth Menon <nm...@ti...> diff --git a/doc/openocd.texi b/doc/openocd.texi index 9b69b98ca7..e90fd6aa50 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -3840,7 +3840,7 @@ device configuration, this function may be blocked out. Typical behavior observed in such cases is a firewall exception report on the security controller and armv8 processor reporting a system error. -See @file{tcl/interface/ti_k3_am625-swd-native.cfg} for a sample configuration +See @file{tcl/board/ti/am625_swd_native.cfg} for a sample configuration file. @deffn {Command} {dmem info} diff --git a/tcl/board/dk-tm4c129.cfg b/tcl/board/dk-tm4c129.cfg index 27bd432ce5..2c5b5b151e 100644 --- a/tcl/board/dk-tm4c129.cfg +++ b/tcl/board/dk-tm4c129.cfg @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-or-later -echo "WARNING: board/dk-tm4c129.cfg is deprecated, please switch to board/ti_dk-tm4c129.cfg" +echo "WARNING: board/dk-tm4c129.cfg is deprecated, please switch to board/ti/dk-tm4c129.cfg" -source [find board/ti_dk-tm4c129.cfg] +source [find board/ti/dk-tm4c129.cfg] diff --git a/tcl/board/ek-tm4c123gxl.cfg b/tcl/board/ek-tm4c123gxl.cfg index d569e58cd9..b808731a6f 100644 --- a/tcl/board/ek-tm4c123gxl.cfg +++ b/tcl/board/ek-tm4c123gxl.cfg @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-or-later -echo "WARNING: board/ek-tm4c123gxl.cfg is deprecated, please switch to board/ti_ek-tm4c123gxl.cfg" +echo "WARNING: board/ek-tm4c123gxl.cfg is deprecated, please switch to board/ti/ek-tm4c123gxl.cfg" -source [find board/ti_ek-tm4c123gxl.cfg] +source [find board/ti/ek-tm4c123gxl.cfg] diff --git a/tcl/board/ek-tm4c1294xl.cfg b/tcl/board/ek-tm4c1294xl.cfg index 5c1167451e..0e8837c4ed 100644 --- a/tcl/board/ek-tm4c1294xl.cfg +++ b/tcl/board/ek-tm4c1294xl.cfg @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-or-later -echo "WARNING: board/ek-tm4c1294xl.cfg is deprecated, please switch to board/ti_ek-tm4c1294xl.cfg" +echo "WARNING: board/ek-tm4c1294xl.cfg is deprecated, please switch to board/ti/ek-tm4c1294xl.cfg" -source [find board/ti_ek-tm4c1294xl.cfg] +source [find board/ti/ek-tm4c1294xl.cfg] diff --git a/tcl/board/ti_am243_launchpad.cfg b/tcl/board/ti/am243_launchpad.cfg similarity index 100% rename from tcl/board/ti_am243_launchpad.cfg rename to tcl/board/ti/am243_launchpad.cfg diff --git a/tcl/board/ti_am261_launchpad.cfg b/tcl/board/ti/am261_launchpad.cfg similarity index 100% rename from tcl/board/ti_am261_launchpad.cfg rename to tcl/board/ti/am261_launchpad.cfg diff --git a/tcl/board/ti_am263_launchpad.cfg b/tcl/board/ti/am263_launchpad.cfg similarity index 100% rename from tcl/board/ti_am263_launchpad.cfg rename to tcl/board/ti/am263_launchpad.cfg diff --git a/tcl/board/ti_am263p_launchpad.cfg b/tcl/board/ti/am263p_launchpad.cfg similarity index 100% rename from tcl/board/ti_am263p_launchpad.cfg rename to tcl/board/ti/am263p_launchpad.cfg diff --git a/tcl/board/ti_am273_launchpad.cfg b/tcl/board/ti/am273_launchpad.cfg similarity index 100% rename from tcl/board/ti_am273_launchpad.cfg rename to tcl/board/ti/am273_launchpad.cfg diff --git a/tcl/board/ti_am335xevm.cfg b/tcl/board/ti/am335xevm.cfg similarity index 100% rename from tcl/board/ti_am335xevm.cfg rename to tcl/board/ti/am335xevm.cfg diff --git a/tcl/board/am3517evm.cfg b/tcl/board/ti/am3517evm.cfg similarity index 100% rename from tcl/board/am3517evm.cfg rename to tcl/board/ti/am3517evm.cfg diff --git a/tcl/board/ti_am437x_idk.cfg b/tcl/board/ti/am437x_idk.cfg similarity index 100% rename from tcl/board/ti_am437x_idk.cfg rename to tcl/board/ti/am437x_idk.cfg diff --git a/tcl/board/ti_am43xx_evm.cfg b/tcl/board/ti/am43xx_evm.cfg similarity index 100% rename from tcl/board/ti_am43xx_evm.cfg rename to tcl/board/ti/am43xx_evm.cfg diff --git a/tcl/board/ti_am625_swd_native.cfg b/tcl/board/ti/am625_swd_native.cfg similarity index 100% rename from tcl/board/ti_am625_swd_native.cfg rename to tcl/board/ti/am625_swd_native.cfg diff --git a/tcl/board/ti_am625evm.cfg b/tcl/board/ti/am625evm.cfg similarity index 100% rename from tcl/board/ti_am625evm.cfg rename to tcl/board/ti/am625evm.cfg diff --git a/tcl/board/ti_am62a7_swd_native.cfg b/tcl/board/ti/am62a7_swd_native.cfg similarity index 100% rename from tcl/board/ti_am62a7_swd_native.cfg rename to tcl/board/ti/am62a7_swd_native.cfg diff --git a/tcl/board/ti_am62a7evm.cfg b/tcl/board/ti/am62a7evm.cfg similarity index 100% rename from tcl/board/ti_am62a7evm.cfg rename to tcl/board/ti/am62a7evm.cfg diff --git a/tcl/board/ti_am62levm.cfg b/tcl/board/ti/am62levm.cfg similarity index 100% rename from tcl/board/ti_am62levm.cfg rename to tcl/board/ti/am62levm.cfg diff --git a/tcl/board/ti_am62p_swd_native.cfg b/tcl/board/ti/am62p_swd_native.cfg similarity index 100% rename from tcl/board/ti_am62p_swd_native.cfg rename to tcl/board/ti/am62p_swd_native.cfg diff --git a/tcl/board/ti_am62pevm.cfg b/tcl/board/ti/am62pevm.cfg similarity index 100% rename from tcl/board/ti_am62pevm.cfg rename to tcl/board/ti/am62pevm.cfg diff --git a/tcl/board/ti_am642evm.cfg b/tcl/board/ti/am642evm.cfg similarity index 100% rename from tcl/board/ti_am642evm.cfg rename to tcl/board/ti/am642evm.cfg diff --git a/tcl/board/ti_am64xx_swd_native.cfg b/tcl/board/ti/am64xx_swd_native.cfg similarity index 100% rename from tcl/board/ti_am64xx_swd_native.cfg rename to tcl/board/ti/am64xx_swd_native.cfg diff --git a/tcl/board/ti_am654evm.cfg b/tcl/board/ti/am654evm.cfg similarity index 100% rename from tcl/board/ti_am654evm.cfg rename to tcl/board/ti/am654evm.cfg diff --git a/tcl/board/ti_blaze.cfg b/tcl/board/ti/blaze.cfg similarity index 100% rename from tcl/board/ti_blaze.cfg rename to tcl/board/ti/blaze.cfg diff --git a/tcl/board/ti_cc13x0_launchpad.cfg b/tcl/board/ti/cc13x0_launchpad.cfg similarity index 100% rename from tcl/board/ti_cc13x0_launchpad.cfg rename to tcl/board/ti/cc13x0_launchpad.cfg diff --git a/tcl/board/ti_cc13x2_launchpad.cfg b/tcl/board/ti/cc13x2_launchpad.cfg similarity index 100% rename from tcl/board/ti_cc13x2_launchpad.cfg rename to tcl/board/ti/cc13x2_launchpad.cfg diff --git a/tcl/board/ti_cc26x0_launchpad.cfg b/tcl/board/ti/cc26x0_launchpad.cfg similarity index 100% rename from tcl/board/ti_cc26x0_launchpad.cfg rename to tcl/board/ti/cc26x0_launchpad.cfg diff --git a/tcl/board/ti_cc26x2_launchpad.cfg b/tcl/board/ti/cc26x2_launchpad.cfg similarity index 100% rename from tcl/board/ti_cc26x2_launchpad.cfg rename to tcl/board/ti/cc26x2_launchpad.cfg diff --git a/tcl/board/ti_cc26x2x7_launchpad.cfg b/tcl/board/ti/cc26x2x7_launchpad.cfg similarity index 100% rename from tcl/board/ti_cc26x2x7_launchpad.cfg rename to tcl/board/ti/cc26x2x7_launchpad.cfg diff --git a/tcl/board/ti_cc3200_launchxl.cfg b/tcl/board/ti/cc3200_launchxl.cfg similarity index 100% rename from tcl/board/ti_cc3200_launchxl.cfg rename to tcl/board/ti/cc3200_launchxl.cfg diff --git a/tcl/board/ti_cc3220sf_launchpad.cfg b/tcl/board/ti/cc3220sf_launchpad.cfg similarity index 100% rename from tcl/board/ti_cc3220sf_launchpad.cfg rename to tcl/board/ti/cc3220sf_launchpad.cfg diff --git a/tcl/board/ti_cc32xx_launchpad.cfg b/tcl/board/ti/cc32xx_launchpad.cfg similarity index 100% rename from tcl/board/ti_cc32xx_launchpad.cfg rename to tcl/board/ti/cc32xx_launchpad.cfg diff --git a/tcl/board/da850evm.cfg b/tcl/board/ti/da850evm.cfg similarity index 85% rename from tcl/board/da850evm.cfg rename to tcl/board/ti/da850evm.cfg index 736467cf65..eff7cf4e8f 100644 --- a/tcl/board/da850evm.cfg +++ b/tcl/board/ti/da850evm.cfg @@ -9,4 +9,4 @@ source [find target/ti/omapl138.cfg] reset_config trst_and_srst separate #currently any pinmux/timing must be setup by UBL before openocd can do debug -#TODO: implement pinmux/timing on reset like in board/dm365evm.cfg +#TODO: implement pinmux/timing on reset like in board/ti/dm365evm.cfg diff --git a/tcl/board/ti_dk-tm4c129.cfg b/tcl/board/ti/dk-tm4c129.cfg similarity index 100% rename from tcl/board/ti_dk-tm4c129.cfg rename to tcl/board/ti/dk-tm4c129.cfg diff --git a/tcl/board/dm355evm.cfg b/tcl/board/ti/dm355evm.cfg similarity index 100% rename from tcl/board/dm355evm.cfg rename to tcl/board/ti/dm355evm.cfg diff --git a/tcl/board/dm365evm.cfg b/tcl/board/ti/dm365evm.cfg similarity index 100% rename from tcl/board/dm365evm.cfg rename to tcl/board/ti/dm365evm.cfg diff --git a/tcl/board/dm6446evm.cfg b/tcl/board/ti/dm6446evm.cfg similarity index 100% rename from tcl/board/dm6446evm.cfg rename to tcl/board/ti/dm6446evm.cfg diff --git a/tcl/board/ek-lm3s1968.cfg b/tcl/board/ti/ek-lm3s1968.cfg similarity index 100% rename from tcl/board/ek-lm3s1968.cfg rename to tcl/board/ti/ek-lm3s1968.cfg diff --git a/tcl/board/ek-lm3s3748.cfg b/tcl/board/ti/ek-lm3s3748.cfg similarity index 100% rename from tcl/board/ek-lm3s3748.cfg rename to tcl/board/ti/ek-lm3s3748.cfg diff --git a/tcl/board/ek-lm3s6965.cfg b/tcl/board/ti/ek-lm3s6965.cfg similarity index 100% rename from tcl/board/ek-lm3s6965.cfg rename to tcl/board/ti/ek-lm3s6965.cfg diff --git a/tcl/board/ek-lm3s811-revb.cfg b/tcl/board/ti/ek-lm3s811-revb.cfg similarity index 92% rename from tcl/board/ek-lm3s811-revb.cfg rename to tcl/board/ti/ek-lm3s811-revb.cfg index 2006992b37..baa4d63ab8 100644 --- a/tcl/board/ek-lm3s811-revb.cfg +++ b/tcl/board/ti/ek-lm3s811-revb.cfg @@ -7,7 +7,7 @@ # # NOTE: newer 811-EK boards (rev C and above) shouldn't use this. -# use board/ek-lm3s811.cfg +# use board/ti/ek-lm3s811.cfg source [find interface/ftdi/luminary-lm3s811.cfg] # include the target config diff --git a/tcl/board/ek-lm3s811.cfg b/tcl/board/ti/ek-lm3s811.cfg similarity index 100% rename from tcl/board/ek-lm3s811.cfg rename to tcl/board/ti/ek-lm3s811.cfg diff --git a/tcl/board/ek-lm3s8962.cfg b/tcl/board/ti/ek-lm3s8962.cfg similarity index 100% rename from tcl/board/ek-lm3s8962.cfg rename to tcl/board/ti/ek-lm3s8962.cfg diff --git a/tcl/board/ek-lm3s9b9x.cfg b/tcl/board/ti/ek-lm3s9b9x.cfg similarity index 100% rename from tcl/board/ek-lm3s9b9x.cfg rename to tcl/board/ti/ek-lm3s9b9x.cfg diff --git a/tcl/board/ek-lm3s9d92.cfg b/tcl/board/ti/ek-lm3s9d92.cfg similarity index 100% rename from tcl/board/ek-lm3s9d92.cfg rename to tcl/board/ti/ek-lm3s9d92.cfg diff --git a/tcl/board/ek-lm4f120xl.cfg b/tcl/board/ti/ek-lm4f120xl.cfg similarity index 100% rename from tcl/board/ek-lm4f120xl.cfg rename to tcl/board/ti/ek-lm4f120xl.cfg diff --git a/tcl/board/ek-lm4f232.cfg b/tcl/board/ti/ek-lm4f232.cfg similarity index 100% rename from tcl/board/ek-lm4f232.cfg rename to tcl/board/ti/ek-lm4f232.cfg diff --git a/tcl/board/ti_ek-tm4c123gxl.cfg b/tcl/board/ti/ek-tm4c123gxl.cfg similarity index 100% rename from tcl/board/ti_ek-tm4c123gxl.cfg rename to tcl/board/ti/ek-tm4c123gxl.cfg diff --git a/tcl/board/ti_ek-tm4c1294xl.cfg b/tcl/board/ti/ek-tm4c1294xl.cfg similarity index 100% rename from tcl/board/ti_ek-tm4c1294xl.cfg rename to tcl/board/ti/ek-tm4c1294xl.cfg diff --git a/tcl/board/ti_j7200evm.cfg b/tcl/board/ti/j7200evm.cfg similarity index 100% rename from tcl/board/ti_j7200evm.cfg rename to tcl/board/ti/j7200evm.cfg diff --git a/tcl/board/ti_j721e_swd_native.cfg b/tcl/board/ti/j721e_swd_native.cfg similarity index 100% rename from tcl/board/ti_j721e_swd_native.cfg rename to tcl/board/ti/j721e_swd_native.cfg diff --git a/tcl/board/ti_j721evm.cfg b/tcl/board/ti/j721evm.cfg similarity index 100% rename from tcl/board/ti_j721evm.cfg rename to tcl/board/ti/j721evm.cfg diff --git a/tcl/board/ti_j721s2evm.cfg b/tcl/board/ti/j721s2evm.cfg similarity index 100% rename from tcl/board/ti_j721s2evm.cfg rename to tcl/board/ti/j721s2evm.cfg diff --git a/tcl/board/ti_j722s_swd_native.cfg b/tcl/board/ti/j722s_swd_native.cfg similarity index 100% rename from tcl/board/ti_j722s_swd_native.cfg rename to tcl/board/ti/j722s_swd_native.cfg diff --git a/tcl/board/ti_j722sevm.cfg b/tcl/board/ti/j722sevm.cfg similarity index 100% rename from tcl/board/ti_j722sevm.cfg rename to tcl/board/ti/j722sevm.cfg diff --git a/tcl/board/ti_j784s4_swd_native.cfg b/tcl/board/ti/j784s4_swd_native.cfg similarity index 100% rename from tcl/board/ti_j784s4_swd_native.cfg rename to tcl/board/ti/j784s4_swd_native.cfg diff --git a/tcl/board/ti_j784s4evm.cfg b/tcl/board/ti/j784s4evm.cfg similarity index 100% rename from tcl/board/ti_j784s4evm.cfg rename to tcl/board/ti/j784s4evm.cfg diff --git a/tcl/board/ti_msp432_launchpad.cfg b/tcl/board/ti/msp432_launchpad.cfg similarity index 100% rename from tcl/board/ti_msp432_launchpad.cfg rename to tcl/board/ti/msp432_launchpad.cfg diff --git a/tcl/board/ti_mspm0_launchpad.cfg b/tcl/board/ti/mspm0_launchpad.cfg similarity index 100% rename from tcl/board/ti_mspm0_launchpad.cfg rename to tcl/board/ti/mspm0_launchpad.cfg diff --git a/tcl/board/omap2420_h4.cfg b/tcl/board/ti/omap2420_h4.cfg similarity index 100% rename from tcl/board/omap2420_h4.cfg rename to tcl/board/ti/omap2420_h4.cfg diff --git a/tcl/board/osk5912.cfg b/tcl/board/ti/osk5912.cfg similarity index 100% rename from tcl/board/osk5912.cfg rename to tcl/board/ti/osk5912.cfg diff --git a/tcl/board/ti_pandaboard.cfg b/tcl/board/ti/pandaboard.cfg similarity index 100% rename from tcl/board/ti_pandaboard.cfg rename to tcl/board/ti/pandaboard.cfg diff --git a/tcl/board/ti_pandaboard_es.cfg b/tcl/board/ti/pandaboard_es.cfg similarity index 100% rename from tcl/board/ti_pandaboard_es.cfg rename to tcl/board/ti/pandaboard_es.cfg diff --git a/tcl/board/ti_tmdx570ls20susb.cfg b/tcl/board/ti/tmdx570ls20susb.cfg similarity index 100% rename from tcl/board/ti_tmdx570ls20susb.cfg rename to tcl/board/ti/tmdx570ls20susb.cfg diff --git a/tcl/board/ti_tmdx570ls31usb.cfg b/tcl/board/ti/tmdx570ls31usb.cfg similarity index 100% rename from tcl/board/ti_tmdx570ls31usb.cfg rename to tcl/board/ti/tmdx570ls31usb.cfg -- |
|
From: <ge...@op...> - 2025-11-03 17:43:07
|
This is an automated email from Gerrit. "Nishanth Menon <nm...@ti...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9204 -- gerrit commit 3999a4b2cf6e4235bc19ddda3f37ff3e331a5ec2 Author: Nishanth Menon <nm...@ti...> Date: Mon Nov 3 11:25:15 2025 -0600 board/ti_beagle* move to board/bb.org/ folder Move the BeagleBoard.org Foundation boards to it's own folder. This allows additional support such as BeagleV-Fire and other non TI SoC vendor support to be subsequently added. Change-Id: Ie916c9bf81fc3922bf19ed9ed2db841549d29ca9 Suggested-by: Antonio Borneo <bor...@gm...> Signed-off-by: Nishanth Menon <nm...@ti...> diff --git a/tcl/board/ti_beagleboard.cfg b/tcl/board/bb.org/beagleboard.cfg similarity index 100% rename from tcl/board/ti_beagleboard.cfg rename to tcl/board/bb.org/beagleboard.cfg diff --git a/tcl/board/ti_beagleboard_xm.cfg b/tcl/board/bb.org/beagleboard_xm.cfg similarity index 100% rename from tcl/board/ti_beagleboard_xm.cfg rename to tcl/board/bb.org/beagleboard_xm.cfg diff --git a/tcl/board/ti_beaglebone-base.cfg b/tcl/board/bb.org/beaglebone-base.cfg similarity index 100% rename from tcl/board/ti_beaglebone-base.cfg rename to tcl/board/bb.org/beaglebone-base.cfg diff --git a/tcl/board/ti_beaglebone.cfg b/tcl/board/bb.org/ti_beaglebone.cfg similarity index 83% rename from tcl/board/ti_beaglebone.cfg rename to tcl/board/bb.org/ti_beaglebone.cfg index d96e45f6ad..39d07ac171 100644 --- a/tcl/board/ti_beaglebone.cfg +++ b/tcl/board/bb.org/ti_beaglebone.cfg @@ -10,4 +10,4 @@ adapter speed 16000 reset_config trst_and_srst -source [find board/ti_beaglebone-base.cfg] +source [find board/bb.org/beaglebone-base.cfg] diff --git a/tcl/board/ti_beaglebone_black.cfg b/tcl/board/bb.org/ti_beaglebone_black.cfg similarity index 76% rename from tcl/board/ti_beaglebone_black.cfg rename to tcl/board/bb.org/ti_beaglebone_black.cfg index d72bf09dd6..f0da4d9e95 100644 --- a/tcl/board/ti_beaglebone_black.cfg +++ b/tcl/board/bb.org/ti_beaglebone_black.cfg @@ -7,4 +7,4 @@ adapter speed 1000 reset_config trst_and_srst -source [find board/ti_beaglebone-base.cfg] +source [find board/bb.org/beaglebone-base.cfg] -- |
|
From: <ge...@op...> - 2025-11-03 12:44:57
|
This is an automated email from Gerrit. "liangzhen <zhe...@sp...>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9219 -- gerrit commit cb45fd55181af39c9d009054bdbff9fcd4993146 Author: liangzhen <zhe...@sp...> Date: Sat Nov 1 21:37:01 2025 +0800 target/riscv: rvtrace: Add trace atbbridge support Add support for the trace atbbridge component. Change-Id: I5c882dede3d24888910428b58069f24925aa93e0 Signed-off-by: liangzhen <zhe...@sp...> diff --git a/doc/openocd.texi b/doc/openocd.texi index 28c7102c2c..be091f6d1f 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -11700,6 +11700,7 @@ rvtrace component types are: @itemize @item @code{encoder} - this a rvtrace encoder component. @item @code{funnel} - this a rvtrace funnel component. +@item @code{atbbridge} - this a rvtrace atbbridge component. @end itemize @end deffn @@ -11845,6 +11846,11 @@ The commands specific to the @code{funnel} are: read from the funnel timestamp register with the symbolic name @var{reg_name}. @end itemize +@subsection ATB-Bridge Component +When the rvtrace component is a @code{atbbridge} type, the configure configparams +specific to the @code{atbbridge} is @option{-id} @emph{id}. @emph{id} Values of +0x00 and 0x70-0x7F are reserved by the ATB specification and should not be used. + @section RISC-V Architecture @uref{http://riscv.org/, RISC-V} is a free and open ISA. OpenOCD supports JTAG diff --git a/src/target/riscv/Makefile.am b/src/target/riscv/Makefile.am index 5460506135..ce23b1f88e 100644 --- a/src/target/riscv/Makefile.am +++ b/src/target/riscv/Makefile.am @@ -20,4 +20,5 @@ noinst_LTLIBRARIES += %D%/libriscv.la %D%/riscv_trace.c \ %D%/trace_encoder.c \ %D%/trace_funnel.c \ - %D%/trace_timestamp.c + %D%/trace_timestamp.c \ + %D%/trace_atbbridge.c diff --git a/src/target/riscv/riscv_trace.c b/src/target/riscv/riscv_trace.c index c50c585daf..2c8d358e5d 100644 --- a/src/target/riscv/riscv_trace.c +++ b/src/target/riscv/riscv_trace.c @@ -27,6 +27,7 @@ static OOCD_LIST_HEAD(all_rvtrace_component); static struct rvtrace_type *rvtrace_type[] = { &rvtrace_encoder, &rvtrace_funnel, + &rvtrace_atbbridge, }; int rvtrace_write_reg(const struct rvtrace_component *comp, unsigned int reg, uint32_t value) diff --git a/src/target/riscv/riscv_trace.h b/src/target/riscv/riscv_trace.h index fe881cbc4c..9c0ad19853 100644 --- a/src/target/riscv/riscv_trace.h +++ b/src/target/riscv/riscv_trace.h @@ -127,5 +127,6 @@ extern const struct command_registration rv_timestamp_command_handlers[]; extern struct rvtrace_type rvtrace_encoder; extern struct rvtrace_type rvtrace_funnel; +extern struct rvtrace_type rvtrace_atbbridge; #endif /* OPENOCD_TARGET_RISCV_RISCV_TRACE_H */ diff --git a/src/target/riscv/trace_atbbridge.c b/src/target/riscv/trace_atbbridge.c new file mode 100644 index 0000000000..c1a6c4adf1 --- /dev/null +++ b/src/target/riscv/trace_atbbridge.c @@ -0,0 +1,243 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/*************************************************************************** + * Copyright (C) 2025 by liangzhen * + * zhe...@sp... * + ***************************************************************************/ + +#include <stdlib.h> +#include <stdint.h> +#include <string.h> +#include <helper/log.h> +#include <helper/types.h> +#include <helper/command.h> +#include <helper/jim-nvp.h> +#include "riscv_trace.h" + +#define RVTRACE_ATBBRIDGE_CTRL 0x000 +#define RVTRACE_ATBBRIDGE_IMPL 0x004 + +/* register description */ +/* trAtbBridgeControl */ +#define RVTRACE_ATBBRIDGE_CTRL_ACTIVE 0x1 +#define RVTRACE_ATBBRIDGE_CTRL_ENABLE 0x2 +#define RVTRACE_ATBBRIDGE_CTRL_EMPTY 0x8 +#define RVTRACE_ATBBRIDGE_CTRL_ID 0x7f00 + +#define RVTRACE_ATBBRIDGE_CTRL_ID_MAX 0x6f + +struct rv_atbbridge_info { + bool was_enabled; +}; + +struct rv_atbbridge_private_config { + uint32_t id; +}; + +static inline struct rv_atbbridge_info *rv_atbbridge_info(struct rvtrace_component *comp) +{ + assert(comp->component_info); + return comp->component_info; +} + +static inline struct rv_atbbridge_private_config *rv_atbbridge_private_config(struct rvtrace_component *comp) +{ + assert(comp->private_config); + return comp->private_config; +} + +#define RV_ATBBRIDGE_INFO(R) struct rv_atbbridge_info *R = rv_atbbridge_info(comp); + +static struct rv_atbbridge_private_config *alloc_default_rv_atbbridge_private_config(void) +{ + struct rv_atbbridge_private_config *config = malloc(sizeof(struct rv_atbbridge_private_config)); + if (!config) { + LOG_ERROR("Out of memory!"); + return NULL; + } + + /* 0 is reserved by the ATB specification and should not be used. */ + config->id = 1; + + return config; +} + +static const struct { + uint32_t offset; + const char *label; +} atbbridge_names[] = { + { RVTRACE_ATBBRIDGE_CTRL, "CONTROL" }, + { RVTRACE_ATBBRIDGE_IMPL, "IMPL" }, +}; + +static int atbbridge_find_reg_offset(const char *name) +{ + for (size_t i = 0; i < ARRAY_SIZE(atbbridge_names); i++) { + if (!strcasecmp(name, atbbridge_names[i].label)) + return atbbridge_names[i].offset; + } + + LOG_ERROR("unknown rvtrace atbbridge register %s", name); + return -1; +} + +static int atbbridge_create(struct rvtrace_component *comp) +{ + LOG_DEBUG("atbbridge_create()"); + struct rv_atbbridge_private_config *config = comp->private_config; + if (!config) { + config = alloc_default_rv_atbbridge_private_config(); + if (!config) + return ERROR_FAIL; + comp->private_config = config; + } + comp->component_info = calloc(1, sizeof(struct rv_atbbridge_info)); + if (!comp->component_info) { + LOG_ERROR("Failed to allocate atbbridge info structure."); + return ERROR_FAIL; + } + return ERROR_OK; +} +enum rv_atbbridge_cfg_opts { + CS_ATBBRIDGE_CFG_ID, +}; + +static struct jim_nvp nvp_config_opts[] = { + { .name = "-id", .value = CS_ATBBRIDGE_CFG_ID }, + { .name = NULL, .value = -1 } +}; + +static int atbbridge_jim_configure(struct rvtrace_component *comp, struct jim_getopt_info *goi) +{ + struct rv_atbbridge_private_config *config = comp->private_config; + if (!config) { + config = alloc_default_rv_atbbridge_private_config(); + if (!config) + return JIM_ERR; + comp->private_config = config; + } + + if (!goi->argc) + return JIM_OK; + + struct jim_nvp *n; + int e = jim_nvp_name2value_obj(goi->interp, nvp_config_opts, goi->argv[0], &n); + + if (e != JIM_OK) + return JIM_CONTINUE; + + e = jim_getopt_obj(goi, NULL); + if (e != JIM_OK) + return e; + + if (!goi->is_configure && goi->argc > 0) { + /*no arguments */ + Jim_WrongNumArgs(goi->interp, 2, goi->argv - 2, ""); + return JIM_ERR; + } + + switch (n->value) { + case CS_ATBBRIDGE_CFG_ID: + if (goi->is_configure) { + jim_wide w; + e = jim_getopt_wide(goi, &w); + if (e != JIM_OK) + return e; + if (w < 1 && w > RVTRACE_ATBBRIDGE_CTRL_ID_MAX) { + Jim_SetResultString(goi->interp, "Invalid ID!", -1); + return JIM_ERR; + } + config->id = (uint32_t)w; + } else { + Jim_SetResult(goi->interp, Jim_NewIntObj(goi->interp, config->id)); + } + break; + } + return JIM_OK; +} +static int atbbridge_enable(struct rvtrace_component *comp) +{ + RV_ATBBRIDGE_INFO(info); + + if (info->was_enabled) + return ERROR_OK; + + struct rv_atbbridge_private_config *config = rv_atbbridge_private_config(comp); + + uint32_t ctrl = set_field(0, RVTRACE_ATBBRIDGE_CTRL_ID, config->id); + if (rvtrace_write_reg(comp, RVTRACE_ATBBRIDGE_CTRL, ctrl) != ERROR_OK) + return ERROR_FAIL; + + if (rvtrace_enable_component(comp) != ERROR_OK) + return ERROR_FAIL; + + info->was_enabled = true; + + return ERROR_OK; +} + +static int atbbridge_disable(struct rvtrace_component *comp) +{ + RV_ATBBRIDGE_INFO(info); + + if (!info->was_enabled) + return ERROR_OK; + + if (rvtrace_disable_component(comp) != ERROR_OK) + return ERROR_FAIL; + + if (rvtrace_poll_register(comp, RVTRACE_ATBBRIDGE_CTRL, RVTRACE_ATBBRIDGE_CTRL_EMPTY, 1) != ERROR_OK) + return ERROR_FAIL; + + info->was_enabled = false; + + return ERROR_OK; +} + +static int atbbridge_status(struct rvtrace_component *comp,struct command_invocation *cmd) +{ + uint32_t ctrl; + + if (rvtrace_read_reg(comp, RVTRACE_ATBBRIDGE_CTRL, &ctrl) != ERROR_OK) + return ERROR_FAIL; + + command_print(cmd, "Control: %s", + get_field(ctrl, RVTRACE_ATBBRIDGE_CTRL_ENABLE) ? "enabled" : "disabled"); + command_print(cmd, "Empty: %d", get_field(ctrl, RVTRACE_ATBBRIDGE_CTRL_EMPTY)); + command_print(cmd, "ID: 0x%x", get_field(ctrl, RVTRACE_ATBBRIDGE_CTRL_ID)); + + return ERROR_OK; +} + +static int atbbridge_write(struct rvtrace_component *comp, const char *reg_name, uint32_t value) +{ + int offset = atbbridge_find_reg_offset(reg_name); + if (offset < 0) + return ERROR_FAIL; + + return rvtrace_write_reg(comp, offset, value); +} + +static int atbbridge_read(struct rvtrace_component *comp, const char *reg_name, uint32_t *value) +{ + int offset = atbbridge_find_reg_offset(reg_name); + if (offset < 0) + return ERROR_FAIL; + + return rvtrace_read_reg(comp, offset, value); +} + +struct rvtrace_type rvtrace_atbbridge = { + .name = "atbbridge", + .id_type = RVTRACE_COMPONENT_TYPE_ATBBRIDGE, + .version = rvtrace_component_mkversion(1, 0), + + .rvtrace_create = atbbridge_create, + .rvtrace_jim_configure = atbbridge_jim_configure, + + .enable = atbbridge_enable, + .disable = atbbridge_disable, + .status = atbbridge_status, + .write = atbbridge_write, + .read = atbbridge_read, +}; -- |