From: Serge Schneider <[email protected]>

This patch adds the binding for the fan on the Raspberry Pi Power over
Ethernet HAT.

Signed-off-by: Serge Schneider <[email protected]>
Signed-off-by: Stefan Wahren <[email protected]>
---
 .../devicetree/bindings/hwmon/rpi-poe-fan.txt      | 55 ++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwmon/rpi-poe-fan.txt

diff --git a/Documentation/devicetree/bindings/hwmon/rpi-poe-fan.txt 
b/Documentation/devicetree/bindings/hwmon/rpi-poe-fan.txt
new file mode 100644
index 0000000..c71f856
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/rpi-poe-fan.txt
@@ -0,0 +1,55 @@
+Bindings for the Raspberry Pi PoE HAT fan
+
+Required properties:
+- compatible   : "raspberrypi,rpi-poe-fan"
+- firmware     : Reference to the RPi firmware device node
+- pwms         : the PWM that is used to control the PWM fan
+- cooling-levels      : PWM duty cycle values in a range from 0 to 255
+                       which correspond to thermal cooling states
+
+Example:
+       fan0: rpi-poe-fan@0 {
+               compatible = "raspberrypi,rpi-poe-fan";
+               firmware = <&firmware>;
+               cooling-min-state = <0>;
+               cooling-max-state = <3>;
+               #cooling-cells = <2>;
+               cooling-levels = <0 50 150 255>;
+               status = "okay";
+       };
+
+       thermal-zones {
+               cpu_thermal: cpu-thermal {
+                       trips {
+                               threshold: trip-point@0 {
+                                       temperature = <45000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               target: trip-point@1 {
+                                       temperature = <50000>;
+                                       hysteresis = <2000>;
+                                       type = "active";
+                               };
+                               cpu_hot: cpu_hot@0 {
+                                       temperature = <55000>;
+                                       hysteresis = <2000>;
+                                       type = "active";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&threshold>;
+                                       cooling-device = <&fan0 0 1>;
+                               };
+                               map1 {
+                                       trip = <&target>;
+                                       cooling-device = <&fan0 1 2>;
+                               };
+                               map2 {
+                                       trip = <&cpu_hot>;
+                                       cooling-device = <&fan0 2 3>;
+                               };
+                       };
+               };
+       };
-- 
2.7.4

Reply via email to