ARM: sunxi: Add sun6i/sun8i timer block register definition
authorChen-Yu Tsai <wens@csie.org>
Sat, 4 Oct 2014 12:37:27 +0000 (20:37 +0800)
committerHans de Goede <hdegoede@redhat.com>
Fri, 24 Oct 2014 07:35:38 +0000 (09:35 +0200)
The RTC hardware has been moved out of the timer block on sun6i/sun8i.
In addition, there are more watchdogs available.

Also note that the timer block definition is not completely accurate
for sun5i/sun7i. Various blocks are missing or have been moved out.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
arch/arm/include/asm/arch-sunxi/timer.h

index 8ed383eb169f2fdf1358ef644509b57468593108..03a0684c797a3c28179886a283ca2382d249b17b 100644 (file)
@@ -67,7 +67,9 @@ struct sunxi_timer_reg {
        struct sunxi_timer timer[6];    /* We have 6 timers */
        u8 res2[16];
        struct sunxi_avs avs;
+#if defined(CONFIG_SUN4I) || defined(CONFIG_SUN5I) || defined(CONFIG_SUN7I)
        struct sunxi_wdog wdog; /* 0x90 */
+       /* XXX the following is not accurate for sun5i/sun7i */
        struct sunxi_64cnt cnt64;       /* 0xa0 */
        u8 res4[0x58];
        struct sunxi_rtc rtc;
@@ -75,6 +77,10 @@ struct sunxi_timer_reg {
        struct sunxi_tgp tgp[4];
        u8 res5[8];
        u32 cpu_cfg;
+#else /* CONFIG_SUN6I || CONFIG_SUN8I || ... */
+       u8 res3[16];
+       struct sunxi_wdog wdog[5];      /* We have 5 watchdogs */
+#endif
 };
 
 #endif /* __ASSEMBLY__ */