aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a77990.c90
1 files changed, 90 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a77990.c b/drivers/pinctrl/sh-pfc/pfc-r8a77990.c
index 9cd4d0799652..a68fd658aada 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a77990.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a77990.c
@@ -1299,6 +1299,78 @@ static const struct sh_pfc_pin pinmux_pins[] = {
1299 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 3, PRESETOUT_N, CFG_FLAGS), 1299 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 3, PRESETOUT_N, CFG_FLAGS),
1300}; 1300};
1301 1301
1302/* - EtherAVB --------------------------------------------------------------- */
1303static const unsigned int avb_link_pins[] = {
1304 /* AVB_LINK */
1305 RCAR_GP_PIN(2, 23),
1306};
1307
1308static const unsigned int avb_link_mux[] = {
1309 AVB_LINK_MARK,
1310};
1311
1312static const unsigned int avb_magic_pins[] = {
1313 /* AVB_MAGIC */
1314 RCAR_GP_PIN(2, 22),
1315};
1316
1317static const unsigned int avb_magic_mux[] = {
1318 AVB_MAGIC_MARK,
1319};
1320
1321static const unsigned int avb_phy_int_pins[] = {
1322 /* AVB_PHY_INT */
1323 RCAR_GP_PIN(2, 21),
1324};
1325
1326static const unsigned int avb_phy_int_mux[] = {
1327 AVB_PHY_INT_MARK,
1328};
1329
1330static const unsigned int avb_mii_pins[] = {
1331 /*
1332 * AVB_RX_CTL, AVB_RXC, AVB_RD0,
1333 * AVB_RD1, AVB_RD2, AVB_RD3,
1334 * AVB_TXCREFCLK
1335 */
1336 RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16),
1337 RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19),
1338 RCAR_GP_PIN(2, 20),
1339};
1340
1341static const unsigned int avb_mii_mux[] = {
1342 AVB_RX_CTL_MARK, AVB_RXC_MARK, AVB_RD0_MARK,
1343 AVB_RD1_MARK, AVB_RD2_MARK, AVB_RD3_MARK,
1344 AVB_TXCREFCLK_MARK,
1345};
1346
1347static const unsigned int avb_avtp_pps_pins[] = {
1348 /* AVB_AVTP_PPS */
1349 RCAR_GP_PIN(1, 2),
1350};
1351
1352static const unsigned int avb_avtp_pps_mux[] = {
1353 AVB_AVTP_PPS_MARK,
1354};
1355
1356static const unsigned int avb_avtp_match_a_pins[] = {
1357 /* AVB_AVTP_MATCH_A */
1358 RCAR_GP_PIN(2, 24),
1359};
1360
1361static const unsigned int avb_avtp_match_a_mux[] = {
1362 AVB_AVTP_MATCH_A_MARK,
1363};
1364
1365static const unsigned int avb_avtp_capture_a_pins[] = {
1366 /* AVB_AVTP_CAPTURE_A */
1367 RCAR_GP_PIN(2, 25),
1368};
1369
1370static const unsigned int avb_avtp_capture_a_mux[] = {
1371 AVB_AVTP_CAPTURE_A_MARK,
1372};
1373
1302/* - I2C -------------------------------------------------------------------- */ 1374/* - I2C -------------------------------------------------------------------- */
1303static const unsigned int i2c1_a_pins[] = { 1375static const unsigned int i2c1_a_pins[] = {
1304 /* SCL, SDA */ 1376 /* SCL, SDA */
@@ -1713,6 +1785,13 @@ static const unsigned int scif_clk_b_mux[] = {
1713}; 1785};
1714 1786
1715static const struct sh_pfc_pin_group pinmux_groups[] = { 1787static const struct sh_pfc_pin_group pinmux_groups[] = {
1788 SH_PFC_PIN_GROUP(avb_link),
1789 SH_PFC_PIN_GROUP(avb_magic),
1790 SH_PFC_PIN_GROUP(avb_phy_int),
1791 SH_PFC_PIN_GROUP(avb_mii),
1792 SH_PFC_PIN_GROUP(avb_avtp_pps),
1793 SH_PFC_PIN_GROUP(avb_avtp_match_a),
1794 SH_PFC_PIN_GROUP(avb_avtp_capture_a),
1716 SH_PFC_PIN_GROUP(i2c1_a), 1795 SH_PFC_PIN_GROUP(i2c1_a),
1717 SH_PFC_PIN_GROUP(i2c1_b), 1796 SH_PFC_PIN_GROUP(i2c1_b),
1718 SH_PFC_PIN_GROUP(i2c1_c), 1797 SH_PFC_PIN_GROUP(i2c1_c),
@@ -1760,6 +1839,16 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
1760 SH_PFC_PIN_GROUP(scif_clk_b), 1839 SH_PFC_PIN_GROUP(scif_clk_b),
1761}; 1840};
1762 1841
1842static const char * const avb_groups[] = {
1843 "avb_link",
1844 "avb_magic",
1845 "avb_phy_int",
1846 "avb_mii",
1847 "avb_avtp_pps",
1848 "avb_avtp_match_a",
1849 "avb_avtp_capture_a",
1850};
1851
1763static const char * const i2c1_groups[] = { 1852static const char * const i2c1_groups[] = {
1764 "i2c1_a", 1853 "i2c1_a",
1765 "i2c1_b", 1854 "i2c1_b",
@@ -1845,6 +1934,7 @@ static const char * const scif_clk_groups[] = {
1845}; 1934};
1846 1935
1847static const struct sh_pfc_function pinmux_functions[] = { 1936static const struct sh_pfc_function pinmux_functions[] = {
1937 SH_PFC_FUNCTION(avb),
1848 SH_PFC_FUNCTION(i2c1), 1938 SH_PFC_FUNCTION(i2c1),
1849 SH_PFC_FUNCTION(i2c2), 1939 SH_PFC_FUNCTION(i2c2),
1850 SH_PFC_FUNCTION(i2c4), 1940 SH_PFC_FUNCTION(i2c4),