* [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema
@ 2021-09-28 14:13 Krzysztof Kozlowski
2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski
2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski
0 siblings, 2 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2021-09-28 14:13 UTC (permalink / raw)
To: Lee Jones, Rob Herring, Chanwoo Choi, Krzysztof Kozlowski,
Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree,
linux-kernel
Hi,
Convert Maxim MAX77686 bindings to dtschema. The MFD patch (2/2)
depends on regulator, so this should go via one tree, for example Rob's.
Patch 1 (regulator) notes
=========================
Only few regulators support maxim,ena-gpios property. I tried to include
this in dtschema but because of unevaluatedProperties this part is not
actually effective. Any ideas here would be welcomed.
Clock bindings
==============
Existing Documentation/devicetree/bindings/clock/maxim,max77686.txt are
left untouched. The file is still used/referenced by other Maxim
devices: MAX77620 and MAX77802.
Best regards,
Krzysztof
Krzysztof Kozlowski (2):
regulator: dt-bindings: maxim,max77686: convert to dtschema
mfd: dt-bindings: maxim,max77686: convert to dtschema
.../devicetree/bindings/mfd/max77686.txt | 26 ----
.../bindings/mfd/maxim,max77686.yaml | 124 ++++++++++++++++++
.../bindings/regulator/max77686.txt | 71 ----------
.../bindings/regulator/maxim,max77686.yaml | 92 +++++++++++++
MAINTAINERS | 2 +-
5 files changed, 217 insertions(+), 98 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mfd/max77686.txt
create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77686.yaml
delete mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt
create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
--
2.30.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema
2021-09-28 14:13 [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema Krzysztof Kozlowski
@ 2021-09-28 14:13 ` Krzysztof Kozlowski
2021-09-29 13:42 ` Mark Brown
2021-10-04 15:07 ` Rob Herring
2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski
1 sibling, 2 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2021-09-28 14:13 UTC (permalink / raw)
To: Lee Jones, Rob Herring, Chanwoo Choi, Krzysztof Kozlowski,
Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree,
linux-kernel
Convert the regulators of Maxim MAX77686 PMIC to DT schema format.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
.../bindings/regulator/max77686.txt | 71 --------------
.../bindings/regulator/maxim,max77686.yaml | 92 +++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 93 insertions(+), 71 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt
create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
diff --git a/Documentation/devicetree/bindings/regulator/max77686.txt b/Documentation/devicetree/bindings/regulator/max77686.txt
deleted file mode 100644
index e9f7578ca09a..000000000000
--- a/Documentation/devicetree/bindings/regulator/max77686.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-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@9 {
- 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>;
- };
- };
diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
new file mode 100644
index 000000000000..33a80a8caf26
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/maxim,max77686.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Maxim MAX77686 Power Management IC regulators
+
+maintainers:
+ - Chanwoo Choi <cw00.choi@samsung.com>
+ - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
+
+description: |
+ This is a part of device tree bindings for Maxim MAX77686 Power Management
+ Integrated Circuit (PMIC).
+
+ The Maxim MAX77686 provides high-efficiency Buck and 26 Low-DropOut (LDO)
+ regulators.
+
+ See also Documentation/devicetree/bindings/mfd/maxim,max77686.yaml for
+ additional information and example.
+
+patternProperties:
+ # 26 LDOs
+ "^LDO([1-9]|1[0-9]|2[0-6])$":
+ type: object
+ $ref: regulator.yaml#
+ description: |
+ Properties for single LDO regulator.
+ Regulators which can be turned off during system suspend:
+ LDO2, LDO6-8, LDO10-12, LDO14-16
+
+ properties:
+ regulator-name: true
+
+ maxim,ena-gpios:
+ maxItems: 1
+ description: |
+ GPIO specifier to enable the GPIO control (on/off) for regulator.
+
+ required:
+ - regulator-name
+
+ unevaluatedProperties: false
+
+ allOf:
+ - if:
+ properties:
+ $nodename:
+ pattern: "^(LDO20|LDO21|LDO22|BUCK8|BUCK9)$"
+ then:
+ properties:
+ maxim,ena-gpios: true
+ else:
+ properties:
+ maxim,ena-gpios: false
+
+ # 9 bucks
+ "^BUCK[1-9]$":
+ type: object
+ $ref: regulator.yaml#
+ description: |
+ Properties for single BUCK regulator.
+ Regulators which can be turned off during system suspend:
+ BUCK[1-4]
+
+ properties:
+ regulator-name: true
+
+ maxim,ena-gpios:
+ maxItems: 1
+ description: |
+ GPIO specifier to enable the GPIO control (on/off) for regulator.
+
+ required:
+ - regulator-name
+
+ unevaluatedProperties: false
+
+ allOf:
+ - if:
+ properties:
+ $nodename:
+ pattern: "^(LDO20|LDO21|LDO22|BUCK8|BUCK9)$"
+ then:
+ properties:
+ maxim,ena-gpios: true
+ else:
+ properties:
+ maxim,ena-gpios: false
+
+additionalProperties: false
diff --git a/MAINTAINERS b/MAINTAINERS
index 39b4ef4b5a95..32b55f9ab76a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11469,6 +11469,7 @@ M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
L: linux-kernel@vger.kernel.org
S: Supported
F: Documentation/devicetree/bindings/*/max77686.txt
+F: Documentation/devicetree/bindings/*/maxim,max77686.yaml
F: Documentation/devicetree/bindings/clock/maxim,max77686.txt
F: Documentation/devicetree/bindings/mfd/max14577.txt
F: Documentation/devicetree/bindings/mfd/max77693.txt
--
2.30.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] mfd: dt-bindings: maxim,max77686: convert to dtschema
2021-09-28 14:13 [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema Krzysztof Kozlowski
2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski
@ 2021-09-28 14:13 ` Krzysztof Kozlowski
2021-10-04 16:13 ` Rob Herring
1 sibling, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2021-09-28 14:13 UTC (permalink / raw)
To: Lee Jones, Rob Herring, Chanwoo Choi, Krzysztof Kozlowski,
Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree,
linux-kernel
Convert the MFD part of Maxim MAX77686 PMIC to DT schema format.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
.../devicetree/bindings/mfd/max77686.txt | 26 ----
.../bindings/mfd/maxim,max77686.yaml | 124 ++++++++++++++++++
MAINTAINERS | 1 -
3 files changed, 124 insertions(+), 27 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mfd/max77686.txt
create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77686.yaml
diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt
deleted file mode 100644
index 42968b7144e0..000000000000
--- a/Documentation/devicetree/bindings/mfd/max77686.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-Maxim MAX77686 multi-function device
-
-MAX77686 is a Multifunction device with PMIC, RTC and Charger on chip. It is
-interfaced to host controller using i2c interface. PMIC and Charger submodules
-are addressed using same i2c slave address whereas RTC submodule uses
-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.
-
-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";
-- reg : Specifies the i2c slave address of PMIC block.
-- interrupts : This i2c device has an IRQ line connected to the main SoC.
-
-Example:
-
- max77686: pmic@9 {
- compatible = "maxim,max77686";
- interrupt-parent = <&wakeup_eint>;
- interrupts = <26 0>;
- reg = <0x09>;
- };
diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77686.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77686.yaml
new file mode 100644
index 000000000000..2296a16038b7
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/maxim,max77686.yaml
@@ -0,0 +1,124 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/maxim,max77686.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Maxim MAX77686 Power Management IC
+
+maintainers:
+ - Chanwoo Choi <cw00.choi@samsung.com>
+ - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
+
+description: |
+ This is a part of device tree bindings for Maxim MAX77686 Power Management
+ Integrated Circuit (PMIC).
+
+ The Maxim MAX77686 is a Power Management IC which includes voltage and
+ current regulators, RTC and clock outputs.
+
+ The MAX77686 provides three 32.768khz clock outputs that can be controlled
+ (gated/ungated) over I2C. The clock IDs are defined as preprocessor macros
+ in dt-bindings/clock/maxim,max77686.h.
+
+properties:
+ compatible:
+ const: maxim,max77686
+
+ '#clock-cells':
+ const: 1
+
+ interrupts:
+ maxItems: 1
+
+ reg:
+ maxItems: 1
+
+ voltage-regulators:
+ $ref: ../regulator/maxim,max77686.yaml
+ description:
+ List of child nodes that specify the regulators.
+
+ wakeup-source: true
+
+required:
+ - compatible
+ - '#clock-cells'
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ max77686: pmic@9 {
+ compatible = "maxim,max77686";
+ reg = <0x09>;
+
+ interrupt-parent = <&gpx0>;
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&max77686_irq>;
+ pinctrl-names = "default";
+ wakeup-source;
+ #clock-cells = <1>;
+
+ voltage-regulators {
+ LDO1 {
+ regulator-name = "VALIVE_1.0V_AP";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ LDO2 {
+ regulator-name = "VM1M2_1.2V_AP";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
+ // ...
+
+ BUCK1 {
+ regulator-name = "VDD_MIF";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ BUCK2 {
+ regulator-name = "VDD_ARM";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
+ // ...
+
+ 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/MAINTAINERS b/MAINTAINERS
index 32b55f9ab76a..04e8554f4f5b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11468,7 +11468,6 @@ M: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
L: linux-kernel@vger.kernel.org
S: Supported
-F: Documentation/devicetree/bindings/*/max77686.txt
F: Documentation/devicetree/bindings/*/maxim,max77686.yaml
F: Documentation/devicetree/bindings/clock/maxim,max77686.txt
F: Documentation/devicetree/bindings/mfd/max14577.txt
--
2.30.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema
2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski
@ 2021-09-29 13:42 ` Mark Brown
2021-10-04 15:07 ` Rob Herring
1 sibling, 0 replies; 7+ messages in thread
From: Mark Brown @ 2021-09-29 13:42 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Lee Jones, Rob Herring, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
Liam Girdwood, devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 181 bytes --]
On Tue, Sep 28, 2021 at 04:13:52PM +0200, Krzysztof Kozlowski wrote:
> Convert the regulators of Maxim MAX77686 PMIC to DT schema format.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema
2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski
2021-09-29 13:42 ` Mark Brown
@ 2021-10-04 15:07 ` Rob Herring
2021-10-08 12:09 ` Krzysztof Kozlowski
1 sibling, 1 reply; 7+ messages in thread
From: Rob Herring @ 2021-10-04 15:07 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Lee Jones, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
Liam Girdwood, Mark Brown, devicetree, linux-kernel
On Tue, Sep 28, 2021 at 04:13:52PM +0200, Krzysztof Kozlowski wrote:
> Convert the regulators of Maxim MAX77686 PMIC to DT schema format.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
> .../bindings/regulator/max77686.txt | 71 --------------
> .../bindings/regulator/maxim,max77686.yaml | 92 +++++++++++++++++++
> MAINTAINERS | 1 +
> 3 files changed, 93 insertions(+), 71 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt
> create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/max77686.txt b/Documentation/devicetree/bindings/regulator/max77686.txt
> deleted file mode 100644
> index e9f7578ca09a..000000000000
> --- a/Documentation/devicetree/bindings/regulator/max77686.txt
> +++ /dev/null
> @@ -1,71 +0,0 @@
> -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@9 {
> - 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>;
> - };
> - };
> diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
> new file mode 100644
> index 000000000000..33a80a8caf26
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
> @@ -0,0 +1,92 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/maxim,max77686.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Maxim MAX77686 Power Management IC regulators
> +
> +maintainers:
> + - Chanwoo Choi <cw00.choi@samsung.com>
> + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> +
> +description: |
> + This is a part of device tree bindings for Maxim MAX77686 Power Management
> + Integrated Circuit (PMIC).
> +
> + The Maxim MAX77686 provides high-efficiency Buck and 26 Low-DropOut (LDO)
> + regulators.
> +
> + See also Documentation/devicetree/bindings/mfd/maxim,max77686.yaml for
> + additional information and example.
> +
> +patternProperties:
> + # 26 LDOs
> + "^LDO([1-9]|1[0-9]|2[0-6])$":
> + type: object
> + $ref: regulator.yaml#
> + description: |
> + Properties for single LDO regulator.
> + Regulators which can be turned off during system suspend:
> + LDO2, LDO6-8, LDO10-12, LDO14-16
> +
> + properties:
> + regulator-name: true
> +
> + maxim,ena-gpios:
> + maxItems: 1
> + description: |
> + GPIO specifier to enable the GPIO control (on/off) for regulator.
> +
> + required:
> + - regulator-name
> +
> + unevaluatedProperties: false
> +
> + allOf:
> + - if:
> + properties:
> + $nodename:
I'm not sure this actually works with $nodename in child nodes.
I think I would just split out the 2 cases to 2 separate
patternProperties entries.
> + pattern: "^(LDO20|LDO21|LDO22|BUCK8|BUCK9)$"
Drop BUCK* ?
> + then:
> + properties:
> + maxim,ena-gpios: true
This is not necessary. Flip the if condition.
> + else:
> + properties:
> + maxim,ena-gpios: false
> +
> + # 9 bucks
> + "^BUCK[1-9]$":
> + type: object
> + $ref: regulator.yaml#
> + description: |
> + Properties for single BUCK regulator.
> + Regulators which can be turned off during system suspend:
> + BUCK[1-4]
> +
> + properties:
> + regulator-name: true
> +
> + maxim,ena-gpios:
> + maxItems: 1
> + description: |
> + GPIO specifier to enable the GPIO control (on/off) for regulator.
> +
> + required:
> + - regulator-name
> +
> + unevaluatedProperties: false
> +
> + allOf:
> + - if:
> + properties:
> + $nodename:
> + pattern: "^(LDO20|LDO21|LDO22|BUCK8|BUCK9)$"
Drop LDO* ?
> + then:
> + properties:
> + maxim,ena-gpios: true
> + else:
> + properties:
> + maxim,ena-gpios: false
> +
> +additionalProperties: false
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 39b4ef4b5a95..32b55f9ab76a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11469,6 +11469,7 @@ M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> L: linux-kernel@vger.kernel.org
> S: Supported
> F: Documentation/devicetree/bindings/*/max77686.txt
> +F: Documentation/devicetree/bindings/*/maxim,max77686.yaml
> F: Documentation/devicetree/bindings/clock/maxim,max77686.txt
> F: Documentation/devicetree/bindings/mfd/max14577.txt
> F: Documentation/devicetree/bindings/mfd/max77693.txt
> --
> 2.30.2
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] mfd: dt-bindings: maxim,max77686: convert to dtschema
2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski
@ 2021-10-04 16:13 ` Rob Herring
0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2021-10-04 16:13 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Chanwoo Choi, Liam Girdwood, devicetree, linux-kernel,
Rob Herring, Mark Brown, Lee Jones, Bartlomiej Zolnierkiewicz
On Tue, 28 Sep 2021 16:13:53 +0200, Krzysztof Kozlowski wrote:
> Convert the MFD part of Maxim MAX77686 PMIC to DT schema format.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> ---
> .../devicetree/bindings/mfd/max77686.txt | 26 ----
> .../bindings/mfd/maxim,max77686.yaml | 124 ++++++++++++++++++
> MAINTAINERS | 1 -
> 3 files changed, 124 insertions(+), 27 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/mfd/max77686.txt
> create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77686.yaml
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema
2021-10-04 15:07 ` Rob Herring
@ 2021-10-08 12:09 ` Krzysztof Kozlowski
0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2021-10-08 12:09 UTC (permalink / raw)
To: Rob Herring
Cc: Lee Jones, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
Liam Girdwood, Mark Brown, devicetree, linux-kernel
On 04/10/2021 17:07, Rob Herring wrote:
> On Tue, Sep 28, 2021 at 04:13:52PM +0200, Krzysztof Kozlowski wrote:
>> Convert the regulators of Maxim MAX77686 PMIC to DT schema format.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
>> ---
>> .../bindings/regulator/max77686.txt | 71 --------------
>> .../bindings/regulator/maxim,max77686.yaml | 92 +++++++++++++++++++
>> MAINTAINERS | 1 +
>> 3 files changed, 93 insertions(+), 71 deletions(-)
>> delete mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt
>> create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/regulator/max77686.txt b/Documentation/devicetree/bindings/regulator/max77686.txt
>> deleted file mode 100644
>> index e9f7578ca09a..000000000000
>> --- a/Documentation/devicetree/bindings/regulator/max77686.txt
>> +++ /dev/null
>> @@ -1,71 +0,0 @@
>> -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@9 {
>> - 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>;
>> - };
>> - };
>> diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
>> new file mode 100644
>> index 000000000000..33a80a8caf26
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml
>> @@ -0,0 +1,92 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/regulator/maxim,max77686.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Maxim MAX77686 Power Management IC regulators
>> +
>> +maintainers:
>> + - Chanwoo Choi <cw00.choi@samsung.com>
>> + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
>> +
>> +description: |
>> + This is a part of device tree bindings for Maxim MAX77686 Power Management
>> + Integrated Circuit (PMIC).
>> +
>> + The Maxim MAX77686 provides high-efficiency Buck and 26 Low-DropOut (LDO)
>> + regulators.
>> +
>> + See also Documentation/devicetree/bindings/mfd/maxim,max77686.yaml for
>> + additional information and example.
>> +
>> +patternProperties:
>> + # 26 LDOs
>> + "^LDO([1-9]|1[0-9]|2[0-6])$":
>> + type: object
>> + $ref: regulator.yaml#
>> + description: |
>> + Properties for single LDO regulator.
>> + Regulators which can be turned off during system suspend:
>> + LDO2, LDO6-8, LDO10-12, LDO14-16
>> +
>> + properties:
>> + regulator-name: true
>> +
>> + maxim,ena-gpios:
>> + maxItems: 1
>> + description: |
>> + GPIO specifier to enable the GPIO control (on/off) for regulator.
>> +
>> + required:
>> + - regulator-name
>> +
>> + unevaluatedProperties: false
>> +
>> + allOf:
>> + - if:
>> + properties:
>> + $nodename:
>
> I'm not sure this actually works with $nodename in child nodes.
>
> I think I would just split out the 2 cases to 2 separate
> patternProperties entries.
>
I split the entries, slightly more code but it's actually easier to read.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-10-08 12:09 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-28 14:13 [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema Krzysztof Kozlowski
2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski
2021-09-29 13:42 ` Mark Brown
2021-10-04 15:07 ` Rob Herring
2021-10-08 12:09 ` Krzysztof Kozlowski
2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski
2021-10-04 16:13 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).