1*fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*fac71e4eSEmmanuel Vadot%YAML 1.2 3*fac71e4eSEmmanuel Vadot--- 4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/mediatek,mt7621-pinctrl.yaml# 5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*fac71e4eSEmmanuel Vadot 7*fac71e4eSEmmanuel Vadottitle: MediaTek MT7621 Pin Controller 8*fac71e4eSEmmanuel Vadot 9*fac71e4eSEmmanuel Vadotmaintainers: 10*fac71e4eSEmmanuel Vadot - Arınç ÜNAL <arinc.unal@arinc9.com> 11*fac71e4eSEmmanuel Vadot - Sergio Paracuellos <sergio.paracuellos@gmail.com> 12*fac71e4eSEmmanuel Vadot 13*fac71e4eSEmmanuel Vadotdescription: | 14*fac71e4eSEmmanuel Vadot MediaTek MT7621 pin controller for MT7621 SoC. 15*fac71e4eSEmmanuel Vadot The pin controller can only set the muxing of pin groups. Muxing individual 16*fac71e4eSEmmanuel Vadot pins is not supported. There is no pinconf support. 17*fac71e4eSEmmanuel Vadot 18*fac71e4eSEmmanuel Vadotproperties: 19*fac71e4eSEmmanuel Vadot compatible: 20*fac71e4eSEmmanuel Vadot const: ralink,mt7621-pinctrl 21*fac71e4eSEmmanuel Vadot 22*fac71e4eSEmmanuel VadotpatternProperties: 23*fac71e4eSEmmanuel Vadot '-pins$': 24*fac71e4eSEmmanuel Vadot type: object 25*fac71e4eSEmmanuel Vadot additionalProperties: false 26*fac71e4eSEmmanuel Vadot 27*fac71e4eSEmmanuel Vadot patternProperties: 28*fac71e4eSEmmanuel Vadot '^(.*-)?pinmux$': 29*fac71e4eSEmmanuel Vadot type: object 30*fac71e4eSEmmanuel Vadot description: node for pinctrl. 31*fac71e4eSEmmanuel Vadot $ref: pinmux-node.yaml# 32*fac71e4eSEmmanuel Vadot additionalProperties: false 33*fac71e4eSEmmanuel Vadot 34*fac71e4eSEmmanuel Vadot properties: 35*fac71e4eSEmmanuel Vadot function: 36*fac71e4eSEmmanuel Vadot description: 37*fac71e4eSEmmanuel Vadot A string containing the name of the function to mux to the group. 38*fac71e4eSEmmanuel Vadot enum: [gpio, i2c, i2s, jtag, mdio, nand1, nand2, pcie refclk, 39*fac71e4eSEmmanuel Vadot pcie rst, pcm, rgmii1, rgmii2, sdhci, spdif2, spdif3, spi, 40*fac71e4eSEmmanuel Vadot uart1, uart2, uart3, wdt refclk, wdt rst] 41*fac71e4eSEmmanuel Vadot 42*fac71e4eSEmmanuel Vadot groups: 43*fac71e4eSEmmanuel Vadot description: 44*fac71e4eSEmmanuel Vadot An array of strings. Each string contains the name of a group. 45*fac71e4eSEmmanuel Vadot maxItems: 1 46*fac71e4eSEmmanuel Vadot 47*fac71e4eSEmmanuel Vadot required: 48*fac71e4eSEmmanuel Vadot - groups 49*fac71e4eSEmmanuel Vadot - function 50*fac71e4eSEmmanuel Vadot 51*fac71e4eSEmmanuel Vadot allOf: 52*fac71e4eSEmmanuel Vadot - if: 53*fac71e4eSEmmanuel Vadot properties: 54*fac71e4eSEmmanuel Vadot function: 55*fac71e4eSEmmanuel Vadot const: gpio 56*fac71e4eSEmmanuel Vadot then: 57*fac71e4eSEmmanuel Vadot properties: 58*fac71e4eSEmmanuel Vadot groups: 59*fac71e4eSEmmanuel Vadot enum: [i2c, jtag, mdio, pcie, rgmii1, rgmii2, sdhci, spi, 60*fac71e4eSEmmanuel Vadot uart1, uart2, uart3, wdt] 61*fac71e4eSEmmanuel Vadot 62*fac71e4eSEmmanuel Vadot - if: 63*fac71e4eSEmmanuel Vadot properties: 64*fac71e4eSEmmanuel Vadot function: 65*fac71e4eSEmmanuel Vadot const: i2c 66*fac71e4eSEmmanuel Vadot then: 67*fac71e4eSEmmanuel Vadot properties: 68*fac71e4eSEmmanuel Vadot groups: 69*fac71e4eSEmmanuel Vadot enum: [i2c] 70*fac71e4eSEmmanuel Vadot 71*fac71e4eSEmmanuel Vadot - if: 72*fac71e4eSEmmanuel Vadot properties: 73*fac71e4eSEmmanuel Vadot function: 74*fac71e4eSEmmanuel Vadot const: i2s 75*fac71e4eSEmmanuel Vadot then: 76*fac71e4eSEmmanuel Vadot properties: 77*fac71e4eSEmmanuel Vadot groups: 78*fac71e4eSEmmanuel Vadot enum: [uart3] 79*fac71e4eSEmmanuel Vadot 80*fac71e4eSEmmanuel Vadot - if: 81*fac71e4eSEmmanuel Vadot properties: 82*fac71e4eSEmmanuel Vadot function: 83*fac71e4eSEmmanuel Vadot const: jtag 84*fac71e4eSEmmanuel Vadot then: 85*fac71e4eSEmmanuel Vadot properties: 86*fac71e4eSEmmanuel Vadot groups: 87*fac71e4eSEmmanuel Vadot enum: [jtag] 88*fac71e4eSEmmanuel Vadot 89*fac71e4eSEmmanuel Vadot - if: 90*fac71e4eSEmmanuel Vadot properties: 91*fac71e4eSEmmanuel Vadot function: 92*fac71e4eSEmmanuel Vadot const: mdio 93*fac71e4eSEmmanuel Vadot then: 94*fac71e4eSEmmanuel Vadot properties: 95*fac71e4eSEmmanuel Vadot groups: 96*fac71e4eSEmmanuel Vadot enum: [mdio] 97*fac71e4eSEmmanuel Vadot 98*fac71e4eSEmmanuel Vadot - if: 99*fac71e4eSEmmanuel Vadot properties: 100*fac71e4eSEmmanuel Vadot function: 101*fac71e4eSEmmanuel Vadot const: nand1 102*fac71e4eSEmmanuel Vadot then: 103*fac71e4eSEmmanuel Vadot properties: 104*fac71e4eSEmmanuel Vadot groups: 105*fac71e4eSEmmanuel Vadot enum: [spi] 106*fac71e4eSEmmanuel Vadot 107*fac71e4eSEmmanuel Vadot - if: 108*fac71e4eSEmmanuel Vadot properties: 109*fac71e4eSEmmanuel Vadot function: 110*fac71e4eSEmmanuel Vadot const: nand2 111*fac71e4eSEmmanuel Vadot then: 112*fac71e4eSEmmanuel Vadot properties: 113*fac71e4eSEmmanuel Vadot groups: 114*fac71e4eSEmmanuel Vadot enum: [sdhci] 115*fac71e4eSEmmanuel Vadot 116*fac71e4eSEmmanuel Vadot - if: 117*fac71e4eSEmmanuel Vadot properties: 118*fac71e4eSEmmanuel Vadot function: 119*fac71e4eSEmmanuel Vadot const: pcie refclk 120*fac71e4eSEmmanuel Vadot then: 121*fac71e4eSEmmanuel Vadot properties: 122*fac71e4eSEmmanuel Vadot groups: 123*fac71e4eSEmmanuel Vadot enum: [pcie] 124*fac71e4eSEmmanuel Vadot 125*fac71e4eSEmmanuel Vadot - if: 126*fac71e4eSEmmanuel Vadot properties: 127*fac71e4eSEmmanuel Vadot function: 128*fac71e4eSEmmanuel Vadot const: pcie rst 129*fac71e4eSEmmanuel Vadot then: 130*fac71e4eSEmmanuel Vadot properties: 131*fac71e4eSEmmanuel Vadot groups: 132*fac71e4eSEmmanuel Vadot enum: [pcie] 133*fac71e4eSEmmanuel Vadot 134*fac71e4eSEmmanuel Vadot - if: 135*fac71e4eSEmmanuel Vadot properties: 136*fac71e4eSEmmanuel Vadot function: 137*fac71e4eSEmmanuel Vadot const: pcm 138*fac71e4eSEmmanuel Vadot then: 139*fac71e4eSEmmanuel Vadot properties: 140*fac71e4eSEmmanuel Vadot groups: 141*fac71e4eSEmmanuel Vadot enum: [uart2] 142*fac71e4eSEmmanuel Vadot 143*fac71e4eSEmmanuel Vadot - if: 144*fac71e4eSEmmanuel Vadot properties: 145*fac71e4eSEmmanuel Vadot function: 146*fac71e4eSEmmanuel Vadot const: rgmii1 147*fac71e4eSEmmanuel Vadot then: 148*fac71e4eSEmmanuel Vadot properties: 149*fac71e4eSEmmanuel Vadot groups: 150*fac71e4eSEmmanuel Vadot enum: [rgmii1] 151*fac71e4eSEmmanuel Vadot 152*fac71e4eSEmmanuel Vadot - if: 153*fac71e4eSEmmanuel Vadot properties: 154*fac71e4eSEmmanuel Vadot function: 155*fac71e4eSEmmanuel Vadot const: rgmii2 156*fac71e4eSEmmanuel Vadot then: 157*fac71e4eSEmmanuel Vadot properties: 158*fac71e4eSEmmanuel Vadot groups: 159*fac71e4eSEmmanuel Vadot enum: [rgmii2] 160*fac71e4eSEmmanuel Vadot 161*fac71e4eSEmmanuel Vadot - if: 162*fac71e4eSEmmanuel Vadot properties: 163*fac71e4eSEmmanuel Vadot function: 164*fac71e4eSEmmanuel Vadot const: sdhci 165*fac71e4eSEmmanuel Vadot then: 166*fac71e4eSEmmanuel Vadot properties: 167*fac71e4eSEmmanuel Vadot groups: 168*fac71e4eSEmmanuel Vadot enum: [sdhci] 169*fac71e4eSEmmanuel Vadot 170*fac71e4eSEmmanuel Vadot - if: 171*fac71e4eSEmmanuel Vadot properties: 172*fac71e4eSEmmanuel Vadot function: 173*fac71e4eSEmmanuel Vadot const: spdif2 174*fac71e4eSEmmanuel Vadot then: 175*fac71e4eSEmmanuel Vadot properties: 176*fac71e4eSEmmanuel Vadot groups: 177*fac71e4eSEmmanuel Vadot enum: [uart2] 178*fac71e4eSEmmanuel Vadot 179*fac71e4eSEmmanuel Vadot - if: 180*fac71e4eSEmmanuel Vadot properties: 181*fac71e4eSEmmanuel Vadot function: 182*fac71e4eSEmmanuel Vadot const: spdif3 183*fac71e4eSEmmanuel Vadot then: 184*fac71e4eSEmmanuel Vadot properties: 185*fac71e4eSEmmanuel Vadot groups: 186*fac71e4eSEmmanuel Vadot enum: [uart3] 187*fac71e4eSEmmanuel Vadot 188*fac71e4eSEmmanuel Vadot - if: 189*fac71e4eSEmmanuel Vadot properties: 190*fac71e4eSEmmanuel Vadot function: 191*fac71e4eSEmmanuel Vadot const: spi 192*fac71e4eSEmmanuel Vadot then: 193*fac71e4eSEmmanuel Vadot properties: 194*fac71e4eSEmmanuel Vadot groups: 195*fac71e4eSEmmanuel Vadot enum: [spi] 196*fac71e4eSEmmanuel Vadot 197*fac71e4eSEmmanuel Vadot - if: 198*fac71e4eSEmmanuel Vadot properties: 199*fac71e4eSEmmanuel Vadot function: 200*fac71e4eSEmmanuel Vadot const: uart1 201*fac71e4eSEmmanuel Vadot then: 202*fac71e4eSEmmanuel Vadot properties: 203*fac71e4eSEmmanuel Vadot groups: 204*fac71e4eSEmmanuel Vadot enum: [uart1] 205*fac71e4eSEmmanuel Vadot 206*fac71e4eSEmmanuel Vadot - if: 207*fac71e4eSEmmanuel Vadot properties: 208*fac71e4eSEmmanuel Vadot function: 209*fac71e4eSEmmanuel Vadot const: uart2 210*fac71e4eSEmmanuel Vadot then: 211*fac71e4eSEmmanuel Vadot properties: 212*fac71e4eSEmmanuel Vadot groups: 213*fac71e4eSEmmanuel Vadot enum: [uart2] 214*fac71e4eSEmmanuel Vadot 215*fac71e4eSEmmanuel Vadot - if: 216*fac71e4eSEmmanuel Vadot properties: 217*fac71e4eSEmmanuel Vadot function: 218*fac71e4eSEmmanuel Vadot const: uart3 219*fac71e4eSEmmanuel Vadot then: 220*fac71e4eSEmmanuel Vadot properties: 221*fac71e4eSEmmanuel Vadot groups: 222*fac71e4eSEmmanuel Vadot enum: [uart3] 223*fac71e4eSEmmanuel Vadot 224*fac71e4eSEmmanuel Vadot - if: 225*fac71e4eSEmmanuel Vadot properties: 226*fac71e4eSEmmanuel Vadot function: 227*fac71e4eSEmmanuel Vadot const: wdt refclk 228*fac71e4eSEmmanuel Vadot then: 229*fac71e4eSEmmanuel Vadot properties: 230*fac71e4eSEmmanuel Vadot groups: 231*fac71e4eSEmmanuel Vadot enum: [wdt] 232*fac71e4eSEmmanuel Vadot 233*fac71e4eSEmmanuel Vadot - if: 234*fac71e4eSEmmanuel Vadot properties: 235*fac71e4eSEmmanuel Vadot function: 236*fac71e4eSEmmanuel Vadot const: wdt rst 237*fac71e4eSEmmanuel Vadot then: 238*fac71e4eSEmmanuel Vadot properties: 239*fac71e4eSEmmanuel Vadot groups: 240*fac71e4eSEmmanuel Vadot enum: [wdt] 241*fac71e4eSEmmanuel Vadot 242*fac71e4eSEmmanuel VadotallOf: 243*fac71e4eSEmmanuel Vadot - $ref: pinctrl.yaml# 244*fac71e4eSEmmanuel Vadot 245*fac71e4eSEmmanuel Vadotrequired: 246*fac71e4eSEmmanuel Vadot - compatible 247*fac71e4eSEmmanuel Vadot 248*fac71e4eSEmmanuel VadotadditionalProperties: false 249*fac71e4eSEmmanuel Vadot 250*fac71e4eSEmmanuel Vadotexamples: 251*fac71e4eSEmmanuel Vadot - | 252*fac71e4eSEmmanuel Vadot pinctrl { 253*fac71e4eSEmmanuel Vadot compatible = "ralink,mt7621-pinctrl"; 254*fac71e4eSEmmanuel Vadot 255*fac71e4eSEmmanuel Vadot i2c_pins: i2c0-pins { 256*fac71e4eSEmmanuel Vadot pinmux { 257*fac71e4eSEmmanuel Vadot groups = "i2c"; 258*fac71e4eSEmmanuel Vadot function = "i2c"; 259*fac71e4eSEmmanuel Vadot }; 260*fac71e4eSEmmanuel Vadot }; 261*fac71e4eSEmmanuel Vadot }; 262