devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: pinctrl: uniphier: Add child node definitions to describe pin mux and configuration
@ 2021-10-13 14:54 Kunihiko Hayashi
  2021-10-26 20:31 ` Rob Herring
  0 siblings, 1 reply; 3+ messages in thread
From: Kunihiko Hayashi @ 2021-10-13 14:54 UTC (permalink / raw)
  To: Rob Herring, Linus Walleij, Masami Hiramatsu
  Cc: linux-gpio, devicetree, linux-arm-kernel, linux-kernel,
	Kunihiko Hayashi

In arch/arm/boot/dts/uniphier-pinctrl.dtsi, there are child nodes of
pinctrl that defines pinmux and pincfg, however, there are no rules about
that in dt-bindings.

'make dtbs_check' results an error with the following message:

   pinctrl: 'ain1', 'ain2', 'ainiec1', 'aout', 'aout1', 'aout2', ...
   ... 'usb2', 'usb3' do not match any of the regexes: 'pinctrl-[0-9]+'

To avoid this issue, add the rules of pinmux and pincfg in each child node
and grandchild node.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
 .../pinctrl/socionext,uniphier-pinctrl.yaml        | 46 +++++++++++++++++++++-
 1 file changed, 44 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
index a804d9bc1602..4567330fe536 100644
--- a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
@@ -26,11 +26,53 @@ properties:
       - socionext,uniphier-pxs3-pinctrl
       - socionext,uniphier-nx1-pinctrl
 
-required:
-  - compatible
+patternProperties:
+  "^.*$":
+    if:
+      type: object
+    then:
+      allOf:
+        - $ref: pincfg-node.yaml#
+        - $ref: pinmux-node.yaml#
+
+      properties:
+        phandle: true
+        function: true
+        groups: true
+        pins: true
+        bias-pull-up: true
+        bias-pull-down: true
+        bias-pull-pin-default: true
+        drive-strength: true
+
+      patternProperties:
+        "^.*$":
+          if:
+            type: object
+          then:
+            allOf:
+              - $ref: pincfg-node.yaml#
+              - $ref: pinmux-node.yaml#
+
+            properties:
+              phandle: true
+              function: true
+              groups: true
+              pins: true
+              bias-pull-up: true
+              bias-pull-down: true
+              bias-pull-pin-default: true
+              drive-strength: true
+
+            unevaluatedProperties: false
+
+      unevaluatedProperties: false
 
 additionalProperties: false
 
+required:
+  - compatible
+
 examples:
   - |
     // The UniPhier pinctrl should be a subnode of a "syscon" compatible node.
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-10-27  5:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-13 14:54 [PATCH] dt-bindings: pinctrl: uniphier: Add child node definitions to describe pin mux and configuration Kunihiko Hayashi
2021-10-26 20:31 ` Rob Herring
2021-10-27  5:56   ` Kunihiko Hayashi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).