ARM: dts: OMAP2+: Update DMTIMER compatibility property
authorJon Hunter <jon-hunter@ti.com>
Tue, 19 Mar 2013 17:38:18 +0000 (12:38 -0500)
committerBenoit Cousson <benoit.cousson@linaro.org>
Mon, 8 Apr 2013 22:21:31 +0000 (00:21 +0200)
Update the DMTIMER compatibility property to reflect the register level
compatibilty between devices and update the various OMAP/AM timer
bindings with the appropriate compatibility string.

By doing this we can add platform specific data applicable to specific
timer versions to the driver. For example, errata flags can be populated
for the timer versions that are impacted.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
Documentation/devicetree/bindings/arm/omap/timer.txt
arch/arm/boot/dts/am33xx.dtsi
arch/arm/boot/dts/omap2.dtsi
arch/arm/boot/dts/omap2420.dtsi
arch/arm/boot/dts/omap2430.dtsi
arch/arm/boot/dts/omap3.dtsi
arch/arm/boot/dts/omap4.dtsi
arch/arm/boot/dts/omap5.dtsi
arch/arm/mach-omap2/timer.c
arch/arm/plat-omap/dmtimer.c

index 8732d4d..d02e27c 100644 (file)
@@ -1,7 +1,20 @@
 OMAP Timer bindings
 
 Required properties:
-- compatible:          Must be "ti,omap2-timer" for OMAP2+ controllers.
+- compatible:          Should be set to one of the below. Please note that
+                       OMAP44xx devices have timer instances that are 100%
+                       register compatible with OMAP3xxx devices as well as
+                       newer timers that are not 100% register compatible.
+                       So for OMAP44xx devices timer instances may use
+                       different compatible strings.
+
+                       ti,omap2420-timer (applicable to OMAP24xx devices)
+                       ti,omap3430-timer (applicable to OMAP3xxx/44xx devices)
+                       ti,omap4430-timer (applicable to OMAP44xx devices)
+                       ti,omap5430-timer (applicable to OMAP543x devices)
+                       ti,am335x-timer (applicable to AM335x devices)
+                       ti,am335x-timer-1ms (applicable to AM335x devices)
+
 - reg:                 Contains timer register address range (base address and
                        length).
 - interrupts:          Contains the interrupt information for the timer. The
@@ -22,7 +35,7 @@ Optional properties:
 Example:
 
 timer12: timer@48304000 {
-       compatible = "ti,omap2-timer";
+       compatible = "ti,omap3430-timer";
        reg = <0x48304000 0x400>;
        interrupts = <95>;
        ti,hwmods = "timer12"
index 4beb518..df62830 100644 (file)
                };
 
                timer1: timer@44e31000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,am335x-timer-1ms";
                        reg = <0x44e31000 0x400>;
                        interrupts = <67>;
                        ti,hwmods = "timer1";
                };
 
                timer2: timer@48040000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,am335x-timer";
                        reg = <0x48040000 0x400>;
                        interrupts = <68>;
                        ti,hwmods = "timer2";
                };
 
                timer3: timer@48042000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,am335x-timer";
                        reg = <0x48042000 0x400>;
                        interrupts = <69>;
                        ti,hwmods = "timer3";
                };
 
                timer4: timer@48044000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,am335x-timer";
                        reg = <0x48044000 0x400>;
                        interrupts = <92>;
                        ti,hwmods = "timer4";
                };
 
                timer5: timer@48046000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,am335x-timer";
                        reg = <0x48046000 0x400>;
                        interrupts = <93>;
                        ti,hwmods = "timer5";
                };
 
                timer6: timer@48048000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,am335x-timer";
                        reg = <0x48048000 0x400>;
                        interrupts = <94>;
                        ti,hwmods = "timer6";
                };
 
                timer7: timer@4804a000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,am335x-timer";
                        reg = <0x4804a000 0x400>;
                        interrupts = <95>;
                        ti,hwmods = "timer7";
