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

Minkyu Kang mk7.kang at samsung.com
Thu Dec 5 06:51:08 CET 2013


On 05/12/13 14:23, Naveen Krishna Ch wrote:
> Hello Minkyu,
> 
> On 3 December 2013 07:41, Minkyu Kang <mk7.kang at samsung.com> wrote:
>> 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.
> Few register bits and offsets are different between Exynso5260 version
> of TMU and
> previous versions.
> 
> Heiko suggested using Ifdefs in I2C driver code if needed.
> http://www.mail-archive.com/u-boot@lists.denx.de/msg122689.html

On I2C driver side? I don't care.
On Exynos side? no.

> 
> I can use devicetree to pass on that information. But, changes are comparatively
> more than the actual differences.
> 
>> And if you want to support exynos5260 then please post full features and board file.
> Board file, DTSI files and other arch code for Exynos5260 is on its way.

please post them together.

>>
>> Thanks,
>> Minkyu Kang.
> 

Thanks,
Minkyu Kang.



More information about the U-Boot mailing list