On 2011-12-13 14:56, Paul Walmsley wrote:
On Tue, 13 Dec 2011, Gary Thomas wrote:

What's the best way to enable sys_clkout2 (DM3730, latest kernel)?
I've managed to set it up properly and it runs in U-Boot, but the
kernel is disabling it.  It's a bit of a tangle trying to figure out
not only what piece of code is undoing my work, but how to get the
clock to keep running.

It's probably getting disabled by omap2_clk_disable_unused() in
mach-omap2/clock.c, which runs at the end of kernel init.

I want the clkout_cntrl register set to 0x8a,
so any guidance on how to make this happen would be greatly appreciated.

I presume you have some external device that relies on sys_clkout2 for its
clock input?

Precisely.  Do I need to do anything special to control how the clock is
configured, e.g. div & src settings?


If the device has a Linux driver associated with it, the clean way to fix
it would be to add a clkdev line for it into mach-omap2/clock3xxx_data.c.
Something like

        CLK("devname",        "fck",        &sys_clkout2,       CK_3XXX),

where "devname" is the name of your device.  Then add some code into that
driver to enable and disable the clock as needed.  Something like

...

struct clk *c;

c = clk_get(dev_name(dev), "fck");
WARN(IS_ERR(c), "cannot clk_get() device functional clock");
clk_enable(c);

...

and then clk_disable() it later in your driver when you don't need it.

If you don't have a driver, you can hack a quick one up that just deals
with the clock, and add it to your board file.

Or if you just want a dirty hack, you can probably get away with just
adding the ENABLE_ON_INIT flag to the sys_clkout2 .flags field in
mach-omap2/clock3xxx_data.c.

Thanks, I'll give this a try when I have eyes on the hardware (Wednesday)

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to