This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0L1306: implementation of DSSM factory reset over SWD

Part Number: MSPM0L1306

Hi,

I need a clarification how to implement the DSSM factory reset over SWD interface. I am developing the programming solution for MSPM0Lx devices where the host(master) controls the MSPM0Lx device and program/erase it over SWD interface. Now I'm stuck because I need to restore factory settings in NONMAIN flash. I would like to use a factory reset command using debug sub system mailbox.

My problem is, that I do not know, how to access the DSSM registers for implement the factory reset.

My current algo for factory reset is:

1. power-up the device

2. run mandatory initialization procedures(read 0x6BA0477, system and debug power-up in CTRL/STAT register, etc)

3. In AP select register I choose the SEC-AP unit by writing the data 0x02000000.

4. I try to read the SPECIAL_AUTH register(offsett 0x1200) which should have the value of 0x00000013. Instead of this value I read the 0x0. 

The SPECIAL_AUTH register is read as:

a) write address of 0x1200 to the AP TAR register.

b) first read of the vlaue via AP DRW register, second read via DP RDBUFF register (expected value 0x00000013)

Is the offset 0x1200 the correct final address of SPECIAL_AUTH register? Or is it needed to add this offset to some "base register address"? If yes, what is the base?

What is the next steps for implementing the factory reset? I will be gratefull for step sequences how to write to DSSM registers for achieving the factory reset. 

Thank you!

Best regards,

Tomas