index 84183f0..37aa748 100644 (file)
                };
 
                timer2: timer@4802a000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x4802a000 0x400>;
                        interrupts = <38>;
                        ti,hwmods = "timer2";
                };
 
                timer3: timer@48078000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48078000 0x400>;
                        interrupts = <39>;
                        ti,hwmods = "timer3";
                };
 
                timer4: timer@4807a000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x4807a000 0x400>;
                        interrupts = <40>;
                        ti,hwmods = "timer4";
                };
 
                timer5: timer@4807c000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x4807c000 0x400>;
                        interrupts = <41>;
                        ti,hwmods = "timer5";
                };
 
                timer6: timer@4807e000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x4807e000 0x400>;
                        interrupts = <42>;
                        ti,hwmods = "timer6";
                };
 
                timer7: timer@48080000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48080000 0x400>;
                        interrupts = <43>;
                        ti,hwmods = "timer7";
                };
 
                timer8: timer@48082000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48082000 0x400>;
                        interrupts = <44>;
                        ti,hwmods = "timer8";
                };
 
                timer9: timer@48084000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48084000 0x400>;
                        interrupts = <45>;
                        ti,hwmods = "timer9";
                };
 
                timer10: timer@48086000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48086000 0x400>;
                        interrupts = <46>;
                        ti,hwmods = "timer10";
                };
 
                timer11: timer@48088000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48088000 0x400>;
                        interrupts = <47>;
                        ti,hwmods = "timer11";
                };
 
                timer12: timer@4808a000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x4808a000 0x400>;
                        interrupts = <48>;
                        ti,hwmods = "timer12";
index 455b239..a889acc 100644 (file)
                };
 
                timer1: timer@48028000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48028000 0x400>;
                        interrupts = <37>;
                        ti,hwmods = "timer1";
index 477b120..ff93b8e 100644 (file)
                };
 
                timer1: timer@49018000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x49018000 0x400>;
                        interrupts = <37>;
                        ti,hwmods = "timer1";
index 7146e94..22d468d 100644 (file)
                };
 
                timer1: timer@48318000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x48318000 0x400>;
                        interrupts = <37>;
                        ti,hwmods = "timer1";
                };
 
                timer2: timer@49032000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x49032000 0x400>;
                        interrupts = <38>;
                        ti,hwmods = "timer2";
                };
 
                timer3: timer@49034000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x49034000 0x400>;
                        interrupts = <39>;
                        ti,hwmods = "timer3";
                };
 
                timer4: timer@49036000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x49036000 0x400>;
                        interrupts = <40>;
                        ti,hwmods = "timer4";
                };
 
                timer5: timer@49038000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x49038000 0x400>;
                        interrupts = <41>;
                        ti,hwmods = "timer5";
                };
 
                timer6: timer@4903a000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x4903a000 0x400>;
                        interrupts = <42>;
                        ti,hwmods = "timer6";
                };
 
                timer7: timer@4903c000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x4903c000 0x400>;
                        interrupts = <43>;
                        ti,hwmods = "timer7";
                };
 
                timer8: timer@4903e000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x4903e000 0x400>;
                        interrupts = <44>;
                        ti,hwmods = "timer8";
                };
 
                timer9: timer@49040000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x49040000 0x400>;
                        interrupts = <45>;
                        ti,hwmods = "timer9";
                };
 
                timer10: timer@48086000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x48086000 0x400>;
                        interrupts = <46>;
                        ti,hwmods = "timer10";
                };
 
                timer11: timer@48088000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x48088000 0x400>;
                        interrupts = <47>;
                        ti,hwmods = "timer11";
                };
 
                timer12: timer@48304000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x48304000 0x400>;
                        interrupts = <95>;
                        ti,hwmods = "timer12";
