| .. | .. |
|---|
| 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, |
|---|