Message ID | 1426880861-9266-4-git-send-email-nm@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Mar 20, 2015 at 02:47:41PM -0500, Nishanth Menon wrote: > BeagleBoard-X15 has capability for a fan and has an onboard TMP102 > temperature sensor as well. This allows us to create a new thermal > zone (called, un-imaginatively "board"), and allows us to use some > active cooling as temperatures start edge upward in the system by > creating a new alert temperature (emperically 50C) for cpu. > > NOTE: Fan is NOT mounted by default on the platform, in such a case, > all we end up doing is switch on a regulator and leak very minimal > current. > > Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Eduardo Valentin <edubezval@gmail.com> > --- > arch/arm/boot/dts/am57xx-beagle-x15.dts | 49 +++++++++++++++++++++++++++++++ > 1 file changed, 49 insertions(+) > > diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts > index 41642fe770a1..6a3621c23017 100644 > --- a/arch/arm/boot/dts/am57xx-beagle-x15.dts > +++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts > @@ -86,6 +86,7 @@ > gpios = <&tps659038_gpio 1 GPIO_ACTIVE_HIGH>; > gpio-fan,speed-map = <0 0>, > <13000 1>; > + #cooling-cells = <2>; > }; > > extcon_usb1: extcon_usb1 { > @@ -441,6 +442,7 @@ > pinctrl-0 = <&tmp102_pins_default>; > interrupt-parent = <&gpio7>; > interrupts = <16 IRQ_TYPE_LEVEL_LOW>; > + #thermal-sensor-cells = <1>; > }; > }; > > @@ -559,3 +561,50 @@ > &usb2 { > dr_mode = "peripheral"; > }; > + > +&cpu_trips { > + cpu_alert1: cpu_alert1 { > + temperature = <50000>; /* millicelsius */ > + hysteresis = <2000>; /* millicelsius */ > + type = "active"; > + }; > +}; > + > +&cpu_cooling_maps { > + map1 { > + trip = <&cpu_alert1>; > + cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > + }; > +}; > + > +&thermal_zones { > + board_thermal: board_thermal { > + polling-delay-passive = <1250>; /* milliseconds */ > + polling-delay = <1500>; /* milliseconds */ > + > + /* sensor ID */ > + thermal-sensors = <&tmp102 0>; > + > + board_trips: trips { > + board_alert0: board_alert { > + temperature = <40000>; /* millicelsius */ > + hysteresis = <2000>; /* millicelsius */ > + type = "active"; > + }; > + > + board_crit: board_crit { > + temperature = <105000>; /* millicelsius */ > + hysteresis = <0>; /* millicelsius */ > + type = "critical"; > + }; > + }; > + > + board_cooling_maps: cooling-maps { > + map0 { > + trip = <&board_alert0>; > + cooling-device = > + <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > + }; > + }; > + }; > +}; > -- > 1.7.9.5 >
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts index 41642fe770a1..6a3621c23017 100644 --- a/arch/arm/boot/dts/am57xx-beagle-x15.dts +++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts @@ -86,6 +86,7 @@ gpios = <&tps659038_gpio 1 GPIO_ACTIVE_HIGH>; gpio-fan,speed-map = <0 0>, <13000 1>; + #cooling-cells = <2>; }; extcon_usb1: extcon_usb1 { @@ -441,6 +442,7 @@ pinctrl-0 = <&tmp102_pins_default>; interrupt-parent = <&gpio7>; interrupts = <16 IRQ_TYPE_LEVEL_LOW>; + #thermal-sensor-cells = <1>; }; }; @@ -559,3 +561,50 @@ &usb2 { dr_mode = "peripheral"; }; + +&cpu_trips { + cpu_alert1: cpu_alert1 { + temperature = <50000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "active"; + }; +}; + +&cpu_cooling_maps { + map1 { + trip = <&cpu_alert1>; + cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; +}; + +&thermal_zones { + board_thermal: board_thermal { + polling-delay-passive = <1250>; /* milliseconds */ + polling-delay = <1500>; /* milliseconds */ + + /* sensor ID */ + thermal-sensors = <&tmp102 0>; + + board_trips: trips { + board_alert0: board_alert { + temperature = <40000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "active"; + }; + + board_crit: board_crit { + temperature = <105000>; /* millicelsius */ + hysteresis = <0>; /* millicelsius */ + type = "critical"; + }; + }; + + board_cooling_maps: cooling-maps { + map0 { + trip = <&board_alert0>; + cooling-device = + <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; +};
BeagleBoard-X15 has capability for a fan and has an onboard TMP102 temperature sensor as well. This allows us to create a new thermal zone (called, un-imaginatively "board"), and allows us to use some active cooling as temperatures start edge upward in the system by creating a new alert temperature (emperically 50C) for cpu. NOTE: Fan is NOT mounted by default on the platform, in such a case, all we end up doing is switch on a regulator and leak very minimal current. Signed-off-by: Nishanth Menon <nm@ti.com> --- arch/arm/boot/dts/am57xx-beagle-x15.dts | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+)