)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7a2fea486c6019b17247d312289041b67b986d6c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"according to AN4088 (MPC5500/MPC5600 Nexus Support Overview),"},{"line_number":10,"context_line":"all mpc5xxx chips implements JCOMP signal, except MPC560x."},{"line_number":11,"context_line":"JCOMP stands for \u0027JTAG Compliance Enable\u0027 and is used for"},{"line_number":12,"context_line":"switching between debug and jtag functions (0 for debug,"},{"line_number":13,"context_line":"1 for jtag)."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"JTAG.cmm from"},{"line_number":16,"context_line":"https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-JTAG-access-Addendum-to-application-notes-AN3283-and/ta-p/1115777"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"aedf27f1_b8063d22","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":12},"updated":"2021-05-03 13:54:45.000000000","message":"Not clear what the difference between \"debug\" and \"jtag\" function. Can you explain?","commit_id":"f829fa4617ec0df9f8443d15f0a9876089a10bb0"},{"author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"change_message_id":"2df142d76f5b51a5030bd8f1aa4fc621c3bff30e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"according to AN4088 (MPC5500/MPC5600 Nexus Support Overview),"},{"line_number":10,"context_line":"all mpc5xxx chips implements JCOMP signal, except MPC560x."},{"line_number":11,"context_line":"JCOMP stands for \u0027JTAG Compliance Enable\u0027 and is used for"},{"line_number":12,"context_line":"switching between debug and jtag functions (0 for debug,"},{"line_number":13,"context_line":"1 for jtag)."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"JTAG.cmm from"},{"line_number":16,"context_line":"https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-JTAG-access-Addendum-to-application-notes-AN3283-and/ta-p/1115777"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"aedf27f1_8300ae05","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":12},"in_reply_to":"aedf27f1_b8063d22","updated":"2021-05-03 14:29:49.000000000","message":"\u003e Not clear what the difference between \"debug\" and \"jtag\" function.\n \u003e Can you explain?\n\nin this context jtag means boundary scan","commit_id":"f829fa4617ec0df9f8443d15f0a9876089a10bb0"}],"src/jtag/drivers/osbdm.c":[{"author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"change_message_id":"df2d6f9bba2884663333ab52c195165e5cac2edd","unresolved":false,"context_lines":[{"line_number":114,"context_line":"/* Read end point */"},{"line_number":115,"context_line":"#define OSBDM_USB_EP_READ 0x82"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"/* Initialize OSBDM device */"},{"line_number":118,"context_line":"#define OSBDM_CMD_INIT 0x11"},{"line_number":119,"context_line":"/* Initialize OSBDM device */"},{"line_number":120,"context_line":"#define OSBDM_CMD_HALT 0x20"},{"line_number":121,"context_line":"/* Request OSBDM version information */"},{"line_number":122,"context_line":"#define OSBDM_CMD_VER 0x50"},{"line_number":123,"context_line":"/* Execute special, not-BDM command. But only this"},{"line_number":124,"context_line":" * command is used for JTAG operation */"},{"line_number":125,"context_line":"#define OSBDM_CMD_SPECIAL 0x27"},{"line_number":126,"context_line":"/* Execute JTAG swap (tms/tdi -\u003e tdo) */"},{"line_number":127,"context_line":"#define OSBDM_CMD_SPECIAL_SWAP 0x05"},{"line_number":128,"context_line":"/* Reset control */"},{"line_number":129,"context_line":"#define OSBDM_CMD_SPECIAL_SRST 0x01"},{"line_number":130,"context_line":"/* JCOMP control */"},{"line_number":131,"context_line":"#define OSBDM_CMD_SPECIAL_JCOMP 0x02"},{"line_number":132,"context_line":"/* Maximum bit-length in one swap */"},{"line_number":133,"context_line":"#define OSBDM_SWAP_MAX (((OSBDM_USB_BUFSIZE - 6) / 5) * 16)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"/* Lists of valid VID/PID pairs"},{"line_number":136,"context_line":" */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2e489777_3780004b","line":133,"range":{"start_line":117,"start_character":0,"end_line":133,"end_character":59},"updated":"2021-05-02 20:01:57.000000000","message":"check usbbdm for other commands/states","commit_id":"4c1ecd0e2c754407ff0dbbd372c7e4c3923b43d9"},{"author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"change_message_id":"0135575c5ce371dd5ed5f82c4df50c7f77a13053","unresolved":false,"context_lines":[{"line_number":114,"context_line":"/* Read end point */"},{"line_number":115,"context_line":"#define OSBDM_USB_EP_READ 0x82"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"/* Initialize OSBDM device */"},{"line_number":118,"context_line":"#define OSBDM_CMD_INIT 0x11"},{"line_number":119,"context_line":"/* Initialize OSBDM device */"},{"line_number":120,"context_line":"#define OSBDM_CMD_HALT 0x20"},{"line_number":121,"context_line":"/* Request OSBDM version information */"},{"line_number":122,"context_line":"#define OSBDM_CMD_VER 0x50"},{"line_number":123,"context_line":"/* Execute special, not-BDM command. But only this"},{"line_number":124,"context_line":" * command is used for JTAG operation */"},{"line_number":125,"context_line":"#define OSBDM_CMD_SPECIAL 0x27"},{"line_number":126,"context_line":"/* Execute JTAG swap (tms/tdi -\u003e tdo) */"},{"line_number":127,"context_line":"#define OSBDM_CMD_SPECIAL_SWAP 0x05"},{"line_number":128,"context_line":"/* Reset control */"},{"line_number":129,"context_line":"#define OSBDM_CMD_SPECIAL_SRST 0x01"},{"line_number":130,"context_line":"/* JCOMP control */"},{"line_number":131,"context_line":"#define OSBDM_CMD_SPECIAL_JCOMP 0x02"},{"line_number":132,"context_line":"/* Maximum bit-length in one swap */"},{"line_number":133,"context_line":"#define OSBDM_SWAP_MAX (((OSBDM_USB_BUFSIZE - 6) / 5) * 16)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"/* Lists of valid VID/PID pairs"},{"line_number":136,"context_line":" */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"aedf27f1_d828e198","line":133,"range":{"start_line":117,"start_character":0,"end_line":133,"end_character":59},"in_reply_to":"2e489777_3780004b","updated":"2021-05-03 11:56:36.000000000","message":"Done","commit_id":"4c1ecd0e2c754407ff0dbbd372c7e4c3923b43d9"},{"author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"change_message_id":"df2d6f9bba2884663333ab52c195165e5cac2edd","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"/* Lists of valid VID/PID pairs"},{"line_number":136,"context_line":" */"},{"line_number":137,"context_line":"static const uint16_t osbdm_vid[] \u003d { 0x15a2, 0x15a2, 0x15a2, 0 };"},{"line_number":138,"context_line":"static const uint16_t osbdm_pid[] \u003d { 0x0042, 0x0058, 0x005e, 0 };"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"struct osbdm {"},{"line_number":141,"context_line":"\tstruct jtag_libusb_device_handle *devh; /* USB handle */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2e489777_578b7c72","line":138,"range":{"start_line":137,"start_character":0,"end_line":138,"end_character":66},"updated":"2021-05-02 20:01:57.000000000","message":"devkit-mpc5748g has osbdm too, but another pid, probably worth to rework it mpsse-like with usb vid pid options for jtag","commit_id":"4c1ecd0e2c754407ff0dbbd372c7e4c3923b43d9"},{"author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"change_message_id":"0135575c5ce371dd5ed5f82c4df50c7f77a13053","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"/* Lists of valid VID/PID pairs"},{"line_number":136,"context_line":" */"},{"line_number":137,"context_line":"static const uint16_t osbdm_vid[] \u003d { 0x15a2, 0x15a2, 0x15a2, 0 };"},{"line_number":138,"context_line":"static const uint16_t osbdm_pid[] \u003d { 0x0042, 0x0058, 0x005e, 0 };"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"struct osbdm {"},{"line_number":141,"context_line":"\tstruct jtag_libusb_device_handle *devh; /* USB handle */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"aedf27f1_f825a5bd","line":138,"range":{"start_line":137,"start_character":0,"end_line":138,"end_character":66},"in_reply_to":"2e489777_578b7c72","updated":"2021-05-03 11:56:36.000000000","message":"looks like opensda from p\u0026e micro is not same as osbdm","commit_id":"4c1ecd0e2c754407ff0dbbd372c7e4c3923b43d9"},{"author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"change_message_id":"df2d6f9bba2884663333ab52c195165e5cac2edd","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"static int osbdm_send_and_recv(struct osbdm *osbdm)"},{"line_number":153,"context_line":"{"},{"line_number":154,"context_line":"#ifdef OSBDMDEBUG"},{"line_number":155,"context_line":"\tint x;"},{"line_number":156,"context_line":"\tLOG_DEBUG(\"OSBDM TX:\");"},{"line_number":157,"context_line":"\tprintf(\"OSBDM TX:\\n\");"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2e489777_7786786c","line":154,"range":{"start_line":154,"start_character":0,"end_line":154,"end_character":17},"updated":"2021-05-02 20:01:57.000000000","message":"see bellow","commit_id":"4c1ecd0e2c754407ff0dbbd372c7e4c3923b43d9"},{"author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"change_message_id":"df2d6f9bba2884663333ab52c195165e5cac2edd","unresolved":false,"context_lines":[{"line_number":198,"context_line":"\t\tLOG_ERROR(\"OSBDM communication error: reply command mismatch\");"},{"line_number":199,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":200,"context_line":"\t}"},{"line_number":201,"context_line":"#ifdef OSBDMDEBUG"},{"line_number":202,"context_line":"\tLOG_DEBUG(\"OSBDM RX, size was %d\", osbdm-\u003ecount);"},{"line_number":203,"context_line":"\tprintf(\"OSBDM RX:\\n\");"},{"line_number":204,"context_line":"\tfor (x \u003d 0 ; x \u003c osbdm-\u003ecount ; x++) {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2e489777_97b9f42b","line":201,"range":{"start_line":201,"start_character":1,"end_line":201,"end_character":17},"updated":"2021-05-02 20:01:57.000000000","message":"probably good to make it unconditional","commit_id":"4c1ecd0e2c754407ff0dbbd372c7e4c3923b43d9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7a2fea486c6019b17247d312289041b67b986d6c","unresolved":false,"context_lines":[{"line_number":160,"context_line":"\tfor (x \u003d 0 ; x \u003c osbdm-\u003ecount ; x++)"},{"line_number":161,"context_line":"\t\tprintf(\"0x%02x \", osbdm-\u003ebuffer[x]);"},{"line_number":162,"context_line":"\tprintf(\"\\n\");"},{"line_number":163,"context_line":"#endif"},{"line_number":164,"context_line":"\t/* Send request */"},{"line_number":165,"context_line":"\tint count, ret;"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"aedf27f1_9809f936","line":163,"updated":"2021-05-03 13:54:45.000000000","message":"We have LOG_DEBUG_IO() for very high verbosity (\"-d4\" or \"debug_level 4\").\nIt\u0027s much more flexible than \"#ifdef SOMETHING\".\nAnd has the advantage that the code is always compiled even if not used, so it is checked and guaranteed it compiles whenever you need it.\nThere is also the hexify() function. It prints without \"0x\" and without space in between, but maybe good enough for debug purpose.","commit_id":"f829fa4617ec0df9f8443d15f0a9876089a10bb0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"31c6d70745b7e5b6821b47d992516dd7984cb923","unresolved":false,"context_lines":[{"line_number":624,"context_line":"\t\t\tretval \u003d osbdm_flush(osbdm, queue);"},{"line_number":625,"context_line":"\t\t\t/* JCOMP setting critical on MPC5634M/OSBDM */"},{"line_number":626,"context_line":"\t\t\tif (retval \u003d\u003d ERROR_OK)"},{"line_number":627,"context_line":"\t\t\t\tretval \u003d osbdm_jcomp(osbdm, 0); /* Activate */"},{"line_number":628,"context_line":"\t\t\tif (retval \u003d\u003d ERROR_OK)"},{"line_number":629,"context_line":"\t\t\t\tretval \u003d osbdm_srst(osbdm, cmd-\u003ecmd.reset-\u003esrst);"},{"line_number":630,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"aedf27f1_430ac625","line":627,"updated":"2021-05-03 14:50:01.000000000","message":"I was wrong, here you set it LOW.\nIt means that with this patch if you connect osbdm to a normal JTAG chip that uses the jcomp pin as trst, it will not work!\nAnd you cannot do boundary scan anymore with OpenOCD.\n\nMaybe you should add a new command to specify how to use this pin \"osbdm jcomp [low|high|trst]\".","commit_id":"f829fa4617ec0df9f8443d15f0a9876089a10bb0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7a2fea486c6019b17247d312289041b67b986d6c","unresolved":false,"context_lines":[{"line_number":739,"context_line":"\tosbdm_context.count \u003d 0;"},{"line_number":740,"context_line":"\tosbdm_context.buffer[osbdm_context.count++] \u003d OSBDM_CMD_VER;"},{"line_number":741,"context_line":"\tif (osbdm_send_and_recv(\u0026osbdm_context) !\u003d ERROR_OK)"},{"line_number":742,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":743,"context_line":""},{"line_number":744,"context_line":"\treturn ERROR_OK;"},{"line_number":745,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"aedf27f1_f80cc547","line":742,"updated":"2021-05-03 13:54:45.000000000","message":"For me it makes sense to print the version.\nIt will be printed here only at openocd start, so not too noisy.","commit_id":"f829fa4617ec0df9f8443d15f0a9876089a10bb0"}]}
