Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: pinctrl: add binding for Ralink MT7620 pinctrl

Add binding for the Ralink MT7620 pin controller for MT7620, MT7628 and
MT7688 SoCs.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Link: https://lore.kernel.org/r/20220414173916.5552-12-arinc.unal@arinc9.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Arınç ÜNAL and committed by
Linus Walleij
fdcd7c8d 23e37546

+91
+91
Documentation/devicetree/bindings/pinctrl/ralink,mt7620-pinctrl.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/ralink,mt7620-pinctrl.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Ralink MT7620 Pin Controller 8 + 9 + maintainers: 10 + - Arınç ÜNAL <arinc.unal@arinc9.com> 11 + - Sergio Paracuellos <sergio.paracuellos@gmail.com> 12 + 13 + description: 14 + Ralink MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs. 15 + The pin controller can only set the muxing of pin groups. Muxing individual 16 + pins is not supported. There is no pinconf support. 17 + 18 + properties: 19 + compatible: 20 + const: ralink,mt7620-pinctrl 21 + 22 + patternProperties: 23 + '-pins$': 24 + type: object 25 + patternProperties: 26 + '^(.*-)?pinmux$': 27 + type: object 28 + description: node for pinctrl. 29 + $ref: pinmux-node.yaml# 30 + 31 + properties: 32 + groups: 33 + description: The pin group to select. 34 + enum: [ 35 + # For MT7620 SoC 36 + ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi, spi refclk, 37 + uartf, uartlite, wdt, wled, 38 + 39 + # For MT7628 and MT7688 SoCs 40 + gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an, 41 + p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, perst, pwm0, 42 + pwm1, refclk, sdmode, spi, spi cs1, spis, uart0, uart1, uart2, 43 + wdt, wled_an, wled_kn, 44 + ] 45 + 46 + function: 47 + description: The mux function to select. 48 + enum: [ 49 + # For MT7620 SoC 50 + ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa, 51 + pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk, 52 + rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk, 53 + wdt rst, wled, 54 + 55 + # For MT7628 and MT7688 SoCs 56 + antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn, 57 + p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, 58 + p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2, 59 + refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1, 60 + spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -, 61 + ] 62 + 63 + required: 64 + - groups 65 + - function 66 + 67 + additionalProperties: false 68 + 69 + additionalProperties: false 70 + 71 + allOf: 72 + - $ref: "pinctrl.yaml#" 73 + 74 + required: 75 + - compatible 76 + 77 + additionalProperties: false 78 + 79 + examples: 80 + # Pinmux controller node 81 + - | 82 + pinctrl { 83 + compatible = "ralink,mt7620-pinctrl"; 84 + 85 + i2c_pins: i2c0-pins { 86 + pinmux { 87 + groups = "i2c"; 88 + function = "i2c"; 89 + }; 90 + }; 91 + };