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 8732d4d41f8ba538ce708e6c40677b1560bdeb90..d02e27c764ecc4facab9bceeffa756693d8c0a98 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 4beb5185d1d27f8051e0a7505bc5e01f783826bf..df6283076e7963348aef02f474e9d30a52c25b77 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 84183f053f531e61df2569b3ab0e90caebed1db6..37aa7487d4d86791be2ad6f51065708f31fcaa80 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 455b239b88846a7f69017da1b579abb2ae8743c1..a889acc3a22fbaa147b0ed1e47ffd7d0228d17bd 100644 (file)
                };
 
                timer1: timer@48028000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x48028000 0x400>;
                        interrupts = <37>;
                        ti,hwmods = "timer1";
index 477b120243ca509df71c53926942afe3b69aea62..ff93b8e078877387c76fbfee15a41f4d6fe8a588 100644 (file)
                };
 
                timer1: timer@49018000 {
-                       compatible = "ti,omap2-timer";
+                       compatible = "ti,omap2420-timer";
                        reg = <0x49018000 0x400>;
                        interrupts = <37>;
                        ti,hwmods = "timer1";
index 7146e9480645684eeed0b966dbcbb7091746df2b..22d468d863a05d32d561ee06428866386181c94f 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 e95a678b715787430649cc9d9f3f1c7b40529f64..234f2d2d7690f9bd8799acf1e2f08f6815868e39 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 86f784e8647630473fc18cbd4dc128596d0cb095..3ce54f44b0921c9576312094a3691463610d6062 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 2bdd4cf17a8fd0e80b6c2c74feb66fcc9018ecca..14b89afe4af7a7d3c0760a96aecf3b782caf60ee 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 05efb370a2bde2b2eed903e6679197e2fc7baa8c..b50d478dfee3b5b81cd62898e875fc67bdc1f957 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);