/* * Copyright 2014 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * * Header file for tmu support * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __ASM_ARCH_TMU_H #define __ASM_ARCH_TMU_H #define EXYNOS_MAX_TEMP 125 #define EXYNOS_MIN_TEMP 10 #define EXYNOS_COLD_TEMP 15 /* invalid cooling frequency */ #define THERMAL_CFREQ_INVALID -1 enum tmu_noti_state_t { TMU_NORMAL, TMU_COLD, TMU_HOT, TMU_CRITICAL, }; enum gpu_noti_state_t { GPU_NORMAL, GPU_COLD, GPU_THROTTLING1, GPU_THROTTLING2, GPU_THROTTLING3, GPU_THROTTLING4, GPU_TRIPPING, GPU_THROTTLING, }; enum isp_noti_state_t { ISP_NORMAL = 0, ISP_COLD, ISP_THROTTLING, ISP_THROTTLING1, ISP_THROTTLING2, ISP_THROTTLING3, ISP_THROTTLING4, ISP_TRIPPING, }; #if defined(CONFIG_GPU_THERMAL) || defined(CONFIG_GPU_THERMAL_MODULE) extern int exynos_gpu_add_notifier(struct notifier_block *n); #else static inline int exynos_gpu_add_notifier(struct notifier_block *n) { return 0; } #endif #if defined(CONFIG_ISP_THERMAL) || defined(CONFIG_ISP_THERMAL_MODULE) extern int exynos_tmu_isp_add_notifier(struct notifier_block *n); #else static inline int exynos_tmu_isp_add_notifier(struct notifier_block *n) { return 0; } #endif #endif /* __ASM_ARCH_TMU_H */