Thermal: Add ST-Ericsson DB8500 thermal properties and platform data.
This patch adds device tree properties for ST-Ericsson DB8500 thermal driver, also adds the platform data to support the old fashion. Signed-off-by: hongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
This commit is contained in:
parent
aa1acb0451
commit
dc1956b5f8
|
@ -203,6 +203,14 @@
|
||||||
reg = <0x80157450 0xC>;
|
reg = <0x80157450 0xC>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
thermal@801573c0 {
|
||||||
|
compatible = "stericsson,db8500-thermal";
|
||||||
|
reg = <0x801573c0 0x40>;
|
||||||
|
interrupts = <21 0x4>, <22 0x4>;
|
||||||
|
interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
db8500-prcmu-regulators {
|
db8500-prcmu-regulators {
|
||||||
compatible = "stericsson,db8500-prcmu-regulator";
|
compatible = "stericsson,db8500-prcmu-regulator";
|
||||||
|
|
||||||
|
@ -660,5 +668,11 @@
|
||||||
ranges = <0 0x50000000 0x4000000>;
|
ranges = <0 0x50000000 0x4000000>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cpufreq-cooling {
|
||||||
|
compatible = "stericsson,db8500-cpufreq-cooling";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -99,6 +99,33 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
prcmu@80157000 {
|
||||||
|
thermal@801573c0 {
|
||||||
|
num-trips = <4>;
|
||||||
|
|
||||||
|
trip0-temp = <70000>;
|
||||||
|
trip0-type = "active";
|
||||||
|
trip0-cdev-num = <1>;
|
||||||
|
trip0-cdev-name0 = "thermal-cpufreq-0";
|
||||||
|
|
||||||
|
trip1-temp = <75000>;
|
||||||
|
trip1-type = "active";
|
||||||
|
trip1-cdev-num = <1>;
|
||||||
|
trip1-cdev-name0 = "thermal-cpufreq-0";
|
||||||
|
|
||||||
|
trip2-temp = <80000>;
|
||||||
|
trip2-type = "active";
|
||||||
|
trip2-cdev-num = <1>;
|
||||||
|
trip2-cdev-name0 = "thermal-cpufreq-0";
|
||||||
|
|
||||||
|
trip3-temp = <85000>;
|
||||||
|
trip3-type = "critical";
|
||||||
|
trip3-cdev-num = <0>;
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
external-bus@50000000 {
|
external-bus@50000000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
@ -183,5 +210,9 @@
|
||||||
reg = <0x33>;
|
reg = <0x33>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cpufreq-cooling {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -69,6 +69,8 @@ CONFIG_GPIO_TC3589X=y
|
||||||
CONFIG_POWER_SUPPLY=y
|
CONFIG_POWER_SUPPLY=y
|
||||||
CONFIG_AB8500_BM=y
|
CONFIG_AB8500_BM=y
|
||||||
CONFIG_AB8500_BATTERY_THERM_ON_BATCTRL=y
|
CONFIG_AB8500_BATTERY_THERM_ON_BATCTRL=y
|
||||||
|
CONFIG_THERMAL=y
|
||||||
|
CONFIG_CPU_THERMAL=y
|
||||||
CONFIG_MFD_STMPE=y
|
CONFIG_MFD_STMPE=y
|
||||||
CONFIG_MFD_TC3589X=y
|
CONFIG_MFD_TC3589X=y
|
||||||
CONFIG_AB5500_CORE=y
|
CONFIG_AB5500_CORE=y
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/platform_data/i2c-nomadik.h>
|
#include <linux/platform_data/i2c-nomadik.h>
|
||||||
|
#include <linux/platform_data/db8500_thermal.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/amba/bus.h>
|
#include <linux/amba/bus.h>
|
||||||
#include <linux/amba/pl022.h>
|
#include <linux/amba/pl022.h>
|
||||||
|
@ -228,6 +229,67 @@ static struct ab8500_platform_data ab8500_platdata = {
|
||||||
.codec = &ab8500_codec_pdata,
|
.codec = &ab8500_codec_pdata,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Thermal Sensor
|
||||||
|
*/
|
||||||
|
|
||||||
|
static struct resource db8500_thsens_resources[] = {
|
||||||
|
{
|
||||||
|
.name = "IRQ_HOTMON_LOW",
|
||||||
|
.start = IRQ_PRCMU_HOTMON_LOW,
|
||||||
|
.end = IRQ_PRCMU_HOTMON_LOW,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "IRQ_HOTMON_HIGH",
|
||||||
|
.start = IRQ_PRCMU_HOTMON_HIGH,
|
||||||
|
.end = IRQ_PRCMU_HOTMON_HIGH,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct db8500_thsens_platform_data db8500_thsens_data = {
|
||||||
|
.trip_points[0] = {
|
||||||
|
.temp = 70000,
|
||||||
|
.type = THERMAL_TRIP_ACTIVE,
|
||||||
|
.cdev_name = {
|
||||||
|
[0] = "thermal-cpufreq-0",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
.trip_points[1] = {
|
||||||
|
.temp = 75000,
|
||||||
|
.type = THERMAL_TRIP_ACTIVE,
|
||||||
|
.cdev_name = {
|
||||||
|
[0] = "thermal-cpufreq-0",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
.trip_points[2] = {
|
||||||
|
.temp = 80000,
|
||||||
|
.type = THERMAL_TRIP_ACTIVE,
|
||||||
|
.cdev_name = {
|
||||||
|
[0] = "thermal-cpufreq-0",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
.trip_points[3] = {
|
||||||
|
.temp = 85000,
|
||||||
|
.type = THERMAL_TRIP_CRITICAL,
|
||||||
|
},
|
||||||
|
.num_trips = 4,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device u8500_thsens_device = {
|
||||||
|
.name = "db8500-thermal",
|
||||||
|
.resource = db8500_thsens_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(db8500_thsens_resources),
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &db8500_thsens_data,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device u8500_cpufreq_cooling_device = {
|
||||||
|
.name = "db8500-cpufreq-cooling",
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TPS61052
|
* TPS61052
|
||||||
*/
|
*/
|
||||||
|
@ -583,6 +645,8 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
|
||||||
&snowball_key_dev,
|
&snowball_key_dev,
|
||||||
&snowball_sbnet_dev,
|
&snowball_sbnet_dev,
|
||||||
&snowball_gpio_en_3v3_regulator_dev,
|
&snowball_gpio_en_3v3_regulator_dev,
|
||||||
|
&u8500_thsens_device,
|
||||||
|
&u8500_cpufreq_cooling_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init mop500_init_machine(void)
|
static void __init mop500_init_machine(void)
|
||||||
|
|
Loading…
Reference in a new issue