Re: sys_clkout2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux