* [PATCH v3] dt-bindings: pinctrl: Convert TI DA850 pupd to DT schema
@ 2026-08-12 10:36 Eduard Bostina
2026-08-12 10:46 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Eduard Bostina @ 2026-08-12 10:36 UTC (permalink / raw)
To: Conor Dooley, devicetree, Eduard Bostina, Krzysztof Kozlowski,
Linus Walleij, linux-gpio, linux-kernel, Rob Herring
Cc: daniel.baluta, simona.toaca, goledhruva, m-chawdhry
Convert the Texas Instruments DA850/OMAP-L138/AM18x pullup/down
controller bindings to DT schema.
Signed-off-by: Eduard Bostina <egbostina@gmail.com>
---
Changes in v3:
- Restricted the pin group node names to 'disable', 'pull-up' and
'pull-down'.
- Switched the pin group nodes to 'additionalProperties: false' since
all of the valid properties are listed.
Changes in v2:
- Excluded the 'phandle' property from the pin group node pattern so
it is no longer validated as a pin configuration node. This fixes
the 'make dt_binding_check' failure.
Link to v2: https://lore.kernel.org/all/20260811111023.721262-1-egbostina@gmail.com/
Link to v1: https://lore.kernel.org/all/20260811092057.687155-1-egbostina@gmail.com/
.../bindings/pinctrl/ti,da850-pupd.txt | 55 --------------
.../bindings/pinctrl/ti,da850-pupd.yaml | 74 +++++++++++++++++++
2 files changed, 74 insertions(+), 55 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml
diff --git a/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt b/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt
deleted file mode 100644
index 7f2980567c9f..000000000000
--- a/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-* Pin configuration for TI DA850/OMAP-L138/AM18x
-
-These SoCs have a separate controller for setting bias (internal pullup/down).
-Bias can only be selected for groups rather than individual pins.
-
-Required Properties:
-
- - compatible: Must be "ti,da850-pupd"
- - reg: Base address and length of the memory resource used by the pullup/down
- controller hardware module.
-
-The controller node also acts as a container for pin group configuration nodes.
-The names of these groups are ignored.
-
-Pin Group Node Properties:
-
-- groups: An array of strings, each string containing the name of a pin group.
- Valid names are "cp0".."cp31".
-
-The pin configuration parameters use the generic pinconf bindings defined in
-pinctrl-bindings.txt in this directory. The supported parameters are
-bias-disable, bias-pull-up, bias-pull-down.
-
-
-Example
--------
-
-In common dtsi file:
-
- pinconf: pin-controller@22c00c {
- compatible = "ti,da850-pupd";
- reg = <0x22c00c 0x8>;
- };
-
-In board-specific file:
-
- &pinconf {
- pinctrl-0 = <&pinconf_bias_groups>;
- pinctrl-names = "default";
-
- pinconf_bias_groups: bias-groups {
- pull-up {
- groups = "cp30", "cp31";
- bias-pull-up;
- };
- pull-down {
- groups = "cp29", "cp28";
- bias-pull-down;
- };
- disable {
- groups = "cp27", "cp26";
- bias-disable;
- };
- };
- };
diff --git a/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml b/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml
new file mode 100644
index 000000000000..21d439e08d4b
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml
@@ -0,0 +1,74 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/ti,da850-pupd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments DA850/OMAP-L138/AM18x Pin Configuration
+
+maintainers:
+ - Eduard Bostina <egbostina@gmail.com>
+
+description:
+ These SoCs have a separate controller for setting bias (internal pullup/down).
+ Bias can only be selected for groups rather than individual pins.
+ The controller node also acts as a container for pin group configuration nodes.
+ The names of these groups are ignored.
+
+properties:
+ compatible:
+ const: ti,da850-pupd
+
+ reg:
+ maxItems: 1
+
+ pinctrl-0: true
+ pinctrl-names: true
+
+patternProperties:
+ "-groups$":
+ type: object
+ additionalProperties: false
+ patternProperties:
+ "^(disable|pull-(up|down))$":
+ $ref: /schemas/pinctrl/pincfg-node.yaml#
+ properties:
+ groups:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ description: An array of strings containing the name of a pin group.
+ items:
+ pattern: "^cp([0-9]|[1-2][0-9]|3[0-1])$"
+ bias-disable: true
+ bias-pull-up: true
+ bias-pull-down: true
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ pinconf: pin-controller@22c00c {
+ compatible = "ti,da850-pupd";
+ reg = <0x22c00c 0x8>;
+ pinctrl-0 = <&pinconf_bias_groups>;
+ pinctrl-names = "default";
+
+ pinconf_bias_groups: bias-groups {
+ pull-up {
+ groups = "cp30", "cp31";
+ bias-pull-up;
+ };
+ pull-down {
+ groups = "cp29", "cp28";
+ bias-pull-down;
+ };
+ disable {
+ groups = "cp27", "cp26";
+ bias-disable;
+ };
+ };
+ };
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v3] dt-bindings: pinctrl: Convert TI DA850 pupd to DT schema
2026-08-12 10:36 [PATCH v3] dt-bindings: pinctrl: Convert TI DA850 pupd to DT schema Eduard Bostina
@ 2026-08-12 10:46 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-08-12 10:46 UTC (permalink / raw)
To: Eduard Bostina; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The device tree schema for pin configuration subnodes fails to require the 'groups' property, allowing functionally empty nodes to silently pass validation.
--
--- Patch [1]: [PATCH v3] dt-bindings: pinctrl: Convert TI DA850 pupd to DT schema ---
commit 559e4d94cd353ab8a1d382bd65a364531394cb80
Author: Eduard Bostina <egbostina@gmail.com>
dt-bindings: pinctrl: Convert TI DA850 pupd to DT schema
Convert the Texas Instruments DA850/OMAP-L138/AM18x pullup/down
controller bindings to DT schema.
Link to v2: https://lore.kernel.org/all/20260811111023.721262-1-egbostina@gmail.com/
Link to v1: https://lore.kernel.org/all/20260811092057.687155-1-egbostina@gmail.com/
> diff --git a/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml b/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml
> new file mode 100644
> index 0000000000000..21d439e08d4b7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml
[ ... ]
> @@ -28,17 +28,17 @@
> +patternProperties:
> + "-groups$":
> + type: object
> + additionalProperties: false
> + patternProperties:
> + "^(disable|pull-(up|down))$":
> + $ref: /schemas/pinctrl/pincfg-node.yaml#
> + properties:
> + groups:
> + $ref: /schemas/types.yaml#/definitions/string-array
> + description: An array of strings containing the name of a pin group.
> + items:
> + pattern: "^cp([0-9]|[1-2][0-9]|3[0-1])$"
> + bias-disable: true
> + bias-pull-up: true
> + bias-pull-down: true
> + additionalProperties: false
[Severity: Medium]
Should the groups property be explicitly listed as a required property in this
schema block?
Without a required: [ groups ] constraint here, a functionally empty node
could silently pass device tree schema validation. For example, a developer
could define a subnode like:
pull-up {
bias-pull-up;
};
Since the kernel driver ignores nodes without target groups, the target
hardware pins would remain unconfigured at runtime without raising any schema
validation warnings.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260812103621.1096140-1-egbostina@gmail.com?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-12 10:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-12 10:36 [PATCH v3] dt-bindings: pinctrl: Convert TI DA850 pupd to DT schema Eduard Bostina
2026-08-12 10:46 ` sashiko-bot
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.