
Hi Eric,
On 05/02/2015 18:22, Eric Nelson wrote:
There is very similar code in 'arch/arm/cpu/armv7/vf610/generic.c'. The write is for a hard power on case where these reason registers are full of weird bogus values (at least on Vybrid; I suspect on iMx). In the case of a non-POR, the register bits are good. However, if you don't clear the status, on the next reset it may have multiple registers bits even though you really want to know the last reason (bit).
Another option would be to clear the value and store the 'cause' somewhere for other U-Boot users. Unless you wanted to read this from an OS? I think both files should behave the same, all else equal.
I have assumed (maybe wrong ?) that the reason for the patch is to let the OS reading these bits.
In some cases (Windows Embedded), yes.
In the Linux case, we'll likely pass the value to the kernel through the kernel command-line, so it's available to userspace.
I'm not aware of any kernel functionality for this at the moment.
It remains the issue raised by Bill (thanks for that). If the bits are not reset, we can determine the cause only after POR, but not anymore after a warm start. Can you maybe use the IRAM to pass the information to Windows ?
Best regards, Stefano Babic