)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1001975,"name":"Steve Marple","email":"stevemarple@googlemail.com","username":"stevemarple"},"change_message_id":"f369034652176ee340dcad27ff312be9892220e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bf9cb5fc_5c452d78","updated":"2023-09-04 09:21:11.000000000","message":"I have been able to test the change now and everything is correct.","commit_id":"159ca62bff3f37144f2081c4cf23836421191a82"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"6d46403cd88058ed23b0b769d7ecbf7f3bf5884a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"57bc2601_d525bb0e","updated":"2023-08-29 12:54:58.000000000","message":"Steve, Antonio, could you test the fix on am335 hardware?","commit_id":"159ca62bff3f37144f2081c4cf23836421191a82"},{"author":{"_account_id":1001975,"name":"Steve Marple","email":"stevemarple@googlemail.com","username":"stevemarple"},"change_message_id":"c7a8a57c0e80ed7d10696f2731be67584d12f150","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"15e01909_ccb83b4c","updated":"2023-09-04 07:40:17.000000000","message":"The change looks correct and necessary but in my testing I don\u0027t see any problem with the existing code. Can you please post the configuration file you are using so I can modify my test?\n\nRunning openocd built from the latest code on master it is able to identify the target device without any problems:\n\n~~~\n$ sudo /usr/local/openocd-master/bin/openocd -c \u0027source [find \"interface/beaglebone-jtag-native.cfg\"]; transport select jtag;echo ----; echo [adapter gpio]; echo ----; source [find \"target/stm32f4x.cfg\"]; init; reset init; exit\u0027\nOpen On-Chip Debugger 0.12.0+dev-01250-geebcf3cff (2023-09-03-20:58)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n----\nadapter gpio tdo (input): num 20, chip 0, active-high, pull-none, init-state input\nadapter gpio tdi (output): num 28, chip 1, active-high, push-pull, pull-none, init-state inactive\nadapter gpio tms (output): num 4, chip 0, active-high, push-pull, pull-none, init-state active\nadapter gpio tck (output): num 2, chip 0, active-high, push-pull, pull-none, init-state inactive\nadapter gpio trst (output): num -1, chip -1, active-low, pull-none, init-state inactive\nadapter gpio swdio (bidirectional): num -1, chip -1, active-high, push-pull, pull-none, init-state inactive\nadapter gpio swdio_dir (output): num -1, chip -1, active-high, push-pull, pull-none\nadapter gpio swclk (output): num -1, chip -1, active-high, push-pull, pull-none, init-state inactive\nadapter gpio srst (output): num 1, chip 2, active-low, pull-none, init-state inactive\nadapter gpio led (output): num 19, chip 1, active-high, push-pull, pull-none, init-state inactive\n----\nInfo : AM335x GPIO JTAG/SWD bitbang driver\nInfo : clock speed 1043 kHz\nInfo : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd), part: 0xba00, ver: 0x4)\nInfo : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020 (STMicroelectronics), part: 0x6413, ver: 0x0)\nInfo : [stm32f4x.cpu] Cortex-M4 r0p1 processor detected\nInfo : [stm32f4x.cpu] target has 6 breakpoints, 4 watchpoints\nInfo : starting gdb server for stm32f4x.cpu on 3333\nInfo : Listening on port 3333 for gdb connections\nInfo : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd), part: 0xba00, ver: 0x4)\nInfo : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020 (STMicroelectronics), part: 0x6413, ver: 0x0)\n[stm32f4x.cpu] halted due to debug-request, current mode: Thread \nxPSR: 0x01000000 pc: 0x08003434 msp: 0x20020000\n~~~\n\nRepeating the test with your change I get the same expected behaviour:\n\n~~~\n$ sudo /usr/local/openocd-change-7877/bin/openocd -c \u0027source [find \"interface/beaglebone-jtag-native.cfg\"]; transport select jtag;echo ----; echo [adapter gpio]; echo ----; source [find \"target/stm32f4x.cfg\"]; init; reset init; exit\u0027\nOpen On-Chip Debugger 0.12.0+dev-01312-g159ca62bf (2023-09-01-09:22)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n----\nadapter gpio tdo (input): num 20, chip 0, active-high, pull-none, init-state input\nadapter gpio tdi (output): num 28, chip 1, active-high, push-pull, pull-none, init-state inactive\nadapter gpio tms (output): num 4, chip 0, active-high, push-pull, pull-none, init-state active\nadapter gpio tck (output): num 2, chip 0, active-high, push-pull, pull-none, init-state inactive\nadapter gpio trst (output): num -1, chip -1, active-low, pull-none, init-state inactive\nadapter gpio swdio (bidirectional): num -1, chip -1, active-high, push-pull, pull-none, init-state inactive\nadapter gpio swdio_dir (output): num -1, chip -1, active-high, push-pull, pull-none\nadapter gpio swclk (output): num -1, chip -1, active-high, push-pull, pull-none, init-state inactive\nadapter gpio srst (output): num 1, chip 2, active-low, pull-none, init-state inactive\nadapter gpio led (output): num 19, chip 1, active-high, push-pull, pull-none, init-state inactive\n----\nInfo : AM335x GPIO JTAG/SWD bitbang driver\nInfo : clock speed 1043 kHz\nInfo : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd), part: 0xba00, ver: 0x4)\nInfo : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020 (STMicroelectronics), part: 0x6413, ver: 0x0)\nInfo : [stm32f4x.cpu] Cortex-M4 r0p1 processor detected\nInfo : [stm32f4x.cpu] target has 6 breakpoints, 4 watchpoints\nInfo : starting gdb server for stm32f4x.cpu on 3333\nInfo : Listening on port 3333 for gdb connections\nInfo : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd), part: 0xba00, ver: 0x4)\nInfo : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020 (STMicroelectronics), part: 0x6413, ver: 0x0)\n[stm32f4x.cpu] halted due to debug-request, current mode: Thread \nxPSR: 0x01000000 pc: 0x08003434 msp: 0x20020000\n~~~","commit_id":"159ca62bff3f37144f2081c4cf23836421191a82"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"6313297c68f05d8e2766c403c68cca1428165efb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a820158d_03522e9b","in_reply_to":"15e01909_ccb83b4c","updated":"2023-09-04 08:18:21.000000000","message":"Thanks for testing, Steve!\n\nI experienced the same with RPi and\n7862: jtag/drivers/bcm2835gpio: do not configure push-pull inputs as output | https://review.openocd.org/c/openocd/+/7862\n\nThe code without this patch works if the MCU (debugged device) has stronger TDO output (higher drive current) than the OpenOCD host device and therefore the MCU is able to force TDO logic level regardless the other side drives the line to.\n\nI have no idea if AM335x device has configurable drive strength - if so try to set at maximum.\nI inserted a resistor (470 ohm or similar) to TDO \u003c--\u003e TDO connection. This revealed the problem reliably.","commit_id":"159ca62bff3f37144f2081c4cf23836421191a82"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a0d61ee3ade33a42fa675b6f0cb414a2e382f2d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5c8ddc37_35c98891","in_reply_to":"57bc2601_d525bb0e","updated":"2023-08-30 20:53:18.000000000","message":"unfortunately I don\u0027t have such device","commit_id":"159ca62bff3f37144f2081c4cf23836421191a82"},{"author":{"_account_id":1001975,"name":"Steve Marple","email":"stevemarple@googlemail.com","username":"stevemarple"},"change_message_id":"49bc33f408896076eb39c294ee9a337d46ff9e8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d364a6e6_fc25ac36","in_reply_to":"5c8ddc37_35c98891","updated":"2023-09-03 09:53:51.000000000","message":"I have a BeagleBone and some adaptors boards I used for programming devices so I should be able to test.","commit_id":"159ca62bff3f37144f2081c4cf23836421191a82"},{"author":{"_account_id":1001975,"name":"Steve Marple","email":"stevemarple@googlemail.com","username":"stevemarple"},"change_message_id":"f369034652176ee340dcad27ff312be9892220e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"46282b30_8266e563","in_reply_to":"a820158d_03522e9b","updated":"2023-09-04 09:21:11.000000000","message":"Thank you for your drive strength explanation - that explains why it passed for me when testing now and previously when I tested #6984. \n\nI have a taken a different approach to confirm the change is working correctly. First I removed the \"exit\" command from the openocd commands so that openocd does not terminate and restore the GPIOs. With openocd running I execute \"sudo busybox devmem 0x44E07134\" to inspect the output enable register for chip0. Bit 20 is my TDO pin and should be an input. With the current code the memory value is 0xFFEFFFEB, so bit 20 is zero and is an output. With #7877 the busybox command output is 0xFFFFFFEB bit 20 is 1, and is correctly set to an input.","commit_id":"159ca62bff3f37144f2081c4cf23836421191a82"}]}
