How can you tell the default is 0x02? Any chance your debugger wrote 0x02 to the register at 0x4000 0000
upon connection to the target so that's the value you read? You can try it yourself if you have access
to the Lauterbach debugger. As far as I can tell it doesn't initialize the location 0x4000 0000 upon connection
to the target.
But that is not the point. The point is that there is a register at address 0x4000 0000
which strongly affects the operation of the microcontroller and it's not documented.
Can you find out and let me know what the function of that register is?
When you do that you will know exactly what the default value is as well.
Does that register affect only the boot software or does it have a 'hardware' function as well?
Perhaps it only affects the debugger cell in the microcontroller.