# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/pinctrl/ralink,rt305x-pinctrl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Ralink RT305X Pin Controller maintainers: - Arınç ÜNAL - Sergio Paracuellos description: Ralink RT305X pin controller for RT3050, RT3052, RT3350, RT3352 and RT5350 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,rt305x-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 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] - 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] - 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. maxItems: 1 required: - groups - function allOf: - if: properties: function: const: gpio then: properties: groups: anyOf: - 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 allOf: - $ref: "pinctrl.yaml#" required: - compatible additionalProperties: false examples: - | pinctrl { compatible = "ralink,rt305x-pinctrl"; i2c_pins: i2c0-pins { pinmux { groups = "i2c"; function = "i2c"; }; }; };