This is an automated email from Gerrit. "Mikhail Iakhiaev <[email protected]>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9417
-- gerrit commit d9ea8248e9eda6f61e326db681ced9639b965c24 Author: Mikhail Iakhiaev <[email protected]> Date: Wed Jan 28 16:03:02 2026 -0800 flash/nor/mspm0.c: organize + new parts 1. Added comments like /* MSPM0G310x-Q1 */ to the parts table based on the datasheet the parts came from. 2. Added some missing variants for the existin devices, and removed one variant that was no longer in the datasheet. 3. Sorted the MSPM0G310x-Q1 devices lines alphabetically, this is how all other MSPM0G parts are organized. 4. Added MSPM0G350x-Q1 devices. Datasheet: Link: https://www.ti.com/lit/ds/symlink/mspm0g3507-q1.pdf#page=77 Smoke-tested that the code works programming the LP-MSPM0G3507 board (unfortunately, I don't have access to the actual parts that I've toched in this file). Change-Id: Id4a14b284a5d032d140d695674d1912cbe87d7f6 Signed-off-by: Mikhail Iakhiaev <[email protected]> diff --git a/src/flash/nor/mspm0.c b/src/flash/nor/mspm0.c index 62fd5e8c40..27c04d05da 100644 --- a/src/flash/nor/mspm0.c +++ b/src/flash/nor/mspm0.c @@ -128,6 +128,7 @@ struct mspm0_family_info { /* https://www.ti.com/lit/ds/symlink/mspm0l1346.pdf Table 8-13 and so on */ static const struct mspm0_part_info mspm0l_parts[] = { + /* MSPM0L110x */ { "MSPM0L1105TDGS20R", 0x51DB, 0x16 }, { "MSPM0L1105TDGS28R", 0x51DB, 0x83 }, { "MSPM0L1105TDYYR", 0x51DB, 0x54 }, @@ -138,6 +139,7 @@ static const struct mspm0_part_info mspm0l_parts[] = { { "MSPM0L1106TDYYR", 0x5552, 0x9D }, { "MSPM0L1106TRGER", 0x5552, 0x90 }, { "MSPM0L1106TRHBR", 0x5552, 0x53 }, + /* MSPM0L130x (covers MSPM0L134x) */ { "MSPM0L1303SRGER", 0xef0, 0x17 }, { "MSPM0L1303TRGER", 0xef0, 0xe2 }, { "MSPM0L1304QDGS20R", 0xd717, 0x91 }, @@ -188,20 +190,24 @@ static const struct mspm0_part_info mspm0l_parts[] = { { "MSPM0L1346TDGS28R", 0xf2b5, 0xef }, }; -/* https://www.ti.com/lit/ds/symlink/mspm0g3506.pdf Table 8-20 */ +/* https://www.ti.com/lit/ds/symlink/mspm0g3506.pdf Table 8-22 */ static const struct mspm0_part_info mspm0g_parts[] = { + /* MSPM0G110x */ { "MSPM0G1105TPTR", 0x8934, 0xD }, { "MSPM0G1105TRGZR", 0x8934, 0xFE }, { "MSPM0G1106TPMR", 0x477B, 0xD4 }, { "MSPM0G1106TPTR", 0x477B, 0x71 }, { "MSPM0G1106TRGZR", 0x477B, 0xBB }, - { "MSPM0G1106TRHBR", 0x477B, 0x0 }, + { "MSPM0G1106TRHBR", 0x477B, 0x01 }, + { "MSPM0G1106TYCJR", 0x477B, 0x09 }, { "MSPM0G1107TDGS28R", 0x807B, 0x82 }, { "MSPM0G1107TPMR", 0x807B, 0xB3 }, { "MSPM0G1107TPTR", 0x807B, 0x32 }, { "MSPM0G1107TRGER", 0x807B, 0x79 }, { "MSPM0G1107TRGZR", 0x807B, 0x20 }, { "MSPM0G1107TRHBR", 0x807B, 0xBC }, + { "MSPM0G1107TYCJR", 0x807B, 0x7A }, + /* MSPM0G150x */ { "MSPM0G1505SDGS28R", 0x13C4, 0x73 }, { "MSPM0G1505SPMR", 0x13C4, 0x53 }, { "MSPM0G1505SPTR", 0x13C4, 0x3E }, @@ -213,11 +219,16 @@ static const struct mspm0_part_info mspm0g_parts[] = { { "MSPM0G1506SRGER", 0x5AE0, 0x67 }, { "MSPM0G1506SRGZR", 0x5AE0, 0x75 }, { "MSPM0G1506SRHBR", 0x5AE0, 0x57 }, + { "MSPM0G1506SRPTR", 0x5AE0, 0x36 }, + { "MSPM0G1506SYCJR", 0x5AE0, 0x9E }, { "MSPM0G1507SDGS28R", 0x2655, 0x6D }, { "MSPM0G1507SPMR", 0x2655, 0x97 }, + { "MSPM0G1507SPTR", 0x2655, 0x2E }, { "MSPM0G1507SRGER", 0x2655, 0x83 }, { "MSPM0G1507SRGZR", 0x2655, 0xD3 }, { "MSPM0G1507SRHBR", 0x2655, 0x4D }, + { "MSPM0G1507SYCJR", 0x2655, 0x65 }, + /* MSPM0G310x */ { "MSPM0G3105SDGS20R", 0x4749, 0x21 }, { "MSPM0G3105SDGS28R", 0x4749, 0xDD }, { "MSPM0G3105SRHBR", 0x4749, 0xBE }, @@ -227,12 +238,12 @@ static const struct mspm0_part_info mspm0g_parts[] = { { "MSPM0G3107SDGS20R", 0xAB39, 0x5C }, { "MSPM0G3107SDGS28R", 0xAB39, 0xCC }, { "MSPM0G3107SRHBR", 0xAB39, 0xB7 }, + /* MSPM0G350x */ { "MSPM0G3505SDGS28R", 0xc504, 0x8e }, { "MSPM0G3505SPMR", 0xc504, 0x1d }, { "MSPM0G3505SPTR", 0xc504, 0x93 }, { "MSPM0G3505SRGZR", 0xc504, 0xc7 }, { "MSPM0G3505SRHBR", 0xc504, 0xe7 }, - { "MSPM0G3505TDGS28R", 0xc504, 0xdf }, { "MSPM0G3506SDGS28R", 0x151f, 0x8 }, { "MSPM0G3506SPMR", 0x151f, 0xd4 }, { "MSPM0G3506SPTR", 0x151f, 0x39 }, @@ -243,27 +254,47 @@ static const struct mspm0_part_info mspm0g_parts[] = { { "MSPM0G3507SPTR", 0xae2d, 0x3f }, { "MSPM0G3507SRGZR", 0xae2d, 0xf7 }, { "MSPM0G3507SRHBR", 0xae2d, 0x4c }, - { "M0G3107QPMRQ1", 0x4e2f, 0x51 }, - { "M0G3107QPTRQ1", 0x4e2f, 0xc7}, - { "M0G3107QRGZRQ1", 0x4e2f, 0x8a }, - { "M0G3107QRHBRQ1", 0x4e2f, 0x9a}, - { "M0G3107QDGS28RQ1", 0x4e2f, 0xd5}, - { "M0G3107QDGS28RQ1", 0x4e2f, 0x67}, - { "M0G3107QDGS20RQ1", 0x4e2f, 0xfd}, - { "M0G3106QPMRQ1", 0x54C7, 0x08}, - { "M0G3105QDGS32RQ1", 0x1349, 0x08}, - { "M0G3106QPTRQ1", 0x54C7, 0x3F}, - { "M0G3105QDGS28RQ1", 0x1349, 0x1B}, - { "M0G3106QRGZRQ1", 0x94AD, 0xE6}, + /* MSPM0G310x-Q1 */ { "M0G3105QDGS20RQ1", 0x1349, 0xFB}, - { "M0G3106QRHBRQ1", 0x94AD, 0x20}, - { "M0G3106QDGS32RQ1", 0x94AD, 0x8D}, - { "M0G3106QDGS28RQ1", 0x94AD, 0x03}, - { "M0G3106QDGS20RQ1", 0x94AD, 0x6F}, + { "M0G3105QDGS28RQ1", 0x1349, 0x1B}, + { "M0G3105QDGS32RQ1", 0x1349, 0x08}, { "M0G3105QPMRQ1", 0x1349, 0xD0}, { "M0G3105QPTRQ1", 0x1349, 0xEF}, { "M0G3105QRGZRQ1", 0x1349, 0x70}, { "M0G3105QRHBRQ1", 0x1349, 0x01}, + { "M0G3106QDGS20RQ1", 0x94AD, 0x6F}, + { "M0G3106QDGS28RQ1", 0x94AD, 0x03}, + { "M0G3106QDGS32RQ1", 0x94AD, 0x8D}, + { "M0G3106QPMRQ1", 0x54C7, 0x08}, + { "M0G3106QPTRQ1", 0x54C7, 0x3F}, + { "M0G3106QRGZRQ1", 0x94AD, 0xE6}, + { "M0G3106QRHBRQ1", 0x94AD, 0x20}, + { "M0G3107QDGS20RQ1", 0x4e2f, 0xfd}, + { "M0G3107QDGS28RQ1", 0x4e2f, 0xd5}, + { "M0G3107QDGS28RQ1", 0x4e2f, 0x67}, + { "M0G3107QPMRQ1", 0x4e2f, 0x51 }, + { "M0G3107QPTRQ1", 0x4e2f, 0xc7}, + { "M0G3107QRGZRQ1", 0x4e2f, 0x8a }, + { "M0G3107QRHBRQ1", 0x4e2f, 0x9a}, + /* MSPM0G350x-Q1 */ + { "M0G3505QDGS28RQ1", 0x704E, 0x4C }, + { "M0G3505QDGS32RQ1", 0x704E, 0x7F }, + { "M0G3505QPMRQ1", 0x704E, 0x7B }, + { "M0G3505QPTRQ1", 0x704E, 0x9C }, + { "M0G3505QRGZRQ1", 0x704E, 0xC9 }, + { "M0G3505QRHBRQ1", 0x704E, 0x26 }, + { "M0G3506QDGS28RQ1", 0xEE12, 0x71 }, + { "M0G3506QDGS32RQ1", 0xEE12, 0x6C }, + { "M0G3506QPMRQ1", 0xEE12, 0x7B }, + { "M0G3506QPTRQ1", 0xEE12, 0x5A }, + { "M0G3506QRGZRQ1", 0xEE12, 0xD2 }, + { "M0G3506QRHBRQ1", 0xEE12, 0xFC }, + { "M0G3507QDGS28RQ1", 0x34E0, 0xEA }, + { "M0G3507QDGS32RQ1", 0x34E0, 0xF6 }, + { "M0G3507QPMRQ1", 0x34E0, 0x26 }, + { "M0G3507QRGZRQ1", 0x34E0, 0xC5 }, + { "M0G3507QRHBRQ1", 0x34E0, 0xAC }, + { "M0G3507QSPTRQ1", 0x34E0, 0xE3 }, }; /* https://www.ti.com/lit/gpn/mspm0c1104 Table 8-12 and so on */ --
