diff mbox

[U-Boot,2/3] ARM: sunxi: Add sun6i/sun8i timer block register definition

Message ID 1412426248-20050-3-git-send-email-wens@csie.org
State Accepted
Delegated to: Ian Campbell
Headers show

Commit Message

Chen-Yu Tsai Oct. 4, 2014, 12:37 p.m. UTC
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>
---
 arch/arm/include/asm/arch-sunxi/timer.h | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Ian Campbell Oct. 11, 2014, 3:31 p.m. UTC | #1
On Sat, 2014-10-04 at 20:37 +0800, Chen-Yu Tsai wrote:
> 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 | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/arch/arm/include/asm/arch-sunxi/timer.h b/arch/arm/include/asm/arch-sunxi/timer.h
> index 8ed383e..03a0684 100644
> --- a/arch/arm/include/asm/arch-sunxi/timer.h
> +++ b/arch/arm/include/asm/arch-sunxi/timer.h
> @@ -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__ */
diff mbox

Patch

diff --git a/arch/arm/include/asm/arch-sunxi/timer.h b/arch/arm/include/asm/arch-sunxi/timer.h
index 8ed383e..03a0684 100644
--- a/arch/arm/include/asm/arch-sunxi/timer.h
+++ b/arch/arm/include/asm/arch-sunxi/timer.h
@@ -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__ */