From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751667AbbGMIDh (ORCPT ); Mon, 13 Jul 2015 04:03:37 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:20430 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751139AbbGMIDc (ORCPT ); Mon, 13 Jul 2015 04:03:32 -0400 X-AuditID: cbfec7f5-f794b6d000001495-f0-55a370d11c7c Message-id: <55A370CE.6080904@samsung.com> Date: Mon, 13 Jul 2015 17:03:26 +0900 From: Krzysztof Kozlowski User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-version: 1.0 To: Javier Martinez Canillas , Lee Jones Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Mark Brown , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 3/3] mfd: max77686: Split out regulator part from the DT binding References: <1436773348-15316-1-git-send-email-javier@osg.samsung.com> <1436773348-15316-4-git-send-email-javier@osg.samsung.com> In-reply-to: <1436773348-15316-4-git-send-email-javier@osg.samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsVy+t/xy7oXCxaHGmyeI2cx9eETNov5R86x Wrx5u4bJ4vULQ4v7X48yWmx6fI3V4vKuOWwWM87vY3Lg8Ni0qpPN4861PWwem5fUe2zpv8vu 0bdlFaPH501yAWxRXDYpqTmZZalF+nYJXBkfep8yF3y1rNh6egtrA+Nv3S5GDg4JAROJTY3V XYycQKaYxIV769m6GLk4hASWMkosaTjMDJIQEnjKKDF9VSGIzSugJfHgdRMTiM0ioCrRvamR BcRmEzCW2Lx8CRuILSoQIfH28kkmiHpBiR+T74HViAhESpy+N5MFZAGzwCpGiQ/Ld4AlhAXC JPbtmc0KsbmZUWL2yYOMIAlOAXeJCzsPsIBcyiygJ3H/ohZImFlAXmLzmrfMExgFZiHZMQuh ahaSqgWMzKsYRVNLkwuKk9JzjfSKE3OLS/PS9ZLzczcxQkL+6w7GpcesDjEKcDAq8fA2bFkU KsSaWFZcmXuIUYKDWUmE9/NZoBBvSmJlVWpRfnxRaU5q8SFGaQ4WJXHembvehwgJpCeWpGan phakFsFkmTg4pRoY97+Nt/0Ybv5T9Vhq2hN/dg9dT0dt1TKtBSnL7x+OWLVZKe+McIB01FeJ I7WzTJ2NdW5N8rbcpXzvu//MYKbPG3Pryqwft4Re0J40Kf595eWpO/1bNR54Kb57kuCdzZt5 NmP9L4d4wcLw2Mikx8HS2lKLp7RMjG053RrOOa1t2xJTqcy9eYeUWIozEg21mIuKEwESsoIA dQIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13.07.2015 16:42, Javier Martinez Canillas wrote: > The Maxim MAX77686 PMIC is a multi-function device with regulators, > clocks and a RTC. The DT bindings for the clocks are in a separate > file but the bindings for the regulators are inside the mfd part. > > To make it consistent with the clocks portion of the binding and > because is more natural to look for regulator bindings under the > bindings/regulator sub-directory, split the regulator portion of > the DT binding and add it as a separate file. > > Signed-off-by: Javier Martinez Canillas > > --- > > Documentation/devicetree/bindings/mfd/max77686.txt | 58 +----------------- > .../devicetree/bindings/regulator/max77686.txt | 71 ++++++++++++++++++++++ > 2 files changed, 74 insertions(+), 55 deletions(-) > create mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt Actually I would prefer the opposite - merging everything into one file (clocks, regulators -> mfd) because: 1. Separate files introduce some duplication (like introduction and common part of example node). 2. It is easier to track the changes and update them. For example when adding a new chipset to the driver one may forgot about updating other files. When moving files one may forgot to update hard-coded path in some other file. 3. When comparing existing DTS with documentation or when creating new DTS for the device it is just faster to fetch everything (knowledge, example node) from one file. However I understand that such opinion may be not suited for the idea of MFD... Best regards, Krzysztof > > diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt > index 8221102d3fc2..8a276dd5ea46 100644 > --- a/Documentation/devicetree/bindings/mfd/max77686.txt > +++ b/Documentation/devicetree/bindings/mfd/max77686.txt > @@ -8,7 +8,8 @@ client while probing.This document describes the binding for mfd device and > PMIC submodule. > > Binding for the built-in 32k clock generator block is defined separately > -in bindings/clk/maxim,max77686.txt file. > +in the bindings/clk/maxim,max77686.txt file and binding for the regulators > +is defined in the bindings/regulator/max77686.txt file. > > Required properties: > - compatible : Must be "maxim,max77686"; > @@ -16,36 +17,6 @@ Required properties: > - interrupts : This i2c device has an IRQ line connected to the main SoC. > - interrupt-parent : The parent interrupt controller. > > -Optional node: > -- voltage-regulators : The regulators of max77686 have to be instantiated > - under subnode named "voltage-regulators" using the following format. > - > - regulator_name { > - regulator-compatible = LDOn/BUCKn > - standard regulator constraints.... > - }; > - refer Documentation/devicetree/bindings/regulator/regulator.txt > - > - The regulator node's name should be initialized with a string > -to get matched with their hardware counterparts as follow: > - > - -LDOn : for LDOs, where n can lie in range 1 to 26. > - example: LDO1, LDO2, LDO26. > - -BUCKn : for BUCKs, where n can lie in range 1 to 9. > - example: BUCK1, BUCK5, BUCK9. > - > - Regulators which can be turned off during system suspend: > - -LDOn : 2, 6-8, 10-12, 14-16, > - -BUCKn : 1-4. > - Use standard regulator bindings for it ('regulator-off-in-suspend'). > - > - LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable > - control. To turn this feature on this property must be added to the regulator > - sub-node: > - - maxim,ena-gpios : one GPIO specifier enable control (the gpio > - flags are actually ignored and always > - ACTIVE_HIGH is used) > - > Example: > > max77686@09 { > @@ -53,27 +24,4 @@ Example: > interrupt-parent = <&wakeup_eint>; > interrupts = <26 0>; > reg = <0x09>; > - > - voltage-regulators { > - ldo11_reg: LDO11 { > - regulator-name = "vdd_ldo11"; > - regulator-min-microvolt = <1900000>; > - regulator-max-microvolt = <1900000>; > - regulator-always-on; > - }; > - > - buck1_reg: BUCK1 { > - regulator-name = "vdd_mif"; > - regulator-min-microvolt = <950000>; > - regulator-max-microvolt = <1300000>; > - regulator-always-on; > - regulator-boot-on; > - }; > - > - buck9_reg: BUCK9 { > - regulator-name = "CAM_ISP_CORE_1.2V"; > - regulator-min-microvolt = <1000000>; > - regulator-max-microvolt = <1200000>; > - maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>; > - }; > - } > + }; > diff --git a/Documentation/devicetree/bindings/regulator/max77686.txt b/Documentation/devicetree/bindings/regulator/max77686.txt > new file mode 100644 > index 000000000000..04b7604c219e > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/max77686.txt > @@ -0,0 +1,71 @@ > +Binding for Maxim MAX77686 regulators > + > +This is a part of the device tree bindings of MAX77686 multi-function device. > +More information can be found in bindings/mfd/max77686.txt file. > + > +The MAX77802 PMIC has 9 high-efficiency Buck and 26 Low-dropout (LDO) > +regulators that can be controlled over I2C. > + > +Following properties should be present in main device node of the MFD chip. > + > +Optional node: > +- voltage-regulators : The regulators of max77686 have to be instantiated > + under subnode named "voltage-regulators" using the following format. > + > + regulator_name { > + regulator-compatible = LDOn/BUCKn > + standard regulator constraints.... > + }; > + refer Documentation/devicetree/bindings/regulator/regulator.txt > + > + The regulator node's name should be initialized with a string > +to get matched with their hardware counterparts as follow: > + > + -LDOn : for LDOs, where n can lie in range 1 to 26. > + example: LDO1, LDO2, LDO26. > + -BUCKn : for BUCKs, where n can lie in range 1 to 9. > + example: BUCK1, BUCK5, BUCK9. > + > + Regulators which can be turned off during system suspend: > + -LDOn : 2, 6-8, 10-12, 14-16, > + -BUCKn : 1-4. > + Use standard regulator bindings for it ('regulator-off-in-suspend'). > + > + LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable > + control. To turn this feature on this property must be added to the regulator > + sub-node: > + - maxim,ena-gpios : one GPIO specifier enable control (the gpio > + flags are actually ignored and always > + ACTIVE_HIGH is used) > + > +Example: > + > + max77686@09 { > + compatible = "maxim,max77686"; > + interrupt-parent = <&wakeup_eint>; > + interrupts = <26 0>; > + reg = <0x09>; > + > + voltage-regulators { > + ldo11_reg: LDO11 { > + regulator-name = "vdd_ldo11"; > + regulator-min-microvolt = <1900000>; > + regulator-max-microvolt = <1900000>; > + regulator-always-on; > + }; > + > + buck1_reg: BUCK1 { > + regulator-name = "vdd_mif"; > + regulator-min-microvolt = <950000>; > + regulator-max-microvolt = <1300000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + buck9_reg: BUCK9 { > + regulator-name = "CAM_ISP_CORE_1.2V"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1200000>; > + maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>; > + }; > + }; >