Subject: [RFC][PATCH 1/2] ARM: OMAP4: clock: Add device tree support for AUXCLKs

From: [email-masked] (Rajendra Nayak)
Date: Thu, 21 Mar 2013 19:34:51 +0530

On Thursday 21 March 2013 07:24 PM, Roger Quadros wrote:
> On 03/21/2013 03:08 PM, Rajendra Nayak wrote:
>> []..
>>
>>> diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
>>> index 0274ff7..23f2064 100644
>>> --- a/arch/arm/mach-omap2/board-generic.c
>>> +++ b/arch/arm/mach-omap2/board-generic.c
>>> @@ -158,7 +158,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
>>>  	.init_irq	= omap_gic_of_init,
>>>  	.init_machine	= omap_generic_init,
>>>  	.init_late	= omap4430_init_late,
>>> -	.init_time	= omap4_local_timer_init,
>>> +	.init_time	= omap4_init_time,
>>>  	.dt_compat	= omap4_boards_compat,
>>>  	.restart	= omap44xx_restart,
>>>  MACHINE_END
>>
>> []..
>>> +#ifdef CONFIG_OF
>>> +int __init omap4_clk_init_dt(void)
>>> +{
>>> +	struct device_node *np;
>>> +
>>> +	np = of_find_compatible_node(NULL, NULL, "ti,omap4-scrm");
>>> +	if (np) {
>>> +		scrm_data.clks = scrm_clks;
>>> +		scrm_data.clk_num = ARRAY_SIZE(scrm_clks);
>>> +		of_clk_add_provider(np, of_clk_src_onecell_get,	&scrm_data);
>>> +	}
>>> +
>>> +	return 0;
>>> +}
>>
>> []..
>>> +
>>> +void __init omap4_init_time(void)
>>> +{
>>> +	omap4_clk_init_dt();
>>> +	omap4_local_timer_init();
>>> +}
>>
>> I guess you did all this because of_clk_add_provider() needs
>> slab to be initialized. With the below patch[1], now clk inits
>> happen within .init_timer already, so none of this would
>> be needed.
>>
>> [1] http://www.spinics.net/lists/arm-kernel/msg231288.html
>>
> 
> Right. I can then call omap4_clk_init_dt() from within omap4xxx_clk_init().
> 
> Any comments about the main subject? Does the approach look fine?

It looks fine, except for the fact that I was wondering if the clock
provider needs to restrict itself to SCRM.
Nishant Menon brought up a need for specifying the mpu clock source
from within DT, to be able to use a generic cpufreq driver.
It could be a provider (not specific to scrm, but having only scrm
clocks for now) which we could add clocks as and when we see a need for
them to be specified from DT.

Btw, you need to copy Paul Walmsley for any clock related patches as
he is the OMAP clock maintainer.

> cheers,
> -roger