[PATCH v3] clocksource: dw_apb_timer: Add common DTS glue for dw_apb_timer

Dinh Nguyen dinguyen at altera.com
Wed Jul 11 15:35:58 EDT 2012


On Wed, 2012-07-11 at 12:37 -0500, Rob Herring wrote:
> On 07/11/2012 11:20 AM, Pavel Machek wrote:
> > Hi!
> > 
> >> Make a common device tree glue for clocksource/dw_apb_timer.
> >> Move mach-picoxcell/time.c to be a generic device tree application
> >> of the dw_apb_timer.
> >>
> >> Configure mach-picoxcell to use the dw_apb_timer_of device tree
> >> implementation in drivers/clocksource.
> >>
> >> Signed-off-by: Pavel Machek <pavel at denx.de>
> >> Signed-off-by: Dinh Nguyen <dinguyen at altera.com>
> >> Acked-by: Jamie Iles <jamie at jamieiles.com>
> > 
> > Ok, this is getting complex.
> > 
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/rtc/dw-apb.txt
> >> @@ -0,0 +1,24 @@
> >> +* Designware APB timer
> >> +
> >> +Required properties:
> >> +- compatible: "snps,dw-apb-timer-sp" or "snps,dw-apb-timer-osc"
> >> +- reg: physical base address of the controller and length of memory mapped
> >> +  region.
> >> +- interrupts: IRQ line for the timer.
> >> +- clock-frequency: The frequency in HZ of the timer.
> > 
> > I know device-tree maintainers requested -freq -> -frequency,
> >> --- a/arch/arm/mach-picoxcell/time.c
> >> +++ b/drivers/clocksource/dw_apb_timer_of.c
> > 
> > But then this will need updating to accept "-frequency",
> > 
> >> -static const struct of_device_id picoxcell_timer_ids[] __initconst = {
> >> +static const struct of_device_id osctimer_ids[] __initconst = {
> >>  	{ .compatible = "picochip,pc3x2-timer" },
> >> +	{ .compatible = "snps,dw-apb-timer-osc" },
> >>  	{},
> >>  };
> > 
> > and dts will need to be updated, anyway, so we could update
> > "picochip,pc3x2-timer" -> "snps,dw-apb-timer-osc" as well, right?
> > 
> > Alternatively, we could just keep using "-freq"....
> > 
> > Or am I overlooking something?
> 
> If picoxcell is already using "-freq", then yes, you'll have to keep it
> for compatibility. You have to assume that a dtb cannot be changed.

So just to be sure, since we don't want to create churn in the dts
files. Only picoxcell is using clock-freq, so to keep compatibility,
something like this should be done:

-       if (of_property_read_u32(np, "clock-freq", rate))
+       if (of_property_read_u32(np, "clock-freq", rate) &&
+               of_property_read_u32(np, "clock-frequency", rate))
                panic("No clock-frequency property for %s", np->name);

Going forward, platforms that use the dq_apb_timer should use
clock-frequency?

Thanks,
Dinh

> 
> Rob
> 






More information about the linux-arm-kernel mailing list