2023-08-30 17:31:07 +02:00
|
|
|
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
|
|
|
%YAML 1.2
|
|
|
|
|
---
|
|
|
|
|
$id: http://devicetree.org/schemas/pinctrl/ralink,rt3883-pinctrl.yaml#
|
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
|
|
title: Ralink RT3883 Pin Controller
|
|
|
|
|
|
|
|
|
|
maintainers:
|
|
|
|
|
- Arınç ÜNAL <arinc.unal@arinc9.com>
|
|
|
|
|
- Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
|
|
|
|
|
2023-10-24 12:59:35 +02:00
|
|
|
|
description: |
|
2023-08-30 17:31:07 +02:00
|
|
|
|
Ralink RT3883 pin controller for RT3883 SoC.
|
|
|
|
|
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,rt3883-pinctrl
|
|
|
|
|
|
|
|
|
|
patternProperties:
|
|
|
|
|
'-pins$':
|
|
|
|
|
type: object
|
2023-10-24 12:59:35 +02:00
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
2023-08-30 17:31:07 +02:00
|
|
|
|
patternProperties:
|
|
|
|
|
'^(.*-)?pinmux$':
|
|
|
|
|
type: object
|
|
|
|
|
description: node for pinctrl.
|
|
|
|
|
$ref: pinmux-node.yaml#
|
2023-10-24 12:59:35 +02:00
|
|
|
|
additionalProperties: false
|
2023-08-30 17:31:07 +02:00
|
|
|
|
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
description:
|
|
|
|
|
A string containing the name of the function to mux to the group.
|
|
|
|
|
enum: [ge1, ge2, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag,
|
|
|
|
|
lna a, lna g, mdio, pci-dev, pci-fnc, pci-host1, pci-host2,
|
|
|
|
|
pcm gpio, pcm i2s, pcm uartf, spi, uartf, uartlite]
|
|
|
|
|
|
|
|
|
|
groups:
|
|
|
|
|
description:
|
|
|
|
|
An array of strings. Each string contains the name of a group.
|
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
|
|
required:
|
|
|
|
|
- groups
|
|
|
|
|
- function
|
|
|
|
|
|
|
|
|
|
allOf:
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: ge1
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [ge1]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: ge2
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [ge2]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: gpio
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [ge1, ge2, i2c, jtag, lna a, lna g, mdio, pci, spi,
|
|
|
|
|
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: lna a
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [lna a]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: lna g
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [lna g]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: mdio
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [mdio]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: pci-dev
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [pci]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: pci-fnc
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [pci]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: pci-host1
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [pci]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: pci-host2
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [pci]
|
|
|
|
|
|
|
|
|
|
- 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: spi
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [spi]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: uartf
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [uartf]
|
|
|
|
|
|
|
|
|
|
- if:
|
|
|
|
|
properties:
|
|
|
|
|
function:
|
|
|
|
|
const: uartlite
|
|
|
|
|
then:
|
|
|
|
|
properties:
|
|
|
|
|
groups:
|
|
|
|
|
enum: [uartlite]
|
|
|
|
|
|
|
|
|
|
allOf:
|
2023-10-24 12:59:35 +02:00
|
|
|
|
- $ref: pinctrl.yaml#
|
2023-08-30 17:31:07 +02:00
|
|
|
|
|
|
|
|
|
required:
|
|
|
|
|
- compatible
|
|
|
|
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
|
|
|
|
examples:
|
|
|
|
|
- |
|
|
|
|
|
pinctrl {
|
|
|
|
|
compatible = "ralink,rt3883-pinctrl";
|
|
|
|
|
|
|
|
|
|
i2c_pins: i2c0-pins {
|
|
|
|
|
pinmux {
|
|
|
|
|
groups = "i2c";
|
|
|
|
|
function = "i2c";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|