index e95a678..234f2d2 100644 (file)
                };
 
                timer1: timer@4a318000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x4a318000 0x80>;
                        interrupts = <0 37 0x4>;
                        ti,hwmods = "timer1";
                };
 
                timer2: timer@48032000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x48032000 0x80>;
                        interrupts = <0 38 0x4>;
                        ti,hwmods = "timer2";
                };
 
                timer3: timer@48034000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x48034000 0x80>;
                        interrupts = <0 39 0x4>;
                        ti,hwmods = "timer3";
                };
 
                timer4: timer@48036000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x48036000 0x80>;
                        interrupts = <0 40 0x4>;
                        ti,hwmods = "timer4";
                };
 
                timer5: timer@40138000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x40138000 0x80>,
                              <0x49038000 0x80>;
                        interrupts = <0 41 0x4>;
                };
 
                timer6: timer@4013a000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x4013a000 0x80>,
                              <0x4903a000 0x80>;
                        interrupts = <0 42 0x4>;
                };
 
                timer7: timer@4013c000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x4013c000 0x80>,
                              <0x4903c000 0x80>;
                        interrupts = <0 43 0x4>;
                };
 
                timer8: timer@4013e000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x4013e000 0x80>,
                              <0x4903e000 0x80>;
                        interrupts = <0 44 0x4>;
                };
 
                timer9: timer@4803e000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x4803e000 0x80>;
                        interrupts = <0 45 0x4>;
                        ti,hwmods = "timer9";
                };
 
                timer10: timer@48086000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap3430-timer";
                        reg = <0x48086000 0x80>;
                        interrupts = <0 46 0x4>;
                        ti,hwmods = "timer10";
                };
 
                timer11: timer@48088000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap4430-timer";
                        reg = <0x48088000 0x80>;
                        interrupts = <0 47 0x4>;
                        ti,hwmods = "timer11";
index 86f784e..3ce54f4 100644 (file)
                };
 
                timer1: timer@4ae18000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x4ae18000 0x80>;
                        interrupts = <0 37 0x4>;
                        ti,hwmods = "timer1";
                };
 
                timer2: timer@48032000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x48032000 0x80>;
                        interrupts = <0 38 0x4>;
                        ti,hwmods = "timer2";
                };
 
                timer3: timer@48034000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x48034000 0x80>;
                        interrupts = <0 39 0x4>;
                        ti,hwmods = "timer3";
                };
 
                timer4: timer@48036000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x48036000 0x80>;
                        interrupts = <0 40 0x4>;
                        ti,hwmods = "timer4";
                };
 
                timer5: timer@40138000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x40138000 0x80>,
                              <0x49038000 0x80>;
                        interrupts = <0 41 0x4>;
                };
 
                timer6: timer@4013a000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x4013a000 0x80>,
                              <0x4903a000 0x80>;
                        interrupts = <0 42 0x4>;
                };
 
                timer7: timer@4013c000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x4013c000 0x80>,
                              <0x4903c000 0x80>;
                        interrupts = <0 43 0x4>;
                };
 
                timer8: timer@4013e000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x4013e000 0x80>,
                              <0x4903e000 0x80>;
                        interrupts = <0 44 0x4>;
                };
 
                timer9: timer@4803e000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x4803e000 0x80>;
                        interrupts = <0 45 0x4>;
                        ti,hwmods = "timer9";
                };
 
                timer10: timer@48086000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x48086000 0x80>;
                        interrupts = <0 46 0x4>;
                        ti,hwmods = "timer10";
                };
 
                timer11: timer@48088000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap5430-timer";
                        reg = <0x48088000 0x80>;
                        interrupts = <0 47 0x4>;
                        ti,hwmods = "timer11";
index 2bdd4cf..14b89af 100644 (file)
@@ -143,7 +143,12 @@ static struct property device_disabled = {
 };
 
 static struct of_device_id omap_timer_match[] __initdata = {
-       { .compatible = "ti,omap2-timer", },
+       { .compatible = "ti,omap2420-timer", },
+       { .compatible = "ti,omap3430-timer", },
+       { .compatible = "ti,omap4430-timer", },
+       { .compatible = "ti,omap5430-timer", },
+       { .compatible = "ti,am335x-timer", },
+       { .compatible = "ti,am335x-timer-1ms", },
        { }
 };
 
index 05efb37..b50d478 100644 (file)
@@ -895,7 +895,12 @@ static int omap_dm_timer_remove(struct platform_device *pdev)
 }
 
 static const struct of_device_id omap_timer_match[] = {
-       { .compatible = "ti,omap2-timer", },
+       { .compatible = "ti,omap2420-timer", },
+       { .compatible = "ti,omap3430-timer", },
+       { .compatible = "ti,omap4430-timer", },
+       { .compatible = "ti,omap5430-timer", },
+       { .compatible = "ti,am335x-timer", },
+       { .compatible = "ti,am335x-timer-1ms", },
        {},
 };
 MODULE_DEVICE_TABLE(of, omap_timer_match);