From: "Arınç ÜNAL" <arinc.unal@arinc9.com>
To: Linus Walleij <linus.walleij@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Sergio Paracuellos <sergio.paracuellos@gmail.com>,
Luiz Angelo Daros de Luca <luizluca@gmail.com>
Cc: "Arınç ÜNAL" <arinc.unal@arinc9.com>,
linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-mips@vger.kernel.org
Subject: [PATCH 5/6] dt-bindings: pinctrl: rt305x: add proper function muxing binding
Date: Tue, 13 Dec 2022 16:04:29 +0300 [thread overview]
Message-ID: <20221213130430.172876-6-arinc.unal@arinc9.com> (raw)
In-Reply-To: <20221213130430.172876-1-arinc.unal@arinc9.com>
Not every function can be muxed to a group. Add proper binding which
documents which function can be muxed to a group or set of groups.
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
---
.../pinctrl/ralink,rt305x-pinctrl.yaml | 235 ++++++++++++++++--
1 file changed, 210 insertions(+), 25 deletions(-)
diff --git a/Documentation/devicetree/bindings/pinctrl/ralink,rt305x-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/ralink,rt305x-pinctrl.yaml
index f602a5d6e13a..30779a1a90b0 100644
--- a/Documentation/devicetree/bindings/pinctrl/ralink,rt305x-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/ralink,rt305x-pinctrl.yaml
@@ -30,38 +30,224 @@ patternProperties:
$ref: pinmux-node.yaml#
properties:
- groups:
- description: The pin group to select.
- enum: [
- # common
- i2c, jtag, led, mdio, rgmii, spi, spi_cs1, uartf, uartlite,
-
- # For RT3050, RT3052 and RT3350 SoCs
- sdram,
-
- # For RT3352 SoC
- lna, pa
- ]
-
function:
- description: The mux function to select.
- enum: [
- # common
- gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, mdio,
- pcm gpio, pcm i2s, pcm uartf, rgmii, spi, spi_cs1, uartf,
- uartlite, wdg_cs1,
+ description:
+ A string containing the name of the function to mux to the group.
+ anyOf:
+ - description: For RT3050, RT3052 and RT3350 SoCs
+ enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, mdio,
+ pcm gpio, pcm i2s, pcm uartf, rgmii, sdram, spi, uartf,
+ uartlite]
- # For RT3050, RT3052 and RT3350 SoCs
- sdram,
+ - description: For RT3352 SoC
+ enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led,
+ lna, mdio, pa, pcm gpio, pcm i2s, pcm uartf, rgmii, spi,
+ spi_cs1, uartf, uartlite, wdg_cs1]
- # For RT3352 SoC
- lna, pa
- ]
+ - description: For RT5350 SoC
+ enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led,
+ pcm gpio, pcm i2s, pcm uartf, spi, spi_cs1, uartf,
+ uartlite, wdg_cs1]
+
+ groups:
+ description:
+ An array of strings. Each string contains the name of a group.
required:
- groups
- function
+ allOf:
+ - if:
+ properties:
+ function:
+ const: gpio
+ then:
+ properties:
+ groups:
+ oneOf:
+ - description: For RT3050, RT3052 and RT3350 SoCs
+ enum: [i2c, jtag, mdio, rgmii, sdram, spi, uartf,
+ uartlite]
+
+ - description: For RT3352 SoC
+ enum: [i2c, jtag, led, lna, mdio, pa, rgmii, spi, spi_cs1,
+ uartf, uartlite]
+
+ - description: For RT5350 SoC
+ enum: [i2c, jtag, led, spi, spi_cs1, uartf, uartlite]
+
+ - if:
+ properties:
+ function:
+ const: gpio i2s
+ then:
+ properties:
+ groups:
+ enum: [uartf]
+
+ - if:
+ properties:
+ function:
+ const: gpio uartf
+ then:
+ properties:
+ groups:
+ enum: [uartf]
+
+ - if:
+ properties:
+ function:
+ const: i2c
+ then:
+ properties:
+ groups:
+ enum: [i2c]
+
+ - if:
+ properties:
+ function:
+ const: i2s uartf
+ then:
+ properties:
+ groups:
+ enum: [uartf]
+
+ - if:
+ properties:
+ function:
+ const: jtag
+ then:
+ properties:
+ groups:
+ enum: [jtag]
+
+ - if:
+ properties:
+ function:
+ const: led
+ then:
+ properties:
+ groups:
+ enum: [led]
+
+ - if:
+ properties:
+ function:
+ const: lna
+ then:
+ properties:
+ groups:
+ enum: [lna]
+
+ - if:
+ properties:
+ function:
+ const: mdio
+ then:
+ properties:
+ groups:
+ enum: [mdio]
+
+ - if:
+ properties:
+ function:
+ const: pa
+ then:
+ properties:
+ groups:
+ enum: [pa]
+
+ - if:
+ properties:
+ function:
+ const: pcm gpio
+ then:
+ properties:
+ groups:
+ enum: [uartf]
+
+ - if:
+ properties:
+ function:
+ const: pcm i2s
+ then:
+ properties:
+ groups:
+ enum: [uartf]
+
+ - if:
+ properties:
+ function:
+ const: pcm uartf
+ then:
+ properties:
+ groups:
+ enum: [uartf]
+
+ - if:
+ properties:
+ function:
+ const: rgmii
+ then:
+ properties:
+ groups:
+ enum: [rgmii]
+
+ - if:
+ properties:
+ function:
+ const: sdram
+ then:
+ properties:
+ groups:
+ enum: [sdram]
+
+ - if:
+ properties:
+ function:
+ const: spi
+ then:
+ properties:
+ groups:
+ enum: [spi]
+
+ - if:
+ properties:
+ function:
+ const: spi_cs1
+ then:
+ properties:
+ groups:
+ enum: [spi_cs1]
+
+ - if:
+ properties:
+ function:
+ const: uartf
+ then:
+ properties:
+ groups:
+ enum: [uartf]
+
+ - if:
+ properties:
+ function:
+ const: uartlite
+ then:
+ properties:
+ groups:
+ enum: [uartlite]
+
+ - if:
+ properties:
+ function:
+ const: wdg_cs1
+ then:
+ properties:
+ groups:
+ enum: [spi_cs1]
+
additionalProperties: false
additionalProperties: false
@@ -75,7 +261,6 @@ required:
additionalProperties: false
examples:
- # Pinmux controller node
- |
pinctrl {
compatible = "ralink,rt305x-pinctrl";
--
2.37.2
next prev parent reply other threads:[~2022-12-13 13:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-13 13:04 [PATCH 0/6] Enhance Ralink pinctrl documentation Arınç ÜNAL
2022-12-13 13:04 ` [PATCH 1/6] pinctrl: ralink: rename variables which point out the pin group Arınç ÜNAL
2022-12-13 13:04 ` [PATCH 2/6] dt-bindings: pinctrl: mt7620: add proper function muxing binding Arınç ÜNAL
2022-12-14 11:55 ` Krzysztof Kozlowski
2022-12-14 13:03 ` Arınç ÜNAL
2022-12-14 13:10 ` Krzysztof Kozlowski
2022-12-13 13:04 ` [PATCH 3/6] dt-bindings: pinctrl: mt7621: " Arınç ÜNAL
2022-12-14 13:13 ` Krzysztof Kozlowski
2022-12-13 13:04 ` [PATCH 4/6] dt-bindings: pinctrl: rt2880: " Arınç ÜNAL
2022-12-13 13:04 ` Arınç ÜNAL [this message]
2022-12-13 13:04 ` [PATCH 6/6] dt-bindings: pinctrl: rt3883: " Arınç ÜNAL
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=20221213130430.172876-6-arinc.unal@arinc9.com \
--to=arinc.unal@arinc9.com \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-mips@vger.kernel.org \
--cc=luizluca@gmail.com \
--cc=matthias.bgg@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sergio.paracuellos@gmail.com \
/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