diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 14:21:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 14:21:33 -0500 |
commit | 505cbedab9c7c565957e64af6348e5d84acd510e (patch) | |
tree | 4855caf82c434629432e22f03c96892d73383ba2 /drivers/pinctrl/pinctrl-nomadik-db8500.c | |
parent | a8936db7c2d9ef7f8e080d629301e448291f3b75 (diff) | |
parent | 7c8f86a451fe8c010eb93c62d4d69727ccdbe435 (diff) |
Merge tag 'pinctrl-for-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pinctrl changes from Linus Walleij:
"These are the first and major pinctrl changes for the v3.8 merge
cycle. Some of this is used as merge base for other trees so I better
be early on the trigger.
As can be seen from the diffstat the major changes are:
- A big conversion of the AT91 pinctrl driver and the associated ACKed
platform changes under arch/arm/max-at91 and its device trees. This
has been coordinated with the AT91 maintainers to go in through the
pinctrl tree.
- A larger chunk of changes to the SPEAr drivers and the addition of
the "plgpio" driver for the SPEAr as well.
- The removal of the remnants of the Nomadik driver from the arch/arm
tree and fusion of that into the Nomadik driver and platform data
header files.
- Some local movement in the Marvell MVEBU drivers, these now have
their own subdirectory.
- The addition of a chunk of code to gpiolib under drivers/gpio to
register gpio-to-pin range mappings from the GPIO side of things.
This has been requested by Grant Likely and is now implemented, it
is particularly useful for device tree work.
Then we have incremental updates all over the place, many of these are
cleanups and fixes from Axel Lin who has done a great job of removing
minor mistakes and compilation annoyances."
* tag 'pinctrl-for-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (114 commits)
ARM: mmp: select PINCTRL for ARCH_MMP
pinctrl: Drop selecting PINCONF for MMP2, PXA168 and PXA910
pinctrl: pinctrl-single: Fix error check condition
pinctrl: SPEAr: Update error check for unsigned variables
gpiolib: Fix use after free in gpiochip_add_pin_range
gpiolib: rename pin range arguments
pinctrl: single: support gpio request and free
pinctrl: generic: add input schmitt disable parameter
pinctrl/u300/coh901: stop spawning pinctrl from GPIO
pinctrl/u300/coh901: let the gpio_chip register the range
pinctrl: add function to retrieve range from pin
gpiolib: return any error code from range creation
pinctrl: make range registration defer properly
gpiolib: rename find_pinctrl_*
gpiolib: let gpiochip_add_pin_range() specify offset
ARM: at91: pm9g45: add mmc support
ARM: at91: Animeo IP: add mmc support
ARM: at91: dt: add mmc pinctrl for Atmel reference boards
ARM: at91: dt: at91sam9: add mmc pinctrl support
ARM: at91/dts: add nodes for atmel hsmci controllers for atmel boards
...
Diffstat (limited to 'drivers/pinctrl/pinctrl-nomadik-db8500.c')
-rw-r--r-- | drivers/pinctrl/pinctrl-nomadik-db8500.c | 125 |
1 files changed, 112 insertions, 13 deletions
diff --git a/drivers/pinctrl/pinctrl-nomadik-db8500.c b/drivers/pinctrl/pinctrl-nomadik-db8500.c index debaa75b0552..7d88ae352119 100644 --- a/drivers/pinctrl/pinctrl-nomadik-db8500.c +++ b/drivers/pinctrl/pinctrl-nomadik-db8500.c | |||
@@ -475,8 +475,10 @@ static const unsigned hsit_a_1_pins[] = { DB8500_PIN_AJ9, DB8500_PIN_AH9, | |||
475 | DB8500_PIN_AG9, DB8500_PIN_AG8, DB8500_PIN_AF8 }; | 475 | DB8500_PIN_AG9, DB8500_PIN_AG8, DB8500_PIN_AF8 }; |
476 | static const unsigned hsit_a_2_pins[] = { DB8500_PIN_AJ9, DB8500_PIN_AH9, | 476 | static const unsigned hsit_a_2_pins[] = { DB8500_PIN_AJ9, DB8500_PIN_AH9, |
477 | DB8500_PIN_AG9, DB8500_PIN_AG8 }; | 477 | DB8500_PIN_AG9, DB8500_PIN_AG8 }; |
478 | static const unsigned clkout_a_1_pins[] = { DB8500_PIN_AH7, DB8500_PIN_AJ6 }; | 478 | static const unsigned clkout1_a_1_pins[] = { DB8500_PIN_AH7 }; |
479 | static const unsigned clkout_a_2_pins[] = { DB8500_PIN_AG7, DB8500_PIN_AF7 }; | 479 | static const unsigned clkout1_a_2_pins[] = { DB8500_PIN_AG7 }; |
480 | static const unsigned clkout2_a_1_pins[] = { DB8500_PIN_AJ6 }; | ||
481 | static const unsigned clkout2_a_2_pins[] = { DB8500_PIN_AF7 }; | ||
480 | static const unsigned usb_a_1_pins[] = { DB8500_PIN_AF28, DB8500_PIN_AE29, | 482 | static const unsigned usb_a_1_pins[] = { DB8500_PIN_AF28, DB8500_PIN_AE29, |
481 | DB8500_PIN_AD29, DB8500_PIN_AC29, DB8500_PIN_AD28, DB8500_PIN_AD26, | 483 | DB8500_PIN_AD29, DB8500_PIN_AC29, DB8500_PIN_AD28, DB8500_PIN_AD26, |
482 | DB8500_PIN_AE26, DB8500_PIN_AG29, DB8500_PIN_AE27, DB8500_PIN_AD27, | 484 | DB8500_PIN_AE26, DB8500_PIN_AG29, DB8500_PIN_AE27, DB8500_PIN_AD27, |
@@ -592,7 +594,8 @@ static const unsigned stmmod_c_1_pins[] = { DB8500_PIN_C20, DB8500_PIN_B21, | |||
592 | DB8500_PIN_C21, DB8500_PIN_A22, DB8500_PIN_B24 }; | 594 | DB8500_PIN_C21, DB8500_PIN_A22, DB8500_PIN_B24 }; |
593 | static const unsigned usbsim_c_1_pins[] = { DB8500_PIN_D22 }; | 595 | static const unsigned usbsim_c_1_pins[] = { DB8500_PIN_D22 }; |
594 | static const unsigned mc4rstn_c_1_pins[] = { DB8500_PIN_AF25 }; | 596 | static const unsigned mc4rstn_c_1_pins[] = { DB8500_PIN_AF25 }; |
595 | static const unsigned clkout_c_1_pins[] = { DB8500_PIN_AH13, DB8500_PIN_AH12 }; | 597 | static const unsigned clkout1_c_1_pins[] = { DB8500_PIN_AH13 }; |
598 | static const unsigned clkout2_c_1_pins[] = { DB8500_PIN_AH12 }; | ||
596 | static const unsigned i2c3_c_1_pins[] = { DB8500_PIN_AG12, DB8500_PIN_AH11 }; | 599 | static const unsigned i2c3_c_1_pins[] = { DB8500_PIN_AG12, DB8500_PIN_AH11 }; |
597 | static const unsigned spi0_c_1_pins[] = { DB8500_PIN_AH10, DB8500_PIN_AH9, | 600 | static const unsigned spi0_c_1_pins[] = { DB8500_PIN_AH10, DB8500_PIN_AH9, |
598 | DB8500_PIN_AG9, DB8500_PIN_AG8 }; | 601 | DB8500_PIN_AG9, DB8500_PIN_AG8 }; |
@@ -600,14 +603,66 @@ static const unsigned usbsim_c_2_pins[] = { DB8500_PIN_AF8 }; | |||
600 | static const unsigned i2c3_c_2_pins[] = { DB8500_PIN_AG7, DB8500_PIN_AF7 }; | 603 | static const unsigned i2c3_c_2_pins[] = { DB8500_PIN_AG7, DB8500_PIN_AF7 }; |
601 | 604 | ||
602 | /* Other C1 column */ | 605 | /* Other C1 column */ |
606 | static const unsigned u2rx_oc1_1_pins[] = { DB8500_PIN_AB2 }; | ||
607 | static const unsigned stmape_oc1_1_pins[] = { DB8500_PIN_AA4, DB8500_PIN_Y4, | ||
608 | DB8500_PIN_Y2, DB8500_PIN_AA2, DB8500_PIN_AA1 }; | ||
609 | static const unsigned remap0_oc1_1_pins[] = { DB8500_PIN_E1 }; | ||
610 | static const unsigned remap1_oc1_1_pins[] = { DB8500_PIN_E2 }; | ||
611 | static const unsigned ptma9_oc1_1_pins[] = { DB8500_PIN_G5, DB8500_PIN_G4, | ||
612 | DB8500_PIN_H4, DB8500_PIN_H3, DB8500_PIN_J3, DB8500_PIN_H2, | ||
613 | DB8500_PIN_J2, DB8500_PIN_H1 }; | ||
603 | static const unsigned kp_oc1_1_pins[] = { DB8500_PIN_C6, DB8500_PIN_B3, | 614 | static const unsigned kp_oc1_1_pins[] = { DB8500_PIN_C6, DB8500_PIN_B3, |
604 | DB8500_PIN_C4, DB8500_PIN_E6, DB8500_PIN_A3, DB8500_PIN_B6, | 615 | DB8500_PIN_C4, DB8500_PIN_E6, DB8500_PIN_A3, DB8500_PIN_B6, |
605 | DB8500_PIN_D6, DB8500_PIN_B7 }; | 616 | DB8500_PIN_D6, DB8500_PIN_B7 }; |
617 | static const unsigned rf_oc1_1_pins[] = { DB8500_PIN_D8, DB8500_PIN_D9 }; | ||
618 | static const unsigned hxclk_oc1_1_pins[] = { DB8500_PIN_D16 }; | ||
619 | static const unsigned uartmodrx_oc1_1_pins[] = { DB8500_PIN_B17 }; | ||
620 | static const unsigned uartmodtx_oc1_1_pins[] = { DB8500_PIN_C16 }; | ||
621 | static const unsigned stmmod_oc1_1_pins[] = { DB8500_PIN_C19, DB8500_PIN_C17, | ||
622 | DB8500_PIN_A18, DB8500_PIN_C18, DB8500_PIN_B19 }; | ||
623 | static const unsigned hxgpio_oc1_1_pins[] = { DB8500_PIN_D21, DB8500_PIN_D20, | ||
624 | DB8500_PIN_C20, DB8500_PIN_B21, DB8500_PIN_C21, DB8500_PIN_A22, | ||
625 | DB8500_PIN_B24, DB8500_PIN_C22 }; | ||
626 | static const unsigned rf_oc1_2_pins[] = { DB8500_PIN_C23, DB8500_PIN_D23 }; | ||
606 | static const unsigned spi2_oc1_1_pins[] = { DB8500_PIN_AH13, DB8500_PIN_AG12, | 627 | static const unsigned spi2_oc1_1_pins[] = { DB8500_PIN_AH13, DB8500_PIN_AG12, |
607 | DB8500_PIN_AH12, DB8500_PIN_AH11 }; | 628 | DB8500_PIN_AH12, DB8500_PIN_AH11 }; |
608 | static const unsigned spi2_oc1_2_pins[] = { DB8500_PIN_AH13, DB8500_PIN_AH12, | 629 | static const unsigned spi2_oc1_2_pins[] = { DB8500_PIN_AH13, DB8500_PIN_AH12, |
609 | DB8500_PIN_AH11 }; | 630 | DB8500_PIN_AH11 }; |
610 | 631 | ||
632 | /* Other C2 column */ | ||
633 | static const unsigned sbag_oc2_1_pins[] = { DB8500_PIN_AA4, DB8500_PIN_AB2, | ||
634 | DB8500_PIN_Y4, DB8500_PIN_Y2, DB8500_PIN_AA2, DB8500_PIN_AA1 }; | ||
635 | static const unsigned etmr4_oc2_1_pins[] = { DB8500_PIN_G5, DB8500_PIN_G4, | ||
636 | DB8500_PIN_H4, DB8500_PIN_H3, DB8500_PIN_J3, DB8500_PIN_H2, | ||
637 | DB8500_PIN_J2, DB8500_PIN_H1 }; | ||
638 | static const unsigned ptma9_oc2_1_pins[] = { DB8500_PIN_D17, DB8500_PIN_D16, | ||
639 | DB8500_PIN_B17, DB8500_PIN_C16, DB8500_PIN_C19, DB8500_PIN_C17, | ||
640 | DB8500_PIN_A18, DB8500_PIN_C18, DB8500_PIN_B19, DB8500_PIN_B20, | ||
641 | DB8500_PIN_D21, DB8500_PIN_D20, DB8500_PIN_C20, DB8500_PIN_B21, | ||
642 | DB8500_PIN_C21, DB8500_PIN_A22, DB8500_PIN_B24, DB8500_PIN_C22 }; | ||
643 | |||
644 | /* Other C3 column */ | ||
645 | static const unsigned stmmod_oc3_1_pins[] = { DB8500_PIN_AB2, DB8500_PIN_W2, | ||
646 | DB8500_PIN_W3, DB8500_PIN_V3, DB8500_PIN_V2 }; | ||
647 | static const unsigned stmmod_oc3_2_pins[] = { DB8500_PIN_G5, DB8500_PIN_G4, | ||
648 | DB8500_PIN_H4, DB8500_PIN_H3, DB8500_PIN_J3 }; | ||
649 | static const unsigned uartmodrx_oc3_1_pins[] = { DB8500_PIN_H2 }; | ||
650 | static const unsigned uartmodtx_oc3_1_pins[] = { DB8500_PIN_J2 }; | ||
651 | static const unsigned etmr4_oc3_1_pins[] = { DB8500_PIN_D17, DB8500_PIN_D16, | ||
652 | DB8500_PIN_B17, DB8500_PIN_C16, DB8500_PIN_C19, DB8500_PIN_C17, | ||
653 | DB8500_PIN_A18, DB8500_PIN_C18, DB8500_PIN_B19, DB8500_PIN_B20, | ||
654 | DB8500_PIN_D21, DB8500_PIN_D20, DB8500_PIN_C20, DB8500_PIN_B21, | ||
655 | DB8500_PIN_C21, DB8500_PIN_A22, DB8500_PIN_B24, DB8500_PIN_C22 }; | ||
656 | |||
657 | /* Other C4 column */ | ||
658 | static const unsigned sbag_oc4_1_pins[] = { DB8500_PIN_G5, DB8500_PIN_G4, | ||
659 | DB8500_PIN_H4, DB8500_PIN_H3, DB8500_PIN_J3, DB8500_PIN_H1 }; | ||
660 | static const unsigned hwobs_oc4_1_pins[] = { DB8500_PIN_D17, DB8500_PIN_D16, | ||
661 | DB8500_PIN_B17, DB8500_PIN_C16, DB8500_PIN_C19, DB8500_PIN_C17, | ||
662 | DB8500_PIN_A18, DB8500_PIN_C18, DB8500_PIN_B19, DB8500_PIN_B20, | ||
663 | DB8500_PIN_D21, DB8500_PIN_D20, DB8500_PIN_C20, DB8500_PIN_B21, | ||
664 | DB8500_PIN_C21, DB8500_PIN_A22, DB8500_PIN_B24, DB8500_PIN_C22 }; | ||
665 | |||
611 | #define DB8500_PIN_GROUP(a,b) { .name = #a, .pins = a##_pins, \ | 666 | #define DB8500_PIN_GROUP(a,b) { .name = #a, .pins = a##_pins, \ |
612 | .npins = ARRAY_SIZE(a##_pins), .altsetting = b } | 667 | .npins = ARRAY_SIZE(a##_pins), .altsetting = b } |
613 | 668 | ||
@@ -639,6 +694,7 @@ static const struct nmk_pingroup nmk_db8500_groups[] = { | |||
639 | DB8500_PIN_GROUP(i2c0_a_1, NMK_GPIO_ALT_A), | 694 | DB8500_PIN_GROUP(i2c0_a_1, NMK_GPIO_ALT_A), |
640 | DB8500_PIN_GROUP(ipgpio0_a_1, NMK_GPIO_ALT_A), | 695 | DB8500_PIN_GROUP(ipgpio0_a_1, NMK_GPIO_ALT_A), |
641 | DB8500_PIN_GROUP(ipgpio1_a_1, NMK_GPIO_ALT_A), | 696 | DB8500_PIN_GROUP(ipgpio1_a_1, NMK_GPIO_ALT_A), |
697 | DB8500_PIN_GROUP(kp_a_2, NMK_GPIO_ALT_A), | ||
642 | DB8500_PIN_GROUP(msp2sck_a_1, NMK_GPIO_ALT_A), | 698 | DB8500_PIN_GROUP(msp2sck_a_1, NMK_GPIO_ALT_A), |
643 | DB8500_PIN_GROUP(msp2_a_1, NMK_GPIO_ALT_A), | 699 | DB8500_PIN_GROUP(msp2_a_1, NMK_GPIO_ALT_A), |
644 | DB8500_PIN_GROUP(mc4_a_1, NMK_GPIO_ALT_A), | 700 | DB8500_PIN_GROUP(mc4_a_1, NMK_GPIO_ALT_A), |
@@ -647,8 +703,10 @@ static const struct nmk_pingroup nmk_db8500_groups[] = { | |||
647 | DB8500_PIN_GROUP(hsir_a_1, NMK_GPIO_ALT_A), | 703 | DB8500_PIN_GROUP(hsir_a_1, NMK_GPIO_ALT_A), |
648 | DB8500_PIN_GROUP(hsit_a_1, NMK_GPIO_ALT_A), | 704 | DB8500_PIN_GROUP(hsit_a_1, NMK_GPIO_ALT_A), |
649 | DB8500_PIN_GROUP(hsit_a_2, NMK_GPIO_ALT_A), | 705 | DB8500_PIN_GROUP(hsit_a_2, NMK_GPIO_ALT_A), |
650 | DB8500_PIN_GROUP(clkout_a_1, NMK_GPIO_ALT_A), | 706 | DB8500_PIN_GROUP(clkout1_a_1, NMK_GPIO_ALT_A), |
651 | DB8500_PIN_GROUP(clkout_a_2, NMK_GPIO_ALT_A), | 707 | DB8500_PIN_GROUP(clkout1_a_2, NMK_GPIO_ALT_A), |
708 | DB8500_PIN_GROUP(clkout2_a_1, NMK_GPIO_ALT_A), | ||
709 | DB8500_PIN_GROUP(clkout2_a_2, NMK_GPIO_ALT_A), | ||
652 | DB8500_PIN_GROUP(usb_a_1, NMK_GPIO_ALT_A), | 710 | DB8500_PIN_GROUP(usb_a_1, NMK_GPIO_ALT_A), |
653 | /* Altfunction B column */ | 711 | /* Altfunction B column */ |
654 | DB8500_PIN_GROUP(trig_b_1, NMK_GPIO_ALT_B), | 712 | DB8500_PIN_GROUP(trig_b_1, NMK_GPIO_ALT_B), |
@@ -720,15 +778,41 @@ static const struct nmk_pingroup nmk_db8500_groups[] = { | |||
720 | DB8500_PIN_GROUP(stmmod_c_1, NMK_GPIO_ALT_C), | 778 | DB8500_PIN_GROUP(stmmod_c_1, NMK_GPIO_ALT_C), |
721 | DB8500_PIN_GROUP(usbsim_c_1, NMK_GPIO_ALT_C), | 779 | DB8500_PIN_GROUP(usbsim_c_1, NMK_GPIO_ALT_C), |
722 | DB8500_PIN_GROUP(mc4rstn_c_1, NMK_GPIO_ALT_C), | 780 | DB8500_PIN_GROUP(mc4rstn_c_1, NMK_GPIO_ALT_C), |
723 | DB8500_PIN_GROUP(clkout_c_1, NMK_GPIO_ALT_C), | 781 | DB8500_PIN_GROUP(clkout1_c_1, NMK_GPIO_ALT_C), |
782 | DB8500_PIN_GROUP(clkout2_c_1, NMK_GPIO_ALT_C), | ||
724 | DB8500_PIN_GROUP(i2c3_c_1, NMK_GPIO_ALT_C), | 783 | DB8500_PIN_GROUP(i2c3_c_1, NMK_GPIO_ALT_C), |
725 | DB8500_PIN_GROUP(spi0_c_1, NMK_GPIO_ALT_C), | 784 | DB8500_PIN_GROUP(spi0_c_1, NMK_GPIO_ALT_C), |
726 | DB8500_PIN_GROUP(usbsim_c_2, NMK_GPIO_ALT_C), | 785 | DB8500_PIN_GROUP(usbsim_c_2, NMK_GPIO_ALT_C), |
727 | DB8500_PIN_GROUP(i2c3_c_2, NMK_GPIO_ALT_C), | 786 | DB8500_PIN_GROUP(i2c3_c_2, NMK_GPIO_ALT_C), |
728 | /* Other alt C1 column */ | 787 | /* Other alt C1 column */ |
788 | DB8500_PIN_GROUP(u2rx_oc1_1, NMK_GPIO_ALT_C1), | ||
789 | DB8500_PIN_GROUP(stmape_oc1_1, NMK_GPIO_ALT_C1), | ||
790 | DB8500_PIN_GROUP(remap0_oc1_1, NMK_GPIO_ALT_C1), | ||
791 | DB8500_PIN_GROUP(remap1_oc1_1, NMK_GPIO_ALT_C1), | ||
792 | DB8500_PIN_GROUP(ptma9_oc1_1, NMK_GPIO_ALT_C1), | ||
729 | DB8500_PIN_GROUP(kp_oc1_1, NMK_GPIO_ALT_C1), | 793 | DB8500_PIN_GROUP(kp_oc1_1, NMK_GPIO_ALT_C1), |
794 | DB8500_PIN_GROUP(rf_oc1_1, NMK_GPIO_ALT_C1), | ||
795 | DB8500_PIN_GROUP(hxclk_oc1_1, NMK_GPIO_ALT_C1), | ||
796 | DB8500_PIN_GROUP(uartmodrx_oc1_1, NMK_GPIO_ALT_C1), | ||
797 | DB8500_PIN_GROUP(uartmodtx_oc1_1, NMK_GPIO_ALT_C1), | ||
798 | DB8500_PIN_GROUP(stmmod_oc1_1, NMK_GPIO_ALT_C1), | ||
799 | DB8500_PIN_GROUP(hxgpio_oc1_1, NMK_GPIO_ALT_C1), | ||
800 | DB8500_PIN_GROUP(rf_oc1_2, NMK_GPIO_ALT_C1), | ||
730 | DB8500_PIN_GROUP(spi2_oc1_1, NMK_GPIO_ALT_C1), | 801 | DB8500_PIN_GROUP(spi2_oc1_1, NMK_GPIO_ALT_C1), |
731 | DB8500_PIN_GROUP(spi2_oc1_2, NMK_GPIO_ALT_C1), | 802 | DB8500_PIN_GROUP(spi2_oc1_2, NMK_GPIO_ALT_C1), |
803 | /* Other alt C2 column */ | ||
804 | DB8500_PIN_GROUP(sbag_oc2_1, NMK_GPIO_ALT_C2), | ||
805 | DB8500_PIN_GROUP(etmr4_oc2_1, NMK_GPIO_ALT_C2), | ||
806 | DB8500_PIN_GROUP(ptma9_oc2_1, NMK_GPIO_ALT_C2), | ||
807 | /* Other alt C3 column */ | ||
808 | DB8500_PIN_GROUP(stmmod_oc3_1, NMK_GPIO_ALT_C3), | ||
809 | DB8500_PIN_GROUP(stmmod_oc3_2, NMK_GPIO_ALT_C3), | ||
810 | DB8500_PIN_GROUP(uartmodrx_oc3_1, NMK_GPIO_ALT_C3), | ||
811 | DB8500_PIN_GROUP(uartmodtx_oc3_1, NMK_GPIO_ALT_C3), | ||
812 | DB8500_PIN_GROUP(etmr4_oc3_1, NMK_GPIO_ALT_C3), | ||
813 | /* Other alt C4 column */ | ||
814 | DB8500_PIN_GROUP(sbag_oc4_1, NMK_GPIO_ALT_C4), | ||
815 | DB8500_PIN_GROUP(hwobs_oc4_1, NMK_GPIO_ALT_C4), | ||
732 | }; | 816 | }; |
733 | 817 | ||
734 | /* We use this macro to define the groups applicable to a function */ | 818 | /* We use this macro to define the groups applicable to a function */ |
@@ -742,7 +826,7 @@ DB8500_FUNC_GROUPS(u1, "u1rxtx_a_1", "u1ctsrts_a_1"); | |||
742 | * only available on two pins in alternative function C | 826 | * only available on two pins in alternative function C |
743 | */ | 827 | */ |
744 | DB8500_FUNC_GROUPS(u2, "u2rxtx_b_1", "u2rxtx_c_1", "u2ctsrts_c_1", | 828 | DB8500_FUNC_GROUPS(u2, "u2rxtx_b_1", "u2rxtx_c_1", "u2ctsrts_c_1", |
745 | "u2rxtx_c_2", "u2rxtx_c_3"); | 829 | "u2rxtx_c_2", "u2rxtx_c_3", "u2rx_oc1_1"); |
746 | DB8500_FUNC_GROUPS(ipi2c, "ipi2c_a_1", "ipi2c_a_2"); | 830 | DB8500_FUNC_GROUPS(ipi2c, "ipi2c_a_1", "ipi2c_a_2"); |
747 | /* | 831 | /* |
748 | * MSP0 can only be on a certain set of pins, but the TX/RX pins can be | 832 | * MSP0 can only be on a certain set of pins, but the TX/RX pins can be |
@@ -757,7 +841,7 @@ DB8500_FUNC_GROUPS(msp1, "msp1txrx_a_1", "msp1_a_1", "msp1txrx_b_1"); | |||
757 | DB8500_FUNC_GROUPS(lcdb, "lcdb_a_1"); | 841 | DB8500_FUNC_GROUPS(lcdb, "lcdb_a_1"); |
758 | DB8500_FUNC_GROUPS(lcd, "lcdvsi0_a_1", "lcdvsi1_a_1", "lcd_d0_d7_a_1", | 842 | DB8500_FUNC_GROUPS(lcd, "lcdvsi0_a_1", "lcdvsi1_a_1", "lcd_d0_d7_a_1", |
759 | "lcd_d8_d11_a_1", "lcd_d12_d23_a_1", "lcd_b_1"); | 843 | "lcd_d8_d11_a_1", "lcd_d12_d23_a_1", "lcd_b_1"); |
760 | DB8500_FUNC_GROUPS(kp, "kp_a_1", "kp_b_1", "kp_b_2", "kp_c_1", "kp_oc1_1"); | 844 | DB8500_FUNC_GROUPS(kp, "kp_a_1", "kp_a_2", "kp_b_1", "kp_b_2", "kp_c_1", "kp_oc1_1"); |
761 | DB8500_FUNC_GROUPS(mc2, "mc2_a_1", "mc2rstn_c_1"); | 845 | DB8500_FUNC_GROUPS(mc2, "mc2_a_1", "mc2rstn_c_1"); |
762 | DB8500_FUNC_GROUPS(ssp1, "ssp1_a_1"); | 846 | DB8500_FUNC_GROUPS(ssp1, "ssp1_a_1"); |
763 | DB8500_FUNC_GROUPS(ssp0, "ssp0_a_1"); | 847 | DB8500_FUNC_GROUPS(ssp0, "ssp0_a_1"); |
@@ -773,7 +857,8 @@ DB8500_FUNC_GROUPS(msp2, "msp2sck_a_1", "msp2_a_1"); | |||
773 | DB8500_FUNC_GROUPS(mc4, "mc4_a_1", "mc4rstn_c_1"); | 857 | DB8500_FUNC_GROUPS(mc4, "mc4_a_1", "mc4rstn_c_1"); |
774 | DB8500_FUNC_GROUPS(mc1, "mc1_a_1", "mc1_a_2", "mc1dir_a_1"); | 858 | DB8500_FUNC_GROUPS(mc1, "mc1_a_1", "mc1_a_2", "mc1dir_a_1"); |
775 | DB8500_FUNC_GROUPS(hsi, "hsir_a_1", "hsit_a_1", "hsit_a_2"); | 859 | DB8500_FUNC_GROUPS(hsi, "hsir_a_1", "hsit_a_1", "hsit_a_2"); |
776 | DB8500_FUNC_GROUPS(clkout, "clkout_a_1", "clkout_a_2", "clkout_c_1"); | 860 | DB8500_FUNC_GROUPS(clkout, "clkout1_a_1", "clkout1_a_2", "clkout1_c_1", |
861 | "clkout2_a_1", "clkout2_a_2", "clkout2_c_1"); | ||
777 | DB8500_FUNC_GROUPS(usb, "usb_a_1"); | 862 | DB8500_FUNC_GROUPS(usb, "usb_a_1"); |
778 | DB8500_FUNC_GROUPS(trig, "trig_b_1"); | 863 | DB8500_FUNC_GROUPS(trig, "trig_b_1"); |
779 | DB8500_FUNC_GROUPS(i2c4, "i2c4_b_1"); | 864 | DB8500_FUNC_GROUPS(i2c4, "i2c4_b_1"); |
@@ -784,8 +869,10 @@ DB8500_FUNC_GROUPS(i2c2, "i2c2_b_1", "i2c2_b_2"); | |||
784 | * so select one of each. | 869 | * so select one of each. |
785 | */ | 870 | */ |
786 | DB8500_FUNC_GROUPS(uartmod, "uartmodtx_b_1", "uartmodrx_b_1", "uartmodrx_b_2", | 871 | DB8500_FUNC_GROUPS(uartmod, "uartmodtx_b_1", "uartmodrx_b_1", "uartmodrx_b_2", |
787 | "uartmodrx_c_1", "uartmod_tx_c_1"); | 872 | "uartmodrx_c_1", "uartmod_tx_c_1", "uartmodrx_oc1_1", |
788 | DB8500_FUNC_GROUPS(stmmod, "stmmod_b_1", "stmmod_c_1"); | 873 | "uartmodtx_oc1_1", "uartmodrx_oc3_1", "uartmodtx_oc3_1"); |
874 | DB8500_FUNC_GROUPS(stmmod, "stmmod_b_1", "stmmod_c_1", "stmmod_oc1_1", | ||
875 | "stmmod_oc3_1", "stmmod_oc3_2"); | ||
789 | DB8500_FUNC_GROUPS(spi3, "spi3_b_1"); | 876 | DB8500_FUNC_GROUPS(spi3, "spi3_b_1"); |
790 | /* Select between CS0 on alt B or PS1 on alt C */ | 877 | /* Select between CS0 on alt B or PS1 on alt C */ |
791 | DB8500_FUNC_GROUPS(sm, "sm_b_1", "smcs0_b_1", "smcs1_b_1", "smcleale_c_1", | 878 | DB8500_FUNC_GROUPS(sm, "sm_b_1", "smcs0_b_1", "smcs1_b_1", "smcleale_c_1", |
@@ -799,13 +886,19 @@ DB8500_FUNC_GROUPS(ipjtag, "ipjtag_c_1"); | |||
799 | DB8500_FUNC_GROUPS(slim0, "slim0_c_1"); | 886 | DB8500_FUNC_GROUPS(slim0, "slim0_c_1"); |
800 | DB8500_FUNC_GROUPS(ms, "ms_c_1"); | 887 | DB8500_FUNC_GROUPS(ms, "ms_c_1"); |
801 | DB8500_FUNC_GROUPS(iptrigout, "iptrigout_c_1"); | 888 | DB8500_FUNC_GROUPS(iptrigout, "iptrigout_c_1"); |
802 | DB8500_FUNC_GROUPS(stmape, "stmape_c_1", "stmape_c_2"); | 889 | DB8500_FUNC_GROUPS(stmape, "stmape_c_1", "stmape_c_2", "stmape_oc1_1"); |
803 | DB8500_FUNC_GROUPS(mc5, "mc5_c_1"); | 890 | DB8500_FUNC_GROUPS(mc5, "mc5_c_1"); |
804 | DB8500_FUNC_GROUPS(usbsim, "usbsim_c_1", "usbsim_c_2"); | 891 | DB8500_FUNC_GROUPS(usbsim, "usbsim_c_1", "usbsim_c_2"); |
805 | DB8500_FUNC_GROUPS(i2c3, "i2c3_c_1", "i2c3_c_2"); | 892 | DB8500_FUNC_GROUPS(i2c3, "i2c3_c_1", "i2c3_c_2"); |
806 | DB8500_FUNC_GROUPS(spi0, "spi0_c_1"); | 893 | DB8500_FUNC_GROUPS(spi0, "spi0_c_1"); |
807 | DB8500_FUNC_GROUPS(spi2, "spi2_oc1_1", "spi2_oc1_2"); | 894 | DB8500_FUNC_GROUPS(spi2, "spi2_oc1_1", "spi2_oc1_2"); |
808 | 895 | DB8500_FUNC_GROUPS(remap, "remap0_oc1_1", "remap1_oc1_1"); | |
896 | DB8500_FUNC_GROUPS(sbag, "sbag_oc2_1", "sbag_oc4_1"); | ||
897 | DB8500_FUNC_GROUPS(ptm, "ptma9_oc1_1", "ptma9_oc2_1"); | ||
898 | DB8500_FUNC_GROUPS(rf, "rf_oc1_1", "rf_oc1_2"); | ||
899 | DB8500_FUNC_GROUPS(hx, "hxclk_oc1_1", "hxgpio_oc1_1"); | ||
900 | DB8500_FUNC_GROUPS(etm, "etmr4_oc2_1", "etmr4_oc3_1"); | ||
901 | DB8500_FUNC_GROUPS(hwobs, "hwobs_oc4_1"); | ||
809 | #define FUNCTION(fname) \ | 902 | #define FUNCTION(fname) \ |
810 | { \ | 903 | { \ |
811 | .name = #fname, \ | 904 | .name = #fname, \ |
@@ -858,6 +951,12 @@ static const struct nmk_function nmk_db8500_functions[] = { | |||
858 | FUNCTION(i2c3), | 951 | FUNCTION(i2c3), |
859 | FUNCTION(spi0), | 952 | FUNCTION(spi0), |
860 | FUNCTION(spi2), | 953 | FUNCTION(spi2), |
954 | FUNCTION(remap), | ||
955 | FUNCTION(ptm), | ||
956 | FUNCTION(rf), | ||
957 | FUNCTION(hx), | ||
958 | FUNCTION(etm), | ||
959 | FUNCTION(hwobs), | ||
861 | }; | 960 | }; |
862 | 961 | ||
863 | static const struct prcm_gpiocr_altcx_pin_desc db8500_altcx_pins[] = { | 962 | static const struct prcm_gpiocr_altcx_pin_desc db8500_altcx_pins[] = { |