1/* 2 * Samsung's S3C64xx SoC series common device tree source 3 * - pin control-related definitions 4 * 5 * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com> 6 * 7 * Samsung's S3C64xx SoCs pin banks, pin-mux and pin-config options are 8 * listed as device tree nodes in this file. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License version 2 as 12 * published by the Free Software Foundation. 13 */ 14 15#define PIN_PULL_NONE 0 16#define PIN_PULL_DOWN 1 17#define PIN_PULL_UP 2 18 19&pinctrl0 { 20 /* 21 * Pin banks 22 */ 23 24 gpa: gpa { 25 gpio-controller; 26 #gpio-cells = <2>; 27 interrupt-controller; 28 #interrupt-cells = <2>; 29 }; 30 31 gpb: gpb { 32 gpio-controller; 33 #gpio-cells = <2>; 34 interrupt-controller; 35 #interrupt-cells = <2>; 36 }; 37 38 gpc: gpc { 39 gpio-controller; 40 #gpio-cells = <2>; 41 interrupt-controller; 42 #interrupt-cells = <2>; 43 }; 44 45 gpd: gpd { 46 gpio-controller; 47 #gpio-cells = <2>; 48 interrupt-controller; 49 #interrupt-cells = <2>; 50 }; 51 52 gpe: gpe { 53 gpio-controller; 54 #gpio-cells = <2>; 55 }; 56 57 gpf: gpf { 58 gpio-controller; 59 #gpio-cells = <2>; 60 interrupt-controller; 61 #interrupt-cells = <2>; 62 }; 63 64 gpg: gpg { 65 gpio-controller; 66 #gpio-cells = <2>; 67 interrupt-controller; 68 #interrupt-cells = <2>; 69 }; 70 71 gph: gph { 72 gpio-controller; 73 #gpio-cells = <2>; 74 interrupt-controller; 75 #interrupt-cells = <2>; 76 }; 77 78 gpi: gpi { 79 gpio-controller; 80 #gpio-cells = <2>; 81 }; 82 83 gpj: gpj { 84 gpio-controller; 85 #gpio-cells = <2>; 86 }; 87 88 gpk: gpk { 89 gpio-controller; 90 #gpio-cells = <2>; 91 }; 92 93 gpl: gpl { 94 gpio-controller; 95 #gpio-cells = <2>; 96 interrupt-controller; 97 #interrupt-cells = <2>; 98 }; 99 100 gpm: gpm { 101 gpio-controller; 102 #gpio-cells = <2>; 103 interrupt-controller; 104 #interrupt-cells = <2>; 105 }; 106 107 gpn: gpn { 108 gpio-controller; 109 #gpio-cells = <2>; 110 interrupt-controller; 111 #interrupt-cells = <2>; 112 }; 113 114 gpo: gpo { 115 gpio-controller; 116 #gpio-cells = <2>; 117 interrupt-controller; 118 #interrupt-cells = <2>; 119 }; 120 121 gpp: gpp { 122 gpio-controller; 123 #gpio-cells = <2>; 124 interrupt-controller; 125 #interrupt-cells = <2>; 126 }; 127 128 gpq: gpq { 129 gpio-controller; 130 #gpio-cells = <2>; 131 interrupt-controller; 132 #interrupt-cells = <2>; 133 }; 134 135 /* 136 * Pin groups 137 */ 138 139 uart0_data: uart0-data { 140 samsung,pins = "gpa-0", "gpa-1"; 141 samsung,pin-function = <2>; 142 samsung,pin-pud = <PIN_PULL_NONE>; 143 }; 144 145 uart0_fctl: uart0-fctl { 146 samsung,pins = "gpa-2", "gpa-3"; 147 samsung,pin-function = <2>; 148 samsung,pin-pud = <PIN_PULL_NONE>; 149 }; 150 151 uart1_data: uart1-data { 152 samsung,pins = "gpa-4", "gpa-5"; 153 samsung,pin-function = <2>; 154 samsung,pin-pud = <PIN_PULL_NONE>; 155 }; 156 157 uart1_fctl: uart1-fctl { 158 samsung,pins = "gpa-6", "gpa-7"; 159 samsung,pin-function = <2>; 160 samsung,pin-pud = <PIN_PULL_NONE>; 161 }; 162 163 uart2_data: uart2-data { 164 samsung,pins = "gpb-0", "gpb-1"; 165 samsung,pin-function = <2>; 166 samsung,pin-pud = <PIN_PULL_NONE>; 167 }; 168 169 uart3_data: uart3-data { 170 samsung,pins = "gpb-2", "gpb-3"; 171 samsung,pin-function = <2>; 172 samsung,pin-pud = <PIN_PULL_NONE>; 173 }; 174 175 ext_dma_0: ext-dma-0 { 176 samsung,pins = "gpb-0", "gpb-1"; 177 samsung,pin-function = <3>; 178 samsung,pin-pud = <PIN_PULL_NONE>; 179 }; 180 181 ext_dma_1: ext-dma-1 { 182 samsung,pins = "gpb-2", "gpb-3"; 183 samsung,pin-function = <4>; 184 samsung,pin-pud = <PIN_PULL_NONE>; 185 }; 186 187 irda_data_0: irda-data-0 { 188 samsung,pins = "gpb-0", "gpb-1"; 189 samsung,pin-function = <4>; 190 samsung,pin-pud = <PIN_PULL_NONE>; 191 }; 192 193 irda_data_1: irda-data-1 { 194 samsung,pins = "gpb-2", "gpb-3"; 195 samsung,pin-function = <3>; 196 samsung,pin-pud = <PIN_PULL_NONE>; 197 }; 198 199 irda_sdbw: irda-sdbw { 200 samsung,pins = "gpb-4"; 201 samsung,pin-function = <2>; 202 samsung,pin-pud = <PIN_PULL_NONE>; 203 }; 204 205 i2c0_bus: i2c0-bus { 206 samsung,pins = "gpb-5", "gpb-6"; 207 samsung,pin-function = <2>; 208 samsung,pin-pud = <PIN_PULL_UP>; 209 }; 210 211 i2c1_bus: i2c1-bus { 212 /* S3C6410-only */ 213 samsung,pins = "gpb-2", "gpb-3"; 214 samsung,pin-function = <6>; 215 samsung,pin-pud = <PIN_PULL_UP>; 216 }; 217 218 spi0_bus: spi0-bus { 219 samsung,pins = "gpc-0", "gpc-1", "gpc-2"; 220 samsung,pin-function = <2>; 221 samsung,pin-pud = <PIN_PULL_UP>; 222 }; 223 224 spi0_cs: spi0-cs { 225 samsung,pins = "gpc-3"; 226 samsung,pin-function = <2>; 227 samsung,pin-pud = <PIN_PULL_NONE>; 228 }; 229 230 spi1_bus: spi1-bus { 231 samsung,pins = "gpc-4", "gpc-5", "gpc-6"; 232 samsung,pin-function = <2>; 233 samsung,pin-pud = <PIN_PULL_UP>; 234 }; 235 236 spi1_cs: spi1-cs { 237 samsung,pins = "gpc-7"; 238 samsung,pin-function = <2>; 239 samsung,pin-pud = <PIN_PULL_NONE>; 240 }; 241 242 sd0_cmd: sd0-cmd { 243 samsung,pins = "gpg-1"; 244 samsung,pin-function = <2>; 245 samsung,pin-pud = <PIN_PULL_NONE>; 246 }; 247 248 sd0_clk: sd0-clk { 249 samsung,pins = "gpg-0"; 250 samsung,pin-function = <2>; 251 samsung,pin-pud = <PIN_PULL_NONE>; 252 }; 253 254 sd0_bus1: sd0-bus1 { 255 samsung,pins = "gpg-2"; 256 samsung,pin-function = <2>; 257 samsung,pin-pud = <PIN_PULL_NONE>; 258 }; 259 260 sd0_bus4: sd0-bus4 { 261 samsung,pins = "gpg-2", "gpg-3", "gpg-4", "gpg-5"; 262 samsung,pin-function = <2>; 263 samsung,pin-pud = <PIN_PULL_NONE>; 264 }; 265 266 sd0_cd: sd0-cd { 267 samsung,pins = "gpg-6"; 268 samsung,pin-function = <2>; 269 samsung,pin-pud = <PIN_PULL_UP>; 270 }; 271 272 sd1_cmd: sd1-cmd { 273 samsung,pins = "gph-1"; 274 samsung,pin-function = <2>; 275 samsung,pin-pud = <PIN_PULL_NONE>; 276 }; 277 278 sd1_clk: sd1-clk { 279 samsung,pins = "gph-0"; 280 samsung,pin-function = <2>; 281 samsung,pin-pud = <PIN_PULL_NONE>; 282 }; 283 284 sd1_bus1: sd1-bus1 { 285 samsung,pins = "gph-2"; 286 samsung,pin-function = <2>; 287 samsung,pin-pud = <PIN_PULL_NONE>; 288 }; 289 290 sd1_bus4: sd1-bus4 { 291 samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5"; 292 samsung,pin-function = <2>; 293 samsung,pin-pud = <PIN_PULL_NONE>; 294 }; 295 296 sd1_bus8: sd1-bus8 { 297 samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5", 298 "gph-6", "gph-7", "gph-8", "gph-9"; 299 samsung,pin-function = <2>; 300 samsung,pin-pud = <PIN_PULL_NONE>; 301 }; 302 303 sd1_cd: sd1-cd { 304 samsung,pins = "gpg-6"; 305 samsung,pin-function = <3>; 306 samsung,pin-pud = <PIN_PULL_UP>; 307 }; 308 309 sd2_cmd: sd2-cmd { 310 samsung,pins = "gpc-4"; 311 samsung,pin-function = <3>; 312 samsung,pin-pud = <PIN_PULL_NONE>; 313 }; 314 315 sd2_clk: sd2-clk { 316 samsung,pins = "gpc-5"; 317 samsung,pin-function = <3>; 318 samsung,pin-pud = <PIN_PULL_NONE>; 319 }; 320 321 sd2_bus1: sd2-bus1 { 322 samsung,pins = "gph-6"; 323 samsung,pin-function = <3>; 324 samsung,pin-pud = <PIN_PULL_NONE>; 325 }; 326 327 sd2_bus4: sd2-bus4 { 328 samsung,pins = "gph-6", "gph-7", "gph-8", "gph-9"; 329 samsung,pin-function = <3>; 330 samsung,pin-pud = <PIN_PULL_NONE>; 331 }; 332 333 i2s0_bus: i2s0-bus { 334 samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4"; 335 samsung,pin-function = <3>; 336 samsung,pin-pud = <PIN_PULL_NONE>; 337 }; 338 339 i2s0_cdclk: i2s0-cdclk { 340 samsung,pins = "gpd-1"; 341 samsung,pin-function = <3>; 342 samsung,pin-pud = <PIN_PULL_NONE>; 343 }; 344 345 i2s1_bus: i2s1-bus { 346 samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4"; 347 samsung,pin-function = <3>; 348 samsung,pin-pud = <PIN_PULL_NONE>; 349 }; 350 351 i2s1_cdclk: i2s1-cdclk { 352 samsung,pins = "gpe-1"; 353 samsung,pin-function = <3>; 354 samsung,pin-pud = <PIN_PULL_NONE>; 355 }; 356 357 i2s2_bus: i2s2-bus { 358 /* S3C6410-only */ 359 samsung,pins = "gpc-4", "gpc-5", "gpc-6", "gph-6", 360 "gph-8", "gph-9"; 361 samsung,pin-function = <5>; 362 samsung,pin-pud = <PIN_PULL_NONE>; 363 }; 364 365 i2s2_cdclk: i2s2-cdclk { 366 /* S3C6410-only */ 367 samsung,pins = "gph-7"; 368 samsung,pin-function = <5>; 369 samsung,pin-pud = <PIN_PULL_NONE>; 370 }; 371 372 pcm0_bus: pcm0-bus { 373 samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4"; 374 samsung,pin-function = <2>; 375 samsung,pin-pud = <PIN_PULL_NONE>; 376 }; 377 378 pcm0_extclk: pcm0-extclk { 379 samsung,pins = "gpd-1"; 380 samsung,pin-function = <2>; 381 samsung,pin-pud = <PIN_PULL_NONE>; 382 }; 383 384 pcm1_bus: pcm1-bus { 385 samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4"; 386 samsung,pin-function = <2>; 387 samsung,pin-pud = <PIN_PULL_NONE>; 388 }; 389 390 pcm1_extclk: pcm1-extclk { 391 samsung,pins = "gpe-1"; 392 samsung,pin-function = <2>; 393 samsung,pin-pud = <PIN_PULL_NONE>; 394 }; 395 396 ac97_bus_0: ac97-bus-0 { 397 samsung,pins = "gpd-0", "gpd-1", "gpd-2", "gpd-3", "gpd-4"; 398 samsung,pin-function = <4>; 399 samsung,pin-pud = <PIN_PULL_NONE>; 400 }; 401 402 ac97_bus_1: ac97-bus-1 { 403 samsung,pins = "gpe-0", "gpe-1", "gpe-2", "gpe-3", "gpe-4"; 404 samsung,pin-function = <4>; 405 samsung,pin-pud = <PIN_PULL_NONE>; 406 }; 407 408 cam_port: cam-port { 409 samsung,pins = "gpf-0", "gpf-1", "gpf-2", "gpf-4", 410 "gpf-5", "gpf-6", "gpf-7", "gpf-8", 411 "gpf-9", "gpf-10", "gpf-11", "gpf-12"; 412 samsung,pin-function = <2>; 413 samsung,pin-pud = <PIN_PULL_NONE>; 414 }; 415 416 cam_rst: cam-rst { 417 samsung,pins = "gpf-3"; 418 samsung,pin-function = <2>; 419 samsung,pin-pud = <PIN_PULL_NONE>; 420 }; 421 422 cam_field: cam-field { 423 /* S3C6410-only */ 424 samsung,pins = "gpb-4"; 425 samsung,pin-function = <3>; 426 samsung,pin-pud = <PIN_PULL_NONE>; 427 }; 428 429 pwm_extclk: pwm-extclk { 430 samsung,pins = "gpf-13"; 431 samsung,pin-function = <2>; 432 samsung,pin-pud = <PIN_PULL_NONE>; 433 }; 434 435 pwm0_out: pwm0-out { 436 samsung,pins = "gpf-14"; 437 samsung,pin-function = <2>; 438 samsung,pin-pud = <PIN_PULL_NONE>; 439 }; 440 441 pwm1_out: pwm1-out { 442 samsung,pins = "gpf-15"; 443 samsung,pin-function = <2>; 444 samsung,pin-pud = <PIN_PULL_NONE>; 445 }; 446 447 clkout0: clkout-0 { 448 samsung,pins = "gpf-14"; 449 samsung,pin-function = <3>; 450 samsung,pin-pud = <PIN_PULL_NONE>; 451 }; 452 453 keypad_col0_0: keypad-col0-0 { 454 samsung,pins = "gph-0"; 455 samsung,pin-function = <4>; 456 samsung,pin-pud = <PIN_PULL_NONE>; 457 }; 458 459 keypad_col1_0: keypad-col1-0 { 460 samsung,pins = "gph-1"; 461 samsung,pin-function = <4>; 462 samsung,pin-pud = <PIN_PULL_NONE>; 463 }; 464 465 keypad_col2_0: keypad-col2-0 { 466 samsung,pins = "gph-2"; 467 samsung,pin-function = <4>; 468 samsung,pin-pud = <PIN_PULL_NONE>; 469 }; 470 471 keypad_col3_0: keypad-col3-0 { 472 samsung,pins = "gph-3"; 473 samsung,pin-function = <4>; 474 samsung,pin-pud = <PIN_PULL_NONE>; 475 }; 476 477 keypad_col4_0: keypad-col4-0 { 478 samsung,pins = "gph-4"; 479 samsung,pin-function = <4>; 480 samsung,pin-pud = <PIN_PULL_NONE>; 481 }; 482 483 keypad_col5_0: keypad-col5-0 { 484 samsung,pins = "gph-5"; 485 samsung,pin-function = <4>; 486 samsung,pin-pud = <PIN_PULL_NONE>; 487 }; 488 489 keypad_col6_0: keypad-col6-0 { 490 samsung,pins = "gph-6"; 491 samsung,pin-function = <4>; 492 samsung,pin-pud = <PIN_PULL_NONE>; 493 }; 494 495 keypad_col7_0: keypad-col7-0 { 496 samsung,pins = "gph-7"; 497 samsung,pin-function = <4>; 498 samsung,pin-pud = <PIN_PULL_NONE>; 499 }; 500 501 keypad_col0_1: keypad-col0-1 { 502 samsung,pins = "gpl-0"; 503 samsung,pin-function = <3>; 504 samsung,pin-pud = <PIN_PULL_NONE>; 505 }; 506 507 keypad_col1_1: keypad-col1-1 { 508 samsung,pins = "gpl-1"; 509 samsung,pin-function = <3>; 510 samsung,pin-pud = <PIN_PULL_NONE>; 511 }; 512 513 keypad_col2_1: keypad-col2-1 { 514 samsung,pins = "gpl-2"; 515 samsung,pin-function = <3>; 516 samsung,pin-pud = <PIN_PULL_NONE>; 517 }; 518 519 keypad_col3_1: keypad-col3-1 { 520 samsung,pins = "gpl-3"; 521 samsung,pin-function = <3>; 522 samsung,pin-pud = <PIN_PULL_NONE>; 523 }; 524 525 keypad_col4_1: keypad-col4-1 { 526 samsung,pins = "gpl-4"; 527 samsung,pin-function = <3>; 528 samsung,pin-pud = <PIN_PULL_NONE>; 529 }; 530 531 keypad_col5_1: keypad-col5-1 { 532 samsung,pins = "gpl-5"; 533 samsung,pin-function = <3>; 534 samsung,pin-pud = <PIN_PULL_NONE>; 535 }; 536 537 keypad_col6_1: keypad-col6-1 { 538 samsung,pins = "gpl-6"; 539 samsung,pin-function = <3>; 540 samsung,pin-pud = <PIN_PULL_NONE>; 541 }; 542 543 keypad_col7_1: keypad-col7-1 { 544 samsung,pins = "gpl-7"; 545 samsung,pin-function = <3>; 546 samsung,pin-pud = <PIN_PULL_NONE>; 547 }; 548 549 keypad_row0_0: keypad-row0-0 { 550 samsung,pins = "gpk-8"; 551 samsung,pin-function = <3>; 552 samsung,pin-pud = <PIN_PULL_NONE>; 553 }; 554 555 keypad_row1_0: keypad-row1-0 { 556 samsung,pins = "gpk-9"; 557 samsung,pin-function = <3>; 558 samsung,pin-pud = <PIN_PULL_NONE>; 559 }; 560 561 keypad_row2_0: keypad-row2-0 { 562 samsung,pins = "gpk-10"; 563 samsung,pin-function = <3>; 564 samsung,pin-pud = <PIN_PULL_NONE>; 565 }; 566 567 keypad_row3_0: keypad-row3-0 { 568 samsung,pins = "gpk-11"; 569 samsung,pin-function = <3>; 570 samsung,pin-pud = <PIN_PULL_NONE>; 571 }; 572 573 keypad_row4_0: keypad-row4-0 { 574 samsung,pins = "gpk-12"; 575 samsung,pin-function = <3>; 576 samsung,pin-pud = <PIN_PULL_NONE>; 577 }; 578 579 keypad_row5_0: keypad-row5-0 { 580 samsung,pins = "gpk-13"; 581 samsung,pin-function = <3>; 582 samsung,pin-pud = <PIN_PULL_NONE>; 583 }; 584 585 keypad_row6_0: keypad-row6-0 { 586 samsung,pins = "gpk-14"; 587 samsung,pin-function = <3>; 588 samsung,pin-pud = <PIN_PULL_NONE>; 589 }; 590 591 keypad_row7_0: keypad-row7-0 { 592 samsung,pins = "gpk-15"; 593 samsung,pin-function = <3>; 594 samsung,pin-pud = <PIN_PULL_NONE>; 595 }; 596 597 keypad_row0_1: keypad-row0-1 { 598 samsung,pins = "gpn-0"; 599 samsung,pin-function = <3>; 600 samsung,pin-pud = <PIN_PULL_NONE>; 601 }; 602 603 keypad_row1_1: keypad-row1-1 { 604 samsung,pins = "gpn-1"; 605 samsung,pin-function = <3>; 606 samsung,pin-pud = <PIN_PULL_NONE>; 607 }; 608 609 keypad_row2_1: keypad-row2-1 { 610 samsung,pins = "gpn-2"; 611 samsung,pin-function = <3>; 612 samsung,pin-pud = <PIN_PULL_NONE>; 613 }; 614 615 keypad_row3_1: keypad-row3-1 { 616 samsung,pins = "gpn-3"; 617 samsung,pin-function = <3>; 618 samsung,pin-pud = <PIN_PULL_NONE>; 619 }; 620 621 keypad_row4_1: keypad-row4-1 { 622 samsung,pins = "gpn-4"; 623 samsung,pin-function = <3>; 624 samsung,pin-pud = <PIN_PULL_NONE>; 625 }; 626 627 keypad_row5_1: keypad-row5-1 { 628 samsung,pins = "gpn-5"; 629 samsung,pin-function = <3>; 630 samsung,pin-pud = <PIN_PULL_NONE>; 631 }; 632 633 keypad_row6_1: keypad-row6-1 { 634 samsung,pins = "gpn-6"; 635 samsung,pin-function = <3>; 636 samsung,pin-pud = <PIN_PULL_NONE>; 637 }; 638 639 keypad_row7_1: keypad-row7-1 { 640 samsung,pins = "gpn-7"; 641 samsung,pin-function = <3>; 642 samsung,pin-pud = <PIN_PULL_NONE>; 643 }; 644 645 lcd_ctrl: lcd-ctrl { 646 samsung,pins = "gpj-8", "gpj-9", "gpj-10", "gpj-11"; 647 samsung,pin-function = <2>; 648 samsung,pin-pud = <PIN_PULL_NONE>; 649 }; 650 651 lcd_data16: lcd-data-width16 { 652 samsung,pins = "gpi-3", "gpi-4", "gpi-5", "gpi-6", 653 "gpi-7", "gpi-10", "gpi-11", "gpi-12", 654 "gpi-13", "gpi-14", "gpi-15", "gpj-3", 655 "gpj-4", "gpj-5", "gpj-6", "gpj-7"; 656 samsung,pin-function = <2>; 657 samsung,pin-pud = <PIN_PULL_NONE>; 658 }; 659 660 lcd_data18: lcd-data-width18 { 661 samsung,pins = "gpi-2", "gpi-3", "gpi-4", "gpi-5", 662 "gpi-6", "gpi-7", "gpi-10", "gpi-11", 663 "gpi-12", "gpi-13", "gpi-14", "gpi-15", 664 "gpj-2", "gpj-3", "gpj-4", "gpj-5", 665 "gpj-6", "gpj-7"; 666 samsung,pin-function = <2>; 667 samsung,pin-pud = <PIN_PULL_NONE>; 668 }; 669 670 lcd_data24: lcd-data-width24 { 671 samsung,pins = "gpi-0", "gpi-1", "gpi-2", "gpi-3", 672 "gpi-4", "gpi-5", "gpi-6", "gpi-7", 673 "gpi-8", "gpi-9", "gpi-10", "gpi-11", 674 "gpi-12", "gpi-13", "gpi-14", "gpi-15", 675 "gpj-0", "gpj-1", "gpj-2", "gpj-3", 676 "gpj-4", "gpj-5", "gpj-6", "gpj-7"; 677 samsung,pin-function = <2>; 678 samsung,pin-pud = <PIN_PULL_NONE>; 679 }; 680 681 hsi_bus: hsi-bus { 682 samsung,pins = "gpk-0", "gpk-1", "gpk-2", "gpk-3", 683 "gpk-4", "gpk-5", "gpk-6", "gpk-7"; 684 samsung,pin-function = <3>; 685 samsung,pin-pud = <PIN_PULL_NONE>; 686 }; 687}; 688