mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 06:53:30 -04:00
dt-bindings: pinctrl: mt7620: add proper function muxing binding
Not every function can be muxed to a group. Add proper binding which documents which function can be muxed to a group or set of groups. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Link: https://lore.kernel.org/r/20221231160849.40544-3-arinc.unal@arinc9.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
committed by
Linus Walleij
parent
525792d1d2
commit
4e5410668a
@@ -29,47 +29,609 @@ patternProperties:
|
||||
$ref: pinmux-node.yaml#
|
||||
|
||||
properties:
|
||||
groups:
|
||||
description: The pin group to select.
|
||||
enum: [
|
||||
# common
|
||||
i2c, spi, wdt,
|
||||
|
||||
# For MT7620 SoC
|
||||
ephy, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi refclk,
|
||||
uartf, uartlite, wled,
|
||||
|
||||
# For MT7628 and MT7688 SoCs
|
||||
gpio, 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 cs1, spis, uart0, uart1, uart2,
|
||||
wled_an, wled_kn,
|
||||
]
|
||||
|
||||
function:
|
||||
description: The mux function to select.
|
||||
enum: [
|
||||
# common
|
||||
gpio, i2c, refclk, spi,
|
||||
description:
|
||||
A string containing the name of the function to mux to the group.
|
||||
anyOf:
|
||||
- description: For MT7620 SoC
|
||||
enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa,
|
||||
pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk,
|
||||
rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk,
|
||||
wdt rst, wled]
|
||||
|
||||
# For MT7620 SoC
|
||||
ephy, gpio i2s, gpio uartf, i2s uartf, mdio, nand, pa,
|
||||
pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf,
|
||||
rgmii1, rgmii2, sd, spi refclk, uartf, uartlite, wdt refclk,
|
||||
wdt rst, wled,
|
||||
- description: For MT7628 and MT7688 SoCs
|
||||
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, -]
|
||||
|
||||
# For MT7628 and MT7688 SoCs
|
||||
antenna, debug, 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,
|
||||
rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, 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: ephy
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [ephy]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: gpio
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
anyOf:
|
||||
- description: For MT7620 SoC
|
||||
enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2,
|
||||
spi, spi refclk, uartf, uartlite, wdt, wled]
|
||||
|
||||
- description: For MT7628 and MT7688 SoCs
|
||||
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: 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
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [i2s]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: i2s uartf
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [uartf]
|
||||
|
||||
- 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: mdio
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [mdio]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: nand
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [nd_sd]
|
||||
|
||||
- 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: pa
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [pa]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: pcie
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [gpio]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: pcie refclk
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [pcie]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: pcie rst
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [pcie]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: pcm
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [i2s]
|
||||
|
||||
- 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: 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:
|
||||
anyOf:
|
||||
- description: For MT7620 SoC
|
||||
enum: [mdio]
|
||||
|
||||
- description: For MT7628 and MT7688 SoCs
|
||||
enum: [gpio, refclk, spi cs1]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: rgmii1
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [rgmii1]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: rgmii2
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [rgmii2]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: rsvd
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [p0led_an, p0led_kn, wled_an, wled_kn]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: sd
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [nd_sd]
|
||||
|
||||
- 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: spi refclk
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [spi refclk]
|
||||
|
||||
- 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: uartf
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [uartf]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: uartlite
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [uartlite]
|
||||
|
||||
- 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: wdt refclk
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [wdt]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: wdt rst
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [wdt]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
function:
|
||||
const: wled
|
||||
then:
|
||||
properties:
|
||||
groups:
|
||||
enum: [wled]
|
||||
|
||||
- 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]
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
@@ -83,7 +645,6 @@ required:
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
# Pinmux controller node
|
||||
- |
|
||||
pinctrl {
|
||||
compatible = "ralink,mt7620-pinctrl";
|
||||
|
||||
Reference in New Issue
Block a user