)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"91eec94981018cbfda3e1d8476c531840b1dacc1","unresolved":true,"context_lines":[{"line_number":7,"context_line":"adapter: Rework parallel port driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make the driver more flexible and allow to specify adapter specific"},{"line_number":10,"context_line":"configuration in Tcl rather than in C, similar to the FTDI driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The rework also includes coding style fixes and improvements of the"},{"line_number":13,"context_line":"documentation. All modifications are done such that backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"54a0b727_524dd660","line":10,"updated":"2025-06-08 20:49:34.000000000","message":"Actually I would like to rework the FTDI driver to convert it to `adapter gpio` commands for pin layout configuration, as are now:\n- tcl/interface/ast2600-gpiod.cfg\n- tcl/interface/beaglebone-jtag-native.cfg\n- tcl/interface/beaglebone-swd-native.cfg\n- tcl/interface/dln-2-gpiod.cfg\n- tcl/interface/jtag_hat_rpi2.cfg\n- tcl/interface/raspberrypi-gpio-connector.cfg\n\nbut never had time to do it.\nTo avoid deprecating these `parport layout_signal`, could you check if it\u0027s easy to move to `adapter gpio`?\nNote: `adapter gpio` don\u0027t have (yet) an option to set the pin at exit!","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"23b284967906eb9416945e50c0b343be7aae21d7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"adapter: Rework parallel port driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make the driver more flexible and allow to specify adapter specific"},{"line_number":10,"context_line":"configuration in Tcl rather than in C, similar to the FTDI driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The rework also includes coding style fixes and improvements of the"},{"line_number":13,"context_line":"documentation. All modifications are done such that backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"187b28a2_ab77f471","line":10,"in_reply_to":"03f17837_e8bcb235","updated":"2025-08-20 11:44:37.000000000","message":"\u003e Yes, it looks correct! And very clean!\n\nThanks! I will continue with dropping direct I/O support (as discussed) in follow-up patches.\n\n\u003e Unfortunately I cannot test it, as I don\u0027t have anymore any PC with a parallel port.\n\nHehe, I had to get some old computers out of the basement :D","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"88e7ddee34816020eb2f71570d8c47400bf90061","unresolved":false,"context_lines":[{"line_number":7,"context_line":"adapter: Rework parallel port driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make the driver more flexible and allow to specify adapter specific"},{"line_number":10,"context_line":"configuration in Tcl rather than in C, similar to the FTDI driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The rework also includes coding style fixes and improvements of the"},{"line_number":13,"context_line":"documentation. All modifications are done such that backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"03f17837_e8bcb235","line":10,"in_reply_to":"4e6a1d4f_a213b8de","updated":"2025-08-20 10:27:06.000000000","message":"Yes, it looks correct! And very clean!\nUnfortunately I cannot test it, as I don\u0027t have anymore any PC with a parallel port.","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"c1b37edc65f8ca73f11f5d508170f85d6654064b","unresolved":true,"context_lines":[{"line_number":7,"context_line":"adapter: Rework parallel port driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make the driver more flexible and allow to specify adapter specific"},{"line_number":10,"context_line":"configuration in Tcl rather than in C, similar to the FTDI driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The rework also includes coding style fixes and improvements of the"},{"line_number":13,"context_line":"documentation. All modifications are done such that backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"988c5105_8ae337c8","line":10,"in_reply_to":"54a0b727_524dd660","updated":"2025-07-30 10:43:32.000000000","message":"Antonio, some parallel port \u0027cables\u0027 require to drive a GPIO pin which is not part of the JTAG signals. For example, pin 9 is used as power supply for the level shifter in [1]. How would you solve this with `adapter gpio`?\n\n[1] https://www.bicotech.com/?page\u003dprod_wiggler\u0026lg\u003den","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"6b2eb31e6fa842f093459a7542d5ba49792e3f80","unresolved":true,"context_lines":[{"line_number":7,"context_line":"adapter: Rework parallel port driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make the driver more flexible and allow to specify adapter specific"},{"line_number":10,"context_line":"configuration in Tcl rather than in C, similar to the FTDI driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The rework also includes coding style fixes and improvements of the"},{"line_number":13,"context_line":"documentation. All modifications are done such that backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba1f572b_29a3d2fe","line":10,"in_reply_to":"988c5105_8ae337c8","updated":"2025-07-30 13:57:26.000000000","message":"In the set of patches that introduced `adapter gpio` I suggested the developer to also add the custom GPIOs `user0`,... but he decided to skip it and consider it for a future development.\nhttps://review.openocd.org/c/openocd/+/6967/7..21/src/jtag/adapter.c#b801\n\nMy idea behind that was to convert also FTDI driver to `adapter gpio`, at least for replacing the commands `ftdi layout_signal`, `ftdi set_signal` and `ftdi get_signal`.\n\nAnyway, for this parport case we would need a user GPIO and the relevant command to set it to output and to a value.","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"9ef3db786099f1ffd0855366ba9f12330f8a6959","unresolved":true,"context_lines":[{"line_number":7,"context_line":"adapter: Rework parallel port driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make the driver more flexible and allow to specify adapter specific"},{"line_number":10,"context_line":"configuration in Tcl rather than in C, similar to the FTDI driver."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The rework also includes coding style fixes and improvements of the"},{"line_number":13,"context_line":"documentation. All modifications are done such that backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"4e6a1d4f_a213b8de","line":10,"in_reply_to":"ba1f572b_29a3d2fe","updated":"2025-08-19 11:54:27.000000000","message":"I\u0027ve added the necessary features to the adapter GPIO subsystem. I\u0027m not very familiar with the code, so please take a look at it when you have time. Everything has been tested at the functional level and works as expected.","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"44cd3e902793a4ca3714cb38f2e0c96e5d7566b4","unresolved":true,"context_lines":[{"line_number":18,"context_line":"On FreeBSD, only PPDEV works. The build with direct I/O already failed"},{"line_number":19,"context_line":"before the patch. This problem will be fixed in a subsequent patch."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The patch is not tested on Windows because there is no documentation"},{"line_number":22,"context_line":"for it."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[1] https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8727b8ff_b387bec7","line":21,"updated":"2025-06-15 09:16:37.000000000","message":"From some quick search, there was a `giveio.sys` driver for the old Windows that allow a userland tool like OpenOCD to access the printer I/O ports through `inb` and `outb` assembly instructions.\nhttps://www.reddit.com/r/arduino/comments/nt7zz9/parallel_programmer_not_working_in_windows_10_is/\n\nIn the current Windows versions there is probably this:\nhttps://github.com/NMCity/lpt1giveiosys64bit\n\nor this one, but need special permissions to OpenOCD:\nhttps://github.com/pali/secure-giveio\n\nI expect giveio should be mandatory on Windows. Maybe this driver could be later modified accordingly.\n\nNew Windows on ARM cannot use X86 `inb` and `outb` assembly instructions. But I also expect the new ARM HW has no parallel port, so not an issue. We should not compile in this driver on Windows ARM otherwise we would get error for illegal asm instruction by the compiler.","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"41c19d97353cc533b75c3ea6d655f2d41b49ca9d","unresolved":true,"context_lines":[{"line_number":18,"context_line":"On FreeBSD, only PPDEV works. The build with direct I/O already failed"},{"line_number":19,"context_line":"before the patch. This problem will be fixed in a subsequent patch."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The patch is not tested on Windows because there is no documentation"},{"line_number":22,"context_line":"for it."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[1] https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8841413d_88ecc082","line":21,"in_reply_to":"8727b8ff_b387bec7","updated":"2025-06-15 19:28:11.000000000","message":"As you can imagine this rework and testing took quite some time. Actually, it was also a bit of fun to see how the driver and parallel port stuff works. However, I would like to not invest more time on this. I think we both know that the user base, apart from a few parallel port enthusiasts, is close to zero.\n\nThe only thing on my agenda for this driver (apart from the adaption to the `adapter gpio` system) is actually to deprecate and later (after v1.0) drop direct I/O support. The reasons are the following:\n\n - On Linux, we have `ppdev` since version ~2.4, which was released 24 years ago.\nI think that\u0027s old enough to say it is available on all Linux-based systems.\n`ppdev` kernel module is enabled by default on Ubuntu and Fedora, probably on other distros as well.\n\n - On FreeBSD, there is no direct I/O support at all and we have to use `ppdev` (ppi).\n - Direct I/O requires to run OpenOCD with root/higher privileges which is not advisable.\n - Small and easy to maintain code base - direct I/O is responsible for complexity in the build system (see your comment) and driver code.\n - Without direct I/O we can simplify the parallel port specification and use device paths, e.g. `/dev/parport0`, instead of numbers.\n\nThe only reason to keep direct I/O is Windows which has a even smaller (zero?) user base. This is evident by the fact that none of the active developers and users on the mailing list are able or willing to test the driver on Windows.\n\nLet us deprecate direct I/O and Windows support to have a simple and easy maintainable parallel port code base - appropriate for the size of the actual users. If there really are still users for whom there is no other option than parallel port on Windows, they will show up on the mailing list and we can consider whether to keep direct I/O.\n\n(Unfortunately, I could not find out conclusively whether you can use the parallel port on Windows without direct I/O.)","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bae52e4ec0324a6d468d3ecccf65a1eb942b67f6","unresolved":false,"context_lines":[{"line_number":18,"context_line":"On FreeBSD, only PPDEV works. The build with direct I/O already failed"},{"line_number":19,"context_line":"before the patch. This problem will be fixed in a subsequent patch."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The patch is not tested on Windows because there is no documentation"},{"line_number":22,"context_line":"for it."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[1] https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"daf146aa_8c19aa78","line":21,"in_reply_to":"8841413d_88ecc082","updated":"2025-06-15 19:54:35.000000000","message":"agree!","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"88e7ddee34816020eb2f71570d8c47400bf90061","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"09ccc311_8758f8f8","updated":"2025-08-20 10:27:06.000000000","message":"Thanks","commit_id":"eb8a644f4bb169aebabff20084469a9e7a987b0c"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"f25b6a69426786dbdb26c8d5c7204cdeeff5913e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fdd6c556_d2430371","updated":"2025-08-24 08:15:26.000000000","message":"Just updated the commit message.","commit_id":"aa431a9e0fea56d3dec5969f3386277a5469e969"}],"tcl/interface/parport/altium.cfg":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"91eec94981018cbfda3e1d8476c531840b1dacc1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"71976114_eb4a2f73","line":24,"updated":"2025-06-08 20:49:34.000000000","message":"Since only JTAG is supported, what about adding\n`transport select jtag`\nin each interface file?","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"9ef3db786099f1ffd0855366ba9f12330f8a6959","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d1417c8e_8cee5297","line":24,"in_reply_to":"71976114_eb4a2f73","updated":"2025-08-19 11:54:27.000000000","message":"Done","commit_id":"7b06bebf97e2f46aa77a2753f124d2707146c77a"}]}
