0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2013 Linaro Ltd.
0004 */
0005
0006 #include "ste-nomadik-pinctrl.dtsi"
0007
0008 &pinctrl {
0009 /* Settings for all UART default and sleep states */
0010 uart0 {
0011 u0_a_1_default: u0_a_1_default {
0012 default_mux {
0013 function = "u0";
0014 groups = "u0_a_1";
0015 };
0016 default_cfg1 {
0017 pins = "GPIO0_AJ5", "GPIO2_AH4"; /* CTS+RXD */
0018 ste,config = <&in_pu>;
0019 };
0020 default_cfg2 {
0021 pins = "GPIO1_AJ3", "GPIO3_AH3"; /* RTS+TXD */
0022 ste,config = <&out_hi>;
0023 };
0024 };
0025
0026 u0_a_1_sleep: u0_a_1_sleep {
0027 sleep_cfg1 {
0028 pins = "GPIO0_AJ5", "GPIO2_AH4"; /* CTS+RXD */
0029 ste,config = <&slpm_in_wkup_pdis>;
0030 };
0031 sleep_cfg2 {
0032 pins = "GPIO1_AJ3"; /* RTS */
0033 ste,config = <&slpm_out_hi_wkup_pdis>;
0034 };
0035 sleep_cfg3 {
0036 pins = "GPIO3_AH3"; /* TXD */
0037 ste,config = <&slpm_out_wkup_pdis>;
0038 };
0039 };
0040 };
0041
0042 uart1 {
0043 u1rxtx_a_1_default: u1rxtx_a_1_default {
0044 default_mux {
0045 function = "u1";
0046 groups = "u1rxtx_a_1";
0047 };
0048 default_cfg1 {
0049 pins = "GPIO4_AH6"; /* RXD */
0050 ste,config = <&in_pu>;
0051 };
0052 default_cfg2 {
0053 pins = "GPIO5_AG6"; /* TXD */
0054 ste,config = <&out_hi>;
0055 };
0056 };
0057
0058 u1rxtx_a_1_sleep: u1rxtx_a_1_sleep {
0059 sleep_cfg1 {
0060 pins = "GPIO4_AH6"; /* RXD */
0061 ste,config = <&slpm_in_wkup_pdis>;
0062 };
0063 sleep_cfg2 {
0064 pins = "GPIO5_AG6"; /* TXD */
0065 ste,config = <&slpm_out_wkup_pdis>;
0066 };
0067 };
0068
0069 u1ctsrts_a_1_default: u1ctsrts_a_1_default {
0070 default_mux {
0071 function = "u1";
0072 groups = "u1ctsrts_a_1";
0073 };
0074 default_cfg1 {
0075 pins = "GPIO6_AF6"; /* CTS */
0076 ste,config = <&in_pu>;
0077 };
0078 default_cfg2 {
0079 pins = "GPIO7_AG5"; /* RTS */
0080 ste,config = <&out_hi>;
0081 };
0082 };
0083
0084 u1ctsrts_a_1_sleep: u1ctsrts_a_1_sleep {
0085 sleep_cfg1 {
0086 pins = "GPIO6_AF6"; /* CTS */
0087 ste,config = <&slpm_in_wkup_pdis>;
0088 };
0089 sleep_cfg2 {
0090 pins = "GPIO7_AG5"; /* RTS */
0091 ste,config = <&slpm_out_hi_wkup_pdis>;
0092 };
0093 };
0094 };
0095
0096 uart2 {
0097 u2rxtx_c_1_default: u2rxtx_c_1_default {
0098 default_mux {
0099 function = "u2";
0100 groups = "u2rxtx_c_1";
0101 };
0102 default_cfg1 {
0103 pins = "GPIO29_W2"; /* RXD */
0104 ste,config = <&in_pu>;
0105 };
0106 default_cfg2 {
0107 pins = "GPIO30_W3"; /* TXD */
0108 ste,config = <&out_hi>;
0109 };
0110 };
0111
0112 u2rxtx_c_1_sleep: u2rxtx_c_1_sleep {
0113 sleep_cfg1 {
0114 pins = "GPIO29_W2"; /* RXD */
0115 ste,config = <&in_wkup_pdis>;
0116 };
0117 sleep_cfg2 {
0118 pins = "GPIO30_W3"; /* TXD */
0119 ste,config = <&out_wkup_pdis>;
0120 };
0121 };
0122 };
0123
0124 /* Settings for all I2C default and sleep states */
0125 i2c0 {
0126 i2c0_a_1_default: i2c0_a_1_default {
0127 default_mux {
0128 function = "i2c0";
0129 groups = "i2c0_a_1";
0130 };
0131 default_cfg1 {
0132 pins = "GPIO147_C15", "GPIO148_B16"; /* SDA/SCL */
0133 ste,config = <&in_nopull>;
0134 };
0135 };
0136
0137 i2c0_a_1_sleep: i2c0_a_1_sleep {
0138 sleep_cfg1 {
0139 pins = "GPIO147_C15", "GPIO148_B16"; /* SDA/SCL */
0140 ste,config = <&slpm_in_wkup_pdis>;
0141 };
0142 };
0143 };
0144
0145 i2c1 {
0146 i2c1_b_2_default: i2c1_b_2_default {
0147 default_mux {
0148 function = "i2c1";
0149 groups = "i2c1_b_2";
0150 };
0151 default_cfg1 {
0152 pins = "GPIO16_AD3", "GPIO17_AD4"; /* SDA/SCL */
0153 ste,config = <&in_nopull>;
0154 };
0155 };
0156
0157 i2c1_b_2_sleep: i2c1_b_2_sleep {
0158 sleep_cfg1 {
0159 pins = "GPIO16_AD3", "GPIO17_AD4"; /* SDA/SCL */
0160 ste,config = <&slpm_in_wkup_pdis>;
0161 };
0162 };
0163 };
0164
0165 i2c2 {
0166 i2c2_b_1_default: i2c2_b_1_default {
0167 default_mux {
0168 function = "i2c2";
0169 groups = "i2c2_b_1";
0170 };
0171 default_cfg1 {
0172 pins = "GPIO8_AD5", "GPIO9_AE4"; /* SDA/SCL */
0173 ste,config = <&in_nopull>;
0174 };
0175 };
0176
0177 i2c2_b_1_sleep: i2c2_b_1_sleep {
0178 sleep_cfg1 {
0179 pins = "GPIO8_AD5", "GPIO9_AE4"; /* SDA/SCL */
0180 ste,config = <&slpm_in_wkup_pdis>;
0181 };
0182 };
0183
0184 i2c2_b_2_default: i2c2_b_2_default {
0185 default_mux {
0186 function = "i2c2";
0187 groups = "i2c2_b_2";
0188 };
0189 default_cfg1 {
0190 pins = "GPIO10_AF5", "GPIO11_AG4"; /* SDA/SCL */
0191 ste,config = <&in_nopull>;
0192 };
0193 };
0194
0195 i2c2_b_2_sleep: i2c2_b_2_sleep {
0196 sleep_cfg1 {
0197 pins = "GPIO10_AF5", "GPIO11_AG4"; /* SDA/SCL */
0198 ste,config = <&slpm_in_wkup_pdis>;
0199 };
0200 };
0201 };
0202
0203 i2c3 {
0204 i2c3_c_2_default: i2c3_c_2_default {
0205 default_mux {
0206 function = "i2c3";
0207 groups = "i2c3_c_2";
0208 };
0209 default_cfg1 {
0210 pins = "GPIO229_AG7", "GPIO230_AF7"; /* SDA/SCL */
0211 ste,config = <&in_nopull>;
0212 };
0213 };
0214
0215 i2c3_c_2_sleep: i2c3_c_2_sleep {
0216 sleep_cfg1 {
0217 pins = "GPIO229_AG7", "GPIO230_AF7"; /* SDA/SCL */
0218 ste,config = <&slpm_in_wkup_pdis>;
0219 };
0220 };
0221 };
0222
0223 /*
0224 * Activating I2C4 will conflict with UART1 about the same pins so do not
0225 * enable I2C4 and UART1 at the same time.
0226 */
0227 i2c4 {
0228 i2c4_b_1_default: i2c4_b_1_default {
0229 default_mux {
0230 function = "i2c4";
0231 groups = "i2c4_b_1";
0232 };
0233 default_cfg1 {
0234 pins = "GPIO4_AH6", "GPIO5_AG6"; /* SDA/SCL */
0235 ste,config = <&in_nopull>;
0236 };
0237 };
0238
0239 i2c4_b_1_sleep: i2c4_b_1_sleep {
0240 sleep_cfg1 {
0241 pins = "GPIO4_AH6", "GPIO5_AG6"; /* SDA/SCL */
0242 ste,config = <&slpm_in_wkup_pdis>;
0243 };
0244 };
0245 };
0246
0247 /* Settings for all MMC/SD/SDIO default and sleep states */
0248 sdi0 {
0249 /* This is the external SD card slot, 4 bits wide */
0250 mc0_a_1_default: mc0_a_1_default {
0251 default_mux {
0252 function = "mc0";
0253 groups = "mc0_a_1";
0254 };
0255 default_cfg1 {
0256 pins =
0257 "GPIO18_AC2", /* CMDDIR */
0258 "GPIO19_AC1", /* DAT0DIR */
0259 "GPIO20_AB4"; /* DAT2DIR */
0260 ste,config = <&out_hi>;
0261 };
0262 default_cfg2 {
0263 pins = "GPIO22_AA3"; /* FBCLK */
0264 ste,config = <&in_nopull>;
0265 };
0266 default_cfg3 {
0267 pins = "GPIO23_AA4"; /* CLK */
0268 ste,config = <&out_lo>;
0269 };
0270 default_cfg4 {
0271 pins =
0272 "GPIO24_AB2", /* CMD */
0273 "GPIO25_Y4", /* DAT0 */
0274 "GPIO26_Y2", /* DAT1 */
0275 "GPIO27_AA2", /* DAT2 */
0276 "GPIO28_AA1"; /* DAT3 */
0277 ste,config = <&in_pu>;
0278 };
0279 };
0280
0281 mc0_a_1_sleep: mc0_a_1_sleep {
0282 sleep_cfg1 {
0283 pins =
0284 "GPIO18_AC2", /* CMDDIR */
0285 "GPIO19_AC1", /* DAT0DIR */
0286 "GPIO20_AB4"; /* DAT2DIR */
0287 ste,config = <&slpm_out_hi_wkup_pdis>;
0288 };
0289 sleep_cfg2 {
0290 pins =
0291 "GPIO22_AA3", /* FBCLK */
0292 "GPIO24_AB2", /* CMD */
0293 "GPIO25_Y4", /* DAT0 */
0294 "GPIO26_Y2", /* DAT1 */
0295 "GPIO27_AA2", /* DAT2 */
0296 "GPIO28_AA1"; /* DAT3 */
0297 ste,config = <&slpm_in_wkup_pdis>;
0298 };
0299 sleep_cfg3 {
0300 pins = "GPIO23_AA4"; /* CLK */
0301 ste,config = <&slpm_out_lo_wkup_pdis>;
0302 };
0303 };
0304
0305 mc0_a_2_default: mc0_a_2_default {
0306 default_mux {
0307 function = "mc0";
0308 groups = "mc0_a_2";
0309 };
0310 default_cfg1 {
0311 pins = "GPIO22_AA3"; /* FBCLK */
0312 ste,config = <&in_nopull>;
0313 };
0314 default_cfg2 {
0315 pins = "GPIO23_AA4"; /* CLK */
0316 ste,config = <&out_lo>;
0317 };
0318 default_cfg3 {
0319 pins =
0320 "GPIO24_AB2", /* CMD */
0321 "GPIO25_Y4", /* DAT0 */
0322 "GPIO26_Y2", /* DAT1 */
0323 "GPIO27_AA2", /* DAT2 */
0324 "GPIO28_AA1"; /* DAT3 */
0325 ste,config = <&in_pu>;
0326 };
0327 };
0328
0329 mc0_a_2_sleep: mc0_a_2_sleep {
0330 sleep_cfg1 {
0331 pins =
0332 "GPIO22_AA3", /* FBCLK */
0333 "GPIO24_AB2", /* CMD */
0334 "GPIO25_Y4", /* DAT0 */
0335 "GPIO26_Y2", /* DAT1 */
0336 "GPIO27_AA2", /* DAT2 */
0337 "GPIO28_AA1"; /* DAT3 */
0338 ste,config = <&slpm_in_wkup_pdis>;
0339 };
0340 sleep_cfg2 {
0341 pins = "GPIO23_AA4"; /* CLK */
0342 ste,config = <&slpm_out_lo_wkup_pdis>;
0343 };
0344 };
0345 };
0346
0347 sdi1 {
0348 /* This is the WLAN SDIO 4 bits wide */
0349 mc1_a_1_default: mc1_a_1_default {
0350 default_mux {
0351 function = "mc1";
0352 groups = "mc1_a_1";
0353 };
0354 default_cfg1 {
0355 pins = "GPIO208_AH16"; /* CLK */
0356 ste,config = <&out_lo>;
0357 };
0358 default_cfg2 {
0359 pins = "GPIO209_AG15"; /* FBCLK */
0360 ste,config = <&in_nopull>;
0361 };
0362 default_cfg3 {
0363 pins =
0364 "GPIO210_AJ15", /* CMD */
0365 "GPIO211_AG14", /* DAT0 */
0366 "GPIO212_AF13", /* DAT1 */
0367 "GPIO213_AG13", /* DAT2 */
0368 "GPIO214_AH15"; /* DAT3 */
0369 ste,config = <&in_pu>;
0370 };
0371 };
0372
0373 mc1_a_1_sleep: mc1_a_1_sleep {
0374 sleep_cfg1 {
0375 pins = "GPIO208_AH16"; /* CLK */
0376 ste,config = <&slpm_out_lo_wkup_pdis>;
0377 };
0378 sleep_cfg2 {
0379 pins =
0380 "GPIO209_AG15", /* FBCLK */
0381 "GPIO210_AJ15", /* CMD */
0382 "GPIO211_AG14", /* DAT0 */
0383 "GPIO212_AF13", /* DAT1 */
0384 "GPIO213_AG13", /* DAT2 */
0385 "GPIO214_AH15"; /* DAT3 */
0386 ste,config = <&slpm_in_wkup_pdis>;
0387 };
0388 };
0389
0390 mc1_a_2_default: mc1_a_2_default {
0391 default_mux {
0392 function = "mc1";
0393 groups = "mc1_a_2";
0394 };
0395 default_cfg1 {
0396 pins = "GPIO208_AH16"; /* CLK */
0397 ste,config = <&out_lo>;
0398 };
0399 default_cfg2 {
0400 pins =
0401 "GPIO210_AJ15", /* CMD */
0402 "GPIO211_AG14", /* DAT0 */
0403 "GPIO212_AF13", /* DAT1 */
0404 "GPIO213_AG13", /* DAT2 */
0405 "GPIO214_AH15"; /* DAT3 */
0406 ste,config = <&in_pu>;
0407 };
0408 };
0409
0410 mc1_a_2_sleep: mc1_a_2_sleep {
0411 sleep_cfg1 {
0412 pins = "GPIO208_AH16"; /* CLK */
0413 ste,config = <&slpm_out_lo_wkup_pdis>;
0414 };
0415 sleep_cfg2 {
0416 pins =
0417 "GPIO210_AJ15", /* CMD */
0418 "GPIO211_AG14", /* DAT0 */
0419 "GPIO212_AF13", /* DAT1 */
0420 "GPIO213_AG13", /* DAT2 */
0421 "GPIO214_AH15"; /* DAT3 */
0422 ste,config = <&slpm_in_wkup_pdis>;
0423 };
0424 };
0425 };
0426
0427 sdi2 {
0428 /* This is the eMMC 8 bits wide, usually PoP eMMC */
0429 mc2_a_1_default: mc2_a_1_default {
0430 default_mux {
0431 function = "mc2";
0432 groups = "mc2_a_1";
0433 };
0434 default_cfg1 {
0435 pins = "GPIO128_A5"; /* CLK */
0436 ste,config = <&out_lo>;
0437 };
0438 default_cfg2 {
0439 pins = "GPIO130_C8"; /* FBCLK */
0440 ste,config = <&in_nopull>;
0441 };
0442 default_cfg3 {
0443 pins =
0444 "GPIO129_B4", /* CMD */
0445 "GPIO131_A12", /* DAT0 */
0446 "GPIO132_C10", /* DAT1 */
0447 "GPIO133_B10", /* DAT2 */
0448 "GPIO134_B9", /* DAT3 */
0449 "GPIO135_A9", /* DAT4 */
0450 "GPIO136_C7", /* DAT5 */
0451 "GPIO137_A7", /* DAT6 */
0452 "GPIO138_C5"; /* DAT7 */
0453 ste,config = <&in_pu>;
0454 };
0455 };
0456
0457 mc2_a_1_sleep: mc2_a_1_sleep {
0458 sleep_cfg1 {
0459 pins = "GPIO128_A5"; /* CLK */
0460 ste,config = <&out_lo_wkup_pdis>;
0461 };
0462 sleep_cfg2 {
0463 pins =
0464 "GPIO130_C8", /* FBCLK */
0465 "GPIO129_B4"; /* CMD */
0466 ste,config = <&in_wkup_pdis_en>;
0467 };
0468 sleep_cfg3 {
0469 pins =
0470 "GPIO131_A12", /* DAT0 */
0471 "GPIO132_C10", /* DAT1 */
0472 "GPIO133_B10", /* DAT2 */
0473 "GPIO134_B9", /* DAT3 */
0474 "GPIO135_A9", /* DAT4 */
0475 "GPIO136_C7", /* DAT5 */
0476 "GPIO137_A7", /* DAT6 */
0477 "GPIO138_C5"; /* DAT7 */
0478 ste,config = <&in_wkup_pdis>;
0479 };
0480 };
0481 };
0482
0483 sdi4 {
0484 /* This is the eMMC 8 bits wide, usually PCB-mounted eMMC */
0485 mc4_a_1_default: mc4_a_1_default {
0486 default_mux {
0487 function = "mc4";
0488 groups = "mc4_a_1";
0489 };
0490 default_cfg1 {
0491 pins = "GPIO203_AE23"; /* CLK */
0492 ste,config = <&out_lo>;
0493 };
0494 default_cfg2 {
0495 pins = "GPIO202_AF25"; /* FBCLK */
0496 ste,config = <&in_nopull>;
0497 };
0498 default_cfg3 {
0499 pins =
0500 "GPIO201_AF24", /* CMD */
0501 "GPIO200_AH26", /* DAT0 */
0502 "GPIO199_AH23", /* DAT1 */
0503 "GPIO198_AG25", /* DAT2 */
0504 "GPIO197_AH24", /* DAT3 */
0505 "GPIO207_AJ23", /* DAT4 */
0506 "GPIO206_AG24", /* DAT5 */
0507 "GPIO205_AG23", /* DAT6 */
0508 "GPIO204_AF23"; /* DAT7 */
0509 ste,config = <&in_pu>;
0510 };
0511 };
0512
0513 mc4_a_1_sleep: mc4_a_1_sleep {
0514 sleep_cfg1 {
0515 pins = "GPIO203_AE23"; /* CLK */
0516 ste,config = <&out_lo_wkup_pdis>;
0517 };
0518 sleep_cfg2 {
0519 pins =
0520 "GPIO202_AF25", /* FBCLK */
0521 "GPIO201_AF24", /* CMD */
0522 "GPIO200_AH26", /* DAT0 */
0523 "GPIO199_AH23", /* DAT1 */
0524 "GPIO198_AG25", /* DAT2 */
0525 "GPIO197_AH24", /* DAT3 */
0526 "GPIO207_AJ23", /* DAT4 */
0527 "GPIO206_AG24", /* DAT5 */
0528 "GPIO205_AG23", /* DAT6 */
0529 "GPIO204_AF23"; /* DAT7 */
0530 ste,config = <&slpm_in_wkup_pdis>;
0531 };
0532 };
0533 };
0534
0535 /*
0536 * Multi-rate serial ports (MSPs) - MSP3 output is internal and
0537 * cannot be muxed onto any pins.
0538 */
0539 msp0 {
0540 msp0txrxtfstck_a_1_default: msp0txrxtfstck_a_1_default {
0541 default_msp0_mux {
0542 function = "msp0";
0543 groups = "msp0txrx_a_1", "msp0tfstck_a_1";
0544 };
0545 default_msp0_cfg {
0546 pins =
0547 "GPIO12_AC4", /* TXD */
0548 "GPIO15_AC3", /* RXD */
0549 "GPIO13_AF3", /* TFS */
0550 "GPIO14_AE3"; /* TCK */
0551 ste,config = <&in_nopull>;
0552 };
0553 };
0554 };
0555
0556 msp1 {
0557 msp1txrx_a_1_default: msp1txrx_a_1_default {
0558 default_mux {
0559 function = "msp1";
0560 groups = "msp1txrx_a_1", "msp1_a_1";
0561 };
0562 default_cfg1 {
0563 pins = "GPIO33_AF2";
0564 ste,config = <&out_lo>;
0565 };
0566 default_cfg2 {
0567 pins =
0568 "GPIO34_AE1",
0569 "GPIO35_AE2",
0570 "GPIO36_AG2";
0571 ste,config = <&in_nopull>;
0572 };
0573 };
0574 };
0575
0576 msp2 {
0577 msp2_a_1_default: msp2_a_1_default {
0578 /* MSP2 usually used for HDMI audio */
0579 default_mux {
0580 function = "msp2";
0581 groups = "msp2_a_1";
0582 };
0583 default_cfg1 {
0584 pins =
0585 "GPIO193_AH27", /* TXD */
0586 "GPIO194_AF27", /* TCK */
0587 "GPIO195_AG28"; /* TFS */
0588 ste,config = <&in_pd>;
0589 };
0590 default_cfg2 {
0591 pins = "GPIO196_AG26"; /* RXD */
0592 ste,config = <&out_lo>;
0593 };
0594 };
0595 };
0596
0597 musb {
0598 usb_a_1_default: usb_a_1_default {
0599 default_mux {
0600 function = "usb";
0601 groups = "usb_a_1";
0602 };
0603 default_cfg1 {
0604 pins =
0605 "GPIO256_AF28", /* NXT */
0606 "GPIO258_AD29", /* XCLK */
0607 "GPIO259_AC29", /* DIR */
0608 "GPIO260_AD28", /* DAT7 */
0609 "GPIO261_AD26", /* DAT6 */
0610 "GPIO262_AE26", /* DAT5 */
0611 "GPIO263_AG29", /* DAT4 */
0612 "GPIO264_AE27", /* DAT3 */
0613 "GPIO265_AD27", /* DAT2 */
0614 "GPIO266_AC28", /* DAT1 */
0615 "GPIO267_AC27"; /* DAT0 */
0616 ste,config = <&in_nopull>;
0617 };
0618 default_cfg2 {
0619 pins = "GPIO257_AE29"; /* STP */
0620 ste,config = <&out_hi>;
0621 };
0622 };
0623
0624 usb_a_1_sleep: usb_a_1_sleep {
0625 sleep_cfg1 {
0626 pins =
0627 "GPIO256_AF28", /* NXT */
0628 "GPIO258_AD29", /* XCLK */
0629 "GPIO259_AC29"; /* DIR */
0630 ste,config = <&slpm_wkup_pdis_en>;
0631 };
0632 sleep_cfg2 {
0633 pins = "GPIO257_AE29"; /* STP */
0634 ste,config = <&slpm_out_hi_wkup_pdis>;
0635 };
0636 sleep_cfg3 {
0637 pins =
0638 "GPIO260_AD28", /* DAT7 */
0639 "GPIO261_AD26", /* DAT6 */
0640 "GPIO262_AE26", /* DAT5 */
0641 "GPIO263_AG29", /* DAT4 */
0642 "GPIO264_AE27", /* DAT3 */
0643 "GPIO265_AD27", /* DAT2 */
0644 "GPIO266_AC28", /* DAT1 */
0645 "GPIO267_AC27"; /* DAT0 */
0646 ste,config = <&slpm_in_wkup_pdis_en>;
0647 };
0648 };
0649 };
0650 };