0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Exynos5410 SoC pin-mux and pin-config device tree source
0004 *
0005 * Copyright (c) 2013 Hardkernel Co., Ltd.
0006 * https://www.hardkernel.com
0007 */
0008
0009 #include "exynos-pinctrl.h"
0010
0011 &pinctrl_0 {
0012 gpa0: gpa0-gpio-bank {
0013 gpio-controller;
0014 #gpio-cells = <2>;
0015
0016 interrupt-controller;
0017 #interrupt-cells = <2>;
0018 };
0019
0020 gpa1: gpa1-gpio-bank {
0021 gpio-controller;
0022 #gpio-cells = <2>;
0023
0024 interrupt-controller;
0025 #interrupt-cells = <2>;
0026 };
0027
0028 gpa2: gpa2-gpio-bank {
0029 gpio-controller;
0030 #gpio-cells = <2>;
0031
0032 interrupt-controller;
0033 #interrupt-cells = <2>;
0034 };
0035
0036 gpb0: gpb0-gpio-bank {
0037 gpio-controller;
0038 #gpio-cells = <2>;
0039
0040 interrupt-controller;
0041 #interrupt-cells = <2>;
0042 };
0043
0044 gpb1: gpb1-gpio-bank {
0045 gpio-controller;
0046 #gpio-cells = <2>;
0047
0048 interrupt-controller;
0049 #interrupt-cells = <2>;
0050 };
0051
0052 gpb2: gpb2-gpio-bank {
0053 gpio-controller;
0054 #gpio-cells = <2>;
0055
0056 interrupt-controller;
0057 #interrupt-cells = <2>;
0058 };
0059
0060 gpb3: gpb3-gpio-bank {
0061 gpio-controller;
0062 #gpio-cells = <2>;
0063
0064 interrupt-controller;
0065 #interrupt-cells = <2>;
0066 };
0067
0068 gpc0: gpc0-gpio-bank {
0069 gpio-controller;
0070 #gpio-cells = <2>;
0071
0072 interrupt-controller;
0073 #interrupt-cells = <2>;
0074 };
0075
0076 gpc3: gpc3-gpio-bank {
0077 gpio-controller;
0078 #gpio-cells = <2>;
0079
0080 interrupt-controller;
0081 #interrupt-cells = <2>;
0082 };
0083
0084 gpc1: gpc1-gpio-bank {
0085 gpio-controller;
0086 #gpio-cells = <2>;
0087
0088 interrupt-controller;
0089 #interrupt-cells = <2>;
0090 };
0091
0092 gpc2: gpc2-gpio-bank {
0093 gpio-controller;
0094 #gpio-cells = <2>;
0095
0096 interrupt-controller;
0097 #interrupt-cells = <2>;
0098 };
0099
0100 gpm5: gpm5-gpio-bank {
0101 gpio-controller;
0102 #gpio-cells = <2>;
0103 };
0104
0105 gpd1: gpd1-gpio-bank {
0106 gpio-controller;
0107 #gpio-cells = <2>;
0108
0109 interrupt-controller;
0110 #interrupt-cells = <2>;
0111 };
0112
0113 gpe0: gpe0-gpio-bank {
0114 gpio-controller;
0115 #gpio-cells = <2>;
0116
0117 interrupt-controller;
0118 #interrupt-cells = <2>;
0119 };
0120
0121 gpe1: gpe1-gpio-bank {
0122 gpio-controller;
0123 #gpio-cells = <2>;
0124
0125 interrupt-controller;
0126 #interrupt-cells = <2>;
0127 };
0128
0129 gpf0: gpf0-gpio-bank {
0130 gpio-controller;
0131 #gpio-cells = <2>;
0132
0133 interrupt-controller;
0134 #interrupt-cells = <2>;
0135 };
0136
0137 gpf1: gpf1-gpio-bank {
0138 gpio-controller;
0139 #gpio-cells = <2>;
0140
0141 interrupt-controller;
0142 #interrupt-cells = <2>;
0143 };
0144
0145 gpg0: gpg0-gpio-bank {
0146 gpio-controller;
0147 #gpio-cells = <2>;
0148
0149 interrupt-controller;
0150 #interrupt-cells = <2>;
0151 };
0152
0153 gpg1: gpg1-gpio-bank {
0154 gpio-controller;
0155 #gpio-cells = <2>;
0156
0157 interrupt-controller;
0158 #interrupt-cells = <2>;
0159 };
0160
0161 gpg2: gpg2-gpio-bank {
0162 gpio-controller;
0163 #gpio-cells = <2>;
0164
0165 interrupt-controller;
0166 #interrupt-cells = <2>;
0167 };
0168
0169 gph0: gph0-gpio-bank {
0170 gpio-controller;
0171 #gpio-cells = <2>;
0172
0173 interrupt-controller;
0174 #interrupt-cells = <2>;
0175 };
0176
0177 gph1: gph1-gpio-bank {
0178 gpio-controller;
0179 #gpio-cells = <2>;
0180
0181 interrupt-controller;
0182 #interrupt-cells = <2>;
0183 };
0184
0185 gpm7: gpm7-gpio-bank {
0186 gpio-controller;
0187 #gpio-cells = <2>;
0188 };
0189
0190 gpy0: gpy0-gpio-bank {
0191 gpio-controller;
0192 #gpio-cells = <2>;
0193 };
0194
0195 gpy1: gpy1-gpio-bank {
0196 gpio-controller;
0197 #gpio-cells = <2>;
0198 };
0199
0200 gpy2: gpy2-gpio-bank {
0201 gpio-controller;
0202 #gpio-cells = <2>;
0203 };
0204
0205 gpy3: gpy3-gpio-bank {
0206 gpio-controller;
0207 #gpio-cells = <2>;
0208 };
0209
0210 gpy4: gpy4-gpio-bank {
0211 gpio-controller;
0212 #gpio-cells = <2>;
0213 };
0214
0215 gpy5: gpy5-gpio-bank {
0216 gpio-controller;
0217 #gpio-cells = <2>;
0218 };
0219
0220 gpy6: gpy6-gpio-bank {
0221 gpio-controller;
0222 #gpio-cells = <2>;
0223 };
0224
0225 gpy7: gpy7-gpio-bank {
0226 gpio-controller;
0227 #gpio-cells = <2>;
0228 };
0229
0230 gpx0: gpx0-gpio-bank {
0231 gpio-controller;
0232 #gpio-cells = <2>;
0233
0234 interrupt-controller;
0235 interrupt-parent = <&combiner>;
0236 #interrupt-cells = <2>;
0237 interrupts = <23 0>,
0238 <24 0>,
0239 <25 0>,
0240 <25 1>,
0241 <26 0>,
0242 <26 1>,
0243 <27 0>,
0244 <27 1>;
0245 };
0246
0247 gpx1: gpx1-gpio-bank {
0248 gpio-controller;
0249 #gpio-cells = <2>;
0250
0251 interrupt-controller;
0252 interrupt-parent = <&combiner>;
0253 #interrupt-cells = <2>;
0254 interrupts = <28 0>,
0255 <28 1>,
0256 <29 0>,
0257 <29 1>,
0258 <30 0>,
0259 <30 1>,
0260 <31 0>,
0261 <31 1>;
0262 };
0263
0264 gpx2: gpx2-gpio-bank {
0265 gpio-controller;
0266 #gpio-cells = <2>;
0267
0268 interrupt-controller;
0269 #interrupt-cells = <2>;
0270 };
0271
0272 gpx3: gpx3-gpio-bank {
0273 gpio-controller;
0274 #gpio-cells = <2>;
0275
0276 interrupt-controller;
0277 #interrupt-cells = <2>;
0278 };
0279
0280 uart0_data: uart0-data-pins {
0281 samsung,pins = "gpa0-0", "gpa0-1";
0282 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0283 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0284 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0285 };
0286
0287 uart0_fctl: uart0-fctl-pins {
0288 samsung,pins = "gpa0-2", "gpa0-3";
0289 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0290 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0291 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0292 };
0293
0294 uart1_data: uart1-data-pins {
0295 samsung,pins = "gpa0-4", "gpa0-5";
0296 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0297 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0298 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0299 };
0300
0301 uart1_fctl: uart1-fctl-pins {
0302 samsung,pins = "gpa0-6", "gpa0-7";
0303 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0304 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0305 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0306 };
0307
0308 i2c2_bus: i2c2-bus-pins {
0309 samsung,pins = "gpa0-6", "gpa0-7";
0310 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0311 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0312 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0313 };
0314
0315 uart2_data: uart2-data-pins {
0316 samsung,pins = "gpa1-0", "gpa1-1";
0317 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0318 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0319 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0320 };
0321
0322 uart2_fctl: uart2-fctl-pins {
0323 samsung,pins = "gpa1-2", "gpa1-3";
0324 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0325 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0326 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0327 };
0328
0329 i2c3_bus: i2c3-bus-pins {
0330 samsung,pins = "gpa1-2", "gpa1-3";
0331 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0332 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0333 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0334 };
0335
0336 uart3_data: uart3-data-pins {
0337 samsung,pins = "gpa1-4", "gpa1-5";
0338 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0339 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0340 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0341 };
0342
0343 i2c4_hs_bus: i2c4-hs-bus-pins {
0344 samsung,pins = "gpa2-0", "gpa2-1";
0345 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0346 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0347 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0348 };
0349
0350 i2c5_hs_bus: i2c5-hs-bus-pins {
0351 samsung,pins = "gpa2-2", "gpa2-3";
0352 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0353 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0354 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0355 };
0356
0357 i2c6_hs_bus: i2c6-hs-bus-pins {
0358 samsung,pins = "gpb1-3", "gpb1-4";
0359 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
0360 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0361 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0362 };
0363
0364 pwm0_out: pwm0-out-pins {
0365 samsung,pins = "gpb2-0";
0366 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0367 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0368 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0369 };
0370
0371 pwm1_out: pwm1-out-pins {
0372 samsung,pins = "gpb2-1";
0373 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0374 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0375 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0376 };
0377
0378 pwm2_out: pwm2-out-pins {
0379 samsung,pins = "gpb2-2";
0380 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0381 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0382 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0383 };
0384
0385 pwm3_out: pwm3-out-pins {
0386 samsung,pins = "gpb2-3";
0387 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0388 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0389 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0390 };
0391
0392 i2c7_hs_bus: i2c7-hs-bus-pins {
0393 samsung,pins = "gpb2-2", "gpb2-3";
0394 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0395 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0396 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0397 };
0398
0399 i2c0_bus: i2c0-bus-pins {
0400 samsung,pins = "gpb3-0", "gpb3-1";
0401 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0402 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0403 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0404 };
0405
0406 i2c1_bus: i2c1-bus-pins {
0407 samsung,pins = "gpb3-2", "gpb3-3";
0408 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0409 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0410 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0411 };
0412
0413 sd0_clk: sd0-clk-pins {
0414 samsung,pins = "gpc0-0";
0415 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0416 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0417 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0418 };
0419
0420 sd0_cmd: sd0-cmd-pins {
0421 samsung,pins = "gpc0-1";
0422 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0423 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0424 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0425 };
0426
0427 sd0_cd: sd0-cd-pins {
0428 samsung,pins = "gpc0-2";
0429 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0430 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0431 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0432 };
0433
0434 sd0_bus1: sd0-bus-width1-pins {
0435 samsung,pins = "gpc0-3";
0436 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0437 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0438 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0439 };
0440
0441 sd0_bus4: sd0-bus-width4-pins {
0442 samsung,pins = "gpc0-4", "gpc0-5", "gpc0-6";
0443 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0444 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0445 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0446 };
0447
0448 sd2_clk: sd2-clk-pins {
0449 samsung,pins = "gpc2-0";
0450 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0451 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0452 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0453 };
0454
0455 sd2_cmd: sd2-cmd-pins {
0456 samsung,pins = "gpc2-1";
0457 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0458 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0459 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0460 };
0461
0462 sd2_cd: sd2-cd-pins {
0463 samsung,pins = "gpc2-2";
0464 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0465 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0466 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0467 };
0468
0469 sd2_bus1: sd2-bus-width1-pins {
0470 samsung,pins = "gpc2-3";
0471 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0472 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0473 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0474 };
0475
0476 sd2_bus4: sd2-bus-width4-pins {
0477 samsung,pins = "gpc2-4", "gpc2-5", "gpc2-6";
0478 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0479 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0480 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0481 };
0482
0483 sd0_bus8: sd0-bus-width8-pins {
0484 samsung,pins = "gpc3-0", "gpc3-1", "gpc3-2", "gpc3-3";
0485 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0486 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0487 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
0488 };
0489 };
0490
0491 &pinctrl_1 {
0492 gpj0: gpj0-gpio-bank {
0493 gpio-controller;
0494 #gpio-cells = <2>;
0495
0496 interrupt-controller;
0497 #interrupt-cells = <2>;
0498 };
0499
0500 gpj1: gpj1-gpio-bank {
0501 gpio-controller;
0502 #gpio-cells = <2>;
0503
0504 interrupt-controller;
0505 #interrupt-cells = <2>;
0506 };
0507
0508 gpj2: gpj2-gpio-bank {
0509 gpio-controller;
0510 #gpio-cells = <2>;
0511
0512 interrupt-controller;
0513 #interrupt-cells = <2>;
0514 };
0515
0516 gpj3: gpj3-gpio-bank {
0517 gpio-controller;
0518 #gpio-cells = <2>;
0519
0520 interrupt-controller;
0521 #interrupt-cells = <2>;
0522 };
0523
0524 gpj4: gpj4-gpio-bank {
0525 gpio-controller;
0526 #gpio-cells = <2>;
0527
0528 interrupt-controller;
0529 #interrupt-cells = <2>;
0530 };
0531
0532 gpk0: gpk0-gpio-bank {
0533 gpio-controller;
0534 #gpio-cells = <2>;
0535
0536 interrupt-controller;
0537 #interrupt-cells = <2>;
0538 };
0539
0540 gpk1: gpk1-gpio-bank {
0541 gpio-controller;
0542 #gpio-cells = <2>;
0543
0544 interrupt-controller;
0545 #interrupt-cells = <2>;
0546 };
0547
0548 gpk2: gpk2-gpio-bank {
0549 gpio-controller;
0550 #gpio-cells = <2>;
0551
0552 interrupt-controller;
0553 #interrupt-cells = <2>;
0554 };
0555
0556 gpk3: gpk3-gpio-bank {
0557 gpio-controller;
0558 #gpio-cells = <2>;
0559
0560 interrupt-controller;
0561 #interrupt-cells = <2>;
0562 };
0563
0564 usb3_1_oc: usb3-1-oc-pins {
0565 samsung,pins = "gpk2-4", "gpk2-5";
0566 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0567 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0568 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0569 };
0570
0571 usb3_1_vbusctrl: usb3-1-vbusctrl-pins {
0572 samsung,pins = "gpk2-6", "gpk2-7";
0573 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0574 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
0575 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0576 };
0577
0578 usb3_0_oc: usb3-0-oc-pins {
0579 samsung,pins = "gpk3-0", "gpk3-1";
0580 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0581 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0582 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0583 };
0584
0585 usb3_0_vbusctrl: usb3-0-vbusctrl-pins {
0586 samsung,pins = "gpk3-2", "gpk3-3";
0587 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0588 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
0589 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0590 };
0591 };
0592
0593 &pinctrl_2 {
0594 gpv0: gpv0-gpio-bank {
0595 gpio-controller;
0596 #gpio-cells = <2>;
0597
0598 interrupt-controller;
0599 #interrupt-cells = <2>;
0600 };
0601
0602 gpv1: gpv1-gpio-bank {
0603 gpio-controller;
0604 #gpio-cells = <2>;
0605
0606 interrupt-controller;
0607 #interrupt-cells = <2>;
0608 };
0609
0610 gpv2: gpv2-gpio-bank {
0611 gpio-controller;
0612 #gpio-cells = <2>;
0613
0614 interrupt-controller;
0615 #interrupt-cells = <2>;
0616 };
0617
0618 gpv3: gpv3-gpio-bank {
0619 gpio-controller;
0620 #gpio-cells = <2>;
0621
0622 interrupt-controller;
0623 #interrupt-cells = <2>;
0624 };
0625
0626 gpv4: gpv4-gpio-bank {
0627 gpio-controller;
0628 #gpio-cells = <2>;
0629
0630 interrupt-controller;
0631 #interrupt-cells = <2>;
0632 };
0633 };
0634
0635 &pinctrl_3 {
0636 gpz: gpz-gpio-bank {
0637 gpio-controller;
0638 #gpio-cells = <2>;
0639
0640 interrupt-controller;
0641 #interrupt-cells = <2>;
0642 };
0643
0644 audi2s0_bus: audi2s0-bus-pins {
0645 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
0646 "gpz-4";
0647 samsung,pin-function = <2>;
0648 samsung,pin-pud = <0>;
0649 samsung,pin-drv = <0>;
0650 };
0651
0652 };