On Thu, 10 Mar 2011 16:07:49 +0100 Stefano Babic <sba...@denx.de> wrote:
> On 03/10/2011 11:53 AM, Anatolij Gustschin wrote: > > Add output of the WRSR register content while booting so that > > we can see the source of the last reset. > > > > Signed-off-by: Anatolij Gustschin <ag...@denx.de> > > Hi Antolij, Hi Stefano, ... > > + printf("CPU: Freescale i.MX31 at %d MHz (WRSR=0x%04x)\n", > > + mx31_get_mcu_main_clk() / 1000000, wdog->wrsr); > > Why is it better to use the wrsr register instead of the rcsr register ? > We are actually using the rcsr register for other i.MX processors > (MX51/MX53/MX35). And if we want to print the reset cause, I think it > should be better to write directly the cause as string instead of the > register value. The reason for using wrsr register is that when reading this register, we can also recognize the software reset cause (SWFT, bit 0 is set). In our use case we have this requirement. U-Boot and Linux for iMX31 assert system reset by clearing SRS bit in wcr. This software reset is reported by SWFT in the wrsr register. When I read rcsr after a software reset, I always get watchdog timeout reset cause (probably because the reset was performed by writing to the watchdog module register wcr). But actually this reset was a software reset. I'm fine with using strings for reset cause if there is no objection. > I do not think printing the reset cause should be implemented in > print_cpuinfo(), because it manages a different issue (reset cause > against CPU information). The print_cpuinfo() should have only CPU > related values, as clock values, and so on, as it is implemented now for > this and other processors. Better to add a different function for the > reset cause. Were should we call this different function? Should be put it into init_sequence[]? Best regards, Anatolij _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot