)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"5bbae77afb96f7ee5da5142be463c98874471e97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2d6a9842_98fdc801","updated":"2026-02-10 22:22:13.000000000","message":"I won\u0027t get to this anytime soon.  I do have a couple of silabs devboards, but I no longer work with any of them, so I don\u0027t have any handy test code.  I\u0027ll see what I can dig up, but no promises.","commit_id":"f0a6d89d72cb24346ab78c16bc4f7880df793a07"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"80e9538b63b8603fc255fa8bc8896119d7f829bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bab849e3_e518e794","updated":"2026-02-10 20:59:39.000000000","message":"Just a recommendation for eventual improvement.\nLooks good to me, but we should ask others for (mainly regression) testing.\n\nMarc, Karl, could you please test this series on real HW? Thanks!","commit_id":"f0a6d89d72cb24346ab78c16bc4f7880df793a07"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"a5134290460864b99875044fd5cd67a0bda21450","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0ede0b4a_4f7fe981","in_reply_to":"2d6a9842_98fdc801","updated":"2026-02-11 09:06:45.000000000","message":"\u003e I won\u0027t get to this anytime soon. I do have a couple of silabs devboards, but I no longer work with any of them, so I don\u0027t have any handy test code. I\u0027ll see what I can dig up, but no promises.\n\nNo worries, I have a bunch of EFM32/EFR32 boards in my test bench and will test the patches for regression etc.","commit_id":"f0a6d89d72cb24346ab78c16bc4f7880df793a07"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"82e5ef9be30d7b83edc5f414042ab721ec826ade","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5bb08e31_65d7defd","updated":"2026-03-05 21:01:58.000000000","message":"@tomas, with the tests made by Karl and Marc, I believe this PR is ready to be merged (There are still a few comment for optional changes. I think it could be done later).","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"93ee3c1d2a2c436df27e1d3692d070ab856b7211","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b1326a12_9304b95e","updated":"2026-03-04 22:29:28.000000000","message":"I\u0027ve tested the https://github.com/jerome-pouiller/openocd/tree/upstream-support-series2-13 branch with an efm32hg, a bg22 (zephyr board id: bg22_ek4108a) and a mg24 (zephyr board id: xg24_ek2703a) \n\nI don\u0027t have any series 0 or series 1 devices.\n\nI can connect, flash, break, reset and halt, more than I\u0027ve ever been able to do.  I think the xg22 reset handling was missing in all my earlier attempts.  I have not looked further at the code itself at this point, nor do I know how best to split this positive test result across the chain of patches here, but this looks great!","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"d6fa4699a8186b5657c2d3e277ec4fbc77ae0a65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"16037627_592ae47e","updated":"2026-03-04 10:20:19.000000000","message":"Is there a branch I can get that has this complete series in it?","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0e8e5c8dc6d4b3548e8146f581c511f567297b72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c1e66e7d_6188140f","updated":"2026-03-07 12:53:17.000000000","message":"Thanks for the patch series @jerome! I added comments about some (minor) coding style issues, please fix them.\n\nThe patch series works fine and was successfully (regression) tested on the following devices:\n\n**Series 0**\n\n - EFM32GG230F512G-E-QFN64\n - EZR32WG330F256R55G-C0\n - EFM32PG12B500F1024GL125-C\n \n**Series 1**\n\n - EFR32MG12P332F1024GL125\n\n**Series 2**\n\n - EFM32PG22C200F512IM40-C\n - EFR32FG23B010F512IM48-C\n - EFM32PG23B310F512IM48-B\n - EFM32PG28B310F1024IM68-A\n - EFR32MG24B210F1536IM48-B\n\nThe tests included basic core operations, breakpoints, device identification, flash bank and sector size checks as well as (manual) flash sector programming and erasing.\n\n@jerome please take a look at the board configs I pushed.","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"67f66a4266183eae38f066a0f6f95764d62cef45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2a5b01d1_de186c3e","in_reply_to":"16037627_592ae47e","updated":"2026-03-04 10:28:41.000000000","message":"I don\u0027t know how to this with gerrit.\n\nI have just pushed that branch to https://github.com/jerome-pouiller/openocd/tree/upstream-support-series2-13","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"1429e460e736e9d37d3d71f8baea38538a0256ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"77b1f1c9_0115fd70","in_reply_to":"5bb08e31_65d7defd","updated":"2026-03-05 21:30:09.000000000","message":"I\u0027m sure Marc will re-test the updated patch and put score","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"e039c93d3bf642247e1a4ae5d757feb121662615","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"706b69ec_f274adba","in_reply_to":"b1326a12_9304b95e","updated":"2026-03-05 06:33:23.000000000","message":"In fact, efm32hg is Series-0 :-)","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"3ccfd10f23c535e4ae77f1741549ed9bd9f9428c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"580f975d_7579dbbb","updated":"2026-03-27 15:23:14.000000000","message":"Hello,\n\nWhat can I do to help to merge this PR?\n\n(The comments that are still opened are suggestions for a future work. So, I don\u0027t plan to send new version of this PR. Correct me if I am wrong.)","commit_id":"4e007c8137feaf96b4b18c61f99fde6b44860569"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"c5ab91fa6f9e8818ae7ffac8dd12b87e6cabc668","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"64190394_691c6bd0","updated":"2026-04-17 09:39:32.000000000","message":"I re-tested with EFR32BG22 C224, rev 8.\n\nBesides the problem with `reset_config srst_only; reset halt` discussed in\n9400: [RFC/DNM] tcl/target: Add support for xG22/xG27 | https://review.openocd.org/c/openocd/+/9400\nno problems spotted.\n\nI will merge the series after a chill-out period (a week or two)","commit_id":"4e007c8137feaf96b4b18c61f99fde6b44860569"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0f852232ba35ea96465f02ffd6c05a098696fe3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"84530864_578b2522","updated":"2026-04-13 19:46:41.000000000","message":"Tested the patch series again on all devices mentioned above.","commit_id":"4e007c8137feaf96b4b18c61f99fde6b44860569"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"64d61bca24af2df7658c9a3c991c295caf78e4e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8e59b884_d4b4b602","in_reply_to":"580f975d_7579dbbb","updated":"2026-03-28 08:08:40.000000000","message":"Hi Jérôme!\n\nI need a bit of time to review the patch series. I’m quite busy at the moment, but I’m hoping to find time next week. To avoid an extra review round, please make sure that you\u0027ve addressed all comments in your patch series and that your code complies with the coding style [1].\n\n[1] https://openocd.org/doc/doxygen/html/stylec.html","commit_id":"4e007c8137feaf96b4b18c61f99fde6b44860569"}],"src/flash/nor/efm32.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"80e9538b63b8603fc255fa8bc8896119d7f829bb","unresolved":true,"context_lines":[{"line_number":300,"context_line":""},{"line_number":301,"context_line":"\tif (efm32_mcu_info-\u003efamily_data-\u003epage_size !\u003d 0) {"},{"line_number":302,"context_line":"\t\tefm32_mcu_info-\u003epage_size \u003d efm32_mcu_info-\u003efamily_data-\u003epage_size;"},{"line_number":303,"context_line":"\t} else if ((efm32_mcu_info-\u003efamily_data-\u003epart_id \u003d\u003d 72 ||"},{"line_number":304,"context_line":"\t\t    efm32_mcu_info-\u003efamily_data-\u003epart_id \u003d\u003d 74) \u0026\u0026"},{"line_number":305,"context_line":"\t\t   efm32_mcu_info-\u003epart_rev \u003c 18) {"},{"line_number":306,"context_line":"\t\t/* EFM32 GG/LG errata: MEM_INFO_PAGE_SIZE is invalid for MCUs"},{"line_number":307,"context_line":"\t\t * with part_rev \u003c 18"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"7cfa54b3_07b2cc5e","line":304,"range":{"start_line":303,"start_character":13,"end_line":304,"end_character":48},"updated":"2026-02-10 20:59:39.000000000","message":"The test is worse readable without defined IDs, GG/LG in the following\ncomment is not immediately clear.\nIt would be nice to have bit flags in `struct efm32_family_data`\nand set one of them for this errata. This way we could avoid tests for ID\nnumbers scattered over the source, all info would reside in `efm32_families`\nNot a blocker, if you have time please create a separate patch.","commit_id":"f0a6d89d72cb24346ab78c16bc4f7880df793a07"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"63af175e14def67ddc317910ea6cd08640b1c3a9","unresolved":true,"context_lines":[{"line_number":1097,"context_line":"\t} else {"},{"line_number":1098,"context_line":"\t\tbank-\u003enum_sectors \u003d 1;"},{"line_number":1099,"context_line":"\t}"},{"line_number":1100,"context_line":"\tbank-\u003esize \u003d bank-\u003enum_sectors * efm32_mcu_info-\u003epage_size;"},{"line_number":1101,"context_line":"\tbank-\u003esectors \u003d alloc_block_array(0,"},{"line_number":1102,"context_line":"\t\t\t\t\t  efm32_mcu_info-\u003epage_size,"},{"line_number":1103,"context_line":"\t\t\t\t\t  bank-\u003enum_sectors);"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"c58705de_ab7bd086","line":1100,"updated":"2026-02-11 09:29:00.000000000","message":"For series 0/1 devices, the page sizes for user data (UD) and main flash memory are (always?) the same. This is not the case for series 2 devices. See table 5.1 in EFM32PG28 RM as counterexample. 8 KiB for main flash memory and 1 KiB for user data region. In your current implementation the user data area is 8 KiB instead of 1 KiB.\n\n(Detected by test bench)","commit_id":"f0a6d89d72cb24346ab78c16bc4f7880df793a07"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"e2027fdaa29e2f306af8762ebeb61b6517d8c397","unresolved":false,"context_lines":[{"line_number":1097,"context_line":"\t} else {"},{"line_number":1098,"context_line":"\t\tbank-\u003enum_sectors \u003d 1;"},{"line_number":1099,"context_line":"\t}"},{"line_number":1100,"context_line":"\tbank-\u003esize \u003d bank-\u003enum_sectors * efm32_mcu_info-\u003epage_size;"},{"line_number":1101,"context_line":"\tbank-\u003esectors \u003d alloc_block_array(0,"},{"line_number":1102,"context_line":"\t\t\t\t\t  efm32_mcu_info-\u003epage_size,"},{"line_number":1103,"context_line":"\t\t\t\t\t  bank-\u003enum_sectors);"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"c302c8af_a38cfc9d","line":1100,"in_reply_to":"c58705de_ab7bd086","updated":"2026-02-26 16:51:33.000000000","message":"I believe I have fixed the usse","commit_id":"f0a6d89d72cb24346ab78c16bc4f7880df793a07"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0e8e5c8dc6d4b3548e8146f581c511f567297b72","unresolved":true,"context_lines":[{"line_number":64,"context_line":"\t[0] \u003d {"},{"line_number":65,"context_line":"\t\t.part_num  \u003d EFM32_MSC_INFO_BASE + 0x81fc,"},{"line_number":66,"context_line":"\t\t.part_rev  \u003d EFM32_MSC_INFO_BASE + 0x81ff,"},{"line_number":67,"context_line":"\t\t.part_info \u003d 0x00000000, /* Not used in Series 0/1 */"},{"line_number":68,"context_line":"\t\t.page_size \u003d EFM32_MSC_INFO_BASE + 0x81e7,"},{"line_number":69,"context_line":"\t\t.flash_sz  \u003d EFM32_MSC_INFO_BASE + 0x81f8,"},{"line_number":70,"context_line":"\t\t.ram_sz    \u003d EFM32_MSC_INFO_BASE + 0x81fa,"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"a79c8223_edb8454e","line":67,"updated":"2026-03-07 12:53:17.000000000","message":"Use `//` for single-line comments.","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"08a1af96d91a39248a48d575d09bff2713081d25","unresolved":false,"context_lines":[{"line_number":64,"context_line":"\t[0] \u003d {"},{"line_number":65,"context_line":"\t\t.part_num  \u003d EFM32_MSC_INFO_BASE + 0x81fc,"},{"line_number":66,"context_line":"\t\t.part_rev  \u003d EFM32_MSC_INFO_BASE + 0x81ff,"},{"line_number":67,"context_line":"\t\t.part_info \u003d 0x00000000, /* Not used in Series 0/1 */"},{"line_number":68,"context_line":"\t\t.page_size \u003d EFM32_MSC_INFO_BASE + 0x81e7,"},{"line_number":69,"context_line":"\t\t.flash_sz  \u003d EFM32_MSC_INFO_BASE + 0x81f8,"},{"line_number":70,"context_line":"\t\t.ram_sz    \u003d EFM32_MSC_INFO_BASE + 0x81fa,"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"7365b638_da9c58e1","line":67,"in_reply_to":"a79c8223_edb8454e","updated":"2026-03-08 10:15:07.000000000","message":"Done","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0e8e5c8dc6d4b3548e8146f581c511f567297b72","unresolved":true,"context_lines":[{"line_number":78,"context_line":"\t\t.ram_sz    \u003d EFM32_MSC_INFO_BASE + 0x81fa,"},{"line_number":79,"context_line":"\t},"},{"line_number":80,"context_line":"\t[2] \u003d {"},{"line_number":81,"context_line":"\t\t.part_num  \u003d 0x00000000, /* Not used in Series 2 */"},{"line_number":82,"context_line":"\t\t.part_rev  \u003d EFM32_MSC_INFO_BASE + 0x8002,"},{"line_number":83,"context_line":"\t\t.part_info \u003d EFM32_MSC_INFO_BASE + 0x8004,"},{"line_number":84,"context_line":"\t\t.page_size \u003d EFM32_MSC_INFO_BASE + 0x8008,"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"2ffb2218_6a4b572c","line":81,"updated":"2026-03-07 12:53:17.000000000","message":"Same here.","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"08a1af96d91a39248a48d575d09bff2713081d25","unresolved":false,"context_lines":[{"line_number":78,"context_line":"\t\t.ram_sz    \u003d EFM32_MSC_INFO_BASE + 0x81fa,"},{"line_number":79,"context_line":"\t},"},{"line_number":80,"context_line":"\t[2] \u003d {"},{"line_number":81,"context_line":"\t\t.part_num  \u003d 0x00000000, /* Not used in Series 2 */"},{"line_number":82,"context_line":"\t\t.part_rev  \u003d EFM32_MSC_INFO_BASE + 0x8002,"},{"line_number":83,"context_line":"\t\t.part_info \u003d EFM32_MSC_INFO_BASE + 0x8004,"},{"line_number":84,"context_line":"\t\t.page_size \u003d EFM32_MSC_INFO_BASE + 0x8008,"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"d2df86fa_7404999d","line":81,"in_reply_to":"2ffb2218_6a4b572c","updated":"2026-03-08 10:15:07.000000000","message":"Done","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0e8e5c8dc6d4b3548e8146f581c511f567297b72","unresolved":true,"context_lines":[{"line_number":126,"context_line":"}"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"struct efm32_family_data {"},{"line_number":129,"context_line":"\tint part_id;"},{"line_number":130,"context_line":"\tint series;"},{"line_number":131,"context_line":"\tconst char *name;"},{"line_number":132,"context_line":"\tuint32_t msc_regbase;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"58ac1826_124ded90","line":129,"updated":"2026-03-07 12:53:17.000000000","message":"You use `int` here and below `uint8_t` -\u003e `unsigned int` or `uint8_t`","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"08a1af96d91a39248a48d575d09bff2713081d25","unresolved":false,"context_lines":[{"line_number":126,"context_line":"}"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"struct efm32_family_data {"},{"line_number":129,"context_line":"\tint part_id;"},{"line_number":130,"context_line":"\tint series;"},{"line_number":131,"context_line":"\tconst char *name;"},{"line_number":132,"context_line":"\tuint32_t msc_regbase;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"98aa2e34_8221466c","line":129,"in_reply_to":"58ac1826_124ded90","updated":"2026-03-08 10:15:07.000000000","message":"Done","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0e8e5c8dc6d4b3548e8146f581c511f567297b72","unresolved":true,"context_lines":[{"line_number":131,"context_line":"\tconst char *name;"},{"line_number":132,"context_line":"\tuint32_t msc_regbase;"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"\t/* Page size in bytes, or 0 to read from msc_di-\u003epage_size */"},{"line_number":135,"context_line":"\tint page_size;"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"};"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"622c9ec0_0f43b2e4","line":134,"updated":"2026-03-07 12:53:17.000000000","message":"Same here.","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"08a1af96d91a39248a48d575d09bff2713081d25","unresolved":false,"context_lines":[{"line_number":131,"context_line":"\tconst char *name;"},{"line_number":132,"context_line":"\tuint32_t msc_regbase;"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"\t/* Page size in bytes, or 0 to read from msc_di-\u003epage_size */"},{"line_number":135,"context_line":"\tint page_size;"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"};"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"dab26be4_d07c8eec","line":134,"in_reply_to":"622c9ec0_0f43b2e4","updated":"2026-03-08 10:15:07.000000000","message":"Done","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0e8e5c8dc6d4b3548e8146f581c511f567297b72","unresolved":true,"context_lines":[{"line_number":139,"context_line":"struct efm32_info {"},{"line_number":140,"context_line":"\tconst struct efm32_family_data *family_data;"},{"line_number":141,"context_line":"\tconst struct efm32_dev_info_addr *di_addr;"},{"line_number":142,"context_line":"\tuint16_t part_num;     /* Series 0/1 only */"},{"line_number":143,"context_line":"\tuint32_t part_info;    /* Series 2 only */"},{"line_number":144,"context_line":"\tuint8_t  part_rev;"},{"line_number":145,"context_line":"\tuint16_t flash_sz_kib;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"79f8c313_ba00af37","line":142,"updated":"2026-03-07 12:53:17.000000000","message":"Also here.","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"08a1af96d91a39248a48d575d09bff2713081d25","unresolved":false,"context_lines":[{"line_number":139,"context_line":"struct efm32_info {"},{"line_number":140,"context_line":"\tconst struct efm32_family_data *family_data;"},{"line_number":141,"context_line":"\tconst struct efm32_dev_info_addr *di_addr;"},{"line_number":142,"context_line":"\tuint16_t part_num;     /* Series 0/1 only */"},{"line_number":143,"context_line":"\tuint32_t part_info;    /* Series 2 only */"},{"line_number":144,"context_line":"\tuint8_t  part_rev;"},{"line_number":145,"context_line":"\tuint16_t flash_sz_kib;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"fdf78d46_b5c3c83b","line":142,"in_reply_to":"79f8c313_ba00af37","updated":"2026-03-08 10:15:07.000000000","message":"Done","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1000853,"name":"Marc Schink","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0e8e5c8dc6d4b3548e8146f581c511f567297b72","unresolved":true,"context_lines":[{"line_number":255,"context_line":"\tret \u003d target_read_u8(bank-\u003etarget, EFM32_DI_PART_FAMILY, \u0026tmp);"},{"line_number":256,"context_line":"\tif (ret !\u003d ERROR_OK)"},{"line_number":257,"context_line":"\t\treturn ret;"},{"line_number":258,"context_line":"\tfor (i \u003d 0; i \u003c ARRAY_SIZE(efm32_families); i++) {"},{"line_number":259,"context_line":"\t\tif (efm32_families[i].part_id \u003d\u003d tmp)"},{"line_number":260,"context_line":"\t\t\tefm32_mcu_info-\u003efamily_data \u003d \u0026efm32_families[i];"},{"line_number":261,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"3e240718_ce57bf0b","line":258,"updated":"2026-03-07 12:53:17.000000000","message":"Variable declaration here.","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"08a1af96d91a39248a48d575d09bff2713081d25","unresolved":false,"context_lines":[{"line_number":255,"context_line":"\tret \u003d target_read_u8(bank-\u003etarget, EFM32_DI_PART_FAMILY, \u0026tmp);"},{"line_number":256,"context_line":"\tif (ret !\u003d ERROR_OK)"},{"line_number":257,"context_line":"\t\treturn ret;"},{"line_number":258,"context_line":"\tfor (i \u003d 0; i \u003c ARRAY_SIZE(efm32_families); i++) {"},{"line_number":259,"context_line":"\t\tif (efm32_families[i].part_id \u003d\u003d tmp)"},{"line_number":260,"context_line":"\t\t\tefm32_mcu_info-\u003efamily_data \u003d \u0026efm32_families[i];"},{"line_number":261,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"2347decd_9e365874","line":258,"in_reply_to":"3e240718_ce57bf0b","updated":"2026-03-08 10:15:07.000000000","message":"Done","commit_id":"c82434d5f321ea6487b6efc8826f63b110fe6993"}],"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":"80e9538b63b8603fc255fa8bc8896119d7f829bb","unresolved":false,"context_lines":[{"line_number":512,"context_line":"\t  .device_str            \u003d \"STM32U535/U545\","},{"line_number":513,"context_line":"\t  .max_flash_size_kb     \u003d 512,"},{"line_number":514,"context_line":"\t  .flags                 \u003d F_HAS_DUAL_BANK | F_QUAD_WORD_PROG | F_HAS_TZ"},{"line_number":515,"context_line":"\t\t\t\t\t\t\t\t| F_HAS_L5_FLASH_REGS | F_WRP_HAS_LOCK,"},{"line_number":516,"context_line":"\t  .flash_regs_base       \u003d 0x40022000,"},{"line_number":517,"context_line":"\t  .fsize_addr            \u003d 0x0BFA07A0,"},{"line_number":518,"context_line":"\t  .otp_base              \u003d 0x0BFA0000,"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"7247d009_ce6649e7","line":515,"updated":"2026-02-10 20:59:39.000000000","message":"Example of bit flags usage in the device ID list.","commit_id":"f0a6d89d72cb24346ab78c16bc4f7880df793a07"}]}
