| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pinctrl/ralink,mt7620-pinctrl.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Ralink MT7620 Pin Controller |
| |
| maintainers: |
| - Arınç ÜNAL <arinc.unal@arinc9.com> |
| - Sergio Paracuellos <sergio.paracuellos@gmail.com> |
| |
| description: |
| Ralink MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs. |
| The pin controller can only set the muxing of pin groups. Muxing individual |
| pins is not supported. There is no pinconf support. |
| |
| properties: |
| compatible: |
| const: ralink,mt7620-pinctrl |
| |
| patternProperties: |
| '-pins$': |
| type: object |
| patternProperties: |
| '^(.*-)?pinmux$': |
| type: object |
| description: node for pinctrl. |
| $ref: pinmux-node.yaml# |
| |
| properties: |
| function: |
| description: |
| A string containing the name of the function to mux to the group. |
| anyOf: |
| - description: For MT7620 SoC |
| enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa, |
| pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk, |
| rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk, |
| wdt rst, wled] |
| |
| - description: For MT7628 and MT7688 SoCs |
| enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn, |
| p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, |
| p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2, |
| refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1, |
| spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -] |
| |
| groups: |
| description: |
| An array of strings. Each string contains the name of a group. |
| maxItems: 1 |
| |
| required: |
| - groups |
| - function |
| |
| allOf: |
| - if: |
| properties: |
| function: |
| const: antenna |
| then: |
| properties: |
| groups: |
| enum: [i2s] |
| |
| - if: |
| properties: |
| function: |
| const: debug |
| then: |
| properties: |
| groups: |
| enum: [i2c] |
| |
| - if: |
| properties: |
| function: |
| const: ephy |
| then: |
| properties: |
| groups: |
| enum: [ephy] |
| |
| - if: |
| properties: |
| function: |
| const: gpio |
| then: |
| properties: |
| groups: |
| anyOf: |
| - description: For MT7620 SoC |
| enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, |
| spi, spi refclk, uartf, uartlite, wdt, wled] |
| |
| - description: For MT7628 and MT7688 SoCs |
| enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, |
| p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, |
| p4led_an, p4led_kn, perst, pwm0, pwm1, refclk, |
| sdmode, spi, spi cs1, spis, uart0, uart1, uart2, |
| wdt, wled_an, wled_kn] |
| |
| - 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 |
| then: |
| properties: |
| groups: |
| enum: [i2s] |
| |
| - if: |
| properties: |
| function: |
| const: i2s uartf |
| then: |
| properties: |
| groups: |
| enum: [uartf] |
| |
| - if: |
| properties: |
| function: |
| const: jtag |
| then: |
| properties: |
| groups: |
| enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an, |
| p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, |
| sdmode] |
| |
| - if: |
| properties: |
| function: |
| const: mdio |
| then: |
| properties: |
| groups: |
| enum: [mdio] |
| |
| - if: |
| properties: |
| function: |
| const: nand |
| then: |
| properties: |
| groups: |
| enum: [nd_sd] |
| |
| - if: |
| properties: |
| function: |
| const: p0led_an |
| then: |
| properties: |
| groups: |
| enum: [p0led_an] |
| |
| - if: |
| properties: |
| function: |
| const: p0led_kn |
| then: |
| properties: |
| groups: |
| enum: [p0led_kn] |
| |
| - if: |
| properties: |
| function: |
| const: p1led_an |
| then: |
| properties: |
| groups: |
| enum: [p1led_an] |
| |
| - if: |
| properties: |
| function: |
| const: p1led_kn |
| then: |
| properties: |
| groups: |
| enum: [p1led_kn] |
| |
| - if: |
| properties: |
| function: |
| const: p2led_an |
| then: |
| properties: |
| groups: |
| enum: [p2led_an] |
| |
| - if: |
| properties: |
| function: |
| const: p2led_kn |
| then: |
| properties: |
| groups: |
| enum: [p2led_kn] |
| |
| - if: |
| properties: |
| function: |
| const: p3led_an |
| then: |
| properties: |
| groups: |
| enum: [p3led_an] |
| |
| - if: |
| properties: |
| function: |
| const: p3led_kn |
| then: |
| properties: |
| groups: |
| enum: [p3led_kn] |
| |
| - if: |
| properties: |
| function: |
| const: p4led_an |
| then: |
| properties: |
| groups: |
| enum: [p4led_an] |
| |
| - if: |
| properties: |
| function: |
| const: p4led_kn |
| then: |
| properties: |
| groups: |
| enum: [p4led_kn] |
| |
| - if: |
| properties: |
| function: |
| const: pa |
| then: |
| properties: |
| groups: |
| enum: [pa] |
| |
| - if: |
| properties: |
| function: |
| const: pcie |
| then: |
| properties: |
| groups: |
| enum: [gpio] |
| |
| - if: |
| properties: |
| function: |
| const: pcie refclk |
| then: |
| properties: |
| groups: |
| enum: [pcie] |
| |
| - if: |
| properties: |
| function: |
| const: pcie rst |
| then: |
| properties: |
| groups: |
| enum: [pcie] |
| |
| - if: |
| properties: |
| function: |
| const: pcm |
| then: |
| properties: |
| groups: |
| enum: [i2s] |
| |
| - 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: perst |
| then: |
| properties: |
| groups: |
| enum: [perst] |
| |
| - if: |
| properties: |
| function: |
| const: pwm |
| then: |
| properties: |
| groups: |
| enum: [uart1, uart2] |
| |
| - if: |
| properties: |
| function: |
| const: pwm0 |
| then: |
| properties: |
| groups: |
| enum: [pwm0] |
| |
| - if: |
| properties: |
| function: |
| const: pwm1 |
| then: |
| properties: |
| groups: |
| enum: [pwm1] |
| |
| - if: |
| properties: |
| function: |
| const: pwm_uart2 |
| then: |
| properties: |
| groups: |
| enum: [spis] |
| |
| - if: |
| properties: |
| function: |
| const: refclk |
| then: |
| properties: |
| groups: |
| anyOf: |
| - description: For MT7620 SoC |
| enum: [mdio] |
| |
| - description: For MT7628 and MT7688 SoCs |
| enum: [gpio, refclk, spi cs1] |
| |
| - if: |
| properties: |
| function: |
| const: rgmii1 |
| then: |
| properties: |
| groups: |
| enum: [rgmii1] |
| |
| - if: |
| properties: |
| function: |
| const: rgmii2 |
| then: |
| properties: |
| groups: |
| enum: [rgmii2] |
| |
| - if: |
| properties: |
| function: |
| const: rsvd |
| then: |
| properties: |
| groups: |
| enum: [p0led_an, p0led_kn, wled_an, wled_kn] |
| |
| - if: |
| properties: |
| function: |
| const: sd |
| then: |
| properties: |
| groups: |
| enum: [nd_sd] |
| |
| - if: |
| properties: |
| function: |
| const: sdxc |
| then: |
| properties: |
| groups: |
| enum: [sdmode] |
| |
| - if: |
| properties: |
| function: |
| const: sdxc d5 d4 |
| then: |
| properties: |
| groups: |
| enum: [uart2] |
| |
| - if: |
| properties: |
| function: |
| const: sdxc d6 |
| then: |
| properties: |
| groups: |
| enum: [pwm1] |
| |
| - if: |
| properties: |
| function: |
| const: sdxc d7 |
| then: |
| properties: |
| groups: |
| enum: [pwm0] |
| |
| - 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: spi refclk |
| then: |
| properties: |
| groups: |
| enum: [spi refclk] |
| |
| - if: |
| properties: |
| function: |
| const: spis |
| then: |
| properties: |
| groups: |
| enum: [spis] |
| |
| - if: |
| properties: |
| function: |
| const: sw_r |
| then: |
| properties: |
| groups: |
| enum: [uart1] |
| |
| - if: |
| properties: |
| function: |
| const: uart0 |
| then: |
| properties: |
| groups: |
| enum: [uart0] |
| |
| - if: |
| properties: |
| function: |
| const: uart1 |
| then: |
| properties: |
| groups: |
| enum: [uart1] |
| |
| - if: |
| properties: |
| function: |
| const: uart2 |
| then: |
| properties: |
| groups: |
| enum: [uart2] |
| |
| - if: |
| properties: |
| function: |
| const: uartf |
| then: |
| properties: |
| groups: |
| enum: [uartf] |
| |
| - if: |
| properties: |
| function: |
| const: uartlite |
| then: |
| properties: |
| groups: |
| enum: [uartlite] |
| |
| - if: |
| properties: |
| function: |
| const: utif |
| then: |
| properties: |
| groups: |
| enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, |
| p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis] |
| |
| - if: |
| properties: |
| function: |
| const: wdt |
| then: |
| properties: |
| groups: |
| enum: [wdt] |
| |
| - if: |
| properties: |
| function: |
| const: wdt refclk |
| then: |
| properties: |
| groups: |
| enum: [wdt] |
| |
| - if: |
| properties: |
| function: |
| const: wdt rst |
| then: |
| properties: |
| groups: |
| enum: [wdt] |
| |
| - if: |
| properties: |
| function: |
| const: wled |
| then: |
| properties: |
| groups: |
| enum: [wled] |
| |
| - if: |
| properties: |
| function: |
| const: wled_an |
| then: |
| properties: |
| groups: |
| enum: [wled_an] |
| |
| - if: |
| properties: |
| function: |
| const: wled_kn |
| then: |
| properties: |
| groups: |
| enum: [wled_kn] |
| |
| - if: |
| properties: |
| function: |
| const: "-" |
| then: |
| properties: |
| groups: |
| enum: [i2c, spi cs1, uart0] |
| |
| additionalProperties: false |
| |
| additionalProperties: false |
| |
| allOf: |
| - $ref: "pinctrl.yaml#" |
| |
| required: |
| - compatible |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| pinctrl { |
| compatible = "ralink,mt7620-pinctrl"; |
| |
| i2c_pins: i2c0-pins { |
| pinmux { |
| groups = "i2c"; |
| function = "i2c"; |
| }; |
| }; |
| }; |