Re: [PATCH 2/2] clk: initial clock driver for TWL6030
From: Stefan Assmann <hidden>
Date: 2014-08-01 10:04:35
Also in:
linux-arm-kernel
On 31.07.2014 21:20, Mike Turquette wrote:
Quoting Stefan Assmann (2014-07-31 07:05:43)quoted
On 31.07.2014 14:58, Peter Ujfalusi wrote:quoted
On 07/31/2014 03:54 PM, Stefan Assmann wrote:quoted
quoted
Why would you do this? The point of a clock provider is that you can enable/disable the clock on demand. Here you enable the clock and leave it enabled for the rest of the time... clk-dra7-atl deals with similar issueThe idea is to enable the clock by default to get the wifi working. Sorry if I got it wrong.You should have a clock driver for the 32K clock. The wifi driver should request and manage it's clocks via the clock API.If the clock does not get enabled the wifi driver wl12xx doesn't even get probed. Which is my initial problem. Maybe I need to figure that out first.Sounds like the wifi driver's probe is missing something like:
Thanks for the example Mike, but the issue is that the wifi drivers probe function doesn't even get called without the clock being powered/enabled. I've instrumented do_one_initcall() to verify this. With the clock being enabled I see: [ 19.693511] init/main.c do_one_initcall:792 initcall wl1271_init+0x0/0x38 [wlcore_sdio] [ 20.993347] init/main.c do_one_initcall:792 initcall wl12xx_driver_init+0x0/0x14 [wl12xx] If the clock is kept disabled none of the calls is made and we never get to wl12xx_probe(). The device might not be discoverable without the clock. Maybe we should rethink the idea of doing that single register write to enable the device in twl-core code, if the TWL6030 is present. Alternatively this could be done by u-boot. Seems like something that should have been done by firmware upfront. Stefan
""" #include <linux/clk.h> int ret; struct clk *clk32k = clk_get(...); if (IS_ERR(clk32k)) explode(); ret = clk_prepare_enable(clk32k); if (ret) explode(); """ Regards, Mikequoted
Stefan
-- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html