[PATCH v4 4/4] mfd: max77686: Split out regulator part from the DT binding

Lee Jones
2015-08-24T11:49:14Z

On Mon, 24 Aug 2015, 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 <javier@osg.samsung.com>
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Acked-by: Lee Jones <lee.jones@linaro.org>
>
> ---
>
> Changes in v4: None
> Changes in v3:
> - Add Krzysztof Kozlowski Reviewed-by tag to patch #4.
> - Add Lee Jones Acked-by tag to patch #4.
>
> Changes in v2:
> - Use a generic name for the max77686 node in the regulator example.
>
> Documentation/devicetree/bindings/mfd/max77686.txt | 60 ++----------------
> .../devicetree/bindings/regulator/max77686.txt | 71 ++++++++++++++++++++++
> 2 files changed, 75 insertions(+), 56 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt

Applied, thanks.

> diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt
> index d2ed3c20a5c3..741e76688cf2 100644
> --- a/Documentation/devicetree/bindings/mfd/max77686.txt
> +++ b/Documentation/devicetree/bindings/mfd/max77686.txt
> @@ -7,8 +7,9 @@ different i2c slave address,presently for which we are statically creating i2c
> 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.
> +Bindings for the built-in 32k clock generator block and
> +regulators are defined in ../clk/maxim,max77686.txt and
> +../regulator/max77686.txt respectively.
>
> 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: pmic at 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..0dded64d89d3
> --- /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 ../mfd/max77686.txt file.
> +
> +The MAX77686 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: pmic at 09 {
> + compatible = "maxim,max77686";
> + interrupt-parent = <&wakeup_eint>;
> + interrupts = <26 IRQ_TYPE_NONE>;
> + 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>;
> + };
> + };

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog