Hello.Hi.
My Freescale TWR-MPC5125 board instantly reboots if I touchFor me yes, because it's physically present on SoC and could not be muxed.
any physical address on the LocalPlus Bus (LPB) for the first time
when Linux has already booted.
This effect is reproduced by using /dev/mem or loading a kernel module
which works with any peripherals on LPB.
It took me some time to find out that such crash is caused by
clk_disable_unused() in drivers/clk/clk.c, which disables
LocalPlus Controller (LPC) clock if I don't touch LPB addresses in the
previous initcalls. So starting Linux with clk_ignore_unused bootparam
or inserting dummy LPB reading to some initcall is a temporary fix.
Is it correct to gate LPC clock?
If yes, how to avoid the mentionedYes, in my opinion this groups of clocks may be considered as "always on",
crashes properly?
There's a piece of code in arch/powerpc/platforms/512x/clock-commonclk.c
which is doubtful for me:
/*
* pre-enable those "internal" clock items which never get
* claimed by any peripheral driver, to not have the clock
* subsystem disable them late at startup
*/
clk_prepare_enable(clks[MPC512x_CLK_DUMMY]);
clk_prepare_enable(clks[MPC512x_CLK_E300]); /* PowerPC CPU */
clk_prepare_enable(clks[MPC512x_CLK_DDR]); /* DRAM */
clk_prepare_enable(clks[MPC512x_CLK_MEM]); /* SRAM */
clk_prepare_enable(clks[MPC512x_CLK_IPS]); /* SoC periph */
clk_prepare_enable(clks[MPC512x_CLK_LPC]); /* boot media */
Does it mean that these clocks should be registered with
CLK_IGNORE_UNUSED flag?
Thanks a lot.
Best regards,
Alexander
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@xxxxxxxxxxxxxxxx
https://lists.ozlabs.org/listinfo/linuxppc-dev