[PATCH v1 0/3] Transition pxa25x clock to common clocks
robert.jarzmik at free.fr
Thu Nov 6 12:04:21 PST 2014
Dmitry Eremin-Solenikov <dbaryshkov at gmail.com> writes:
> Tested in qemu (pxa25x target).
> 0) Had to revert 23c4a3a5212701ad34bd30591fa33d7bacef9c5f to get kernel
> to build for pxa25x + pxa27x.
Yes, good move.
> 1) I got the following backtrace early in the boot:
> Division by zero in kernel.
> CPU: 0 PID: 0 Comm: swapper Not tainted 3.18.0-rc2-00011-g7805b78 #97
> [<c000e028>] (unwind_backtrace) from [<c000c0b4>] (show_stack+0x10/0x14)
> [<c000c0b4>] (show_stack) from [<c01a3af0>] (Ldiv0+0x8/0x10)
> [<c01a3af0>] (Ldiv0) from [<c029bb9c>] (clk_pxa25x_memory_get_rate+0x28/0x30)
> [<c029bb9c>] (clk_pxa25x_memory_get_rate) from [<c029b114>]
> [<c029b114>] (clk_composite_recalc_rate) from [<c0299888>]
> [<c0299888>] (__clk_init) from [<c0299d24>] (clk_register+0x100/0x1c4)
> [<c0299d24>] (clk_register) from [<c029b518>]
> [<c029b518>] (clk_register_composite) from [<c04cecd4>]
> [<c04cecd4>] (pxa25x_clocks_init) from [<c04c048c>] (pxa_timer_init+0x18/0x64)
> [<c04c048c>] (pxa_timer_init) from [<c04bde88>] (time_init+0x1c/0x2c)
> [<c04bde88>] (time_init) from [<c04bbb14>] (start_kernel+0x268/0x3e8)
> [<c04bbb14>] (start_kernel) from [<a0008040>] (0xa0008040)
> It might be due to something being not emulated properly, but I'd
> suggest to add a check
You're right about that part. According to the specification, the "M" multiplier
in CCCR can only be 1, 2, or 3. 0 is a reserved value which should never happen,
and if it happens, hardware is already lost.
I don't want to be that defensive in this code unless it blocks something for
> 2) sa1100-rtc could not find a clock and thus failed to be probed.
Ha I'll check that, thanks.
> 3) Had to patch tc6393xb driver to call
> clk_prepare_enable/clk_disable_unprepare -
> will submit a patch shortly.
> 4) Got an issue with IrDA driver - it gets -ENODEV for UARTCLK clock
I'll check that too. It's probable I either forgot a clock or mispelled a
Thanks for the test Dmitry.
More information about the linux-arm-kernel