)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e05306e4_6a786124","updated":"2024-02-25 12:08:40.000000000","message":"Steven, thanks for the patch.\n\nPlease add documentation to openocd.texi, chapter 12.5 Flash Driver List","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1002245,"name":"nickwow00117","username":"nickwow00117"},"change_message_id":"358ec2d0f68df212bfaaaff8eb88d8fc211045a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e7b9a3a5_a8531e50","updated":"2024-02-23 02:07:44.000000000","message":"test","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5b84dd72_567b70ea","in_reply_to":"e05306e4_6a786124","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"d366b9226f1f0880561b9da7d6516fb8e9c527c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"10124409_a425ae22","updated":"2024-03-05 09:03:45.000000000","message":"Just a minor duplicity in defined commands.","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e3f7ad4b_80e3b637","updated":"2024-03-05 06:07:50.000000000","message":"Looks good, thanks","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"b9dc66f7b832e89e8a96a92a983054b5481bc298","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f116cd7e_e6451dd9","updated":"2024-03-25 10:50:08.000000000","message":"I\u0027ll submit the patch after a week in +2 state. Ping me if I miss it. Thanks","commit_id":"4a046532716cd48623e1afeb599cf8586b7fc0ff"}],"src/flash/nor/eneispif.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":36,"context_line":" *                             _cmd _cmd   _prog _cmd* _erase            size   size*  size"},{"line_number":37,"context_line":" *                                         _cmd        _cmd"},{"line_number":38,"context_line":" */"},{"line_number":39,"context_line":"struct flash_device ene_flash_device \u003d"},{"line_number":40,"context_line":"\tFLASH_ID(\"ISPI flash\", 0x03, 0x00, 0x02, 0x20, 0x60, 0x00852013, 0x100, 0x1000, 0x80000);"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"struct eneispif_flash_bank {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"061dc20e_e702c108","line":39,"range":{"start_line":39,"start_character":20,"end_line":39,"end_character":37},"updated":"2024-02-25 12:08:40.000000000","message":"What flash is connected to the controller?\nIs it for a standard external SPI flash (then the driver should use the global flash_devices array) or is a SPI flash integrated into the SoC package (does ISPI stand for Internal SPI)?\nGoogle didn\u0027t find a relevant info...","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":36,"context_line":" *                             _cmd _cmd   _prog _cmd* _erase            size   size*  size"},{"line_number":37,"context_line":" *                                         _cmd        _cmd"},{"line_number":38,"context_line":" */"},{"line_number":39,"context_line":"struct flash_device ene_flash_device \u003d"},{"line_number":40,"context_line":"\tFLASH_ID(\"ISPI flash\", 0x03, 0x00, 0x02, 0x20, 0x60, 0x00852013, 0x100, 0x1000, 0x80000);"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"struct eneispif_flash_bank {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"45a9494f_dd49b0e5","line":39,"range":{"start_line":39,"start_character":20,"end_line":39,"end_character":37},"in_reply_to":"061dc20e_e702c108","updated":"2024-03-05 06:07:50.000000000","message":"You replied in the doc, ok then","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":63,"context_line":"\tbank-\u003edriver_priv \u003d eneispif_info;"},{"line_number":64,"context_line":"\teneispif_info-\u003eprobed \u003d false;"},{"line_number":65,"context_line":"\teneispif_info-\u003ectrl_base \u003d 0;"},{"line_number":66,"context_line":"\tif (CMD_ARGC \u003e\u003d 7) {"},{"line_number":67,"context_line":"\t\tCOMMAND_PARSE_ADDRESS(CMD_ARGV[6], eneispif_info-\u003ectrl_base);"},{"line_number":68,"context_line":"\t\tLOG_INFO(\"ASSUMING ISPI device at ctrl_base \u003d \" TARGET_ADDR_FMT,"},{"line_number":69,"context_line":"\t\t\t eneispif_info-\u003ectrl_base);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0c4b7457_2fa4ffb4","line":66,"updated":"2024-02-25 12:08:40.000000000","message":"ctrl_base parameter is optional, but without it the driver looks for a controller @ addr 0 - I doubt that there could be a cotroller at 0 or am I wrong?","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"\tbank-\u003edriver_priv \u003d eneispif_info;"},{"line_number":64,"context_line":"\teneispif_info-\u003eprobed \u003d false;"},{"line_number":65,"context_line":"\teneispif_info-\u003ectrl_base \u003d 0;"},{"line_number":66,"context_line":"\tif (CMD_ARGC \u003e\u003d 7) {"},{"line_number":67,"context_line":"\t\tCOMMAND_PARSE_ADDRESS(CMD_ARGV[6], eneispif_info-\u003ectrl_base);"},{"line_number":68,"context_line":"\t\tLOG_INFO(\"ASSUMING ISPI device at ctrl_base \u003d \" TARGET_ADDR_FMT,"},{"line_number":69,"context_line":"\t\t\t eneispif_info-\u003ectrl_base);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"fb5c2090_195e16dd","line":66,"in_reply_to":"0c4b7457_2fa4ffb4","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":114,"context_line":"\t\tif (eneispif_read_reg(bank, \u0026status, ISPISTS) !\u003d ERROR_OK)"},{"line_number":115,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"\t\tif ((status \u0026 0x01) \u003d\u003d 0x00)"},{"line_number":118,"context_line":"\t\t\tbreak;"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"\t\tint64_t now \u003d timeval_ms();"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"f36d7b8f_3e60e89f","line":117,"range":{"start_line":117,"start_character":16,"end_line":117,"end_character":20},"updated":"2024-02-25 12:08:40.000000000","message":"Don\u0027t use magic value, define a macro instead (and use BIT() for single bit fields)","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":114,"context_line":"\t\tif (eneispif_read_reg(bank, \u0026status, ISPISTS) !\u003d ERROR_OK)"},{"line_number":115,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"\t\tif ((status \u0026 0x01) \u003d\u003d 0x00)"},{"line_number":118,"context_line":"\t\t\tbreak;"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"\t\tint64_t now \u003d timeval_ms();"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2c893413_a33ebe01","line":117,"range":{"start_line":117,"start_character":16,"end_line":117,"end_character":20},"in_reply_to":"f36d7b8f_3e60e89f","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":144,"context_line":"\t\tgoto done;"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"\tuint32_t cmd;"},{"line_number":147,"context_line":"\tswitch (sectorsize) {"},{"line_number":148,"context_line":"\tcase 0x10000:"},{"line_number":149,"context_line":"\t\tcmd \u003d CMD_BLOCK_ERASE_64K;"},{"line_number":150,"context_line":"\t\tbreak;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"d003d703_d7b493c6","line":147,"range":{"start_line":147,"start_character":9,"end_line":147,"end_character":19},"updated":"2024-02-25 12:08:40.000000000","message":"Why?\nNormally the `erase_cmd` in `struct flash_device` matches `sectorsize` (a.k.a. erase size) and you may configure any of available erase commands (sector, block or half block) for a device.","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":144,"context_line":"\t\tgoto done;"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"\tuint32_t cmd;"},{"line_number":147,"context_line":"\tswitch (sectorsize) {"},{"line_number":148,"context_line":"\tcase 0x10000:"},{"line_number":149,"context_line":"\t\tcmd \u003d CMD_BLOCK_ERASE_64K;"},{"line_number":150,"context_line":"\t\tbreak;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"1b3c46c1_e5c0a078","line":147,"range":{"start_line":147,"start_character":9,"end_line":147,"end_character":19},"in_reply_to":"d003d703_d7b493c6","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":269,"context_line":"\tpage_size \u003d"},{"line_number":270,"context_line":"\t\teneispif_info-\u003edev-\u003epagesize ? eneispif_info-\u003edev-\u003epagesize : SPIFLASH_DEF_PAGESIZE;"},{"line_number":271,"context_line":"\tuint32_t page_offset \u003d offset % page_size;"},{"line_number":272,"context_line":"\t/* central part, aligned words */"},{"line_number":273,"context_line":"\twhile (count \u003e 0) {"},{"line_number":274,"context_line":"\t\tuint32_t cur_count;"},{"line_number":275,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"c5ea403f_5f5ab142","line":272,"range":{"start_line":272,"start_character":18,"end_line":272,"end_character":31},"updated":"2024-02-25 12:08:40.000000000","message":"There is no measures to ensure the alignment.\nA typical SPI flash does not require a particular alignment.\nAnd the controller does not seem to impose any alignment as well.\nIs the comment just a missed copy pasta?","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":269,"context_line":"\tpage_size \u003d"},{"line_number":270,"context_line":"\t\teneispif_info-\u003edev-\u003epagesize ? eneispif_info-\u003edev-\u003epagesize : SPIFLASH_DEF_PAGESIZE;"},{"line_number":271,"context_line":"\tuint32_t page_offset \u003d offset % page_size;"},{"line_number":272,"context_line":"\t/* central part, aligned words */"},{"line_number":273,"context_line":"\twhile (count \u003e 0) {"},{"line_number":274,"context_line":"\t\tuint32_t cur_count;"},{"line_number":275,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"42c3cb4c_7bc49fb5","line":272,"range":{"start_line":272,"start_character":18,"end_line":272,"end_character":31},"in_reply_to":"c5ea403f_5f5ab142","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":330,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":331,"context_line":"\t\tgoto done;"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"\tretval \u003d eneispif_read_reg(bank, \u0026value, ISPIDAT);"},{"line_number":334,"context_line":"\tLOG_DEBUG(\"ISPDAT \u003d (0x%08\" PRIx32 \")\", value);"},{"line_number":335,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":336,"context_line":"\t\tgoto done;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"e1065232_93ca9bac","line":333,"range":{"start_line":333,"start_character":10,"end_line":333,"end_character":27},"updated":"2024-02-25 12:08:40.000000000","message":"Just a nit: Better use `target_read_buffer()` to uint8_t buf[3] (or round up to a word to speed up read) and fill `id` from buffer instead of flipping bytes.","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":330,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":331,"context_line":"\t\tgoto done;"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"\tretval \u003d eneispif_read_reg(bank, \u0026value, ISPIDAT);"},{"line_number":334,"context_line":"\tLOG_DEBUG(\"ISPDAT \u003d (0x%08\" PRIx32 \")\", value);"},{"line_number":335,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":336,"context_line":"\t\tgoto done;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"208c9f06_ce36d34d","line":333,"range":{"start_line":333,"start_character":10,"end_line":333,"end_character":27},"in_reply_to":"e1065232_93ca9bac","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":420,"context_line":"\tstruct eneispif_flash_bank *eneispif_info \u003d bank-\u003edriver_priv;"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"\tif (!(eneispif_info-\u003eprobed)) {"},{"line_number":423,"context_line":"\t\tcommand_print_sameline(cmd, \"\\nFESPI flash bank not probed yet\\n\");"},{"line_number":424,"context_line":"\t\treturn ERROR_OK;"},{"line_number":425,"context_line":"\t}"},{"line_number":426,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"9e38d55d_18772c22","line":423,"range":{"start_line":423,"start_character":33,"end_line":423,"end_character":35},"updated":"2024-02-25 12:08:40.000000000","message":"Copy pasta?\nShould use command_print() instead of trailing \\n","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":420,"context_line":"\tstruct eneispif_flash_bank *eneispif_info \u003d bank-\u003edriver_priv;"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"\tif (!(eneispif_info-\u003eprobed)) {"},{"line_number":423,"context_line":"\t\tcommand_print_sameline(cmd, \"\\nFESPI flash bank not probed yet\\n\");"},{"line_number":424,"context_line":"\t\treturn ERROR_OK;"},{"line_number":425,"context_line":"\t}"},{"line_number":426,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"8511fe98_27dfac8e","line":423,"range":{"start_line":423,"start_character":33,"end_line":423,"end_character":35},"in_reply_to":"9e38d55d_18772c22","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"7c536b2ff1d641555811cf430b010b7d742aa3e3","unresolved":true,"context_lines":[{"line_number":426,"context_line":""},{"line_number":427,"context_line":"\tcommand_print_sameline(cmd,"},{"line_number":428,"context_line":"\t\t\t       \"\\nENE ISPI flash information:\\n\""},{"line_number":429,"context_line":"\t\t\t       \"  Device \\\u0027%s\\\u0027 (ID 0x%08\" PRIx32 \")\\n\","},{"line_number":430,"context_line":"\t\t\t       eneispif_info-\u003edev-\u003ename, eneispif_info-\u003edev-\u003edevice_id);"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"77de9af6_def7d507","line":429,"range":{"start_line":429,"start_character":47,"end_line":429,"end_character":49},"updated":"2024-02-25 12:08:40.000000000","message":"Should use command_print() instead of trailing \\n","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c79b284cd9a59bf75bc8af2389bee275bfc90f8b","unresolved":false,"context_lines":[{"line_number":426,"context_line":""},{"line_number":427,"context_line":"\tcommand_print_sameline(cmd,"},{"line_number":428,"context_line":"\t\t\t       \"\\nENE ISPI flash information:\\n\""},{"line_number":429,"context_line":"\t\t\t       \"  Device \\\u0027%s\\\u0027 (ID 0x%08\" PRIx32 \")\\n\","},{"line_number":430,"context_line":"\t\t\t       eneispif_info-\u003edev-\u003ename, eneispif_info-\u003edev-\u003edevice_id);"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"60288cf4_48aae029","line":429,"range":{"start_line":429,"start_character":47,"end_line":429,"end_character":49},"in_reply_to":"77de9af6_def7d507","updated":"2024-03-05 06:07:50.000000000","message":"Done","commit_id":"b73d7821b1aa83da4cb0d52cd1943f6aff89e980"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"d366b9226f1f0880561b9da7d6516fb8e9c527c2","unresolved":true,"context_lines":[{"line_number":28,"context_line":"#define CFG_READ  0x372"},{"line_number":29,"context_line":"#define CFG_WRITE 0x371"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define CMD_WRITE_ENABLE    0x06"},{"line_number":32,"context_line":"#define CMD_PAGE_WRITE      0x02"},{"line_number":33,"context_line":"#define CMD_RDID            0x9F"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"0caa7260_5602b3e6","line":31,"updated":"2024-03-05 09:03:45.000000000","message":"flash/nor/spi.h: SPIFLASH_WRITE_ENABLE","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"80763e176c131de7743abe1c3fa2d2ec16451709","unresolved":false,"context_lines":[{"line_number":28,"context_line":"#define CFG_READ  0x372"},{"line_number":29,"context_line":"#define CFG_WRITE 0x371"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define CMD_WRITE_ENABLE    0x06"},{"line_number":32,"context_line":"#define CMD_PAGE_WRITE      0x02"},{"line_number":33,"context_line":"#define CMD_RDID            0x9F"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"9021ab54_2caf1020","line":31,"in_reply_to":"0caa7260_5602b3e6","updated":"2024-03-05 09:35:13.000000000","message":"Done","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"d366b9226f1f0880561b9da7d6516fb8e9c527c2","unresolved":true,"context_lines":[{"line_number":29,"context_line":"#define CFG_WRITE 0x371"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define CMD_WRITE_ENABLE    0x06"},{"line_number":32,"context_line":"#define CMD_PAGE_WRITE      0x02"},{"line_number":33,"context_line":"#define CMD_RDID            0x9F"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"#define ISPI_CTRL_BASE 0x50101000"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"39ad68f7_2f251b38","line":32,"updated":"2024-03-05 09:03:45.000000000","message":"spi.h: SPIFLASH_PAGE_PROGRAM","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"80763e176c131de7743abe1c3fa2d2ec16451709","unresolved":false,"context_lines":[{"line_number":29,"context_line":"#define CFG_WRITE 0x371"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define CMD_WRITE_ENABLE    0x06"},{"line_number":32,"context_line":"#define CMD_PAGE_WRITE      0x02"},{"line_number":33,"context_line":"#define CMD_RDID            0x9F"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"#define ISPI_CTRL_BASE 0x50101000"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"2a2e6f99_44b5ae5f","line":32,"in_reply_to":"39ad68f7_2f251b38","updated":"2024-03-05 09:35:13.000000000","message":"Done","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"d366b9226f1f0880561b9da7d6516fb8e9c527c2","unresolved":true,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define CMD_WRITE_ENABLE    0x06"},{"line_number":32,"context_line":"#define CMD_PAGE_WRITE      0x02"},{"line_number":33,"context_line":"#define CMD_RDID            0x9F"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"#define ISPI_CTRL_BASE 0x50101000"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"577e641c_bcd0ad9e","line":33,"updated":"2024-03-05 09:03:45.000000000","message":"spi.h: SPIFLASH_READ_ID","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"80763e176c131de7743abe1c3fa2d2ec16451709","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define CMD_WRITE_ENABLE    0x06"},{"line_number":32,"context_line":"#define CMD_PAGE_WRITE      0x02"},{"line_number":33,"context_line":"#define CMD_RDID            0x9F"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"#define ISPI_CTRL_BASE 0x50101000"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"c6779706_0840b172","line":33,"in_reply_to":"577e641c_bcd0ad9e","updated":"2024-03-05 09:35:13.000000000","message":"Done","commit_id":"50df272c238d9c80c35ac6e64796e94dfaf0aa6b"}]}
