xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/mediatek,mt7621-pinctrl.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
19c5ade5aSArınç ÜNAL# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
29c5ade5aSArınç ÜNAL%YAML 1.2
39c5ade5aSArınç ÜNAL---
49c5ade5aSArınç ÜNAL$id: http://devicetree.org/schemas/pinctrl/mediatek,mt7621-pinctrl.yaml#
59c5ade5aSArınç ÜNAL$schema: http://devicetree.org/meta-schemas/core.yaml#
69c5ade5aSArınç ÜNAL
79c5ade5aSArınç ÜNALtitle: MediaTek MT7621 Pin Controller
89c5ade5aSArınç ÜNAL
99c5ade5aSArınç ÜNALmaintainers:
109c5ade5aSArınç ÜNAL  - Arınç ÜNAL <arinc.unal@arinc9.com>
119c5ade5aSArınç ÜNAL  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
129c5ade5aSArınç ÜNAL
13*c911ad22SArınç ÜNALdescription: |
149c5ade5aSArınç ÜNAL  MediaTek MT7621 pin controller for MT7621 SoC.
159c5ade5aSArınç ÜNAL  The pin controller can only set the muxing of pin groups. Muxing individual
169c5ade5aSArınç ÜNAL  pins is not supported. There is no pinconf support.
179c5ade5aSArınç ÜNAL
189c5ade5aSArınç ÜNALproperties:
199c5ade5aSArınç ÜNAL  compatible:
209c5ade5aSArınç ÜNAL    const: ralink,mt7621-pinctrl
219c5ade5aSArınç ÜNAL
229c5ade5aSArınç ÜNALpatternProperties:
239c5ade5aSArınç ÜNAL  '-pins$':
249c5ade5aSArınç ÜNAL    type: object
259c5ade5aSArınç ÜNAL    additionalProperties: false
269c5ade5aSArınç ÜNAL
279c5ade5aSArınç ÜNAL    patternProperties:
289c5ade5aSArınç ÜNAL      '^(.*-)?pinmux$':
299c5ade5aSArınç ÜNAL        type: object
309c5ade5aSArınç ÜNAL        description: node for pinctrl.
319c5ade5aSArınç ÜNAL        $ref: pinmux-node.yaml#
329c5ade5aSArınç ÜNAL        additionalProperties: false
339c5ade5aSArınç ÜNAL
349c5ade5aSArınç ÜNAL        properties:
359c5ade5aSArınç ÜNAL          function:
369c5ade5aSArınç ÜNAL            description:
379c5ade5aSArınç ÜNAL              A string containing the name of the function to mux to the group.
389c5ade5aSArınç ÜNAL            enum: [gpio, i2c, i2s, jtag, mdio, nand1, nand2, pcie refclk,
399c5ade5aSArınç ÜNAL                   pcie rst, pcm, rgmii1, rgmii2, sdhci, spdif2, spdif3, spi,
409c5ade5aSArınç ÜNAL                   uart1, uart2, uart3, wdt refclk, wdt rst]
419c5ade5aSArınç ÜNAL
429c5ade5aSArınç ÜNAL          groups:
439c5ade5aSArınç ÜNAL            description:
449c5ade5aSArınç ÜNAL              An array of strings. Each string contains the name of a group.
459c5ade5aSArınç ÜNAL            maxItems: 1
469c5ade5aSArınç ÜNAL
479c5ade5aSArınç ÜNAL        required:
489c5ade5aSArınç ÜNAL          - groups
499c5ade5aSArınç ÜNAL          - function
509c5ade5aSArınç ÜNAL
519c5ade5aSArınç ÜNAL        allOf:
529c5ade5aSArınç ÜNAL          - if:
539c5ade5aSArınç ÜNAL              properties:
549c5ade5aSArınç ÜNAL                function:
559c5ade5aSArınç ÜNAL                  const: gpio
569c5ade5aSArınç ÜNAL            then:
579c5ade5aSArınç ÜNAL              properties:
589c5ade5aSArınç ÜNAL                groups:
599c5ade5aSArınç ÜNAL                  enum: [i2c, jtag, mdio, pcie, rgmii1, rgmii2, sdhci, spi,
609c5ade5aSArınç ÜNAL                         uart1, uart2, uart3, wdt]
619c5ade5aSArınç ÜNAL
629c5ade5aSArınç ÜNAL          - if:
639c5ade5aSArınç ÜNAL              properties:
649c5ade5aSArınç ÜNAL                function:
659c5ade5aSArınç ÜNAL                  const: i2c
669c5ade5aSArınç ÜNAL            then:
679c5ade5aSArınç ÜNAL              properties:
689c5ade5aSArınç ÜNAL                groups:
699c5ade5aSArınç ÜNAL                  enum: [i2c]
709c5ade5aSArınç ÜNAL
719c5ade5aSArınç ÜNAL          - if:
729c5ade5aSArınç ÜNAL              properties:
739c5ade5aSArınç ÜNAL                function:
749c5ade5aSArınç ÜNAL                  const: i2s
759c5ade5aSArınç ÜNAL            then:
769c5ade5aSArınç ÜNAL              properties:
779c5ade5aSArınç ÜNAL                groups:
789c5ade5aSArınç ÜNAL                  enum: [uart3]
799c5ade5aSArınç ÜNAL
809c5ade5aSArınç ÜNAL          - if:
819c5ade5aSArınç ÜNAL              properties:
829c5ade5aSArınç ÜNAL                function:
839c5ade5aSArınç ÜNAL                  const: jtag
849c5ade5aSArınç ÜNAL            then:
859c5ade5aSArınç ÜNAL              properties:
869c5ade5aSArınç ÜNAL                groups:
879c5ade5aSArınç ÜNAL                  enum: [jtag]
889c5ade5aSArınç ÜNAL
899c5ade5aSArınç ÜNAL          - if:
909c5ade5aSArınç ÜNAL              properties:
919c5ade5aSArınç ÜNAL                function:
929c5ade5aSArınç ÜNAL                  const: mdio
939c5ade5aSArınç ÜNAL            then:
949c5ade5aSArınç ÜNAL              properties:
959c5ade5aSArınç ÜNAL                groups:
969c5ade5aSArınç ÜNAL                  enum: [mdio]
979c5ade5aSArınç ÜNAL
989c5ade5aSArınç ÜNAL          - if:
999c5ade5aSArınç ÜNAL              properties:
1009c5ade5aSArınç ÜNAL                function:
1019c5ade5aSArınç ÜNAL                  const: nand1
1029c5ade5aSArınç ÜNAL            then:
1039c5ade5aSArınç ÜNAL              properties:
1049c5ade5aSArınç ÜNAL                groups:
1059c5ade5aSArınç ÜNAL                  enum: [spi]
1069c5ade5aSArınç ÜNAL
1079c5ade5aSArınç ÜNAL          - if:
1089c5ade5aSArınç ÜNAL              properties:
1099c5ade5aSArınç ÜNAL                function:
1109c5ade5aSArınç ÜNAL                  const: nand2
1119c5ade5aSArınç ÜNAL            then:
1129c5ade5aSArınç ÜNAL              properties:
1139c5ade5aSArınç ÜNAL                groups:
1149c5ade5aSArınç ÜNAL                  enum: [sdhci]
1159c5ade5aSArınç ÜNAL
1169c5ade5aSArınç ÜNAL          - if:
1179c5ade5aSArınç ÜNAL              properties:
1189c5ade5aSArınç ÜNAL                function:
1199c5ade5aSArınç ÜNAL                  const: pcie refclk
1209c5ade5aSArınç ÜNAL            then:
1219c5ade5aSArınç ÜNAL              properties:
1229c5ade5aSArınç ÜNAL                groups:
1239c5ade5aSArınç ÜNAL                  enum: [pcie]
1249c5ade5aSArınç ÜNAL
1259c5ade5aSArınç ÜNAL          - if:
1269c5ade5aSArınç ÜNAL              properties:
1279c5ade5aSArınç ÜNAL                function:
1289c5ade5aSArınç ÜNAL                  const: pcie rst
1299c5ade5aSArınç ÜNAL            then:
1309c5ade5aSArınç ÜNAL              properties:
1319c5ade5aSArınç ÜNAL                groups:
1329c5ade5aSArınç ÜNAL                  enum: [pcie]
1339c5ade5aSArınç ÜNAL
1349c5ade5aSArınç ÜNAL          - if:
1359c5ade5aSArınç ÜNAL              properties:
1369c5ade5aSArınç ÜNAL                function:
1379c5ade5aSArınç ÜNAL                  const: pcm
1389c5ade5aSArınç ÜNAL            then:
1399c5ade5aSArınç ÜNAL              properties:
1409c5ade5aSArınç ÜNAL                groups:
1419c5ade5aSArınç ÜNAL                  enum: [uart2]
1429c5ade5aSArınç ÜNAL
1439c5ade5aSArınç ÜNAL          - if:
1449c5ade5aSArınç ÜNAL              properties:
1459c5ade5aSArınç ÜNAL                function:
1469c5ade5aSArınç ÜNAL                  const: rgmii1
1479c5ade5aSArınç ÜNAL            then:
1489c5ade5aSArınç ÜNAL              properties:
1499c5ade5aSArınç ÜNAL                groups:
1509c5ade5aSArınç ÜNAL                  enum: [rgmii1]
1519c5ade5aSArınç ÜNAL
1529c5ade5aSArınç ÜNAL          - if:
1539c5ade5aSArınç ÜNAL              properties:
1549c5ade5aSArınç ÜNAL                function:
1559c5ade5aSArınç ÜNAL                  const: rgmii2
1569c5ade5aSArınç ÜNAL            then:
1579c5ade5aSArınç ÜNAL              properties:
1589c5ade5aSArınç ÜNAL                groups:
1599c5ade5aSArınç ÜNAL                  enum: [rgmii2]
1609c5ade5aSArınç ÜNAL
1619c5ade5aSArınç ÜNAL          - if:
1629c5ade5aSArınç ÜNAL              properties:
1639c5ade5aSArınç ÜNAL                function:
1649c5ade5aSArınç ÜNAL                  const: sdhci
1659c5ade5aSArınç ÜNAL            then:
1669c5ade5aSArınç ÜNAL              properties:
1679c5ade5aSArınç ÜNAL                groups:
1689c5ade5aSArınç ÜNAL                  enum: [sdhci]
1699c5ade5aSArınç ÜNAL
1709c5ade5aSArınç ÜNAL          - if:
1719c5ade5aSArınç ÜNAL              properties:
1729c5ade5aSArınç ÜNAL                function:
1739c5ade5aSArınç ÜNAL                  const: spdif2
1749c5ade5aSArınç ÜNAL            then:
1759c5ade5aSArınç ÜNAL              properties:
1769c5ade5aSArınç ÜNAL                groups:
1779c5ade5aSArınç ÜNAL                  enum: [uart2]
1789c5ade5aSArınç ÜNAL
1799c5ade5aSArınç ÜNAL          - if:
1809c5ade5aSArınç ÜNAL              properties:
1819c5ade5aSArınç ÜNAL                function:
1829c5ade5aSArınç ÜNAL                  const: spdif3
1839c5ade5aSArınç ÜNAL            then:
1849c5ade5aSArınç ÜNAL              properties:
1859c5ade5aSArınç ÜNAL                groups:
1869c5ade5aSArınç ÜNAL                  enum: [uart3]
1879c5ade5aSArınç ÜNAL
1889c5ade5aSArınç ÜNAL          - if:
1899c5ade5aSArınç ÜNAL              properties:
1909c5ade5aSArınç ÜNAL                function:
1919c5ade5aSArınç ÜNAL                  const: spi
1929c5ade5aSArınç ÜNAL            then:
1939c5ade5aSArınç ÜNAL              properties:
1949c5ade5aSArınç ÜNAL                groups:
1959c5ade5aSArınç ÜNAL                  enum: [spi]
1969c5ade5aSArınç ÜNAL
1979c5ade5aSArınç ÜNAL          - if:
1989c5ade5aSArınç ÜNAL              properties:
1999c5ade5aSArınç ÜNAL                function:
2009c5ade5aSArınç ÜNAL                  const: uart1
2019c5ade5aSArınç ÜNAL            then:
2029c5ade5aSArınç ÜNAL              properties:
2039c5ade5aSArınç ÜNAL                groups:
2049c5ade5aSArınç ÜNAL                  enum: [uart1]
2059c5ade5aSArınç ÜNAL
2069c5ade5aSArınç ÜNAL          - if:
2079c5ade5aSArınç ÜNAL              properties:
2089c5ade5aSArınç ÜNAL                function:
2099c5ade5aSArınç ÜNAL                  const: uart2
2109c5ade5aSArınç ÜNAL            then:
2119c5ade5aSArınç ÜNAL              properties:
2129c5ade5aSArınç ÜNAL                groups:
2139c5ade5aSArınç ÜNAL                  enum: [uart2]
2149c5ade5aSArınç ÜNAL
2159c5ade5aSArınç ÜNAL          - if:
2169c5ade5aSArınç ÜNAL              properties:
2179c5ade5aSArınç ÜNAL                function:
2189c5ade5aSArınç ÜNAL                  const: uart3
2199c5ade5aSArınç ÜNAL            then:
2209c5ade5aSArınç ÜNAL              properties:
2219c5ade5aSArınç ÜNAL                groups:
2229c5ade5aSArınç ÜNAL                  enum: [uart3]
2239c5ade5aSArınç ÜNAL
2249c5ade5aSArınç ÜNAL          - if:
2259c5ade5aSArınç ÜNAL              properties:
2269c5ade5aSArınç ÜNAL                function:
2279c5ade5aSArınç ÜNAL                  const: wdt refclk
2289c5ade5aSArınç ÜNAL            then:
2299c5ade5aSArınç ÜNAL              properties:
2309c5ade5aSArınç ÜNAL                groups:
2319c5ade5aSArınç ÜNAL                  enum: [wdt]
2329c5ade5aSArınç ÜNAL
2339c5ade5aSArınç ÜNAL          - if:
2349c5ade5aSArınç ÜNAL              properties:
2359c5ade5aSArınç ÜNAL                function:
2369c5ade5aSArınç ÜNAL                  const: wdt rst
2379c5ade5aSArınç ÜNAL            then:
2389c5ade5aSArınç ÜNAL              properties:
2399c5ade5aSArınç ÜNAL                groups:
2409c5ade5aSArınç ÜNAL                  enum: [wdt]
2419c5ade5aSArınç ÜNAL
2429c5ade5aSArınç ÜNALallOf:
2439c5ade5aSArınç ÜNAL  - $ref: pinctrl.yaml#
2449c5ade5aSArınç ÜNAL
2459c5ade5aSArınç ÜNALrequired:
2469c5ade5aSArınç ÜNAL  - compatible
2479c5ade5aSArınç ÜNAL
2489c5ade5aSArınç ÜNALadditionalProperties: false
2499c5ade5aSArınç ÜNAL
2509c5ade5aSArınç ÜNALexamples:
2519c5ade5aSArınç ÜNAL  - |
2529c5ade5aSArınç ÜNAL    pinctrl {
2539c5ade5aSArınç ÜNAL      compatible = "ralink,mt7621-pinctrl";
2549c5ade5aSArınç ÜNAL
2559c5ade5aSArınç ÜNAL      i2c_pins: i2c0-pins {
2569c5ade5aSArınç ÜNAL        pinmux {
2579c5ade5aSArınç ÜNAL          groups = "i2c";
2589c5ade5aSArınç ÜNAL          function = "i2c";
2599c5ade5aSArınç ÜNAL        };
2609c5ade5aSArınç ÜNAL      };
2619c5ade5aSArınç ÜNAL    };
262