276 lines
6.6 KiB
YAML
276 lines
6.6 KiB
YAML
# 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 <arinc.unal@arinc9.com>
|
||
- Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
||
|
||
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";
|
||
};
|
||
};
|
||
};
|