1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source 4 * 5 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com 7 * 8 * Samsung's Exynos3250 SoCs pin-mux and pin-config options are listed as device 9 * tree nodes in this file. 10 */ 11 12#include "exynos-pinctrl.h" 13 14#define PIN_IN(_pin, _pull, _drv) \ 15 pin- ## _pin { \ 16 samsung,pins = #_pin; \ 17 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; \ 18 samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>; \ 19 samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>; \ 20 } 21 22#define PIN_SLP(_pin, _mode, _pull) \ 23 pin- ## _pin { \ 24 samsung,pins = #_pin; \ 25 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>; \ 26 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>; \ 27 } 28 29&pinctrl_0 { 30 gpa0: gpa0-gpio-bank { 31 gpio-controller; 32 #gpio-cells = <2>; 33 34 interrupt-controller; 35 #interrupt-cells = <2>; 36 }; 37 38 gpa1: gpa1-gpio-bank { 39 gpio-controller; 40 #gpio-cells = <2>; 41 42 interrupt-controller; 43 #interrupt-cells = <2>; 44 }; 45 46 gpb: gpb-gpio-bank { 47 gpio-controller; 48 #gpio-cells = <2>; 49 50 interrupt-controller; 51 #interrupt-cells = <2>; 52 }; 53 54 gpc0: gpc0-gpio-bank { 55 gpio-controller; 56 #gpio-cells = <2>; 57 58 interrupt-controller; 59 #interrupt-cells = <2>; 60 }; 61 62 gpc1: gpc1-gpio-bank { 63 gpio-controller; 64 #gpio-cells = <2>; 65 66 interrupt-controller; 67 #interrupt-cells = <2>; 68 }; 69 70 gpd0: gpd0-gpio-bank { 71 gpio-controller; 72 #gpio-cells = <2>; 73 74 interrupt-controller; 75 #interrupt-cells = <2>; 76 }; 77 78 gpd1: gpd1-gpio-bank { 79 gpio-controller; 80 #gpio-cells = <2>; 81 82 interrupt-controller; 83 #interrupt-cells = <2>; 84 }; 85 86 uart0_data: uart0-data-pins { 87 samsung,pins = "gpa0-0", "gpa0-1"; 88 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 89 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 90 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 91 }; 92 93 uart0_fctl: uart0-fctl-pins { 94 samsung,pins = "gpa0-2", "gpa0-3"; 95 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 96 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 97 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 98 }; 99 100 uart1_data: uart1-data-pins { 101 samsung,pins = "gpa0-4", "gpa0-5"; 102 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 103 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 104 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 105 }; 106 107 uart1_fctl: uart1-fctl-pins { 108 samsung,pins = "gpa0-6", "gpa0-7"; 109 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 110 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 111 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 112 }; 113 114 i2c2_bus: i2c2-bus-pins { 115 samsung,pins = "gpa0-6", "gpa0-7"; 116 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 117 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 118 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 119 }; 120 121 uart2_data: uart2-data-pins { 122 samsung,pins = "gpa1-0", "gpa1-1"; 123 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 124 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 125 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 126 }; 127 128 i2c3_bus: i2c3-bus-pins { 129 samsung,pins = "gpa1-2", "gpa1-3"; 130 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 131 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 132 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 133 }; 134 135 spi0_bus: spi0-bus-pins { 136 samsung,pins = "gpb-0", "gpb-2", "gpb-3"; 137 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 138 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 139 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 140 }; 141 142 i2c4_bus: i2c4-bus-pins { 143 samsung,pins = "gpb-0", "gpb-1"; 144 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 145 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 146 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 147 }; 148 149 spi1_bus: spi1-bus-pins { 150 samsung,pins = "gpb-4", "gpb-6", "gpb-7"; 151 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 152 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 153 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 154 }; 155 156 i2c5_bus: i2c5-bus-pins { 157 samsung,pins = "gpb-2", "gpb-3"; 158 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 159 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 160 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 161 }; 162 163 i2s2_bus: i2s2-bus-pins { 164 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", 165 "gpc1-4"; 166 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 167 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 168 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 169 }; 170 171 pcm2_bus: pcm2-bus-pins { 172 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", 173 "gpc1-4"; 174 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 175 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 176 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 177 }; 178 179 i2c6_bus: i2c6-bus-pins { 180 samsung,pins = "gpc1-3", "gpc1-4"; 181 samsung,pin-function = <EXYNOS_PIN_FUNC_4>; 182 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 183 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 184 }; 185 186 pwm0_out: pwm0-out-pins { 187 samsung,pins = "gpd0-0"; 188 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 189 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 190 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 191 }; 192 193 pwm1_out: pwm1-out-pins { 194 samsung,pins = "gpd0-1"; 195 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 196 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 197 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 198 }; 199 200 i2c7_bus: i2c7-bus-pins { 201 samsung,pins = "gpd0-2", "gpd0-3"; 202 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 203 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 204 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 205 }; 206 207 pwm2_out: pwm2-out-pins { 208 samsung,pins = "gpd0-2"; 209 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 210 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 211 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 212 }; 213 214 pwm3_out: pwm3-out-pins { 215 samsung,pins = "gpd0-3"; 216 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 217 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 218 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 219 }; 220 221 i2c0_bus: i2c0-bus-pins { 222 samsung,pins = "gpd1-0", "gpd1-1"; 223 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 224 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 225 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 226 }; 227 228 mipi0_clk: mipi0-clk-pins { 229 samsung,pins = "gpd1-0", "gpd1-1"; 230 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 231 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 232 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 233 }; 234 235 i2c1_bus: i2c1-bus-pins { 236 samsung,pins = "gpd1-2", "gpd1-3"; 237 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 238 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 239 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 240 }; 241}; 242 243&pinctrl_1 { 244 gpe0: gpe0-gpio-bank { 245 gpio-controller; 246 #gpio-cells = <2>; 247 }; 248 249 gpe1: gpe1-gpio-bank { 250 gpio-controller; 251 #gpio-cells = <2>; 252 }; 253 254 gpe2: gpe2-gpio-bank { 255 gpio-controller; 256 #gpio-cells = <2>; 257 }; 258 259 gpk0: gpk0-gpio-bank { 260 gpio-controller; 261 #gpio-cells = <2>; 262 263 interrupt-controller; 264 #interrupt-cells = <2>; 265 }; 266 267 gpk1: gpk1-gpio-bank { 268 gpio-controller; 269 #gpio-cells = <2>; 270 271 interrupt-controller; 272 #interrupt-cells = <2>; 273 }; 274 275 gpk2: gpk2-gpio-bank { 276 gpio-controller; 277 #gpio-cells = <2>; 278 279 interrupt-controller; 280 #interrupt-cells = <2>; 281 }; 282 283 gpl0: gpl0-gpio-bank { 284 gpio-controller; 285 #gpio-cells = <2>; 286 287 interrupt-controller; 288 #interrupt-cells = <2>; 289 }; 290 291 gpm0: gpm0-gpio-bank { 292 gpio-controller; 293 #gpio-cells = <2>; 294 295 interrupt-controller; 296 #interrupt-cells = <2>; 297 }; 298 299 gpm1: gpm1-gpio-bank { 300 gpio-controller; 301 #gpio-cells = <2>; 302 303 interrupt-controller; 304 #interrupt-cells = <2>; 305 }; 306 307 gpm2: gpm2-gpio-bank { 308 gpio-controller; 309 #gpio-cells = <2>; 310 311 interrupt-controller; 312 #interrupt-cells = <2>; 313 }; 314 315 gpm3: gpm3-gpio-bank { 316 gpio-controller; 317 #gpio-cells = <2>; 318 319 interrupt-controller; 320 #interrupt-cells = <2>; 321 }; 322 323 gpm4: gpm4-gpio-bank { 324 gpio-controller; 325 #gpio-cells = <2>; 326 327 interrupt-controller; 328 #interrupt-cells = <2>; 329 }; 330 331 gpx0: gpx0-gpio-bank { 332 gpio-controller; 333 #gpio-cells = <2>; 334 335 interrupt-controller; 336 interrupt-parent = <&gic>; 337 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 338 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 339 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 340 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 341 <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 342 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 343 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 344 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 345 #interrupt-cells = <2>; 346 }; 347 348 gpx1: gpx1-gpio-bank { 349 gpio-controller; 350 #gpio-cells = <2>; 351 352 interrupt-controller; 353 interrupt-parent = <&gic>; 354 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 355 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 356 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 357 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 358 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 359 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, 360 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, 361 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 362 #interrupt-cells = <2>; 363 }; 364 365 gpx2: gpx2-gpio-bank { 366 gpio-controller; 367 #gpio-cells = <2>; 368 369 interrupt-controller; 370 #interrupt-cells = <2>; 371 }; 372 373 gpx3: gpx3-gpio-bank { 374 gpio-controller; 375 #gpio-cells = <2>; 376 377 interrupt-controller; 378 #interrupt-cells = <2>; 379 }; 380 381 sd0_clk: sd0-clk-pins { 382 samsung,pins = "gpk0-0"; 383 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 384 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 385 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 386 }; 387 388 sd0_cmd: sd0-cmd-pins { 389 samsung,pins = "gpk0-1"; 390 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 391 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 392 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 393 }; 394 395 sd0_cd: sd0-cd-pins { 396 samsung,pins = "gpk0-2"; 397 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 398 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 399 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 400 }; 401 402 sd0_rdqs: sd0-rdqs-pins { 403 samsung,pins = "gpk0-7"; 404 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 405 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 406 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 407 }; 408 409 sd0_bus1: sd0-bus-width1-pins { 410 samsung,pins = "gpk0-3"; 411 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 412 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 413 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 414 }; 415 416 sd0_bus4: sd0-bus-width4-pins { 417 samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6"; 418 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 419 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 420 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 421 }; 422 423 sd0_bus8: sd0-bus-width8-pins { 424 samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3"; 425 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 426 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 427 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 428 }; 429 430 sd1_clk: sd1-clk-pins { 431 samsung,pins = "gpk1-0"; 432 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 433 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 434 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 435 }; 436 437 sd1_cmd: sd1-cmd-pins { 438 samsung,pins = "gpk1-1"; 439 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 440 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 441 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 442 }; 443 444 sd1_cd: sd1-cd-pins { 445 samsung,pins = "gpk1-2"; 446 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 447 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 448 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 449 }; 450 451 sd1_bus1: sd1-bus-width1-pins { 452 samsung,pins = "gpk1-3"; 453 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 454 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 455 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 456 }; 457 458 sd1_bus4: sd1-bus-width4-pins { 459 samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6"; 460 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 461 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 462 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 463 }; 464 465 sd2_clk: sd2-clk-pins { 466 samsung,pins = "gpk2-0"; 467 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 468 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 469 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 470 }; 471 472 sd2_cmd: sd2-cmd-pins { 473 samsung,pins = "gpk2-1"; 474 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 475 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 476 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 477 }; 478 479 sd2_cd: sd2-cd-pins { 480 samsung,pins = "gpk2-2"; 481 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 482 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 483 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 484 }; 485 486 sd2_bus1: sd2-bus-width1-pins { 487 samsung,pins = "gpk2-3"; 488 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 489 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 490 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 491 }; 492 493 sd2_bus4: sd2-bus-width4-pins { 494 samsung,pins = "gpk2-4", "gpk2-5", "gpk2-6"; 495 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 496 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 497 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 498 }; 499 500 cam_port_b_io: cam-port-b-io-pins { 501 samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3", 502 "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7", 503 "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1"; 504 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 505 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 506 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 507 }; 508 509 cam_port_b_clk_active: cam-port-b-clk-active-pins { 510 samsung,pins = "gpm2-2"; 511 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 512 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 513 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 514 }; 515 516 cam_port_b_clk_idle: cam-port-b-clk-idle-pins { 517 samsung,pins = "gpm2-2"; 518 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 519 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 520 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 521 }; 522 523 fimc_is_i2c0: fimc-is-i2c0-pins { 524 samsung,pins = "gpm4-0", "gpm4-1"; 525 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 526 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 527 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 528 }; 529 530 fimc_is_i2c1: fimc-is-i2c1-pins { 531 samsung,pins = "gpm4-2", "gpm4-3"; 532 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 533 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 534 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 535 }; 536 537 fimc_is_uart: fimc-is-uart-pins { 538 samsung,pins = "gpm3-5", "gpm3-7"; 539 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 540 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 541 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 542 }; 543}; 544