)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"75b7932586d0da1e6730006380ebb3d73d4c8ef2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"ddc69640_a3f6ee06","updated":"2021-08-27 15:12:43.000000000","message":"just a rebase","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"}],"src/flash/nor/stm32l4x.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"dbc64b9eeed0380e4f86476c883538a8c902bc07","unresolved":false,"context_lines":[{"line_number":1662,"context_line":"\t\t}"},{"line_number":1663,"context_line":""},{"line_number":1664,"context_line":"\t\tstm32l4_info-\u003eprobed \u003d true;"},{"line_number":1665,"context_line":"\t\treturn ERROR_OK;"},{"line_number":1666,"context_line":"\t} else if (bank-\u003ebase !\u003d STM32_FLASH_BANK_BASE \u0026\u0026 bank-\u003ebase !\u003d STM32_FLASH_S_BANK_BASE) {"},{"line_number":1667,"context_line":"\t\tLOG_ERROR(\"invalid bank base address\");"},{"line_number":1668,"context_line":"\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"ceda9b01_fcea6ed6","line":1665,"range":{"start_line":1665,"start_character":2,"end_line":1665,"end_character":18},"updated":"2021-03-16 20:31:13.000000000","message":"If OTP path is taken...","commit_id":"c7bc7df8bb07e3e26c9f4fdab8ea4b89b5502309"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"dbc64b9eeed0380e4f86476c883538a8c902bc07","unresolved":false,"context_lines":[{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":"\t/* Set flash write alignment boundaries."},{"line_number":1886,"context_line":"\t * Ask the flash infrastructure to ensure required alignment */"},{"line_number":1887,"context_line":"\tbank-\u003ewrite_start_alignment \u003d bank-\u003ewrite_end_alignment \u003d stm32l4_info-\u003edata_width;"},{"line_number":1888,"context_line":""},{"line_number":1889,"context_line":"\t/* Initialize bank-\u003esectors */"},{"line_number":1890,"context_line":"\tfree(bank-\u003esectors);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"ceda9b01_1ce892dc","line":1887,"range":{"start_line":1887,"start_character":1,"end_line":1887,"end_character":56},"updated":"2021-03-16 20:31:13.000000000","message":"...we loose alignment setting","commit_id":"c7bc7df8bb07e3e26c9f4fdab8ea4b89b5502309"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"670ca27d556316c0b9a898306baf68db9fd96a0d","unresolved":false,"context_lines":[{"line_number":1623,"context_line":""},{"line_number":1624,"context_line":"\tpart_info \u003d stm32l4_info-\u003epart_info;"},{"line_number":1625,"context_line":"\tstm32l4_info-\u003eflash_regs \u003d part_info-\u003edefault_flash_regs;"},{"line_number":1626,"context_line":"\tstm32l4_info-\u003edata_width \u003d (part_info-\u003eflags \u0026 F_QUAD_WORD_PROG) ? 16 : 8; /* default is double-word */"},{"line_number":1627,"context_line":"\tstm32l4_info-\u003ecr_bker_mask \u003d FLASH_BKER;"},{"line_number":1628,"context_line":"\tstm32l4_info-\u003esr_bsy_mask \u003d FLASH_BSY;"},{"line_number":1629,"context_line":""},{"line_number":1630,"context_line":"\t/* Set flash write alignment boundaries."},{"line_number":1631,"context_line":"\t * Ask the flash infrastructure to ensure required alignment */"},{"line_number":1632,"context_line":"\tbank-\u003ewrite_start_alignment \u003d bank-\u003ewrite_end_alignment \u003d stm32l4_info-\u003edata_width;"},{"line_number":1633,"context_line":""},{"line_number":1634,"context_line":"\tchar device_info[1024];"},{"line_number":1635,"context_line":"\tretval \u003d bank-\u003edriver-\u003einfo(bank, device_info, sizeof(device_info));"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"ceda9b01_bc79462c","line":1632,"range":{"start_line":1626,"start_character":1,"end_line":1632,"end_character":84},"updated":"2021-03-16 22:54:03.000000000","message":"fixed here","commit_id":"388fe54a9f7d8d529b95121e0658ba291663cf2c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"1690eb7e18df9254e78e0b5db4910a13f114968d","unresolved":false,"context_lines":[{"line_number":268,"context_line":"};"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"/* human readable list of families this drivers supports (sorted alphabetically) */"},{"line_number":271,"context_line":"static const char *device_families \u003d \"STM32G0/G4/L4/L4+/L5/WB/WL\";"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"static const struct stm32l4_rev stm32_415_revs[] \u003d {"},{"line_number":274,"context_line":"\t{ 0x1000, \"1\" }, { 0x1001, \"2\" }, { 0x1003, \"3\" }, { 0x1007, \"4\" }"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"2ecb373e_ce9ee359","line":271,"range":{"start_line":271,"start_character":37,"end_line":271,"end_character":66},"updated":"2021-08-16 10:06:59.000000000","message":"^missing U5 here","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"2d8ad1d6216c14c748a08d6d73b5a5e6d06cb6e7","unresolved":true,"context_lines":[{"line_number":1346,"context_line":"\t}"},{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":"\t/* memory buffer, size *must* be multiple of stm32l4_info-\u003edata_width"},{"line_number":1349,"context_line":"\t * plus one dword for rp and one for wp */ /* FIXME */"},{"line_number":1350,"context_line":"\tbuffer_size \u003d target_get_working_area_avail(target) \u0026 ~(2 * sizeof(uint32_t) - 1);"},{"line_number":1351,"context_line":"\tif (buffer_size \u003c 256) {"},{"line_number":1352,"context_line":"\t\tLOG_WARNING(\"large enough working area not available, can\u0027t do block memory writes\");"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"1243bf64_15c0b420","line":1349,"updated":"2021-08-27 16:15:17.000000000","message":"The reason of fixme is not described here.","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"fdbfbdcff03240acc86fbcbf84b4bf659b69ceab","unresolved":false,"context_lines":[{"line_number":1346,"context_line":"\t}"},{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":"\t/* memory buffer, size *must* be multiple of stm32l4_info-\u003edata_width"},{"line_number":1349,"context_line":"\t * plus one dword for rp and one for wp */ /* FIXME */"},{"line_number":1350,"context_line":"\tbuffer_size \u003d target_get_working_area_avail(target) \u0026 ~(2 * sizeof(uint32_t) - 1);"},{"line_number":1351,"context_line":"\tif (buffer_size \u003c 256) {"},{"line_number":1352,"context_line":"\t\tLOG_WARNING(\"large enough working area not available, can\u0027t do block memory writes\");"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"0dc0da50_fe4fddb2","line":1349,"in_reply_to":"1243bf64_15c0b420","updated":"2021-08-29 14:48:32.000000000","message":"Ack","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"2d8ad1d6216c14c748a08d6d73b5a5e6d06cb6e7","unresolved":true,"context_lines":[{"line_number":1350,"context_line":"\tbuffer_size \u003d target_get_working_area_avail(target) \u0026 ~(2 * sizeof(uint32_t) - 1);"},{"line_number":1351,"context_line":"\tif (buffer_size \u003c 256) {"},{"line_number":1352,"context_line":"\t\tLOG_WARNING(\"large enough working area not available, can\u0027t do block memory writes\");"},{"line_number":1353,"context_line":"\t\ttarget_free_working_area(target, write_algorithm);"},{"line_number":1354,"context_line":"\t\treturn ERROR_TARGET_RESOURCE_NOT_AVAILABLE;"},{"line_number":1355,"context_line":"\t} else if (buffer_size \u003e 16384) {"},{"line_number":1356,"context_line":"\t\t/* probably won\u0027t benefit from more than 16k ... */"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"ff50690f_73a9d0d3","line":1353,"updated":"2021-08-27 16:15:17.000000000","message":"Do this fix belong to the separate patch?","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"719a383b71f80cedca613b0343dcb88b02ac3ddd","unresolved":false,"context_lines":[{"line_number":1350,"context_line":"\tbuffer_size \u003d target_get_working_area_avail(target) \u0026 ~(2 * sizeof(uint32_t) - 1);"},{"line_number":1351,"context_line":"\tif (buffer_size \u003c 256) {"},{"line_number":1352,"context_line":"\t\tLOG_WARNING(\"large enough working area not available, can\u0027t do block memory writes\");"},{"line_number":1353,"context_line":"\t\ttarget_free_working_area(target, write_algorithm);"},{"line_number":1354,"context_line":"\t\treturn ERROR_TARGET_RESOURCE_NOT_AVAILABLE;"},{"line_number":1355,"context_line":"\t} else if (buffer_size \u003e 16384) {"},{"line_number":1356,"context_line":"\t\t/* probably won\u0027t benefit from more than 16k ... */"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"22759362_fd969bcf","line":1353,"in_reply_to":"3b286285_9e45b734","updated":"2021-08-29 17:33:29.000000000","message":"moved to #6486","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"fdbfbdcff03240acc86fbcbf84b4bf659b69ceab","unresolved":false,"context_lines":[{"line_number":1350,"context_line":"\tbuffer_size \u003d target_get_working_area_avail(target) \u0026 ~(2 * sizeof(uint32_t) - 1);"},{"line_number":1351,"context_line":"\tif (buffer_size \u003c 256) {"},{"line_number":1352,"context_line":"\t\tLOG_WARNING(\"large enough working area not available, can\u0027t do block memory writes\");"},{"line_number":1353,"context_line":"\t\ttarget_free_working_area(target, write_algorithm);"},{"line_number":1354,"context_line":"\t\treturn ERROR_TARGET_RESOURCE_NOT_AVAILABLE;"},{"line_number":1355,"context_line":"\t} else if (buffer_size \u003e 16384) {"},{"line_number":1356,"context_line":"\t\t/* probably won\u0027t benefit from more than 16k ... */"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"3b286285_9e45b734","line":1353,"in_reply_to":"ff50690f_73a9d0d3","updated":"2021-08-29 14:48:32.000000000","message":"right, I can separete it.","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"2d8ad1d6216c14c748a08d6d73b5a5e6d06cb6e7","unresolved":true,"context_lines":[{"line_number":1560,"context_line":"\t\tif (stm32l4_info-\u003etzen \u0026\u0026 (stm32l4_info-\u003erdp \u003d\u003d RDP_LEVEL_0_5))"},{"line_number":1561,"context_line":"\t\t\tLOG_INFO(\"RDP level is 0.5, the work-area should reside in non-secure RAM\");"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"\t\tretval \u003d stm32l4_write_block(bank, buffer, offset, count / stm32l4_info-\u003edata_width);"},{"line_number":1564,"context_line":"\t}"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"\tif (!use_flashloader || retval \u003d\u003d ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"16ccfe20_f06fbe40","line":1563,"updated":"2021-08-27 16:15:17.000000000","message":"line is too long","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"8b38c5201095ee7f40ad0ba32943f8b490dc216e","unresolved":true,"context_lines":[{"line_number":1560,"context_line":"\t\tif (stm32l4_info-\u003etzen \u0026\u0026 (stm32l4_info-\u003erdp \u003d\u003d RDP_LEVEL_0_5))"},{"line_number":1561,"context_line":"\t\t\tLOG_INFO(\"RDP level is 0.5, the work-area should reside in non-secure RAM\");"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"\t\tretval \u003d stm32l4_write_block(bank, buffer, offset, count / stm32l4_info-\u003edata_width);"},{"line_number":1564,"context_line":"\t}"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"\tif (!use_flashloader || retval \u003d\u003d ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"28b8bf1d_65ee3316","line":1563,"in_reply_to":"05410bb7_cf26360f","updated":"2021-08-29 16:19:23.000000000","message":"Yes, i know about it. And the thing is - writing code and reading code are different things. You can write code with the tool of your choice. I need to read it and compare line by line with the web tool forced by this project.","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"fdbfbdcff03240acc86fbcbf84b4bf659b69ceab","unresolved":true,"context_lines":[{"line_number":1560,"context_line":"\t\tif (stm32l4_info-\u003etzen \u0026\u0026 (stm32l4_info-\u003erdp \u003d\u003d RDP_LEVEL_0_5))"},{"line_number":1561,"context_line":"\t\t\tLOG_INFO(\"RDP level is 0.5, the work-area should reside in non-secure RAM\");"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"\t\tretval \u003d stm32l4_write_block(bank, buffer, offset, count / stm32l4_info-\u003edata_width);"},{"line_number":1564,"context_line":"\t}"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"\tif (!use_flashloader || retval \u003d\u003d ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"05410bb7_cf26360f","line":1563,"in_reply_to":"16ccfe20_f06fbe40","updated":"2021-08-29 14:48:32.000000000","message":"I guess this is not too long, OpenOCD coding style do tolerate line lentgh to maximum 120 chars.","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"b3fcd65367f36d2c649e6e0168e04b2670c43467","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"\t\tif (stm32l4_info-\u003etzen \u0026\u0026 (stm32l4_info-\u003erdp \u003d\u003d RDP_LEVEL_0_5))"},{"line_number":1561,"context_line":"\t\t\tLOG_INFO(\"RDP level is 0.5, the work-area should reside in non-secure RAM\");"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"\t\tretval \u003d stm32l4_write_block(bank, buffer, offset, count / stm32l4_info-\u003edata_width);"},{"line_number":1564,"context_line":"\t}"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"\tif (!use_flashloader || retval \u003d\u003d ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"b1806643_a946330e","line":1563,"in_reply_to":"28b8bf1d_65ee3316","updated":"2021-08-29 16:53:56.000000000","message":"no worries Oleksij, I have already splitted the line.\nthank you again for taking the time and reviewing these patches.","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"2d8ad1d6216c14c748a08d6d73b5a5e6d06cb6e7","unresolved":true,"context_lines":[{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"\tif (!use_flashloader || retval \u003d\u003d ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {"},{"line_number":1567,"context_line":"\t\tLOG_INFO(\"falling back to single memory accesses\");"},{"line_number":1568,"context_line":"\t\tretval \u003d stm32l4_write_block_without_loader(bank, buffer, offset, count / stm32l4_info-\u003edata_width);"},{"line_number":1569,"context_line":"\t}"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"err_lock:"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"896dc6ba_eed13970","line":1568,"updated":"2021-08-27 16:15:17.000000000","message":"Line is too long, it is even not fitting to the web diff view","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"fdbfbdcff03240acc86fbcbf84b4bf659b69ceab","unresolved":false,"context_lines":[{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"\tif (!use_flashloader || retval \u003d\u003d ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {"},{"line_number":1567,"context_line":"\t\tLOG_INFO(\"falling back to single memory accesses\");"},{"line_number":1568,"context_line":"\t\tretval \u003d stm32l4_write_block_without_loader(bank, buffer, offset, count / stm32l4_info-\u003edata_width);"},{"line_number":1569,"context_line":"\t}"},{"line_number":1570,"context_line":""},{"line_number":1571,"context_line":"err_lock:"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"47129b87_4da1370a","line":1568,"in_reply_to":"896dc6ba_eed13970","updated":"2021-08-29 14:48:32.000000000","message":"Ack","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"2d8ad1d6216c14c748a08d6d73b5a5e6d06cb6e7","unresolved":true,"context_lines":[{"line_number":1686,"context_line":"\t\t\tstm32l4_info-\u003eidcode, part_info-\u003edevice_str, rev_str, rev_id);"},{"line_number":1687,"context_line":""},{"line_number":1688,"context_line":"\tstm32l4_info-\u003eflash_regs_base \u003d stm32l4_info-\u003epart_info-\u003eflash_regs_base;"},{"line_number":1689,"context_line":"\tstm32l4_info-\u003edata_width \u003d (part_info-\u003eflags \u0026 F_QUAD_WORD_PROG) ? 16 : 8; /* default is double-word */"},{"line_number":1690,"context_line":"\tstm32l4_info-\u003ecr_bker_mask \u003d FLASH_BKER;"},{"line_number":1691,"context_line":"\tstm32l4_info-\u003esr_bsy_mask \u003d FLASH_BSY;"},{"line_number":1692,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"17c74d10_13256c28","line":1689,"updated":"2021-08-27 16:15:17.000000000","message":"not helpful comment","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"fdbfbdcff03240acc86fbcbf84b4bf659b69ceab","unresolved":false,"context_lines":[{"line_number":1686,"context_line":"\t\t\tstm32l4_info-\u003eidcode, part_info-\u003edevice_str, rev_str, rev_id);"},{"line_number":1687,"context_line":""},{"line_number":1688,"context_line":"\tstm32l4_info-\u003eflash_regs_base \u003d stm32l4_info-\u003epart_info-\u003eflash_regs_base;"},{"line_number":1689,"context_line":"\tstm32l4_info-\u003edata_width \u003d (part_info-\u003eflags \u0026 F_QUAD_WORD_PROG) ? 16 : 8; /* default is double-word */"},{"line_number":1690,"context_line":"\tstm32l4_info-\u003ecr_bker_mask \u003d FLASH_BKER;"},{"line_number":1691,"context_line":"\tstm32l4_info-\u003esr_bsy_mask \u003d FLASH_BSY;"},{"line_number":1692,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"48e4376a_2d7e8a21","line":1689,"in_reply_to":"17c74d10_13256c28","updated":"2021-08-29 14:48:32.000000000","message":"Ack","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"2d8ad1d6216c14c748a08d6d73b5a5e6d06cb6e7","unresolved":true,"context_lines":[{"line_number":1893,"context_line":"\t\tpage_size_kb \u003d 8;"},{"line_number":1894,"context_line":"\t\tnum_pages \u003d flash_size_kb / page_size_kb;"},{"line_number":1895,"context_line":"\t\tstm32l4_info-\u003ebank1_sectors \u003d num_pages;"},{"line_number":1896,"context_line":"\t\tif ((flash_size_kb \u003d\u003d part_info-\u003emax_flash_size_kb) || (stm32l4_info-\u003eoptr \u0026 BIT(21))) {"},{"line_number":1897,"context_line":"\t\t\tstm32l4_info-\u003edual_bank_mode \u003d true;"},{"line_number":1898,"context_line":"\t\t\tstm32l4_info-\u003ebank1_sectors \u003d num_pages / 2;"},{"line_number":1899,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"8469a461_5e7086f3","line":1896,"updated":"2021-08-27 16:15:17.000000000","message":"magic bit 21\nIs it possible that there is no bit 21 and size is max size?","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"fdbfbdcff03240acc86fbcbf84b4bf659b69ceab","unresolved":true,"context_lines":[{"line_number":1893,"context_line":"\t\tpage_size_kb \u003d 8;"},{"line_number":1894,"context_line":"\t\tnum_pages \u003d flash_size_kb / page_size_kb;"},{"line_number":1895,"context_line":"\t\tstm32l4_info-\u003ebank1_sectors \u003d num_pages;"},{"line_number":1896,"context_line":"\t\tif ((flash_size_kb \u003d\u003d part_info-\u003emax_flash_size_kb) || (stm32l4_info-\u003eoptr \u0026 BIT(21))) {"},{"line_number":1897,"context_line":"\t\t\tstm32l4_info-\u003edual_bank_mode \u003d true;"},{"line_number":1898,"context_line":"\t\t\tstm32l4_info-\u003ebank1_sectors \u003d num_pages / 2;"},{"line_number":1899,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"4037d2b7_f13e25e4","line":1896,"in_reply_to":"8469a461_5e7086f3","updated":"2021-08-29 14:48:32.000000000","message":"I started to remove magics by the device IDs\nregarding the BIT(21), BIT(22) in dual bank management I\u0027m still thinking of clean solution as this bits do have different names per device.\n\nWRT current usage in the file (as you can see in this big switch case statement), I prefer to continue using it, in this change.\nand apply a change for all devices on a sepate patch.\n\nbut to be honest I\u0027m still seeking for better defines\u0027 names to be consistent between devices.\n\nfollowing the same thinking I can introduce a new function stm32l4_is_max_flash_size and apply widely in a seperate patch.","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"change_message_id":"2d8ad1d6216c14c748a08d6d73b5a5e6d06cb6e7","unresolved":true,"context_lines":[{"line_number":1948,"context_line":"\tassert((stm32l4_info-\u003ewrpxxr_mask \u0026 0xFFFF0000) \u003d\u003d 0);"},{"line_number":1949,"context_line":"\tLOG_DEBUG(\"WRPxxR mask 0x%04\" PRIx16, (uint16_t)stm32l4_info-\u003ewrpxxr_mask);"},{"line_number":1950,"context_line":""},{"line_number":1951,"context_line":"\t/* Initialize bank-\u003esectors */"},{"line_number":1952,"context_line":"\tfree(bank-\u003esectors);"},{"line_number":1953,"context_line":""},{"line_number":1954,"context_line":"\tbank-\u003esize \u003d (flash_size_kb + gap_size_kb) * 1024;"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"3e114a01_68e5287c","line":1951,"updated":"2021-08-27 16:15:17.000000000","message":"this comment is confusing. Not related to this patch?","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"fdbfbdcff03240acc86fbcbf84b4bf659b69ceab","unresolved":false,"context_lines":[{"line_number":1948,"context_line":"\tassert((stm32l4_info-\u003ewrpxxr_mask \u0026 0xFFFF0000) \u003d\u003d 0);"},{"line_number":1949,"context_line":"\tLOG_DEBUG(\"WRPxxR mask 0x%04\" PRIx16, (uint16_t)stm32l4_info-\u003ewrpxxr_mask);"},{"line_number":1950,"context_line":""},{"line_number":1951,"context_line":"\t/* Initialize bank-\u003esectors */"},{"line_number":1952,"context_line":"\tfree(bank-\u003esectors);"},{"line_number":1953,"context_line":""},{"line_number":1954,"context_line":"\tbank-\u003esize \u003d (flash_size_kb + gap_size_kb) * 1024;"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"a6bddd3f_b1d4eaf9","line":1951,"in_reply_to":"3e114a01_68e5287c","updated":"2021-08-29 14:48:32.000000000","message":"Ack","commit_id":"2c9a1ab759179de0cc87859a47fb2f5d622a780c"}],"tcl/target/stm32u5x.cfg":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"f17d489c38881df63f583892c0938fe6d81ae285","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"\t# Enable voltage range 1 for frequency above 100 Mhz"},{"line_number":92,"context_line":"\t# RCC_AHB3ENR \u003d PWREN"},{"line_number":93,"context_line":"\tmww [expr 0x46020C94 + $offset] 0x00000004"},{"line_number":94,"context_line":"\t# delay for register clock enable (read back reg)"},{"line_number":95,"context_line":"\tmrw [expr 0x56020C94 + $offset]"},{"line_number":96,"context_line":"\t# PWR_VOSR : VOS Range 1"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_cec58343","line":93,"updated":"2021-08-16 12:15:11.000000000","message":"again expr issue with jimtcl 0.81","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"95b8794c1a1c35ec39cd72b32868b56d2d144626","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"\t# Enable voltage range 1 for frequency above 100 Mhz"},{"line_number":92,"context_line":"\t# RCC_AHB3ENR \u003d PWREN"},{"line_number":93,"context_line":"\tmww [expr 0x46020C94 + $offset] 0x00000004"},{"line_number":94,"context_line":"\t# delay for register clock enable (read back reg)"},{"line_number":95,"context_line":"\tmrw [expr 0x56020C94 + $offset]"},{"line_number":96,"context_line":"\t# PWR_VOSR : VOS Range 1"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_ce57c35b","line":93,"in_reply_to":"2ecb373e_cec58343","updated":"2021-08-16 16:23:03.000000000","message":"Done","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"f17d489c38881df63f583892c0938fe6d81ae285","unresolved":false,"context_lines":[{"line_number":173,"context_line":"\tset use_secure_workarea 0"},{"line_number":174,"context_line":"\t# check if FLASH_OPTR.TZEN is enabled"},{"line_number":175,"context_line":"\tset FLASH_OPTR [mrw 0x40022040]"},{"line_number":176,"context_line":"\tif {[expr [expr $FLASH_OPTR \u0026 0x80000000] \u003d\u003d 0]} {"},{"line_number":177,"context_line":"\t\techo \"TZEN option bit disabled\""},{"line_number":178,"context_line":"\t\tahb_ap_non_secure_access"},{"line_number":179,"context_line":"\t} {"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_eec2bf38","line":176,"updated":"2021-08-16 12:15:11.000000000","message":"simplify it:\nif {[expr {$FLASH_OPTR \u0026 0x80000000}] \u003d\u003d 0} {","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"95b8794c1a1c35ec39cd72b32868b56d2d144626","unresolved":false,"context_lines":[{"line_number":173,"context_line":"\tset use_secure_workarea 0"},{"line_number":174,"context_line":"\t# check if FLASH_OPTR.TZEN is enabled"},{"line_number":175,"context_line":"\tset FLASH_OPTR [mrw 0x40022040]"},{"line_number":176,"context_line":"\tif {[expr [expr $FLASH_OPTR \u0026 0x80000000] \u003d\u003d 0]} {"},{"line_number":177,"context_line":"\t\techo \"TZEN option bit disabled\""},{"line_number":178,"context_line":"\t\tahb_ap_non_secure_access"},{"line_number":179,"context_line":"\t} {"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_ee54ff58","line":176,"in_reply_to":"2ecb373e_eec2bf38","updated":"2021-08-16 16:23:03.000000000","message":"Done","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"f17d489c38881df63f583892c0938fe6d81ae285","unresolved":false,"context_lines":[{"line_number":176,"context_line":"\tif {[expr [expr $FLASH_OPTR \u0026 0x80000000] \u003d\u003d 0]} {"},{"line_number":177,"context_line":"\t\techo \"TZEN option bit disabled\""},{"line_number":178,"context_line":"\t\tahb_ap_non_secure_access"},{"line_number":179,"context_line":"\t} {"},{"line_number":180,"context_line":"\t\tahb_ap_secure_access"},{"line_number":181,"context_line":"\t\techo \"TZEN option bit enabled\""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_aebcb7b2","line":179,"updated":"2021-08-16 12:15:11.000000000","message":"In tcl if/then/else, both the \u0027then\u0027 and the \u0027else\u0027 keywords are optional.\nI don\u0027t think \u0027then\u0027 improves readability, but \u0027else\u0027 does! Using \u0027else\u0027 it also prevents that reformatting the code could break it.","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"95b8794c1a1c35ec39cd72b32868b56d2d144626","unresolved":false,"context_lines":[{"line_number":176,"context_line":"\tif {[expr [expr $FLASH_OPTR \u0026 0x80000000] \u003d\u003d 0]} {"},{"line_number":177,"context_line":"\t\techo \"TZEN option bit disabled\""},{"line_number":178,"context_line":"\t\tahb_ap_non_secure_access"},{"line_number":179,"context_line":"\t} {"},{"line_number":180,"context_line":"\t\tahb_ap_secure_access"},{"line_number":181,"context_line":"\t\techo \"TZEN option bit enabled\""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_8e51bb67","line":179,"in_reply_to":"2ecb373e_aebcb7b2","updated":"2021-08-16 16:23:03.000000000","message":"Done","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"f17d489c38881df63f583892c0938fe6d81ae285","unresolved":false,"context_lines":[{"line_number":181,"context_line":"\t\techo \"TZEN option bit enabled\""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"\t\t# check if FLASH_OPTR.RDP is not Level 0.5"},{"line_number":184,"context_line":"\t\tif {[expr [expr $FLASH_OPTR \u0026 0xFF] !\u003d 0x55]} {"},{"line_number":185,"context_line":"\t\t\tset use_secure_workarea 1"},{"line_number":186,"context_line":"\t\t}"},{"line_number":187,"context_line":"\t}"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_8ebf7ba7","line":184,"updated":"2021-08-16 12:15:11.000000000","message":"simplify here too","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"95b8794c1a1c35ec39cd72b32868b56d2d144626","unresolved":false,"context_lines":[{"line_number":181,"context_line":"\t\techo \"TZEN option bit enabled\""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"\t\t# check if FLASH_OPTR.RDP is not Level 0.5"},{"line_number":184,"context_line":"\t\tif {[expr [expr $FLASH_OPTR \u0026 0xFF] !\u003d 0x55]} {"},{"line_number":185,"context_line":"\t\t\tset use_secure_workarea 1"},{"line_number":186,"context_line":"\t\t}"},{"line_number":187,"context_line":"\t}"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_ae4ef7c2","line":184,"in_reply_to":"2ecb373e_8ebf7ba7","updated":"2021-08-16 16:23:03.000000000","message":"Done","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"f17d489c38881df63f583892c0938fe6d81ae285","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"\tif {$use_secure_workarea} {"},{"line_number":194,"context_line":"\t\tset workarea_addr [expr $workarea_addr | 0x10000000]"},{"line_number":195,"context_line":"\t} {"},{"line_number":196,"context_line":"\t\tset workarea_addr [expr $workarea_addr \u0026 ~0x10000000]"},{"line_number":197,"context_line":"\t}"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_4ed9932b","line":195,"updated":"2021-08-16 12:15:11.000000000","message":"please add \u0027else\u0027","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"},{"author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"change_message_id":"95b8794c1a1c35ec39cd72b32868b56d2d144626","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"\tif {$use_secure_workarea} {"},{"line_number":194,"context_line":"\t\tset workarea_addr [expr $workarea_addr | 0x10000000]"},{"line_number":195,"context_line":"\t} {"},{"line_number":196,"context_line":"\t\tset workarea_addr [expr $workarea_addr \u0026 ~0x10000000]"},{"line_number":197,"context_line":"\t}"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2ecb373e_4ec3d30a","line":195,"in_reply_to":"2ecb373e_4ed9932b","updated":"2021-08-16 16:23:03.000000000","message":"Done","commit_id":"e11acc40e381bd20540e81c76ecd074b979030a0"}]}
