On 25 August 2015 at 20:34, Joachim Eastwood <[email protected]> wrote:
> I have finally managed to track down the reason for the hang that would
> occur when disabling clocks on lpc18xx under certain conditions. These
> conditions depend on boot mode used, what the boot loader does and if
> certain devices are enabled.
>
> One of reasons why it took me a while was that my primary platform was
> not affected by it and the data sheet has a rather misleading typo.
>
> The hang will occur if the boot rom/loader doesn't setup USB0 clocks
> and if certain AMBA devices are enabled (PL022 SSP and maybe others).
>
> Cause of the hang is that the CCU registers can not be accessed if the
> base (parent) clock is not enabled. To make sure the parent is running
> a check for this has been added to the is_enabled clk_ops callback.
> Since clocks in the CGU can be cascaded this check must also be added
> here.
>
> Maybe this check to see if the parent clock is running clock be added
> to the clk core and enabled with a flag(?) For now this patch set fixes
> the issue seen on lpc18xx.
>
> Changes since v2:
>  - Add clk.h to cgu since it uses clk_get_parent().
>  - Rebase on clk-next
>
> Joachim Eastwood (2):
>   clk: lpc18xx-ccu: fix potential system hang when disabling unused clocks
>   clk: lpc18xx-cgu: fix potential system hang when disabling unused clocks
>
>  drivers/clk/nxp/clk-lpc18xx-ccu.c | 14 +++++++++++++
>  drivers/clk/nxp/clk-lpc18xx-cgu.c | 43 
> ++++++++++++++++++++++++++++++++++++---
>  2 files changed, 54 insertions(+), 3 deletions(-)

Ping?


regards,
Joachim Eastwood
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to