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