[U-Boot] [PATCH] drivers:power:exynos-tmu: add support for Exynos5260

Minkyu Kang mk7.kang at samsung.com
Tue Dec 3 03:11:27 CET 2013


Dear Naveen Krishna Chatradhi,

On 26/11/13 20:56, Naveen Krishna Chatradhi wrote:
> This patch adds support for TMU on Exynos5260
> Register bit fields are little different from the previous
> versions.
> 
> Change-Id: Ibe835abe9cb255d2f8375c8e9e32d32cff19c093

please remove it.

> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen at samsung.com>
> ---
>  arch/arm/include/asm/arch-exynos/tmu.h |   11 +++++++++++
>  drivers/power/exynos-tmu.c             |   25 +++++++++++++++++++++++--
>  2 files changed, 34 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/include/asm/arch-exynos/tmu.h b/arch/arm/include/asm/arch-exynos/tmu.h
> index cad3569..19b8f62 100644
> --- a/arch/arm/include/asm/arch-exynos/tmu.h
> +++ b/arch/arm/include/asm/arch-exynos/tmu.h
> @@ -26,7 +26,11 @@ struct exynos5_tmu_reg {
>  	u32 triminfo_control;
>  	u32 rsvd5[2];
>  	u32 tmu_control;
> +#ifdef CONFIG_EXYNOS5260
> +	u32 tmu_control1;
> +#else
>  	u32 rsvd7;
> +#endif
>  	u32 tmu_status;
>  	u32 sampling_internal;
>  	u32 counter_value0;
> @@ -41,10 +45,17 @@ struct exynos5_tmu_reg {
>  	u32 past_temp7_4;
>  	u32 past_temp11_8;
>  	u32 past_temp15_12;
> +#ifdef CONFIG_EXYNOS5260
> +	u32 rsvd15[16];
> +#endif
>  	u32 inten;
>  	u32 intstat;
>  	u32 intclear;
> +#ifdef CONFIG_EXYNOS5260
> +	u32 rsvd31[17];
> +#else
>  	u32 rsvd15;
> +#endif
>  	u32 emul_con;
>  };
>  #endif /* __ASM_ARCH_TMU_H */
> diff --git a/drivers/power/exynos-tmu.c b/drivers/power/exynos-tmu.c
> index 9a093a5..de3ff82 100644
> --- a/drivers/power/exynos-tmu.c
> +++ b/drivers/power/exynos-tmu.c
> @@ -31,7 +31,13 @@
>  #define INTEN_RISE0		1
>  #define INTEN_RISE1		(1 << 4)
>  #define INTEN_RISE2		(1 << 8)
> +
> +#ifdef CONFIG_EXYNOS5250
> +#define INTEN_FALL0		(1 << 12)
> +#else
>  #define INTEN_FALL0		(1 << 16)
> +#endif
> +
>  #define INTEN_FALL1		(1 << 20)
>  #define INTEN_FALL2		(1 << 24)
>  
> @@ -43,9 +49,24 @@
>  #define INTCLEAR_FALL0		(1 << 16)
>  #define INTCLEAR_FALL1		(1 << 20)
>  #define INTCLEAR_FALL2		(1 << 24)
> +
> +#ifdef CONFIG_EXYNOS5260
> +#define INTEN_RISE3		(1 << 12)
> +#define INTEN_FALL3		(1 << 28)
> +#define INTCLEAR_RISE3		(1 << 12)
> +#define INTCLEAR_FALL3		(1 << 28)
> +#endif
> +
> +#if defined(INTCLEAR_RISE3) && defined(INTCLEAR_FALL3)
>  #define INTCLEARALL		(INTCLEAR_RISE0 | INTCLEAR_RISE1 | \
> -				 INTCLEAR_RISE2 | INTCLEAR_FALL0 | \
> -				 INTCLEAR_FALL1 | INTCLEAR_FALL2)
> +				INTCLEAR_RISE2 | INTCLEAR_RISE3 | \
> +				INTCLEAR_FALL0 | INTCLEAR_FALL1 | \
> +				INTCLEAR_FALL2 | INTCLEAR_FALL3)
> +#else
> +#define INTCLEARALL		(INTCLEAR_RISE0 | INTCLEAR_RISE1 | \
> +				INTCLEAR_RISE2 | INTCLEAR_FALL0 | \
> +				INTCLEAR_FALL1 | INTCLEAR_FALL2)
> +#endif
>  
>  /* Tmeperature threshold values for various thermal events */
>  struct temperature_params {
> 

I recommended that don't use ifdefs.
And if you want to support exynos5260 then please post full features and board file.

Thanks,
Minkyu Kang.


More information about the U-Boot mailing list