Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from
TXT to YAML format. This patch does not change any functionality; the
bindings remain the same.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
.../pinctrl/maxim,max77620-pinctrl.yaml | 97 +++++++++++++
.../bindings/pinctrl/pinctrl-max77620.txt | 127 ------------------
2 files changed, 97 insertions(+), 127 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml
delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt
diff --git a/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml
new file mode 100644
index 000000000000..7364a8bdd7d3
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml
@@ -0,0 +1,97 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/maxim,max77620-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Pinmux controller function for Maxim MAX77620 Power management IC
+
+maintainers:
+ - Svyatoslav Ryhel <clamor95@gmail.com>
+
+description:
+ Device has 8 GPIO pins which can be configured as GPIO as well as the
+ special IO functions.
+
+allOf:
+ - $ref: /schemas/pinctrl/pincfg-node.yaml
+ - $ref: /schemas/pinctrl/pinmux-node.yaml
+
+patternProperties:
+ "^(pin_gpio|gpio)[0-7_]+$":
+ type: object
+
+ properties:
+ pins:
+ enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7 ]
+ minItems: 1
+ maxItems: 8
+
+ function:
+ enum: [ gpio, lpm-control-in, fps-out, 32k-out1, sd0-dvs-in, sd1-dvs-in,
+ reference-out ]
+
+ drive-push-pull: true
+ drive-open-drain: true
+ bias-pull-up: true
+ bias-pull-down: true
+
+ maxim,active-fps-source:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ FPS source for the GPIOs to get enabled/disabled when system is in
+ active state. Valid values are:
+ - MAX77620_FPS_SRC_0: FPS source is FPS0.
+ - MAX77620_FPS_SRC_1: FPS source is FPS1
+ - MAX77620_FPS_SRC_2: FPS source is FPS2
+ - MAX77620_FPS_SRC_NONE: GPIO is not controlled by FPS events and
+ it gets enabled/disabled by register access.
+ Absence of this property will leave the FPS configuration register
+ for that GPIO to default configuration.
+
+ maxim,active-fps-power-up-slot:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Sequencing event slot number on which the GPIO get enabled when
+ master FPS input event set to HIGH. This is applicable if FPS source
+ is selected as FPS0, FPS1 or FPS2.
+ enum: [0, 1, 2, 3, 4, 5, 6, 7]
+
+ maxim,active-fps-power-down-slot:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Sequencing event slot number on which the GPIO get disabled when
+ master FPS input event set to LOW. This is applicable if FPS source
+ is selected as FPS0, FPS1 or FPS2.
+ enum: [0, 1, 2, 3, 4, 5, 6, 7]
+
+ maxim,suspend-fps-source:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ This is same as property "maxim,active-fps-source" but value get
+ configured when system enters in to suspend state.
+
+ maxim,suspend-fps-power-up-slot:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ This is same as property "maxim,active-fps-power-up-slot" but this
+ value get configured into FPS configuration register when system
+ enters into suspend. This is applicable if suspend state FPS source
+ is selected as FPS0, FPS1 or FPS2.
+ enum: [0, 1, 2, 3, 4, 5, 6, 7]
+
+ maxim,suspend-fps-power-down-slot:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ This is same as property "maxim,active-fps-power-down-slot" but this
+ value get configured into FPS configuration register when system
+ enters into suspend. This is applicable if suspend state FPS source
+ is selected as FPS0, FPS1 or FPS2.
+ enum: [0, 1, 2, 3, 4, 5, 6, 7]
+
+ required:
+ - pins
+
+additionalProperties: false
+
+# see maxim,max77620.yaml for an example
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt
deleted file mode 100644
index 28fbca180068..000000000000
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt
+++ /dev/null
@@ -1,127 +0,0 @@
-Pincontrol driver for MAX77620 Power management IC from Maxim Semiconductor.
-
-Device has 8 GPIO pins which can be configured as GPIO as well as the
-special IO functions.
-
-Please refer file <devicetree/bindings/pinctrl/pinctrl-bindings.txt>
-for details of the common pinctrl bindings used by client devices,
-including the meaning of the phrase "pin configuration node".
-
-Optional Pinmux properties:
---------------------------
-Following properties are required if default setting of pins are required
-at boot.
-- pinctrl-names: A pinctrl state named per <pinctrl-bindings.txt>.
-- pinctrl[0...n]: Properties to contain the phandle for pinctrl states per
- <pinctrl-bindings.txt>.
-
-The pin configurations are defined as child of the pinctrl states node. Each
-sub-node have following properties:
-
-Required properties:
-------------------
-- pins: List of pins. Valid values of pins properties are:
- gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7.
-
-Optional properties:
--------------------
-Following are optional properties defined as pinmux DT binding document
-<pinctrl-bindings.txt>. Absence of properties will leave the configuration
-on default.
- function,
- drive-push-pull,
- drive-open-drain,
- bias-pull-up,
- bias-pull-down.
-
-Valid values for function properties are:
- gpio, lpm-control-in, fps-out, 32k-out, sd0-dvs-in, sd1-dvs-in,
- reference-out
-
-There are also customised properties for the GPIO1, GPIO2 and GPIO3. These
-customised properties are required to configure FPS configuration parameters
-of these GPIOs. Please refer <devicetree/bindings/mfd/max77620.txt> for more
-detail of Flexible Power Sequence (FPS).
-
-- maxim,active-fps-source: FPS source for the GPIOs to get
- enabled/disabled when system is in
- active state. Valid values are:
- - MAX77620_FPS_SRC_0,
- FPS source is FPS0.
- - MAX77620_FPS_SRC_1,
- FPS source is FPS1
- - MAX77620_FPS_SRC_2 and
- FPS source is FPS2
- - MAX77620_FPS_SRC_NONE.
- GPIO is not controlled
- by FPS events and it gets
- enabled/disabled by register
- access.
- Absence of this property will leave
- the FPS configuration register for that
- GPIO to default configuration.
-
-- maxim,active-fps-power-up-slot: Sequencing event slot number on which
- the GPIO get enabled when
- master FPS input event set to HIGH.
- Valid values are 0 to 7.
- This is applicable if FPS source is
- selected as FPS0, FPS1 or FPS2.
-
-- maxim,active-fps-power-down-slot: Sequencing event slot number on which
- the GPIO get disabled when master
- FPS input event set to LOW.
- Valid values are 0 to 7.
- This is applicable if FPS source is
- selected as FPS0, FPS1 or FPS2.
-
-- maxim,suspend-fps-source: This is same as property
- "maxim,active-fps-source" but value
- get configured when system enters in
- to suspend state.
-
-- maxim,suspend-fps-power-up-slot: This is same as property
- "maxim,active-fps-power-up-slot" but
- this value get configured into FPS
- configuration register when system
- enters into suspend.
- This is applicable if suspend state
- FPS source is selected as FPS0, FPS1 or
-
-- maxim,suspend-fps-power-down-slot: This is same as property
- "maxim,active-fps-power-down-slot" but
- this value get configured into FPS
- configuration register when system
- enters into suspend.
- This is applicable if suspend state
- FPS source is selected as FPS0, FPS1 or
- FPS2.
-
-Example:
---------
-#include <dt-bindings/mfd/max77620.h>
-...
-max77620@3c {
-
- pinctrl-names = "default";
- pinctrl-0 = <&spmic_default>;
-
- spmic_default: pinmux@0 {
- pin_gpio0 {
- pins = "gpio0";
- function = "gpio";
- };
-
- pin_gpio1 {
- pins = "gpio1";
- function = "fps-out";
- maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
- };
-
- pin_gpio2 {
- pins = "gpio2";
- function = "fps-out";
- maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
- };
- };
-};
--
2.51.0
On Fri, Mar 06, 2026 at 03:33:47PM +0200, Svyatoslav Ryhel wrote: > Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from > TXT to YAML format. This patch does not change any functionality; the > bindings remain the same. > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> > --- > .../pinctrl/maxim,max77620-pinctrl.yaml | 97 +++++++++++++ > .../bindings/pinctrl/pinctrl-max77620.txt | 127 ------------------ > 2 files changed, 97 insertions(+), 127 deletions(-) > create mode 100644 Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt > > diff --git a/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > new file mode 100644 > index 000000000000..7364a8bdd7d3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > @@ -0,0 +1,97 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/maxim,max77620-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Pinmux controller function for Maxim MAX77620 Power management IC > + > +maintainers: > + - Svyatoslav Ryhel <clamor95@gmail.com> > + > +description: > + Device has 8 GPIO pins which can be configured as GPIO as well as the > + special IO functions. > + > +allOf: > + - $ref: /schemas/pinctrl/pincfg-node.yaml > + - $ref: /schemas/pinctrl/pinmux-node.yaml > + > +patternProperties: > + "^(pin_gpio|gpio)[0-7_]+$": Underscores are not allowed in general, so pattern needs fixes. Does anything actually rely on this name? Is this ABI? I don't see old binding and driver using the name, thus this should be just ^pin-[0-7]$ (+ is also not correct if you have max 8 gpios) Best regards, Krzysztof
сб, 7 бер. 2026 р. о 14:48 Krzysztof Kozlowski <krzk@kernel.org> пише: > > On Fri, Mar 06, 2026 at 03:33:47PM +0200, Svyatoslav Ryhel wrote: > > Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from > > TXT to YAML format. This patch does not change any functionality; the > > bindings remain the same. > > > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> > > --- > > .../pinctrl/maxim,max77620-pinctrl.yaml | 97 +++++++++++++ > > .../bindings/pinctrl/pinctrl-max77620.txt | 127 ------------------ > > 2 files changed, 97 insertions(+), 127 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > new file mode 100644 > > index 000000000000..7364a8bdd7d3 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > @@ -0,0 +1,97 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/pinctrl/maxim,max77620-pinctrl.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Pinmux controller function for Maxim MAX77620 Power management IC > > + > > +maintainers: > > + - Svyatoslav Ryhel <clamor95@gmail.com> > > + > > +description: > > + Device has 8 GPIO pins which can be configured as GPIO as well as the > > + special IO functions. > > + > > +allOf: > > + - $ref: /schemas/pinctrl/pincfg-node.yaml > > + - $ref: /schemas/pinctrl/pinmux-node.yaml > > + > > +patternProperties: > > + "^(pin_gpio|gpio)[0-7_]+$": > > Underscores are not allowed in general, so pattern needs fixes. Does > anything actually rely on this name? Is this ABI? I don't see old > binding and driver using the name, thus this should be just ^pin-[0-7]$ > (+ is also not correct if you have max 8 gpios) > Old txt schema uses pin_gpio[0-7] hence it is here, but greping trees did not reveal use of pin_gpio so it may be dropped. No this is not ABI, name may be any. Including gpio0-1-2-3, gpio2-4 etc which is why + is there. or maybe you know better way to cover those names? There are device trees which use gpio5_6 with the underscore (tegra210-smaug.dts; tegra210-p2894.dtsi for example). Should the schema account for those? > > Best regards, > Krzysztof >
On Sat, Mar 07, 2026 at 03:30:21PM +0200, Svyatoslav Ryhel wrote: > сб, 7 бер. 2026 р. о 14:48 Krzysztof Kozlowski <krzk@kernel.org> пише: > > > > On Fri, Mar 06, 2026 at 03:33:47PM +0200, Svyatoslav Ryhel wrote: > > > Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from > > > TXT to YAML format. This patch does not change any functionality; the > > > bindings remain the same. > > > > > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> > > > --- > > > .../pinctrl/maxim,max77620-pinctrl.yaml | 97 +++++++++++++ > > > .../bindings/pinctrl/pinctrl-max77620.txt | 127 ------------------ > > > 2 files changed, 97 insertions(+), 127 deletions(-) > > > create mode 100644 Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > > delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt > > > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > > new file mode 100644 > > > index 000000000000..7364a8bdd7d3 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > > @@ -0,0 +1,97 @@ > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/pinctrl/maxim,max77620-pinctrl.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Pinmux controller function for Maxim MAX77620 Power management IC > > > + > > > +maintainers: > > > + - Svyatoslav Ryhel <clamor95@gmail.com> > > > + > > > +description: > > > + Device has 8 GPIO pins which can be configured as GPIO as well as the > > > + special IO functions. > > > + > > > +allOf: > > > + - $ref: /schemas/pinctrl/pincfg-node.yaml > > > + - $ref: /schemas/pinctrl/pinmux-node.yaml > > > + > > > +patternProperties: > > > + "^(pin_gpio|gpio)[0-7_]+$": > > > > Underscores are not allowed in general, so pattern needs fixes. Does > > anything actually rely on this name? Is this ABI? I don't see old > > binding and driver using the name, thus this should be just ^pin-[0-7]$ > > (+ is also not correct if you have max 8 gpios) > > > > Old txt schema uses pin_gpio[0-7] hence it is here, but greping trees > did not reveal use of pin_gpio so it may be dropped. > > No this is not ABI, name may be any. Including gpio0-1-2-3, gpio2-4 > etc which is why + is there. or maybe you know better way to cover > those names? > > There are device trees which use gpio5_6 with the underscore > (tegra210-smaug.dts; tegra210-p2894.dtsi for example). Should the > schema account for those? Defining a specific pattern looks like an endorsement of the name. I would just do the minimum you need. Something like '^(pin|gpio).' unless you have a pinctrl-* property. Rob
чт, 12 бер. 2026 р. о 00:11 Rob Herring <robh@kernel.org> пише: > > On Sat, Mar 07, 2026 at 03:30:21PM +0200, Svyatoslav Ryhel wrote: > > сб, 7 бер. 2026 р. о 14:48 Krzysztof Kozlowski <krzk@kernel.org> пише: > > > > > > On Fri, Mar 06, 2026 at 03:33:47PM +0200, Svyatoslav Ryhel wrote: > > > > Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from > > > > TXT to YAML format. This patch does not change any functionality; the > > > > bindings remain the same. > > > > > > > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> > > > > --- > > > > .../pinctrl/maxim,max77620-pinctrl.yaml | 97 +++++++++++++ > > > > .../bindings/pinctrl/pinctrl-max77620.txt | 127 ------------------ > > > > 2 files changed, 97 insertions(+), 127 deletions(-) > > > > create mode 100644 Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > > > delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt > > > > > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > > > new file mode 100644 > > > > index 000000000000..7364a8bdd7d3 > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml > > > > @@ -0,0 +1,97 @@ > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > > +%YAML 1.2 > > > > +--- > > > > +$id: http://devicetree.org/schemas/pinctrl/maxim,max77620-pinctrl.yaml# > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > + > > > > +title: Pinmux controller function for Maxim MAX77620 Power management IC > > > > + > > > > +maintainers: > > > > + - Svyatoslav Ryhel <clamor95@gmail.com> > > > > + > > > > +description: > > > > + Device has 8 GPIO pins which can be configured as GPIO as well as the > > > > + special IO functions. > > > > + > > > > +allOf: > > > > + - $ref: /schemas/pinctrl/pincfg-node.yaml > > > > + - $ref: /schemas/pinctrl/pinmux-node.yaml > > > > + > > > > +patternProperties: > > > > + "^(pin_gpio|gpio)[0-7_]+$": > > > > > > Underscores are not allowed in general, so pattern needs fixes. Does > > > anything actually rely on this name? Is this ABI? I don't see old > > > binding and driver using the name, thus this should be just ^pin-[0-7]$ > > > (+ is also not correct if you have max 8 gpios) > > > > > > > Old txt schema uses pin_gpio[0-7] hence it is here, but greping trees > > did not reveal use of pin_gpio so it may be dropped. > > > > No this is not ABI, name may be any. Including gpio0-1-2-3, gpio2-4 > > etc which is why + is there. or maybe you know better way to cover > > those names? > > > > There are device trees which use gpio5_6 with the underscore > > (tegra210-smaug.dts; tegra210-p2894.dtsi for example). Should the > > schema account for those? > > Defining a specific pattern looks like an endorsement of the name. I > would just do the minimum you need. Something like '^(pin|gpio).' unless > you have a pinctrl-* property. > It does fit nicely. Thank you! > Rob
On Fri, 06 Mar 2026 15:33:47 +0200, Svyatoslav Ryhel wrote:
> Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from
> TXT to YAML format. This patch does not change any functionality; the
> bindings remain the same.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
> .../pinctrl/maxim,max77620-pinctrl.yaml | 97 +++++++++++++
> .../bindings/pinctrl/pinctrl-max77620.txt | 127 ------------------
> 2 files changed, 97 insertions(+), 127 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml
> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml: patternProperties:^(pin_gpio|gpio)[0-7_]+$:properties:pins: 'enum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']}
hint: Scalar and array keywords cannot be mixed
from schema $id: http://devicetree.org/meta-schemas/keywords.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml: patternProperties:^(pin_gpio|gpio)[0-7_]+$:properties:pins: 'enum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']}
hint: Scalar and array keywords cannot be mixed
from schema $id: http://devicetree.org/meta-schemas/keywords.yaml
doc reference errors (make refcheckdocs):
See https://patchwork.kernel.org/project/devicetree/patch/20260306133351.31589-3-clamor95@gmail.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2026 Red Hat, Inc.