.. | .. |
---|
1 | | -/* |
---|
2 | | - * Copyright (C) 2015-2017 Socionext Inc. |
---|
3 | | - * Author: Masahiro Yamada <yamada.masahiro@socionext.com> |
---|
4 | | - * |
---|
5 | | - * This program is free software; you can redistribute it and/or modify |
---|
6 | | - * it under the terms of the GNU General Public License as published by |
---|
7 | | - * the Free Software Foundation; either version 2 of the License, or |
---|
8 | | - * (at your option) any later version. |
---|
9 | | - * |
---|
10 | | - * This program5 is distributed in the hope that it will be useful, |
---|
11 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
12 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
13 | | - * GNU General Public License for more details. |
---|
14 | | - */ |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0+ |
---|
| 2 | +// |
---|
| 3 | +// Copyright (C) 2015-2017 Socionext Inc. |
---|
| 4 | +// Author: Masahiro Yamada <yamada.masahiro@socionext.com> |
---|
15 | 5 | |
---|
16 | 6 | #include <linux/kernel.h> |
---|
17 | 7 | #include <linux/init.h> |
---|
.. | .. |
---|
817 | 807 | static const int nand_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; |
---|
818 | 808 | static const unsigned nand_cs1_pins[] = {26, 27}; |
---|
819 | 809 | static const int nand_cs1_muxvals[] = {0, 0}; |
---|
820 | | -static const unsigned sd_pins[] = {250, 251, 252, 253, 254, 255, 256, 257, 258}; |
---|
| 810 | +static const unsigned pcie_pins[] = {109, 110, 111}; |
---|
| 811 | +static const int pcie_muxvals[] = {0, 0, 0}; |
---|
| 812 | +static const unsigned sd_pins[] = {247, 248, 249, 250, 251, 252, 253, 254, 255}; |
---|
821 | 813 | static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; |
---|
822 | 814 | static const unsigned spi0_pins[] = {120, 121, 122, 123}; |
---|
823 | 815 | static const int spi0_muxvals[] = {0, 0, 0, 0}; |
---|
.. | .. |
---|
849 | 841 | static const int uart0_muxvals[] = {0, 0}; |
---|
850 | 842 | static const unsigned uart0b_pins[] = {227, 228}; |
---|
851 | 843 | static const int uart0b_muxvals[] = {3, 3}; |
---|
852 | | -static const unsigned uart0b_ctsrts_pins[] = {229, 230, 231, 232, 233, 234}; |
---|
853 | | -static const int uart0b_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; |
---|
| 844 | +static const unsigned uart0b_ctsrts_pins[] = {232, 233}; |
---|
| 845 | +static const int uart0b_ctsrts_muxvals[] = {3, 3}; |
---|
| 846 | +static const unsigned uart0b_modem_pins[] = {229, 230, 231, 234}; |
---|
| 847 | +static const int uart0b_modem_muxvals[] = {3, 3, 3, 3}; |
---|
854 | 848 | static const unsigned uart1_pins[] = {49, 50}; |
---|
855 | 849 | static const int uart1_muxvals[] = {0, 0}; |
---|
856 | 850 | static const unsigned uart2_pins[] = {51, 52}; |
---|
.. | .. |
---|
910 | 904 | UNIPHIER_PINCTRL_GROUP(i2c5b), |
---|
911 | 905 | UNIPHIER_PINCTRL_GROUP(i2c5c), |
---|
912 | 906 | UNIPHIER_PINCTRL_GROUP(i2c6), |
---|
| 907 | + UNIPHIER_PINCTRL_GROUP(pcie), |
---|
913 | 908 | UNIPHIER_PINCTRL_GROUP(sd), |
---|
914 | 909 | UNIPHIER_PINCTRL_GROUP(spi0), |
---|
915 | 910 | UNIPHIER_PINCTRL_GROUP(spi1), |
---|
.. | .. |
---|
926 | 921 | UNIPHIER_PINCTRL_GROUP(uart0), |
---|
927 | 922 | UNIPHIER_PINCTRL_GROUP(uart0b), |
---|
928 | 923 | UNIPHIER_PINCTRL_GROUP(uart0b_ctsrts), |
---|
| 924 | + UNIPHIER_PINCTRL_GROUP(uart0b_modem), |
---|
929 | 925 | UNIPHIER_PINCTRL_GROUP(uart1), |
---|
930 | 926 | UNIPHIER_PINCTRL_GROUP(uart2), |
---|
931 | 927 | UNIPHIER_PINCTRL_GROUP(uart3), |
---|
.. | .. |
---|
943 | 939 | static const char * const i2c5_groups[] = {"i2c5", "i2c5b", "i2c5c"}; |
---|
944 | 940 | static const char * const i2c6_groups[] = {"i2c6"}; |
---|
945 | 941 | static const char * const nand_groups[] = {"nand", "nand_cs1"}; |
---|
| 942 | +static const char * const pcie_groups[] = {"pcie"}; |
---|
946 | 943 | static const char * const sd_groups[] = {"sd"}; |
---|
947 | 944 | static const char * const spi0_groups[] = {"spi0"}; |
---|
948 | 945 | static const char * const spi1_groups[] = {"spi1"}; |
---|
.. | .. |
---|
956 | 953 | "system_bus_cs5", |
---|
957 | 954 | "system_bus_cs6", |
---|
958 | 955 | "system_bus_cs7"}; |
---|
959 | | -static const char * const uart0_groups[] = {"uart0", "uart0b", "uart0b_ctsrts"}; |
---|
| 956 | +static const char * const uart0_groups[] = {"uart0", "uart0b", |
---|
| 957 | + "uart0b_ctsrts", "uart0b_modem"}; |
---|
960 | 958 | static const char * const uart1_groups[] = {"uart1"}; |
---|
961 | 959 | static const char * const uart2_groups[] = {"uart2"}; |
---|
962 | 960 | static const char * const uart3_groups[] = {"uart3"}; |
---|
.. | .. |
---|
973 | 971 | UNIPHIER_PINMUX_FUNCTION(i2c5), |
---|
974 | 972 | UNIPHIER_PINMUX_FUNCTION(i2c6), |
---|
975 | 973 | UNIPHIER_PINMUX_FUNCTION(nand), |
---|
| 974 | + UNIPHIER_PINMUX_FUNCTION(pcie), |
---|
976 | 975 | UNIPHIER_PINMUX_FUNCTION(sd), |
---|
977 | 976 | UNIPHIER_PINMUX_FUNCTION(spi0), |
---|
978 | 977 | UNIPHIER_PINMUX_FUNCTION(spi1), |
---|
.. | .. |
---|
996 | 995 | return 15; |
---|
997 | 996 | } |
---|
998 | 997 | |
---|
999 | | -static struct uniphier_pinctrl_socdata uniphier_pro5_pindata = { |
---|
| 998 | +static const struct uniphier_pinctrl_socdata uniphier_pro5_pindata = { |
---|
1000 | 999 | .pins = uniphier_pro5_pins, |
---|
1001 | 1000 | .npins = ARRAY_SIZE(uniphier_pro5_pins), |
---|
1002 | 1001 | .groups = uniphier_pro5_groups, |
---|