
When running Linux on a mx28evk and issuing a 'reboot'command the following behaviour is observed:
root@freescale /$ reboot starting pid 329, tty '': '/etc/rc.d/rcS stop' root@freescale /$ Stopping inetd: Terminated Unmounting filesystems umount: tmpfs busy - remounted read-only chown: /home/user/.rhosts: Read-only file system chown: /home/user: Read-only file system chown: /home/user: Read-only file system cat: can't open '/proc/devices': No such file or directory The system is going down NOW! Sent SIGTERM to all processes Sent SIGKILL to all processes Requesting system reboot [ 24.240000] Restarting system.
U-Boot 2011.12-06887-g586ab2f-dirty (Jan 24 2012 - 12:58:50)
Freescale i.MX28 family DRAM: 0
, and then U-boot hangs.
Calling mx28_power_init() prior to mxs_iomux_setup_multiple_pads() fixes the problem and make U-boot to re-start succesfully.
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- This patch fixes the reboot issue, but I am not able to provide a good explanation for it, so I am marking it as RFC.
arch/arm/cpu/arm926ejs/mx28/spl_boot.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_boot.c b/arch/arm/cpu/arm926ejs/mx28/spl_boot.c index dfb8309..0e57252 100644 --- a/arch/arm/cpu/arm926ejs/mx28/spl_boot.c +++ b/arch/arm/cpu/arm926ejs/mx28/spl_boot.c @@ -49,8 +49,8 @@ void early_delay(int delay) void mx28_common_spl_init(const iomux_cfg_t *iomux_setup, const unsigned int iomux_size) { - mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size); mx28_power_init(); + mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size); mx28_mem_init(); mx28_power_wait_pswitch(); }