diff options
Diffstat (limited to 'drivers/pinctrl/sh-pfc/pfc-r8a7778.c')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7778.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c index 20b1d0d671a3..8b1881c20598 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c | |||
@@ -1304,6 +1304,33 @@ AUDIO_PFC_DAT(audio_clkout_a, AUDIO_CLKOUT_A); | |||
1304 | AUDIO_PFC_PIN(audio_clkout_b, RCAR_GP_PIN(1, 16)); | 1304 | AUDIO_PFC_PIN(audio_clkout_b, RCAR_GP_PIN(1, 16)); |
1305 | AUDIO_PFC_DAT(audio_clkout_b, AUDIO_CLKOUT_B); | 1305 | AUDIO_PFC_DAT(audio_clkout_b, AUDIO_CLKOUT_B); |
1306 | 1306 | ||
1307 | /* - CAN macro --------_----------------------------------------------------- */ | ||
1308 | #define CAN_PFC_PINS(name, args...) SH_PFC_PINS(name, args) | ||
1309 | #define CAN_PFC_DATA(name, tx, rx) SH_PFC_MUX2(name, tx, rx) | ||
1310 | #define CAN_PFC_CLK(name, clk) SH_PFC_MUX1(name, clk) | ||
1311 | |||
1312 | /* - CAN0 ------------------------------------------------------------------- */ | ||
1313 | CAN_PFC_PINS(can0_data_a, RCAR_GP_PIN(1, 30), RCAR_GP_PIN(1, 31)); | ||
1314 | CAN_PFC_DATA(can0_data_a, CAN0_TX_A, CAN0_RX_A); | ||
1315 | CAN_PFC_PINS(can0_data_b, RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 27)); | ||
1316 | CAN_PFC_DATA(can0_data_b, CAN0_TX_B, CAN0_RX_B); | ||
1317 | |||
1318 | /* - CAN1 ------------------------------------------------------------------- */ | ||
1319 | CAN_PFC_PINS(can1_data_a, RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 19)); | ||
1320 | CAN_PFC_DATA(can1_data_a, CAN1_TX_A, CAN1_RX_A); | ||
1321 | CAN_PFC_PINS(can1_data_b, RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 29)); | ||
1322 | CAN_PFC_DATA(can1_data_b, CAN1_TX_B, CAN1_RX_B); | ||
1323 | |||
1324 | /* - CAN_CLK --------------------------------------------------------------- */ | ||
1325 | CAN_PFC_PINS(can_clk_a, RCAR_GP_PIN(3, 24)); | ||
1326 | CAN_PFC_CLK(can_clk_a, CAN_CLK_A); | ||
1327 | CAN_PFC_PINS(can_clk_b, RCAR_GP_PIN(1, 16)); | ||
1328 | CAN_PFC_CLK(can_clk_b, CAN_CLK_B); | ||
1329 | CAN_PFC_PINS(can_clk_c, RCAR_GP_PIN(4, 24)); | ||
1330 | CAN_PFC_CLK(can_clk_c, CAN_CLK_C); | ||
1331 | CAN_PFC_PINS(can_clk_d, RCAR_GP_PIN(2, 25)); | ||
1332 | CAN_PFC_CLK(can_clk_d, CAN_CLK_D); | ||
1333 | |||
1307 | /* - Ether ------------------------------------------------------------------ */ | 1334 | /* - Ether ------------------------------------------------------------------ */ |
1308 | SH_PFC_PINS(ether_rmii, RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), | 1335 | SH_PFC_PINS(ether_rmii, RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), |
1309 | RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 9), | 1336 | RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 9), |
@@ -1698,6 +1725,14 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
1698 | SH_PFC_PIN_GROUP(audio_clk_c), | 1725 | SH_PFC_PIN_GROUP(audio_clk_c), |
1699 | SH_PFC_PIN_GROUP(audio_clkout_a), | 1726 | SH_PFC_PIN_GROUP(audio_clkout_a), |
1700 | SH_PFC_PIN_GROUP(audio_clkout_b), | 1727 | SH_PFC_PIN_GROUP(audio_clkout_b), |
1728 | SH_PFC_PIN_GROUP(can0_data_a), | ||
1729 | SH_PFC_PIN_GROUP(can0_data_b), | ||
1730 | SH_PFC_PIN_GROUP(can1_data_a), | ||
1731 | SH_PFC_PIN_GROUP(can1_data_b), | ||
1732 | SH_PFC_PIN_GROUP(can_clk_a), | ||
1733 | SH_PFC_PIN_GROUP(can_clk_b), | ||
1734 | SH_PFC_PIN_GROUP(can_clk_c), | ||
1735 | SH_PFC_PIN_GROUP(can_clk_d), | ||
1701 | SH_PFC_PIN_GROUP(ether_rmii), | 1736 | SH_PFC_PIN_GROUP(ether_rmii), |
1702 | SH_PFC_PIN_GROUP(ether_link), | 1737 | SH_PFC_PIN_GROUP(ether_link), |
1703 | SH_PFC_PIN_GROUP(ether_magic), | 1738 | SH_PFC_PIN_GROUP(ether_magic), |
@@ -1826,6 +1861,24 @@ static const char * const audio_clk_groups[] = { | |||
1826 | "audio_clkout_b", | 1861 | "audio_clkout_b", |
1827 | }; | 1862 | }; |
1828 | 1863 | ||
1864 | static const char * const can0_groups[] = { | ||
1865 | "can0_data_a", | ||
1866 | "can0_data_b", | ||
1867 | "can_clk_a", | ||
1868 | "can_clk_b", | ||
1869 | "can_clk_c", | ||
1870 | "can_clk_d", | ||
1871 | }; | ||
1872 | |||
1873 | static const char * const can1_groups[] = { | ||
1874 | "can1_data_a", | ||
1875 | "can1_data_b", | ||
1876 | "can_clk_a", | ||
1877 | "can_clk_b", | ||
1878 | "can_clk_c", | ||
1879 | "can_clk_d", | ||
1880 | }; | ||
1881 | |||
1829 | static const char * const ether_groups[] = { | 1882 | static const char * const ether_groups[] = { |
1830 | "ether_rmii", | 1883 | "ether_rmii", |
1831 | "ether_link", | 1884 | "ether_link", |
@@ -2022,6 +2075,8 @@ static const char * const vin1_groups[] = { | |||
2022 | 2075 | ||
2023 | static const struct sh_pfc_function pinmux_functions[] = { | 2076 | static const struct sh_pfc_function pinmux_functions[] = { |
2024 | SH_PFC_FUNCTION(audio_clk), | 2077 | SH_PFC_FUNCTION(audio_clk), |
2078 | SH_PFC_FUNCTION(can0), | ||
2079 | SH_PFC_FUNCTION(can1), | ||
2025 | SH_PFC_FUNCTION(ether), | 2080 | SH_PFC_FUNCTION(ether), |
2026 | SH_PFC_FUNCTION(hscif0), | 2081 | SH_PFC_FUNCTION(hscif0), |
2027 | SH_PFC_FUNCTION(hscif1), | 2082 | SH_PFC_FUNCTION(hscif1), |