1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Samsung's Exynos850 SoC pin-mux and pin-con 4 * 5 * Copyright (C) 2017 Samsung Electronics Co., 6 * Copyright (C) 2021 Linaro Ltd. 7 * 8 * Samsung's Exynos850 SoC pin-mux and pin-con 9 * tree nodes in this file. 10 */ 11 12 #include <dt-bindings/interrupt-controller/arm 13 #include "exynos-pinctrl.h" 14 15 &pinctrl_alive { 16 gpa0: gpa0-gpio-bank { 17 gpio-controller; 18 #gpio-cells = <2>; 19 20 interrupt-controller; 21 #interrupt-cells = <2>; 22 interrupt-parent = <&gic>; 23 interrupts = <GIC_SPI 1 IRQ_TY 24 <GIC_SPI 2 IRQ_TY 25 <GIC_SPI 3 IRQ_TY 26 <GIC_SPI 4 IRQ_TY 27 <GIC_SPI 5 IRQ_TY 28 <GIC_SPI 6 IRQ_TY 29 <GIC_SPI 7 IRQ_TY 30 <GIC_SPI 8 IRQ_TY 31 }; 32 33 gpa1: gpa1-gpio-bank { 34 gpio-controller; 35 #gpio-cells = <2>; 36 37 interrupt-controller; 38 #interrupt-cells = <2>; 39 interrupt-parent = <&gic>; 40 interrupts = <GIC_SPI 9 IRQ_TY 41 <GIC_SPI 10 IRQ_T 42 <GIC_SPI 11 IRQ_T 43 <GIC_SPI 12 IRQ_T 44 <GIC_SPI 13 IRQ_T 45 <GIC_SPI 14 IRQ_T 46 <GIC_SPI 15 IRQ_T 47 <GIC_SPI 16 IRQ_T 48 }; 49 50 gpa2: gpa2-gpio-bank { 51 gpio-controller; 52 #gpio-cells = <2>; 53 54 interrupt-controller; 55 #interrupt-cells = <2>; 56 interrupt-parent = <&gic>; 57 interrupts = <GIC_SPI 17 IRQ_T 58 <GIC_SPI 18 IRQ_T 59 <GIC_SPI 19 IRQ_T 60 <GIC_SPI 20 IRQ_T 61 <GIC_SPI 21 IRQ_T 62 <GIC_SPI 22 IRQ_T 63 <GIC_SPI 23 IRQ_T 64 <GIC_SPI 24 IRQ_T 65 }; 66 67 gpa3: gpa3-gpio-bank { 68 gpio-controller; 69 #gpio-cells = <2>; 70 71 interrupt-controller; 72 #interrupt-cells = <2>; 73 interrupt-parent = <&gic>; 74 interrupts = <GIC_SPI 25 IRQ_T 75 <GIC_SPI 26 IRQ_T 76 <GIC_SPI 27 IRQ_T 77 <GIC_SPI 28 IRQ_T 78 <GIC_SPI 29 IRQ_T 79 <GIC_SPI 30 IRQ_T 80 <GIC_SPI 31 IRQ_T 81 <GIC_SPI 32 IRQ_T 82 }; 83 84 gpa4: gpa4-gpio-bank { 85 gpio-controller; 86 #gpio-cells = <2>; 87 88 interrupt-controller; 89 #interrupt-cells = <2>; 90 interrupt-parent = <&gic>; 91 interrupts = <GIC_SPI 33 IRQ_T 92 <GIC_SPI 34 IRQ_T 93 <GIC_SPI 35 IRQ_T 94 <GIC_SPI 36 IRQ_T 95 }; 96 97 gpq0: gpq0-gpio-bank { 98 gpio-controller; 99 #gpio-cells = <2>; 100 101 interrupt-controller; 102 #interrupt-cells = <2>; 103 }; 104 105 /* I2C5 (also called CAM_PMIC_I2C in T 106 i2c5_pins: i2c5-pins { 107 samsung,pins = "gpa3-5", "gpa3 108 samsung,pin-function = <EXYNOS 109 samsung,pin-pud = <EXYNOS_PIN_ 110 samsung,pin-drv = <EXYNOS5420_ 111 }; 112 113 /* I2C6 (also called MOTOR_I2C in TRM) 114 i2c6_pins: i2c6-pins { 115 samsung,pins = "gpa3-7", "gpa4 116 samsung,pin-function = <EXYNOS 117 samsung,pin-pud = <EXYNOS_PIN_ 118 samsung,pin-drv = <EXYNOS5420_ 119 }; 120 121 /* USI: UART_DEBUG_0 pins */ 122 uart0_pins: uart0-pins { 123 samsung,pins = "gpq0-0", "gpq0 124 samsung,pin-function = <EXYNOS 125 samsung,pin-pud = <EXYNOS_PIN_ 126 }; 127 128 /* USI: UART_DEBUG_1 pins */ 129 uart1_pins: uart1-pins { 130 samsung,pins = "gpa3-7", "gpa4 131 samsung,pin-function = <EXYNOS 132 samsung,pin-pud = <EXYNOS_PIN_ 133 }; 134 }; 135 136 &pinctrl_cmgp { 137 gpm0: gpm0-gpio-bank { 138 gpio-controller; 139 #gpio-cells = <2>; 140 141 interrupt-controller; 142 #interrupt-cells = <2>; 143 interrupt-parent = <&gic>; 144 interrupts = <GIC_SPI 39 IRQ_T 145 }; 146 147 gpm1: gpm1-gpio-bank { 148 gpio-controller; 149 #gpio-cells = <2>; 150 151 interrupt-controller; 152 #interrupt-cells = <2>; 153 interrupt-parent = <&gic>; 154 interrupts = <GIC_SPI 40 IRQ_T 155 }; 156 157 gpm2: gpm2-gpio-bank { 158 gpio-controller; 159 #gpio-cells = <2>; 160 161 interrupt-controller; 162 #interrupt-cells = <2>; 163 interrupt-parent = <&gic>; 164 interrupts = <GIC_SPI 41 IRQ_T 165 }; 166 167 gpm3: gpm3-gpio-bank { 168 gpio-controller; 169 #gpio-cells = <2>; 170 171 interrupt-controller; 172 #interrupt-cells = <2>; 173 interrupt-parent = <&gic>; 174 interrupts = <GIC_SPI 42 IRQ_T 175 }; 176 177 gpm4: gpm4-gpio-bank { 178 gpio-controller; 179 #gpio-cells = <2>; 180 181 interrupt-controller; 182 #interrupt-cells = <2>; 183 interrupt-parent = <&gic>; 184 interrupts = <GIC_SPI 43 IRQ_T 185 }; 186 187 gpm5: gpm5-gpio-bank { 188 gpio-controller; 189 #gpio-cells = <2>; 190 191 interrupt-controller; 192 #interrupt-cells = <2>; 193 interrupt-parent = <&gic>; 194 interrupts = <GIC_SPI 44 IRQ_T 195 }; 196 197 gpm6: gpm6-gpio-bank { 198 gpio-controller; 199 #gpio-cells = <2>; 200 201 interrupt-controller; 202 #interrupt-cells = <2>; 203 interrupt-parent = <&gic>; 204 interrupts = <GIC_SPI 45 IRQ_T 205 }; 206 207 gpm7: gpm7-gpio-bank { 208 gpio-controller; 209 #gpio-cells = <2>; 210 211 interrupt-controller; 212 #interrupt-cells = <2>; 213 interrupt-parent = <&gic>; 214 interrupts = <GIC_SPI 46 IRQ_T 215 }; 216 217 /* USI_CMGP0: HSI2C function */ 218 hsi2c3_pins: hsi2c3-pins { 219 samsung,pins = "gpm0-0", "gpm1 220 samsung,pin-function = <EXYNOS 221 samsung,pin-pud = <EXYNOS_PIN_ 222 samsung,pin-drv = <EXYNOS5420_ 223 }; 224 225 /* USI_CMGP0: UART function (4 pins, A 226 uart1_single_pins: uart1-single-pins { 227 samsung,pins = "gpm0-0", "gpm1 228 samsung,pin-function = <EXYNOS 229 samsung,pin-pud = <EXYNOS_PIN_ 230 }; 231 232 /* USI_CMGP0: UART function (2 pins, N 233 uart1_dual_pins: uart1-dual-pins { 234 samsung,pins = "gpm0-0", "gpm1 235 samsung,pin-function = <EXYNOS 236 samsung,pin-pud = <EXYNOS_PIN_ 237 }; 238 239 /* USI_CMGP0: SPI function */ 240 spi1_pins: spi1-pins { 241 samsung,pins = "gpm0-0", "gpm1 242 samsung,pin-function = <EXYNOS 243 samsung,pin-pud = <EXYNOS_PIN_ 244 samsung,pin-drv = <EXYNOS5420_ 245 }; 246 247 /* USI_CMGP1: HSI2C function */ 248 hsi2c4_pins: hsi2c4-pins { 249 samsung,pins = "gpm4-0", "gpm5 250 samsung,pin-function = <EXYNOS 251 samsung,pin-pud = <EXYNOS_PIN_ 252 samsung,pin-drv = <EXYNOS5420_ 253 }; 254 255 /* USI_CMGP1: UART function (4 pins, A 256 uart2_single_pins: uart2-single-pins { 257 samsung,pins = "gpm4-0", "gpm5 258 samsung,pin-function = <EXYNOS 259 samsung,pin-pud = <EXYNOS_PIN_ 260 }; 261 262 /* USI_CMGP1: UART function (2 pins, N 263 uart2_dual_pins: uart2-dual-pins { 264 samsung,pins = "gpm4-0", "gpm5 265 samsung,pin-function = <EXYNOS 266 samsung,pin-pud = <EXYNOS_PIN_ 267 }; 268 269 /* USI_CMGP1: SPI function */ 270 spi2_pins: spi2-pins { 271 samsung,pins = "gpm4-0", "gpm5 272 samsung,pin-function = <EXYNOS 273 samsung,pin-pud = <EXYNOS_PIN_ 274 samsung,pin-drv = <EXYNOS5420_ 275 }; 276 }; 277 278 &pinctrl_aud { 279 gpb0: gpb0-gpio-bank { 280 gpio-controller; 281 #gpio-cells = <2>; 282 283 interrupt-controller; 284 #interrupt-cells = <2>; 285 }; 286 287 gpb1: gpb1-gpio-bank { 288 gpio-controller; 289 #gpio-cells = <2>; 290 291 interrupt-controller; 292 #interrupt-cells = <2>; 293 }; 294 295 aud_codec_mclk_pins: aud-codec-mclk-pi 296 samsung,pins = "gpb0-0"; 297 samsung,pin-function = <EXYNOS 298 samsung,pin-pud = <EXYNOS_PIN_ 299 }; 300 301 aud_codec_mclk_idle_pins: aud-codec-mc 302 samsung,pins = "gpb0-0"; 303 samsung,pin-function = <EXYNOS 304 samsung,pin-pud = <EXYNOS_PIN_ 305 }; 306 307 aud_i2s0_pins: aud-i2s0-pins { 308 samsung,pins = "gpb0-1", "gpb0 309 samsung,pin-function = <EXYNOS 310 samsung,pin-pud = <EXYNOS_PIN_ 311 }; 312 313 aud_i2s0_idle_pins: aud-i2s0-idle-pins 314 samsung,pins = "gpb0-1", "gpb0 315 samsung,pin-function = <EXYNOS 316 samsung,pin-pud = <EXYNOS_PIN_ 317 }; 318 319 aud_i2s1_pins: aud-i2s1-pins { 320 samsung,pins = "gpb1-0", "gpb1 321 samsung,pin-function = <EXYNOS 322 samsung,pin-pud = <EXYNOS_PIN_ 323 }; 324 325 aud_i2s1_idle_pins: aud-i2s1-idle-pins 326 samsung,pins = "gpb1-0", "gpb1 327 samsung,pin-function = <EXYNOS 328 samsung,pin-pud = <EXYNOS_PIN_ 329 }; 330 331 aud_fm_pins: aud-fm-pins { 332 samsung,pins = "gpb1-4"; 333 samsung,pin-function = <EXYNOS 334 samsung,pin-pud = <EXYNOS_PIN_ 335 }; 336 337 aud_fm_idle_pins: aud-fm-idle-pins { 338 samsung,pins = "gpb1-4"; 339 samsung,pin-function = <EXYNOS 340 samsung,pin-pud = <EXYNOS_PIN_ 341 }; 342 }; 343 344 &pinctrl_hsi { 345 gpf2: gpf2-gpio-bank { 346 gpio-controller; 347 #gpio-cells = <2>; 348 349 interrupt-controller; 350 #interrupt-cells = <2>; 351 }; 352 353 sd2_clk_pins: sd2-clk-pins { 354 samsung,pins = "gpf2-0"; 355 samsung,pin-function = <EXYNOS 356 samsung,pin-pud = <EXYNOS_PIN_ 357 samsung,pin-drv = <EXYNOS850_H 358 }; 359 360 sd2_cmd_pins: sd2-cmd-pins { 361 samsung,pins = "gpf2-1"; 362 samsung,pin-function = <EXYNOS 363 samsung,pin-pud = <EXYNOS_PIN_ 364 samsung,pin-drv = <EXYNOS850_H 365 }; 366 367 sd2_bus1_pins: sd2-bus1-pins { 368 samsung,pins = "gpf2-2"; 369 samsung,pin-function = <EXYNOS 370 samsung,pin-pud = <EXYNOS_PIN_ 371 samsung,pin-drv = <EXYNOS850_H 372 }; 373 374 sd2_bus4_pins: sd2-bus4-pins { 375 samsung,pins = "gpf2-3", "gpf2 376 samsung,pin-function = <EXYNOS 377 samsung,pin-pud = <EXYNOS_PIN_ 378 samsung,pin-drv = <EXYNOS850_H 379 }; 380 381 sd2_pdn_pins: sd2-pdn-pins { 382 samsung,pins = "gpf2-0", "gpf2 383 "gpf2-4", "gpf2 384 samsung,pin-function = <EXYNOS 385 samsung,pin-pud = <EXYNOS_PIN_ 386 }; 387 }; 388 389 &pinctrl_core { 390 gpf0: gpf0-gpio-bank { 391 gpio-controller; 392 #gpio-cells = <2>; 393 394 interrupt-controller; 395 #interrupt-cells = <2>; 396 }; 397 398 gpf1: gpf1-gpio-bank { 399 gpio-controller; 400 #gpio-cells = <2>; 401 402 interrupt-controller; 403 #interrupt-cells = <2>; 404 }; 405 406 sd0_clk_pins: sd0-clk-pins { 407 samsung,pins = "gpf0-0"; 408 samsung,pin-function = <EXYNOS 409 samsung,pin-pud = <EXYNOS_PIN_ 410 samsung,pin-drv = <EXYNOS5420_ 411 }; 412 413 sd0_cmd_pins: sd0-cmd-pins { 414 samsung,pins = "gpf0-1"; 415 samsung,pin-function = <EXYNOS 416 samsung,pin-pud = <EXYNOS_PIN_ 417 samsung,pin-drv = <EXYNOS5420_ 418 }; 419 420 sd0_rdqs_pins: sd0-rdqs-pins { 421 samsung,pins = "gpf0-2"; 422 samsung,pin-function = <EXYNOS 423 samsung,pin-pud = <EXYNOS_PIN_ 424 samsung,pin-drv = <EXYNOS5420_ 425 }; 426 427 sd0_nreset_pins: sd0-nreset-pins { 428 samsung,pins = "gpf0-3"; 429 samsung,pin-function = <EXYNOS 430 samsung,pin-pud = <EXYNOS_PIN_ 431 samsung,pin-drv = <EXYNOS5420_ 432 }; 433 434 sd0_bus1_pins: sd0-bus1-pins { 435 samsung,pins = "gpf1-0"; 436 samsung,pin-function = <EXYNOS 437 samsung,pin-pud = <EXYNOS_PIN_ 438 samsung,pin-drv = <EXYNOS5420_ 439 }; 440 441 sd0_bus4_pins: sd0-bus4-pins { 442 samsung,pins = "gpf1-1", "gpf1 443 samsung,pin-function = <EXYNOS 444 samsung,pin-pud = <EXYNOS_PIN_ 445 samsung,pin-drv = <EXYNOS5420_ 446 }; 447 448 sd0_bus8_pins: sd0-bus8-pins { 449 samsung,pins = "gpf1-4", "gpf1 450 samsung,pin-function = <EXYNOS 451 samsung,pin-pud = <EXYNOS_PIN_ 452 samsung,pin-drv = <EXYNOS5420_ 453 }; 454 }; 455 456 &pinctrl_peri { 457 gpc0: gpc0-gpio-bank { 458 gpio-controller; 459 #gpio-cells = <2>; 460 461 interrupt-controller; 462 #interrupt-cells = <2>; 463 }; 464 465 gpc1: gpc1-gpio-bank { 466 gpio-controller; 467 #gpio-cells = <2>; 468 469 interrupt-controller; 470 #interrupt-cells = <2>; 471 }; 472 473 gpg0: gpg0-gpio-bank { 474 gpio-controller; 475 #gpio-cells = <2>; 476 477 interrupt-controller; 478 #interrupt-cells = <2>; 479 }; 480 481 gpg1: gpg1-gpio-bank { 482 gpio-controller; 483 #gpio-cells = <2>; 484 485 interrupt-controller; 486 #interrupt-cells = <2>; 487 }; 488 489 gpg2: gpg2-gpio-bank { 490 gpio-controller; 491 #gpio-cells = <2>; 492 493 interrupt-controller; 494 #interrupt-cells = <2>; 495 }; 496 497 gpg3: gpg3-gpio-bank { 498 gpio-controller; 499 #gpio-cells = <2>; 500 501 interrupt-controller; 502 #interrupt-cells = <2>; 503 }; 504 505 gpp0: gpp0-gpio-bank { 506 gpio-controller; 507 #gpio-cells = <2>; 508 509 interrupt-controller; 510 #interrupt-cells = <2>; 511 }; 512 gpp1: gpp1-gpio-bank { 513 gpio-controller; 514 #gpio-cells = <2>; 515 516 interrupt-controller; 517 #interrupt-cells = <2>; 518 }; 519 520 gpp2: gpp2-gpio-bank { 521 gpio-controller; 522 #gpio-cells = <2>; 523 524 interrupt-controller; 525 #interrupt-cells = <2>; 526 }; 527 528 sensor_mclk0_in_pins: sensor-mclk0-in- 529 samsung,pins = "gpc0-0"; 530 samsung,pin-function = <EXYNOS 531 samsung,pin-pud = <EXYNOS_PIN_ 532 samsung,pin-drv = <EXYNOS5420_ 533 }; 534 535 sensor_mclk0_out_pins: sensor-mclk0-ou 536 samsung,pins = "gpc0-0"; 537 samsung,pin-function = <EXYNOS 538 samsung,pin-pud = <EXYNOS_PIN_ 539 samsung,pin-drv = <EXYNOS5420_ 540 }; 541 542 sensor_mclk0_fn_pins: sensor-mclk0-fn- 543 samsung,pins = "gpc0-0"; 544 samsung,pin-function = <EXYNOS 545 samsung,pin-pud = <EXYNOS_PIN_ 546 samsung,pin-drv = <EXYNOS5420_ 547 }; 548 549 sensor_mclk1_in_pins: sensor-mclk1-in- 550 samsung,pins = "gpc0-1"; 551 samsung,pin-function = <EXYNOS 552 samsung,pin-pud = <EXYNOS_PIN_ 553 samsung,pin-drv = <EXYNOS5420_ 554 }; 555 556 sensor_mclk1_out_pins: sensor-mclk1-ou 557 samsung,pins = "gpc0-1"; 558 samsung,pin-function = <EXYNOS 559 samsung,pin-pud = <EXYNOS_PIN_ 560 samsung,pin-drv = <EXYNOS5420_ 561 }; 562 563 sensor_mclk1_fn_pins: sensor-mclk1-fn- 564 samsung,pins = "gpc0-1"; 565 samsung,pin-function = <EXYNOS 566 samsung,pin-pud = <EXYNOS_PIN_ 567 samsung,pin-drv = <EXYNOS5420_ 568 }; 569 570 sensor_mclk2_in_pins: sensor-mclk2-in- 571 samsung,pins = "gpc0-2"; 572 samsung,pin-function = <EXYNOS 573 samsung,pin-pud = <EXYNOS_PIN_ 574 samsung,pin-drv = <EXYNOS5420_ 575 }; 576 577 sensor_mclk2_out_pins: sensor-mclk2-ou 578 samsung,pins = "gpc0-2"; 579 samsung,pin-function = <EXYNOS 580 samsung,pin-pud = <EXYNOS_PIN_ 581 samsung,pin-drv = <EXYNOS5420_ 582 }; 583 584 sensor_mclk2_fn_pins: sensor-mclk2-fn- 585 samsung,pins = "gpc0-2"; 586 samsung,pin-function = <EXYNOS 587 samsung,pin-pud = <EXYNOS_PIN_ 588 samsung,pin-drv = <EXYNOS5420_ 589 }; 590 591 /* USI: HSI2C0 */ 592 hsi2c0_pins: hsi2c0-pins { 593 samsung,pins = "gpc1-0", "gpc1 594 samsung,pin-function = <EXYNOS 595 samsung,pin-pud = <EXYNOS_PIN_ 596 samsung,pin-drv = <EXYNOS5420_ 597 }; 598 599 /* USI: HSI2C1 */ 600 hsi2c1_pins: hsi2c1-pins { 601 samsung,pins = "gpc1-2", "gpc1 602 samsung,pin-function = <EXYNOS 603 samsung,pin-pud = <EXYNOS_PIN_ 604 samsung,pin-drv = <EXYNOS5420_ 605 }; 606 607 /* USI: HSI2C2 */ 608 hsi2c2_pins: hsi2c2-pins { 609 samsung,pins = "gpc1-4", "gpc1 610 samsung,pin-function = <EXYNOS 611 samsung,pin-pud = <EXYNOS_PIN_ 612 samsung,pin-drv = <EXYNOS5420_ 613 }; 614 615 /* USI: SPI */ 616 spi0_pins: spi0-pins { 617 samsung,pins = "gpp2-0", "gpp2 618 samsung,pin-function = <EXYNOS 619 samsung,pin-pud = <EXYNOS_PIN_ 620 samsung,pin-drv = <EXYNOS5420_ 621 }; 622 623 i2c0_pins: i2c0-pins { 624 samsung,pins = "gpp0-0", "gpp0 625 samsung,pin-function = <EXYNOS 626 samsung,pin-pud = <EXYNOS_PIN_ 627 samsung,pin-drv = <EXYNOS5420_ 628 }; 629 630 i2c1_pins: i2c1-pins { 631 samsung,pins = "gpp0-2", "gpp0 632 samsung,pin-function = <EXYNOS 633 samsung,pin-pud = <EXYNOS_PIN_ 634 samsung,pin-drv = <EXYNOS5420_ 635 }; 636 637 i2c2_pins: i2c2-pins { 638 samsung,pins = "gpp0-4", "gpp0 639 samsung,pin-function = <EXYNOS 640 samsung,pin-pud = <EXYNOS_PIN_ 641 samsung,pin-drv = <EXYNOS5420_ 642 }; 643 644 i2c3_pins: i2c3-pins { 645 samsung,pins = "gpp1-0", "gpp1 646 samsung,pin-function = <EXYNOS 647 samsung,pin-pud = <EXYNOS_PIN_ 648 samsung,pin-drv = <EXYNOS5420_ 649 }; 650 651 i2c4_pins: i2c4-pins { 652 samsung,pins = "gpp1-2", "gpp1 653 samsung,pin-function = <EXYNOS 654 samsung,pin-pud = <EXYNOS_PIN_ 655 samsung,pin-drv = <EXYNOS5420_ 656 }; 657 658 xclkout_pins: xclkout-pins { 659 samsung,pins = "gpq0-2"; 660 samsung,pin-function = <EXYNOS 661 samsung,pin-pud = <EXYNOS_PIN_ 662 }; 663 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.