{"id":811312,"url":"http://patchwork.ozlabs.org/api/1.2/patches/811312/?format=json","web_url":"http://patchwork.ozlabs.org/project/openbmc/patch/20170908043919.6924-2-andrew@aj.id.au/","project":{"id":56,"url":"http://patchwork.ozlabs.org/api/1.2/projects/56/?format=json","name":"OpenBMC development","link_name":"openbmc","list_id":"openbmc.lists.ozlabs.org","list_email":"openbmc@lists.ozlabs.org","web_url":"http://github.com/openbmc/","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170908043919.6924-2-andrew@aj.id.au>","list_archive_url":null,"date":"2017-09-08T04:39:17","name":"[v3,1/3] dt-bindings: hwmon: pmbus: Add Maxim MAX31785 documentation","commit_ref":null,"pull_url":null,"state":"not-applicable","archived":true,"hash":"7c6fc75d2c68e4435bb036fdbdbb7969715e3ea3","submitter":{"id":68332,"url":"http://patchwork.ozlabs.org/api/1.2/people/68332/?format=json","name":"Andrew Jeffery","email":"andrew@aj.id.au"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/openbmc/patch/20170908043919.6924-2-andrew@aj.id.au/mbox/","series":[{"id":2097,"url":"http://patchwork.ozlabs.org/api/1.2/series/2097/?format=json","web_url":"http://patchwork.ozlabs.org/project/openbmc/list/?series=2097","date":"2017-09-08T04:39:16","name":"pmbus: Expand fan support and add MAX31785 driver","version":3,"mbox":"http://patchwork.ozlabs.org/series/2097/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/811312/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/811312/checks/","tags":{},"related":[],"headers":{"Return-Path":"<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","openbmc@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xpPlS1SJpz9s82\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 14:40:52 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xpPlS0971zDrZp\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 14:40:52 +1000 (AEST)","from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com\n\t[66.111.4.25])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xpPkS1CvMzDqR8\n\tfor <openbmc@lists.ozlabs.org>; Fri,  8 Sep 2017 14:40:00 +1000 (AEST)","from compute4.internal (compute4.nyi.internal [10.202.2.44])\n\tby mailout.nyi.internal (Postfix) with ESMTP id 02EC120BFB;\n\tFri,  8 Sep 2017 00:39:58 -0400 (EDT)","from frontend1 ([10.202.2.160])\n\tby compute4.internal (MEProxy); Fri, 08 Sep 2017 00:39:58 -0400","from keelia.ozlabs.ibm.com (unknown [122.99.82.10])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id 7E9BA7E426;\n\tFri,  8 Sep 2017 00:39:54 -0400 (EDT)"],"Authentication-Results":["ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=aj.id.au header.i=@aj.id.au header.b=\"bM5MVPJo\";\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"cUp6wOAg\"; \n\tdkim-atps=neutral","lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=aj.id.au header.i=@aj.id.au header.b=\"bM5MVPJo\";\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"cUp6wOAg\"; \n\tdkim-atps=neutral","ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=aj.id.au\n\t(client-ip=66.111.4.25; helo=out1-smtp.messagingengine.com;\n\tenvelope-from=andrew@aj.id.au; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=aj.id.au header.i=@aj.id.au header.b=\"bM5MVPJo\";\n\tdkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com\n\theader.b=\"cUp6wOAg\"; dkim-atps=neutral"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=aj.id.au; h=cc\n\t:date:from:in-reply-to:message-id:references:subject:to\n\t:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=KoYjDx\n\ts13UIbroALTMsvHG4CKwn091z4Ys6237spqeE=; b=bM5MVPJoF/p6mt2qA77Kje\n\tO38odur6+W8vJFR3cJoIpYtv7Df0njL7qV4JUahSXYKgo0qVeUwstXuz4xNCxxQK\n\tFwLn05LkVXFyU9MPqmu0q24mqU9witYp74f0ES3b1ifQLCuUequwISeFLj//2SiP\n\tCOnAbThkFVskQh1UAwN5OIHj7Wu7e8JhkeFxCCMPUFqnIeIJlms1I2AjZolKTh6v\n\tfoSjzuXHBpZ5hvoUD720s4dyT7PfFBJKfT1MVNg2jqpaZnjehiNBoKJjzAgp1nNs\n\tjcayPoDyrLq5QxvGeYqw1Kxy6ENQcN9JGqz/lkBhI1+ImkB9LPh99nfe5zp/E95w\n\t==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:date:from:in-reply-to:message-id\n\t:references:subject:to:x-me-sender:x-me-sender:x-sasl-enc\n\t:x-sasl-enc; s=fm1; bh=KoYjDxs13UIbroALTMsvHG4CKwn091z4Ys6237spq\n\teE=; b=cUp6wOAgfiHjhFhXs4IY7mSqkdha+3x5Auw3IIyF/x6E8QvsSJdPyUP7k\n\tbe1QOzcOuWtTl1ehUQnvHYXUBMqWppN5a5Boq14Ls/IVlrHDA02EmuAyp4WI+h9O\n\txamrzfWBoPLY4F4vmpNojbmkT0KpVZo3DDeZ1lcyePzSI/HUFX/2HM9aunWmIP38\n\tt/HOKIsEGKhieN79xH7gyjKuDr9lAEWqdcBBmZZ7w79ZlGhCs3PiMKkBlHFWLrEY\n\tT+x+/yeRY69ykYVfVzmv2IvD+6b0qjx5fMudM7cA25vWO7tqF00uSupoVBmYIE+4\n\t4lrrFoUz5ZrOVag8k2NDhaqeJjvXg=="],"X-ME-Sender":"<xms:HR-yWT8RU-qQd4dqd0LBlrV8a0JVBK3YuHxz4wUVp7GESJ6OUwsflQ>","X-Sasl-enc":"jNB4QclHe/Hf0BbifmUiUzE2SFe40bTEkaP6UmnASvRe 1504845597","From":"Andrew Jeffery <andrew@aj.id.au>","To":"linux@roeck-us.net,\n\tlinux-hwmon@vger.kernel.org","Subject":"[PATCH v3 1/3] dt-bindings: hwmon: pmbus: Add Maxim MAX31785\n\tdocumentation","Date":"Fri,  8 Sep 2017 14:39:17 +1000","Message-Id":"<20170908043919.6924-2-andrew@aj.id.au>","X-Mailer":"git-send-email 2.11.0","In-Reply-To":"<20170908043919.6924-1-andrew@aj.id.au>","References":"<20170908043919.6924-1-andrew@aj.id.au>","X-BeenThere":"openbmc@lists.ozlabs.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"Development list for OpenBMC <openbmc.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/openbmc/>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Help":"<mailto:openbmc-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=subscribe>","Cc":"mark.rutland@arm.com, devicetree@vger.kernel.org, jdelvare@suse.com,\n\tAndrew Jeffery <andrew@aj.id.au>, openbmc@lists.ozlabs.org,\n\tlinux-kernel@vger.kernel.org, robh+dt@kernel.org","Errors-To":"openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"openbmc\"\n\t<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"},"content":"Signed-off-by: Andrew Jeffery <andrew@aj.id.au>\n---\n .../devicetree/bindings/hwmon/pmbus/max31785.txt   | 158 +++++++++++++++++++++\n 1 file changed, 158 insertions(+)\n create mode 100644 Documentation/devicetree/bindings/hwmon/pmbus/max31785.txt","diff":"diff --git a/Documentation/devicetree/bindings/hwmon/pmbus/max31785.txt b/Documentation/devicetree/bindings/hwmon/pmbus/max31785.txt\nnew file mode 100644\nindex 000000000000..af9578e7742c\n--- /dev/null\n+++ b/Documentation/devicetree/bindings/hwmon/pmbus/max31785.txt\n@@ -0,0 +1,158 @@\n+Bindings for the Maxim MAX31785 Intelligent Fan Controller\n+==========================================================\n+\n+Reference:\n+\n+https://datasheets.maximintegrated.com/en/ds/MAX31785.pdf\n+\n+Required properties:\n+- compatible     : One of \"maxim,max31785\" or \"maxim,max31785a\"\n+- reg            : I2C address, one of 0x52, 0x53, 0x54, 0x55.\n+- #address-cells : Must be 1\n+- #size-cells    : Must be 0\n+- #thermal-sensor-cells  : Should be 1. The device supports:\n+                           - One internal sensor\n+                           - Four external I2C digital sensors\n+                           - Six external thermal diodes\n+\n+Optional properties:\n+- use-stored-presence    : Do not treat the devicetree description as canon for\n+                           fan presence (the 'installed' bit of FAN_CONFIG_*).\n+                           Instead, rely on the on the default value store of\n+                           the device to populate it.\n+\n+Capabilities are configured through subnodes of the controller's node.\n+\n+Fans\n+----\n+\n+Only fans with subnodes present will be considered as installed. If\n+use-stored-presence is present in the parent node, then only fans that are both\n+defined in the devicetree and have their installed bit set are considered\n+installed.\n+\n+Required subnode properties:\n+- compatible             : Must be \"pmbus-fan\"\n+- reg                    : The PMBus page the properties apply to.\n+- #cooling-cells         : Should be 2. See the thermal bindings at [1].\n+- maxim,fan-rotor-input  : The type of rotor measurement provided to the\n+                           controller. Must be either \"tach\" for tachometer\n+                           pulses or \"lock\" for a locked-rotor signal.\n+- maxim,fan-lock-polarity: Required iff maxim,fan-rotor-input is \"lock\". Valid\n+                           values are \"low\" for active low, \"high\" for active\n+                           high.\n+\n+Optional subnode properties:\n+- fan-mode               : \"rpm\" or \"pwm\". Default value is \"pwm\".\n+- tach-pulses            : Tachometer pulses per revolution. Valid values are\n+                           1, 2, 3 or 4. The default is 1.\n+- cooling-min-level      : Smallest cooling state accepted. See [1].\n+- cooling-max-level      : Largest cooling state accepted. See [1].\n+- maxim,fan-no-fault-ramp: Do not ramp the fan to 100% PWM duty on detecting a\n+                           fan fault\n+- maxim,fan-startup      : The number of rotations required before taking\n+                           emergency action for an unresponsive fan and driving\n+                           it with 100% or 0% PWM duty, depending on the state\n+                           of maxim,fan-no-fault-ramp. Valid values are 0\n+                           (automatic spin-up disabled), 2, 4, or 8. Default\n+                           value is 0.\n+- maxim,fan-health       : Enable automated fan health check\n+- maxim,fan-ramp         : Configures how fast the device ramps the PWM duty\n+                           cycle from one value to another. Valid values are 0\n+                           to 7 inclusive, with values 0 - 2 configuring a\n+                           1000ms update rate and 1 - 3% duty respective duty\n+                           increase, and 3 - 7 a 200ms update rate with a 1 -\n+                           5% respective duty increase. Default value is 0.\n+- maxim,fan-no-watchdog  : Do not ramp fan to 100% PWM duty on failure to\n+                           update desired fan rate inside 10s. This implies\n+                           maxim,tmp-no-fault-ramp\n+- maxim,tmp-no-fault-ramp: Do not ramp fan to 100% PWM duty on temperature\n+                           sensor fault detection. This implies\n+                           maxim,fan-no-watchdog\n+- maxim,tmp-hysteresis   : The temperature hysteresis used to determine\n+                           transitions to lower fan speed bands in the\n+                           temperature/fan rate lookup table. Valid values are\n+                           2, 4, 6 or 8 (degrees celcius). Default value is 2.\n+- maxim,fan-dual-tach    : Enable dual tachometer functionality\n+- maxim,fan-pwm-freq     : The PWM frequency. Valid values are 30, 50, 100, 150\n+                           and 25000 (Hz). Default value is 30Hz.\n+- maxim,fan-lookup-table : A 16-element cell array of alternating temperature\n+                           and rate values representing the look up table. The\n+                           rate units are set through the fan-mode property.\n+- maxim,fan-fault-pin-mon: Ramp fans to 100% PWM duty when the FAULT pin is\n+                           asserted\n+\n+Temperature\n+-----------\n+\n+Required subnode properties:\n+- compatible    : Must be \"pmbus-temperature\"\n+- reg           : The PMBus page the properties apply to.\n+\n+Optional subnode properties:\n+- maxim,tmp-offset      : Valid values are 0 - 30 (degrees celcius) inclusive.\n+                          Default value is 0.\n+- maxim,tmp-fans        : An array of phandles to fans controlled by the\n+                          current temperature sensor.\n+\n+[1] Documentation/devicetree/bindings/thermal/thermal.txt\n+\n+Example:\n+\tfan-max31785: max31785@52 {\n+\t\treg = <0x52>;\n+\t\tcompatible = \"maxim,max31785\";\n+                #address-cells = <1>;\n+                #size-cells = <0>;\n+                #thermal-sensor-cells = <1>;\n+\n+                fan@0 {\n+                        compatible = \"pmbus-fan\";\n+                        reg = <0>;\n+                        mode = \"rpm\";\n+                        tach-pulses = <1>;\n+\n+                        #cooling-cells = <2>;\n+                        cooling-min-level = <0>;\n+                        cooling-max-level = <9>;\n+\n+                        maxim,fan-rotor-input = \"tach\";\n+                        maxim,fan-dual-tach;\n+                };\n+\n+                /*\n+                 * Hardware controlled fan: Fan speed is controlled by a\n+                 * temperature sensor feeding values into the lookup table. The\n+                 * fan association is done in the temperature sensor node. One\n+                 * sensor can drive multiple fans.\n+                 */\n+                cpu_fan: fan@1 {\n+                        compatible = \"pmbus-fan\";\n+                        reg = <1>;\n+                        mode = \"rpm\";\n+                        tach-pulses = <1>;\n+\n+                        #cooling-cells = <2>;\n+\n+                        maxim,fan-rotor-input = \"tach\";\n+                        maxim,tmp-hysteresis = <2>;\n+                        maxim,fan-lookup-table = <\n+                        /*  Temperature    RPM  */\n+                                 0        1000\n+                                10        2000\n+                                20        3000\n+                                30        4000\n+                                40        5000\n+                                50        6000\n+                                60        7000\n+                                70        8000\n+                        >;\n+                };\n+\n+                cpu_temp: sensor@6 {\n+                        compatible = \"pmbus-temperature\";\n+                        reg = <6>;\n+\n+                        maxim,tmp-offset = <0>;\n+                        maxim,tmp-fans = <&cpu_fan>;\n+                };\n+\t};\n","prefixes":["v3","1/3"]}