From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Wed, 25 Jan 2012 00:48:59 +0100 Subject: [U-Boot] [RFC] mx28: Fix reboot from the kernel In-Reply-To: <1327422192-24762-1-git-send-email-fabio.estevam@freescale.com> References: <1327422192-24762-1-git-send-email-fabio.estevam@freescale.com> Message-ID: <201201250049.00152.marek.vasut@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de > When running Linux on a mx28evk and issuing a 'reboot'command the following > behaviour is observed: > > root at freescale /$ reboot > starting pid 329, tty '': '/etc/rc.d/rcS stop' > root at 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 > --- > 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(); > } Can you explain why this patch fixes anything ? It's hard to understand why doing this would fix it.