diff options
author | Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 2013-05-06 19:36:08 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-06-16 05:56:49 -0400 |
commit | bbd7b275dbc24cc712b6bbc0f5211e9a9791dd89 (patch) | |
tree | c4fc1cde7ee4002a24ed7d8a85d38eb984dc5ca7 /drivers/pinctrl/mvebu | |
parent | 8ec136d0f3d6376ce347255fb3d29708f28cc00a (diff) |
pinctrl: dove: add PMU functions to pinctrl
Dove power management unit can mux some special functions to mpp0-15.
This patch adds support to set/get the current PMU function mapped
to the corresponding mpp pins. The device tree documentation is also
updated accordingly.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/mvebu')
-rw-r--r-- | drivers/pinctrl/mvebu/pinctrl-dove.c | 244 |
1 files changed, 216 insertions, 28 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-dove.c b/drivers/pinctrl/mvebu/pinctrl-dove.c index 428ea96a94d3..048ae80adabd 100644 --- a/drivers/pinctrl/mvebu/pinctrl-dove.c +++ b/drivers/pinctrl/mvebu/pinctrl-dove.c | |||
@@ -26,6 +26,9 @@ | |||
26 | #define DOVE_MPP_VIRT_BASE (DOVE_SB_REGS_VIRT_BASE + 0xd0200) | 26 | #define DOVE_MPP_VIRT_BASE (DOVE_SB_REGS_VIRT_BASE + 0xd0200) |
27 | #define DOVE_PMU_MPP_GENERAL_CTRL (DOVE_MPP_VIRT_BASE + 0x10) | 27 | #define DOVE_PMU_MPP_GENERAL_CTRL (DOVE_MPP_VIRT_BASE + 0x10) |
28 | #define DOVE_AU0_AC97_SEL BIT(16) | 28 | #define DOVE_AU0_AC97_SEL BIT(16) |
29 | #define DOVE_PMU_SIGNAL_SELECT_0 (DOVE_SB_REGS_VIRT_BASE + 0xd802C) | ||
30 | #define DOVE_PMU_SIGNAL_SELECT_1 (DOVE_SB_REGS_VIRT_BASE + 0xd8030) | ||
31 | #define DOVE_GLOBAL_CONFIG_1 (DOVE_SB_REGS_VIRT_BASE + 0xe802C) | ||
29 | #define DOVE_GLOBAL_CONFIG_1 (DOVE_SB_REGS_VIRT_BASE + 0xe802C) | 32 | #define DOVE_GLOBAL_CONFIG_1 (DOVE_SB_REGS_VIRT_BASE + 0xe802C) |
30 | #define DOVE_TWSI_ENABLE_OPTION1 BIT(7) | 33 | #define DOVE_TWSI_ENABLE_OPTION1 BIT(7) |
31 | #define DOVE_GLOBAL_CONFIG_2 (DOVE_SB_REGS_VIRT_BASE + 0xe8030) | 34 | #define DOVE_GLOBAL_CONFIG_2 (DOVE_SB_REGS_VIRT_BASE + 0xe8030) |
@@ -58,12 +61,16 @@ static int dove_pmu_mpp_ctrl_get(struct mvebu_mpp_ctrl *ctrl, | |||
58 | unsigned off = (ctrl->pid / MPPS_PER_REG) * MPP_BITS; | 61 | unsigned off = (ctrl->pid / MPPS_PER_REG) * MPP_BITS; |
59 | unsigned shift = (ctrl->pid % MPPS_PER_REG) * MPP_BITS; | 62 | unsigned shift = (ctrl->pid % MPPS_PER_REG) * MPP_BITS; |
60 | unsigned long pmu = readl(DOVE_PMU_MPP_GENERAL_CTRL); | 63 | unsigned long pmu = readl(DOVE_PMU_MPP_GENERAL_CTRL); |
61 | unsigned long mpp = readl(DOVE_MPP_VIRT_BASE + off); | 64 | unsigned long func; |
62 | 65 | ||
63 | if (pmu & (1 << ctrl->pid)) | 66 | if (pmu & (1 << ctrl->pid)) { |
64 | *config = CONFIG_PMU; | 67 | func = readl(DOVE_PMU_SIGNAL_SELECT_0 + off); |
65 | else | 68 | *config = (func >> shift) & MPP_MASK; |
66 | *config = (mpp >> shift) & MPP_MASK; | 69 | *config |= CONFIG_PMU; |
70 | } else { | ||
71 | func = readl(DOVE_MPP_VIRT_BASE + off); | ||
72 | *config = (func >> shift) & MPP_MASK; | ||
73 | } | ||
67 | return 0; | 74 | return 0; |
68 | } | 75 | } |
69 | 76 | ||
@@ -73,15 +80,20 @@ static int dove_pmu_mpp_ctrl_set(struct mvebu_mpp_ctrl *ctrl, | |||
73 | unsigned off = (ctrl->pid / MPPS_PER_REG) * MPP_BITS; | 80 | unsigned off = (ctrl->pid / MPPS_PER_REG) * MPP_BITS; |
74 | unsigned shift = (ctrl->pid % MPPS_PER_REG) * MPP_BITS; | 81 | unsigned shift = (ctrl->pid % MPPS_PER_REG) * MPP_BITS; |
75 | unsigned long pmu = readl(DOVE_PMU_MPP_GENERAL_CTRL); | 82 | unsigned long pmu = readl(DOVE_PMU_MPP_GENERAL_CTRL); |
76 | unsigned long mpp = readl(DOVE_MPP_VIRT_BASE + off); | 83 | unsigned long func; |
77 | 84 | ||
78 | if (config == CONFIG_PMU) | 85 | if (config & CONFIG_PMU) { |
79 | writel(pmu | (1 << ctrl->pid), DOVE_PMU_MPP_GENERAL_CTRL); | 86 | writel(pmu | (1 << ctrl->pid), DOVE_PMU_MPP_GENERAL_CTRL); |
80 | else { | 87 | func = readl(DOVE_PMU_SIGNAL_SELECT_0 + off); |
88 | func &= ~(MPP_MASK << shift); | ||
89 | func |= (config & MPP_MASK) << shift; | ||
90 | writel(func, DOVE_PMU_SIGNAL_SELECT_0 + off); | ||
91 | } else { | ||
81 | writel(pmu & ~(1 << ctrl->pid), DOVE_PMU_MPP_GENERAL_CTRL); | 92 | writel(pmu & ~(1 << ctrl->pid), DOVE_PMU_MPP_GENERAL_CTRL); |
82 | mpp &= ~(MPP_MASK << shift); | 93 | func = readl(DOVE_MPP_VIRT_BASE + off); |
83 | mpp |= config << shift; | 94 | func &= ~(MPP_MASK << shift); |
84 | writel(mpp, DOVE_MPP_VIRT_BASE + off); | 95 | func |= (config & MPP_MASK) << shift; |
96 | writel(func, DOVE_MPP_VIRT_BASE + off); | ||
85 | } | 97 | } |
86 | return 0; | 98 | return 0; |
87 | } | 99 | } |
@@ -378,20 +390,53 @@ static struct mvebu_mpp_mode dove_mpp_modes[] = { | |||
378 | MPP_FUNCTION(0x02, "uart2", "rts"), | 390 | MPP_FUNCTION(0x02, "uart2", "rts"), |
379 | MPP_FUNCTION(0x03, "sdio0", "cd"), | 391 | MPP_FUNCTION(0x03, "sdio0", "cd"), |
380 | MPP_FUNCTION(0x0f, "lcd0", "pwm"), | 392 | MPP_FUNCTION(0x0f, "lcd0", "pwm"), |
381 | MPP_FUNCTION(0x10, "pmu", NULL)), | 393 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
394 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
395 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
396 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
397 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
398 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
399 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
400 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
401 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
402 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
403 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
404 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
382 | MPP_MODE(1, | 405 | MPP_MODE(1, |
383 | MPP_FUNCTION(0x00, "gpio", NULL), | 406 | MPP_FUNCTION(0x00, "gpio", NULL), |
384 | MPP_FUNCTION(0x02, "uart2", "cts"), | 407 | MPP_FUNCTION(0x02, "uart2", "cts"), |
385 | MPP_FUNCTION(0x03, "sdio0", "wp"), | 408 | MPP_FUNCTION(0x03, "sdio0", "wp"), |
386 | MPP_FUNCTION(0x0f, "lcd1", "pwm"), | 409 | MPP_FUNCTION(0x0f, "lcd1", "pwm"), |
387 | MPP_FUNCTION(0x10, "pmu", NULL)), | 410 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
411 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
412 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
413 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
414 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
415 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
416 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
417 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
418 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
419 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
420 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
421 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
388 | MPP_MODE(2, | 422 | MPP_MODE(2, |
389 | MPP_FUNCTION(0x00, "gpio", NULL), | 423 | MPP_FUNCTION(0x00, "gpio", NULL), |
390 | MPP_FUNCTION(0x01, "sata", "prsnt"), | 424 | MPP_FUNCTION(0x01, "sata", "prsnt"), |
391 | MPP_FUNCTION(0x02, "uart2", "txd"), | 425 | MPP_FUNCTION(0x02, "uart2", "txd"), |
392 | MPP_FUNCTION(0x03, "sdio0", "buspwr"), | 426 | MPP_FUNCTION(0x03, "sdio0", "buspwr"), |
393 | MPP_FUNCTION(0x04, "uart1", "rts"), | 427 | MPP_FUNCTION(0x04, "uart1", "rts"), |
394 | MPP_FUNCTION(0x10, "pmu", NULL)), | 428 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
429 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
430 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
431 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
432 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
433 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
434 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
435 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
436 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
437 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
438 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
439 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
395 | MPP_MODE(3, | 440 | MPP_MODE(3, |
396 | MPP_FUNCTION(0x00, "gpio", NULL), | 441 | MPP_FUNCTION(0x00, "gpio", NULL), |
397 | MPP_FUNCTION(0x01, "sata", "act"), | 442 | MPP_FUNCTION(0x01, "sata", "act"), |
@@ -399,43 +444,131 @@ static struct mvebu_mpp_mode dove_mpp_modes[] = { | |||
399 | MPP_FUNCTION(0x03, "sdio0", "ledctrl"), | 444 | MPP_FUNCTION(0x03, "sdio0", "ledctrl"), |
400 | MPP_FUNCTION(0x04, "uart1", "cts"), | 445 | MPP_FUNCTION(0x04, "uart1", "cts"), |
401 | MPP_FUNCTION(0x0f, "lcd-spi", "cs1"), | 446 | MPP_FUNCTION(0x0f, "lcd-spi", "cs1"), |
402 | MPP_FUNCTION(0x10, "pmu", NULL)), | 447 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
448 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
449 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
450 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
451 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
452 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
453 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
454 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
455 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
456 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
457 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
458 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
403 | MPP_MODE(4, | 459 | MPP_MODE(4, |
404 | MPP_FUNCTION(0x00, "gpio", NULL), | 460 | MPP_FUNCTION(0x00, "gpio", NULL), |
405 | MPP_FUNCTION(0x02, "uart3", "rts"), | 461 | MPP_FUNCTION(0x02, "uart3", "rts"), |
406 | MPP_FUNCTION(0x03, "sdio1", "cd"), | 462 | MPP_FUNCTION(0x03, "sdio1", "cd"), |
407 | MPP_FUNCTION(0x04, "spi1", "miso"), | 463 | MPP_FUNCTION(0x04, "spi1", "miso"), |
408 | MPP_FUNCTION(0x10, "pmu", NULL)), | 464 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
465 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
466 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
467 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
468 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
469 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
470 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
471 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
472 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
473 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
474 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
475 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
409 | MPP_MODE(5, | 476 | MPP_MODE(5, |
410 | MPP_FUNCTION(0x00, "gpio", NULL), | 477 | MPP_FUNCTION(0x00, "gpio", NULL), |
411 | MPP_FUNCTION(0x02, "uart3", "cts"), | 478 | MPP_FUNCTION(0x02, "uart3", "cts"), |
412 | MPP_FUNCTION(0x03, "sdio1", "wp"), | 479 | MPP_FUNCTION(0x03, "sdio1", "wp"), |
413 | MPP_FUNCTION(0x04, "spi1", "cs"), | 480 | MPP_FUNCTION(0x04, "spi1", "cs"), |
414 | MPP_FUNCTION(0x10, "pmu", NULL)), | 481 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
482 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
483 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
484 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
485 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
486 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
487 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
488 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
489 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
490 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
491 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
492 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
415 | MPP_MODE(6, | 493 | MPP_MODE(6, |
416 | MPP_FUNCTION(0x00, "gpio", NULL), | 494 | MPP_FUNCTION(0x00, "gpio", NULL), |
417 | MPP_FUNCTION(0x02, "uart3", "txd"), | 495 | MPP_FUNCTION(0x02, "uart3", "txd"), |
418 | MPP_FUNCTION(0x03, "sdio1", "buspwr"), | 496 | MPP_FUNCTION(0x03, "sdio1", "buspwr"), |
419 | MPP_FUNCTION(0x04, "spi1", "mosi"), | 497 | MPP_FUNCTION(0x04, "spi1", "mosi"), |
420 | MPP_FUNCTION(0x10, "pmu", NULL)), | 498 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
499 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
500 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
501 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
502 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
503 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
504 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
505 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
506 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
507 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
508 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
509 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
421 | MPP_MODE(7, | 510 | MPP_MODE(7, |
422 | MPP_FUNCTION(0x00, "gpio", NULL), | 511 | MPP_FUNCTION(0x00, "gpio", NULL), |
423 | MPP_FUNCTION(0x02, "uart3", "rxd"), | 512 | MPP_FUNCTION(0x02, "uart3", "rxd"), |
424 | MPP_FUNCTION(0x03, "sdio1", "ledctrl"), | 513 | MPP_FUNCTION(0x03, "sdio1", "ledctrl"), |
425 | MPP_FUNCTION(0x04, "spi1", "sck"), | 514 | MPP_FUNCTION(0x04, "spi1", "sck"), |
426 | MPP_FUNCTION(0x10, "pmu", NULL)), | 515 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
516 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
517 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
518 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
519 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
520 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
521 | MPP_FUNCTION(CONFIG_PMU | 0x8, "core-pwr-good", NULL), | ||
522 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
523 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
524 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
525 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
526 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
427 | MPP_MODE(8, | 527 | MPP_MODE(8, |
428 | MPP_FUNCTION(0x00, "gpio", NULL), | 528 | MPP_FUNCTION(0x00, "gpio", NULL), |
429 | MPP_FUNCTION(0x01, "watchdog", "rstout"), | 529 | MPP_FUNCTION(0x01, "watchdog", "rstout"), |
430 | MPP_FUNCTION(0x10, "pmu", NULL)), | 530 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
531 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
532 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
533 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
534 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
535 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
536 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
537 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
538 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
539 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
540 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
541 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
431 | MPP_MODE(9, | 542 | MPP_MODE(9, |
432 | MPP_FUNCTION(0x00, "gpio", NULL), | 543 | MPP_FUNCTION(0x00, "gpio", NULL), |
433 | MPP_FUNCTION(0x05, "pex1", "clkreq"), | 544 | MPP_FUNCTION(0x05, "pex1", "clkreq"), |
434 | MPP_FUNCTION(0x10, "pmu", NULL)), | 545 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
546 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
547 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
548 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
549 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
550 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
551 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
552 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
553 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
554 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
555 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
556 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
435 | MPP_MODE(10, | 557 | MPP_MODE(10, |
436 | MPP_FUNCTION(0x00, "gpio", NULL), | 558 | MPP_FUNCTION(0x00, "gpio", NULL), |
437 | MPP_FUNCTION(0x05, "ssp", "sclk"), | 559 | MPP_FUNCTION(0x05, "ssp", "sclk"), |
438 | MPP_FUNCTION(0x10, "pmu", NULL)), | 560 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
561 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
562 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
563 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
564 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
565 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
566 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
567 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
568 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
569 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
570 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
571 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
439 | MPP_MODE(11, | 572 | MPP_MODE(11, |
440 | MPP_FUNCTION(0x00, "gpio", NULL), | 573 | MPP_FUNCTION(0x00, "gpio", NULL), |
441 | MPP_FUNCTION(0x01, "sata", "prsnt"), | 574 | MPP_FUNCTION(0x01, "sata", "prsnt"), |
@@ -443,33 +576,88 @@ static struct mvebu_mpp_mode dove_mpp_modes[] = { | |||
443 | MPP_FUNCTION(0x03, "sdio0", "ledctrl"), | 576 | MPP_FUNCTION(0x03, "sdio0", "ledctrl"), |
444 | MPP_FUNCTION(0x04, "sdio1", "ledctrl"), | 577 | MPP_FUNCTION(0x04, "sdio1", "ledctrl"), |
445 | MPP_FUNCTION(0x05, "pex0", "clkreq"), | 578 | MPP_FUNCTION(0x05, "pex0", "clkreq"), |
446 | MPP_FUNCTION(0x10, "pmu", NULL)), | 579 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
580 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
581 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
582 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
583 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
584 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
585 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
586 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
587 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
588 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
589 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
590 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
447 | MPP_MODE(12, | 591 | MPP_MODE(12, |
448 | MPP_FUNCTION(0x00, "gpio", NULL), | 592 | MPP_FUNCTION(0x00, "gpio", NULL), |
449 | MPP_FUNCTION(0x01, "sata", "act"), | 593 | MPP_FUNCTION(0x01, "sata", "act"), |
450 | MPP_FUNCTION(0x02, "uart2", "rts"), | 594 | MPP_FUNCTION(0x02, "uart2", "rts"), |
451 | MPP_FUNCTION(0x03, "audio0", "extclk"), | 595 | MPP_FUNCTION(0x03, "audio0", "extclk"), |
452 | MPP_FUNCTION(0x04, "sdio1", "cd"), | 596 | MPP_FUNCTION(0x04, "sdio1", "cd"), |
453 | MPP_FUNCTION(0x10, "pmu", NULL)), | 597 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
598 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
599 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
600 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
601 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
602 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
603 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
604 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
605 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
606 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
607 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
608 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
454 | MPP_MODE(13, | 609 | MPP_MODE(13, |
455 | MPP_FUNCTION(0x00, "gpio", NULL), | 610 | MPP_FUNCTION(0x00, "gpio", NULL), |
456 | MPP_FUNCTION(0x02, "uart2", "cts"), | 611 | MPP_FUNCTION(0x02, "uart2", "cts"), |
457 | MPP_FUNCTION(0x03, "audio1", "extclk"), | 612 | MPP_FUNCTION(0x03, "audio1", "extclk"), |
458 | MPP_FUNCTION(0x04, "sdio1", "wp"), | 613 | MPP_FUNCTION(0x04, "sdio1", "wp"), |
459 | MPP_FUNCTION(0x05, "ssp", "extclk"), | 614 | MPP_FUNCTION(0x05, "ssp", "extclk"), |
460 | MPP_FUNCTION(0x10, "pmu", NULL)), | 615 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
616 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
617 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
618 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
619 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
620 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
621 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
622 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
623 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
624 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
625 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
626 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
461 | MPP_MODE(14, | 627 | MPP_MODE(14, |
462 | MPP_FUNCTION(0x00, "gpio", NULL), | 628 | MPP_FUNCTION(0x00, "gpio", NULL), |
463 | MPP_FUNCTION(0x02, "uart2", "txd"), | 629 | MPP_FUNCTION(0x02, "uart2", "txd"), |
464 | MPP_FUNCTION(0x04, "sdio1", "buspwr"), | 630 | MPP_FUNCTION(0x04, "sdio1", "buspwr"), |
465 | MPP_FUNCTION(0x05, "ssp", "rxd"), | 631 | MPP_FUNCTION(0x05, "ssp", "rxd"), |
466 | MPP_FUNCTION(0x10, "pmu", NULL)), | 632 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
633 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
634 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
635 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
636 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
637 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
638 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
639 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
640 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
641 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
642 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
643 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
467 | MPP_MODE(15, | 644 | MPP_MODE(15, |
468 | MPP_FUNCTION(0x00, "gpio", NULL), | 645 | MPP_FUNCTION(0x00, "gpio", NULL), |
469 | MPP_FUNCTION(0x02, "uart2", "rxd"), | 646 | MPP_FUNCTION(0x02, "uart2", "rxd"), |
470 | MPP_FUNCTION(0x04, "sdio1", "ledctrl"), | 647 | MPP_FUNCTION(0x04, "sdio1", "ledctrl"), |
471 | MPP_FUNCTION(0x05, "ssp", "sfrm"), | 648 | MPP_FUNCTION(0x05, "ssp", "sfrm"), |
472 | MPP_FUNCTION(0x10, "pmu", NULL)), | 649 | MPP_FUNCTION(CONFIG_PMU | 0x0, "pmu-nc", NULL), |
650 | MPP_FUNCTION(CONFIG_PMU | 0x1, "pmu-low", NULL), | ||
651 | MPP_FUNCTION(CONFIG_PMU | 0x2, "pmu-high", NULL), | ||
652 | MPP_FUNCTION(CONFIG_PMU | 0x3, "pmic", "sdi"), | ||
653 | MPP_FUNCTION(CONFIG_PMU | 0x4, "cpu-pwr-down", NULL), | ||
654 | MPP_FUNCTION(CONFIG_PMU | 0x5, "standby-pwr-down", NULL), | ||
655 | MPP_FUNCTION(CONFIG_PMU | 0x8, "cpu-pwr-good", NULL), | ||
656 | MPP_FUNCTION(CONFIG_PMU | 0xa, "bat-fault", NULL), | ||
657 | MPP_FUNCTION(CONFIG_PMU | 0xb, "ext0-wakeup", NULL), | ||
658 | MPP_FUNCTION(CONFIG_PMU | 0xc, "ext1-wakeup", NULL), | ||
659 | MPP_FUNCTION(CONFIG_PMU | 0xd, "ext2-wakeup", NULL), | ||
660 | MPP_FUNCTION(CONFIG_PMU | 0xe, "pmu-blink", NULL)), | ||
473 | MPP_MODE(16, | 661 | MPP_MODE(16, |
474 | MPP_FUNCTION(0x00, "gpio", NULL), | 662 | MPP_FUNCTION(0x00, "gpio", NULL), |
475 | MPP_FUNCTION(0x02, "uart3", "rts"), | 663 | MPP_FUNCTION(0x02, "uart3", "rts"), |