lkml.org 
[lkml]   [2011]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 09/19] clock-imx35: fix reboot in internal boot modeg
    On Tue, Dec 13, 2011 at 07:31:41AM +0100, Eric Bénard wrote:
    > commit 8d75a2620dc3e33ce504044c375c443ed7ed4128 disable IIM
    > clock after reading silicon revision which will prevent
    > reboot in internal boot mode (see comment a few line before)

    I'm a bit unsure. The fix you suggest is the least intrusive, but
    a proper fix would be to move the mentioned block below the
    imx_print_silicon_rev, like this:

    clk_enable(&iim_clk);
    imx_print_silicon_rev("i.MX35", mx35_revision());
    clk_disable(&iim_clk);

    /*
    * Check if we came up in internal boot mode. If yes, we need
    * some
    * extra clocks turned on, otherwise the MX35 boot ROM code will
    * hang after a watchdog reset.
    */
    if (!(__raw_readl(CCM_BASE + CCM_RCSR) & (3 << 10))) {
    clk_enable(&iim_clk);
    clk_enable(&uart1_clk);
    clk_enable(&scc_clk);
    }

    This would also get the clk enable counters right.

    Sascha

    >
    > Signed-off-by: Eric Bénard <eric@eukrea.com>
    > Cc: Jason Liu <jason.hui@linaro.org>
    > Cc: Sascha Hauer <kernel@pengutronix.de>
    > ---
    > arch/arm/mach-imx/clock-imx35.c | 5 ++++-
    > 1 files changed, 4 insertions(+), 1 deletions(-)
    >
    > diff --git a/arch/arm/mach-imx/clock-imx35.c b/arch/arm/mach-imx/clock-imx35.c
    > index 8116f11..b49a732 100644
    > --- a/arch/arm/mach-imx/clock-imx35.c
    > +++ b/arch/arm/mach-imx/clock-imx35.c
    > @@ -538,7 +538,10 @@ int __init mx35_clocks_init()
    >
    > clk_enable(&iim_clk);
    > imx_print_silicon_rev("i.MX35", mx35_revision());
    > - clk_disable(&iim_clk);
    > + /* Don't disable IIM clock if we came up in internal boot mode */
    > + if (__raw_readl(CCM_BASE + CCM_RCSR) & (3 << 10)) {
    > + clk_disable(&iim_clk);
    > + }
    >
    > #ifdef CONFIG_MXC_USE_EPIT
    > epit_timer_init(&epit1_clk,
    > --
    > 1.7.6.4
    >
    >

    --
    Pengutronix e.K. | |
    Industrial Linux Solutions | http://www.pengutronix.de/ |
    Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
    Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-12-13 11:03    [W:5.101 / U:0.352 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site