)]}'
{"id":"openocd~master~I20a14f0c0b70cda70dd72c6ff1b31babc1948235","project":"openocd","branch":"master","attention_set":{},"removed_from_attention_set":{"1002563":{"account":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"last_update":"2026-10-19 13:11:10.000000000","reason":"Change was submitted"},"1000687":{"account":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"last_update":"2026-10-11 07:14:43.000000000","reason":"\u003cGERRIT_ACCOUNT_1000687\u003e replied on the change","reason_account":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"}},"1002556":{"account":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"last_update":"2026-10-10 16:06:23.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"I20a14f0c0b70cda70dd72c6ff1b31babc1948235","subject":"adapter/ch347: enable CH347F dedicated SRST output in JTAG mode","status":"MERGED","created":"2026-08-24 12:15:09.000000000","updated":"2026-10-19 13:11:10.000000000","submitted":"2026-10-19 13:11:10.000000000","submitter":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"total_comment_count":39,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"9703","meta_rev_id":"bbf694c6d368c38b17b51658451447768eaf9a93","_number":9703,"owner":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2026-10-19 13:11:10.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"value":0,"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2026-10-19 13:11:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},{"value":0,"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2026-10-19 13:11:10.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-24 12:33:21.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-08-24 13:57:21.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-08-24 14:51:07.000000000","updated_by":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"reviewer":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"state":"CC"},{"updated":"2026-09-01 18:11:18.000000000","updated_by":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"reviewer":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"state":"CC"},{"updated":"2026-10-08 11:19:56.000000000","updated_by":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"reviewer":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"state":"REVIEWER"},{"updated":"2026-10-11 07:14:43.000000000","updated_by":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"reviewer":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"state":"REVIEWER"}],"messages":[{"id":"2e91efa74ed01b3b7a429264a1ce5de025a26a1f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-08-24 12:15:09.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6edcce7812206812f4bf4134bd757225fae452a0","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-08-24 13:57:21.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/23825/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/22911/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"6b757d6d0b6e57d3f16ba54a6af99dfce00db633","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-08-24 14:51:07.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"fee7986ce71f411cc10c882d6d05f80bd70f9460","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-08-25 02:32:17.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":2},{"id":"6482ff9c485014c4a91a4baf46d7bd9efef84119","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-08-25 02:50:40.000000000","message":"Patch Set 2: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/23828/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/22914/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"62d0e9bef8e44f7f8c1948c95d55ada3d1f9d92a","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-08-25 02:50:58.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"250d7379d44233b8cf2ff167fbb3e184787e6df5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-01 10:22:20.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":3},{"id":"0c169bc2e49aa42c33f54e26d178c7dfbf578807","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-01 10:37:59.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"b950814c9247f7de99a27011ebc0c76c74882503","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-09-01 10:38:02.000000000","message":"Patch Set 3: Verified-1\n\nBuild Failed \n\nhttps://build.openocd.org/job/openocd-gerrit-build/23071/ : ABORTED\n\nhttps://build.openocd.org/job/openocd-gerrit/23989/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"2481333955dbc795e4a3b03d52c4573d91044a3e","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-09-01 10:55:41.000000000","message":"Patch Set 4: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/23990/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23072/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"52b1dd4cded4de4cf772334e0be457ca68efc63c","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-09-01 14:33:31.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"7d0e6ebae2fb77f9839ece55c2a59f2cf2ffe2b6","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-09-01 14:34:36.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"66df0a13330132cfbcdd381df59029b6dbc85664","author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"real_author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"date":"2026-09-01 18:11:18.000000000","message":"Patch Set 4:\n\n(1 comment)\n\nHi lynch,\n\nI looked at patch set 4 with a CH347T on the bench. The two things I\nmentioned over on 9700 are both addressed here, thanks: srst_pin is now\nonly added to the pin byte for the CH347F, and ch347_srst_enable() has\nmoved out of ch347_speed_set() into ch347_init() behind a CH347F check.\n\nI found one new thing, left inline: on a CH347T in JTAG mode this change\nremoves the \"Asserting SRST not supported!\" refusal, so SRST is silently\naccepted and does nothing. That one is worth fixing before this lands.\n\nOn the series itself. Patch set 4 still carries the whole SWD GPIO SRST\nimplementation, and ch347_configure_srst_gpio() is byte for byte the same\nfunction as in 9700 patch set 2, so at the moment the same change exists\ntwice. On 9700 you suggested keeping that change as the base and rebasing\nthis one on top of it, reduced to the CH347F dedicated SRST output, which\nsounds right to me. The duplicate has also started to diverge: 9700 patch\nset 3 now honours the SRST drive mode from \u0027reset_config\u0027 and emulates\nopen drain by switching the pin to an input, which Tomas asked for, and\nthe copy here still drives both levels.\n\nOne smaller question about the ch347_quit() addition: it queues a\nCH347_CMD_JTAG_BIT_OP pin byte unconditionally, so it also runs in SWD\nmode and on a CH347T, where there is no dedicated SRST pin to restore. I\ndid not see it fail on my CH347T, shutdown from SWD is clean, so this is\na question rather than a complaint. Would it be better under the same\nCH347F and JTAG conditions as the rest?","accounts_in_message":[],"_revision_number":4},{"id":"9d3d5833f7aea48a4003c8ddb4dd167c5c48f9b5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-05 02:21:33.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":5},{"id":"7fbbfc9e5eabbe7dd92ac33ee2e95b421ba43967","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-05 02:36:18.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"d6ddaed0ad00002a7df42812b7387acc27644733","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-09-05 02:39:21.000000000","message":"Patch Set 5: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24040/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23122/ : SUCCESS","accounts_in_message":[],"_revision_number":5},{"id":"ed4e80b040f8d840513ad4aeacae7455c6befb0e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-18 03:22:34.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":6},{"id":"77175c8d3c38a2c3cf718a5aeffd80fbb1efaef4","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-09-18 03:41:48.000000000","message":"Patch Set 6: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24251/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23320/ : SUCCESS","accounts_in_message":[],"_revision_number":6},{"id":"6795754bea5a98d8dda35fbb9c3894234a3bf29f","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-18 05:42:36.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"2eb22138512601733fdf9ed97047a289dee8777a","author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"real_author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"date":"2026-09-24 10:26:15.000000000","message":"Patch Set 6:\n\nThanks for the rebase — the CH347T regression from patch set 4 is fixed,\nand splitting the SWD part out makes this much easier to read.\n\nOne blocker and some smaller points.\n\n1) ch347_init(): ch347_srst_enable() runs too early, CH347F can no longer\n   be opened.\n\n   The call sits above \"ch347.pack_size \u003d UNSET;\", so ch347.max_len is\n   still 0: ch347 is a file-scope static, and adapter_khz_to_speed()\n   returns early while !is_adapter_initialized(), which only becomes true\n   after adapter_driver-\u003einit() returns. So nothing has called\n   ch347_init_pack_size() yet.\n\n   ch347_srst_enable() -\u003e ch347_single_read_get_byte() -\u003e\n   ch347_cmd_transmit_queue(), where the chunking loop does\n\n       total_len +\u003d CH347_CMD_HEADER + cmd-\u003ewrite_data_len;\n       if (total_len \u003e\u003d ch347.max_len || total_tdo_count \u003e\u003d HW_TDO_BUF_SIZE)\n               break;\n\n   With max_len \u003d\u003d 0 this breaks on the first command, last_cmd stays NULL\n   and the \"Nothing to send!\" check returns ERROR_FAIL. ch347_init() then\n   fails with \"CH347F dedicated SRST enable failed\", for both transports.\n\n   Note that WCH\u0027s own fork calls ch347_srst_enable() from\n   ch347_speed_set(), i.e. from adapter_driver-\u003espeed(), which runs after\n   init() and therefore after ch347_init_pack_size() has set max_len. Patch\n   set 1 did the same. Moving it into ch347_init() is the right thing for\n   clarity, but it has to go below the pack size init:\n\n       ch347.pack_size \u003d UNSET;\n\n       if (ch347.chip_variant \u003d\u003d CH347F) {\n               retval \u003d ch347_init_pack_size();\n               if (retval !\u003d ERROR_OK)\n                       return retval;\n               retval \u003d ch347_srst_enable();\n               ...\n       }\n\n   Which patch set was last tested on real CH347F hardware? I would expect\n   this to fail immediately at \u0027init\u0027 with \"Nothing to send!\".\n\n   Two other differences from the vendor version worth a thought: it guards\n   with \"chip_variant !\u003d CH347T\", so OTHER_PRODUCT_ID is covered too, and it\n   only logs an error instead of failing init. Refusing to bring up the\n   adapter because an undocumented pin-function command came back unhappy\n   seems harsh, especially with (3) below.\n\n2) The PIN_SET payload is undocumented magic:\n\n       uint8_t cmd_data[] \u003d {0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};\n\n   I went looking for a reference and found none: 0xE2 is not in CH347DS1\n   (checked v1A and v1.4) and there is no pin-function or SRST entry in the\n   CH347 Application Development Manual V1.4 API list, only CH347GPIO_Set/Get\n   and CH347Jtag_*. The only place this exists is WCH\u0027s own OpenOCD fork in\n   WCHSoftGroup/ch347, which this code appears to be ported from, and that\n   carries no explanation either.\n\n   If you are the author of that code, please write down what the command and\n   each payload byte do. If it came from WCH, please say so in the commit\n   message and, if possible, get a reference from them. As it stands nobody\n   else can maintain or extend this.\n\n   Related: does PIN_SET change the pin function persistently, or only for\n   the session? The chip has an EEPROM for parameter configuration, so if\n   this touches it, it affects the device when used for anything other than\n   OpenOCD and should be undone in ch347_quit().\n\n3) The result check is a guess, and it is fatal:\n\n       uint8_t init_result \u003d 1;\n       retval \u003d ch347_single_read_get_byte(0, \u0026init_result);\n       if (retval !\u003d ERROR_OK || init_result !\u003d 0)\n               return ERROR_FAIL;\n\n   For CH347_CMD_JTAG_INIT the returned byte means \"larger pack mode\n   supported\", not \"success\", and ch347_swd_init_cmd() carries an explicit\n   TODO saying we do not know how to tell whether SWD init succeeded. What\n   makes 0 the success value for 0xE2? Unless that is documented, LOG_DEBUG\n   the byte instead of refusing to bring up the adapter.\n\n   Also, the retval is swallowed here; please keep it:\n\n       if (retval !\u003d ERROR_OK)\n               return retval;\n\n4) The pin function is enabled for every CH347F, including SWD mode, but\n   the dedicated output is only ever driven from the JTAG pin byte, which\n   is never sent in SWD mode. So in SWD mode we repurpose a pin and then\n   leave it at whatever the chip defaults to, while SRST actually comes\n   from the GPIO on TRST. ch347_quit() is already guarded with\n   \"!swd_mode \u0026\u0026 chip_variant \u003d\u003d CH347F\" — the init side should match.\n\n5) Please name the pin in the doc hunk. Datasheet v1.4 table 4-3 has it as\n   pin 8, \"JTAG interface system reset output\", next to TRST on pin 9, and\n   users need that to wire a board. Good news for the GPIO masks: pin 8 is\n   not multiplexed with any GPIO (table 4-7: GPIO0..GPIO7 are pins 17, 18,\n   10, 9, 23, 24, 25, 26), so there is no conflict with\n   CH347F_USABLE_GPIOS.\n\n6) The dedicated output ignores the GPIO config that the SWD path honours:\n   \u0027adapter gpio srst\u0027 polarity (-active-high) and the reset_config drive\n   mode. reset_config defaults SRST to open drain; here it silently becomes\n   push-pull driven both ways. Same knob, two behaviours depending on\n   transport, is going to surprise people. At minimum warn when drive !\u003d\n   push-pull, and document the polarity limitation.\n\n7) ch347_quit() also restores ch347.trst_pin, but only for the CH347F. If\n   restoring TRST on close is worth doing it is worth doing on the CH347T\n   too, and that is an independent fix — either widen it or drop it from\n   this commit (the commit message mentions TRST explicitly).\n\nNits:\n\n- ch347_scratchpad_add_pin_byte(): the new line wrap is not needed, the\n  expression fits within 120 columns.\n- ch347_srst_enable() uses a plain /* */ comment while every other function\n  in the file has a /** @brief ... */ block.\n- CH347_CMD_PIN_SET is defined after CH347_SINGLE_CMD_MAX_READ, which is a\n  derived constant; it belongs with the other command defines above it.\n- ch347_cmd_calc_reads(): the comment above the new case still says \"for\n  JTAG_INIT/SWD_INIT the amount is fixed\".\n- \"init_result \u003d 1\" as a poison value is not needed,\n  ch347_single_read_get_byte() always writes on success.","accounts_in_message":[],"_revision_number":6},{"id":"0af402da466d2697f016809ace2fd266b7053c61","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-29 01:49:52.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":7},{"id":"85b91824c94879091fdb22de168c0a737811e1ac","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-29 02:03:02.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"dac5fbf1b1177e92cbf1c11b3097a8660e282dcc","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-09-29 02:09:53.000000000","message":"Patch Set 7: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24377/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23445/ : SUCCESS","accounts_in_message":[],"_revision_number":7},{"id":"5122d7939b82b264cb963895c4fda04aa2dd01fb","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-09-29 02:14:51.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"0e59128011147d11af9ef3576de602733229385e","author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"real_author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"date":"2026-09-29 08:35:10.000000000","message":"Patch Set 7:\n\nThanks, (1)/(2)/(3)/(5)/(7) and the nits look good; the WCH reference is what I was after, and I checked that their code only checks the reply length, so logging the byte is right.\n\nOn (4) I\u0027d like to push back after comparing with the WCH commit: right after PIN_SET they send a pin byte with SRST high (ch347_srst_out(SRST_H)). This version doesn\u0027t, so pin 8 sits at whatever level the chip leaves it until the first JTAG pin byte, and in SWD mode no JTAG pin byte is ever sent. If that level is low, an SWD user with pin 8 wired would have the target held in reset. Please either send one SRST_H pin byte right after PIN_SET, or, preferably, only send PIN_SET in JTAG mode when reset_config includes srst. That also avoids turning pin 8 into an actively driven output for users who never asked for SRST, which is exactly what the open-drain default is meant to prevent.\n\nRelated: ch347_warn_dedicated_srst_drive() fires for every CH347F JTAG user, because the SRST drive defaults to open drain even with \u0027reset_config none\u0027. Please only warn when jtag_get_reset_config() \u0026 RESET_HAS_SRST.\n\nCould you confirm with a scope or meter that pin 8 actually goes low on \u0027adapter assert srst\u0027 and back high on deassert? An IDCODE scan shows PIN_SET doesn\u0027t break JTAG, but not that SRST works. Your code sends PIN_SET before the speed-setting JTAG_INIT, while WCH sends it at open.\n\nDoc nit: \"SRST is not available in JTAG mode, where the pin carries TRST on the CH347T\" now reads as if the CH347F lacks it too; maybe \"On the CH347T, SRST is not available in JTAG mode, where the pin carries TRST.\"","accounts_in_message":[],"_revision_number":7},{"id":"3567d13b0ab5eec4be22801870c80e1e26c4af02","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-01 08:24:40.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":8},{"id":"e9153391e70df24ecf96b96ea80caa0d77ba730e","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-01 08:37:19.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"80264b5c253c6592f3d787ded46a1d003ed3d6aa","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-10-01 09:11:16.000000000","message":"Patch Set 8: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24396/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23464/ : SUCCESS","accounts_in_message":[],"_revision_number":8},{"id":"38471225c6c3223458f53b0b268f3312e4d7d33a","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-01 10:12:37.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"86b33838c73941290d432f43154d5ec1f31f61c8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-02 06:45:42.000000000","message":"Uploaded patch set 9.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":9},{"id":"527b7e62b3a6c11f2c18a3c5bb962d42d6443b36","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-02 06:55:10.000000000","message":"Patch Set 9:\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"00db6efffb15cda1481faae6fbe1067c1650e791","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-10-02 07:07:59.000000000","message":"Patch Set 9: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24399/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23467/ : SUCCESS","accounts_in_message":[],"_revision_number":9},{"id":"d74885851d52b668426d5e4276f81d7c2a6bd01f","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-02 10:23:08.000000000","message":"Patch Set 9:\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"187f4a1ef8349692cc0ffcb5867e3cdfc46b9fa5","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-04 21:36:28.000000000","message":"Patch Set 9:\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"8559bda120e15ef832d66038a9a07d4b58d2fd25","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-05 07:58:20.000000000","message":"Patch Set 9:\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"1c31e8d3ac0f08ea89406034474eced2c7f6137a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-06 01:24:05.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":10},{"id":"b4181c8b9701b7947a13fc25fe4ff94f2d5541c3","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-06 01:26:58.000000000","message":"Patch Set 10:\n\n(1 comment)","accounts_in_message":[],"_revision_number":10},{"id":"d9f5c3c9acc3946b6ff858108b1ead8902f4b5a8","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-10-06 02:00:44.000000000","message":"Patch Set 10: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24436/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23500/ : SUCCESS","accounts_in_message":[],"_revision_number":10},{"id":"076aa4f52db015263a2c79b937160ba3199248ef","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-06 05:32:36.000000000","message":"Patch Set 10:\n\n(8 comments)","accounts_in_message":[],"_revision_number":10},{"id":"54caf089f1593f7d1b7e25ab2f300e969628bc44","author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"real_author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"date":"2026-10-06 19:12:30.000000000","message":"Patch Set 10:\n\n(1 comment)","accounts_in_message":[],"_revision_number":10},{"id":"951db0cc587cb4aff4f2b55dfb22308634849046","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-06 20:55:50.000000000","message":"Patch Set 10:\n\n(1 comment)","accounts_in_message":[],"_revision_number":10},{"id":"0c0c613db147e2ebc2d681d7f64e31b1b00dc65e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-08 10:52:17.000000000","message":"Uploaded patch set 11.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":11},{"id":"6c6d03a5dd64c1a016866f9afb60503e1644385b","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-08 10:58:28.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"e36fc50957681fe170dc13a6b5a78c21cfff50dd","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-10-08 11:13:59.000000000","message":"Patch Set 11: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24442/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23506/ : SUCCESS","accounts_in_message":[],"_revision_number":11},{"id":"5caa9284dc3662f7625e76c87c7060b812e9faf2","author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"real_author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"date":"2026-10-08 11:19:56.000000000","message":"Patch Set 11: Code-Review+1\n\n(4 comments)\n\nThanks, PS11 addresses my comment and Tomas\u0027 points. A few optional nits inline, none blocking.","accounts_in_message":[],"_revision_number":11},{"id":"4ab4fd03f2828f41b095b494e480abe41ffd974e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-10 09:50:41.000000000","message":"Uploaded patch set 12.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:NO_CHANGE OR is:MIN\")\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":12},{"id":"76abaee2dc89054e4ef51f5fdbd25cf186eb8eb5","author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"real_author":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"date":"2026-10-10 09:54:11.000000000","message":"Patch Set 12:\n\n(1 comment)","accounts_in_message":[],"_revision_number":12},{"id":"558a640e514eeb4af13c55bb616b9ad7f7810639","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2026-10-10 10:27:40.000000000","message":"Patch Set 12: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/24499/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/23563/ : SUCCESS","accounts_in_message":[],"_revision_number":12},{"id":"dd04e18521a716b6e48c2c9911225564c731a95f","author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"real_author":{"_account_id":1002556,"name":"Paulius Zaleckas","display_name":"Paulius Zaleckas","email":"paulius.zaleckas@gmail.com","username":"pauliusz"},"date":"2026-10-10 16:06:23.000000000","message":"Patch Set 12: Code-Review+1\n\nThanks, PS12 applies the three nits and nothing else changed. LGTM.","accounts_in_message":[],"_revision_number":12},{"id":"02e30d4833883d62cf107a39c092ac2682ac71db","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-11 07:14:43.000000000","message":"Patch Set 12: Code-Review+2\n\n(7 comments)","accounts_in_message":[],"_revision_number":12},{"id":"bbf694c6d368c38b17b51658451447768eaf9a93","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"date":"2026-10-19 13:11:10.000000000","message":"Change has been successfully cherry-picked as 17dd961aeaaeddb69dc7a521b5ef0a778fdcf587","accounts_in_message":[],"_revision_number":13}],"current_revision":"17dd961aeaaeddb69dc7a521b5ef0a778fdcf587","revisions":{"17dd961aeaaeddb69dc7a521b5ef0a778fdcf587":{"kind":"REWORK","_number":13,"created":"2026-10-19 13:11:10.000000000","uploader":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"ref":"refs/changes/03/9703/13","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/13","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/13 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/13","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/13 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2893f940012e19cda8ccb6038766b0d77f26bd0e","subject":"tcl: fix broken datasheet link in hpm6360 config"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","date":"2026-10-19 13:11:10.000000000","tz":0},"subject":"adapter/ch347: enable CH347F dedicated SRST output in JTAG mode","message":"adapter/ch347: enable CH347F dedicated SRST output in JTAG mode\n\nPin 8 strongly drives low after the adapter powers up, so a wired target\nstays in reset until the dedicated output is enabled and driven. Send\nPIN_SET on every CH347F JTAG session, whether or not reset_config includes\nSRST, then drive the pin high. Leave it low only when both\nconnect_assert_srst and srst_nogate are set.\n\nDo not send the payload that switches the dedicated mode off. The pin is\nnot tristate capable and keeps its last level. SWD still does not use this\noutput; its SRST remains a GPIO. The CH347T has no dedicated JTAG SRST, and\nits pin byte still does not carry bit 6.\n\nWarn about the push-pull limitation only when SRST is configured.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\nReviewed-on: https://review.openocd.org/c/openocd/+/9703\nReviewed-by: Paulius Zaleckas \u003cpaulius.zaleckas@gmail.com\u003e\nReviewed-by: Tomas Vanek \u003ctomas.vanek.oocd@gmail.com\u003e\nTested-by: jenkins\n"}},"a8c8ad97179089085d17fce43f8520429baa30a1":{"kind":"REWORK","_number":12,"created":"2026-10-10 09:50:41.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/12","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/12","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/12 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/12","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/12 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c2fc07b7df9d4cc38c2e8c12177568ec4b80112a","subject":"flash/nor/str9xpec: fix use after free"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-10-10 09:50:04.000000000","tz":480},"subject":"adapter/ch347: enable CH347F dedicated SRST output in JTAG mode","message":"adapter/ch347: enable CH347F dedicated SRST output in JTAG mode\n\nPin 8 strongly drives low after the adapter powers up, so a wired target\nstays in reset until the dedicated output is enabled and driven. Send\nPIN_SET on every CH347F JTAG session, whether or not reset_config includes\nSRST, then drive the pin high. Leave it low only when both\nconnect_assert_srst and srst_nogate are set.\n\nDo not send the payload that switches the dedicated mode off. The pin is\nnot tristate capable and keeps its last level. SWD still does not use this\noutput; its SRST remains a GPIO. The CH347T has no dedicated JTAG SRST, and\nits pin byte still does not carry bit 6.\n\nWarn about the push-pull limitation only when SRST is configured.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"29ae2cb7f51b512b03d21b6e5108898cb31f722a":{"kind":"REWORK","_number":9,"created":"2026-10-02 06:45:42.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/9","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/9","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/9 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/9","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/9 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c2fc07b7df9d4cc38c2e8c12177568ec4b80112a","subject":"flash/nor/str9xpec: fix use after free"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-10-02 06:42:11.000000000","tz":480},"subject":"adapter/ch347: enable CH347F SRST only when configured","message":"adapter/ch347: enable CH347F SRST only when configured\n\nSend PIN_SET only for a CH347F JTAG session whose reset_config\nincludes SRST, then drive pin 8 high. Leaving the pin switched\nfor SWD, or for JTAG with reset_config none, turns it into a\npush-pull output that nothing in SWD ever drives.\n\nWarn about the push-pull limitation only when SRST is configured.\nState that the missing JTAG SRST applies to the CH347T.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"b6a6cddffbd10011e0a34dc717749ef81c369a14":{"kind":"REWORK","_number":8,"created":"2026-10-01 08:24:40.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/8","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/8","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/8 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/8","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/8 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c2fc07b7df9d4cc38c2e8c12177568ec4b80112a","subject":"flash/nor/str9xpec: fix use after free"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-10-01 08:22:59.000000000","tz":480},"subject":"adapter/ch347: enable CH347F SRST only when configured","message":"adapter/ch347: enable CH347F SRST only when configured\n\nSend PIN_SET only for a CH347F JTAG session whose reset_config\nincludes SRST, then drive pin 8 high. Leaving the pin switched\nfor SWD, or for JTAG with reset_config none, turns it into a\npush-pull output that nothing in SWD ever drives.\n\nWarn about the push-pull limitation only when SRST is configured.\nState that the missing JTAG SRST applies to the CH347T.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"9f5d61bf479758eb9af6b949dd2f5b8d58457d0f":{"kind":"REWORK","_number":11,"created":"2026-10-08 10:52:17.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/11","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/11","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/11 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/11","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/11 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c2fc07b7df9d4cc38c2e8c12177568ec4b80112a","subject":"flash/nor/str9xpec: fix use after free"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-10-08 10:48:24.000000000","tz":480},"subject":"adapter/ch347: enable CH347F dedicated SRST output in JTAG mode","message":"adapter/ch347: enable CH347F dedicated SRST output in JTAG mode\n\nPin 8 strongly drives low after the adapter powers up, so a wired target\nstays in reset until the dedicated output is enabled and driven. Send\nPIN_SET on every CH347F JTAG session, whether or not reset_config includes\nSRST, then drive the pin high. Leave it low only when both\nconnect_assert_srst and srst_nogate are set.\n\nDo not send the payload that switches the dedicated mode off. The pin is\nnot tristate capable and keeps its last level. SWD still does not use this\noutput; its SRST remains a GPIO. The CH347T has no dedicated JTAG SRST, and\nits pin byte still does not carry bit 6.\n\nWarn about the push-pull limitation only when SRST is configured.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"749e477f5eb09855891fdaa7298b0576896d26a0":{"kind":"REWORK","_number":10,"created":"2026-10-06 01:24:05.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/10","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/10","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/10 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/10","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/10 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c2fc07b7df9d4cc38c2e8c12177568ec4b80112a","subject":"flash/nor/str9xpec: fix use after free"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-10-06 01:19:20.000000000","tz":480},"subject":"adapter/ch347: release CH347F SRST during JTAG init","message":"adapter/ch347: release CH347F SRST during JTAG init\n\nPin 8 strongly drives low after the adapter powers up, so a wired target\nstays in reset until the dedicated output is enabled and driven. Send\nPIN_SET on every CH347F JTAG session, whether or not reset_config includes\nSRST, then drive the pin high. Leave it low only when both\nconnect_assert_srst and srst_nogate are set.\n\nDo not send the payload that switches the dedicated mode off. The pin is\nnot tristate capable and keeps its last level. SWD still does not use this\noutput; its SRST remains a GPIO. The CH347T has no dedicated JTAG SRST, and\nits pin byte still does not carry bit 6.\n\nWarn about the push-pull limitation only when SRST is configured.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"bffaf2b7bd387e302b26b45b7d5fbe6756af7526":{"kind":"REWORK","_number":5,"created":"2026-09-05 02:21:33.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/5","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/5","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/5 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/5","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2741efc60ae03e2a5fea707685df59a3c4256437","subject":"doc: Add rshim adapter driver documentation"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-08-24 11:19:04.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-05 02:20:03.000000000","tz":480},"subject":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes","message":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes\n\nKeep the CH347F dedicated SRST output for JTAG mode and use the\notherwise unused TRST pin as a GPIO-driven SRST output in SWD mode.\n\nSupport configurable SRST GPIO selection and polarity, use chip-specific\nGPIO availability masks, and avoid validating GPIO readback for SRST\nsince it reports the measured target pin level.\n\nDocument the CH347T and CH347F GPIO mappings and restrictions.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"72b13cb2b952892ee942a4ac0affb86f03b61ded":{"kind":"REWORK","_number":4,"created":"2026-09-01 10:37:59.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/4","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/4","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/4 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/4","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2741efc60ae03e2a5fea707685df59a3c4256437","subject":"doc: Add rshim adapter driver documentation"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-08-24 11:19:04.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-01 10:35:23.000000000","tz":480},"subject":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes","message":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes\n\nKeep the CH347F dedicated SRST output for JTAG mode and use the\notherwise unused TRST pin as a GPIO-driven SRST output in SWD mode.\n\nSupport configurable SRST GPIO selection and polarity, use chip-specific\nGPIO availability masks, and avoid validating GPIO readback for SRST\nsince it reports the measured target pin level.\n\nDocument the CH347T and CH347F GPIO mappings and restrictions.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"374d1c17d84a9a29e8aeb792451c6c2eec891811":{"kind":"REWORK","_number":7,"created":"2026-09-29 01:49:52.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/7","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/7","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/7 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/7","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/7 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c2fc07b7df9d4cc38c2e8c12177568ec4b80112a","subject":"flash/nor/str9xpec: fix use after free"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-29 01:37:22.000000000","tz":480},"subject":"adapter/ch347: add the CH347F dedicated SRST command","message":"adapter/ch347: add the CH347F dedicated SRST command\n\nPort PIN_SET (0xE2) from WCH\u0027s OpenOCD fork into upstream. It enables\nthe CH347F dedicated SRST output, which is then driven from the JTAG\npin byte. CH347T behavior is unchanged. SWD still uses the GPIO SRST.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"8c56a33123ba80adfb2b42bf232cdb44d0210884":{"kind":"REWORK","_number":6,"created":"2026-09-18 03:22:34.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/6","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/6","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/6 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/6","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c2fc07b7df9d4cc38c2e8c12177568ec4b80112a","subject":"flash/nor/str9xpec: fix use after free"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:13:28.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-18 03:22:13.000000000","tz":480},"subject":"adapter/ch347: add dedicated SRST output support for CH347F","message":"adapter/ch347: add dedicated SRST output support for CH347F\n\nEnable the CH347F pin function with the PIN_SET command and drive the\ndedicated SRST output from the JTAG pin byte. Keep CH347T JTAG pin-byte\nbehavior unchanged by only merging srst_pin on CH347F.\n\nRestore TRST and the dedicated SRST to inactive levels when closing the\nadapter. SWD continues to use the GPIO-driven SRST from the previous\ncommit.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"c2177bd3bd7cd723dff2df62d129719cffb404c7":{"kind":"REWORK","_number":1,"created":"2026-08-24 12:15:09.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/1 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2741efc60ae03e2a5fea707685df59a3c4256437","subject":"doc: Add rshim adapter driver documentation"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-08-24 11:19:04.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-08-24 11:50:53.000000000","tz":480},"subject":"adapter/ch347: add SRST support for CH347F","message":"adapter/ch347: add SRST support for CH347F\n\nAdd support for asserting and deasserting the SRST signal through the\nCH347F dedicated reset output.\n\nEnable the CH347F pin function using the PIN_SET command, include the\nSRST state in JTAG pin operations, and restore both SRST and TRST to\ninactive levels when closing the adapter. Keep the existing CH347T\nbehavior unchanged.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"39928eb333f92c15980d5c4cd6f1efe309d2763e":{"kind":"REWORK","_number":3,"created":"2026-09-01 10:22:20.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/3","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/3","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/3 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/3","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2741efc60ae03e2a5fea707685df59a3c4256437","subject":"doc: Add rshim adapter driver documentation"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-08-24 11:19:04.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-09-01 10:20:05.000000000","tz":480},"subject":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes","message":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes\n\nKeep the CH347F dedicated SRST output for JTAG mode and use the\notherwise unused TRST pin as a GPIO-driven SRST output in SWD mode.\n\nSupport configurable SRST GPIO selection and polarity, use chip-specific\nGPIO availability masks, and avoid validating GPIO readback for SRST\nsince it reports the measured target pin level.\n\nDocument the CH347T and CH347F GPIO mappings and restrictions.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}},"a6b6602e3702b21108f843d74ce7983bfb3c02c6":{"kind":"REWORK","_number":2,"created":"2026-08-25 02:32:17.000000000","uploader":{"_account_id":1002563,"name":"lynch","display_name":"lynch","email":"lynch.wy@gmail.com","username":"lynchwy"},"ref":"refs/changes/03/9703/2","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/03/9703/2","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/2 \u0026\u0026 git checkout -b change-9703 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/03/9703/2","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/03/9703/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2741efc60ae03e2a5fea707685df59a3c4256437","subject":"doc: Add rshim adapter driver documentation"}],"author":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-08-24 11:19:04.000000000","tz":480},"committer":{"name":"lynch","email":"lynch.wy@gmail.com","date":"2026-08-25 02:31:04.000000000","tz":480},"subject":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes","message":"adapter/ch347: support SRST for CH347F in JTAG and SWD modes\n\nKeep the CH347F dedicated SRST output for JTAG mode and use the\notherwise unused TRST pin as a GPIO-driven SRST output in SWD mode.\n\nSupport configurable SRST GPIO selection and polarity, use chip-specific\nGPIO availability masks, and avoid validating GPIO readback for SRST\nsince it reports the measured target pin level.\n\nDocument the CH347T and CH347F GPIO mappings and restrictions.\n\nChange-Id: I20a14f0c0b70cda70dd72c6ff1b31babc1948235\nSigned-off-by: lynch \u003clynch.wy@gmail.com\u003e\n"}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dMAX -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX","-label:Verified\u003dMIN"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"],"failing_atoms":[]}}]}
