)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"2bfd305df214b6a7cbbcd4acbdf835898ba1d701","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"40712347_f05b36b1","updated":"2025-11-11 17:51:52.000000000","message":"I see these patches about RPi waiting since years and I think you could help checking them:\nhttps://review.openocd.org/c/openocd/+/4394\nhttps://review.openocd.org/c/openocd/+/4721\nShould they be abandoned or do they still keep some interest?","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"},{"author":{"_account_id":1002139,"name":"Vincent Fazio","email":"vfazio@gmail.com","username":"vfazio"},"change_message_id":"dc7296969f7d15153e47ef39692c79145900053f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"635c8019_fde766cc","updated":"2025-11-11 13:30:53.000000000","message":"LGTM. Just a brief note on our measurements on RPi3 (CM3/3B+ both use bcm2837)","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"},{"author":{"_account_id":1002139,"name":"Vincent Fazio","email":"vfazio@gmail.com","username":"vfazio"},"change_message_id":"06d5d65e61db5fc91c0c83ff30377c75b0ce8653","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c32d5731_a8c1dd1a","in_reply_to":"40712347_f05b36b1","updated":"2025-11-11 20:21:07.000000000","message":"At a glance, I think both are stale and could be abandoned.\n\nAll RPis 0-4 should use the one native TCL configuration that\u0027s in-tree. The rogue rpi2 config could probably be removed.\n\nI haven\u0027t seen any issues with TCK not clocking out, the sync/`dmb ish` may have resolved that. It reminds me a bit of https://github.com/raspberrypi/linux/issues/5554","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"b648bc9f4b21f3f3835f1be80eb9d1d2ca7ee1cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"69466b24_8e716c83","in_reply_to":"c32d5731_a8c1dd1a","updated":"2025-11-12 08:57:27.000000000","message":"Done","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"}],"tcl/interface/raspberrypi-native.cfg":[{"author":{"_account_id":1002139,"name":"Vincent Fazio","email":"vfazio@gmail.com","username":"vfazio"},"change_message_id":"dc7296969f7d15153e47ef39692c79145900053f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"if {[string match *bcm2711* $compat]} {"},{"line_number":51,"context_line":"\tset speed_offset 52"},{"line_number":52,"context_line":"} elseif {[string match *bcm2837* $compat] || [string match *bcm2710* $compat]} {"},{"line_number":53,"context_line":"\tset speed_offset 31"},{"line_number":54,"context_line":"} elseif {[string match *bcm2836* $compat] || [string match *bcm2709* $compat]} {"},{"line_number":55,"context_line":"\tset speed_offset 25"},{"line_number":56,"context_line":"} elseif {[string match *bcm2835* $compat] || [string match *bcm2708* $compat]} {"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"53097165_207711f4","line":53,"updated":"2025-11-11 13:30:53.000000000","message":"This value is probably fine for RPi3. \n\nFor JTAG, we were pretty short of the target clock @ 34, so decreasing the offset (which increases the delay) should slow the clock even further. That\u0027s probably fine, users can tweak the offset as necessary.\n\nFor SWD, we 17% short of target clock @ 44, so 31 should make it even slower.\n\nI\u0027m a little stumped at what we\u0027re seeing on our scope captures. \n\nWhen we scoped JTAG @ 44, we were _slightly_ overshooting. SWD, as mentioned, was below target frequency. We set the adapter speed to 100kHz and measured ~82.96kHz... This seems to imply that the SWD fast path is slower than JTAG and would need a larger offset to shorten the busy loop delay.\n\nThe only thing that\u0027s making sense to me pre-coffee is that toggling the pins from output \u003c-\u003e input via `bitbang-\u003eswdio_drive` and the additional `_sync_synchronize` call is adding an additional delay that needs to be accounted for in the offset value for SWD?\n\nUsing the compile time defaults:\n\n```\n/* Transition delay coefficients */\nstatic int speed_coeff \u003d 113714;\nstatic int speed_offset \u003d 28;\n```\n\nWe tested `master` and measured ~192.4kHz. With the patch from 7732 we measured 195.4kHz. That is ~1.5% diff but that may be within the margin of error. If we assume that the code isn\u0027t making a significant difference in timing compared to pre-patch, I wonder if SWD fast-path really is \"fast\" compared to JTAG. SWD also has the variable of toggling `swdio_dir` conditionally, which would impact timing I think? We did not have that pin defined so it should not have impacted our measurements. You could probably make the argument that the SWD fast path should only be used if there is no `swdio_dir` pin defined to keep the speed consistent.","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"f33df45dc68ce8994e37d1bcfdaf7dd188e772ad","unresolved":false,"context_lines":[{"line_number":50,"context_line":"if {[string match *bcm2711* $compat]} {"},{"line_number":51,"context_line":"\tset speed_offset 52"},{"line_number":52,"context_line":"} elseif {[string match *bcm2837* $compat] || [string match *bcm2710* $compat]} {"},{"line_number":53,"context_line":"\tset speed_offset 31"},{"line_number":54,"context_line":"} elseif {[string match *bcm2836* $compat] || [string match *bcm2709* $compat]} {"},{"line_number":55,"context_line":"\tset speed_offset 25"},{"line_number":56,"context_line":"} elseif {[string match *bcm2835* $compat] || [string match *bcm2708* $compat]} {"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"b2ff4e8e_48ec0567","line":53,"in_reply_to":"53097165_207711f4","updated":"2025-11-11 15:15:50.000000000","message":"\u003e When we scoped JTAG @ 44, we were _slightly_ overshooting. SWD, as mentioned, was below target frequency. We set the adapter speed to 100kHz and measured ~82.96kHz...\n\nVincent, this seems me strange. When the adapter speed is such slow as 100 kHz, almost all time is spent in the delay loop, so the frequency should be precise regardless JTAG or SWD fast or slow path is used. Did you set cpufreq governor to performance?","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"b648bc9f4b21f3f3835f1be80eb9d1d2ca7ee1cb","unresolved":false,"context_lines":[{"line_number":50,"context_line":"if {[string match *bcm2711* $compat]} {"},{"line_number":51,"context_line":"\tset speed_offset 52"},{"line_number":52,"context_line":"} elseif {[string match *bcm2837* $compat] || [string match *bcm2710* $compat]} {"},{"line_number":53,"context_line":"\tset speed_offset 31"},{"line_number":54,"context_line":"} elseif {[string match *bcm2836* $compat] || [string match *bcm2709* $compat]} {"},{"line_number":55,"context_line":"\tset speed_offset 25"},{"line_number":56,"context_line":"} elseif {[string match *bcm2835* $compat] || [string match *bcm2708* $compat]} {"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"e3ea8944_ba920dc0","line":53,"in_reply_to":"ad1f0b4e_15fab91c","updated":"2025-11-12 08:57:27.000000000","message":"I sampled JTAG on RPi3 and didn\u0027t see any problems. At maximum adapter speed (indicated 9677 kHz) the shortest halfperiod is 65 ns ( \u003e\u003e 51.7 ns).\nAt adapter speed 100 the shortest halfperiod is 5.01 us and average freq 95.5 kHz.","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"},{"author":{"_account_id":1002139,"name":"Vincent Fazio","email":"vfazio@gmail.com","username":"vfazio"},"change_message_id":"a672e04c86bf8acabbae9c55edcc1cd269731268","unresolved":false,"context_lines":[{"line_number":50,"context_line":"if {[string match *bcm2711* $compat]} {"},{"line_number":51,"context_line":"\tset speed_offset 52"},{"line_number":52,"context_line":"} elseif {[string match *bcm2837* $compat] || [string match *bcm2710* $compat]} {"},{"line_number":53,"context_line":"\tset speed_offset 31"},{"line_number":54,"context_line":"} elseif {[string match *bcm2836* $compat] || [string match *bcm2709* $compat]} {"},{"line_number":55,"context_line":"\tset speed_offset 25"},{"line_number":56,"context_line":"} elseif {[string match *bcm2835* $compat] || [string match *bcm2708* $compat]} {"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ad1f0b4e_15fab91c","line":53,"in_reply_to":"b2ff4e8e_48ec0567","updated":"2025-11-11 16:42:20.000000000","message":"My teammate did, yes. He may have also been running it in verbose/debug mode, so maybe that was it. I think he\u0027s going to try to find the scope again and re-measure.","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"},{"author":{"_account_id":1002139,"name":"Vincent Fazio","email":"vfazio@gmail.com","username":"vfazio"},"change_message_id":"b065598e2560adf523f228bf9aa7ba3322245612","unresolved":false,"context_lines":[{"line_number":50,"context_line":"if {[string match *bcm2711* $compat]} {"},{"line_number":51,"context_line":"\tset speed_offset 52"},{"line_number":52,"context_line":"} elseif {[string match *bcm2837* $compat] || [string match *bcm2710* $compat]} {"},{"line_number":53,"context_line":"\tset speed_offset 31"},{"line_number":54,"context_line":"} elseif {[string match *bcm2836* $compat] || [string match *bcm2709* $compat]} {"},{"line_number":55,"context_line":"\tset speed_offset 25"},{"line_number":56,"context_line":"} elseif {[string match *bcm2835* $compat] || [string match *bcm2708* $compat]} {"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"bf6b95dc_0416d46a","line":53,"in_reply_to":"e3ea8944_ba920dc0","updated":"2025-11-12 13:42:04.000000000","message":"I think we just ended up capturing a rather short wave. He retested and didn\u0027t see any overshoot.","commit_id":"47e8fac508561dcae9dd01f467aa0c9fdb4a2ae0"}]}
