diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-07-06 11:12:11 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2016-07-11 03:53:25 -0400 |
commit | 1e359ab1285eaa7ce4018746d53058ab256d6092 (patch) | |
tree | 694b31dce26d304f5eb2eb19611ab4bde3e5117c | |
parent | f7973d8ba01648bb878fa30dffe3a18c41081c44 (diff) |
pinctrl: uniphier: add Ethernet pin-mux settings
Add the following Ethernet interfaces:
PH1-LD4: MII, RMII
PH1-Pro4: MII, RMII, RGMII
PH1-sLD8: MII, RMII (Built-in PHY is also supported)
ProXstream2: MII, RMII, RGMII
PH1-LD6b: RMII, RGMII
PH1-LD11: RMII (Built-in PHY is also supported)
PH1-LD20: RMII, RGMII
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c | 6 | ||||
-rw-r--r-- | drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c | 13 | ||||
-rw-r--r-- | drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c | 14 | ||||
-rw-r--r-- | drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c | 14 | ||||
-rw-r--r-- | drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c | 26 | ||||
-rw-r--r-- | drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c | 22 | ||||
-rw-r--r-- | drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c | 14 |
7 files changed, 109 insertions, 0 deletions
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c index 89a260e60431..77a0236ee781 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c | |||
@@ -474,6 +474,9 @@ static const unsigned emmc_pins[] = {18, 19, 20, 21, 22, 23, 24, 25}; | |||
474 | static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0}; | 474 | static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0}; |
475 | static const unsigned emmc_dat8_pins[] = {26, 27, 28, 29}; | 475 | static const unsigned emmc_dat8_pins[] = {26, 27, 28, 29}; |
476 | static const int emmc_dat8_muxvals[] = {0, 0, 0, 0}; | 476 | static const int emmc_dat8_muxvals[] = {0, 0, 0, 0}; |
477 | static const unsigned ether_rmii_pins[] = {6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | ||
478 | 16, 17}; | ||
479 | static const int ether_rmii_muxvals[] = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}; | ||
477 | static const unsigned i2c0_pins[] = {63, 64}; | 480 | static const unsigned i2c0_pins[] = {63, 64}; |
478 | static const int i2c0_muxvals[] = {0, 0}; | 481 | static const int i2c0_muxvals[] = {0, 0}; |
479 | static const unsigned i2c1_pins[] = {65, 66}; | 482 | static const unsigned i2c1_pins[] = {65, 66}; |
@@ -589,6 +592,7 @@ static const int xirq_alternatives_muxvals[] = { | |||
589 | static const struct uniphier_pinctrl_group uniphier_ld11_groups[] = { | 592 | static const struct uniphier_pinctrl_group uniphier_ld11_groups[] = { |
590 | UNIPHIER_PINCTRL_GROUP(emmc), | 593 | UNIPHIER_PINCTRL_GROUP(emmc), |
591 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), | 594 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), |
595 | UNIPHIER_PINCTRL_GROUP(ether_rmii), | ||
592 | UNIPHIER_PINCTRL_GROUP(i2c0), | 596 | UNIPHIER_PINCTRL_GROUP(i2c0), |
593 | UNIPHIER_PINCTRL_GROUP(i2c1), | 597 | UNIPHIER_PINCTRL_GROUP(i2c1), |
594 | UNIPHIER_PINCTRL_GROUP(i2c3), | 598 | UNIPHIER_PINCTRL_GROUP(i2c3), |
@@ -815,6 +819,7 @@ static const struct uniphier_pinctrl_group uniphier_ld11_groups[] = { | |||
815 | }; | 819 | }; |
816 | 820 | ||
817 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; | 821 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; |
822 | static const char * const ether_rmii_groups[] = {"ether_rmii"}; | ||
818 | static const char * const i2c0_groups[] = {"i2c0"}; | 823 | static const char * const i2c0_groups[] = {"i2c0"}; |
819 | static const char * const i2c1_groups[] = {"i2c1"}; | 824 | static const char * const i2c1_groups[] = {"i2c1"}; |
820 | static const char * const i2c3_groups[] = {"i2c3"}; | 825 | static const char * const i2c3_groups[] = {"i2c3"}; |
@@ -894,6 +899,7 @@ static const char * const xirq_groups[] = { | |||
894 | 899 | ||
895 | static const struct uniphier_pinmux_function uniphier_ld11_functions[] = { | 900 | static const struct uniphier_pinmux_function uniphier_ld11_functions[] = { |
896 | UNIPHIER_PINMUX_FUNCTION(emmc), | 901 | UNIPHIER_PINMUX_FUNCTION(emmc), |
902 | UNIPHIER_PINMUX_FUNCTION(ether_rmii), | ||
897 | UNIPHIER_PINMUX_FUNCTION(i2c0), | 903 | UNIPHIER_PINMUX_FUNCTION(i2c0), |
898 | UNIPHIER_PINMUX_FUNCTION(i2c1), | 904 | UNIPHIER_PINMUX_FUNCTION(i2c1), |
899 | UNIPHIER_PINMUX_FUNCTION(i2c3), | 905 | UNIPHIER_PINMUX_FUNCTION(i2c3), |
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c index 7311453b5b79..aa8bd9794683 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c | |||
@@ -555,6 +555,13 @@ static const unsigned emmc_pins[] = {18, 19, 20, 21, 22, 23, 24, 25}; | |||
555 | static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0}; | 555 | static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0}; |
556 | static const unsigned emmc_dat8_pins[] = {26, 27, 28, 29}; | 556 | static const unsigned emmc_dat8_pins[] = {26, 27, 28, 29}; |
557 | static const int emmc_dat8_muxvals[] = {0, 0, 0, 0}; | 557 | static const int emmc_dat8_muxvals[] = {0, 0, 0, 0}; |
558 | static const unsigned ether_rgmii_pins[] = {30, 31, 32, 33, 34, 35, 36, 37, 38, | ||
559 | 39, 40, 41, 42, 43, 44, 45}; | ||
560 | static const int ether_rgmii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
561 | 0, 0, 0, 0}; | ||
562 | static const unsigned ether_rmii_pins[] = {30, 31, 32, 33, 34, 35, 36, 37, 39, | ||
563 | 41, 42, 45}; | ||
564 | static const int ether_rmii_muxvals[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; | ||
558 | static const unsigned i2c0_pins[] = {63, 64}; | 565 | static const unsigned i2c0_pins[] = {63, 64}; |
559 | static const int i2c0_muxvals[] = {0, 0}; | 566 | static const int i2c0_muxvals[] = {0, 0}; |
560 | static const unsigned i2c1_pins[] = {65, 66}; | 567 | static const unsigned i2c1_pins[] = {65, 66}; |
@@ -670,6 +677,8 @@ static const int xirq_alternatives_muxvals[] = { | |||
670 | static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = { | 677 | static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = { |
671 | UNIPHIER_PINCTRL_GROUP(emmc), | 678 | UNIPHIER_PINCTRL_GROUP(emmc), |
672 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), | 679 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), |
680 | UNIPHIER_PINCTRL_GROUP(ether_rgmii), | ||
681 | UNIPHIER_PINCTRL_GROUP(ether_rmii), | ||
673 | UNIPHIER_PINCTRL_GROUP(i2c0), | 682 | UNIPHIER_PINCTRL_GROUP(i2c0), |
674 | UNIPHIER_PINCTRL_GROUP(i2c1), | 683 | UNIPHIER_PINCTRL_GROUP(i2c1), |
675 | UNIPHIER_PINCTRL_GROUP(i2c3), | 684 | UNIPHIER_PINCTRL_GROUP(i2c3), |
@@ -903,6 +912,8 @@ static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = { | |||
903 | }; | 912 | }; |
904 | 913 | ||
905 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; | 914 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; |
915 | static const char * const ether_rgmii_groups[] = {"ether_rgmii"}; | ||
916 | static const char * const ether_rmii_groups[] = {"ether_rmii"}; | ||
906 | static const char * const i2c0_groups[] = {"i2c0"}; | 917 | static const char * const i2c0_groups[] = {"i2c0"}; |
907 | static const char * const i2c1_groups[] = {"i2c1"}; | 918 | static const char * const i2c1_groups[] = {"i2c1"}; |
908 | static const char * const i2c3_groups[] = {"i2c3"}; | 919 | static const char * const i2c3_groups[] = {"i2c3"}; |
@@ -983,6 +994,8 @@ static const char * const xirq_groups[] = { | |||
983 | 994 | ||
984 | static const struct uniphier_pinmux_function uniphier_ld20_functions[] = { | 995 | static const struct uniphier_pinmux_function uniphier_ld20_functions[] = { |
985 | UNIPHIER_PINMUX_FUNCTION(emmc), | 996 | UNIPHIER_PINMUX_FUNCTION(emmc), |
997 | UNIPHIER_PINMUX_FUNCTION(ether_rgmii), | ||
998 | UNIPHIER_PINMUX_FUNCTION(ether_rmii), | ||
986 | UNIPHIER_PINMUX_FUNCTION(i2c0), | 999 | UNIPHIER_PINMUX_FUNCTION(i2c0), |
987 | UNIPHIER_PINMUX_FUNCTION(i2c1), | 1000 | UNIPHIER_PINMUX_FUNCTION(i2c1), |
988 | UNIPHIER_PINMUX_FUNCTION(i2c3), | 1001 | UNIPHIER_PINMUX_FUNCTION(i2c3), |
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c index 98044bcd493e..3edfb6f9d6df 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c | |||
@@ -552,6 +552,14 @@ static const unsigned emmc_pins[] = {21, 22, 23, 24, 25, 26, 27}; | |||
552 | static const int emmc_muxvals[] = {0, 1, 1, 1, 1, 1, 1}; | 552 | static const int emmc_muxvals[] = {0, 1, 1, 1, 1, 1, 1}; |
553 | static const unsigned emmc_dat8_pins[] = {28, 29, 30, 31}; | 553 | static const unsigned emmc_dat8_pins[] = {28, 29, 30, 31}; |
554 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; | 554 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; |
555 | static const unsigned ether_mii_pins[] = {32, 33, 34, 35, 36, 37, 38, 39, 40, | ||
556 | 41, 42, 43, 136, 137, 138, 139, 140, | ||
557 | 141, 142}; | ||
558 | static const int ether_mii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
559 | 4, 4, 4, 4, 4, 4, 4}; | ||
560 | static const unsigned ether_rmii_pins[] = {32, 33, 34, 35, 36, 37, 38, 39, 40, | ||
561 | 41, 42, 43}; | ||
562 | static const int ether_rmii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; | ||
555 | static const unsigned i2c0_pins[] = {102, 103}; | 563 | static const unsigned i2c0_pins[] = {102, 103}; |
556 | static const int i2c0_muxvals[] = {0, 0}; | 564 | static const int i2c0_muxvals[] = {0, 0}; |
557 | static const unsigned i2c1_pins[] = {104, 105}; | 565 | static const unsigned i2c1_pins[] = {104, 105}; |
@@ -655,6 +663,8 @@ static const int xirq_range1_muxvals[] = { | |||
655 | static const struct uniphier_pinctrl_group uniphier_ld4_groups[] = { | 663 | static const struct uniphier_pinctrl_group uniphier_ld4_groups[] = { |
656 | UNIPHIER_PINCTRL_GROUP(emmc), | 664 | UNIPHIER_PINCTRL_GROUP(emmc), |
657 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), | 665 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), |
666 | UNIPHIER_PINCTRL_GROUP(ether_mii), | ||
667 | UNIPHIER_PINCTRL_GROUP(ether_rmii), | ||
658 | UNIPHIER_PINCTRL_GROUP(i2c0), | 668 | UNIPHIER_PINCTRL_GROUP(i2c0), |
659 | UNIPHIER_PINCTRL_GROUP(i2c1), | 669 | UNIPHIER_PINCTRL_GROUP(i2c1), |
660 | UNIPHIER_PINCTRL_GROUP(i2c2), | 670 | UNIPHIER_PINCTRL_GROUP(i2c2), |
@@ -819,6 +829,8 @@ static const struct uniphier_pinctrl_group uniphier_ld4_groups[] = { | |||
819 | }; | 829 | }; |
820 | 830 | ||
821 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; | 831 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; |
832 | static const char * const ether_mii_groups[] = {"ether_mii"}; | ||
833 | static const char * const ether_rmii_groups[] = {"ether_rmii"}; | ||
822 | static const char * const i2c0_groups[] = {"i2c0"}; | 834 | static const char * const i2c0_groups[] = {"i2c0"}; |
823 | static const char * const i2c1_groups[] = {"i2c1"}; | 835 | static const char * const i2c1_groups[] = {"i2c1"}; |
824 | static const char * const i2c2_groups[] = {"i2c2"}; | 836 | static const char * const i2c2_groups[] = {"i2c2"}; |
@@ -880,6 +892,8 @@ static const char * const xirq_groups[] = { | |||
880 | 892 | ||
881 | static const struct uniphier_pinmux_function uniphier_ld4_functions[] = { | 893 | static const struct uniphier_pinmux_function uniphier_ld4_functions[] = { |
882 | UNIPHIER_PINMUX_FUNCTION(emmc), | 894 | UNIPHIER_PINMUX_FUNCTION(emmc), |
895 | UNIPHIER_PINMUX_FUNCTION(ether_mii), | ||
896 | UNIPHIER_PINMUX_FUNCTION(ether_rmii), | ||
883 | UNIPHIER_PINMUX_FUNCTION(i2c0), | 897 | UNIPHIER_PINMUX_FUNCTION(i2c0), |
884 | UNIPHIER_PINMUX_FUNCTION(i2c1), | 898 | UNIPHIER_PINMUX_FUNCTION(i2c1), |
885 | UNIPHIER_PINMUX_FUNCTION(i2c2), | 899 | UNIPHIER_PINMUX_FUNCTION(i2c2), |
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c index 6c0d66c23632..708e5100cf34 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c | |||
@@ -745,6 +745,14 @@ static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42}; | |||
745 | static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1}; | 745 | static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1}; |
746 | static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46}; | 746 | static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46}; |
747 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; | 747 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; |
748 | static const unsigned ether_rgmii_pins[] = {143, 144, 145, 146, 147, 148, 149, | ||
749 | 150, 151, 152, 153, 154, 155, 156, | ||
750 | 157, 158}; | ||
751 | static const int ether_rgmii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
752 | 0, 0, 0, 0}; | ||
753 | static const unsigned ether_rmii_pins[] = {143, 144, 145, 146, 147, 148, 149, | ||
754 | 150, 152, 154, 155, 158}; | ||
755 | static const int ether_rmii_muxvals[] = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1}; | ||
748 | static const unsigned i2c0_pins[] = {109, 110}; | 756 | static const unsigned i2c0_pins[] = {109, 110}; |
749 | static const int i2c0_muxvals[] = {0, 0}; | 757 | static const int i2c0_muxvals[] = {0, 0}; |
750 | static const unsigned i2c1_pins[] = {111, 112}; | 758 | static const unsigned i2c1_pins[] = {111, 112}; |
@@ -873,6 +881,8 @@ static const struct uniphier_pinctrl_group uniphier_ld6b_groups[] = { | |||
873 | UNIPHIER_PINCTRL_GROUP(adinter), | 881 | UNIPHIER_PINCTRL_GROUP(adinter), |
874 | UNIPHIER_PINCTRL_GROUP(emmc), | 882 | UNIPHIER_PINCTRL_GROUP(emmc), |
875 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), | 883 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), |
884 | UNIPHIER_PINCTRL_GROUP(ether_rgmii), | ||
885 | UNIPHIER_PINCTRL_GROUP(ether_rmii), | ||
876 | UNIPHIER_PINCTRL_GROUP(i2c0), | 886 | UNIPHIER_PINCTRL_GROUP(i2c0), |
877 | UNIPHIER_PINCTRL_GROUP(i2c1), | 887 | UNIPHIER_PINCTRL_GROUP(i2c1), |
878 | UNIPHIER_PINCTRL_GROUP(i2c2), | 888 | UNIPHIER_PINCTRL_GROUP(i2c2), |
@@ -1151,6 +1161,8 @@ static const struct uniphier_pinctrl_group uniphier_ld6b_groups[] = { | |||
1151 | 1161 | ||
1152 | static const char * const adinter_groups[] = {"adinter"}; | 1162 | static const char * const adinter_groups[] = {"adinter"}; |
1153 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; | 1163 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; |
1164 | static const char * const ether_rgmii_groups[] = {"ether_rgmii"}; | ||
1165 | static const char * const ether_rmii_groups[] = {"ether_rmii"}; | ||
1154 | static const char * const i2c0_groups[] = {"i2c0"}; | 1166 | static const char * const i2c0_groups[] = {"i2c0"}; |
1155 | static const char * const i2c1_groups[] = {"i2c1"}; | 1167 | static const char * const i2c1_groups[] = {"i2c1"}; |
1156 | static const char * const i2c2_groups[] = {"i2c2"}; | 1168 | static const char * const i2c2_groups[] = {"i2c2"}; |
@@ -1241,6 +1253,8 @@ static const char * const xirq_groups[] = { | |||
1241 | static const struct uniphier_pinmux_function uniphier_ld6b_functions[] = { | 1253 | static const struct uniphier_pinmux_function uniphier_ld6b_functions[] = { |
1242 | UNIPHIER_PINMUX_FUNCTION(adinter), /* Achip-Dchip interconnect */ | 1254 | UNIPHIER_PINMUX_FUNCTION(adinter), /* Achip-Dchip interconnect */ |
1243 | UNIPHIER_PINMUX_FUNCTION(emmc), | 1255 | UNIPHIER_PINMUX_FUNCTION(emmc), |
1256 | UNIPHIER_PINMUX_FUNCTION(ether_rgmii), | ||
1257 | UNIPHIER_PINMUX_FUNCTION(ether_rmii), | ||
1244 | UNIPHIER_PINMUX_FUNCTION(i2c0), | 1258 | UNIPHIER_PINMUX_FUNCTION(i2c0), |
1245 | UNIPHIER_PINMUX_FUNCTION(i2c1), | 1259 | UNIPHIER_PINMUX_FUNCTION(i2c1), |
1246 | UNIPHIER_PINMUX_FUNCTION(i2c2), | 1260 | UNIPHIER_PINMUX_FUNCTION(i2c2), |
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c index 002bd6e60b9a..c306e844f584 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c | |||
@@ -1013,6 +1013,22 @@ static const unsigned emmc_pins[] = {40, 41, 42, 43, 51, 52, 53}; | |||
1013 | static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1}; | 1013 | static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1}; |
1014 | static const unsigned emmc_dat8_pins[] = {44, 45, 46, 47}; | 1014 | static const unsigned emmc_dat8_pins[] = {44, 45, 46, 47}; |
1015 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; | 1015 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; |
1016 | static const unsigned ether_mii_pins[] = {160, 161, 162, 163, 164, 165, 166, | ||
1017 | 167, 168, 169, 170, 171, 172, 173, | ||
1018 | 174, 175, 176, 177, 178, 179}; | ||
1019 | static const int ether_mii_muxvals[] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
1020 | 0, 0, 0, 0, 0, 0, 0}; | ||
1021 | static const unsigned ether_rgmii_pins[] = {160, 161, 162, 163, 164, 165, 167, | ||
1022 | 168, 169, 170, 171, 172, 176, 177, | ||
1023 | 178, 179}; | ||
1024 | static const int ether_rgmii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
1025 | 0, 0, 0, 0}; | ||
1026 | static const unsigned ether_rmii_pins[] = {160, 161, 162, 165, 168, 169, 172, | ||
1027 | 173, 176, 177, 178, 179}; | ||
1028 | static const int ether_rmii_muxvals[] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; | ||
1029 | static const unsigned ether_rmiib_pins[] = {161, 162, 165, 167, 168, 169, 172, | ||
1030 | 173, 176, 177, 178, 179}; | ||
1031 | static const int ether_rmiib_muxvals[] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}; | ||
1016 | static const unsigned i2c0_pins[] = {142, 143}; | 1032 | static const unsigned i2c0_pins[] = {142, 143}; |
1017 | static const int i2c0_muxvals[] = {0, 0}; | 1033 | static const int i2c0_muxvals[] = {0, 0}; |
1018 | static const unsigned i2c1_pins[] = {144, 145}; | 1034 | static const unsigned i2c1_pins[] = {144, 145}; |
@@ -1155,6 +1171,10 @@ static const int xirq_alternatives_muxvals[] = { | |||
1155 | static const struct uniphier_pinctrl_group uniphier_pro4_groups[] = { | 1171 | static const struct uniphier_pinctrl_group uniphier_pro4_groups[] = { |
1156 | UNIPHIER_PINCTRL_GROUP(emmc), | 1172 | UNIPHIER_PINCTRL_GROUP(emmc), |
1157 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), | 1173 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), |
1174 | UNIPHIER_PINCTRL_GROUP(ether_mii), | ||
1175 | UNIPHIER_PINCTRL_GROUP(ether_rgmii), | ||
1176 | UNIPHIER_PINCTRL_GROUP(ether_rmii), | ||
1177 | UNIPHIER_PINCTRL_GROUP(ether_rmiib), | ||
1158 | UNIPHIER_PINCTRL_GROUP(i2c0), | 1178 | UNIPHIER_PINCTRL_GROUP(i2c0), |
1159 | UNIPHIER_PINCTRL_GROUP(i2c1), | 1179 | UNIPHIER_PINCTRL_GROUP(i2c1), |
1160 | UNIPHIER_PINCTRL_GROUP(i2c2), | 1180 | UNIPHIER_PINCTRL_GROUP(i2c2), |
@@ -1439,6 +1459,9 @@ static const struct uniphier_pinctrl_group uniphier_pro4_groups[] = { | |||
1439 | }; | 1459 | }; |
1440 | 1460 | ||
1441 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; | 1461 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; |
1462 | static const char * const ether_mii_groups[] = {"ether_mii"}; | ||
1463 | static const char * const ether_rgmii_groups[] = {"ether_rgmii"}; | ||
1464 | static const char * const ether_rmii_groups[] = {"ether_rgmii", "ether_rgmiib"}; | ||
1442 | static const char * const i2c0_groups[] = {"i2c0"}; | 1465 | static const char * const i2c0_groups[] = {"i2c0"}; |
1443 | static const char * const i2c1_groups[] = {"i2c1"}; | 1466 | static const char * const i2c1_groups[] = {"i2c1"}; |
1444 | static const char * const i2c2_groups[] = {"i2c2"}; | 1467 | static const char * const i2c2_groups[] = {"i2c2"}; |
@@ -1536,6 +1559,9 @@ static const char * const xirq_groups[] = { | |||
1536 | 1559 | ||
1537 | static const struct uniphier_pinmux_function uniphier_pro4_functions[] = { | 1560 | static const struct uniphier_pinmux_function uniphier_pro4_functions[] = { |
1538 | UNIPHIER_PINMUX_FUNCTION(emmc), | 1561 | UNIPHIER_PINMUX_FUNCTION(emmc), |
1562 | UNIPHIER_PINMUX_FUNCTION(ether_mii), | ||
1563 | UNIPHIER_PINMUX_FUNCTION(ether_rgmii), | ||
1564 | UNIPHIER_PINMUX_FUNCTION(ether_rmii), | ||
1539 | UNIPHIER_PINMUX_FUNCTION(i2c0), | 1565 | UNIPHIER_PINMUX_FUNCTION(i2c0), |
1540 | UNIPHIER_PINMUX_FUNCTION(i2c1), | 1566 | UNIPHIER_PINMUX_FUNCTION(i2c1), |
1541 | UNIPHIER_PINMUX_FUNCTION(i2c2), | 1567 | UNIPHIER_PINMUX_FUNCTION(i2c2), |
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c index 8e1d73ea4ff0..85ca5e2d8a9c 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c | |||
@@ -731,6 +731,19 @@ static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42}; | |||
731 | static const int emmc_muxvals[] = {9, 9, 9, 9, 9, 9, 9}; | 731 | static const int emmc_muxvals[] = {9, 9, 9, 9, 9, 9, 9}; |
732 | static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46}; | 732 | static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46}; |
733 | static const int emmc_dat8_muxvals[] = {9, 9, 9, 9}; | 733 | static const int emmc_dat8_muxvals[] = {9, 9, 9, 9}; |
734 | static const unsigned ether_mii_pins[] = {143, 144, 145, 146, 147, 148, 149, | ||
735 | 150, 151, 152, 153, 154, 155, 156, | ||
736 | 158, 159, 199, 200, 201, 202}; | ||
737 | static const int ether_mii_muxvals[] = {8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, | ||
738 | 10, 10, 10, 10, 10, 12, 12, 12, 12}; | ||
739 | static const unsigned ether_rgmii_pins[] = {143, 144, 145, 146, 147, 148, 149, | ||
740 | 150, 151, 152, 153, 154, 155, 156, | ||
741 | 157, 158}; | ||
742 | static const int ether_rgmii_muxvals[] = {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, | ||
743 | 8, 8, 8, 8}; | ||
744 | static const unsigned ether_rmii_pins[] = {143, 144, 145, 146, 147, 148, 149, | ||
745 | 150, 152, 154, 155, 158}; | ||
746 | static const int ether_rmii_muxvals[] = {8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9}; | ||
734 | static const unsigned i2c0_pins[] = {109, 110}; | 747 | static const unsigned i2c0_pins[] = {109, 110}; |
735 | static const int i2c0_muxvals[] = {8, 8}; | 748 | static const int i2c0_muxvals[] = {8, 8}; |
736 | static const unsigned i2c1_pins[] = {111, 112}; | 749 | static const unsigned i2c1_pins[] = {111, 112}; |
@@ -854,6 +867,9 @@ static const int xirq_muxvals[] = { | |||
854 | static const struct uniphier_pinctrl_group uniphier_pxs2_groups[] = { | 867 | static const struct uniphier_pinctrl_group uniphier_pxs2_groups[] = { |
855 | UNIPHIER_PINCTRL_GROUP(emmc), | 868 | UNIPHIER_PINCTRL_GROUP(emmc), |
856 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), | 869 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), |
870 | UNIPHIER_PINCTRL_GROUP(ether_mii), | ||
871 | UNIPHIER_PINCTRL_GROUP(ether_rgmii), | ||
872 | UNIPHIER_PINCTRL_GROUP(ether_rmii), | ||
857 | UNIPHIER_PINCTRL_GROUP(i2c0), | 873 | UNIPHIER_PINCTRL_GROUP(i2c0), |
858 | UNIPHIER_PINCTRL_GROUP(i2c1), | 874 | UNIPHIER_PINCTRL_GROUP(i2c1), |
859 | UNIPHIER_PINCTRL_GROUP(i2c2), | 875 | UNIPHIER_PINCTRL_GROUP(i2c2), |
@@ -1129,6 +1145,9 @@ static const struct uniphier_pinctrl_group uniphier_pxs2_groups[] = { | |||
1129 | }; | 1145 | }; |
1130 | 1146 | ||
1131 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; | 1147 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; |
1148 | static const char * const ether_mii_groups[] = {"ether_mii"}; | ||
1149 | static const char * const ether_rgmii_groups[] = {"ether_rgmii"}; | ||
1150 | static const char * const ether_rmii_groups[] = {"ether_rmii"}; | ||
1132 | static const char * const i2c0_groups[] = {"i2c0"}; | 1151 | static const char * const i2c0_groups[] = {"i2c0"}; |
1133 | static const char * const i2c1_groups[] = {"i2c1"}; | 1152 | static const char * const i2c1_groups[] = {"i2c1"}; |
1134 | static const char * const i2c2_groups[] = {"i2c2"}; | 1153 | static const char * const i2c2_groups[] = {"i2c2"}; |
@@ -1217,6 +1236,9 @@ static const char * const xirq_groups[] = { | |||
1217 | 1236 | ||
1218 | static const struct uniphier_pinmux_function uniphier_pxs2_functions[] = { | 1237 | static const struct uniphier_pinmux_function uniphier_pxs2_functions[] = { |
1219 | UNIPHIER_PINMUX_FUNCTION(emmc), | 1238 | UNIPHIER_PINMUX_FUNCTION(emmc), |
1239 | UNIPHIER_PINMUX_FUNCTION(ether_mii), | ||
1240 | UNIPHIER_PINMUX_FUNCTION(ether_rgmii), | ||
1241 | UNIPHIER_PINMUX_FUNCTION(ether_rmii), | ||
1220 | UNIPHIER_PINMUX_FUNCTION(i2c0), | 1242 | UNIPHIER_PINMUX_FUNCTION(i2c0), |
1221 | UNIPHIER_PINMUX_FUNCTION(i2c1), | 1243 | UNIPHIER_PINMUX_FUNCTION(i2c1), |
1222 | UNIPHIER_PINMUX_FUNCTION(i2c2), | 1244 | UNIPHIER_PINMUX_FUNCTION(i2c2), |
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c index 8ea740df9e6b..da689d880f46 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c | |||
@@ -480,6 +480,14 @@ static const unsigned emmc_pins[] = {21, 22, 23, 24, 25, 26, 27}; | |||
480 | static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1}; | 480 | static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1}; |
481 | static const unsigned emmc_dat8_pins[] = {28, 29, 30, 31}; | 481 | static const unsigned emmc_dat8_pins[] = {28, 29, 30, 31}; |
482 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; | 482 | static const int emmc_dat8_muxvals[] = {1, 1, 1, 1}; |
483 | static const unsigned ether_mii_pins[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, | ||
484 | 61, 63, 64, 65, 66, 67, 68}; | ||
485 | static const int ether_mii_muxvals[] = {13, 13, 13, 13, 13, 13, 13, 13, 13, 13, | ||
486 | 13, 13, 27, 27, 27, 27, 27, 27, 27}; | ||
487 | static const unsigned ether_rmii_pins[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, | ||
488 | 14}; | ||
489 | static const int ether_rmii_muxvals[] = {13, 13, 13, 13, 13, 13, 13, 13, 13, | ||
490 | 13, 13, 13}; | ||
483 | static const unsigned i2c0_pins[] = {102, 103}; | 491 | static const unsigned i2c0_pins[] = {102, 103}; |
484 | static const int i2c0_muxvals[] = {0, 0}; | 492 | static const int i2c0_muxvals[] = {0, 0}; |
485 | static const unsigned i2c1_pins[] = {104, 105}; | 493 | static const unsigned i2c1_pins[] = {104, 105}; |
@@ -589,6 +597,8 @@ static const int xirq_range1_muxvals[] = { | |||
589 | static const struct uniphier_pinctrl_group uniphier_sld8_groups[] = { | 597 | static const struct uniphier_pinctrl_group uniphier_sld8_groups[] = { |
590 | UNIPHIER_PINCTRL_GROUP(emmc), | 598 | UNIPHIER_PINCTRL_GROUP(emmc), |
591 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), | 599 | UNIPHIER_PINCTRL_GROUP(emmc_dat8), |
600 | UNIPHIER_PINCTRL_GROUP(ether_mii), | ||
601 | UNIPHIER_PINCTRL_GROUP(ether_rmii), | ||
592 | UNIPHIER_PINCTRL_GROUP(i2c0), | 602 | UNIPHIER_PINCTRL_GROUP(i2c0), |
593 | UNIPHIER_PINCTRL_GROUP(i2c1), | 603 | UNIPHIER_PINCTRL_GROUP(i2c1), |
594 | UNIPHIER_PINCTRL_GROUP(i2c2), | 604 | UNIPHIER_PINCTRL_GROUP(i2c2), |
@@ -745,6 +755,8 @@ static const struct uniphier_pinctrl_group uniphier_sld8_groups[] = { | |||
745 | }; | 755 | }; |
746 | 756 | ||
747 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; | 757 | static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; |
758 | static const char * const ether_mii_groups[] = {"ether_mii"}; | ||
759 | static const char * const ether_rmii_groups[] = {"ether_rmii"}; | ||
748 | static const char * const i2c0_groups[] = {"i2c0"}; | 760 | static const char * const i2c0_groups[] = {"i2c0"}; |
749 | static const char * const i2c1_groups[] = {"i2c1"}; | 761 | static const char * const i2c1_groups[] = {"i2c1"}; |
750 | static const char * const i2c2_groups[] = {"i2c2"}; | 762 | static const char * const i2c2_groups[] = {"i2c2"}; |
@@ -807,6 +819,8 @@ static const char * const xirq_groups[] = { | |||
807 | 819 | ||
808 | static const struct uniphier_pinmux_function uniphier_sld8_functions[] = { | 820 | static const struct uniphier_pinmux_function uniphier_sld8_functions[] = { |
809 | UNIPHIER_PINMUX_FUNCTION(emmc), | 821 | UNIPHIER_PINMUX_FUNCTION(emmc), |
822 | UNIPHIER_PINMUX_FUNCTION(ether_mii), | ||
823 | UNIPHIER_PINMUX_FUNCTION(ether_rmii), | ||
810 | UNIPHIER_PINMUX_FUNCTION(i2c0), | 824 | UNIPHIER_PINMUX_FUNCTION(i2c0), |
811 | UNIPHIER_PINMUX_FUNCTION(i2c1), | 825 | UNIPHIER_PINMUX_FUNCTION(i2c1), |
812 | UNIPHIER_PINMUX_FUNCTION(i2c2), | 826 | UNIPHIER_PINMUX_FUNCTION(i2c2), |