Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.19-rc7 402 lines 10 kB view raw
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/pinctrl/airoha,an7583-pinctrl.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Airoha AN7583 Pin Controller 8 9maintainers: 10 - Lorenzo Bianconi <lorenzo@kernel.org> 11 12description: 13 The Airoha's AN7583 Pin controller is used to control SoC pins. 14 15properties: 16 compatible: 17 const: airoha,an7583-pinctrl 18 19 interrupts: 20 maxItems: 1 21 22 gpio-controller: true 23 24 '#gpio-cells': 25 const: 2 26 27 gpio-ranges: 28 maxItems: 1 29 30 interrupt-controller: true 31 32 '#interrupt-cells': 33 const: 2 34 35allOf: 36 - $ref: pinctrl.yaml# 37 38required: 39 - compatible 40 - interrupts 41 - gpio-controller 42 - "#gpio-cells" 43 - interrupt-controller 44 - "#interrupt-cells" 45 46patternProperties: 47 '-pins$': 48 type: object 49 50 patternProperties: 51 '^mux(-|$)': 52 type: object 53 54 description: 55 pinmux configuration nodes. 56 57 $ref: /schemas/pinctrl/pinmux-node.yaml 58 59 properties: 60 function: 61 description: 62 A string containing the name of the function to mux to the group. 63 enum: [pon, tod_1pps, sipo, mdio, uart, i2c, jtag, pcm, spi, 64 pcm_spi, i2s, emmc, pnand, pcie_reset, pwm, phy1_led0, 65 phy2_led0, phy3_led0, phy4_led0, phy1_led1, phy2_led1, 66 phy3_led1, phy4_led1] 67 68 groups: 69 description: 70 An array of strings. Each string contains the name of a group. 71 72 required: 73 - function 74 - groups 75 76 allOf: 77 - if: 78 properties: 79 function: 80 const: pon 81 then: 82 properties: 83 groups: 84 enum: [pon] 85 - if: 86 properties: 87 function: 88 const: tod_1pps 89 then: 90 properties: 91 groups: 92 enum: [pon_tod_1pps, gsw_tod_1pps] 93 - if: 94 properties: 95 function: 96 const: sipo 97 then: 98 properties: 99 groups: 100 enum: [sipo, sipo_rclk] 101 - if: 102 properties: 103 function: 104 const: mdio 105 then: 106 properties: 107 groups: 108 enum: [mdio] 109 - if: 110 properties: 111 function: 112 const: uart 113 then: 114 properties: 115 groups: 116 items: 117 enum: [uart2, uart2_cts_rts, hsuart, hsuart_cts_rts, 118 uart4, uart5] 119 maxItems: 2 120 - if: 121 properties: 122 function: 123 const: i2c 124 then: 125 properties: 126 groups: 127 enum: [i2c1] 128 - if: 129 properties: 130 function: 131 const: jtag 132 then: 133 properties: 134 groups: 135 enum: [jtag_udi, jtag_dfd] 136 - if: 137 properties: 138 function: 139 const: pcm 140 then: 141 properties: 142 groups: 143 enum: [pcm1, pcm2] 144 - if: 145 properties: 146 function: 147 const: spi 148 then: 149 properties: 150 groups: 151 items: 152 enum: [spi_quad, spi_cs1] 153 maxItems: 2 154 - if: 155 properties: 156 function: 157 const: pcm_spi 158 then: 159 properties: 160 groups: 161 items: 162 enum: [pcm_spi, pcm_spi_int, pcm_spi_rst, pcm_spi_cs1, 163 pcm_spi_cs2, pcm_spi_cs3, pcm_spi_cs4] 164 maxItems: 7 165 - if: 166 properties: 167 function: 168 const: i2c 169 then: 170 properties: 171 groups: 172 enum: [i2s] 173 - if: 174 properties: 175 function: 176 const: emmc 177 then: 178 properties: 179 groups: 180 enum: [emmc] 181 - if: 182 properties: 183 function: 184 const: pnand 185 then: 186 properties: 187 groups: 188 enum: [pnand] 189 - if: 190 properties: 191 function: 192 const: pcie_reset 193 then: 194 properties: 195 groups: 196 enum: [pcie_reset0, pcie_reset1] 197 - if: 198 properties: 199 function: 200 const: pwm 201 then: 202 properties: 203 groups: 204 enum: [gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, 205 gpio7, gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, 206 gpio14, gpio15, gpio16, gpio17, gpio18, gpio19, 207 gpio20, gpio21, gpio22, gpio23, gpio24, gpio25, 208 gpio26, gpio27, gpio28, gpio29, gpio30, gpio31, 209 gpio36, gpio37, gpio38, gpio39, gpio40, gpio41, 210 gpio42, gpio43, gpio44, gpio45, gpio46, gpio47] 211 - if: 212 properties: 213 function: 214 const: phy1_led0 215 then: 216 properties: 217 groups: 218 enum: [gpio1, gpio2, gpio3, gpio4] 219 - if: 220 properties: 221 function: 222 const: phy2_led0 223 then: 224 properties: 225 groups: 226 enum: [gpio1, gpio2, gpio3, gpio4] 227 - if: 228 properties: 229 function: 230 const: phy3_led0 231 then: 232 properties: 233 groups: 234 enum: [gpio1, gpio2, gpio3, gpio4] 235 - if: 236 properties: 237 function: 238 const: phy4_led0 239 then: 240 properties: 241 groups: 242 enum: [gpio1, gpio2, gpio3, gpio4] 243 - if: 244 properties: 245 function: 246 const: phy1_led1 247 then: 248 properties: 249 groups: 250 enum: [gpio8, gpio9, gpio10, gpio11] 251 - if: 252 properties: 253 function: 254 const: phy2_led1 255 then: 256 properties: 257 groups: 258 enum: [gpio8, gpio9, gpio10, gpio11] 259 - if: 260 properties: 261 function: 262 const: phy3_led1 263 then: 264 properties: 265 groups: 266 enum: [gpio8, gpio9, gpio10, gpio11] 267 - if: 268 properties: 269 function: 270 const: phy4_led1 271 then: 272 properties: 273 groups: 274 enum: [gpio8, gpio9, gpio10, gpio11] 275 276 additionalProperties: false 277 278 '^conf(-|$)': 279 type: object 280 281 description: 282 pinconf configuration nodes. 283 284 $ref: /schemas/pinctrl/pincfg-node.yaml 285 286 properties: 287 pins: 288 description: 289 An array of strings. Each string contains the name of a pin. 290 items: 291 enum: [uart1_txd, uart1_rxd, i2c_scl, i2c_sda, spi_cs0, spi_clk, 292 spi_mosi, spi_miso, gpio0, gpio1, gpio2, gpio3, gpio4, 293 gpio5, gpio6, gpio7, gpio8, gpio9, gpio10, gpio11, gpio12, 294 gpio13, gpio14, gpio15, gpio16, gpio17, gpio18, gpio19, 295 gpio20, gpio21, gpio22, gpio23, gpio24, gpio25, gpio26, 296 gpio27, gpio28, gpio29, gpio30, gpio31, gpio32, gpio33, 297 gpio34, gpio35, gpio36, gpio37, gpio38, gpio39, gpio40, 298 gpio41, gpio42, gpio43, gpio44, gpio45, gpio46, 299 pcie_reset0, pcie_reset1, pcie_reset2] 300 minItems: 1 301 maxItems: 58 302 303 bias-disable: true 304 305 bias-pull-up: true 306 307 bias-pull-down: true 308 309 input-enable: true 310 311 output-enable: true 312 313 output-low: true 314 315 output-high: true 316 317 drive-open-drain: true 318 319 drive-strength: 320 description: 321 Selects the drive strength for MIO pins, in mA. 322 enum: [2, 4, 6, 8] 323 324 required: 325 - pins 326 327 additionalProperties: false 328 329 additionalProperties: false 330 331additionalProperties: false 332 333examples: 334 - | 335 #include <dt-bindings/interrupt-controller/arm-gic.h> 336 337 pinctrl { 338 compatible = "airoha,an7583-pinctrl"; 339 340 interrupt-parent = <&gic>; 341 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 342 343 gpio-controller; 344 #gpio-cells = <2>; 345 346 interrupt-controller; 347 #interrupt-cells = <2>; 348 349 pcie1-rst-pins { 350 conf { 351 pins = "pcie_reset1"; 352 drive-open-drain = <1>; 353 }; 354 }; 355 356 pwm-pins { 357 mux { 358 function = "pwm"; 359 groups = "gpio18"; 360 }; 361 }; 362 363 spi-pins { 364 mux { 365 function = "spi"; 366 groups = "spi_quad", "spi_cs1"; 367 }; 368 }; 369 370 uart2-pins { 371 mux { 372 function = "uart"; 373 groups = "uart2", "uart2_cts_rts"; 374 }; 375 }; 376 377 uar5-pins { 378 mux { 379 function = "uart"; 380 groups = "uart5"; 381 }; 382 }; 383 384 mmc-pins { 385 mux { 386 function = "emmc"; 387 groups = "emmc"; 388 }; 389 }; 390 391 mdio-pins { 392 mux { 393 function = "mdio"; 394 groups = "mdio"; 395 }; 396 397 conf { 398 pins = "gpio2"; 399 output-enable; 400 }; 401 }; 402 };