)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6b1fb35944b8b2502a6ef250d9f9bb59e68dfc6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"microcontrollers. Add config file for NPCX series."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ia10b019a3521f59ad1e10ccdc56827ba30c3eac8"},{"line_number":13,"context_line":"Signed-off-by: Wealian Liao \u003cWHLIAO@nuvoton.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"aedf27f1_e9287998","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":48},"updated":"2021-05-20 14:13:34.000000000","message":"arent\u0027t we missing the:\nsigned-off-by: Mulin Chao \u003cmlchao@nuvoton.com\u003e","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"9e516ef58e87e74fa2a6ec0cccf92d783a600bd4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"microcontrollers. Add config file for NPCX series."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ia10b019a3521f59ad1e10ccdc56827ba30c3eac8"},{"line_number":13,"context_line":"Signed-off-by: Wealian Liao \u003cWHLIAO@nuvoton.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"aedf27f1_c4155c42","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":48},"in_reply_to":"aedf27f1_e9287998","updated":"2021-05-21 03:49:27.000000000","message":"Thanks for mentioning it. :)","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"348e7674af986afe54adb90279b28ec43080a211","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"13e2642c_69cd6346","updated":"2021-08-23 03:43:14.000000000","message":"Hi all, does anyone has any feedback for this CL? If not, could we merge this CL now?","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"284242055f34f14829381f39a0eccb1af57ddbd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"f6b5791c_0478f2cf","in_reply_to":"13e2642c_69cd6346","updated":"2021-08-24 06:35:17.000000000","message":"I do not have the hardware required to test the code, so I re-checked the code at least visually. \n\nIt looks all right to me. All my previous comments had already been addressed, and I do not have any new items.\n\nThank you for the contribution.","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"cbc885f9_e03ea39e","updated":"2021-09-01 09:41:51.000000000","message":"Please check it. Thanks :)","commit_id":"afd092fc15c86139d04f84cc0227b68f6c599dc3"}],"contrib/loaders/flash/npcx/Makefile":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":1,"context_line":"BIN2C \u003d ../../../../src/helper/bin2char.sh"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Toolchain used in makefile"},{"line_number":4,"context_line":"CROSS_COMPILE ?\u003d arm-none-eabi-"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"ceda9b01_250b04db","line":1,"updated":"2020-12-16 23:47:43.000000000","message":"Please add as first line\n# SPDX-License-Identifier: GPL-2.0-or-later","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":1,"context_line":"BIN2C \u003d ../../../../src/helper/bin2char.sh"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Toolchain used in makefile"},{"line_number":4,"context_line":"CROSS_COMPILE ?\u003d arm-none-eabi-"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"ceda9b01_05cfe083","line":1,"in_reply_to":"ceda9b01_250b04db","updated":"2020-12-18 10:11:47.000000000","message":"Done","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":7,"context_line":"CPP            \u003d $(CROSS_COMPILE)cpp"},{"line_number":8,"context_line":"LD             \u003d $(CROSS_COMPILE)gcc"},{"line_number":9,"context_line":"AS             \u003d $(CROSS_COMPILE)as"},{"line_number":10,"context_line":"OBJCOPY        \u003d$(CROSS_COMPILE)objcopy"},{"line_number":11,"context_line":"OBJDUMP        \u003d$(CROSS_COMPILE)objdump"},{"line_number":12,"context_line":"OBJSIZE        \u003d$(CROSS_COMPILE)size"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"TARGET         \u003d npcx_algo"},{"line_number":15,"context_line":"OBJS          :\u003d npcx_flash.o"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"ceda9b01_45108804","line":12,"range":{"start_line":10,"start_character":0,"end_line":12,"end_character":36},"updated":"2020-12-16 23:47:43.000000000","message":"Please add one space after the \u0027\u003d\u0027","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":7,"context_line":"CPP            \u003d $(CROSS_COMPILE)cpp"},{"line_number":8,"context_line":"LD             \u003d $(CROSS_COMPILE)gcc"},{"line_number":9,"context_line":"AS             \u003d $(CROSS_COMPILE)as"},{"line_number":10,"context_line":"OBJCOPY        \u003d$(CROSS_COMPILE)objcopy"},{"line_number":11,"context_line":"OBJDUMP        \u003d$(CROSS_COMPILE)objdump"},{"line_number":12,"context_line":"OBJSIZE        \u003d$(CROSS_COMPILE)size"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"TARGET         \u003d npcx_algo"},{"line_number":15,"context_line":"OBJS          :\u003d npcx_flash.o"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"ceda9b01_a5cb7474","line":12,"range":{"start_line":10,"start_character":0,"end_line":12,"end_character":36},"in_reply_to":"ceda9b01_45108804","updated":"2020-12-18 10:11:47.000000000","message":"Done","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"}],"contrib/loaders/flash/npcx/npcx_flash.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"/* flashloader parameter structure */"},{"line_number":288,"context_line":"__attribute__ ((section(\".buffers.g_cfg\")))"},{"line_number":289,"context_line":"volatile struct flash_params g_cfg;"},{"line_number":290,"context_line":"/* data buffer */"},{"line_number":291,"context_line":"__attribute__ ((section(\".buffers.g_buf\")))"},{"line_number":292,"context_line":"uint8_t g_buf[BUFFER_LEN];"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"int main(void)"},{"line_number":295,"context_line":"{"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ceda9b01_a5fe14aa","line":292,"range":{"start_line":289,"start_character":0,"end_line":292,"end_character":26},"updated":"2020-12-16 23:47:43.000000000","message":"this increase the size of the binary in \u0027npcx_flash.lds\u0027. It should be allocated by the host, not fixed in the binary","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"/* flashloader parameter structure */"},{"line_number":288,"context_line":"__attribute__ ((section(\".buffers.g_cfg\")))"},{"line_number":289,"context_line":"volatile struct flash_params g_cfg;"},{"line_number":290,"context_line":"/* data buffer */"},{"line_number":291,"context_line":"__attribute__ ((section(\".buffers.g_buf\")))"},{"line_number":292,"context_line":"uint8_t g_buf[BUFFER_LEN];"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"int main(void)"},{"line_number":295,"context_line":"{"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ceda9b01_65a58cb1","line":292,"range":{"start_line":289,"start_character":0,"end_line":292,"end_character":26},"in_reply_to":"ceda9b01_a5fe14aa","updated":"2020-12-18 10:11:47.000000000","message":"I add (NOLOAD) property in the linker script. It doesn\u0027t increase the size of the binary now.","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"__attribute__ ((section(\".stack\")))"},{"line_number":358,"context_line":"__attribute__ ((used))"},{"line_number":359,"context_line":"static uint32_t stack[100];"},{"line_number":360,"context_line":"extern uint32_t _estack;"},{"line_number":361,"context_line":"extern uint32_t _bss;"},{"line_number":362,"context_line":"extern uint32_t _ebss;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ceda9b01_05f280df","line":359,"range":{"start_line":359,"start_character":0,"end_line":359,"end_character":27},"updated":"2020-12-16 23:47:43.000000000","message":"this increase the size of the binary in \u0027npcx_flash.lds\u0027. It should be allocated by the host, not fixed in the binary","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"__attribute__ ((section(\".stack\")))"},{"line_number":358,"context_line":"__attribute__ ((used))"},{"line_number":359,"context_line":"static uint32_t stack[100];"},{"line_number":360,"context_line":"extern uint32_t _estack;"},{"line_number":361,"context_line":"extern uint32_t _bss;"},{"line_number":362,"context_line":"extern uint32_t _ebss;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ceda9b01_85aaf080","line":359,"range":{"start_line":359,"start_character":0,"end_line":359,"end_character":27},"in_reply_to":"ceda9b01_05f280df","updated":"2020-12-18 10:11:47.000000000","message":"I add (NOLOAD) property in the linker script. It doesn\u0027t increase the size of the binary now. Did the OpenOCD prefer use init_reg_param() to send the parameter to chip \u0026 set SP? If so, I\u0027ll send the next patch to modify the host \u0026 MCU communication mechanism.","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":369,"context_line":""},{"line_number":370,"context_line":"\tmain();"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"\tfor (;;)"},{"line_number":373,"context_line":"\t\t;"},{"line_number":374,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ceda9b01_e5f41cce","line":373,"range":{"start_line":372,"start_character":0,"end_line":373,"end_character":3},"updated":"2020-12-16 23:47:43.000000000","message":"Usually we complete the code with \u0027bkpt #0x00\u0027, so the host is notified by the execution completed.","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":369,"context_line":""},{"line_number":370,"context_line":"\tmain();"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"\tfor (;;)"},{"line_number":373,"context_line":"\t\t;"},{"line_number":374,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"ceda9b01_c5c8f879","line":373,"range":{"start_line":372,"start_character":0,"end_line":373,"end_character":3},"in_reply_to":"ceda9b01_e5f41cce","updated":"2020-12-18 10:11:47.000000000","message":"Done","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"ec5eb53d6a0203e6f53a0e82639b37c54ccd61c6","unresolved":false,"context_lines":[{"line_number":261,"context_line":"uint32_t flashloader_init(struct flash_params *params)"},{"line_number":262,"context_line":"{"},{"line_number":263,"context_line":"\t/* Initialize params buffers */"},{"line_number":264,"context_line":"\tmemset((void *)params, 0, sizeof(struct flash_params));"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"\treturn STATUS_OK;"},{"line_number":267,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_8400b405","line":264,"updated":"2021-05-20 21:04:29.000000000","message":"No need to cast to (void *)","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"9e516ef58e87e74fa2a6ec0cccf92d783a600bd4","unresolved":false,"context_lines":[{"line_number":261,"context_line":"uint32_t flashloader_init(struct flash_params *params)"},{"line_number":262,"context_line":"{"},{"line_number":263,"context_line":"\t/* Initialize params buffers */"},{"line_number":264,"context_line":"\tmemset((void *)params, 0, sizeof(struct flash_params));"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"\treturn STATUS_OK;"},{"line_number":267,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_842754b1","line":264,"in_reply_to":"aedf27f1_8400b405","updated":"2021-05-21 03:49:27.000000000","message":"Done","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"6d484a18bb8c78517dc851d48a1fea55788d86f7","unresolved":false,"context_lines":[{"line_number":128,"context_line":"\tflash_cs_level(1);"},{"line_number":129,"context_line":"}"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"/* The writing date couldn\u0027t cross 256Bytes boundary. */"},{"line_number":132,"context_line":"static int flash_program_write(uint32_t addr, uint32_t size,"},{"line_number":133,"context_line":"\t\tconst uint8_t *data)"},{"line_number":134,"context_line":"{"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_e4c50043","line":131,"updated":"2021-05-24 07:56:34.000000000","message":"Did you mean:\n\n\"The writing date couldn\u0027t\" --\u003e \"The data to write cannot\"\n\n??","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f6f754f937b85cb481a2a7dfdf01de9aca15b09c","unresolved":false,"context_lines":[{"line_number":128,"context_line":"\tflash_cs_level(1);"},{"line_number":129,"context_line":"}"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"/* The writing date couldn\u0027t cross 256Bytes boundary. */"},{"line_number":132,"context_line":"static int flash_program_write(uint32_t addr, uint32_t size,"},{"line_number":133,"context_line":"\t\tconst uint8_t *data)"},{"line_number":134,"context_line":"{"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_24e308d6","line":131,"in_reply_to":"aedf27f1_e4c50043","updated":"2021-05-24 11:02:07.000000000","message":"Done","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"d55ef2384c2dc03cbbd54af492d53913dfebe4c2","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"static int flash_wait_ready(uint32_t timeout)"},{"line_number":64,"context_line":"{"},{"line_number":65,"context_line":"\tif (timeout \u003c\u003d 0)"},{"line_number":66,"context_line":"\t\treturn STATUS_FAILED;"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"\t/* Chip Select down. -- Burst mode */"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_b115f3eb","line":65,"updated":"2021-06-17 18:48:53.000000000","message":"How is \u0027timeout\u0027 \u003c 0 possible?","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"8ee23f70a978b54cd64a1b6186c917d52a00e3d7","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"static int flash_wait_ready(uint32_t timeout)"},{"line_number":64,"context_line":"{"},{"line_number":65,"context_line":"\tif (timeout \u003c\u003d 0)"},{"line_number":66,"context_line":"\t\treturn STATUS_FAILED;"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"\t/* Chip Select down. -- Burst mode */"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_91822fcc","line":65,"in_reply_to":"aedf27f1_b115f3eb","updated":"2021-06-21 08:43:17.000000000","message":"All the function call use FLASH_ABORT_TIMEOUT as a timeout value. I removed it. Thanks.","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"d55ef2384c2dc03cbbd54af492d53913dfebe4c2","unresolved":false,"context_lines":[{"line_number":137,"context_line":"\t\treturn status;"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"\tflash_burst_write(addr, size, data);"},{"line_number":140,"context_line":"\tstatus \u003d flash_wait_ready(FLASH_ABORT_TIMEOUT);"},{"line_number":141,"context_line":"\treturn status;"},{"line_number":142,"context_line":"}"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_71d78b29","line":140,"updated":"2021-06-17 18:48:53.000000000","message":"return flash_wait_ready()?","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"8ee23f70a978b54cd64a1b6186c917d52a00e3d7","unresolved":false,"context_lines":[{"line_number":137,"context_line":"\t\treturn status;"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"\tflash_burst_write(addr, size, data);"},{"line_number":140,"context_line":"\tstatus \u003d flash_wait_ready(FLASH_ABORT_TIMEOUT);"},{"line_number":141,"context_line":"\treturn status;"},{"line_number":142,"context_line":"}"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_3187c3de","line":140,"in_reply_to":"aedf27f1_71d78b29","updated":"2021-06-21 08:43:17.000000000","message":"Done","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"d55ef2384c2dc03cbbd54af492d53913dfebe4c2","unresolved":false,"context_lines":[{"line_number":302,"context_line":""},{"line_number":303,"context_line":"\t\t/* command handler */"},{"line_number":304,"context_line":"\t\tswitch (g_cfg.cmd) {"},{"line_number":305,"context_line":"\t\t\tcase CMD_GET_FLASH_ID:"},{"line_number":306,"context_line":"\t\t\t\tstatus \u003d flash_get_id(\u0026id);"},{"line_number":307,"context_line":"\t\t\t\tif (status \u003d\u003d STATUS_OK) {"},{"line_number":308,"context_line":"\t\t\t\t\tg_buf[0] \u003d id \u0026 0xff;"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_91dc6f4d","line":305,"updated":"2021-06-17 18:48:53.000000000","message":"Use the same indentation level as for the switch (...)","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"8ee23f70a978b54cd64a1b6186c917d52a00e3d7","unresolved":false,"context_lines":[{"line_number":302,"context_line":""},{"line_number":303,"context_line":"\t\t/* command handler */"},{"line_number":304,"context_line":"\t\tswitch (g_cfg.cmd) {"},{"line_number":305,"context_line":"\t\t\tcase CMD_GET_FLASH_ID:"},{"line_number":306,"context_line":"\t\t\t\tstatus \u003d flash_get_id(\u0026id);"},{"line_number":307,"context_line":"\t\t\t\tif (status \u003d\u003d STATUS_OK) {"},{"line_number":308,"context_line":"\t\t\t\t\tg_buf[0] \u003d id \u0026 0xff;"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_518cc7ff","line":305,"in_reply_to":"aedf27f1_91dc6f4d","updated":"2021-06-21 08:43:17.000000000","message":"Done","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"044335bb57d5963eb797da11c959c0581023163f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"},{"line_number":7,"context_line":" *   it under the terms of the GNU General Public License as published by  *"},{"line_number":8,"context_line":" *   the Free Software Foundation; either version 2 of the License, or     *"},{"line_number":9,"context_line":" *   (at your option) any later version.                                   *"},{"line_number":10,"context_line":" *                                                                         *"},{"line_number":11,"context_line":" *   This program is distributed in the hope that it will be useful,       *"},{"line_number":12,"context_line":" *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *"},{"line_number":13,"context_line":" *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *"},{"line_number":14,"context_line":" *   GNU General Public License for more details.                          *"},{"line_number":15,"context_line":" *                                                                         *"},{"line_number":16,"context_line":" *   You should have received a copy of the GNU General Public License     *"},{"line_number":17,"context_line":" *   along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e. *"},{"line_number":18,"context_line":" ***************************************************************************/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#include \u003cstdint.h\u003e"},{"line_number":21,"context_line":"#include \u003cstring.h\u003e"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"763bbaab_b879b822","line":18,"range":{"start_line":1,"start_character":0,"end_line":18,"end_character":77},"updated":"2021-08-29 18:57:46.000000000","message":"use SPDX identifier","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f85f0e10afe3844064e95ef0214581ebeebceb9e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"},{"line_number":7,"context_line":" *   it under the terms of the GNU General Public License as published by  *"},{"line_number":8,"context_line":" *   the Free Software Foundation; either version 2 of the License, or     *"},{"line_number":9,"context_line":" *   (at your option) any later version.                                   *"},{"line_number":10,"context_line":" *                                                                         *"},{"line_number":11,"context_line":" *   This program is distributed in the hope that it will be useful,       *"},{"line_number":12,"context_line":" *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *"},{"line_number":13,"context_line":" *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *"},{"line_number":14,"context_line":" *   GNU General Public License for more details.                          *"},{"line_number":15,"context_line":" *                                                                         *"},{"line_number":16,"context_line":" *   You should have received a copy of the GNU General Public License     *"},{"line_number":17,"context_line":" *   along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e. *"},{"line_number":18,"context_line":" ***************************************************************************/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#include \u003cstdint.h\u003e"},{"line_number":21,"context_line":"#include \u003cstring.h\u003e"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"1ebe35b3_139f097a","line":18,"range":{"start_line":1,"start_character":0,"end_line":18,"end_character":77},"in_reply_to":"763bbaab_b879b822","updated":"2021-08-30 08:10:00.000000000","message":"Done","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"}],"contrib/loaders/flash/npcx/npcx_flash.h":[{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"c6b1fb35944b8b2502a6ef250d9f9bb59e68dfc6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_09261dca","line":3,"range":{"start_line":3,"start_character":5,"end_line":3,"end_character":37},"updated":"2021-05-20 14:13:34.000000000","message":"*","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"9e516ef58e87e74fa2a6ec0cccf92d783a600bd4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_642270a4","line":3,"range":{"start_line":3,"start_character":5,"end_line":3,"end_character":37},"in_reply_to":"aedf27f1_09261dca","updated":"2021-05-21 03:49:27.000000000","message":"Ack.","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"ec5eb53d6a0203e6f53a0e82639b37c54ccd61c6","unresolved":false,"context_lines":[{"line_number":41,"context_line":"#define NPCX_DEVALT(n)\t            HW_BYTE(NPCX_SCFG_BASE_ADDR + 0x010 + (n))"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#define NPCX_DEVCNT_F_SPI_TRIS           6"},{"line_number":44,"context_line":"#define NPCX_DEVCNT_HIF_TYP_SEL_FIELD    FIELD(2, 2)"},{"line_number":45,"context_line":"#define NPCX_DEVCNT_JEN1_HEN             5"},{"line_number":46,"context_line":"#define NPCX_DEVCNT_JEN0_HEN             4"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_64fb5012","line":44,"updated":"2021-05-20 21:04:29.000000000","message":"Where is \u0027FIELD\u0027 defined?","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"4be197390122f7d0fdc282a3de2759314c5bfe64","unresolved":false,"context_lines":[{"line_number":41,"context_line":"#define NPCX_DEVALT(n)\t            HW_BYTE(NPCX_SCFG_BASE_ADDR + 0x010 + (n))"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#define NPCX_DEVCNT_F_SPI_TRIS           6"},{"line_number":44,"context_line":"#define NPCX_DEVCNT_HIF_TYP_SEL_FIELD    FIELD(2, 2)"},{"line_number":45,"context_line":"#define NPCX_DEVCNT_JEN1_HEN             5"},{"line_number":46,"context_line":"#define NPCX_DEVCNT_JEN0_HEN             4"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_a42ff884","line":44,"in_reply_to":"aedf27f1_64fb5012","updated":"2021-05-21 03:53:59.000000000","message":"I added accessing field macro to the header. \nWe can access by the following:\nint val\u003d GET_FIELD(NPCX_DEVCNT, NPCX_DEVCNT_HIF_TYP_SEL_FIELD);\nSET_FIELD(NPCX_DEVCNT, NPCX_DEVCNT_HIF_TYP_SEL_FIELD, val);","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"044335bb57d5963eb797da11c959c0581023163f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"},{"line_number":7,"context_line":" *   it under the terms of the GNU General Public License as published by  *"},{"line_number":8,"context_line":" *   the Free Software Foundation; either version 2 of the License, or     *"},{"line_number":9,"context_line":" *   (at your option) any later version.                                   *"},{"line_number":10,"context_line":" *                                                                         *"},{"line_number":11,"context_line":" *   This program is distributed in the hope that it will be useful,       *"},{"line_number":12,"context_line":" *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *"},{"line_number":13,"context_line":" *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *"},{"line_number":14,"context_line":" *   GNU General Public License for more details.                          *"},{"line_number":15,"context_line":" *                                                                         *"},{"line_number":16,"context_line":" *   You should have received a copy of the GNU General Public License     *"},{"line_number":17,"context_line":" *   along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e. *"},{"line_number":18,"context_line":" ***************************************************************************/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#ifndef OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_H"},{"line_number":21,"context_line":"#define OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_H"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"64838b30_5694b49f","line":18,"range":{"start_line":1,"start_character":0,"end_line":18,"end_character":77},"updated":"2021-08-29 18:57:46.000000000","message":"please change this with\n/* SPDX-License-Identifier: GPL-2.0-or-later */\n\n/*\n * Copyright (C) 2020 by Nuvoton Technology Corporation\n * Mulin Chao \u003cmlchao@nuvoton.com\u003e\n * Wealian Liao \u003cWHLIAO@nuvoton.com\u003e\n */","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f85f0e10afe3844064e95ef0214581ebeebceb9e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"},{"line_number":7,"context_line":" *   it under the terms of the GNU General Public License as published by  *"},{"line_number":8,"context_line":" *   the Free Software Foundation; either version 2 of the License, or     *"},{"line_number":9,"context_line":" *   (at your option) any later version.                                   *"},{"line_number":10,"context_line":" *                                                                         *"},{"line_number":11,"context_line":" *   This program is distributed in the hope that it will be useful,       *"},{"line_number":12,"context_line":" *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *"},{"line_number":13,"context_line":" *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *"},{"line_number":14,"context_line":" *   GNU General Public License for more details.                          *"},{"line_number":15,"context_line":" *                                                                         *"},{"line_number":16,"context_line":" *   You should have received a copy of the GNU General Public License     *"},{"line_number":17,"context_line":" *   along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e. *"},{"line_number":18,"context_line":" ***************************************************************************/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#ifndef OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_H"},{"line_number":21,"context_line":"#define OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_H"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"d722d3f6_a9e2d889","line":18,"range":{"start_line":1,"start_character":0,"end_line":18,"end_character":77},"in_reply_to":"64838b30_5694b49f","updated":"2021-08-30 08:10:00.000000000","message":"Done","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"/* flash trigger signal */"},{"line_number":166,"context_line":"typedef enum {"},{"line_number":167,"context_line":"\tLOADER_WAIT    \u003d 0x0,       /* Idle */"},{"line_number":168,"context_line":"\tLOADER_EXECUTE \u003d 0xFFFFFFFF /* Execute Command */"},{"line_number":169,"context_line":"} npcx_flash_handshake_t;"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"eb8dac40_fc1d4811","line":167,"updated":"2021-08-31 18:34:27.000000000","message":"please add driver specific prefixes, so it is possible to see by reading code that this are local enums. This applies to all other enums","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"/* flash trigger signal */"},{"line_number":166,"context_line":"typedef enum {"},{"line_number":167,"context_line":"\tLOADER_WAIT    \u003d 0x0,       /* Idle */"},{"line_number":168,"context_line":"\tLOADER_EXECUTE \u003d 0xFFFFFFFF /* Execute Command */"},{"line_number":169,"context_line":"} npcx_flash_handshake_t;"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"89ab27c0_a2b407c5","line":167,"in_reply_to":"eb8dac40_fc1d4811","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":175,"context_line":"\tCMD_ERASE_SECTORS, /* Erase unprotected sectors */"},{"line_number":176,"context_line":"\tCMD_ERASE_ALL,     /* Erase all */"},{"line_number":177,"context_line":"\tCMD_PROGRAM,       /* Program data */"},{"line_number":178,"context_line":"} flash_commands_t;"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"/* status */"},{"line_number":181,"context_line":"typedef enum {"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"7e195690_f8607a6c","line":178,"updated":"2021-08-31 18:34:27.000000000","message":"Here are same: No typefs. Driver specific prefixes for all enums, defines and structs.","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":175,"context_line":"\tCMD_ERASE_SECTORS, /* Erase unprotected sectors */"},{"line_number":176,"context_line":"\tCMD_ERASE_ALL,     /* Erase all */"},{"line_number":177,"context_line":"\tCMD_PROGRAM,       /* Program data */"},{"line_number":178,"context_line":"} flash_commands_t;"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"/* status */"},{"line_number":181,"context_line":"typedef enum {"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"a96a52d9_f143f3e0","line":178,"in_reply_to":"7e195690_f8607a6c","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"}],"contrib/loaders/flash/npcx/npcx_flash.lds":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/* Application memory map */"},{"line_number":2,"context_line":"MEMORY {"},{"line_number":3,"context_line":"    CODE_RAM (RWX)  : ORIGIN \u003d 0x200C0000, LENGTH \u003d 0x1000"},{"line_number":4,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"aedf27f1_6991e9fa","line":1,"updated":"2021-05-19 21:19:43.000000000","message":"Please add as first line\n/* SPDX-License-Identifier: GPL-2.0-or-later */","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/* Application memory map */"},{"line_number":2,"context_line":"MEMORY {"},{"line_number":3,"context_line":"    CODE_RAM (RWX)  : ORIGIN \u003d 0x200C0000, LENGTH \u003d 0x1000"},{"line_number":4,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"aedf27f1_e9ab9919","line":1,"in_reply_to":"aedf27f1_6991e9fa","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"/* Application memory map */"},{"line_number":4,"context_line":"MEMORY {"},{"line_number":5,"context_line":"    CODE_RAM (RWX)  : ORIGIN \u003d 0x200C0000, LENGTH \u003d 0x1000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\t/* g_cfg + g_buf \u003d\u003e 16 + 4096 */"},{"line_number":8,"context_line":"    DATA_RAM (RWX)  : ORIGIN \u003d 0x200C1000, LENGTH \u003d 0x1010"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"cf58aa8a_a60459ba","line":5,"updated":"2021-08-31 18:34:27.000000000","message":"I assume this value corresponding to the NPCX_FLASH_LOADER_PROGRAM_ADDR. Please use defines where possible.","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"/* Application memory map */"},{"line_number":4,"context_line":"MEMORY {"},{"line_number":5,"context_line":"    CODE_RAM (RWX)  : ORIGIN \u003d 0x200C0000, LENGTH \u003d 0x1000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\t/* g_cfg + g_buf \u003d\u003e 16 + 4096 */"},{"line_number":8,"context_line":"    DATA_RAM (RWX)  : ORIGIN \u003d 0x200C1000, LENGTH \u003d 0x1010"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"fad786a0_7e517244","line":5,"in_reply_to":"cf58aa8a_a60459ba","updated":"2021-09-01 09:41:51.000000000","message":"Done. I used preprocessor to generate the target lds.","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"}],"src/flash/nor/npcx.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":31,"context_line":"#include \"../../../contrib/loaders/flash/npcx/npcx_algo.inc\""},{"line_number":32,"context_line":"};"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"#define FLASH_TIMEOUT 8000"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"/* NPCX chip information */"},{"line_number":37,"context_line":"#define NPCX_MONITOR_FLASH_ERASE_SIZE 0x1000"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_e9d639c8","line":34,"updated":"2021-05-19 21:19:43.000000000","message":"this is in millisecond. Please rename it as FLASH_TIMEOUT_MS so it\u0027s clear what the value is.","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":31,"context_line":"#include \"../../../contrib/loaders/flash/npcx/npcx_algo.inc\""},{"line_number":32,"context_line":"};"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"#define FLASH_TIMEOUT 8000"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"/* NPCX chip information */"},{"line_number":37,"context_line":"#define NPCX_MONITOR_FLASH_ERASE_SIZE 0x1000"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_09a93d21","line":34,"in_reply_to":"aedf27f1_e9d639c8","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":69,"context_line":"\tFLASH_256KB \u003d 0,"},{"line_number":70,"context_line":"\tFLASH_512KB \u003d 1,"},{"line_number":71,"context_line":"\tFLASH_1MB \u003d 2,"},{"line_number":72,"context_line":"\tUNKNOWN,"},{"line_number":73,"context_line":"} npcx_device_index_t;"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"struct npcx_bank {"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_c9f49553","line":72,"updated":"2021-05-19 21:19:43.000000000","message":"Use FLASH_UNKNOWN, reading the code gets hard to remember what this UNKNOWN is.","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":69,"context_line":"\tFLASH_256KB \u003d 0,"},{"line_number":70,"context_line":"\tFLASH_512KB \u003d 1,"},{"line_number":71,"context_line":"\tFLASH_1MB \u003d 2,"},{"line_number":72,"context_line":"\tUNKNOWN,"},{"line_number":73,"context_line":"} npcx_device_index_t;"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"struct npcx_bank {"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_a9a59145","line":72,"in_reply_to":"aedf27f1_c9f49553","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":121,"context_line":"\t},"},{"line_number":122,"context_line":"};"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"static int npcx_auto_probe(struct flash_bank *bank);"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"static int npcx_wait_algo_done(struct flash_bank *bank, uint32_t params_addr)"},{"line_number":127,"context_line":"{"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_89968df2","line":124,"updated":"2021-05-19 21:19:43.000000000","message":"reorder the function, moving npcx_auto_probe() earlier, so you can avoid this prototype","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":121,"context_line":"\t},"},{"line_number":122,"context_line":"};"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"static int npcx_auto_probe(struct flash_bank *bank);"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"static int npcx_wait_algo_done(struct flash_bank *bank, uint32_t params_addr)"},{"line_number":127,"context_line":"{"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_c9a2553b","line":124,"in_reply_to":"aedf27f1_89968df2","updated":"2021-05-20 08:15:22.000000000","message":"Done. I also reorder the other functions for it.","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"\tint retval \u003d ERROR_OK;"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\tstart_ms \u003d timeval_ms();"},{"line_number":139,"context_line":"\tdo {"},{"line_number":140,"context_line":"\t\tretval \u003d target_read_u32(target, status_addr, \u0026status);"},{"line_number":141,"context_line":"\t\tif (ERROR_OK !\u003d retval)"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_c9dd75e3","line":138,"updated":"2021-05-19 21:19:43.000000000","message":"should be defined here:\nint64_t starts_ms \u003d timeval_ms();","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"\tint retval \u003d ERROR_OK;"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\tstart_ms \u003d timeval_ms();"},{"line_number":139,"context_line":"\tdo {"},{"line_number":140,"context_line":"\t\tretval \u003d target_read_u32(target, status_addr, \u0026status);"},{"line_number":141,"context_line":"\t\tif (ERROR_OK !\u003d retval)"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_6967a923","line":138,"in_reply_to":"aedf27f1_c9dd75e3","updated":"2021-05-20 08:15:22.000000000","message":"Done. I checked other variables which declares when it uses.","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\t\tif (ERROR_OK !\u003d retval)"},{"line_number":142,"context_line":"\t\t\treturn retval;"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"\t\telapsed_ms \u003d timeval_ms() - start_ms;"},{"line_number":145,"context_line":"\t\tif (elapsed_ms \u003e 500)"},{"line_number":146,"context_line":"\t\t\tkeep_alive();"},{"line_number":147,"context_line":"\t\tif (elapsed_ms \u003e FLASH_TIMEOUT)"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_69ea4975","line":144,"updated":"2021-05-19 21:19:43.000000000","message":"should be defined here\nint64_t elapsed_ms \u003d ..;","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\t\tif (ERROR_OK !\u003d retval)"},{"line_number":142,"context_line":"\t\t\treturn retval;"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"\t\telapsed_ms \u003d timeval_ms() - start_ms;"},{"line_number":145,"context_line":"\t\tif (elapsed_ms \u003e 500)"},{"line_number":146,"context_line":"\t\t\tkeep_alive();"},{"line_number":147,"context_line":"\t\tif (elapsed_ms \u003e FLASH_TIMEOUT)"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_896c4d07","line":144,"in_reply_to":"aedf27f1_69ea4975","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":146,"context_line":"\t\t\tkeep_alive();"},{"line_number":147,"context_line":"\t\tif (elapsed_ms \u003e FLASH_TIMEOUT)"},{"line_number":148,"context_line":"\t\t\tbreak;"},{"line_number":149,"context_line":"\t} while (LOADER_EXECUTE \u003d\u003d status);"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"\tif (LOADER_WAIT !\u003d status) {"},{"line_number":152,"context_line":"\t\tLOG_ERROR(\"%s: Flash operation failed, 0x%x\","}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_a9e03194","line":149,"updated":"2021-05-19 21:19:43.000000000","message":"recent change in coding style. Cannot write (VALUE \u003d\u003d variable), has to be (variable \u003d\u003d VALUE)\nI see many other cases below","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":146,"context_line":"\t\t\tkeep_alive();"},{"line_number":147,"context_line":"\t\tif (elapsed_ms \u003e FLASH_TIMEOUT)"},{"line_number":148,"context_line":"\t\t\tbreak;"},{"line_number":149,"context_line":"\t} while (LOADER_EXECUTE \u003d\u003d status);"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"\tif (LOADER_WAIT !\u003d status) {"},{"line_number":152,"context_line":"\t\tLOG_ERROR(\"%s: Flash operation failed, 0x%x\","}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_2971a1dd","line":149,"in_reply_to":"aedf27f1_a9e03194","updated":"2021-05-20 08:15:22.000000000","message":"Done. I also modified other cases.","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":149,"context_line":"\t} while (LOADER_EXECUTE \u003d\u003d status);"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"\tif (LOADER_WAIT !\u003d status) {"},{"line_number":152,"context_line":"\t\tLOG_ERROR(\"%s: Flash operation failed, 0x%x\","},{"line_number":153,"context_line":"\t\t\t\tnpcx_bank-\u003efamily_name,"},{"line_number":154,"context_line":"\t\t\t\tstatus);"},{"line_number":155,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_89ef6d82","line":152,"updated":"2021-05-19 21:19:43.000000000","message":"\"status\" is a uint32_t. The format string is\n\"... 0x%\" PRIx32,","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":149,"context_line":"\t} while (LOADER_EXECUTE \u003d\u003d status);"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"\tif (LOADER_WAIT !\u003d status) {"},{"line_number":152,"context_line":"\t\tLOG_ERROR(\"%s: Flash operation failed, 0x%x\","},{"line_number":153,"context_line":"\t\t\t\tnpcx_bank-\u003efamily_name,"},{"line_number":154,"context_line":"\t\t\t\tstatus);"},{"line_number":155,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_497665d7","line":152,"in_reply_to":"aedf27f1_89ef6d82","updated":"2021-05-20 08:15:22.000000000","message":"Done. The other print uint32_t also fixed.","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":166,"context_line":"\tint retval;"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"\t/* Check for working area to use for flash helper algorithm */"},{"line_number":169,"context_line":"\tif (NULL !\u003d npcx_bank-\u003eworking_area)"},{"line_number":170,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":171,"context_line":"\tretval \u003d target_alloc_working_area(target, npcx_bank-\u003ealgo_working_size,"},{"line_number":172,"context_line":"\t\t\t\t\u0026npcx_bank-\u003eworking_area);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_49e9857a","line":169,"updated":"2021-05-19 21:19:43.000000000","message":"comparison with NULL pointer should be written as\nif (npcx_bank-\u003eworking_area)","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":166,"context_line":"\tint retval;"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"\t/* Check for working area to use for flash helper algorithm */"},{"line_number":169,"context_line":"\tif (NULL !\u003d npcx_bank-\u003eworking_area)"},{"line_number":170,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":171,"context_line":"\tretval \u003d target_alloc_working_area(target, npcx_bank-\u003ealgo_working_size,"},{"line_number":172,"context_line":"\t\t\t\t\u0026npcx_bank-\u003eworking_area);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_e97ab9b8","line":169,"in_reply_to":"aedf27f1_49e9857a","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":168,"context_line":"\t/* Check for working area to use for flash helper algorithm */"},{"line_number":169,"context_line":"\tif (NULL !\u003d npcx_bank-\u003eworking_area)"},{"line_number":170,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":171,"context_line":"\tretval \u003d target_alloc_working_area(target, npcx_bank-\u003ealgo_working_size,"},{"line_number":172,"context_line":"\t\t\t\t\u0026npcx_bank-\u003eworking_area);"},{"line_number":173,"context_line":"\tif (ERROR_OK !\u003d retval)"},{"line_number":174,"context_line":"\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_29e441a3","line":171,"updated":"2021-05-19 21:19:43.000000000","message":"int retval \u003d ...","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":168,"context_line":"\t/* Check for working area to use for flash helper algorithm */"},{"line_number":169,"context_line":"\tif (NULL !\u003d npcx_bank-\u003eworking_area)"},{"line_number":170,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":171,"context_line":"\tretval \u003d target_alloc_working_area(target, npcx_bank-\u003ealgo_working_size,"},{"line_number":172,"context_line":"\t\t\t\t\u0026npcx_bank-\u003eworking_area);"},{"line_number":173,"context_line":"\tif (ERROR_OK !\u003d retval)"},{"line_number":174,"context_line":"\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_09785dbe","line":171,"in_reply_to":"aedf27f1_29e441a3","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":239,"context_line":""},{"line_number":240,"context_line":"\tnpcx_bank \u003d malloc(sizeof(struct npcx_bank));"},{"line_number":241,"context_line":"\tif (NULL \u003d\u003d npcx_bank)"},{"line_number":242,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"\t/* Initialize private flash information */"},{"line_number":245,"context_line":"\tmemset((void *)npcx_bank, 0x00, sizeof(struct npcx_bank));"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_e9fdd939","line":242,"updated":"2021-05-19 21:19:43.000000000","message":"add LOG_ERROR(\"Out of memory\");","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":239,"context_line":""},{"line_number":240,"context_line":"\tnpcx_bank \u003d malloc(sizeof(struct npcx_bank));"},{"line_number":241,"context_line":"\tif (NULL \u003d\u003d npcx_bank)"},{"line_number":242,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"\t/* Initialize private flash information */"},{"line_number":245,"context_line":"\tmemset((void *)npcx_bank, 0x00, sizeof(struct npcx_bank));"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_a984b1a4","line":242,"in_reply_to":"aedf27f1_e9fdd939","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":242,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"\t/* Initialize private flash information */"},{"line_number":245,"context_line":"\tmemset((void *)npcx_bank, 0x00, sizeof(struct npcx_bank));"},{"line_number":246,"context_line":"\tnpcx_bank-\u003efamily_name \u003d \"npcx\";"},{"line_number":247,"context_line":"\tnpcx_bank-\u003esector_length \u003d NPCX_MONITOR_FLASH_ERASE_SIZE;"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_09fb7d45","line":245,"updated":"2021-05-19 21:19:43.000000000","message":"I think you don\u0027t need to cast the pointer to (void *)","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":242,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"\t/* Initialize private flash information */"},{"line_number":245,"context_line":"\tmemset((void *)npcx_bank, 0x00, sizeof(struct npcx_bank));"},{"line_number":246,"context_line":"\tnpcx_bank-\u003efamily_name \u003d \"npcx\";"},{"line_number":247,"context_line":"\tnpcx_bank-\u003esector_length \u003d NPCX_MONITOR_FLASH_ERASE_SIZE;"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_c981f593","line":245,"in_reply_to":"aedf27f1_09fb7d45","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":256,"context_line":"static int npcx_get_flash_id(struct flash_bank *bank, uint32_t *flash_id)"},{"line_number":257,"context_line":"{"},{"line_number":258,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":259,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":260,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"\tint retval \u003d 0;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_299be11c","line":259,"updated":"2021-05-19 21:19:43.000000000","message":"No need for cast; -\u003edriver_priv is a void*, can be assigned without cast","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":256,"context_line":"static int npcx_get_flash_id(struct flash_bank *bank, uint32_t *flash_id)"},{"line_number":257,"context_line":"{"},{"line_number":258,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":259,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":260,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"\tint retval \u003d 0;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_694ec99d","line":259,"in_reply_to":"aedf27f1_299be11c","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":300,"context_line":"static int npcx_chip_erase(struct flash_bank *bank)"},{"line_number":301,"context_line":"{"},{"line_number":302,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":303,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":304,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"\tint retval \u003d 0;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_49a0a53e","line":303,"updated":"2021-05-19 21:19:43.000000000","message":"no need for cast","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":300,"context_line":"static int npcx_chip_erase(struct flash_bank *bank)"},{"line_number":301,"context_line":"{"},{"line_number":302,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":303,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":304,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"\tint retval \u003d 0;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_8953ed42","line":303,"in_reply_to":"aedf27f1_49a0a53e","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":348,"context_line":"\t\tunsigned int last)"},{"line_number":349,"context_line":"{"},{"line_number":350,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":351,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":352,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"\tuint32_t address;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_09829da9","line":351,"updated":"2021-05-19 21:19:43.000000000","message":"no need for cast","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":348,"context_line":"\t\tunsigned int last)"},{"line_number":349,"context_line":"{"},{"line_number":350,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":351,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":352,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"\tuint32_t address;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_2948c18b","line":351,"in_reply_to":"aedf27f1_09829da9","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":368,"context_line":"\t}"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"\taddress \u003d first * npcx_bank-\u003esector_length;"},{"line_number":371,"context_line":"\tlength \u003d (last - first + 1) * npcx_bank-\u003esector_length;"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"\t/* Make sure we\u0027ve probed the flash to get the device and size */"},{"line_number":374,"context_line":"\tretval \u003d npcx_auto_probe(bank);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_a9f7d155","line":371,"updated":"2021-05-19 21:19:43.000000000","message":"uint32_t address \u003d ...;\nuint32_t length \u003d ...;","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":368,"context_line":"\t}"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"\taddress \u003d first * npcx_bank-\u003esector_length;"},{"line_number":371,"context_line":"\tlength \u003d (last - first + 1) * npcx_bank-\u003esector_length;"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"\t/* Make sure we\u0027ve probed the flash to get the device and size */"},{"line_number":374,"context_line":"\tretval \u003d npcx_auto_probe(bank);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_494d059b","line":371,"in_reply_to":"aedf27f1_a9f7d155","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"a7f06c6b52e6930175ab085d2e1ed3f74015bf45","unresolved":false,"context_lines":[{"line_number":494,"context_line":""},{"line_number":495,"context_line":"static int npcx_probe(struct flash_bank *bank)"},{"line_number":496,"context_line":"{"},{"line_number":497,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"\tuint32_t sector_length \u003d NPCX_MONITOR_FLASH_ERASE_SIZE;"},{"line_number":500,"context_line":"\tuint32_t flash_id;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_e984f9b7","line":497,"updated":"2021-05-19 21:19:43.000000000","message":"no need for cast","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"285cb63b73fadbf4250e470690abe3acb24f0435","unresolved":false,"context_lines":[{"line_number":494,"context_line":""},{"line_number":495,"context_line":"static int npcx_probe(struct flash_bank *bank)"},{"line_number":496,"context_line":"{"},{"line_number":497,"context_line":"\tstruct npcx_bank *npcx_bank \u003d (struct npcx_bank *)(bank-\u003edriver_priv);"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"\tuint32_t sector_length \u003d NPCX_MONITOR_FLASH_ERASE_SIZE;"},{"line_number":500,"context_line":"\tuint32_t flash_id;"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"aedf27f1_e9615902","line":497,"in_reply_to":"aedf27f1_e984f9b7","updated":"2021-05-20 08:15:22.000000000","message":"Done","commit_id":"5e6028965619d09e662610d7be03aa7b30dc64f6"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"ec5eb53d6a0203e6f53a0e82639b37c54ccd61c6","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * num_sectors);"},{"line_number":297,"context_line":"\tif (!bank-\u003esectors)"},{"line_number":298,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"\tbank-\u003ebase \u003d NPCX_FLASH_BASE_ADDR;"},{"line_number":301,"context_line":"\tbank-\u003enum_sectors \u003d num_sectors;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_24054814","line":298,"updated":"2021-05-20 21:04:29.000000000","message":"add\nLOG_ERROR(\"Out of memory\");\nif malloc fails","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"9e516ef58e87e74fa2a6ec0cccf92d783a600bd4","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * num_sectors);"},{"line_number":297,"context_line":"\tif (!bank-\u003esectors)"},{"line_number":298,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"\tbank-\u003ebase \u003d NPCX_FLASH_BASE_ADDR;"},{"line_number":301,"context_line":"\tbank-\u003enum_sectors \u003d num_sectors;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"aedf27f1_241c686a","line":298,"in_reply_to":"aedf27f1_24054814","updated":"2021-05-21 03:49:27.000000000","message":"Done","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"374ce06381c15d9f37d70ccfaf4bfde91002f718","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tnpcx_bank-\u003eflash \u003d npcx_get_flash(flash_id);"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"\tint num_sectors \u003d flash_info[npcx_bank-\u003eflash].size / sector_length;"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * num_sectors);"},{"line_number":297,"context_line":"\tif (!bank-\u003esectors) {"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"aedf27f1_848bd471","line":294,"updated":"2021-05-21 13:37:49.000000000","message":"unsigned int","commit_id":"c8f4fe5a873e9d3438e6d9d86f719b7e317c2d5d"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"0f1b65a0b43e2b909af7e88b6fcec7cfe9eee364","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tnpcx_bank-\u003eflash \u003d npcx_get_flash(flash_id);"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"\tint num_sectors \u003d flash_info[npcx_bank-\u003eflash].size / sector_length;"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * num_sectors);"},{"line_number":297,"context_line":"\tif (!bank-\u003esectors) {"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"aedf27f1_449acc67","line":294,"in_reply_to":"aedf27f1_848bd471","updated":"2021-05-24 03:47:26.000000000","message":"Done","commit_id":"c8f4fe5a873e9d3438e6d9d86f719b7e317c2d5d"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"374ce06381c15d9f37d70ccfaf4bfde91002f718","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tbank-\u003ewrite_end_alignment \u003d 0;"},{"line_number":307,"context_line":"\tnpcx_bank-\u003esector_length \u003d sector_length;"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"\tfor (int i \u003d 0; i \u003c num_sectors; i++) {"},{"line_number":310,"context_line":"\t\tbank-\u003esectors[i].offset \u003d i * sector_length;"},{"line_number":311,"context_line":"\t\tbank-\u003esectors[i].size \u003d sector_length;"},{"line_number":312,"context_line":"\t\tbank-\u003esectors[i].is_erased \u003d -1;"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"aedf27f1_2480e84a","line":309,"updated":"2021-05-21 13:37:49.000000000","message":"same","commit_id":"c8f4fe5a873e9d3438e6d9d86f719b7e317c2d5d"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"0f1b65a0b43e2b909af7e88b6fcec7cfe9eee364","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tbank-\u003ewrite_end_alignment \u003d 0;"},{"line_number":307,"context_line":"\tnpcx_bank-\u003esector_length \u003d sector_length;"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"\tfor (int i \u003d 0; i \u003c num_sectors; i++) {"},{"line_number":310,"context_line":"\t\tbank-\u003esectors[i].offset \u003d i * sector_length;"},{"line_number":311,"context_line":"\t\tbank-\u003esectors[i].size \u003d sector_length;"},{"line_number":312,"context_line":"\t\tbank-\u003esectors[i].is_erased \u003d -1;"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"aedf27f1_e49e6059","line":309,"in_reply_to":"aedf27f1_2480e84a","updated":"2021-05-24 03:47:26.000000000","message":"Done","commit_id":"c8f4fe5a873e9d3438e6d9d86f719b7e317c2d5d"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"6d484a18bb8c78517dc851d48a1fea55788d86f7","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"\t/* Check for working area to use for flash helper algorithm */"},{"line_number":130,"context_line":"\tif (npcx_bank-\u003eworking_area)"},{"line_number":131,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"\tint retval \u003d target_alloc_working_area(target, npcx_bank-\u003ealgo_working_size,"},{"line_number":134,"context_line":"\t\t\t\t\u0026npcx_bank-\u003eworking_area);"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_64b270e6","line":131,"updated":"2021-05-24 07:56:34.000000000","message":"After the free operation, don\u0027t forget: npcx_bank-\u003eworking_area \u003d NULL;","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f6f754f937b85cb481a2a7dfdf01de9aca15b09c","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"\t/* Check for working area to use for flash helper algorithm */"},{"line_number":130,"context_line":"\tif (npcx_bank-\u003eworking_area)"},{"line_number":131,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"\tint retval \u003d target_alloc_working_area(target, npcx_bank-\u003ealgo_working_size,"},{"line_number":134,"context_line":"\t\t\t\t\u0026npcx_bank-\u003eworking_area);"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_44e88caf","line":131,"in_reply_to":"aedf27f1_64b270e6","updated":"2021-05-24 11:02:07.000000000","message":"Done. Thanks for mentioning it. I also added it to the other free operation.","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"6d484a18bb8c78517dc851d48a1fea55788d86f7","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\t/* Confirm the defined working address is the area we need to use */"},{"line_number":139,"context_line":"\tif (npcx_bank-\u003eworking_area-\u003eaddress !\u003d NPCX_FLASH_LOADER_PROGRAM_ADDR)"},{"line_number":140,"context_line":"\t\treturn ERROR_TARGET_RESOURCE_NOT_AVAILABLE;"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"\t/* Write flash helper algorithm into target memory */"},{"line_number":143,"context_line":"\tretval \u003d target_write_buffer(target, NPCX_FLASH_LOADER_PROGRAM_ADDR,"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_84b754d3","line":140,"updated":"2021-05-24 07:56:34.000000000","message":"How likely/under what circumstances may this check fail?\n\nFor your consideration:\n- Should the work area be freed if the check fails?\n- Should an error message be printed?","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f6f754f937b85cb481a2a7dfdf01de9aca15b09c","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\t/* Confirm the defined working address is the area we need to use */"},{"line_number":139,"context_line":"\tif (npcx_bank-\u003eworking_area-\u003eaddress !\u003d NPCX_FLASH_LOADER_PROGRAM_ADDR)"},{"line_number":140,"context_line":"\t\treturn ERROR_TARGET_RESOURCE_NOT_AVAILABLE;"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"\t/* Write flash helper algorithm into target memory */"},{"line_number":143,"context_line":"\tretval \u003d target_write_buffer(target, NPCX_FLASH_LOADER_PROGRAM_ADDR,"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_e4cc2069","line":140,"in_reply_to":"aedf27f1_84b754d3","updated":"2021-05-24 11:02:07.000000000","message":"When choose the other value for -work-area-phys, it will fail. I added free operation \u0026 an error message here.","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"6d484a18bb8c78517dc851d48a1fea55788d86f7","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"\t\tint64_t elapsed_ms \u003d timeval_ms() - start_ms;"},{"line_number":207,"context_line":"\t\tif (elapsed_ms \u003e 500)"},{"line_number":208,"context_line":"\t\t\tkeep_alive();"},{"line_number":209,"context_line":"\t\tif (elapsed_ms \u003e FLASH_TIMEOUT_MS)"},{"line_number":210,"context_line":"\t\t\tbreak;"},{"line_number":211,"context_line":"\t} while (status \u003d\u003d LOADER_EXECUTE);"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_24ac6884","line":208,"updated":"2021-05-24 07:56:34.000000000","message":"keep_alive() tracks the elapsed time internally, so it can perhaps be called directly.","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f6f754f937b85cb481a2a7dfdf01de9aca15b09c","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"\t\tint64_t elapsed_ms \u003d timeval_ms() - start_ms;"},{"line_number":207,"context_line":"\t\tif (elapsed_ms \u003e 500)"},{"line_number":208,"context_line":"\t\t\tkeep_alive();"},{"line_number":209,"context_line":"\t\tif (elapsed_ms \u003e FLASH_TIMEOUT_MS)"},{"line_number":210,"context_line":"\t\t\tbreak;"},{"line_number":211,"context_line":"\t} while (status \u003d\u003d LOADER_EXECUTE);"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_04ca844a","line":208,"in_reply_to":"aedf27f1_24ac6884","updated":"2021-05-24 11:02:07.000000000","message":"Done","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"6d484a18bb8c78517dc851d48a1fea55788d86f7","unresolved":false,"context_lines":[{"line_number":211,"context_line":"\t} while (status \u003d\u003d LOADER_EXECUTE);"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"\tif (status !\u003d LOADER_WAIT) {"},{"line_number":214,"context_line":"\t\tLOG_ERROR(\"%s: Flash operation failed, 0x%\" PRIx32,"},{"line_number":215,"context_line":"\t\t\t\tnpcx_bank-\u003efamily_name,"},{"line_number":216,"context_line":"\t\t\t\tstatus);"},{"line_number":217,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_44b16cdb","line":214,"updated":"2021-05-24 07:56:34.000000000","message":"Consider using \"%s: Flash operation failed, status\u003d0x%\", so that it is at least a bit clearer what that number in the message means.","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f6f754f937b85cb481a2a7dfdf01de9aca15b09c","unresolved":false,"context_lines":[{"line_number":211,"context_line":"\t} while (status \u003d\u003d LOADER_EXECUTE);"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"\tif (status !\u003d LOADER_WAIT) {"},{"line_number":214,"context_line":"\t\tLOG_ERROR(\"%s: Flash operation failed, 0x%\" PRIx32,"},{"line_number":215,"context_line":"\t\t\t\tnpcx_bank-\u003efamily_name,"},{"line_number":216,"context_line":"\t\t\t\tstatus);"},{"line_number":217,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"aedf27f1_a4d618f5","line":214,"in_reply_to":"aedf27f1_44b16cdb","updated":"2021-05-24 11:02:07.000000000","message":"Done","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"206bd2b4fa1d5f84fb36a8038f3adfc21b87a086","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"\t/* Confirm the defined working address is the area we need to use */"},{"line_number":141,"context_line":"\tif (npcx_bank-\u003eworking_area-\u003eaddress !\u003d NPCX_FLASH_LOADER_PROGRAM_ADDR) {"},{"line_number":142,"context_line":"\t\tLOG_ERROR(\"%s: Invalid working address\", npcx_bank-\u003efamily_name);"},{"line_number":143,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":144,"context_line":"\t\tnpcx_bank-\u003eworking_area \u003d NULL;"},{"line_number":145,"context_line":"\t\treturn ERROR_TARGET_RESOURCE_NOT_AVAILABLE;"}],"source_content_type":"text/x-csrc","patch_set":9,"id":"aedf27f1_443e4c28","line":142,"updated":"2021-05-24 14:28:04.000000000","message":"Why is the user required to specify an exact working area address? Is that because the program is compiled to use fixed addresses? It is not position-independent code (PIC)?\n\nI do not object against that, but please at least provide a message to the user how to fix that, for example:\n\nLOG_INFO(\"Hint: Use \u0027-work-area-phys 0x%08x\u0027 in your target configuration\", NPCX_FLASH_LOADER_PROGRAM_ADDR);","commit_id":"4e27ce3c8e1b2bdffb58b368bd9108a80d020268"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"bf8e6675c1be0fff910fd11349e3c93512ac52eb","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"\t/* Confirm the defined working address is the area we need to use */"},{"line_number":141,"context_line":"\tif (npcx_bank-\u003eworking_area-\u003eaddress !\u003d NPCX_FLASH_LOADER_PROGRAM_ADDR) {"},{"line_number":142,"context_line":"\t\tLOG_ERROR(\"%s: Invalid working address\", npcx_bank-\u003efamily_name);"},{"line_number":143,"context_line":"\t\ttarget_free_working_area(target, npcx_bank-\u003eworking_area);"},{"line_number":144,"context_line":"\t\tnpcx_bank-\u003eworking_area \u003d NULL;"},{"line_number":145,"context_line":"\t\treturn ERROR_TARGET_RESOURCE_NOT_AVAILABLE;"}],"source_content_type":"text/x-csrc","patch_set":9,"id":"aedf27f1_4463ac3b","line":142,"in_reply_to":"aedf27f1_443e4c28","updated":"2021-05-25 02:45:50.000000000","message":"Done.  Currently, we use fixed address for it.","commit_id":"4e27ce3c8e1b2bdffb58b368bd9108a80d020268"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"d55ef2384c2dc03cbbd54af492d53913dfebe4c2","unresolved":false,"context_lines":[{"line_number":372,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":373,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"\tLOG_INFO(\"chip erase\");"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"\tif (target-\u003estate !\u003d TARGET_HALTED) {"},{"line_number":378,"context_line":"\t\tLOG_ERROR(\"Target not halted\");"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_31e103fc","line":375,"updated":"2021-06-17 18:48:53.000000000","message":"Remove this, it does not provide additional information","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"8ee23f70a978b54cd64a1b6186c917d52a00e3d7","unresolved":false,"context_lines":[{"line_number":372,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":373,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"\tLOG_INFO(\"chip erase\");"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"\tif (target-\u003estate !\u003d TARGET_HALTED) {"},{"line_number":378,"context_line":"\t\tLOG_ERROR(\"Target not halted\");"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_f1705b09","line":375,"in_reply_to":"aedf27f1_31e103fc","updated":"2021-06-21 08:43:17.000000000","message":"Done","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"d55ef2384c2dc03cbbd54af492d53913dfebe4c2","unresolved":false,"context_lines":[{"line_number":418,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":419,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"\tLOG_INFO(\"erase first: %d, last: %d\", first, last);"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"\tif (target-\u003estate !\u003d TARGET_HALTED) {"},{"line_number":424,"context_line":"\t\tLOG_ERROR(\"Target not halted\");"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_51e60715","line":421,"updated":"2021-06-17 18:48:53.000000000","message":"Same, no additional information","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"8ee23f70a978b54cd64a1b6186c917d52a00e3d7","unresolved":false,"context_lines":[{"line_number":418,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":419,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"\tLOG_INFO(\"erase first: %d, last: %d\", first, last);"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"\tif (target-\u003estate !\u003d TARGET_HALTED) {"},{"line_number":424,"context_line":"\t\tLOG_ERROR(\"Target not halted\");"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_116e3f2b","line":421,"in_reply_to":"aedf27f1_51e60715","updated":"2021-06-21 08:43:17.000000000","message":"Done","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"d55ef2384c2dc03cbbd54af492d53913dfebe4c2","unresolved":false,"context_lines":[{"line_number":474,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":475,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"\tLOG_INFO(\"write first: 0x%\" PRIx32 \", count: 0x%\" PRIx32, offset, count);"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"\tif (target-\u003estate !\u003d TARGET_HALTED) {"},{"line_number":480,"context_line":"\t\tLOG_ERROR(\"Target not halted\");"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_f1ea9bd6","line":477,"updated":"2021-06-17 18:48:53.000000000","message":"Same, maybe LOG_DEBUG()","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"8ee23f70a978b54cd64a1b6186c917d52a00e3d7","unresolved":false,"context_lines":[{"line_number":474,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":475,"context_line":"\tstruct npcx_algo_params algo_params;"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"\tLOG_INFO(\"write first: 0x%\" PRIx32 \", count: 0x%\" PRIx32, offset, count);"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"\tif (target-\u003estate !\u003d TARGET_HALTED) {"},{"line_number":480,"context_line":"\t\tLOG_ERROR(\"Target not halted\");"}],"source_content_type":"text/x-csrc","patch_set":10,"id":"aedf27f1_b17ad3e5","line":477,"in_reply_to":"aedf27f1_f1ea9bd6","updated":"2021-06-21 08:43:17.000000000","message":"I removed it like the other one.","commit_id":"3fd4ef24c6f3e4b96e6b10a8d78879d16ed74d51"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"d6c1d01499d6e07f3c5c47fb0dc907ebab7bb1f5","unresolved":false,"context_lines":[{"line_number":533,"context_line":"\treturn retval;"},{"line_number":534,"context_line":"}"},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"static int npcx_info(struct flash_bank *bank, char *buf, int buf_size)"},{"line_number":537,"context_line":"{"},{"line_number":538,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":539,"context_line":"\tint printed \u003d 0;"}],"source_content_type":"text/x-csrc","patch_set":11,"id":"6ec1af18_6d05757c","line":536,"updated":"2021-07-01 06:04:19.000000000","message":"Please, update the \"info\" callback to match the recent changes from: http://openocd.zylin.com/#/c/6182/\n\nThe current code would no longer build.","commit_id":"471b509b9c10e2fc2d14b02527de3b331e127b34"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"dc1def5050254c13bd738d465db329ec1f34b042","unresolved":false,"context_lines":[{"line_number":533,"context_line":"\treturn retval;"},{"line_number":534,"context_line":"}"},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"static int npcx_info(struct flash_bank *bank, char *buf, int buf_size)"},{"line_number":537,"context_line":"{"},{"line_number":538,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":539,"context_line":"\tint printed \u003d 0;"}],"source_content_type":"text/x-csrc","patch_set":11,"id":"6ec1af18_2d3e8d27","line":536,"in_reply_to":"6ec1af18_6d05757c","updated":"2021-07-01 10:28:31.000000000","message":"Done. Thanks for pointing out this.","commit_id":"471b509b9c10e2fc2d14b02527de3b331e127b34"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"044335bb57d5963eb797da11c959c0581023163f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"},{"line_number":7,"context_line":" *   it under the terms of the GNU General Public License as published by  *"},{"line_number":8,"context_line":" *   the Free Software Foundation; either version 2 of the License, or     *"},{"line_number":9,"context_line":" *   (at your option) any later version.                                   *"},{"line_number":10,"context_line":" *                                                                         *"},{"line_number":11,"context_line":" *   This program is distributed in the hope that it will be useful,       *"},{"line_number":12,"context_line":" *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *"},{"line_number":13,"context_line":" *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *"},{"line_number":14,"context_line":" *   GNU General Public License for more details.                          *"},{"line_number":15,"context_line":" *                                                                         *"},{"line_number":16,"context_line":" *   You should have received a copy of the GNU General Public License     *"},{"line_number":17,"context_line":" *   along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e. *"},{"line_number":18,"context_line":" ***************************************************************************/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#ifdef HAVE_CONFIG_H"},{"line_number":21,"context_line":"#include \"config.h\""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"de5c3bb1_4b7fd0d3","line":18,"range":{"start_line":1,"start_character":0,"end_line":18,"end_character":77},"updated":"2021-08-29 18:57:46.000000000","message":"use SPDX identifier","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f85f0e10afe3844064e95ef0214581ebeebceb9e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/***************************************************************************"},{"line_number":2,"context_line":" *   Copyright (C) 2020 by Nuvoton Technology Corporation                  *"},{"line_number":3,"context_line":" *   Mulin Chao \u003cmlchao@nuvoton.com\u003e                                       *"},{"line_number":4,"context_line":" *   Wealian Liao \u003cWHLIAO@nuvoton.com\u003e                                     *"},{"line_number":5,"context_line":" *                                                                         *"},{"line_number":6,"context_line":" *   This program is free software; you can redistribute it and/or modify  *"},{"line_number":7,"context_line":" *   it under the terms of the GNU General Public License as published by  *"},{"line_number":8,"context_line":" *   the Free Software Foundation; either version 2 of the License, or     *"},{"line_number":9,"context_line":" *   (at your option) any later version.                                   *"},{"line_number":10,"context_line":" *                                                                         *"},{"line_number":11,"context_line":" *   This program is distributed in the hope that it will be useful,       *"},{"line_number":12,"context_line":" *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *"},{"line_number":13,"context_line":" *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *"},{"line_number":14,"context_line":" *   GNU General Public License for more details.                          *"},{"line_number":15,"context_line":" *                                                                         *"},{"line_number":16,"context_line":" *   You should have received a copy of the GNU General Public License     *"},{"line_number":17,"context_line":" *   along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e. *"},{"line_number":18,"context_line":" ***************************************************************************/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#ifdef HAVE_CONFIG_H"},{"line_number":21,"context_line":"#include \"config.h\""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"70d12024_ad43b3e1","line":18,"range":{"start_line":1,"start_character":0,"end_line":18,"end_character":77},"in_reply_to":"de5c3bb1_4b7fd0d3","updated":"2021-08-30 08:10:00.000000000","message":"Done","commit_id":"9dd4752be8a3c411827637d88997fe64373a0f15"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"88e0777ff5fa08197e82243537ef399a92f818f9","unresolved":true,"context_lines":[{"line_number":80,"context_line":"\tuint8_t length[4];"},{"line_number":81,"context_line":"\tuint8_t command[4];"},{"line_number":82,"context_line":"\tuint8_t status[4];"},{"line_number":83,"context_line":"};"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"struct npcx_flash_info {"},{"line_number":86,"context_line":"\tchar *name;"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"b41549c6_b6012d92","line":83,"updated":"2021-08-31 06:15:36.000000000","message":"Please include contrib/loaders/flash/npcx/npcx_flash.h and use struct flash_params instead.","commit_id":"1e92b90a92f0fe7083a42ee45fd102f75f211d19"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"b879d45a71e30f2237efe60138c3705a1921a6e1","unresolved":false,"context_lines":[{"line_number":80,"context_line":"\tuint8_t length[4];"},{"line_number":81,"context_line":"\tuint8_t command[4];"},{"line_number":82,"context_line":"\tuint8_t status[4];"},{"line_number":83,"context_line":"};"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"struct npcx_flash_info {"},{"line_number":86,"context_line":"\tchar *name;"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"775d60d4_75a0d942","line":83,"in_reply_to":"a4dec145_4c32d685","updated":"2021-08-31 16:51:05.000000000","message":"nice :)","commit_id":"1e92b90a92f0fe7083a42ee45fd102f75f211d19"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"08c19160fb2a56527017e93c6d28fb804fe90a01","unresolved":false,"context_lines":[{"line_number":80,"context_line":"\tuint8_t length[4];"},{"line_number":81,"context_line":"\tuint8_t command[4];"},{"line_number":82,"context_line":"\tuint8_t status[4];"},{"line_number":83,"context_line":"};"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"struct npcx_flash_info {"},{"line_number":86,"context_line":"\tchar *name;"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"a4dec145_4c32d685","line":83,"in_reply_to":"b41549c6_b6012d92","updated":"2021-08-31 08:44:32.000000000","message":"Done. I also removed the above same enumeration.","commit_id":"1e92b90a92f0fe7083a42ee45fd102f75f211d19"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":21,"context_line":"#include \"../../../contrib/loaders/flash/npcx/npcx_algo.inc\""},{"line_number":22,"context_line":"};"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#define FLASH_TIMEOUT_MS 8000"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"/* NPCX chip information */"},{"line_number":27,"context_line":"#define NPCX_MONITOR_FLASH_ERASE_SIZE 0x1000"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"99111d4d_c5f4778f","line":24,"updated":"2021-08-31 18:34:27.000000000","message":"please, add to all local enums and defines driver specific prefix","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"#include \"../../../contrib/loaders/flash/npcx/npcx_algo.inc\""},{"line_number":22,"context_line":"};"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#define FLASH_TIMEOUT_MS 8000"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"/* NPCX chip information */"},{"line_number":27,"context_line":"#define NPCX_MONITOR_FLASH_ERASE_SIZE 0x1000"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"c8807c5a_7683340c","line":24,"in_reply_to":"99111d4d_c5f4778f","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":31,"context_line":"#define NPCX_FLASH_LOADER_PROGRAM_ADDR 0x200c0000"},{"line_number":32,"context_line":"#define NPCX_FLASH_LOADER_PARAMS_ADDR 0x200c1000"},{"line_number":33,"context_line":"#define NPCX_FLASH_LOADER_BUFFER_ADDR 0x200c1010"},{"line_number":34,"context_line":"#define NPCX_FLASH_LOADER_BUFFER_SIZE NPCX_MONITOR_FLASH_ERASE_SIZE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"/* NPCX flash loader data format */"},{"line_number":37,"context_line":"#define NPCX_PARAMS_ADDRESS_OFFSET 0x0"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"009e40c8_c6ef66c1","line":34,"updated":"2021-08-31 18:34:27.000000000","message":"Hm, the only configurable size is the buffer size. The program size will change depending on the load development status. I assume, it is better to change the order and put buffer address before program address. Other wise, at some moment this code will explode.","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"#define NPCX_FLASH_LOADER_PROGRAM_ADDR 0x200c0000"},{"line_number":32,"context_line":"#define NPCX_FLASH_LOADER_PARAMS_ADDR 0x200c1000"},{"line_number":33,"context_line":"#define NPCX_FLASH_LOADER_BUFFER_ADDR 0x200c1010"},{"line_number":34,"context_line":"#define NPCX_FLASH_LOADER_BUFFER_SIZE NPCX_MONITOR_FLASH_ERASE_SIZE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"/* NPCX flash loader data format */"},{"line_number":37,"context_line":"#define NPCX_PARAMS_ADDRESS_OFFSET 0x0"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"928d8e43_211a1372","line":34,"in_reply_to":"009e40c8_c6ef66c1","updated":"2021-09-01 09:41:51.000000000","message":"Done. Please check lds \u0026 npcx_flash_config.h.","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":37,"context_line":"#define NPCX_PARAMS_ADDRESS_OFFSET 0x0"},{"line_number":38,"context_line":"#define NPCX_PARAMS_LENGTH_OFFSET  0x4"},{"line_number":39,"context_line":"#define NPCX_PARAMS_COMMAND_OFFSET 0x8"},{"line_number":40,"context_line":"#define NPCX_PARAMS_STATUS_OFFSET  0xC"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"/* flash list */"},{"line_number":43,"context_line":"typedef enum {"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"9c326336_2df1bcd6","line":40,"updated":"2021-08-31 18:34:27.000000000","message":"This are not needed any more","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"#define NPCX_PARAMS_ADDRESS_OFFSET 0x0"},{"line_number":38,"context_line":"#define NPCX_PARAMS_LENGTH_OFFSET  0x4"},{"line_number":39,"context_line":"#define NPCX_PARAMS_COMMAND_OFFSET 0x8"},{"line_number":40,"context_line":"#define NPCX_PARAMS_STATUS_OFFSET  0xC"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"/* flash list */"},{"line_number":43,"context_line":"typedef enum {"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"c610ab55_d7081fed","line":40,"in_reply_to":"9c326336_2df1bcd6","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":45,"context_line":"\tFLASH_512KB \u003d 1,"},{"line_number":46,"context_line":"\tFLASH_1MB \u003d 2,"},{"line_number":47,"context_line":"\tFLASH_UNKNOWN,"},{"line_number":48,"context_line":"} npcx_device_index_t;"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"struct npcx_bank {"},{"line_number":51,"context_line":"\tconst char *family_name;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"74001d02_363a81c2","line":48,"updated":"2021-08-31 18:34:27.000000000","message":"please no typedefs.\nenum npcx_device_index {...","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"\tFLASH_512KB \u003d 1,"},{"line_number":46,"context_line":"\tFLASH_1MB \u003d 2,"},{"line_number":47,"context_line":"\tFLASH_UNKNOWN,"},{"line_number":48,"context_line":"} npcx_device_index_t;"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"struct npcx_bank {"},{"line_number":51,"context_line":"\tconst char *family_name;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"dbf10597_3f756c81","line":48,"in_reply_to":"74001d02_363a81c2","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":51,"context_line":"\tconst char *family_name;"},{"line_number":52,"context_line":"\tuint32_t sector_length;"},{"line_number":53,"context_line":"\tbool probed;"},{"line_number":54,"context_line":"\tuint32_t flash;"},{"line_number":55,"context_line":"\tstruct working_area *working_area;"},{"line_number":56,"context_line":"\tstruct armv7m_algorithm armv7m_info;"},{"line_number":57,"context_line":"\tconst uint8_t *algo_code;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"3fd31474_aeabfd28","line":54,"updated":"2021-08-31 18:34:27.000000000","message":"enum npcx_device_index flash;","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"\tconst char *family_name;"},{"line_number":52,"context_line":"\tuint32_t sector_length;"},{"line_number":53,"context_line":"\tbool probed;"},{"line_number":54,"context_line":"\tuint32_t flash;"},{"line_number":55,"context_line":"\tstruct working_area *working_area;"},{"line_number":56,"context_line":"\tstruct armv7m_algorithm armv7m_info;"},{"line_number":57,"context_line":"\tconst uint8_t *algo_code;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"922b5504_15cae876","line":54,"in_reply_to":"3fd31474_aeabfd28","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":172,"context_line":"{"},{"line_number":173,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":174,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":175,"context_line":"\tuint32_t status_addr \u003d params_addr + NPCX_PARAMS_STATUS_OFFSET;"},{"line_number":176,"context_line":"\tuint32_t status;"},{"line_number":177,"context_line":"\tint64_t start_ms \u003d timeval_ms();"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"7b060bc6_55666c42","line":175,"updated":"2021-08-31 18:34:27.000000000","message":"params_addr + offsetof(struct flash_params, sync);","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":172,"context_line":"{"},{"line_number":173,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":174,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"},{"line_number":175,"context_line":"\tuint32_t status_addr \u003d params_addr + NPCX_PARAMS_STATUS_OFFSET;"},{"line_number":176,"context_line":"\tuint32_t status;"},{"line_number":177,"context_line":"\tint64_t start_ms \u003d timeval_ms();"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"a4438886_05e93637","line":175,"in_reply_to":"7b060bc6_55666c42","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"107f078e9847b9506329410761ed7efa6b0a50d5","unresolved":true,"context_lines":[{"line_number":198,"context_line":"\treturn ERROR_OK;"},{"line_number":199,"context_line":"}"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"static int npcx_get_flash_id(struct flash_bank *bank, uint32_t *flash_id)"},{"line_number":202,"context_line":"{"},{"line_number":203,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":204,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"96f1f955_c7aed9d3","line":201,"updated":"2021-08-31 18:34:27.000000000","message":"static enum npcx_device_index npcx_get_flash_id()","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":198,"context_line":"\treturn ERROR_OK;"},{"line_number":199,"context_line":"}"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"static int npcx_get_flash_id(struct flash_bank *bank, uint32_t *flash_id)"},{"line_number":202,"context_line":"{"},{"line_number":203,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":204,"context_line":"\tstruct npcx_bank *npcx_bank \u003d bank-\u003edriver_priv;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"684636eb_7b5d2869","line":201,"in_reply_to":"96f1f955_c7aed9d3","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"31b3218d9782288f0a64fdbcda238bf99c7263b0","unresolved":true,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"\tunsigned int num_sectors \u003d flash_info[npcx_bank-\u003eflash].size / sector_length;"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * num_sectors);"},{"line_number":275,"context_line":"\tif (!bank-\u003esectors) {"},{"line_number":276,"context_line":"\t\tLOG_ERROR(\"Out of memory\");"},{"line_number":277,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"3b02d223_90543d08","line":274,"updated":"2021-08-31 17:24:31.000000000","message":"calloc","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"\tunsigned int num_sectors \u003d flash_info[npcx_bank-\u003eflash].size / sector_length;"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * num_sectors);"},{"line_number":275,"context_line":"\tif (!bank-\u003esectors) {"},{"line_number":276,"context_line":"\t\tLOG_ERROR(\"Out of memory\");"},{"line_number":277,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"9df75a2d_c2b0879e","line":274,"in_reply_to":"3b02d223_90543d08","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"31b3218d9782288f0a64fdbcda238bf99c7263b0","unresolved":true,"context_lines":[{"line_number":316,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":317,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"\tnpcx_bank \u003d malloc(sizeof(struct npcx_bank));"},{"line_number":320,"context_line":"\tif (!npcx_bank) {"},{"line_number":321,"context_line":"\t\tLOG_ERROR(\"Out of memory\");"},{"line_number":322,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"4f1ba07a_47f0a951","line":319,"updated":"2021-08-31 17:24:31.000000000","message":"npcx_bank \u003d calloc(1. sizeof(*npcx_bank));","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":316,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":317,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"\tnpcx_bank \u003d malloc(sizeof(struct npcx_bank));"},{"line_number":320,"context_line":"\tif (!npcx_bank) {"},{"line_number":321,"context_line":"\t\tLOG_ERROR(\"Out of memory\");"},{"line_number":322,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"df9c6c1c_ee923cac","line":319,"in_reply_to":"4f1ba07a_47f0a951","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"31b3218d9782288f0a64fdbcda238bf99c7263b0","unresolved":true,"context_lines":[{"line_number":323,"context_line":"\t}"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"\t/* Initialize private flash information */"},{"line_number":326,"context_line":"\tmemset(npcx_bank, 0x00, sizeof(struct npcx_bank));"},{"line_number":327,"context_line":"\tnpcx_bank-\u003efamily_name \u003d \"npcx\";"},{"line_number":328,"context_line":"\tnpcx_bank-\u003esector_length \u003d NPCX_MONITOR_FLASH_ERASE_SIZE;"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"f5a7ae17_dfd02c73","line":326,"updated":"2021-08-31 17:24:31.000000000","message":"not needed if calloc is used","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":323,"context_line":"\t}"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"\t/* Initialize private flash information */"},{"line_number":326,"context_line":"\tmemset(npcx_bank, 0x00, sizeof(struct npcx_bank));"},{"line_number":327,"context_line":"\tnpcx_bank-\u003efamily_name \u003d \"npcx\";"},{"line_number":328,"context_line":"\tnpcx_bank-\u003esector_length \u003d NPCX_MONITOR_FLASH_ERASE_SIZE;"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"38d666e1_d66e1bb8","line":326,"in_reply_to":"f5a7ae17_dfd02c73","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"b879d45a71e30f2237efe60138c3705a1921a6e1","unresolved":true,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"\t/* Set up algorithm parameters for chip erase command */"},{"line_number":358,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.cmd, 0, 32, CMD_ERASE_ALL);"},{"line_number":359,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_WAIT);"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"\t/* Set algorithm parameters */"},{"line_number":362,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"10c9be32_c2ebfe90","line":359,"updated":"2021-08-31 16:51:05.000000000","message":"please use target_buffer_set_u32() instead of buf_set_u32. This will allow to stay flexible independent of target and host endiannes.","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"\t/* Set up algorithm parameters for chip erase command */"},{"line_number":358,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.cmd, 0, 32, CMD_ERASE_ALL);"},{"line_number":359,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_WAIT);"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"\t/* Set algorithm parameters */"},{"line_number":362,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"a4261d90_fa3f67a2","line":359,"in_reply_to":"10c9be32_c2ebfe90","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"e11cd720c178e14d2d73e4ba4d1cc3c27784aa53","unresolved":true,"context_lines":[{"line_number":359,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_WAIT);"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"\t/* Set algorithm parameters */"},{"line_number":362,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"},{"line_number":363,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"\t/* Issue flash helper algorithm parameters for chip erase */"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"773e4560_2415bc02","line":362,"range":{"start_line":362,"start_character":1,"end_line":362,"end_character":8},"updated":"2021-08-31 20:46:12.000000000","message":"seems like there is no check on this retval","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":359,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_WAIT);"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"\t/* Set algorithm parameters */"},{"line_number":362,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"},{"line_number":363,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"\t/* Issue flash helper algorithm parameters for chip erase */"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"620264e8_83af57d1","line":362,"range":{"start_line":362,"start_character":1,"end_line":362,"end_character":8},"in_reply_to":"773e4560_2415bc02","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"b879d45a71e30f2237efe60138c3705a1921a6e1","unresolved":true,"context_lines":[{"line_number":363,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"\t/* Issue flash helper algorithm parameters for chip erase */"},{"line_number":366,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_EXECUTE);"},{"line_number":367,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"},{"line_number":368,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"},{"line_number":369,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"0d8e7df3_80ecfdd0","line":366,"updated":"2021-08-31 16:51:05.000000000","message":"same here","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":363,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"\t/* Issue flash helper algorithm parameters for chip erase */"},{"line_number":366,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_EXECUTE);"},{"line_number":367,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"},{"line_number":368,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"},{"line_number":369,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":15,"id":"1e3d8d5a_73a91689","line":366,"in_reply_to":"0d8e7df3_80ecfdd0","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"b879d45a71e30f2237efe60138c3705a1921a6e1","unresolved":true,"context_lines":[{"line_number":411,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.len, 0, 32, length);"},{"line_number":412,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.cmd, 0, 32, CMD_ERASE_SECTORS);"},{"line_number":413,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_WAIT);"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"\t/* Set algorithm parameters */"},{"line_number":416,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"},{"line_number":417,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"0105cc1e_6c1e88e0","line":414,"updated":"2021-08-31 16:51:05.000000000","message":"and here.. all instances of it :)","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"6d16c888bc06fdbd8d5ea6f871e13a0b826c603e","unresolved":false,"context_lines":[{"line_number":411,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.len, 0, 32, length);"},{"line_number":412,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.cmd, 0, 32, CMD_ERASE_SECTORS);"},{"line_number":413,"context_line":"\tbuf_set_u32((uint8_t *)\u0026algo_params.sync, 0, 32, LOADER_WAIT);"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"\t/* Set algorithm parameters */"},{"line_number":416,"context_line":"\tretval \u003d target_write_buffer(target, npcx_bank-\u003eparams_addr,"},{"line_number":417,"context_line":"\t\t\t\tsizeof(algo_params), (uint8_t *)\u0026algo_params);"}],"source_content_type":"text/x-csrc","patch_set":15,"id":"88c04d25_844a5d90","line":414,"in_reply_to":"0105cc1e_6c1e88e0","updated":"2021-09-01 09:41:51.000000000","message":"Done","commit_id":"65e0aa3c128e8073534cb8cce453de3d02fdfb64"}],"tcl/board/npcx_evb.cfg":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Nuvoton NPCX Evaluation Board"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"source [find interface/jlink.cfg]"},{"line_number":4,"context_line":"source [find target/npcx.cfg]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_850670d0","line":1,"updated":"2020-12-16 23:47:43.000000000","message":"Please add as first line\n# SPDX-License-Identifier: GPL-2.0-or-later","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Nuvoton NPCX Evaluation Board"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"source [find interface/jlink.cfg]"},{"line_number":4,"context_line":"source [find target/npcx.cfg]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_25af8493","line":1,"in_reply_to":"ceda9b01_850670d0","updated":"2020-12-18 10:11:47.000000000","message":"Done","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"}],"tcl/target/npcx.cfg":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# script for Nuvoton NPCX Cortex-M4 Series"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Select SWD interface by default"},{"line_number":4,"context_line":"transport select swd"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_056b6083","line":1,"updated":"2020-12-16 23:47:43.000000000","message":"Please add as first line\n# SPDX-License-Identifier: GPL-2.0-or-later","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# script for Nuvoton NPCX Cortex-M4 Series"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Select SWD interface by default"},{"line_number":4,"context_line":"transport select swd"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_45b408e5","line":1,"in_reply_to":"ceda9b01_056b6083","updated":"2020-12-18 10:11:47.000000000","message":"Done","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# script for Nuvoton NPCX Cortex-M4 Series"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Select SWD interface by default"},{"line_number":4,"context_line":"transport select swd"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# Adapt based on what transport is active."},{"line_number":7,"context_line":"source [find target/swj-dp.tcl]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_e56dfc97","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":20},"updated":"2020-12-16 23:47:43.000000000","message":"The device only supports SWD? No JTAG?\nIf only SWD, then it\u0027s ok having this line here.\nBut if the device accepts also JTAG and is the board only connects SWD, then this line has to go in the board file","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# script for Nuvoton NPCX Cortex-M4 Series"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Select SWD interface by default"},{"line_number":4,"context_line":"transport select swd"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# Adapt based on what transport is active."},{"line_number":7,"context_line":"source [find target/swj-dp.tcl]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_e5989c7e","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":20},"in_reply_to":"ceda9b01_e56dfc97","updated":"2020-12-18 10:11:47.000000000","message":"We support SWD \u0026 JTAG. I move it to the board config file.","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":35,"context_line":"target create $_TARGETNAME cortex_m -endian little -dap $_CHIPNAME.dap \\"},{"line_number":36,"context_line":"\t-work-area-size $_WORKAREASIZE"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Initial JTAG/SWD speed"},{"line_number":39,"context_line":"adapter speed 100"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"adapter srst delay 100"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_a567f4b3","line":39,"range":{"start_line":38,"start_character":0,"end_line":39,"end_character":17},"updated":"2020-12-16 23:47:43.000000000","message":"Here you mention \u0027JTAG\u0027 ....\nJust curious: I think 100 kHz is quite low. Are you sure you don\u0027t want or you cannot use higher speed?","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":35,"context_line":"target create $_TARGETNAME cortex_m -endian little -dap $_CHIPNAME.dap \\"},{"line_number":36,"context_line":"\t-work-area-size $_WORKAREASIZE"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Initial JTAG/SWD speed"},{"line_number":39,"context_line":"adapter speed 100"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"adapter srst delay 100"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_05960050","line":39,"range":{"start_line":38,"start_character":0,"end_line":39,"end_character":17},"in_reply_to":"ceda9b01_a567f4b3","updated":"2020-12-18 10:11:47.000000000","message":"The lowest speed of our CPU clock is 4MHz. I modify it to 1/6 speed about 600KHz.","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":43,"context_line":"# use sysresetreq to perform a system reset"},{"line_number":44,"context_line":"cortex_m reset_config sysresetreq"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# flash configuration"},{"line_number":47,"context_line":"$_TARGETNAME configure -work-area-phys 0x200c0000 -work-area-size $_WORKAREASIZE -work-area-backup 0"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"set _FLASHNAME $_CHIPNAME.flash"},{"line_number":50,"context_line":"flash bank $_FLASHNAME npcx 0x64000000 0 0 0 $_TARGETNAME"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_c56478b1","line":47,"range":{"start_line":46,"start_character":0,"end_line":47,"end_character":100},"updated":"2020-12-16 23:47:43.000000000","message":"This is not \u0027flash configuration\u0027.\nOne part is already in line 36. Move everything there.","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":43,"context_line":"# use sysresetreq to perform a system reset"},{"line_number":44,"context_line":"cortex_m reset_config sysresetreq"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# flash configuration"},{"line_number":47,"context_line":"$_TARGETNAME configure -work-area-phys 0x200c0000 -work-area-size $_WORKAREASIZE -work-area-backup 0"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"set _FLASHNAME $_CHIPNAME.flash"},{"line_number":50,"context_line":"flash bank $_FLASHNAME npcx 0x64000000 0 0 0 $_TARGETNAME"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_a5a294a2","line":47,"range":{"start_line":46,"start_character":0,"end_line":47,"end_character":100},"in_reply_to":"ceda9b01_c56478b1","updated":"2020-12-18 10:11:47.000000000","message":"Done","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8f410f5c962065d8e9d8f99539af28cbeb9d5665","unresolved":false,"context_lines":[{"line_number":59,"context_line":"\tadapter speed 1500"},{"line_number":60,"context_line":"}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"reset_config trst_only"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_65010cb9","line":62,"updated":"2020-12-16 23:47:43.000000000","message":"line 44, use sysresetreq\nline 53, have SRST and TRST (this is for JTAG, not SWD)\nline 62, have only TRST (that is for JTAG)\nbut above this file is SWD only.\nCan you please review this part?\nDoes the chip have SRST and TRST pins?","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"5e2e62501df80ced6f0c90ed6e977301235c4984","unresolved":false,"context_lines":[{"line_number":59,"context_line":"\tadapter speed 1500"},{"line_number":60,"context_line":"}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"reset_config trst_only"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"ceda9b01_c59f9861","line":62,"in_reply_to":"ceda9b01_65010cb9","updated":"2020-12-18 10:11:47.000000000","message":"Our JTAG doesn\u0027t support TRST \u0026 SRST. I remove the related configs.","commit_id":"0d10f967fe5cfbf7e76174c0a1f7785511769f6a"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"ec5eb53d6a0203e6f53a0e82639b37c54ccd61c6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# SPDX-License-Identifier: GPL-2.0-or-later"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# script for Nuvoton NPCX Cortex-M4 Series"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":6,"id":"aedf27f1_440acc25","line":1,"updated":"2021-05-20 21:04:29.000000000","message":"attention, this file has been added with execution permission\nPlease change the permission","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"9e516ef58e87e74fa2a6ec0cccf92d783a600bd4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# SPDX-License-Identifier: GPL-2.0-or-later"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# script for Nuvoton NPCX Cortex-M4 Series"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":6,"id":"aedf27f1_44216c99","line":1,"in_reply_to":"aedf27f1_440acc25","updated":"2021-05-21 03:49:27.000000000","message":"Done","commit_id":"594d48e30ae1f695d8baa79684dafe2eadf2f38e"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"6d484a18bb8c78517dc851d48a1fea55788d86f7","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Initial JTAG/SWD speed"},{"line_number":39,"context_line":"adapter speed 600"},{"line_number":40,"context_line":"$_TARGETNAME configure -event reset-start {adapter speed 600}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# use sysresetreq to perform a system reset"},{"line_number":43,"context_line":"cortex_m reset_config sysresetreq"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"aedf27f1_c4a55c9c","line":40,"updated":"2021-05-24 07:56:34.000000000","message":"I assume that the low JTAG speed is set due to slow clock that the CPU uses out of reset.\n\nMaybe put a comment about that here - to make the reason clear to whoever will read (or edit) the file.","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"bf8e6675c1be0fff910fd11349e3c93512ac52eb","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Initial JTAG/SWD speed"},{"line_number":39,"context_line":"adapter speed 600"},{"line_number":40,"context_line":"$_TARGETNAME configure -event reset-start {adapter speed 600}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# use sysresetreq to perform a system reset"},{"line_number":43,"context_line":"cortex_m reset_config sysresetreq"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"aedf27f1_e457405b","line":40,"in_reply_to":"aedf27f1_04f12492","updated":"2021-05-25 02:45:50.000000000","message":"Ack","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001833,"name":"Wealian Liao","email":"WHLIAO@nuvoton.com","username":"Wealian"},"change_message_id":"f6f754f937b85cb481a2a7dfdf01de9aca15b09c","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Initial JTAG/SWD speed"},{"line_number":39,"context_line":"adapter speed 600"},{"line_number":40,"context_line":"$_TARGETNAME configure -event reset-start {adapter speed 600}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# use sysresetreq to perform a system reset"},{"line_number":43,"context_line":"cortex_m reset_config sysresetreq"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"aedf27f1_c4d31c04","line":40,"in_reply_to":"aedf27f1_c4a55c9c","updated":"2021-05-24 11:02:07.000000000","message":"I choose the value for the lowest cpu clock. The reset CPU clock is much higher than it. Do you recommend setting this to a higher value?","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"0f5b63c528cc384a588201880ec47436988b94cd","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Initial JTAG/SWD speed"},{"line_number":39,"context_line":"adapter speed 600"},{"line_number":40,"context_line":"$_TARGETNAME configure -event reset-start {adapter speed 600}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# use sysresetreq to perform a system reset"},{"line_number":43,"context_line":"cortex_m reset_config sysresetreq"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"aedf27f1_04f12492","line":40,"in_reply_to":"aedf27f1_c4d31c04","updated":"2021-05-24 14:11:23.000000000","message":"I am not familiar with the Nuvoton chips, so I do not have a specific recommendation :)\n\nIt would just be good to document the reason for choosing that speed. If that is the lowest possible setting (for safety), that may be fine - perhaps just mention it in a comment.","commit_id":"b1a58b489fa121e396cf7ccb2bcee1b14da19995"}]}
