summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorNaveen Krishna Chatradhi <ch.naveen@samsung.com>2013-04-05 15:21:39 -0700
committerMinkyu Kang <mk7.kang@samsung.com>2013-06-13 17:53:37 +0900
commiteeb7d6a238f42c5c87892f9849cea00725f6d2d5 (patch)
tree9bca0fd93b80a1557ce9c7d8f02e4112800e9190 /drivers
parent1149ca005a548aff8e65d44634d31db965ed66bd (diff)
power: exynos-tmu: use the mux_addr bit fields in tmu_control register
This patch implements the mux_addr bit fields defined in tmu_control register (used for debugging purpose) Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Reviewed-by: Vadim Bendebury <vbendeb@google.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/power/exynos-tmu.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/power/exynos-tmu.c b/drivers/power/exynos-tmu.c
index 6d74bc74b5f..9a093a5bddd 100644
--- a/drivers/power/exynos-tmu.c
+++ b/drivers/power/exynos-tmu.c
@@ -79,6 +79,8 @@ struct tmu_data {
struct tmu_info {
/* base Address for the TMU */
struct exynos5_tmu_reg *tmu_base;
+ /* mux Address for the TMU */
+ int tmu_mux;
/* pre-defined values for calibration and thresholds */
struct tmu_data data;
/* value required for triminfo_25 calibration */
@@ -204,6 +206,13 @@ static int get_tmu_fdt_values(struct tmu_info *info, const void *blob)
}
info->tmu_base = (struct exynos5_tmu_reg *)addr;
+ /* Optional field. */
+ info->tmu_mux = fdtdec_get_int(blob,
+ node, "samsung,mux", -1);
+ /* Take default value as per the user manual b(110) */
+ if (info->tmu_mux == -1)
+ info->tmu_mux = 0x6;
+
info->data.ts.min_val = fdtdec_get_int(blob,
node, "samsung,min-temp", -1);
error |= (info->data.ts.min_val == -1);
@@ -307,7 +316,7 @@ static void tmu_setup_parameters(struct tmu_info *info)
/* TMU core enable */
con = readl(&reg->tmu_control);
- con |= THERM_TRIP_EN | CORE_EN;
+ con |= THERM_TRIP_EN | CORE_EN | (info->tmu_mux << 20);
writel(con, &reg->tmu_control);