1*565afac7SArınç ÜNAL# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*565afac7SArınç ÜNAL%YAML 1.2 3*565afac7SArınç ÜNAL--- 4*565afac7SArınç ÜNAL$id: http://devicetree.org/schemas/pinctrl/mediatek,mt76x8-pinctrl.yaml# 5*565afac7SArınç ÜNAL$schema: http://devicetree.org/meta-schemas/core.yaml# 6*565afac7SArınç ÜNAL 7*565afac7SArınç ÜNALtitle: MediaTek MT76X8 Pin Controller 8*565afac7SArınç ÜNAL 9*565afac7SArınç ÜNALmaintainers: 10*565afac7SArınç ÜNAL - Arınç ÜNAL <arinc.unal@arinc9.com> 11*565afac7SArınç ÜNAL - Sergio Paracuellos <sergio.paracuellos@gmail.com> 12*565afac7SArınç ÜNAL 13*565afac7SArınç ÜNALdescription: | 14*565afac7SArınç ÜNAL MediaTek MT76X8 pin controller for MT7628 and MT7688 SoCs. 15*565afac7SArınç ÜNAL The pin controller can only set the muxing of pin groups. Muxing individual 16*565afac7SArınç ÜNAL pins is not supported. There is no pinconf support. 17*565afac7SArınç ÜNAL 18*565afac7SArınç ÜNALproperties: 19*565afac7SArınç ÜNAL compatible: 20*565afac7SArınç ÜNAL const: ralink,mt76x8-pinctrl 21*565afac7SArınç ÜNAL 22*565afac7SArınç ÜNALpatternProperties: 23*565afac7SArınç ÜNAL '-pins$': 24*565afac7SArınç ÜNAL type: object 25*565afac7SArınç ÜNAL additionalProperties: false 26*565afac7SArınç ÜNAL 27*565afac7SArınç ÜNAL patternProperties: 28*565afac7SArınç ÜNAL '^(.*-)?pinmux$': 29*565afac7SArınç ÜNAL type: object 30*565afac7SArınç ÜNAL description: node for pinctrl. 31*565afac7SArınç ÜNAL $ref: pinmux-node.yaml# 32*565afac7SArınç ÜNAL additionalProperties: false 33*565afac7SArınç ÜNAL 34*565afac7SArınç ÜNAL properties: 35*565afac7SArınç ÜNAL function: 36*565afac7SArınç ÜNAL description: 37*565afac7SArınç ÜNAL A string containing the name of the function to mux to the group. 38*565afac7SArınç ÜNAL enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn, 39*565afac7SArınç ÜNAL p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, 40*565afac7SArınç ÜNAL p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, 41*565afac7SArınç ÜNAL pwm_uart2, refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, 42*565afac7SArınç ÜNAL spi, spi cs1, spis, sw_r, uart0, uart1, uart2, utif, wdt, 43*565afac7SArınç ÜNAL wled_an, wled_kn, -] 44*565afac7SArınç ÜNAL 45*565afac7SArınç ÜNAL groups: 46*565afac7SArınç ÜNAL description: 47*565afac7SArınç ÜNAL An array of strings. Each string contains the name of a group. 48*565afac7SArınç ÜNAL maxItems: 1 49*565afac7SArınç ÜNAL 50*565afac7SArınç ÜNAL required: 51*565afac7SArınç ÜNAL - groups 52*565afac7SArınç ÜNAL - function 53*565afac7SArınç ÜNAL 54*565afac7SArınç ÜNAL allOf: 55*565afac7SArınç ÜNAL - if: 56*565afac7SArınç ÜNAL properties: 57*565afac7SArınç ÜNAL function: 58*565afac7SArınç ÜNAL const: antenna 59*565afac7SArınç ÜNAL then: 60*565afac7SArınç ÜNAL properties: 61*565afac7SArınç ÜNAL groups: 62*565afac7SArınç ÜNAL enum: [i2s] 63*565afac7SArınç ÜNAL 64*565afac7SArınç ÜNAL - if: 65*565afac7SArınç ÜNAL properties: 66*565afac7SArınç ÜNAL function: 67*565afac7SArınç ÜNAL const: debug 68*565afac7SArınç ÜNAL then: 69*565afac7SArınç ÜNAL properties: 70*565afac7SArınç ÜNAL groups: 71*565afac7SArınç ÜNAL enum: [i2c] 72*565afac7SArınç ÜNAL 73*565afac7SArınç ÜNAL - if: 74*565afac7SArınç ÜNAL properties: 75*565afac7SArınç ÜNAL function: 76*565afac7SArınç ÜNAL const: gpio 77*565afac7SArınç ÜNAL then: 78*565afac7SArınç ÜNAL properties: 79*565afac7SArınç ÜNAL groups: 80*565afac7SArınç ÜNAL enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn, 81*565afac7SArınç ÜNAL p2led_an, p2led_kn, p3led_an, p3led_kn, p4led_an, 82*565afac7SArınç ÜNAL p4led_kn, perst, pwm0, pwm1, refclk, sdmode, spi, 83*565afac7SArınç ÜNAL spi cs1, spis, uart0, uart1, uart2, wdt, wled_an, 84*565afac7SArınç ÜNAL wled_kn] 85*565afac7SArınç ÜNAL 86*565afac7SArınç ÜNAL - if: 87*565afac7SArınç ÜNAL properties: 88*565afac7SArınç ÜNAL function: 89*565afac7SArınç ÜNAL const: i2c 90*565afac7SArınç ÜNAL then: 91*565afac7SArınç ÜNAL properties: 92*565afac7SArınç ÜNAL groups: 93*565afac7SArınç ÜNAL enum: [i2c] 94*565afac7SArınç ÜNAL 95*565afac7SArınç ÜNAL - if: 96*565afac7SArınç ÜNAL properties: 97*565afac7SArınç ÜNAL function: 98*565afac7SArınç ÜNAL const: i2s 99*565afac7SArınç ÜNAL then: 100*565afac7SArınç ÜNAL properties: 101*565afac7SArınç ÜNAL groups: 102*565afac7SArınç ÜNAL enum: [i2s] 103*565afac7SArınç ÜNAL 104*565afac7SArınç ÜNAL - if: 105*565afac7SArınç ÜNAL properties: 106*565afac7SArınç ÜNAL function: 107*565afac7SArınç ÜNAL const: jtag 108*565afac7SArınç ÜNAL then: 109*565afac7SArınç ÜNAL properties: 110*565afac7SArınç ÜNAL groups: 111*565afac7SArınç ÜNAL enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an, 112*565afac7SArınç ÜNAL p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, 113*565afac7SArınç ÜNAL sdmode] 114*565afac7SArınç ÜNAL 115*565afac7SArınç ÜNAL - if: 116*565afac7SArınç ÜNAL properties: 117*565afac7SArınç ÜNAL function: 118*565afac7SArınç ÜNAL const: p0led_an 119*565afac7SArınç ÜNAL then: 120*565afac7SArınç ÜNAL properties: 121*565afac7SArınç ÜNAL groups: 122*565afac7SArınç ÜNAL enum: [p0led_an] 123*565afac7SArınç ÜNAL 124*565afac7SArınç ÜNAL - if: 125*565afac7SArınç ÜNAL properties: 126*565afac7SArınç ÜNAL function: 127*565afac7SArınç ÜNAL const: p0led_kn 128*565afac7SArınç ÜNAL then: 129*565afac7SArınç ÜNAL properties: 130*565afac7SArınç ÜNAL groups: 131*565afac7SArınç ÜNAL enum: [p0led_kn] 132*565afac7SArınç ÜNAL 133*565afac7SArınç ÜNAL - if: 134*565afac7SArınç ÜNAL properties: 135*565afac7SArınç ÜNAL function: 136*565afac7SArınç ÜNAL const: p1led_an 137*565afac7SArınç ÜNAL then: 138*565afac7SArınç ÜNAL properties: 139*565afac7SArınç ÜNAL groups: 140*565afac7SArınç ÜNAL enum: [p1led_an] 141*565afac7SArınç ÜNAL 142*565afac7SArınç ÜNAL - if: 143*565afac7SArınç ÜNAL properties: 144*565afac7SArınç ÜNAL function: 145*565afac7SArınç ÜNAL const: p1led_kn 146*565afac7SArınç ÜNAL then: 147*565afac7SArınç ÜNAL properties: 148*565afac7SArınç ÜNAL groups: 149*565afac7SArınç ÜNAL enum: [p1led_kn] 150*565afac7SArınç ÜNAL 151*565afac7SArınç ÜNAL - if: 152*565afac7SArınç ÜNAL properties: 153*565afac7SArınç ÜNAL function: 154*565afac7SArınç ÜNAL const: p2led_an 155*565afac7SArınç ÜNAL then: 156*565afac7SArınç ÜNAL properties: 157*565afac7SArınç ÜNAL groups: 158*565afac7SArınç ÜNAL enum: [p2led_an] 159*565afac7SArınç ÜNAL 160*565afac7SArınç ÜNAL - if: 161*565afac7SArınç ÜNAL properties: 162*565afac7SArınç ÜNAL function: 163*565afac7SArınç ÜNAL const: p2led_kn 164*565afac7SArınç ÜNAL then: 165*565afac7SArınç ÜNAL properties: 166*565afac7SArınç ÜNAL groups: 167*565afac7SArınç ÜNAL enum: [p2led_kn] 168*565afac7SArınç ÜNAL 169*565afac7SArınç ÜNAL - if: 170*565afac7SArınç ÜNAL properties: 171*565afac7SArınç ÜNAL function: 172*565afac7SArınç ÜNAL const: p3led_an 173*565afac7SArınç ÜNAL then: 174*565afac7SArınç ÜNAL properties: 175*565afac7SArınç ÜNAL groups: 176*565afac7SArınç ÜNAL enum: [p3led_an] 177*565afac7SArınç ÜNAL 178*565afac7SArınç ÜNAL - if: 179*565afac7SArınç ÜNAL properties: 180*565afac7SArınç ÜNAL function: 181*565afac7SArınç ÜNAL const: p3led_kn 182*565afac7SArınç ÜNAL then: 183*565afac7SArınç ÜNAL properties: 184*565afac7SArınç ÜNAL groups: 185*565afac7SArınç ÜNAL enum: [p3led_kn] 186*565afac7SArınç ÜNAL 187*565afac7SArınç ÜNAL - if: 188*565afac7SArınç ÜNAL properties: 189*565afac7SArınç ÜNAL function: 190*565afac7SArınç ÜNAL const: p4led_an 191*565afac7SArınç ÜNAL then: 192*565afac7SArınç ÜNAL properties: 193*565afac7SArınç ÜNAL groups: 194*565afac7SArınç ÜNAL enum: [p4led_an] 195*565afac7SArınç ÜNAL 196*565afac7SArınç ÜNAL - if: 197*565afac7SArınç ÜNAL properties: 198*565afac7SArınç ÜNAL function: 199*565afac7SArınç ÜNAL const: p4led_kn 200*565afac7SArınç ÜNAL then: 201*565afac7SArınç ÜNAL properties: 202*565afac7SArınç ÜNAL groups: 203*565afac7SArınç ÜNAL enum: [p4led_kn] 204*565afac7SArınç ÜNAL 205*565afac7SArınç ÜNAL - if: 206*565afac7SArınç ÜNAL properties: 207*565afac7SArınç ÜNAL function: 208*565afac7SArınç ÜNAL const: pcie 209*565afac7SArınç ÜNAL then: 210*565afac7SArınç ÜNAL properties: 211*565afac7SArınç ÜNAL groups: 212*565afac7SArınç ÜNAL enum: [gpio] 213*565afac7SArınç ÜNAL 214*565afac7SArınç ÜNAL - if: 215*565afac7SArınç ÜNAL properties: 216*565afac7SArınç ÜNAL function: 217*565afac7SArınç ÜNAL const: pcm 218*565afac7SArınç ÜNAL then: 219*565afac7SArınç ÜNAL properties: 220*565afac7SArınç ÜNAL groups: 221*565afac7SArınç ÜNAL enum: [i2s] 222*565afac7SArınç ÜNAL 223*565afac7SArınç ÜNAL - if: 224*565afac7SArınç ÜNAL properties: 225*565afac7SArınç ÜNAL function: 226*565afac7SArınç ÜNAL const: perst 227*565afac7SArınç ÜNAL then: 228*565afac7SArınç ÜNAL properties: 229*565afac7SArınç ÜNAL groups: 230*565afac7SArınç ÜNAL enum: [perst] 231*565afac7SArınç ÜNAL 232*565afac7SArınç ÜNAL - if: 233*565afac7SArınç ÜNAL properties: 234*565afac7SArınç ÜNAL function: 235*565afac7SArınç ÜNAL const: pwm 236*565afac7SArınç ÜNAL then: 237*565afac7SArınç ÜNAL properties: 238*565afac7SArınç ÜNAL groups: 239*565afac7SArınç ÜNAL enum: [uart1, uart2] 240*565afac7SArınç ÜNAL 241*565afac7SArınç ÜNAL - if: 242*565afac7SArınç ÜNAL properties: 243*565afac7SArınç ÜNAL function: 244*565afac7SArınç ÜNAL const: pwm0 245*565afac7SArınç ÜNAL then: 246*565afac7SArınç ÜNAL properties: 247*565afac7SArınç ÜNAL groups: 248*565afac7SArınç ÜNAL enum: [pwm0] 249*565afac7SArınç ÜNAL 250*565afac7SArınç ÜNAL - if: 251*565afac7SArınç ÜNAL properties: 252*565afac7SArınç ÜNAL function: 253*565afac7SArınç ÜNAL const: pwm1 254*565afac7SArınç ÜNAL then: 255*565afac7SArınç ÜNAL properties: 256*565afac7SArınç ÜNAL groups: 257*565afac7SArınç ÜNAL enum: [pwm1] 258*565afac7SArınç ÜNAL 259*565afac7SArınç ÜNAL - if: 260*565afac7SArınç ÜNAL properties: 261*565afac7SArınç ÜNAL function: 262*565afac7SArınç ÜNAL const: pwm_uart2 263*565afac7SArınç ÜNAL then: 264*565afac7SArınç ÜNAL properties: 265*565afac7SArınç ÜNAL groups: 266*565afac7SArınç ÜNAL enum: [spis] 267*565afac7SArınç ÜNAL 268*565afac7SArınç ÜNAL - if: 269*565afac7SArınç ÜNAL properties: 270*565afac7SArınç ÜNAL function: 271*565afac7SArınç ÜNAL const: refclk 272*565afac7SArınç ÜNAL then: 273*565afac7SArınç ÜNAL properties: 274*565afac7SArınç ÜNAL groups: 275*565afac7SArınç ÜNAL enum: [gpio, refclk, spi cs1] 276*565afac7SArınç ÜNAL 277*565afac7SArınç ÜNAL - if: 278*565afac7SArınç ÜNAL properties: 279*565afac7SArınç ÜNAL function: 280*565afac7SArınç ÜNAL const: rsvd 281*565afac7SArınç ÜNAL then: 282*565afac7SArınç ÜNAL properties: 283*565afac7SArınç ÜNAL groups: 284*565afac7SArınç ÜNAL enum: [p0led_an, p0led_kn, wled_an, wled_kn] 285*565afac7SArınç ÜNAL 286*565afac7SArınç ÜNAL - if: 287*565afac7SArınç ÜNAL properties: 288*565afac7SArınç ÜNAL function: 289*565afac7SArınç ÜNAL const: sdxc 290*565afac7SArınç ÜNAL then: 291*565afac7SArınç ÜNAL properties: 292*565afac7SArınç ÜNAL groups: 293*565afac7SArınç ÜNAL enum: [sdmode] 294*565afac7SArınç ÜNAL 295*565afac7SArınç ÜNAL - if: 296*565afac7SArınç ÜNAL properties: 297*565afac7SArınç ÜNAL function: 298*565afac7SArınç ÜNAL const: sdxc d5 d4 299*565afac7SArınç ÜNAL then: 300*565afac7SArınç ÜNAL properties: 301*565afac7SArınç ÜNAL groups: 302*565afac7SArınç ÜNAL enum: [uart2] 303*565afac7SArınç ÜNAL 304*565afac7SArınç ÜNAL - if: 305*565afac7SArınç ÜNAL properties: 306*565afac7SArınç ÜNAL function: 307*565afac7SArınç ÜNAL const: sdxc d6 308*565afac7SArınç ÜNAL then: 309*565afac7SArınç ÜNAL properties: 310*565afac7SArınç ÜNAL groups: 311*565afac7SArınç ÜNAL enum: [pwm1] 312*565afac7SArınç ÜNAL 313*565afac7SArınç ÜNAL - if: 314*565afac7SArınç ÜNAL properties: 315*565afac7SArınç ÜNAL function: 316*565afac7SArınç ÜNAL const: sdxc d7 317*565afac7SArınç ÜNAL then: 318*565afac7SArınç ÜNAL properties: 319*565afac7SArınç ÜNAL groups: 320*565afac7SArınç ÜNAL enum: [pwm0] 321*565afac7SArınç ÜNAL 322*565afac7SArınç ÜNAL - if: 323*565afac7SArınç ÜNAL properties: 324*565afac7SArınç ÜNAL function: 325*565afac7SArınç ÜNAL const: spi 326*565afac7SArınç ÜNAL then: 327*565afac7SArınç ÜNAL properties: 328*565afac7SArınç ÜNAL groups: 329*565afac7SArınç ÜNAL enum: [spi] 330*565afac7SArınç ÜNAL 331*565afac7SArınç ÜNAL - if: 332*565afac7SArınç ÜNAL properties: 333*565afac7SArınç ÜNAL function: 334*565afac7SArınç ÜNAL const: spi cs1 335*565afac7SArınç ÜNAL then: 336*565afac7SArınç ÜNAL properties: 337*565afac7SArınç ÜNAL groups: 338*565afac7SArınç ÜNAL enum: [spi cs1] 339*565afac7SArınç ÜNAL 340*565afac7SArınç ÜNAL - if: 341*565afac7SArınç ÜNAL properties: 342*565afac7SArınç ÜNAL function: 343*565afac7SArınç ÜNAL const: spis 344*565afac7SArınç ÜNAL then: 345*565afac7SArınç ÜNAL properties: 346*565afac7SArınç ÜNAL groups: 347*565afac7SArınç ÜNAL enum: [spis] 348*565afac7SArınç ÜNAL 349*565afac7SArınç ÜNAL - if: 350*565afac7SArınç ÜNAL properties: 351*565afac7SArınç ÜNAL function: 352*565afac7SArınç ÜNAL const: sw_r 353*565afac7SArınç ÜNAL then: 354*565afac7SArınç ÜNAL properties: 355*565afac7SArınç ÜNAL groups: 356*565afac7SArınç ÜNAL enum: [uart1] 357*565afac7SArınç ÜNAL 358*565afac7SArınç ÜNAL - if: 359*565afac7SArınç ÜNAL properties: 360*565afac7SArınç ÜNAL function: 361*565afac7SArınç ÜNAL const: uart0 362*565afac7SArınç ÜNAL then: 363*565afac7SArınç ÜNAL properties: 364*565afac7SArınç ÜNAL groups: 365*565afac7SArınç ÜNAL enum: [uart0] 366*565afac7SArınç ÜNAL 367*565afac7SArınç ÜNAL - if: 368*565afac7SArınç ÜNAL properties: 369*565afac7SArınç ÜNAL function: 370*565afac7SArınç ÜNAL const: uart1 371*565afac7SArınç ÜNAL then: 372*565afac7SArınç ÜNAL properties: 373*565afac7SArınç ÜNAL groups: 374*565afac7SArınç ÜNAL enum: [uart1] 375*565afac7SArınç ÜNAL 376*565afac7SArınç ÜNAL - if: 377*565afac7SArınç ÜNAL properties: 378*565afac7SArınç ÜNAL function: 379*565afac7SArınç ÜNAL const: uart2 380*565afac7SArınç ÜNAL then: 381*565afac7SArınç ÜNAL properties: 382*565afac7SArınç ÜNAL groups: 383*565afac7SArınç ÜNAL enum: [uart2] 384*565afac7SArınç ÜNAL 385*565afac7SArınç ÜNAL - if: 386*565afac7SArınç ÜNAL properties: 387*565afac7SArınç ÜNAL function: 388*565afac7SArınç ÜNAL const: utif 389*565afac7SArınç ÜNAL then: 390*565afac7SArınç ÜNAL properties: 391*565afac7SArınç ÜNAL groups: 392*565afac7SArınç ÜNAL enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, 393*565afac7SArınç ÜNAL p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis] 394*565afac7SArınç ÜNAL 395*565afac7SArınç ÜNAL - if: 396*565afac7SArınç ÜNAL properties: 397*565afac7SArınç ÜNAL function: 398*565afac7SArınç ÜNAL const: wdt 399*565afac7SArınç ÜNAL then: 400*565afac7SArınç ÜNAL properties: 401*565afac7SArınç ÜNAL groups: 402*565afac7SArınç ÜNAL enum: [wdt] 403*565afac7SArınç ÜNAL 404*565afac7SArınç ÜNAL - if: 405*565afac7SArınç ÜNAL properties: 406*565afac7SArınç ÜNAL function: 407*565afac7SArınç ÜNAL const: wled_an 408*565afac7SArınç ÜNAL then: 409*565afac7SArınç ÜNAL properties: 410*565afac7SArınç ÜNAL groups: 411*565afac7SArınç ÜNAL enum: [wled_an] 412*565afac7SArınç ÜNAL 413*565afac7SArınç ÜNAL - if: 414*565afac7SArınç ÜNAL properties: 415*565afac7SArınç ÜNAL function: 416*565afac7SArınç ÜNAL const: wled_kn 417*565afac7SArınç ÜNAL then: 418*565afac7SArınç ÜNAL properties: 419*565afac7SArınç ÜNAL groups: 420*565afac7SArınç ÜNAL enum: [wled_kn] 421*565afac7SArınç ÜNAL 422*565afac7SArınç ÜNAL - if: 423*565afac7SArınç ÜNAL properties: 424*565afac7SArınç ÜNAL function: 425*565afac7SArınç ÜNAL const: "-" 426*565afac7SArınç ÜNAL then: 427*565afac7SArınç ÜNAL properties: 428*565afac7SArınç ÜNAL groups: 429*565afac7SArınç ÜNAL enum: [i2c, spi cs1, uart0] 430*565afac7SArınç ÜNAL 431*565afac7SArınç ÜNALallOf: 432*565afac7SArınç ÜNAL - $ref: pinctrl.yaml# 433*565afac7SArınç ÜNAL 434*565afac7SArınç ÜNALrequired: 435*565afac7SArınç ÜNAL - compatible 436*565afac7SArınç ÜNAL 437*565afac7SArınç ÜNALadditionalProperties: false 438*565afac7SArınç ÜNAL 439*565afac7SArınç ÜNALexamples: 440*565afac7SArınç ÜNAL - | 441*565afac7SArınç ÜNAL pinctrl { 442*565afac7SArınç ÜNAL compatible = "ralink,mt76x8-pinctrl"; 443*565afac7SArınç ÜNAL 444*565afac7SArınç ÜNAL i2c_pins: i2c0-pins { 445*565afac7SArınç ÜNAL pinmux { 446*565afac7SArınç ÜNAL groups = "i2c"; 447*565afac7SArınç ÜNAL function = "i2c"; 448*565afac7SArınç ÜNAL }; 449*565afac7SArınç ÜNAL }; 450*565afac7SArınç ÜNAL }; 451