Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: uniphier: Separate modem group from UART ctsrts group

It depends on the board implementation whether to have each pins of
CTS/RTS, and others for modem. So it is necessary to divide current
uart_ctsrts group into uart_ctsrts and uart_modem groups.

Since the number of implemented pins for modem differs depending
on SoC, each uart_modem group also has a different number of pins.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/1564465410-9165-2-git-send-email-hayashi.kunihiko@socionext.com
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Kunihiko Hayashi and committed by
Linus Walleij
111a8fcb 726e8d81

+63 -27
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c
··· 526 526 static const int uart2_muxvals[] = {1, 1}; 527 527 static const unsigned uart3_pins[] = {94, 95}; 528 528 static const int uart3_muxvals[] = {1, 1}; 529 - static const unsigned uart3_ctsrts_pins[] = {96, 97, 98, 99, 100, 101}; 530 - static const int uart3_ctsrts_muxvals[] = {1, 1, 1, 1, 1, 1}; 529 + static const unsigned uart3_ctsrts_pins[] = {96, 98}; 530 + static const int uart3_ctsrts_muxvals[] = {1, 1}; 531 + static const unsigned uart3_modem_pins[] = {97, 99, 100, 101}; 532 + static const int uart3_modem_muxvals[] = {1, 1, 1, 1}; 531 533 static const unsigned usb0_pins[] = {46, 47}; 532 534 static const int usb0_muxvals[] = {0, 0}; 533 535 static const unsigned usb1_pins[] = {48, 49}; ··· 602 600 UNIPHIER_PINCTRL_GROUP(uart2), 603 601 UNIPHIER_PINCTRL_GROUP(uart3), 604 602 UNIPHIER_PINCTRL_GROUP(uart3_ctsrts), 603 + UNIPHIER_PINCTRL_GROUP(uart3_modem), 605 604 UNIPHIER_PINCTRL_GROUP(usb0), 606 605 UNIPHIER_PINCTRL_GROUP(usb1), 607 606 UNIPHIER_PINCTRL_GROUP(usb2), ··· 639 636 static const char * const uart0_groups[] = {"uart0"}; 640 637 static const char * const uart1_groups[] = {"uart1"}; 641 638 static const char * const uart2_groups[] = {"uart2"}; 642 - static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts"}; 639 + static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts", 640 + "uart3_modem"}; 643 641 static const char * const usb0_groups[] = {"usb0"}; 644 642 static const char * const usb1_groups[] = {"usb1"}; 645 643 static const char * const usb2_groups[] = {"usb2"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
··· 619 619 static const int uart2_muxvals[] = {1, 1}; 620 620 static const unsigned uart3_pins[] = {94, 95}; 621 621 static const int uart3_muxvals[] = {1, 1}; 622 - static const unsigned uart3_ctsrts_pins[] = {96, 97, 98, 99, 100, 101}; 623 - static const int uart3_ctsrts_muxvals[] = {1, 1, 1, 1, 1, 1}; 622 + static const unsigned uart3_ctsrts_pins[] = {96, 98}; 623 + static const int uart3_ctsrts_muxvals[] = {1, 1}; 624 + static const unsigned uart3_modem_pins[] = {97, 99, 100, 101}; 625 + static const int uart3_modem_muxvals[] = {1, 1, 1, 1}; 624 626 static const unsigned usb0_pins[] = {46, 47}; 625 627 static const int usb0_muxvals[] = {0, 0}; 626 628 static const unsigned usb1_pins[] = {48, 49}; ··· 697 695 UNIPHIER_PINCTRL_GROUP(uart2), 698 696 UNIPHIER_PINCTRL_GROUP(uart3), 699 697 UNIPHIER_PINCTRL_GROUP(uart3_ctsrts), 698 + UNIPHIER_PINCTRL_GROUP(uart3_modem), 700 699 UNIPHIER_PINCTRL_GROUP(usb0), 701 700 UNIPHIER_PINCTRL_GROUP(usb1), 702 701 UNIPHIER_PINCTRL_GROUP(usb2), ··· 737 734 static const char * const uart0_groups[] = {"uart0"}; 738 735 static const char * const uart1_groups[] = {"uart1"}; 739 736 static const char * const uart2_groups[] = {"uart2"}; 740 - static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts"}; 737 + static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts", 738 + "uart3_modem"}; 741 739 static const char * const usb0_groups[] = {"usb0"}; 742 740 static const char * const usb1_groups[] = {"usb1"}; 743 741 static const char * const usb2_groups[] = {"usb2"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
··· 583 583 static const int system_bus_cs3_muxvals[] = {1}; 584 584 static const unsigned uart0_pins[] = {85, 88}; 585 585 static const int uart0_muxvals[] = {1, 1}; 586 - static const unsigned uart0_ctsrts_pins[] = {86, 87, 89}; 587 - static const int uart0_ctsrts_muxvals[] = {1, 1, 1}; 586 + static const unsigned uart0_ctsrts_pins[] = {86, 89}; 587 + static const int uart0_ctsrts_muxvals[] = {1, 1}; 588 + static const unsigned uart0_modem_pins[] = {87}; 589 + static const int uart0_modem_muxvals[] = {1}; 588 590 static const unsigned uart1_pins[] = {155, 156}; 589 591 static const int uart1_muxvals[] = {13, 13}; 590 592 static const unsigned uart1b_pins[] = {69, 70}; ··· 643 641 UNIPHIER_PINCTRL_GROUP(system_bus_cs3), 644 642 UNIPHIER_PINCTRL_GROUP(uart0), 645 643 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 644 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 646 645 UNIPHIER_PINCTRL_GROUP(uart1), 647 646 UNIPHIER_PINCTRL_GROUP(uart1b), 648 647 UNIPHIER_PINCTRL_GROUP(uart2), ··· 670 667 "system_bus_cs1", 671 668 "system_bus_cs2", 672 669 "system_bus_cs3"}; 673 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts"}; 670 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 671 + "uart0_modem"}; 674 672 static const char * const uart1_groups[] = {"uart1", "uart1b"}; 675 673 static const char * const uart2_groups[] = {"uart2"}; 676 674 static const char * const uart3_groups[] = {"uart3"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
··· 780 780 static const int system_bus_cs5_muxvals[] = {6}; 781 781 static const unsigned uart0_pins[] = {135, 136}; 782 782 static const int uart0_muxvals[] = {3, 3}; 783 - static const unsigned uart0_ctsrts_pins[] = {137, 138, 139, 140, 141, 124}; 784 - static const int uart0_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; 783 + static const unsigned uart0_ctsrts_pins[] = {137, 139}; 784 + static const int uart0_ctsrts_muxvals[] = {3, 3}; 785 + static const unsigned uart0_modem_pins[] = {124, 138, 140, 141}; 786 + static const int uart0_modem_muxvals[] = {3, 3, 3, 3}; 785 787 static const unsigned uart0b_pins[] = {11, 12}; 786 788 static const int uart0b_muxvals[] = {2, 2}; 787 789 static const unsigned uart1_pins[] = {115, 116}; ··· 858 856 UNIPHIER_PINCTRL_GROUP(system_bus_cs5), 859 857 UNIPHIER_PINCTRL_GROUP(uart0), 860 858 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 859 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 861 860 UNIPHIER_PINCTRL_GROUP(uart0b), 862 861 UNIPHIER_PINCTRL_GROUP(uart1), 863 862 UNIPHIER_PINCTRL_GROUP(uart1b), ··· 890 887 "system_bus_cs3", 891 888 "system_bus_cs4", 892 889 "system_bus_cs5"}; 893 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", "uart0b"}; 890 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 891 + "uart0_modem", "uart0b"}; 894 892 static const char * const uart1_groups[] = {"uart1", "uart1b"}; 895 893 static const char * const uart2_groups[] = {"uart2", "uart2b"}; 896 894 static const char * const usb0_groups[] = {"usb0"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
··· 1072 1072 static const int uart2_muxvals[] = {0, 0}; 1073 1073 static const unsigned uart3_pins[] = {88, 89}; 1074 1074 static const int uart3_muxvals[] = {2, 2}; 1075 - static const unsigned uart3_ctsrts_pins[] = {80, 81, 82, 83, 90, 91}; 1076 - static const int uart3_ctsrts_muxvals[] = {2, 2, 2, 2, 2, 2}; 1075 + static const unsigned uart3_ctsrts_pins[] = {90, 91}; 1076 + static const int uart3_ctsrts_muxvals[] = {2, 2}; 1077 + static const unsigned uart3_modem_pins[] = {80, 81, 82, 83}; 1078 + static const int uart3_modem_muxvals[] = {2, 2, 2, 2}; 1077 1079 static const unsigned usb0_pins[] = {180, 181}; 1078 1080 static const int usb0_muxvals[] = {0, 0}; 1079 1081 static const unsigned usb1_pins[] = {182, 183}; ··· 1150 1148 UNIPHIER_PINCTRL_GROUP(uart2), 1151 1149 UNIPHIER_PINCTRL_GROUP(uart3), 1152 1150 UNIPHIER_PINCTRL_GROUP(uart3_ctsrts), 1151 + UNIPHIER_PINCTRL_GROUP(uart3_modem), 1153 1152 UNIPHIER_PINCTRL_GROUP(usb0), 1154 1153 UNIPHIER_PINCTRL_GROUP(usb1), 1155 1154 UNIPHIER_PINCTRL_GROUP(usb2), ··· 1184 1181 static const char * const uart0_groups[] = {"uart0"}; 1185 1182 static const char * const uart1_groups[] = {"uart1"}; 1186 1183 static const char * const uart2_groups[] = {"uart2"}; 1187 - static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts"}; 1184 + static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts", 1185 + "uart3_modem"}; 1188 1186 static const char * const usb0_groups[] = {"usb0"}; 1189 1187 static const char * const usb1_groups[] = {"usb1"}; 1190 1188 static const char * const usb2_groups[] = {"usb2"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
··· 839 839 static const int uart0_muxvals[] = {0, 0}; 840 840 static const unsigned uart0b_pins[] = {227, 228}; 841 841 static const int uart0b_muxvals[] = {3, 3}; 842 - static const unsigned uart0b_ctsrts_pins[] = {229, 230, 231, 232, 233, 234}; 843 - static const int uart0b_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; 842 + static const unsigned uart0b_ctsrts_pins[] = {232, 233}; 843 + static const int uart0b_ctsrts_muxvals[] = {3, 3}; 844 + static const unsigned uart0b_modem_pins[] = {229, 230, 231, 234}; 845 + static const int uart0b_modem_muxvals[] = {3, 3, 3, 3}; 844 846 static const unsigned uart1_pins[] = {49, 50}; 845 847 static const int uart1_muxvals[] = {0, 0}; 846 848 static const unsigned uart2_pins[] = {51, 52}; ··· 918 916 UNIPHIER_PINCTRL_GROUP(uart0), 919 917 UNIPHIER_PINCTRL_GROUP(uart0b), 920 918 UNIPHIER_PINCTRL_GROUP(uart0b_ctsrts), 919 + UNIPHIER_PINCTRL_GROUP(uart0b_modem), 921 920 UNIPHIER_PINCTRL_GROUP(uart1), 922 921 UNIPHIER_PINCTRL_GROUP(uart2), 923 922 UNIPHIER_PINCTRL_GROUP(uart3), ··· 949 946 "system_bus_cs5", 950 947 "system_bus_cs6", 951 948 "system_bus_cs7"}; 952 - static const char * const uart0_groups[] = {"uart0", "uart0b", "uart0b_ctsrts"}; 949 + static const char * const uart0_groups[] = {"uart0", "uart0b", 950 + "uart0b_ctsrts", "uart0b_modem"}; 953 951 static const char * const uart1_groups[] = {"uart1"}; 954 952 static const char * const uart2_groups[] = {"uart2"}; 955 953 static const char * const uart3_groups[] = {"uart3"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
··· 783 783 static const int uart0_muxvals[] = {8, 8}; 784 784 static const unsigned uart0b_pins[] = {179, 180}; 785 785 static const int uart0b_muxvals[] = {10, 10}; 786 - static const unsigned uart0b_ctsrts_pins[] = {176, 177, 178, 183, 184, 185}; 787 - static const int uart0b_ctsrts_muxvals[] = {10, 10, 10, 10, 10, 10}; 786 + static const unsigned uart0b_ctsrts_pins[] = {183, 185}; 787 + static const int uart0b_ctsrts_muxvals[] = {10, 10}; 788 + static const unsigned uart0b_modem_pins[] = {176, 177, 178, 184}; 789 + static const int uart0b_modem_muxvals[] = {10, 10, 10, 10}; 788 790 static const unsigned uart1_pins[] = {115, 116}; 789 791 static const int uart1_muxvals[] = {8, 8}; 790 792 static const unsigned uart2_pins[] = {113, 114}; ··· 865 863 UNIPHIER_PINCTRL_GROUP(uart0), 866 864 UNIPHIER_PINCTRL_GROUP(uart0b), 867 865 UNIPHIER_PINCTRL_GROUP(uart0b_ctsrts), 866 + UNIPHIER_PINCTRL_GROUP(uart0b_modem), 868 867 UNIPHIER_PINCTRL_GROUP(uart1), 869 868 UNIPHIER_PINCTRL_GROUP(uart2), 870 869 UNIPHIER_PINCTRL_GROUP(uart3), ··· 901 898 static const char * const spi1_groups[] = {"spi1"}; 902 899 static const char * const system_bus_groups[] = {"system_bus", 903 900 "system_bus_cs1"}; 904 - static const char * const uart0_groups[] = {"uart0", "uart0b", "uart0b_ctsrts"}; 901 + static const char * const uart0_groups[] = {"uart0", "uart0b", 902 + "uart0b_ctsrts", "uart0b_modem"}; 905 903 static const char * const uart1_groups[] = {"uart1"}; 906 904 static const char * const uart2_groups[] = {"uart2"}; 907 905 static const char * const uart3_groups[] = {"uart3", "uart3b"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs3.c
··· 811 811 static const int system_bus_cs1_muxvals[] = {0}; 812 812 static const unsigned int uart0_pins[] = {92, 93}; 813 813 static const int uart0_muxvals[] = {0, 0}; 814 - static const unsigned int uart0_ctsrts_pins[] = {243, 244, 245, 246, 247, 248}; 815 - static const int uart0_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; 814 + static const unsigned int uart0_ctsrts_pins[] = {243, 247}; 815 + static const int uart0_ctsrts_muxvals[] = {3, 3}; 816 + static const unsigned int uart0_modem_pins[] = {244, 245, 246, 248}; 817 + static const int uart0_modem_muxvals[] = {3, 3, 3, 3}; 816 818 static const unsigned int uart1_pins[] = {94, 95}; 817 819 static const int uart1_muxvals[] = {0, 0}; 818 820 static const unsigned int uart2_pins[] = {96, 97}; ··· 889 887 UNIPHIER_PINCTRL_GROUP(system_bus_cs1), 890 888 UNIPHIER_PINCTRL_GROUP(uart0), 891 889 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 890 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 892 891 UNIPHIER_PINCTRL_GROUP(uart1), 893 892 UNIPHIER_PINCTRL_GROUP(uart2), 894 893 UNIPHIER_PINCTRL_GROUP(uart3), ··· 917 914 static const char * const spi1_groups[] = {"spi1"}; 918 915 static const char * const system_bus_groups[] = {"system_bus", 919 916 "system_bus_cs1"}; 920 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts"}; 917 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 918 + "uart0_modem"}; 921 919 static const char * const uart1_groups[] = {"uart1"}; 922 920 static const char * const uart2_groups[] = {"uart2"}; 923 921 static const char * const uart3_groups[] = {"uart3"};
+7 -3
drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
··· 513 513 static const int system_bus_cs5_muxvals[] = {1}; 514 514 static const unsigned uart0_pins[] = {70, 71}; 515 515 static const int uart0_muxvals[] = {3, 3}; 516 - static const unsigned uart0_ctsrts_pins[] = {72, 73, 74}; 517 - static const int uart0_ctsrts_muxvals[] = {3, 3, 3}; 516 + static const unsigned uart0_ctsrts_pins[] = {72, 74}; 517 + static const int uart0_ctsrts_muxvals[] = {3, 3}; 518 + static const unsigned uart0_modem_pins[] = {73}; 519 + static const int uart0_modem_muxvals[] = {3}; 518 520 static const unsigned uart1_pins[] = {114, 115}; 519 521 static const int uart1_muxvals[] = {0, 0}; 520 522 static const unsigned uart2_pins[] = {112, 113}; ··· 574 572 UNIPHIER_PINCTRL_GROUP(system_bus_cs5), 575 573 UNIPHIER_PINCTRL_GROUP(uart0), 576 574 UNIPHIER_PINCTRL_GROUP(uart0_ctsrts), 575 + UNIPHIER_PINCTRL_GROUP(uart0_modem), 577 576 UNIPHIER_PINCTRL_GROUP(uart1), 578 577 UNIPHIER_PINCTRL_GROUP(uart2), 579 578 UNIPHIER_PINCTRL_GROUP(uart3), ··· 602 599 "system_bus_cs3", 603 600 "system_bus_cs4", 604 601 "system_bus_cs5"}; 605 - static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts"}; 602 + static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts", 603 + "uart0_modem"}; 606 604 static const char * const uart1_groups[] = {"uart1"}; 607 605 static const char * const uart2_groups[] = {"uart2"}; 608 606 static const char * const uart3_groups[] = {"uart3"};