aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/thermal
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>2014-08-25 21:31:02 -0400
committerEduardo Valentin <edubezval@gmail.com>2014-11-02 22:02:48 -0500
commit60e203ecb1faf62efe369ca2bc22630bcda88bdc (patch)
tree529c9dd8694ce56aeb53bcc094ba70be366360e8 /drivers/thermal
parent99d67fb993bbe2f27b0004332218108d66c78af4 (diff)
thermal: samsung: Exynos5260 and Exynos5420 should not use TRIM_RELOAD flag
Currently these SoCs claim TRIM_RELOAD support but don't have triminfo_ctrl register address defined in their struct exynos_tmu_registers entries. This causes incorrect write of value "1" to data->base + 0x00 address (which happens to be TRIMINFO register). Additionally according to the documentation that I have neither Exynos5260 nor Exynos5420 support/require TRIM_RELOAD feature. Thus fix the aforementioned issue by removing TMU_SUPPORT_TRIM_RELOAD flag for both Exynos5260 and Exynos5420. Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Cc: Amit Daniel Kachhap <amit.daniel@samsung.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Diffstat (limited to 'drivers/thermal')
-rw-r--r--drivers/thermal/samsung/exynos_tmu_data.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/thermal/samsung/exynos_tmu_data.c b/drivers/thermal/samsung/exynos_tmu_data.c
index 82e0732af75f..177ada5846cd 100644
--- a/drivers/thermal/samsung/exynos_tmu_data.c
+++ b/drivers/thermal/samsung/exynos_tmu_data.c
@@ -331,9 +331,8 @@ static const struct exynos_tmu_registers exynos5260_tmu_registers = {
331#define EXYNOS5260_TMU_DATA \ 331#define EXYNOS5260_TMU_DATA \
332 __EXYNOS5260_TMU_DATA \ 332 __EXYNOS5260_TMU_DATA \
333 .type = SOC_ARCH_EXYNOS5260, \ 333 .type = SOC_ARCH_EXYNOS5260, \
334 .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ 334 .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \
335 TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ 335 TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME)
336 TMU_SUPPORT_EMUL_TIME)
337 336
338struct exynos_tmu_init_data const exynos5260_default_tmu_data = { 337struct exynos_tmu_init_data const exynos5260_default_tmu_data = {
339 .tmu_data = { 338 .tmu_data = {
@@ -416,16 +415,15 @@ static const struct exynos_tmu_registers exynos5420_tmu_registers = {
416#define EXYNOS5420_TMU_DATA \ 415#define EXYNOS5420_TMU_DATA \
417 __EXYNOS5420_TMU_DATA \ 416 __EXYNOS5420_TMU_DATA \
418 .type = SOC_ARCH_EXYNOS5250, \ 417 .type = SOC_ARCH_EXYNOS5250, \
419 .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ 418 .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \
420 TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ 419 TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME)
421 TMU_SUPPORT_EMUL_TIME)
422 420
423#define EXYNOS5420_TMU_DATA_SHARED \ 421#define EXYNOS5420_TMU_DATA_SHARED \
424 __EXYNOS5420_TMU_DATA \ 422 __EXYNOS5420_TMU_DATA \
425 .type = SOC_ARCH_EXYNOS5420_TRIMINFO, \ 423 .type = SOC_ARCH_EXYNOS5420_TRIMINFO, \
426 .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ 424 .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \
427 TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ 425 TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME | \
428 TMU_SUPPORT_EMUL_TIME | TMU_SUPPORT_ADDRESS_MULTIPLE) 426 TMU_SUPPORT_ADDRESS_MULTIPLE)
429 427
430struct exynos_tmu_init_data const exynos5420_default_tmu_data = { 428struct exynos_tmu_init_data const exynos5420_default_tmu_data = {
431 .tmu_data = { 429 .tmu_data = {