[PATCH v3 2/7] vexpress: Match the "arm, sp810" DT entry for clock initialisation
Jon Medhurst (Tixy)
tixy at linaro.org
Wed Jan 9 06:50:14 EST 2013
On Wed, 2013-01-09 at 11:36 +0000, Catalin Marinas wrote:
> On Tue, Jan 08, 2013 at 05:29:07PM +0000, Jon Medhurst (Tixy) wrote:
> > On Fri, 2013-01-04 at 14:17 +0000, Catalin Marinas wrote:
> > > Currently the clk-vexpress.c implementation relies on the vexpress code
> > > to call the vexpress_clk_of_init() function which performs the SP810
> > > initialisation. This patch adds "arm,sp810" to the clock DT match array
> > > allowing of_clk_init() to call the vexpress_sp810_of_setup() function.
> > > In case of CONFIG_ARM64, make vexpress_clk_of_init() an arch_initcall().
> > >
> > > Note that SP810 requires the fixed clocks to be already registered.
> > > Since the clock subsystem does not handle DT dependencies, the
> > > corresponding DT entries must be in the correct order.
> >
> > Which they aren't on 32-bit vexpress ;-) leading to:
> >
> > ERROR: could not get clock /smb/motherboard/iofpga at 3,00000000/sysctl at 020000:refclk(0)
> > ERROR: could not get clock /smb/motherboard/iofpga at 3,00000000/sysctl at 020000:timclk(1)
> > ------------[ cut here ]------------
> > WARNING: at drivers/clk/versatile/clk-vexpress.c:112 vexpress_sp810_of_setup+0x43/0xc8()
> > Modules linked in:
> > [<c0011cbd>] (unwind_backtrace+0x1/0x9c) from [<c001c1a9>] (warn_slowpath_common+0x39/0x50)
> > [<c001c1a9>] (warn_slowpath_common+0x39/0x50) from [<c001c1d7>] (warn_slowpath_null+0x17/0x1c)
> > [<c001c1d7>] (warn_slowpath_null+0x17/0x1c) from [<c05b4fab>] (vexpress_sp810_of_setup+0x43/0xc8)
> > [<c05b4fab>] (vexpress_sp810_of_setup+0x43/0xc8) from [<c05b4e67>] (of_clk_init+0x1f/0x34)
> > [<c05b4e67>] (of_clk_init+0x1f/0x34) from [<c05b515d>] (vexpress_clk_of_init+0x9/0x10)
> > [<c05b515d>] (vexpress_clk_of_init+0x9/0x10) from [<c05a7d2b>] (v2m_dt_timer_init+0x7/0x78)
> > [<c05a7d2b>] (v2m_dt_timer_init+0x7/0x78) from [<c05a4d09>] (time_init+0x11/0x20)
> > [<c05a4d09>] (time_init+0x11/0x20) from [<c05a24fb>] (start_kernel+0x113/0x214)
> > [<c05a24fb>] (start_kernel+0x113/0x214) from [<8000807f>] (0x8000807f)
> > ---[ end trace 1b75b31a2719ed1c ]---
> >
> > After moving all "fixed-clock" nodes to be the first devices in
> > arch/arm/boot/dts/vexpress-v2m{-rs1,}.dtsi then all appears well. (I am
> > only trying out patches 1-3 of this set at the moment).
>
> I'm waiting for Pawel's feedback (he's still on holiday). He may have a
> better solution for the vexpress code than relying on the dts order but
> for now the simples fix is to change the dts.
Fair enough. But if the patch series gets used as is then another patch
will need to be added to it to fix the device-trees.
--
Tixy
More information about the linux-arm-kernel
mailing list