451 lines
11 KiB
YAML
451 lines
11 KiB
YAML
# 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";
|
||
};
|
||
};
|
||
};
|