aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2016-05-31 04:05:20 -0400
committerLinus Walleij <linus.walleij@linaro.org>2016-05-31 06:53:06 -0400
commita2456a77abf1fc3b0b037a67c9ee6e940d081a65 (patch)
tree9cf7549964ce29956043a75699e3c1a49c7ef1f3
parent1e359ebe330ff0b010115e850ba352dfe9f43661 (diff)
pinctrl: uniphier: add System Bus pin-mux settings
This is needed to get access to UniPhier System Bus (external bus). 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-ld4.c23
-rw-r--r--drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c27
-rw-r--r--drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c39
-rw-r--r--drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c39
-rw-r--r--drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c11
-rw-r--r--drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c27
6 files changed, 166 insertions, 0 deletions
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
index 6692e80139c1..7437483d1bdb 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
@@ -567,6 +567,18 @@ static const unsigned nand_cs1_pins[] = {22, 23};
567static const int nand_cs1_muxvals[] = {0, 0}; 567static const int nand_cs1_muxvals[] = {0, 0};
568static const unsigned sd_pins[] = {44, 45, 46, 47, 48, 49, 50, 51, 52}; 568static const unsigned sd_pins[] = {44, 45, 46, 47, 48, 49, 50, 51, 52};
569static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; 569static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
570static const unsigned system_bus_pins[] = {16, 17, 18, 19, 20, 165, 166, 167,
571 168, 169, 170, 171, 172, 173};
572static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
573 -1, -1, -1};
574static const unsigned system_bus_cs0_pins[] = {155};
575static const int system_bus_cs0_muxvals[] = {1};
576static const unsigned system_bus_cs1_pins[] = {174};
577static const int system_bus_cs1_muxvals[] = {-1};
578static const unsigned system_bus_cs2_pins[] = {64};
579static const int system_bus_cs2_muxvals[] = {1};
580static const unsigned system_bus_cs3_pins[] = {156};
581static const int system_bus_cs3_muxvals[] = {1};
570static const unsigned uart0_pins[] = {85, 88}; 582static const unsigned uart0_pins[] = {85, 88};
571static const int uart0_muxvals[] = {1, 1}; 583static const int uart0_muxvals[] = {1, 1};
572static const unsigned uart1_pins[] = {155, 156}; 584static const unsigned uart1_pins[] = {155, 156};
@@ -650,6 +662,11 @@ static const struct uniphier_pinctrl_group uniphier_ld4_groups[] = {
650 UNIPHIER_PINCTRL_GROUP(nand), 662 UNIPHIER_PINCTRL_GROUP(nand),
651 UNIPHIER_PINCTRL_GROUP(nand_cs1), 663 UNIPHIER_PINCTRL_GROUP(nand_cs1),
652 UNIPHIER_PINCTRL_GROUP(sd), 664 UNIPHIER_PINCTRL_GROUP(sd),
665 UNIPHIER_PINCTRL_GROUP(system_bus),
666 UNIPHIER_PINCTRL_GROUP(system_bus_cs0),
667 UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
668 UNIPHIER_PINCTRL_GROUP(system_bus_cs2),
669 UNIPHIER_PINCTRL_GROUP(system_bus_cs3),
653 UNIPHIER_PINCTRL_GROUP(uart0), 670 UNIPHIER_PINCTRL_GROUP(uart0),
654 UNIPHIER_PINCTRL_GROUP(uart1), 671 UNIPHIER_PINCTRL_GROUP(uart1),
655 UNIPHIER_PINCTRL_GROUP(uart1b), 672 UNIPHIER_PINCTRL_GROUP(uart1b),
@@ -808,6 +825,11 @@ static const char * const i2c2_groups[] = {"i2c2"};
808static const char * const i2c3_groups[] = {"i2c3"}; 825static const char * const i2c3_groups[] = {"i2c3"};
809static const char * const nand_groups[] = {"nand", "nand_cs1"}; 826static const char * const nand_groups[] = {"nand", "nand_cs1"};
810static const char * const sd_groups[] = {"sd"}; 827static const char * const sd_groups[] = {"sd"};
828static const char * const system_bus_groups[] = {"system_bus",
829 "system_bus_cs0",
830 "system_bus_cs1",
831 "system_bus_cs2",
832 "system_bus_cs3"};
811static const char * const uart0_groups[] = {"uart0"}; 833static const char * const uart0_groups[] = {"uart0"};
812static const char * const uart1_groups[] = {"uart1", "uart1b"}; 834static const char * const uart1_groups[] = {"uart1", "uart1b"};
813static const char * const uart2_groups[] = {"uart2"}; 835static const char * const uart2_groups[] = {"uart2"};
@@ -864,6 +886,7 @@ static const struct uniphier_pinmux_function uniphier_ld4_functions[] = {
864 UNIPHIER_PINMUX_FUNCTION(i2c3), 886 UNIPHIER_PINMUX_FUNCTION(i2c3),
865 UNIPHIER_PINMUX_FUNCTION(nand), 887 UNIPHIER_PINMUX_FUNCTION(nand),
866 UNIPHIER_PINMUX_FUNCTION(sd), 888 UNIPHIER_PINMUX_FUNCTION(sd),
889 UNIPHIER_PINMUX_FUNCTION(system_bus),
867 UNIPHIER_PINMUX_FUNCTION(uart0), 890 UNIPHIER_PINMUX_FUNCTION(uart0),
868 UNIPHIER_PINMUX_FUNCTION(uart1), 891 UNIPHIER_PINMUX_FUNCTION(uart1),
869 UNIPHIER_PINMUX_FUNCTION(uart2), 892 UNIPHIER_PINMUX_FUNCTION(uart2),
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
index 638b342e7c4f..d57519432538 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
@@ -760,6 +760,20 @@ static const unsigned nand_cs1_pins[] = {37, 38};
760static const int nand_cs1_muxvals[] = {0, 0}; 760static const int nand_cs1_muxvals[] = {0, 0};
761static const unsigned sd_pins[] = {47, 48, 49, 50, 51, 52, 53, 54, 55}; 761static const unsigned sd_pins[] = {47, 48, 49, 50, 51, 52, 53, 54, 55};
762static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; 762static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
763static const unsigned system_bus_pins[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
764 11, 12, 13};
765static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 0};
767static const unsigned system_bus_cs1_pins[] = {14};
768static const int system_bus_cs1_muxvals[] = {0};
769static const unsigned system_bus_cs2_pins[] = {37};
770static const int system_bus_cs2_muxvals[] = {6};
771static const unsigned system_bus_cs3_pins[] = {38};
772static const int system_bus_cs3_muxvals[] = {6};
773static const unsigned system_bus_cs4_pins[] = {115};
774static const int system_bus_cs4_muxvals[] = {6};
775static const unsigned system_bus_cs5_pins[] = {55};
776static const int system_bus_cs5_muxvals[] = {6};
763static const unsigned uart0_pins[] = {135, 136}; 777static const unsigned uart0_pins[] = {135, 136};
764static const int uart0_muxvals[] = {3, 3}; 778static const int uart0_muxvals[] = {3, 3};
765static const unsigned uart0b_pins[] = {11, 12}; 779static const unsigned uart0b_pins[] = {11, 12};
@@ -866,6 +880,12 @@ static const struct uniphier_pinctrl_group uniphier_ld6b_groups[] = {
866 UNIPHIER_PINCTRL_GROUP(nand), 880 UNIPHIER_PINCTRL_GROUP(nand),
867 UNIPHIER_PINCTRL_GROUP(nand_cs1), 881 UNIPHIER_PINCTRL_GROUP(nand_cs1),
868 UNIPHIER_PINCTRL_GROUP(sd), 882 UNIPHIER_PINCTRL_GROUP(sd),
883 UNIPHIER_PINCTRL_GROUP(system_bus),
884 UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
885 UNIPHIER_PINCTRL_GROUP(system_bus_cs2),
886 UNIPHIER_PINCTRL_GROUP(system_bus_cs3),
887 UNIPHIER_PINCTRL_GROUP(system_bus_cs4),
888 UNIPHIER_PINCTRL_GROUP(system_bus_cs5),
869 UNIPHIER_PINCTRL_GROUP(uart0), 889 UNIPHIER_PINCTRL_GROUP(uart0),
870 UNIPHIER_PINCTRL_GROUP(uart0b), 890 UNIPHIER_PINCTRL_GROUP(uart0b),
871 UNIPHIER_PINCTRL_GROUP(uart1), 891 UNIPHIER_PINCTRL_GROUP(uart1),
@@ -1137,6 +1157,12 @@ static const char * const i2c2_groups[] = {"i2c2"};
1137static const char * const i2c3_groups[] = {"i2c3"}; 1157static const char * const i2c3_groups[] = {"i2c3"};
1138static const char * const nand_groups[] = {"nand", "nand_cs1"}; 1158static const char * const nand_groups[] = {"nand", "nand_cs1"};
1139static const char * const sd_groups[] = {"sd"}; 1159static const char * const sd_groups[] = {"sd"};
1160static const char * const system_bus_groups[] = {"system_bus",
1161 "system_bus_cs1",
1162 "system_bus_cs2",
1163 "system_bus_cs3",
1164 "system_bus_cs4",
1165 "system_bus_cs5"};
1140static const char * const uart0_groups[] = {"uart0", "uart0b"}; 1166static const char * const uart0_groups[] = {"uart0", "uart0b"};
1141static const char * const uart1_groups[] = {"uart1", "uart1b"}; 1167static const char * const uart1_groups[] = {"uart1", "uart1b"};
1142static const char * const uart2_groups[] = {"uart2", "uart2b"}; 1168static const char * const uart2_groups[] = {"uart2", "uart2b"};
@@ -1221,6 +1247,7 @@ static const struct uniphier_pinmux_function uniphier_ld6b_functions[] = {
1221 UNIPHIER_PINMUX_FUNCTION(i2c3), 1247 UNIPHIER_PINMUX_FUNCTION(i2c3),
1222 UNIPHIER_PINMUX_FUNCTION(nand), 1248 UNIPHIER_PINMUX_FUNCTION(nand),
1223 UNIPHIER_PINMUX_FUNCTION(sd), 1249 UNIPHIER_PINMUX_FUNCTION(sd),
1250 UNIPHIER_PINMUX_FUNCTION(system_bus),
1224 UNIPHIER_PINMUX_FUNCTION(uart0), 1251 UNIPHIER_PINMUX_FUNCTION(uart0),
1225 UNIPHIER_PINMUX_FUNCTION(uart1), 1252 UNIPHIER_PINMUX_FUNCTION(uart1),
1226 UNIPHIER_PINMUX_FUNCTION(uart2), 1253 UNIPHIER_PINMUX_FUNCTION(uart2),
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
index e973dd87f15f..35c5c5129935 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
@@ -1033,6 +1033,26 @@ static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
1033static const unsigned sd1_pins[] = {319, 320, 321, 322, 323, 324, 325, 326, 1033static const unsigned sd1_pins[] = {319, 320, 321, 322, 323, 324, 325, 326,
1034 327}; 1034 327};
1035static const int sd1_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; 1035static const int sd1_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
1036static const unsigned system_bus_pins[] = {25, 26, 27, 28, 29, 30, 31, 32, 33,
1037 34, 35, 36, 37, 38};
1038static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1039 0};
1040static const unsigned system_bus_cs0_pins[] = {318};
1041static const int system_bus_cs0_muxvals[] = {5};
1042static const unsigned system_bus_cs1_pins[] = {24};
1043static const int system_bus_cs1_muxvals[] = {0};
1044static const unsigned system_bus_cs2_pins[] = {315};
1045static const int system_bus_cs2_muxvals[] = {5};
1046static const unsigned system_bus_cs3_pins[] = {313};
1047static const int system_bus_cs3_muxvals[] = {5};
1048static const unsigned system_bus_cs4_pins[] = {305};
1049static const int system_bus_cs4_muxvals[] = {5};
1050static const unsigned system_bus_cs5_pins[] = {303};
1051static const int system_bus_cs5_muxvals[] = {6};
1052static const unsigned system_bus_cs6_pins[] = {307};
1053static const int system_bus_cs6_muxvals[] = {6};
1054static const unsigned system_bus_cs7_pins[] = {312};
1055static const int system_bus_cs7_muxvals[] = {6};
1036static const unsigned uart0_pins[] = {127, 128}; 1056static const unsigned uart0_pins[] = {127, 128};
1037static const int uart0_muxvals[] = {0, 0}; 1057static const int uart0_muxvals[] = {0, 0};
1038static const unsigned uart1_pins[] = {129, 130}; 1058static const unsigned uart1_pins[] = {129, 130};
@@ -1144,6 +1164,15 @@ static const struct uniphier_pinctrl_group uniphier_pro4_groups[] = {
1144 UNIPHIER_PINCTRL_GROUP(nand_cs1), 1164 UNIPHIER_PINCTRL_GROUP(nand_cs1),
1145 UNIPHIER_PINCTRL_GROUP(sd), 1165 UNIPHIER_PINCTRL_GROUP(sd),
1146 UNIPHIER_PINCTRL_GROUP(sd1), 1166 UNIPHIER_PINCTRL_GROUP(sd1),
1167 UNIPHIER_PINCTRL_GROUP(system_bus),
1168 UNIPHIER_PINCTRL_GROUP(system_bus_cs0),
1169 UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
1170 UNIPHIER_PINCTRL_GROUP(system_bus_cs2),
1171 UNIPHIER_PINCTRL_GROUP(system_bus_cs3),
1172 UNIPHIER_PINCTRL_GROUP(system_bus_cs4),
1173 UNIPHIER_PINCTRL_GROUP(system_bus_cs5),
1174 UNIPHIER_PINCTRL_GROUP(system_bus_cs6),
1175 UNIPHIER_PINCTRL_GROUP(system_bus_cs7),
1147 UNIPHIER_PINCTRL_GROUP(uart0), 1176 UNIPHIER_PINCTRL_GROUP(uart0),
1148 UNIPHIER_PINCTRL_GROUP(uart1), 1177 UNIPHIER_PINCTRL_GROUP(uart1),
1149 UNIPHIER_PINCTRL_GROUP(uart2), 1178 UNIPHIER_PINCTRL_GROUP(uart2),
@@ -1418,6 +1447,15 @@ static const char * const i2c6_groups[] = {"i2c6"};
1418static const char * const nand_groups[] = {"nand", "nand_cs1"}; 1447static const char * const nand_groups[] = {"nand", "nand_cs1"};
1419static const char * const sd_groups[] = {"sd"}; 1448static const char * const sd_groups[] = {"sd"};
1420static const char * const sd1_groups[] = {"sd1"}; 1449static const char * const sd1_groups[] = {"sd1"};
1450static const char * const system_bus_groups[] = {"system_bus",
1451 "system_bus_cs0",
1452 "system_bus_cs1",
1453 "system_bus_cs2",
1454 "system_bus_cs3",
1455 "system_bus_cs4",
1456 "system_bus_cs5",
1457 "system_bus_cs6",
1458 "system_bus_cs7"};
1421static const char * const uart0_groups[] = {"uart0"}; 1459static const char * const uart0_groups[] = {"uart0"};
1422static const char * const uart1_groups[] = {"uart1"}; 1460static const char * const uart1_groups[] = {"uart1"};
1423static const char * const uart2_groups[] = {"uart2"}; 1461static const char * const uart2_groups[] = {"uart2"};
@@ -1506,6 +1544,7 @@ static const struct uniphier_pinmux_function uniphier_pro4_functions[] = {
1506 UNIPHIER_PINMUX_FUNCTION(nand), 1544 UNIPHIER_PINMUX_FUNCTION(nand),
1507 UNIPHIER_PINMUX_FUNCTION(sd), 1545 UNIPHIER_PINMUX_FUNCTION(sd),
1508 UNIPHIER_PINMUX_FUNCTION(sd1), 1546 UNIPHIER_PINMUX_FUNCTION(sd1),
1547 UNIPHIER_PINMUX_FUNCTION(system_bus),
1509 UNIPHIER_PINMUX_FUNCTION(uart0), 1548 UNIPHIER_PINMUX_FUNCTION(uart0),
1510 UNIPHIER_PINMUX_FUNCTION(uart1), 1549 UNIPHIER_PINMUX_FUNCTION(uart1),
1511 UNIPHIER_PINMUX_FUNCTION(uart2), 1550 UNIPHIER_PINMUX_FUNCTION(uart2),
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
index 191c20035fdc..f94eb42270cf 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
@@ -817,6 +817,26 @@ static const unsigned nand_cs1_pins[] = {26, 27};
817static const int nand_cs1_muxvals[] = {0, 0}; 817static const int nand_cs1_muxvals[] = {0, 0};
818static const unsigned sd_pins[] = {250, 251, 252, 253, 254, 255, 256, 257, 258}; 818static const unsigned sd_pins[] = {250, 251, 252, 253, 254, 255, 256, 257, 258};
819static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; 819static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
820static const unsigned system_bus_pins[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
821 14, 15, 16, 17};
822static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823 0};
824static const unsigned system_bus_cs0_pins[] = {105};
825static const int system_bus_cs0_muxvals[] = {1};
826static const unsigned system_bus_cs1_pins[] = {18};
827static const int system_bus_cs1_muxvals[] = {0};
828static const unsigned system_bus_cs2_pins[] = {106};
829static const int system_bus_cs2_muxvals[] = {1};
830static const unsigned system_bus_cs3_pins[] = {100};
831static const int system_bus_cs3_muxvals[] = {1};
832static const unsigned system_bus_cs4_pins[] = {101};
833static const int system_bus_cs4_muxvals[] = {1};
834static const unsigned system_bus_cs5_pins[] = {102};
835static const int system_bus_cs5_muxvals[] = {1};
836static const unsigned system_bus_cs6_pins[] = {69};
837static const int system_bus_cs6_muxvals[] = {5};
838static const unsigned system_bus_cs7_pins[] = {70};
839static const int system_bus_cs7_muxvals[] = {5};
820static const unsigned uart0_pins[] = {47, 48}; 840static const unsigned uart0_pins[] = {47, 48};
821static const int uart0_muxvals[] = {0, 0}; 841static const int uart0_muxvals[] = {0, 0};
822static const unsigned uart0b_pins[] = {227, 228}; 842static const unsigned uart0b_pins[] = {227, 228};
@@ -930,6 +950,15 @@ static const struct uniphier_pinctrl_group uniphier_pro5_groups[] = {
930 UNIPHIER_PINCTRL_GROUP(i2c5c), 950 UNIPHIER_PINCTRL_GROUP(i2c5c),
931 UNIPHIER_PINCTRL_GROUP(i2c6), 951 UNIPHIER_PINCTRL_GROUP(i2c6),
932 UNIPHIER_PINCTRL_GROUP(sd), 952 UNIPHIER_PINCTRL_GROUP(sd),
953 UNIPHIER_PINCTRL_GROUP(system_bus),
954 UNIPHIER_PINCTRL_GROUP(system_bus_cs0),
955 UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
956 UNIPHIER_PINCTRL_GROUP(system_bus_cs2),
957 UNIPHIER_PINCTRL_GROUP(system_bus_cs3),
958 UNIPHIER_PINCTRL_GROUP(system_bus_cs4),
959 UNIPHIER_PINCTRL_GROUP(system_bus_cs5),
960 UNIPHIER_PINCTRL_GROUP(system_bus_cs6),
961 UNIPHIER_PINCTRL_GROUP(system_bus_cs7),
933 UNIPHIER_PINCTRL_GROUP(uart0), 962 UNIPHIER_PINCTRL_GROUP(uart0),
934 UNIPHIER_PINCTRL_GROUP(uart0b), 963 UNIPHIER_PINCTRL_GROUP(uart0b),
935 UNIPHIER_PINCTRL_GROUP(uart1), 964 UNIPHIER_PINCTRL_GROUP(uart1),
@@ -1210,6 +1239,15 @@ static const char * const i2c5_groups[] = {"i2c5", "i2c5b", "i2c5c"};
1210static const char * const i2c6_groups[] = {"i2c6"}; 1239static const char * const i2c6_groups[] = {"i2c6"};
1211static const char * const nand_groups[] = {"nand", "nand_cs1"}; 1240static const char * const nand_groups[] = {"nand", "nand_cs1"};
1212static const char * const sd_groups[] = {"sd"}; 1241static const char * const sd_groups[] = {"sd"};
1242static const char * const system_bus_groups[] = {"system_bus",
1243 "system_bus_cs0",
1244 "system_bus_cs1",
1245 "system_bus_cs2",
1246 "system_bus_cs3",
1247 "system_bus_cs4",
1248 "system_bus_cs5",
1249 "system_bus_cs6",
1250 "system_bus_cs7"};
1213static const char * const uart0_groups[] = {"uart0", "uart0b"}; 1251static const char * const uart0_groups[] = {"uart0", "uart0b"};
1214static const char * const uart1_groups[] = {"uart1"}; 1252static const char * const uart1_groups[] = {"uart1"};
1215static const char * const uart2_groups[] = {"uart2"}; 1253static const char * const uart2_groups[] = {"uart2"};
@@ -1298,6 +1336,7 @@ static const struct uniphier_pinmux_function uniphier_pro5_functions[] = {
1298 UNIPHIER_PINMUX_FUNCTION(i2c6), 1336 UNIPHIER_PINMUX_FUNCTION(i2c6),
1299 UNIPHIER_PINMUX_FUNCTION(nand), 1337 UNIPHIER_PINMUX_FUNCTION(nand),
1300 UNIPHIER_PINMUX_FUNCTION(sd), 1338 UNIPHIER_PINMUX_FUNCTION(sd),
1339 UNIPHIER_PINMUX_FUNCTION(system_bus),
1301 UNIPHIER_PINMUX_FUNCTION(uart0), 1340 UNIPHIER_PINMUX_FUNCTION(uart0),
1302 UNIPHIER_PINMUX_FUNCTION(uart1), 1341 UNIPHIER_PINMUX_FUNCTION(uart1),
1303 UNIPHIER_PINMUX_FUNCTION(uart2), 1342 UNIPHIER_PINMUX_FUNCTION(uart2),
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
index 4349e99fff3c..c879be3e72d6 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
@@ -750,6 +750,12 @@ static const unsigned nand_cs1_pins[] = {37, 38};
750static const int nand_cs1_muxvals[] = {8, 8}; 750static const int nand_cs1_muxvals[] = {8, 8};
751static const unsigned sd_pins[] = {47, 48, 49, 50, 51, 52, 53, 54, 55}; 751static const unsigned sd_pins[] = {47, 48, 49, 50, 51, 52, 53, 54, 55};
752static const int sd_muxvals[] = {8, 8, 8, 8, 8, 8, 8, 8, 8}; 752static const int sd_muxvals[] = {8, 8, 8, 8, 8, 8, 8, 8, 8};
753static const unsigned system_bus_pins[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
754 11, 12, 13};
755static const int system_bus_muxvals[] = {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
756 8};
757static const unsigned system_bus_cs1_pins[] = {14};
758static const int system_bus_cs1_muxvals[] = {8};
753static const unsigned uart0_pins[] = {217, 218}; 759static const unsigned uart0_pins[] = {217, 218};
754static const int uart0_muxvals[] = {8, 8}; 760static const int uart0_muxvals[] = {8, 8};
755static const unsigned uart0b_pins[] = {179, 180}; 761static const unsigned uart0b_pins[] = {179, 180};
@@ -857,6 +863,8 @@ static const struct uniphier_pinctrl_group uniphier_pxs2_groups[] = {
857 UNIPHIER_PINCTRL_GROUP(nand), 863 UNIPHIER_PINCTRL_GROUP(nand),
858 UNIPHIER_PINCTRL_GROUP(nand_cs1), 864 UNIPHIER_PINCTRL_GROUP(nand_cs1),
859 UNIPHIER_PINCTRL_GROUP(sd), 865 UNIPHIER_PINCTRL_GROUP(sd),
866 UNIPHIER_PINCTRL_GROUP(system_bus),
867 UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
860 UNIPHIER_PINCTRL_GROUP(uart0), 868 UNIPHIER_PINCTRL_GROUP(uart0),
861 UNIPHIER_PINCTRL_GROUP(uart0b), 869 UNIPHIER_PINCTRL_GROUP(uart0b),
862 UNIPHIER_PINCTRL_GROUP(uart1), 870 UNIPHIER_PINCTRL_GROUP(uart1),
@@ -1129,6 +1137,8 @@ static const char * const i2c5_groups[] = {"i2c5"};
1129static const char * const i2c6_groups[] = {"i2c6"}; 1137static const char * const i2c6_groups[] = {"i2c6"};
1130static const char * const nand_groups[] = {"nand", "nand_cs1"}; 1138static const char * const nand_groups[] = {"nand", "nand_cs1"};
1131static const char * const sd_groups[] = {"sd"}; 1139static const char * const sd_groups[] = {"sd"};
1140static const char * const system_bus_groups[] = {"system_bus",
1141 "system_bus_cs1"};
1132static const char * const uart0_groups[] = {"uart0", "uart0b"}; 1142static const char * const uart0_groups[] = {"uart0", "uart0b"};
1133static const char * const uart1_groups[] = {"uart1"}; 1143static const char * const uart1_groups[] = {"uart1"};
1134static const char * const uart2_groups[] = {"uart2"}; 1144static const char * const uart2_groups[] = {"uart2"};
@@ -1215,6 +1225,7 @@ static const struct uniphier_pinmux_function uniphier_pxs2_functions[] = {
1215 UNIPHIER_PINMUX_FUNCTION(i2c6), 1225 UNIPHIER_PINMUX_FUNCTION(i2c6),
1216 UNIPHIER_PINMUX_FUNCTION(nand), 1226 UNIPHIER_PINMUX_FUNCTION(nand),
1217 UNIPHIER_PINMUX_FUNCTION(sd), 1227 UNIPHIER_PINMUX_FUNCTION(sd),
1228 UNIPHIER_PINMUX_FUNCTION(system_bus),
1218 UNIPHIER_PINMUX_FUNCTION(uart0), 1229 UNIPHIER_PINMUX_FUNCTION(uart0),
1219 UNIPHIER_PINMUX_FUNCTION(uart1), 1230 UNIPHIER_PINMUX_FUNCTION(uart1),
1220 UNIPHIER_PINMUX_FUNCTION(uart2), 1231 UNIPHIER_PINMUX_FUNCTION(uart2),
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
index 1bda223ad542..096a460490a0 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
@@ -495,6 +495,20 @@ static const unsigned nand_cs1_pins[] = {22, 23};
495static const int nand_cs1_muxvals[] = {0, 0}; 495static const int nand_cs1_muxvals[] = {0, 0};
496static const unsigned sd_pins[] = {32, 33, 34, 35, 36, 37, 38, 39, 40}; 496static const unsigned sd_pins[] = {32, 33, 34, 35, 36, 37, 38, 39, 40};
497static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; 497static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
498static const unsigned system_bus_pins[] = {136, 137, 138, 139, 140, 141, 142,
499 143, 144, 145, 146, 147, 148, 149};
500static const int system_bus_muxvals[] = {-1, -1, -1, -1, -1, -1, -1, -1, -1,
501 -1, -1, -1, -1, -1};
502static const unsigned system_bus_cs1_pins[] = {150};
503static const int system_bus_cs1_muxvals[] = {-1};
504static const unsigned system_bus_cs2_pins[] = {10};
505static const int system_bus_cs2_muxvals[] = {1};
506static const unsigned system_bus_cs3_pins[] = {11};
507static const int system_bus_cs3_muxvals[] = {1};
508static const unsigned system_bus_cs4_pins[] = {12};
509static const int system_bus_cs4_muxvals[] = {1};
510static const unsigned system_bus_cs5_pins[] = {13};
511static const int system_bus_cs5_muxvals[] = {1};
498static const unsigned uart0_pins[] = {70, 71}; 512static const unsigned uart0_pins[] = {70, 71};
499static const int uart0_muxvals[] = {3, 3}; 513static const int uart0_muxvals[] = {3, 3};
500static const unsigned uart1_pins[] = {114, 115}; 514static const unsigned uart1_pins[] = {114, 115};
@@ -582,6 +596,12 @@ static const struct uniphier_pinctrl_group uniphier_sld8_groups[] = {
582 UNIPHIER_PINCTRL_GROUP(nand), 596 UNIPHIER_PINCTRL_GROUP(nand),
583 UNIPHIER_PINCTRL_GROUP(nand_cs1), 597 UNIPHIER_PINCTRL_GROUP(nand_cs1),
584 UNIPHIER_PINCTRL_GROUP(sd), 598 UNIPHIER_PINCTRL_GROUP(sd),
599 UNIPHIER_PINCTRL_GROUP(system_bus),
600 UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
601 UNIPHIER_PINCTRL_GROUP(system_bus_cs2),
602 UNIPHIER_PINCTRL_GROUP(system_bus_cs3),
603 UNIPHIER_PINCTRL_GROUP(system_bus_cs4),
604 UNIPHIER_PINCTRL_GROUP(system_bus_cs5),
585 UNIPHIER_PINCTRL_GROUP(uart0), 605 UNIPHIER_PINCTRL_GROUP(uart0),
586 UNIPHIER_PINCTRL_GROUP(uart1), 606 UNIPHIER_PINCTRL_GROUP(uart1),
587 UNIPHIER_PINCTRL_GROUP(uart2), 607 UNIPHIER_PINCTRL_GROUP(uart2),
@@ -731,6 +751,12 @@ static const char * const i2c2_groups[] = {"i2c2"};
731static const char * const i2c3_groups[] = {"i2c3"}; 751static const char * const i2c3_groups[] = {"i2c3"};
732static const char * const nand_groups[] = {"nand", "nand_cs1"}; 752static const char * const nand_groups[] = {"nand", "nand_cs1"};
733static const char * const sd_groups[] = {"sd"}; 753static const char * const sd_groups[] = {"sd"};
754static const char * const system_bus_groups[] = {"system_bus",
755 "system_bus_cs1",
756 "system_bus_cs2",
757 "system_bus_cs3",
758 "system_bus_cs4",
759 "system_bus_cs5"};
734static const char * const uart0_groups[] = {"uart0"}; 760static const char * const uart0_groups[] = {"uart0"};
735static const char * const uart1_groups[] = {"uart1"}; 761static const char * const uart1_groups[] = {"uart1"};
736static const char * const uart2_groups[] = {"uart2"}; 762static const char * const uart2_groups[] = {"uart2"};
@@ -787,6 +813,7 @@ static const struct uniphier_pinmux_function uniphier_sld8_functions[] = {
787 UNIPHIER_PINMUX_FUNCTION(i2c3), 813 UNIPHIER_PINMUX_FUNCTION(i2c3),
788 UNIPHIER_PINMUX_FUNCTION(nand), 814 UNIPHIER_PINMUX_FUNCTION(nand),
789 UNIPHIER_PINMUX_FUNCTION(sd), 815 UNIPHIER_PINMUX_FUNCTION(sd),
816 UNIPHIER_PINMUX_FUNCTION(system_bus),
790 UNIPHIER_PINMUX_FUNCTION(uart0), 817 UNIPHIER_PINMUX_FUNCTION(uart0),
791 UNIPHIER_PINMUX_FUNCTION(uart1), 818 UNIPHIER_PINMUX_FUNCTION(uart1),
792 UNIPHIER_PINMUX_FUNCTION(uart2), 819 UNIPHIER_PINMUX_FUNCTION(uart2),