summaryrefslogtreecommitdiff
authorTao Zeng <tao.zeng@amlogic.com>2014-12-19 08:43:30 (GMT)
committer Tao Zeng <tao.zeng@amlogic.com>2014-12-19 08:43:30 (GMT)
commit2b6f20575dba5d260a764c72d145732b70b73b8e (patch)
tree77c274923b2b5b58f92a6f92d8826ffb0b0b05a5
downloadthermal-2b6f20575dba5d260a764c72d145732b70b73b8e.zip
thermal-2b6f20575dba5d260a764c72d145732b70b73b8e.tar.gz
thermal-2b6f20575dba5d260a764c72d145732b70b73b8e.tar.bz2
PD #94468: change thermal code to ko for keep mode
Diffstat
-rwxr-xr-xKconfig28
-rwxr-xr-xMakefile11
-rw-r--r--amlogic_thermal.o_shipped399
-rwxr-xr-xamlogic_thermal_module.c65
4 files changed, 503 insertions, 0 deletions
diff --git a/Kconfig b/Kconfig
new file mode 100755
index 0000000..6757715
--- a/dev/null
+++ b/Kconfig
@@ -0,0 +1,28 @@
+# Amlogic Thermal
+
+
+config AML_VIRTUAL_THERMAL
+ bool "Amlogic virtual thermal interface"
+ default n
+ help
+ Say Y if you want use amlogic virtual thermal interface
+
+config AML_PLATFORM_THERMAL
+ bool "Amlogic platform thermal interface"
+ default n
+ help
+ Say Y if you want use amlogic platform thermal interface
+
+config AMLOGIC_THERMAL
+ tristate "amlogic thermal support"
+ select THERMAL
+ select CPU_THERMAL
+ select GPU_THERMAL
+ select CPUCORE_THERMAL
+ select GPUCORE_THERMAL
+ select AML_VIRTUAL_THERMAL
+ select AML_PLATFORM_THERMAL
+ depends on CPU_FREQ
+ default n
+ help
+ This is the Amlogic Thermal interface driver
diff --git a/Makefile b/Makefile
new file mode 100755
index 0000000..bf7d2f1
--- a/dev/null
+++ b/Makefile
@@ -0,0 +1,11 @@
+#
+#Makefile for the thermal dirver
+#
+obj-$(CONFIG_AMLOGIC_THERMAL)+= aml_thermal.o
+
+aml_thermal-objs =
+aml_thermal-objs += amlogic_thermal.o
+aml_thermal-objs += amlogic_thermal_module.o
+
+
+
diff --git a/amlogic_thermal.o_shipped b/amlogic_thermal.o_shipped
new file mode 100644
index 0000000..d0090a1
--- a/dev/null
+++ b/amlogic_thermal.o_shipped
@@ -0,0 +1,399 @@
+ELF
+
+
+ a`c
+
+
+
+ e
+ `
+
+ @0
+
+
+d
+
+103/
+103/
+
+q<0
+
+10
+ D
+
+
+
+<,
+=
+ 
+(
+
+0$ 
+-
+
+0, 
+T
+
+L
+lT
+0/P0
+40Lp
+!
+L
+
+
+  0똀D$
+ =
+4p
+80D(
+4p
+#
+(
+$
+D@J
+
+(
+ ,00
+
+
+
+v
+ C
+(
+!
+pL
+
+
+
+0
+ (,
+0
+
+
+
+
+0
+
+
+
+A 
+F H`0
+
+H 0
+HT 0
+
+`0T
+0
+
+ B/
+
+  0
+  
+0 0 0 
+00< 
+0 0 0
+0 0   0
+  
+  
+0$ 0
+0$ 0  
+0, 0
+, 0
+
+
+
+
+p
+p
+p
+
+
+
+
+
+
+
+
+0d0
+|U
+
+ 0 H#1
+,d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+%s unbinding %s
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+;
+T
+f
+x
+
+
+
+-
+'
+
+
+ X+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+& )
+
+x
+(
+
+
+
+
+
+
+ЀIPw
+ЀIPw
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+IQ
+IPt
+IQt
+
+IQ
+
+
+
+
+
+
+
+
+
+
+ : ; 
+
+
+
+
+
+
+
+B 
+
+B 
+
+B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+8
+
+Ѐ8
+
+
+8
+
+fwJQy.
+.-/+0//-/M,//--0
+.//-/Ng3)1,0{}fJ-LhI/gK,/1+K0-//g-/~..~..~../~.1.0~..~.5
+JvJ/0,0Lg00,0'OQy.Qy.5y.5T.,f/~.[=K/-0-K-/KK/I/K-/KM0l..m.gKKj/-/-/0d///~\g/')v.+.z.1K4)-KM,0Nv. J1,h/KiJfg|J.|.-/~J(2M
+.u.
+.-Kx..x.iK0KI1gvJ fv. .v. f-/2{f
+.v.gggggKM//,1+N*3/JK1g.
+.u.J xffK-//j/-/4KI$*2/k.}..g}JI/- /-.uf
+f&
+A "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+(
+U
+X
+Z
+`
+v
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/amlogic_thermal_module.c b/amlogic_thermal_module.c
new file mode 100755
index 0000000..c065c90
--- a/dev/null
+++ b/amlogic_thermal_module.c
@@ -0,0 +1,65 @@
+/*
+ * amlogic_thermal.c - Samsung amlogic thermal (Thermal Management Unit)
+ *
+ * Copyright (C) 2011 Samsung Electronics
+ * Donggeun Kim <dg77.kim@samsung.com>
+ * Amit Daniel Kachhap <amit.kachhap@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/err.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/platform_device.h>
+#include <linux/interrupt.h>
+#include <linux/clk.h>
+#include <linux/workqueue.h>
+#include <linux/sysfs.h>
+#include <linux/kobject.h>
+#include <linux/io.h>
+#include <linux/mutex.h>
+#include <linux/thermal.h>
+#include <linux/cpufreq.h>
+#include <linux/cpu_cooling.h>
+#include <linux/of.h>
+#include <linux/amlogic/saradc.h>
+#include <plat/cpu.h>
+#include <linux/random.h>
+#include <linux/gpu_cooling.h>
+#include <linux/cpucore_cooling.h>
+#include <linux/gpucore_cooling.h>
+#include <linux/thermal_core.h>
+#include <mach/thermal.h>
+extern struct platform_driver amlogic_thermal_driver;
+
+static int __init amlogic_thermal_driver_init(void)
+{
+ return platform_driver_register(&(amlogic_thermal_driver));
+}
+late_initcall(amlogic_thermal_driver_init);
+static void __exit amlogic_thermal_driver_exit(void)
+{
+ platform_driver_unregister(&(amlogic_thermal_driver) );
+}
+module_exit(amlogic_thermal_driver_exit);
+
+MODULE_DESCRIPTION("amlogic thermal Driver");
+MODULE_AUTHOR("Amlogic SH platform team");
+MODULE_ALIAS("platform:amlogic-thermal");
+MODULE_LICENSE("GPL");
+