aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/sh-pfc
diff options
context:
space:
mode:
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>2013-09-27 19:07:21 -0400
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-10-27 11:40:51 -0400
commit24799c22aea81a8890a66e101cd5a3b175980777 (patch)
tree4c77e5899310bd5157af70f35455485603424954 /drivers/pinctrl/sh-pfc
parentc6ce2b6bffe5740d572fdc5b5e690d5261abee51 (diff)
sh-pfc: r8a7778: Add CAN pin groups
Add CAN data and clock pin groups to R8A7778 PFC driver. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Diffstat (limited to 'drivers/pinctrl/sh-pfc')
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a7778.c55
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);
1304AUDIO_PFC_PIN(audio_clkout_b, RCAR_GP_PIN(1, 16)); 1304AUDIO_PFC_PIN(audio_clkout_b, RCAR_GP_PIN(1, 16));
1305AUDIO_PFC_DAT(audio_clkout_b, AUDIO_CLKOUT_B); 1305AUDIO_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 ------------------------------------------------------------------- */
1313CAN_PFC_PINS(can0_data_a, RCAR_GP_PIN(1, 30), RCAR_GP_PIN(1, 31));
1314CAN_PFC_DATA(can0_data_a, CAN0_TX_A, CAN0_RX_A);
1315CAN_PFC_PINS(can0_data_b, RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 27));
1316CAN_PFC_DATA(can0_data_b, CAN0_TX_B, CAN0_RX_B);
1317
1318/* - CAN1 ------------------------------------------------------------------- */
1319CAN_PFC_PINS(can1_data_a, RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 19));
1320CAN_PFC_DATA(can1_data_a, CAN1_TX_A, CAN1_RX_A);
1321CAN_PFC_PINS(can1_data_b, RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 29));
1322CAN_PFC_DATA(can1_data_b, CAN1_TX_B, CAN1_RX_B);
1323
1324/* - CAN_CLK --------------------------------------------------------------- */
1325CAN_PFC_PINS(can_clk_a, RCAR_GP_PIN(3, 24));
1326CAN_PFC_CLK(can_clk_a, CAN_CLK_A);
1327CAN_PFC_PINS(can_clk_b, RCAR_GP_PIN(1, 16));
1328CAN_PFC_CLK(can_clk_b, CAN_CLK_B);
1329CAN_PFC_PINS(can_clk_c, RCAR_GP_PIN(4, 24));
1330CAN_PFC_CLK(can_clk_c, CAN_CLK_C);
1331CAN_PFC_PINS(can_clk_d, RCAR_GP_PIN(2, 25));
1332CAN_PFC_CLK(can_clk_d, CAN_CLK_D);
1333
1307/* - Ether ------------------------------------------------------------------ */ 1334/* - Ether ------------------------------------------------------------------ */
1308SH_PFC_PINS(ether_rmii, RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 1335SH_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
1864static 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
1873static 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
1829static const char * const ether_groups[] = { 1882static 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
2023static const struct sh_pfc_function pinmux_functions[] = { 2076static 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),