aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500
diff options
context:
space:
mode:
authorJean-Nicolas Graux <jean-nicolas.graux@stericsson.com>2012-10-19 11:39:07 -0400
committerLinus Walleij <linus.walleij@linaro.org>2012-10-25 11:42:54 -0400
commit35c0c281ddb4abb966874ba92029c1aa2bab0679 (patch)
tree8ac35494781ac992120244322ae4525628663ec0 /arch/arm/mach-ux500
parentad7f67c44a74358b6104f7d6073a6891003536b8 (diff)
ARM: ux500: add STM pin configuration
This patch add the new stm pinctrl states definitions for the Ux500 MOP500 series. Signed-off-by: Jean-Nicolas Graux <jean-nicolas.graux@stericsson.com> Reviewed-by: Philippe Langlais <philippe.langlais@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r--arch/arm/mach-ux500/board-mop500-pins.c185
1 files changed, 185 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c
index 05102ad6e0a0..f9ef2f44bcc2 100644
--- a/arch/arm/mach-ux500/board-mop500-pins.c
+++ b/arch/arm/mach-ux500/board-mop500-pins.c
@@ -96,6 +96,10 @@ BIAS(out_wkup_pdis, PIN_SLPM_DIR_OUTPUT|PIN_SLPM_WAKEUP_ENABLE|
96#define DB8500_PIN_SLEEP(pin, conf, dev) \ 96#define DB8500_PIN_SLEEP(pin, conf, dev) \
97 PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_SLEEP, "pinctrl-db8500", \ 97 PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_SLEEP, "pinctrl-db8500", \
98 pin, conf) 98 pin, conf)
99#define DB8500_MUX_STATE(group, func, dev, state) \
100 PIN_MAP_MUX_GROUP(dev, state, "pinctrl-db8500", group, func)
101#define DB8500_PIN_STATE(pin, conf, dev, state) \
102 PIN_MAP_CONFIGS_PIN(dev, state, "pinctrl-db8500", pin, conf)
99 103
100/* Pin control settings */ 104/* Pin control settings */
101static struct pinctrl_map __initdata mop500_family_pinmap[] = { 105static struct pinctrl_map __initdata mop500_family_pinmap[] = {
@@ -366,6 +370,187 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = {
366 DB8500_PIN_SLEEP("GPIO166_A22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O2 */ 370 DB8500_PIN_SLEEP("GPIO166_A22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O2 */
367 DB8500_PIN_SLEEP("GPIO167_B24", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O1 */ 371 DB8500_PIN_SLEEP("GPIO167_B24", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O1 */
368 DB8500_PIN_SLEEP("GPIO168_C22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O0 */ 372 DB8500_PIN_SLEEP("GPIO168_C22", slpm_out_lo_pdis, "nmk-ske-keypad"), /* O0 */
373
374 /* STM APE pins states */
375 DB8500_MUX_STATE("stmape_c_1", "stmape",
376 "stm", "ape_mipi34"),
377 DB8500_PIN_STATE("GPIO70_G5", in_nopull,
378 "stm", "ape_mipi34"), /* clk */
379 DB8500_PIN_STATE("GPIO71_G4", in_nopull,
380 "stm", "ape_mipi34"), /* dat3 */
381 DB8500_PIN_STATE("GPIO72_H4", in_nopull,
382 "stm", "ape_mipi34"), /* dat2 */
383 DB8500_PIN_STATE("GPIO73_H3", in_nopull,
384 "stm", "ape_mipi34"), /* dat1 */
385 DB8500_PIN_STATE("GPIO74_J3", in_nopull,
386 "stm", "ape_mipi34"), /* dat0 */
387
388 DB8500_PIN_STATE("GPIO70_G5", slpm_out_lo_pdis,
389 "stm", "ape_mipi34_sleep"), /* clk */
390 DB8500_PIN_STATE("GPIO71_G4", slpm_out_lo_pdis,
391 "stm", "ape_mipi34_sleep"), /* dat3 */
392 DB8500_PIN_STATE("GPIO72_H4", slpm_out_lo_pdis,
393 "stm", "ape_mipi34_sleep"), /* dat2 */
394 DB8500_PIN_STATE("GPIO73_H3", slpm_out_lo_pdis,
395 "stm", "ape_mipi34_sleep"), /* dat1 */
396 DB8500_PIN_STATE("GPIO74_J3", slpm_out_lo_pdis,
397 "stm", "ape_mipi34_sleep"), /* dat0 */
398
399 DB8500_MUX_STATE("stmape_oc1_1", "stmape",
400 "stm", "ape_microsd"),
401 DB8500_PIN_STATE("GPIO23_AA4", in_nopull,
402 "stm", "ape_microsd"), /* clk */
403 DB8500_PIN_STATE("GPIO25_Y4", in_nopull,
404 "stm", "ape_microsd"), /* dat0 */
405 DB8500_PIN_STATE("GPIO26_Y2", in_nopull,
406 "stm", "ape_microsd"), /* dat1 */
407 DB8500_PIN_STATE("GPIO27_AA2", in_nopull,
408 "stm", "ape_microsd"), /* dat2 */
409 DB8500_PIN_STATE("GPIO28_AA1", in_nopull,
410 "stm", "ape_microsd"), /* dat3 */
411
412 DB8500_PIN_STATE("GPIO23_AA4", slpm_out_lo_wkup_pdis,
413 "stm", "ape_microsd_sleep"), /* clk */
414 DB8500_PIN_STATE("GPIO25_Y4", slpm_in_wkup_pdis,
415 "stm", "ape_microsd_sleep"), /* dat0 */
416 DB8500_PIN_STATE("GPIO26_Y2", slpm_in_wkup_pdis,
417 "stm", "ape_microsd_sleep"), /* dat1 */
418 DB8500_PIN_STATE("GPIO27_AA2", slpm_in_wkup_pdis,
419 "stm", "ape_microsd_sleep"), /* dat2 */
420 DB8500_PIN_STATE("GPIO28_AA1", slpm_in_wkup_pdis,
421 "stm", "ape_microsd_sleep"), /* dat3 */
422
423 /* STM Modem pins states */
424 DB8500_MUX_STATE("stmmod_oc3_2", "stmmod",
425 "stm", "mod_mipi34"),
426 DB8500_MUX_STATE("uartmodrx_oc3_1", "uartmod",
427 "stm", "mod_mipi34"),
428 DB8500_MUX_STATE("uartmodtx_oc3_1", "uartmod",
429 "stm", "mod_mipi34"),
430 DB8500_PIN_STATE("GPIO70_G5", in_nopull,
431 "stm", "mod_mipi34"), /* clk */
432 DB8500_PIN_STATE("GPIO71_G4", in_nopull,
433 "stm", "mod_mipi34"), /* dat3 */
434 DB8500_PIN_STATE("GPIO72_H4", in_nopull,
435 "stm", "mod_mipi34"), /* dat2 */
436 DB8500_PIN_STATE("GPIO73_H3", in_nopull,
437 "stm", "mod_mipi34"), /* dat1 */
438 DB8500_PIN_STATE("GPIO74_J3", in_nopull,
439 "stm", "mod_mipi34"), /* dat0 */
440 DB8500_PIN_STATE("GPIO75_H2", in_pu,
441 "stm", "mod_mipi34"), /* uartmod rx */
442 DB8500_PIN_STATE("GPIO76_J2", out_lo,
443 "stm", "mod_mipi34"), /* uartmod tx */
444
445 DB8500_PIN_STATE("GPIO70_G5", slpm_out_lo_pdis,
446 "stm", "mod_mipi34_sleep"), /* clk */
447 DB8500_PIN_STATE("GPIO71_G4", slpm_out_lo_pdis,
448 "stm", "mod_mipi34_sleep"), /* dat3 */
449 DB8500_PIN_STATE("GPIO72_H4", slpm_out_lo_pdis,
450 "stm", "mod_mipi34_sleep"), /* dat2 */
451 DB8500_PIN_STATE("GPIO73_H3", slpm_out_lo_pdis,
452 "stm", "mod_mipi34_sleep"), /* dat1 */
453 DB8500_PIN_STATE("GPIO74_J3", slpm_out_lo_pdis,
454 "stm", "mod_mipi34_sleep"), /* dat0 */
455 DB8500_PIN_STATE("GPIO75_H2", slpm_in_wkup_pdis,
456 "stm", "mod_mipi34_sleep"), /* uartmod rx */
457 DB8500_PIN_STATE("GPIO76_J2", slpm_out_lo_wkup_pdis,
458 "stm", "mod_mipi34_sleep"), /* uartmod tx */
459
460 DB8500_MUX_STATE("stmmod_b_1", "stmmod",
461 "stm", "mod_microsd"),
462 DB8500_MUX_STATE("uartmodrx_oc3_1", "uartmod",
463 "stm", "mod_microsd"),
464 DB8500_MUX_STATE("uartmodtx_oc3_1", "uartmod",
465 "stm", "mod_microsd"),
466 DB8500_PIN_STATE("GPIO23_AA4", in_nopull,
467 "stm", "mod_microsd"), /* clk */
468 DB8500_PIN_STATE("GPIO25_Y4", in_nopull,
469 "stm", "mod_microsd"), /* dat0 */
470 DB8500_PIN_STATE("GPIO26_Y2", in_nopull,
471 "stm", "mod_microsd"), /* dat1 */
472 DB8500_PIN_STATE("GPIO27_AA2", in_nopull,
473 "stm", "mod_microsd"), /* dat2 */
474 DB8500_PIN_STATE("GPIO28_AA1", in_nopull,
475 "stm", "mod_microsd"), /* dat3 */
476 DB8500_PIN_STATE("GPIO75_H2", in_pu,
477 "stm", "mod_microsd"), /* uartmod rx */
478 DB8500_PIN_STATE("GPIO76_J2", out_lo,
479 "stm", "mod_microsd"), /* uartmod tx */
480
481 DB8500_PIN_STATE("GPIO23_AA4", slpm_out_lo_wkup_pdis,
482 "stm", "mod_microsd_sleep"), /* clk */
483 DB8500_PIN_STATE("GPIO25_Y4", slpm_in_wkup_pdis,
484 "stm", "mod_microsd_sleep"), /* dat0 */
485 DB8500_PIN_STATE("GPIO26_Y2", slpm_in_wkup_pdis,
486 "stm", "mod_microsd_sleep"), /* dat1 */
487 DB8500_PIN_STATE("GPIO27_AA2", slpm_in_wkup_pdis,
488 "stm", "mod_microsd_sleep"), /* dat2 */
489 DB8500_PIN_STATE("GPIO28_AA1", slpm_in_wkup_pdis,
490 "stm", "mod_microsd_sleep"), /* dat3 */
491 DB8500_PIN_STATE("GPIO75_H2", slpm_in_wkup_pdis,
492 "stm", "mod_microsd_sleep"), /* uartmod rx */
493 DB8500_PIN_STATE("GPIO76_J2", slpm_out_lo_wkup_pdis,
494 "stm", "mod_microsd_sleep"), /* uartmod tx */
495
496 /* STM dual Modem/APE pins state */
497 DB8500_MUX_STATE("stmmod_oc3_2", "stmmod",
498 "stm", "mod_mipi34_ape_mipi60"),
499 DB8500_MUX_STATE("stmape_c_2", "stmape",
500 "stm", "mod_mipi34_ape_mipi60"),
501 DB8500_MUX_STATE("uartmodrx_oc3_1", "uartmod",
502 "stm", "mod_mipi34_ape_mipi60"),
503 DB8500_MUX_STATE("uartmodtx_oc3_1", "uartmod",
504 "stm", "mod_mipi34_ape_mipi60"),
505 DB8500_PIN_STATE("GPIO70_G5", in_nopull,
506 "stm", "mod_mipi34_ape_mipi60"), /* clk */
507 DB8500_PIN_STATE("GPIO71_G4", in_nopull,
508 "stm", "mod_mipi34_ape_mipi60"), /* dat3 */
509 DB8500_PIN_STATE("GPIO72_H4", in_nopull,
510 "stm", "mod_mipi34_ape_mipi60"), /* dat2 */
511 DB8500_PIN_STATE("GPIO73_H3", in_nopull,
512 "stm", "mod_mipi34_ape_mipi60"), /* dat1 */
513 DB8500_PIN_STATE("GPIO74_J3", in_nopull,
514 "stm", "mod_mipi34_ape_mipi60"), /* dat0 */
515 DB8500_PIN_STATE("GPIO75_H2", in_pu,
516 "stm", "mod_mipi34_ape_mipi60"), /* uartmod rx */
517 DB8500_PIN_STATE("GPIO76_J2", out_lo,
518 "stm", "mod_mipi34_ape_mipi60"), /* uartmod tx */
519 DB8500_PIN_STATE("GPIO155_C19", in_nopull,
520 "stm", "mod_mipi34_ape_mipi60"), /* clk */
521 DB8500_PIN_STATE("GPIO156_C17", in_nopull,
522 "stm", "mod_mipi34_ape_mipi60"), /* dat3 */
523 DB8500_PIN_STATE("GPIO157_A18", in_nopull,
524 "stm", "mod_mipi34_ape_mipi60"), /* dat2 */
525 DB8500_PIN_STATE("GPIO158_C18", in_nopull,
526 "stm", "mod_mipi34_ape_mipi60"), /* dat1 */
527 DB8500_PIN_STATE("GPIO159_B19", in_nopull,
528 "stm", "mod_mipi34_ape_mipi60"), /* dat0 */
529
530 DB8500_PIN_STATE("GPIO70_G5", slpm_out_lo_pdis,
531 "stm", "mod_mipi34_ape_mipi60_sleep"), /* clk */
532 DB8500_PIN_STATE("GPIO71_G4", slpm_out_lo_pdis,
533 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat3 */
534 DB8500_PIN_STATE("GPIO72_H4", slpm_out_lo_pdis,
535 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat2 */
536 DB8500_PIN_STATE("GPIO73_H3", slpm_out_lo_pdis,
537 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat1 */
538 DB8500_PIN_STATE("GPIO74_J3", slpm_out_lo_pdis,
539 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat0 */
540 DB8500_PIN_STATE("GPIO75_H2", slpm_in_wkup_pdis,
541 "stm", "mod_mipi34_ape_mipi60_sleep"), /* uartmod rx */
542 DB8500_PIN_STATE("GPIO76_J2", slpm_out_lo_wkup_pdis,
543 "stm", "mod_mipi34_ape_mipi60_sleep"), /* uartmod tx */
544 DB8500_PIN_STATE("GPIO155_C19", slpm_in_wkup_pdis,
545 "stm", "mod_mipi34_ape_mipi60_sleep"), /* clk */
546 DB8500_PIN_STATE("GPIO156_C17", slpm_in_wkup_pdis,
547 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat3 */
548 DB8500_PIN_STATE("GPIO157_A18", slpm_in_wkup_pdis,
549 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat2 */
550 DB8500_PIN_STATE("GPIO158_C18", slpm_in_wkup_pdis,
551 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat1 */
552 DB8500_PIN_STATE("GPIO159_B19", slpm_in_wkup_pdis,
553 "stm", "mod_mipi34_ape_mipi60_sleep"), /* dat0 */
369}; 554};
370 555
371/* 556/*