The MT7628 and MT7688 SoCs contain different pin muxing information, therefore, should be split. This can be done now that there are compatible strings to distinguish them from other SoCs. Split the schema out to mediatek,mt76x8-pinctrl.yaml. Remove mediatek,mt76x8-pinctrl from mt7620. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230317213011.13656-21-arinc.unal@arinc9.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
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";
|
||
};
|
||
};
|
||
};
|