| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pinctrl/mediatek,mt76x8-pinctrl.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: MediaTek MT76X8 Pin Controller |
| |
| maintainers: |
| - Arınç ÜNAL <arinc.unal@arinc9.com> |
| - Sergio Paracuellos <sergio.paracuellos@gmail.com> |
| |
| description: | |
| MediaTek MT76X8 pin controller for 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,mt76x8-pinctrl |
| |
| patternProperties: |
| '-pins$': |
| type: object |
| additionalProperties: false |
| |
| patternProperties: |
| '^(.*-)?pinmux$': |
| type: object |
| description: node for pinctrl. |
| $ref: pinmux-node.yaml# |
| additionalProperties: false |
| |
| properties: |
| function: |
| description: |
| A string containing the name of the function to mux to the group. |
| 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: gpio |
| then: |
| properties: |
| groups: |
| 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: i2c |
| then: |
| properties: |
| groups: |
| enum: [i2c] |
| |
| - if: |
| properties: |
| function: |
| const: i2s |
| then: |
| properties: |
| groups: |
| enum: [i2s] |
| |
| - 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: 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: pcie |
| then: |
| properties: |
| groups: |
| enum: [gpio] |
| |
| - if: |
| properties: |
| function: |
| const: pcm |
| then: |
| properties: |
| groups: |
| enum: [i2s] |
| |
| - 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: |
| enum: [gpio, refclk, spi cs1] |
| |
| - if: |
| properties: |
| function: |
| const: rsvd |
| then: |
| properties: |
| groups: |
| enum: [p0led_an, p0led_kn, wled_an, wled_kn] |
| |
| - 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: 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: 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: 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] |
| |
| allOf: |
| - $ref: pinctrl.yaml# |
| |
| required: |
| - compatible |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| pinctrl { |
| compatible = "ralink,mt76x8-pinctrl"; |
| |
| i2c_pins: i2c0-pins { |
| pinmux { |
| groups = "i2c"; |
| function = "i2c"; |
| }; |
| }; |
| }; |