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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox