From: Krzysztof Kozlowski <krzk@kernel.org>
To: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: Guenter Roeck <linux@roeck-us.net>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Lee Jones <lee@kernel.org>,
Peter Rosin <peda@axentia.se>, Linus Walleij <linusw@kernel.org>,
kernel@pengutronix.de, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org, linux-hwmon@vger.kernel.org,
linux-gpio@vger.kernel.org, David Jander <david@protonic.nl>
Subject: Re: [PATCH v2 1/6] dt-bindings: mfd: add NXP MC33978/MC34978 MSDI
Date: Wed, 4 Mar 2026 08:59:42 +0100 [thread overview]
Message-ID: <20260304-bald-flashy-cuckoo-00a3e6@quoll> (raw)
In-Reply-To: <20260303133947.1123575-2-o.rempel@pengutronix.de>
On Tue, Mar 03, 2026 at 02:39:41PM +0100, Oleksij Rempel wrote:
> + '#mux-control-cells':
> + const: 0
> + description:
> + Present if the device AMUX selector is used as a mux provider.
> + Consumers (e.g. io-channel-mux) must provide settle-time-us for the
> + external ADC sampling path.
> +
> + vddq-supply:
> + description: Digital supply voltage
> +
> + vbatp-supply:
> + description: Battery/power supply
> +
> +patternProperties:
> + "^pinctrl(@.*)?":
Drop @ part. Your binding does not allow addressing anyway.
> + type: object
> + $ref: /schemas/pinctrl/nxp,mc33978-pinctrl.yaml#
> + description:
> + Pinctrl and GPIO controller child node for the 22 switch inputs.
> +
> +required:
> + - compatible
> + - interrupt-controller
> + - '#interrupt-cells'
> + - interrupts
> + - reg
Odd order. Keep the same as in the list of properties.
> + - vbatp-supply
> + - vddq-supply
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/gpio/gpio.h>
> +
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + msdi: gpio@0 {
> + compatible = "nxp,mc33978";
> + reg = <0>;
> + spi-max-frequency = <4000000>;
> +
> + interrupt-parent = <&gpiog>;
> + interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> +
> + vddq-supply = <®_3v3>;
> + vbatp-supply = <®_12v>;
> +
> + #mux-control-cells = <0>;
> +
> + pinctrl {
> + compatible = "nxp,mc33978-pinctrl";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
Stray blank line
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/pinctrl/nxp,mc33978-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/nxp,mc33978-pinctrl.yaml
> new file mode 100644
> index 000000000000..f8257d55d466
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/nxp,mc33978-pinctrl.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/nxp,mc33978-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP MC33978/MC34978 Pinctrl/GPIO Driver
> +
> +maintainers:
> + - David Jander <david@protonic.nl>
> + - Oleksij Rempel <o.rempel@pengutronix.de>
> +
> +description: |
> + Pin control and GPIO driver for the MC33978/MC34978 MSDI device.
> +
> + Pin numbering:
> + - Pins 0-13: SG0-SG13 (Switch-to-Ground inputs). These pins monitor
> + contacts closed to ground and typically require GPIO_ACTIVE_LOW
> + flags when used as digital inputs.
> + - Pins 14-21: SP0-SP7 (Programmable inputs). These can be configured
> + as SG (Switch-to-Ground) or SB (Switch-to-Battery) inputs. SB
> + inputs monitor contacts closed to the battery voltage and typically
> + require GPIO_ACTIVE_HIGH flags when used as digital inputs.
> +
> + Output Emulation:
> + The hardware lacks standard push-pull output drivers. Outputs are emulated
> + by toggling the programmable wetting current sources (acting as pull-ups or
> + pull-downs) and the hardware tri-state registers. Because of this physical
> + constraint:
> + - Consumers using pins as outputs MUST flag them with GPIO_OPEN_DRAIN or
> + GPIO_OPEN_SOURCE in the device tree.
> + - Push-pull configurations are physically unsupported.
> + - The active polarity depends entirely on the external circuit (e.g., how an
> + LED is wired) and must be flagged accordingly by the consumer.
> +
> +properties:
> + compatible:
> + enum:
> + - nxp,mc33978-pinctrl
> + - nxp,mc34978-pinctrl
> +
> + gpio-controller: true
> +
> + '#gpio-cells':
> + const: 2
> +
> + ngpios:
> + const: 22
> +
> +patternProperties:
> + "^.*-grp$":
> + type: object
> + $ref: pincfg-node.yaml#
> + additionalProperties: false
> + description:
> + Pin configuration subnodes.
> + properties:
> + pins: true
> + bias-pull-up: true
> + bias-pull-down: true
> + bias-high-impedance: true
> +
> +required:
> + - compatible
> + - gpio-controller
> + - '#gpio-cells'
> +
> +unevaluatedProperties: false
additionalProperties instead
> +
> +examples:
> + - |
> + pinctrl {
> + compatible = "nxp,mc33978-pinctrl";
> + gpio-controller;
> + #gpio-cells = <2>;
> + ngpios = <22>;
> +
> + door-grp {
> + pins = "sg0";
> + bias-high-impedance;
> + };
> + };
> --
> 2.47.3
>
next prev parent reply other threads:[~2026-03-04 7:59 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 13:39 [PATCH v2 0/8] mfd: Add support for NXP MC33978/MC34978 MSDI Oleksij Rempel
2026-03-03 13:39 ` [PATCH v2 1/6] dt-bindings: mfd: add " Oleksij Rempel
2026-03-03 14:40 ` Rob Herring (Arm)
2026-03-03 16:10 ` Oleksij Rempel
2026-03-04 8:05 ` Krzysztof Kozlowski
2026-03-04 9:06 ` David Jander
2026-03-04 9:49 ` Krzysztof Kozlowski
2026-03-04 10:25 ` David Jander
2026-03-04 11:41 ` Krzysztof Kozlowski
2026-03-04 12:17 ` David Jander
2026-03-05 12:54 ` Linus Walleij
2026-03-05 15:10 ` David Jander
2026-03-05 23:40 ` Linus Walleij
2026-03-06 8:44 ` David Jander
2026-03-06 13:24 ` Linus Walleij
2026-03-04 18:26 ` Rob Herring
2026-03-04 18:33 ` Conor Dooley
2026-03-05 2:38 ` Rob Herring
2026-03-04 7:59 ` Krzysztof Kozlowski [this message]
2026-03-03 13:39 ` [PATCH v2 2/6] mfd: add NXP MC33978/MC34978 core driver Oleksij Rempel
2026-03-03 13:39 ` [PATCH v2 3/6] pinctrl: core: Make pin group callbacks optional Oleksij Rempel
2026-03-03 13:39 ` [PATCH v2 4/6] pinctrl: add NXP MC33978/MC34978 pinctrl driver Oleksij Rempel
2026-03-05 13:41 ` Linus Walleij
2026-03-03 13:39 ` [PATCH v2 5/6] hwmon: add NXP MC33978/MC34978 driver Oleksij Rempel
2026-03-03 13:39 ` [PATCH v2 6/6] mux: add NXP MC33978/MC34978 AMUX driver Oleksij Rempel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260304-bald-flashy-cuckoo-00a3e6@quoll \
--to=krzk@kernel.org \
--cc=conor+dt@kernel.org \
--cc=david@protonic.nl \
--cc=devicetree@vger.kernel.org \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=o.rempel@pengutronix.de \
--cc=peda@axentia.se \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox