Loading drivers/pinctrl/sh-pfc/Kconfig +5 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,11 @@ config PINCTRL_PFC_R8A7790 depends on ARCH_R8A7790 select PINCTRL_SH_PFC config PINCTRL_PFC_R8A7791 def_bool y depends on ARCH_R8A7791 select PINCTRL_SH_PFC config PINCTRL_PFC_SH7203 def_bool y depends on CPU_SUBTYPE_SH7203 Loading drivers/pinctrl/sh-pfc/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ obj-$(CONFIG_PINCTRL_PFC_R8A7740) += pfc-r8a7740.o obj-$(CONFIG_PINCTRL_PFC_R8A7778) += pfc-r8a7778.o obj-$(CONFIG_PINCTRL_PFC_R8A7779) += pfc-r8a7779.o obj-$(CONFIG_PINCTRL_PFC_R8A7790) += pfc-r8a7790.o obj-$(CONFIG_PINCTRL_PFC_R8A7791) += pfc-r8a7791.o obj-$(CONFIG_PINCTRL_PFC_SH7203) += pfc-sh7203.o obj-$(CONFIG_PINCTRL_PFC_SH7264) += pfc-sh7264.o obj-$(CONFIG_PINCTRL_PFC_SH7269) += pfc-sh7269.o Loading drivers/pinctrl/sh-pfc/core.c +9 −0 Original line number Diff line number Diff line Loading @@ -431,6 +431,12 @@ static const struct of_device_id sh_pfc_of_table[] = { .data = &r8a7790_pinmux_info, }, #endif #ifdef CONFIG_PINCTRL_PFC_R8A7791 { .compatible = "renesas,pfc-r8a7791", .data = &r8a7791_pinmux_info, }, #endif #ifdef CONFIG_PINCTRL_PFC_SH7372 { .compatible = "renesas,pfc-sh7372", Loading Loading @@ -558,6 +564,9 @@ static const struct platform_device_id sh_pfc_id_table[] = { #ifdef CONFIG_PINCTRL_PFC_R8A7790 { "pfc-r8a7790", (kernel_ulong_t)&r8a7790_pinmux_info }, #endif #ifdef CONFIG_PINCTRL_PFC_R8A7791 { "pfc-r8a7791", (kernel_ulong_t)&r8a7791_pinmux_info }, #endif #ifdef CONFIG_PINCTRL_PFC_SH7203 { "pfc-sh7203", (kernel_ulong_t)&sh7203_pinmux_info }, #endif Loading drivers/pinctrl/sh-pfc/core.h +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ extern const struct sh_pfc_soc_info r8a7740_pinmux_info; extern const struct sh_pfc_soc_info r8a7778_pinmux_info; extern const struct sh_pfc_soc_info r8a7779_pinmux_info; extern const struct sh_pfc_soc_info r8a7790_pinmux_info; extern const struct sh_pfc_soc_info r8a7791_pinmux_info; extern const struct sh_pfc_soc_info sh7203_pinmux_info; extern const struct sh_pfc_soc_info sh7264_pinmux_info; extern const struct sh_pfc_soc_info sh7269_pinmux_info; Loading drivers/pinctrl/sh-pfc/pfc-r8a7778.c +55 −0 Original line number Diff line number Diff line Loading @@ -1304,6 +1304,33 @@ AUDIO_PFC_DAT(audio_clkout_a, AUDIO_CLKOUT_A); AUDIO_PFC_PIN(audio_clkout_b, RCAR_GP_PIN(1, 16)); AUDIO_PFC_DAT(audio_clkout_b, AUDIO_CLKOUT_B); /* - CAN macro --------_----------------------------------------------------- */ #define CAN_PFC_PINS(name, args...) SH_PFC_PINS(name, args) #define CAN_PFC_DATA(name, tx, rx) SH_PFC_MUX2(name, tx, rx) #define CAN_PFC_CLK(name, clk) SH_PFC_MUX1(name, clk) /* - CAN0 ------------------------------------------------------------------- */ CAN_PFC_PINS(can0_data_a, RCAR_GP_PIN(1, 30), RCAR_GP_PIN(1, 31)); CAN_PFC_DATA(can0_data_a, CAN0_TX_A, CAN0_RX_A); CAN_PFC_PINS(can0_data_b, RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 27)); CAN_PFC_DATA(can0_data_b, CAN0_TX_B, CAN0_RX_B); /* - CAN1 ------------------------------------------------------------------- */ CAN_PFC_PINS(can1_data_a, RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 19)); CAN_PFC_DATA(can1_data_a, CAN1_TX_A, CAN1_RX_A); CAN_PFC_PINS(can1_data_b, RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 29)); CAN_PFC_DATA(can1_data_b, CAN1_TX_B, CAN1_RX_B); /* - CAN_CLK --------------------------------------------------------------- */ CAN_PFC_PINS(can_clk_a, RCAR_GP_PIN(3, 24)); CAN_PFC_CLK(can_clk_a, CAN_CLK_A); CAN_PFC_PINS(can_clk_b, RCAR_GP_PIN(1, 16)); CAN_PFC_CLK(can_clk_b, CAN_CLK_B); CAN_PFC_PINS(can_clk_c, RCAR_GP_PIN(4, 24)); CAN_PFC_CLK(can_clk_c, CAN_CLK_C); CAN_PFC_PINS(can_clk_d, RCAR_GP_PIN(2, 25)); CAN_PFC_CLK(can_clk_d, CAN_CLK_D); /* - Ether ------------------------------------------------------------------ */ SH_PFC_PINS(ether_rmii, RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 9), Loading Loading @@ -1698,6 +1725,14 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { SH_PFC_PIN_GROUP(audio_clk_c), SH_PFC_PIN_GROUP(audio_clkout_a), SH_PFC_PIN_GROUP(audio_clkout_b), SH_PFC_PIN_GROUP(can0_data_a), SH_PFC_PIN_GROUP(can0_data_b), SH_PFC_PIN_GROUP(can1_data_a), SH_PFC_PIN_GROUP(can1_data_b), SH_PFC_PIN_GROUP(can_clk_a), SH_PFC_PIN_GROUP(can_clk_b), SH_PFC_PIN_GROUP(can_clk_c), SH_PFC_PIN_GROUP(can_clk_d), SH_PFC_PIN_GROUP(ether_rmii), SH_PFC_PIN_GROUP(ether_link), SH_PFC_PIN_GROUP(ether_magic), Loading Loading @@ -1826,6 +1861,24 @@ static const char * const audio_clk_groups[] = { "audio_clkout_b", }; static const char * const can0_groups[] = { "can0_data_a", "can0_data_b", "can_clk_a", "can_clk_b", "can_clk_c", "can_clk_d", }; static const char * const can1_groups[] = { "can1_data_a", "can1_data_b", "can_clk_a", "can_clk_b", "can_clk_c", "can_clk_d", }; static const char * const ether_groups[] = { "ether_rmii", "ether_link", Loading Loading @@ -2022,6 +2075,8 @@ static const char * const vin1_groups[] = { static const struct sh_pfc_function pinmux_functions[] = { SH_PFC_FUNCTION(audio_clk), SH_PFC_FUNCTION(can0), SH_PFC_FUNCTION(can1), SH_PFC_FUNCTION(ether), SH_PFC_FUNCTION(hscif0), SH_PFC_FUNCTION(hscif1), Loading Loading
drivers/pinctrl/sh-pfc/Kconfig +5 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,11 @@ config PINCTRL_PFC_R8A7790 depends on ARCH_R8A7790 select PINCTRL_SH_PFC config PINCTRL_PFC_R8A7791 def_bool y depends on ARCH_R8A7791 select PINCTRL_SH_PFC config PINCTRL_PFC_SH7203 def_bool y depends on CPU_SUBTYPE_SH7203 Loading
drivers/pinctrl/sh-pfc/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ obj-$(CONFIG_PINCTRL_PFC_R8A7740) += pfc-r8a7740.o obj-$(CONFIG_PINCTRL_PFC_R8A7778) += pfc-r8a7778.o obj-$(CONFIG_PINCTRL_PFC_R8A7779) += pfc-r8a7779.o obj-$(CONFIG_PINCTRL_PFC_R8A7790) += pfc-r8a7790.o obj-$(CONFIG_PINCTRL_PFC_R8A7791) += pfc-r8a7791.o obj-$(CONFIG_PINCTRL_PFC_SH7203) += pfc-sh7203.o obj-$(CONFIG_PINCTRL_PFC_SH7264) += pfc-sh7264.o obj-$(CONFIG_PINCTRL_PFC_SH7269) += pfc-sh7269.o Loading
drivers/pinctrl/sh-pfc/core.c +9 −0 Original line number Diff line number Diff line Loading @@ -431,6 +431,12 @@ static const struct of_device_id sh_pfc_of_table[] = { .data = &r8a7790_pinmux_info, }, #endif #ifdef CONFIG_PINCTRL_PFC_R8A7791 { .compatible = "renesas,pfc-r8a7791", .data = &r8a7791_pinmux_info, }, #endif #ifdef CONFIG_PINCTRL_PFC_SH7372 { .compatible = "renesas,pfc-sh7372", Loading Loading @@ -558,6 +564,9 @@ static const struct platform_device_id sh_pfc_id_table[] = { #ifdef CONFIG_PINCTRL_PFC_R8A7790 { "pfc-r8a7790", (kernel_ulong_t)&r8a7790_pinmux_info }, #endif #ifdef CONFIG_PINCTRL_PFC_R8A7791 { "pfc-r8a7791", (kernel_ulong_t)&r8a7791_pinmux_info }, #endif #ifdef CONFIG_PINCTRL_PFC_SH7203 { "pfc-sh7203", (kernel_ulong_t)&sh7203_pinmux_info }, #endif Loading
drivers/pinctrl/sh-pfc/core.h +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ extern const struct sh_pfc_soc_info r8a7740_pinmux_info; extern const struct sh_pfc_soc_info r8a7778_pinmux_info; extern const struct sh_pfc_soc_info r8a7779_pinmux_info; extern const struct sh_pfc_soc_info r8a7790_pinmux_info; extern const struct sh_pfc_soc_info r8a7791_pinmux_info; extern const struct sh_pfc_soc_info sh7203_pinmux_info; extern const struct sh_pfc_soc_info sh7264_pinmux_info; extern const struct sh_pfc_soc_info sh7269_pinmux_info; Loading
drivers/pinctrl/sh-pfc/pfc-r8a7778.c +55 −0 Original line number Diff line number Diff line Loading @@ -1304,6 +1304,33 @@ AUDIO_PFC_DAT(audio_clkout_a, AUDIO_CLKOUT_A); AUDIO_PFC_PIN(audio_clkout_b, RCAR_GP_PIN(1, 16)); AUDIO_PFC_DAT(audio_clkout_b, AUDIO_CLKOUT_B); /* - CAN macro --------_----------------------------------------------------- */ #define CAN_PFC_PINS(name, args...) SH_PFC_PINS(name, args) #define CAN_PFC_DATA(name, tx, rx) SH_PFC_MUX2(name, tx, rx) #define CAN_PFC_CLK(name, clk) SH_PFC_MUX1(name, clk) /* - CAN0 ------------------------------------------------------------------- */ CAN_PFC_PINS(can0_data_a, RCAR_GP_PIN(1, 30), RCAR_GP_PIN(1, 31)); CAN_PFC_DATA(can0_data_a, CAN0_TX_A, CAN0_RX_A); CAN_PFC_PINS(can0_data_b, RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 27)); CAN_PFC_DATA(can0_data_b, CAN0_TX_B, CAN0_RX_B); /* - CAN1 ------------------------------------------------------------------- */ CAN_PFC_PINS(can1_data_a, RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 19)); CAN_PFC_DATA(can1_data_a, CAN1_TX_A, CAN1_RX_A); CAN_PFC_PINS(can1_data_b, RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 29)); CAN_PFC_DATA(can1_data_b, CAN1_TX_B, CAN1_RX_B); /* - CAN_CLK --------------------------------------------------------------- */ CAN_PFC_PINS(can_clk_a, RCAR_GP_PIN(3, 24)); CAN_PFC_CLK(can_clk_a, CAN_CLK_A); CAN_PFC_PINS(can_clk_b, RCAR_GP_PIN(1, 16)); CAN_PFC_CLK(can_clk_b, CAN_CLK_B); CAN_PFC_PINS(can_clk_c, RCAR_GP_PIN(4, 24)); CAN_PFC_CLK(can_clk_c, CAN_CLK_C); CAN_PFC_PINS(can_clk_d, RCAR_GP_PIN(2, 25)); CAN_PFC_CLK(can_clk_d, CAN_CLK_D); /* - Ether ------------------------------------------------------------------ */ SH_PFC_PINS(ether_rmii, RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 9), Loading Loading @@ -1698,6 +1725,14 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { SH_PFC_PIN_GROUP(audio_clk_c), SH_PFC_PIN_GROUP(audio_clkout_a), SH_PFC_PIN_GROUP(audio_clkout_b), SH_PFC_PIN_GROUP(can0_data_a), SH_PFC_PIN_GROUP(can0_data_b), SH_PFC_PIN_GROUP(can1_data_a), SH_PFC_PIN_GROUP(can1_data_b), SH_PFC_PIN_GROUP(can_clk_a), SH_PFC_PIN_GROUP(can_clk_b), SH_PFC_PIN_GROUP(can_clk_c), SH_PFC_PIN_GROUP(can_clk_d), SH_PFC_PIN_GROUP(ether_rmii), SH_PFC_PIN_GROUP(ether_link), SH_PFC_PIN_GROUP(ether_magic), Loading Loading @@ -1826,6 +1861,24 @@ static const char * const audio_clk_groups[] = { "audio_clkout_b", }; static const char * const can0_groups[] = { "can0_data_a", "can0_data_b", "can_clk_a", "can_clk_b", "can_clk_c", "can_clk_d", }; static const char * const can1_groups[] = { "can1_data_a", "can1_data_b", "can_clk_a", "can_clk_b", "can_clk_c", "can_clk_d", }; static const char * const ether_groups[] = { "ether_rmii", "ether_link", Loading Loading @@ -2022,6 +2075,8 @@ static const char * const vin1_groups[] = { static const struct sh_pfc_function pinmux_functions[] = { SH_PFC_FUNCTION(audio_clk), SH_PFC_FUNCTION(can0), SH_PFC_FUNCTION(can1), SH_PFC_FUNCTION(ether), SH_PFC_FUNCTION(hscif0), SH_PFC_FUNCTION(hscif1), Loading