From: Rob Herring <robh@kernel.org>
To: Udaya Kiran Challa <challauday369@gmail.com>
Cc: linusw@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
skhan@linuxfoundation.org, me@brighamcampbell.com,
linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] dt-bindings: pinctrl: microchip,pic32mzda-pinctrl: Convert to DT schema
Date: Tue, 21 Jul 2026 09:05:13 -0500 [thread overview]
Message-ID: <20260721140513.GA3492266-robh@kernel.org> (raw)
In-Reply-To: <20260719183431.124061-1-challauday369@gmail.com>
On Mon, Jul 20, 2026 at 12:04:31AM +0530, Udaya Kiran Challa wrote:
> Convert Microchip PIC32 Pin Controller devicetree binding
> from legacy text format to DT schema.
>
> Signed-off-by: Udaya Kiran Challa <challauday369@gmail.com>
> ---
> Changelog:
> Changes since v2:
> - Add container node for grouped pin configuration sub-nodes
> - Correct regex patterns of direct and nested child nodes
> - Fix interrupts values in uart2 example
>
> Link to v2:https://lore.kernel.org/all/20260707144223.120417-1-challauday369@gmail.com/
>
> Changes since v1:
> - Add interrupts and clocks to uart2 example to satisfy uart schema validation
> - Corect regex patterns to accept standard DT node naming conventions
> - Add function property to top-level pin configuration nodes
> - Remove restrictive enum from function property to support all mux functions
>
> Link to v1:https://lore.kernel.org/all/20260705132521.159522-1-challauday369@gmail.com/
> ---
> .../pinctrl/microchip,pic32-pinctrl.txt | 60 -------
> .../pinctrl/microchip,pic32mzda-pinctrl.yaml | 153 ++++++++++++++++++
> 2 files changed, 153 insertions(+), 60 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/pinctrl/microchip,pic32-pinctrl.txt
> create mode 100644 Documentation/devicetree/bindings/pinctrl/microchip,pic32mzda-pinctrl.yaml
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/microchip,pic32-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/microchip,pic32-pinctrl.txt
> deleted file mode 100644
> index 51efd2085113..000000000000
> --- a/Documentation/devicetree/bindings/pinctrl/microchip,pic32-pinctrl.txt
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -* Microchip PIC32 Pin Controller
> -
> -Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
> -../interrupt-controller/interrupts.txt for generic information regarding
> -pin controller, GPIO, and interrupt bindings.
> -
> -PIC32 'pin configuration node' is a node of a group of pins which can be
> -used for a specific device or function. This node represents configurations of
> -pins, optional function, and optional mux related configuration.
> -
> -Required properties for pin controller node:
> - - compatible: "microchip,pic32mada-pinctrl"
> - - reg: Address range of the pinctrl registers.
> - - clocks: Clock specifier (see clock bindings for details)
> -
> -Required properties for pin configuration sub-nodes:
> - - pins: List of pins to which the configuration applies.
> -
> -Optional properties for pin configuration sub-nodes:
> -----------------------------------------------------
> - - function: Mux function for the specified pins.
> - - bias-pull-up: Enable weak pull-up.
> - - bias-pull-down: Enable weak pull-down.
> - - input-enable: Set the pin as an input.
> - - output-low: Set the pin as an output level low.
> - - output-high: Set the pin as an output level high.
> - - microchip,digital: Enable digital I/O.
> - - microchip,analog: Enable analog I/O.
> -
> -Example:
> -
> -pic32_pinctrl: pinctrl@1f801400{
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "microchip,pic32mzda-pinctrl";
> - reg = <0x1f801400 0x400>;
> - clocks = <&rootclk PB1CLK>;
> -
> - pinctrl_uart2: pinctrl_uart2 {
> - uart2-tx {
> - pins = "G9";
> - function = "U2TX";
> - microchip,digital;
> - output-low;
> - };
> - uart2-rx {
> - pins = "B0";
> - function = "U2RX";
> - microchip,digital;
> - input-enable;
> - };
> - };
> -};
> -
> -uart2: serial@1f822200 {
> - compatible = "microchip,pic32mzda-uart";
> - reg = <0x1f822200 0x50>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_uart2>;
> -};
> diff --git a/Documentation/devicetree/bindings/pinctrl/microchip,pic32mzda-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/microchip,pic32mzda-pinctrl.yaml
> new file mode 100644
> index 000000000000..7a36e5ff61dd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/microchip,pic32mzda-pinctrl.yaml
> @@ -0,0 +1,153 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/microchip,pic32mzda-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip PIC32 Pin Controller
> +
> +maintainers:
> + - Linus Walleij <linusw@kernel.org>
> +
> +description: |
Don't need '|' here.
> + PIC32 pin configuration node is a node of a group of pins which can be used
> + for a specific device or function. This node represents configurations of
> + pins, optional function, and optional mux related configuration.
> +
> +properties:
> + compatible:
> + const: microchip,pic32mzda-pinctrl
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 1
These 2 aren't needed. No 'reg' in the child nodes.
> +
> +patternProperties:
> + '^(?!pinctrl_)[a-z]+[0-9]*_[a-z0-9_]+$':
> + type: object
> + $ref: pinmux-node.yaml#
> +
> + properties:
> + pins:
> + description: |
Don't need '|' here.
> + List of pins to which the configuration applies.
> + items:
> + type: string
> + minItems: 1
> +
> + function: true
> +
> + bias-pull-up: true
> + bias-pull-down: true
> + input-enable: true
> + output-low: true
> + output-high: true
> +
> + microchip,digital:
> + description: Enable digital I/O.
> + type: boolean
> +
> + microchip,analog:
> + description: Enable analog I/O.
> + type: boolean
> +
> + required:
> + - pins
Put all this under a $defs entry and then do:
additionalProperties:
oneOf:
- additionalProperties:
$ref: $defs/pin-node
- $ref: $defs/pin-node
Rob
prev parent reply other threads:[~2026-07-21 14:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-19 18:34 [PATCH v3] dt-bindings: pinctrl: microchip,pic32mzda-pinctrl: Convert to DT schema Udaya Kiran Challa
2026-07-19 18:42 ` sashiko-bot
2026-07-21 14:05 ` Rob Herring [this message]
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=20260721140513.GA3492266-robh@kernel.org \
--to=robh@kernel.org \
--cc=challauday369@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=me@brighamcampbell.com \
--cc=skhan@linuxfoundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.