forked from Minki/linux
pinctrl: sh-pfc: Updates for v4.20
- Add SATA and audio pin groups on R-Car M3-N, - Add EtherAVB pin groups on RZ/G1C, - Add PWM and display (DU) pin groups on R-Car E3, - Add support for the new RZ/G2M (r8a774a1) SoC. -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCW4k8kAAKCRCKwlD9ZEnx cKAlAQCI8mw30q/VqEe6Y1aYFMeX6pyBun4viDUdDF4c4KKvzQEAlrWXDgIAkp/5 rPm+hMilDFyTdT5jL4ler0VDbGIo6wI= =B0/X -----END PGP SIGNATURE----- Merge tag 'sh-pfc-for-v4.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel pinctrl: sh-pfc: Updates for v4.20 - Add SATA and audio pin groups on R-Car M3-N, - Add EtherAVB pin groups on RZ/G1C, - Add PWM and display (DU) pin groups on R-Car E3, - Add support for the new RZ/G2M (r8a774a1) SoC.
This commit is contained in:
commit
2e38b882b9
@ -16,6 +16,7 @@ Required Properties:
|
||||
- "renesas,pfc-r8a7743": for R8A7743 (RZ/G1M) compatible pin-controller.
|
||||
- "renesas,pfc-r8a7745": for R8A7745 (RZ/G1E) compatible pin-controller.
|
||||
- "renesas,pfc-r8a77470": for R8A77470 (RZ/G1C) compatible pin-controller.
|
||||
- "renesas,pfc-r8a774a1": for R8A774A1 (RZ/G2M) compatible pin-controller.
|
||||
- "renesas,pfc-r8a7778": for R8A7778 (R-Car M1) compatible pin-controller.
|
||||
- "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller.
|
||||
- "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller.
|
||||
|
@ -49,6 +49,11 @@ config PINCTRL_PFC_R8A77470
|
||||
depends on ARCH_R8A77470
|
||||
select PINCTRL_SH_PFC
|
||||
|
||||
config PINCTRL_PFC_R8A774A1
|
||||
def_bool y
|
||||
depends on ARCH_R8A774A1
|
||||
select PINCTRL_SH_PFC
|
||||
|
||||
config PINCTRL_PFC_R8A7778
|
||||
def_bool y
|
||||
depends on ARCH_R8A7778
|
||||
|
@ -7,6 +7,7 @@ obj-$(CONFIG_PINCTRL_PFC_R8A7740) += pfc-r8a7740.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A7743) += pfc-r8a7791.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A7745) += pfc-r8a7794.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A77470) += pfc-r8a77470.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A774A1) += pfc-r8a7796.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
|
||||
|
@ -509,6 +509,12 @@ static const struct of_device_id sh_pfc_of_table[] = {
|
||||
.data = &r8a77470_pinmux_info,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A774A1
|
||||
{
|
||||
.compatible = "renesas,pfc-r8a774a1",
|
||||
.data = &r8a774a1_pinmux_info,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A7778
|
||||
{
|
||||
.compatible = "renesas,pfc-r8a7778",
|
||||
|
@ -1093,6 +1093,110 @@ static const struct sh_pfc_pin pinmux_pins[] = {
|
||||
PINMUX_GPIO_GP_ALL(),
|
||||
};
|
||||
|
||||
/* - AVB -------------------------------------------------------------------- */
|
||||
static const unsigned int avb_col_pins[] = {
|
||||
RCAR_GP_PIN(5, 18),
|
||||
};
|
||||
static const unsigned int avb_col_mux[] = {
|
||||
AVB_COL_MARK,
|
||||
};
|
||||
static const unsigned int avb_crs_pins[] = {
|
||||
RCAR_GP_PIN(5, 17),
|
||||
};
|
||||
static const unsigned int avb_crs_mux[] = {
|
||||
AVB_CRS_MARK,
|
||||
};
|
||||
static const unsigned int avb_link_pins[] = {
|
||||
RCAR_GP_PIN(5, 14),
|
||||
};
|
||||
static const unsigned int avb_link_mux[] = {
|
||||
AVB_LINK_MARK,
|
||||
};
|
||||
static const unsigned int avb_magic_pins[] = {
|
||||
RCAR_GP_PIN(5, 15),
|
||||
};
|
||||
static const unsigned int avb_magic_mux[] = {
|
||||
AVB_MAGIC_MARK,
|
||||
};
|
||||
static const unsigned int avb_phy_int_pins[] = {
|
||||
RCAR_GP_PIN(5, 16),
|
||||
};
|
||||
static const unsigned int avb_phy_int_mux[] = {
|
||||
AVB_PHY_INT_MARK,
|
||||
};
|
||||
static const unsigned int avb_mdio_pins[] = {
|
||||
RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13),
|
||||
};
|
||||
static const unsigned int avb_mdio_mux[] = {
|
||||
AVB_MDC_MARK, AVB_MDIO_MARK,
|
||||
};
|
||||
static const unsigned int avb_mii_tx_rx_pins[] = {
|
||||
RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15),
|
||||
RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 13),
|
||||
|
||||
RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3),
|
||||
RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 1),
|
||||
RCAR_GP_PIN(3, 10),
|
||||
};
|
||||
static const unsigned int avb_mii_tx_rx_mux[] = {
|
||||
AVB_TX_CLK_MARK, AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK,
|
||||
AVB_TXD3_MARK, AVB_TX_EN_MARK,
|
||||
|
||||
AVB_RX_CLK_MARK, AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK,
|
||||
AVB_RXD3_MARK, AVB_RX_DV_MARK, AVB_RX_ER_MARK,
|
||||
};
|
||||
static const unsigned int avb_mii_tx_er_pins[] = {
|
||||
RCAR_GP_PIN(5, 23),
|
||||
};
|
||||
static const unsigned int avb_mii_tx_er_mux[] = {
|
||||
AVB_TX_ER_MARK,
|
||||
};
|
||||
static const unsigned int avb_gmii_tx_rx_pins[] = {
|
||||
RCAR_GP_PIN(4, 1), RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
|
||||
RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
|
||||
RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29),
|
||||
RCAR_GP_PIN(4, 0), RCAR_GP_PIN(5, 22), RCAR_GP_PIN(3, 13),
|
||||
RCAR_GP_PIN(5, 23),
|
||||
|
||||
RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3),
|
||||
RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6),
|
||||
RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
|
||||
RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 10),
|
||||
};
|
||||
static const unsigned int avb_gmii_tx_rx_mux[] = {
|
||||
AVB_GTX_CLK_MARK, AVB_GTXREFCLK_MARK, AVB_TX_CLK_MARK, AVB_TXD0_MARK,
|
||||
AVB_TXD1_MARK, AVB_TXD2_MARK, AVB_TXD3_MARK, AVB_TXD4_MARK,
|
||||
AVB_TXD5_MARK, AVB_TXD6_MARK, AVB_TXD7_MARK, AVB_TX_EN_MARK,
|
||||
AVB_TX_ER_MARK,
|
||||
|
||||
AVB_RX_CLK_MARK, AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK,
|
||||
AVB_RXD3_MARK, AVB_RXD4_MARK, AVB_RXD5_MARK, AVB_RXD6_MARK,
|
||||
AVB_RXD7_MARK, AVB_RX_DV_MARK, AVB_RX_ER_MARK,
|
||||
};
|
||||
static const unsigned int avb_avtp_match_a_pins[] = {
|
||||
RCAR_GP_PIN(1, 15),
|
||||
};
|
||||
static const unsigned int avb_avtp_match_a_mux[] = {
|
||||
AVB_AVTP_MATCH_A_MARK,
|
||||
};
|
||||
static const unsigned int avb_avtp_capture_a_pins[] = {
|
||||
RCAR_GP_PIN(1, 14),
|
||||
};
|
||||
static const unsigned int avb_avtp_capture_a_mux[] = {
|
||||
AVB_AVTP_CAPTURE_A_MARK,
|
||||
};
|
||||
static const unsigned int avb_avtp_match_b_pins[] = {
|
||||
RCAR_GP_PIN(5, 20),
|
||||
};
|
||||
static const unsigned int avb_avtp_match_b_mux[] = {
|
||||
AVB_AVTP_MATCH_B_MARK,
|
||||
};
|
||||
static const unsigned int avb_avtp_capture_b_pins[] = {
|
||||
RCAR_GP_PIN(5, 19),
|
||||
};
|
||||
static const unsigned int avb_avtp_capture_b_mux[] = {
|
||||
AVB_AVTP_CAPTURE_B_MARK,
|
||||
};
|
||||
/* - MMC -------------------------------------------------------------------- */
|
||||
static const unsigned int mmc_data1_pins[] = {
|
||||
/* D0 */
|
||||
@ -1370,6 +1474,19 @@ static const unsigned int scif_clk_b_mux[] = {
|
||||
};
|
||||
|
||||
static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(avb_col),
|
||||
SH_PFC_PIN_GROUP(avb_crs),
|
||||
SH_PFC_PIN_GROUP(avb_link),
|
||||
SH_PFC_PIN_GROUP(avb_magic),
|
||||
SH_PFC_PIN_GROUP(avb_phy_int),
|
||||
SH_PFC_PIN_GROUP(avb_mdio),
|
||||
SH_PFC_PIN_GROUP(avb_mii_tx_rx),
|
||||
SH_PFC_PIN_GROUP(avb_mii_tx_er),
|
||||
SH_PFC_PIN_GROUP(avb_gmii_tx_rx),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_match_a),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_capture_a),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_match_b),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_capture_b),
|
||||
SH_PFC_PIN_GROUP(mmc_data1),
|
||||
SH_PFC_PIN_GROUP(mmc_data4),
|
||||
SH_PFC_PIN_GROUP(mmc_data8),
|
||||
@ -1409,6 +1526,21 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(scif_clk_b),
|
||||
};
|
||||
|
||||
static const char * const avb_groups[] = {
|
||||
"avb_col",
|
||||
"avb_crs",
|
||||
"avb_link",
|
||||
"avb_magic",
|
||||
"avb_phy_int",
|
||||
"avb_mdio",
|
||||
"avb_mii_tx_rx",
|
||||
"avb_mii_tx_er",
|
||||
"avb_gmii_tx_rx",
|
||||
"avb_avtp_match_a",
|
||||
"avb_avtp_capture_a",
|
||||
"avb_avtp_match_b",
|
||||
"avb_avtp_capture_b",
|
||||
};
|
||||
static const char * const mmc_groups[] = {
|
||||
"mmc_data1",
|
||||
"mmc_data4",
|
||||
@ -1471,6 +1603,7 @@ static const char * const scif_clk_groups[] = {
|
||||
};
|
||||
|
||||
static const struct sh_pfc_function pinmux_functions[] = {
|
||||
SH_PFC_FUNCTION(avb),
|
||||
SH_PFC_FUNCTION(mmc),
|
||||
SH_PFC_FUNCTION(scif0),
|
||||
SH_PFC_FUNCTION(scif1),
|
||||
|
@ -4126,347 +4126,354 @@ static const unsigned int vin5_clk_mux[] = {
|
||||
VI5_CLK_MARK,
|
||||
};
|
||||
|
||||
static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_b),
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_c),
|
||||
SH_PFC_PIN_GROUP(audio_clk_b_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_b_b),
|
||||
SH_PFC_PIN_GROUP(audio_clk_c_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_c_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_c),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_d),
|
||||
SH_PFC_PIN_GROUP(audio_clkout1_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout1_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout2_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout2_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout3_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout3_b),
|
||||
SH_PFC_PIN_GROUP(avb_link),
|
||||
SH_PFC_PIN_GROUP(avb_magic),
|
||||
SH_PFC_PIN_GROUP(avb_phy_int),
|
||||
SH_PFC_PIN_GROUP_ALIAS(avb_mdc, avb_mdio), /* Deprecated */
|
||||
SH_PFC_PIN_GROUP(avb_mdio),
|
||||
SH_PFC_PIN_GROUP(avb_mii),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_pps),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_match_a),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_capture_a),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_match_b),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_capture_b),
|
||||
SH_PFC_PIN_GROUP(can0_data_a),
|
||||
SH_PFC_PIN_GROUP(can0_data_b),
|
||||
SH_PFC_PIN_GROUP(can1_data),
|
||||
SH_PFC_PIN_GROUP(can_clk),
|
||||
SH_PFC_PIN_GROUP(canfd0_data_a),
|
||||
SH_PFC_PIN_GROUP(canfd0_data_b),
|
||||
SH_PFC_PIN_GROUP(canfd1_data),
|
||||
SH_PFC_PIN_GROUP(drif0_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif0_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif0_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif0_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif0_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif0_data1_b),
|
||||
SH_PFC_PIN_GROUP(drif0_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(drif0_data0_c),
|
||||
SH_PFC_PIN_GROUP(drif0_data1_c),
|
||||
SH_PFC_PIN_GROUP(drif1_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif1_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif1_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif1_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif1_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif1_data1_b),
|
||||
SH_PFC_PIN_GROUP(drif1_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(drif1_data0_c),
|
||||
SH_PFC_PIN_GROUP(drif1_data1_c),
|
||||
SH_PFC_PIN_GROUP(drif2_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif2_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif2_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif2_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif2_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif2_data1_b),
|
||||
SH_PFC_PIN_GROUP(drif3_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif3_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif3_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif3_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif3_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif3_data1_b),
|
||||
SH_PFC_PIN_GROUP(du_rgb666),
|
||||
SH_PFC_PIN_GROUP(du_rgb888),
|
||||
SH_PFC_PIN_GROUP(du_clk_out_0),
|
||||
SH_PFC_PIN_GROUP(du_clk_out_1),
|
||||
SH_PFC_PIN_GROUP(du_sync),
|
||||
SH_PFC_PIN_GROUP(du_oddf),
|
||||
SH_PFC_PIN_GROUP(du_cde),
|
||||
SH_PFC_PIN_GROUP(du_disp),
|
||||
SH_PFC_PIN_GROUP(hdmi0_cec),
|
||||
SH_PFC_PIN_GROUP(hscif0_data),
|
||||
SH_PFC_PIN_GROUP(hscif0_clk),
|
||||
SH_PFC_PIN_GROUP(hscif0_ctrl),
|
||||
SH_PFC_PIN_GROUP(hscif1_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif1_clk_a),
|
||||
SH_PFC_PIN_GROUP(hscif1_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(hscif1_data_b),
|
||||
SH_PFC_PIN_GROUP(hscif1_clk_b),
|
||||
SH_PFC_PIN_GROUP(hscif1_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif2_clk_a),
|
||||
SH_PFC_PIN_GROUP(hscif2_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(hscif2_data_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_clk_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_data_c),
|
||||
SH_PFC_PIN_GROUP(hscif2_clk_c),
|
||||
SH_PFC_PIN_GROUP(hscif2_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif3_clk),
|
||||
SH_PFC_PIN_GROUP(hscif3_ctrl),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_b),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_c),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_d),
|
||||
SH_PFC_PIN_GROUP(hscif4_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif4_clk),
|
||||
SH_PFC_PIN_GROUP(hscif4_ctrl),
|
||||
SH_PFC_PIN_GROUP(hscif4_data_b),
|
||||
SH_PFC_PIN_GROUP(i2c1_a),
|
||||
SH_PFC_PIN_GROUP(i2c1_b),
|
||||
SH_PFC_PIN_GROUP(i2c2_a),
|
||||
SH_PFC_PIN_GROUP(i2c2_b),
|
||||
SH_PFC_PIN_GROUP(i2c6_a),
|
||||
SH_PFC_PIN_GROUP(i2c6_b),
|
||||
SH_PFC_PIN_GROUP(i2c6_c),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq0),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq1),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq2),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq3),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq4),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq5),
|
||||
SH_PFC_PIN_GROUP(msiof0_clk),
|
||||
SH_PFC_PIN_GROUP(msiof0_sync),
|
||||
SH_PFC_PIN_GROUP(msiof0_ss1),
|
||||
SH_PFC_PIN_GROUP(msiof0_ss2),
|
||||
SH_PFC_PIN_GROUP(msiof0_txd),
|
||||
SH_PFC_PIN_GROUP(msiof0_rxd),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_g),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss2_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss2_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss2_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_e),
|
||||
SH_PFC_PIN_GROUP(pwm0),
|
||||
SH_PFC_PIN_GROUP(pwm1_a),
|
||||
SH_PFC_PIN_GROUP(pwm1_b),
|
||||
SH_PFC_PIN_GROUP(pwm2_a),
|
||||
SH_PFC_PIN_GROUP(pwm2_b),
|
||||
SH_PFC_PIN_GROUP(pwm3_a),
|
||||
SH_PFC_PIN_GROUP(pwm3_b),
|
||||
SH_PFC_PIN_GROUP(pwm4_a),
|
||||
SH_PFC_PIN_GROUP(pwm4_b),
|
||||
SH_PFC_PIN_GROUP(pwm5_a),
|
||||
SH_PFC_PIN_GROUP(pwm5_b),
|
||||
SH_PFC_PIN_GROUP(pwm6_a),
|
||||
SH_PFC_PIN_GROUP(pwm6_b),
|
||||
SH_PFC_PIN_GROUP(scif0_data),
|
||||
SH_PFC_PIN_GROUP(scif0_clk),
|
||||
SH_PFC_PIN_GROUP(scif0_ctrl),
|
||||
SH_PFC_PIN_GROUP(scif1_data_a),
|
||||
SH_PFC_PIN_GROUP(scif1_clk),
|
||||
SH_PFC_PIN_GROUP(scif1_ctrl),
|
||||
SH_PFC_PIN_GROUP(scif1_data_b),
|
||||
SH_PFC_PIN_GROUP(scif2_data_a),
|
||||
SH_PFC_PIN_GROUP(scif2_clk),
|
||||
SH_PFC_PIN_GROUP(scif2_data_b),
|
||||
SH_PFC_PIN_GROUP(scif3_data_a),
|
||||
SH_PFC_PIN_GROUP(scif3_clk),
|
||||
SH_PFC_PIN_GROUP(scif3_ctrl),
|
||||
SH_PFC_PIN_GROUP(scif3_data_b),
|
||||
SH_PFC_PIN_GROUP(scif4_data_a),
|
||||
SH_PFC_PIN_GROUP(scif4_clk_a),
|
||||
SH_PFC_PIN_GROUP(scif4_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(scif4_data_b),
|
||||
SH_PFC_PIN_GROUP(scif4_clk_b),
|
||||
SH_PFC_PIN_GROUP(scif4_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(scif4_data_c),
|
||||
SH_PFC_PIN_GROUP(scif4_clk_c),
|
||||
SH_PFC_PIN_GROUP(scif4_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(scif5_data_a),
|
||||
SH_PFC_PIN_GROUP(scif5_clk_a),
|
||||
SH_PFC_PIN_GROUP(scif5_data_b),
|
||||
SH_PFC_PIN_GROUP(scif5_clk_b),
|
||||
SH_PFC_PIN_GROUP(scif_clk_a),
|
||||
SH_PFC_PIN_GROUP(scif_clk_b),
|
||||
SH_PFC_PIN_GROUP(sdhi0_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi0_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi0_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi0_cd),
|
||||
SH_PFC_PIN_GROUP(sdhi0_wp),
|
||||
SH_PFC_PIN_GROUP(sdhi1_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi1_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi1_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi1_cd),
|
||||
SH_PFC_PIN_GROUP(sdhi1_wp),
|
||||
SH_PFC_PIN_GROUP(sdhi2_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi2_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi2_data8),
|
||||
SH_PFC_PIN_GROUP(sdhi2_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi2_cd_a),
|
||||
SH_PFC_PIN_GROUP(sdhi2_wp_a),
|
||||
SH_PFC_PIN_GROUP(sdhi2_cd_b),
|
||||
SH_PFC_PIN_GROUP(sdhi2_wp_b),
|
||||
SH_PFC_PIN_GROUP(sdhi2_ds),
|
||||
SH_PFC_PIN_GROUP(sdhi3_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi3_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi3_data8),
|
||||
SH_PFC_PIN_GROUP(sdhi3_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi3_cd),
|
||||
SH_PFC_PIN_GROUP(sdhi3_wp),
|
||||
SH_PFC_PIN_GROUP(sdhi3_ds),
|
||||
SH_PFC_PIN_GROUP(ssi0_data),
|
||||
SH_PFC_PIN_GROUP(ssi01239_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi1_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi1_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi1_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi1_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(ssi2_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi2_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi2_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi2_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(ssi3_data),
|
||||
SH_PFC_PIN_GROUP(ssi349_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi4_data),
|
||||
SH_PFC_PIN_GROUP(ssi4_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi5_data),
|
||||
SH_PFC_PIN_GROUP(ssi5_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi6_data),
|
||||
SH_PFC_PIN_GROUP(ssi6_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi7_data),
|
||||
SH_PFC_PIN_GROUP(ssi78_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi8_data),
|
||||
SH_PFC_PIN_GROUP(ssi9_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi9_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi9_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi9_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk1_a),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk1_b),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk2_a),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk2_b),
|
||||
SH_PFC_PIN_GROUP(usb0),
|
||||
SH_PFC_PIN_GROUP(usb1),
|
||||
SH_PFC_PIN_GROUP(usb30),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 8),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 10),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 12),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 16),
|
||||
SH_PFC_PIN_GROUP(vin4_data18_a),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 20),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 24),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 8),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 10),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 12),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 16),
|
||||
SH_PFC_PIN_GROUP(vin4_data18_b),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 20),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 24),
|
||||
SH_PFC_PIN_GROUP(vin4_sync),
|
||||
SH_PFC_PIN_GROUP(vin4_field),
|
||||
SH_PFC_PIN_GROUP(vin4_clkenb),
|
||||
SH_PFC_PIN_GROUP(vin4_clk),
|
||||
SH_PFC_PIN_GROUP(vin5_data8),
|
||||
SH_PFC_PIN_GROUP(vin5_data10),
|
||||
SH_PFC_PIN_GROUP(vin5_data12),
|
||||
SH_PFC_PIN_GROUP(vin5_data16),
|
||||
SH_PFC_PIN_GROUP(vin5_sync),
|
||||
SH_PFC_PIN_GROUP(vin5_field),
|
||||
SH_PFC_PIN_GROUP(vin5_clkenb),
|
||||
SH_PFC_PIN_GROUP(vin5_clk),
|
||||
static const struct {
|
||||
struct sh_pfc_pin_group common[307];
|
||||
struct sh_pfc_pin_group r8a779x[33];
|
||||
} pinmux_groups = {
|
||||
.common = {
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_b),
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_c),
|
||||
SH_PFC_PIN_GROUP(audio_clk_b_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_b_b),
|
||||
SH_PFC_PIN_GROUP(audio_clk_c_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_c_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_c),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_d),
|
||||
SH_PFC_PIN_GROUP(audio_clkout1_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout1_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout2_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout2_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout3_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout3_b),
|
||||
SH_PFC_PIN_GROUP(avb_link),
|
||||
SH_PFC_PIN_GROUP(avb_magic),
|
||||
SH_PFC_PIN_GROUP(avb_phy_int),
|
||||
SH_PFC_PIN_GROUP_ALIAS(avb_mdc, avb_mdio), /* Deprecated */
|
||||
SH_PFC_PIN_GROUP(avb_mdio),
|
||||
SH_PFC_PIN_GROUP(avb_mii),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_pps),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_match_a),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_capture_a),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_match_b),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_capture_b),
|
||||
SH_PFC_PIN_GROUP(can0_data_a),
|
||||
SH_PFC_PIN_GROUP(can0_data_b),
|
||||
SH_PFC_PIN_GROUP(can1_data),
|
||||
SH_PFC_PIN_GROUP(can_clk),
|
||||
SH_PFC_PIN_GROUP(du_rgb666),
|
||||
SH_PFC_PIN_GROUP(du_rgb888),
|
||||
SH_PFC_PIN_GROUP(du_clk_out_0),
|
||||
SH_PFC_PIN_GROUP(du_clk_out_1),
|
||||
SH_PFC_PIN_GROUP(du_sync),
|
||||
SH_PFC_PIN_GROUP(du_oddf),
|
||||
SH_PFC_PIN_GROUP(du_cde),
|
||||
SH_PFC_PIN_GROUP(du_disp),
|
||||
SH_PFC_PIN_GROUP(hdmi0_cec),
|
||||
SH_PFC_PIN_GROUP(hscif0_data),
|
||||
SH_PFC_PIN_GROUP(hscif0_clk),
|
||||
SH_PFC_PIN_GROUP(hscif0_ctrl),
|
||||
SH_PFC_PIN_GROUP(hscif1_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif1_clk_a),
|
||||
SH_PFC_PIN_GROUP(hscif1_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(hscif1_data_b),
|
||||
SH_PFC_PIN_GROUP(hscif1_clk_b),
|
||||
SH_PFC_PIN_GROUP(hscif1_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif2_clk_a),
|
||||
SH_PFC_PIN_GROUP(hscif2_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(hscif2_data_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_clk_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(hscif2_data_c),
|
||||
SH_PFC_PIN_GROUP(hscif2_clk_c),
|
||||
SH_PFC_PIN_GROUP(hscif2_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif3_clk),
|
||||
SH_PFC_PIN_GROUP(hscif3_ctrl),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_b),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_c),
|
||||
SH_PFC_PIN_GROUP(hscif3_data_d),
|
||||
SH_PFC_PIN_GROUP(hscif4_data_a),
|
||||
SH_PFC_PIN_GROUP(hscif4_clk),
|
||||
SH_PFC_PIN_GROUP(hscif4_ctrl),
|
||||
SH_PFC_PIN_GROUP(hscif4_data_b),
|
||||
SH_PFC_PIN_GROUP(i2c1_a),
|
||||
SH_PFC_PIN_GROUP(i2c1_b),
|
||||
SH_PFC_PIN_GROUP(i2c2_a),
|
||||
SH_PFC_PIN_GROUP(i2c2_b),
|
||||
SH_PFC_PIN_GROUP(i2c6_a),
|
||||
SH_PFC_PIN_GROUP(i2c6_b),
|
||||
SH_PFC_PIN_GROUP(i2c6_c),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq0),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq1),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq2),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq3),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq4),
|
||||
SH_PFC_PIN_GROUP(intc_ex_irq5),
|
||||
SH_PFC_PIN_GROUP(msiof0_clk),
|
||||
SH_PFC_PIN_GROUP(msiof0_sync),
|
||||
SH_PFC_PIN_GROUP(msiof0_ss1),
|
||||
SH_PFC_PIN_GROUP(msiof0_ss2),
|
||||
SH_PFC_PIN_GROUP(msiof0_txd),
|
||||
SH_PFC_PIN_GROUP(msiof0_rxd),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_a),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_b),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_c),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_d),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_e),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_f),
|
||||
SH_PFC_PIN_GROUP(msiof1_clk_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_sync_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss1_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_ss2_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_txd_g),
|
||||
SH_PFC_PIN_GROUP(msiof1_rxd_g),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_a),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_b),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_c),
|
||||
SH_PFC_PIN_GROUP(msiof2_clk_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_sync_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss1_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_ss2_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_txd_d),
|
||||
SH_PFC_PIN_GROUP(msiof2_rxd_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss2_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_a),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss2_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_b),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_c),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_d),
|
||||
SH_PFC_PIN_GROUP(msiof3_clk_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_sync_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss1_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_ss2_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_txd_e),
|
||||
SH_PFC_PIN_GROUP(msiof3_rxd_e),
|
||||
SH_PFC_PIN_GROUP(pwm0),
|
||||
SH_PFC_PIN_GROUP(pwm1_a),
|
||||
SH_PFC_PIN_GROUP(pwm1_b),
|
||||
SH_PFC_PIN_GROUP(pwm2_a),
|
||||
SH_PFC_PIN_GROUP(pwm2_b),
|
||||
SH_PFC_PIN_GROUP(pwm3_a),
|
||||
SH_PFC_PIN_GROUP(pwm3_b),
|
||||
SH_PFC_PIN_GROUP(pwm4_a),
|
||||
SH_PFC_PIN_GROUP(pwm4_b),
|
||||
SH_PFC_PIN_GROUP(pwm5_a),
|
||||
SH_PFC_PIN_GROUP(pwm5_b),
|
||||
SH_PFC_PIN_GROUP(pwm6_a),
|
||||
SH_PFC_PIN_GROUP(pwm6_b),
|
||||
SH_PFC_PIN_GROUP(scif0_data),
|
||||
SH_PFC_PIN_GROUP(scif0_clk),
|
||||
SH_PFC_PIN_GROUP(scif0_ctrl),
|
||||
SH_PFC_PIN_GROUP(scif1_data_a),
|
||||
SH_PFC_PIN_GROUP(scif1_clk),
|
||||
SH_PFC_PIN_GROUP(scif1_ctrl),
|
||||
SH_PFC_PIN_GROUP(scif1_data_b),
|
||||
SH_PFC_PIN_GROUP(scif2_data_a),
|
||||
SH_PFC_PIN_GROUP(scif2_clk),
|
||||
SH_PFC_PIN_GROUP(scif2_data_b),
|
||||
SH_PFC_PIN_GROUP(scif3_data_a),
|
||||
SH_PFC_PIN_GROUP(scif3_clk),
|
||||
SH_PFC_PIN_GROUP(scif3_ctrl),
|
||||
SH_PFC_PIN_GROUP(scif3_data_b),
|
||||
SH_PFC_PIN_GROUP(scif4_data_a),
|
||||
SH_PFC_PIN_GROUP(scif4_clk_a),
|
||||
SH_PFC_PIN_GROUP(scif4_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(scif4_data_b),
|
||||
SH_PFC_PIN_GROUP(scif4_clk_b),
|
||||
SH_PFC_PIN_GROUP(scif4_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(scif4_data_c),
|
||||
SH_PFC_PIN_GROUP(scif4_clk_c),
|
||||
SH_PFC_PIN_GROUP(scif4_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(scif5_data_a),
|
||||
SH_PFC_PIN_GROUP(scif5_clk_a),
|
||||
SH_PFC_PIN_GROUP(scif5_data_b),
|
||||
SH_PFC_PIN_GROUP(scif5_clk_b),
|
||||
SH_PFC_PIN_GROUP(scif_clk_a),
|
||||
SH_PFC_PIN_GROUP(scif_clk_b),
|
||||
SH_PFC_PIN_GROUP(sdhi0_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi0_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi0_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi0_cd),
|
||||
SH_PFC_PIN_GROUP(sdhi0_wp),
|
||||
SH_PFC_PIN_GROUP(sdhi1_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi1_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi1_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi1_cd),
|
||||
SH_PFC_PIN_GROUP(sdhi1_wp),
|
||||
SH_PFC_PIN_GROUP(sdhi2_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi2_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi2_data8),
|
||||
SH_PFC_PIN_GROUP(sdhi2_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi2_cd_a),
|
||||
SH_PFC_PIN_GROUP(sdhi2_wp_a),
|
||||
SH_PFC_PIN_GROUP(sdhi2_cd_b),
|
||||
SH_PFC_PIN_GROUP(sdhi2_wp_b),
|
||||
SH_PFC_PIN_GROUP(sdhi2_ds),
|
||||
SH_PFC_PIN_GROUP(sdhi3_data1),
|
||||
SH_PFC_PIN_GROUP(sdhi3_data4),
|
||||
SH_PFC_PIN_GROUP(sdhi3_data8),
|
||||
SH_PFC_PIN_GROUP(sdhi3_ctrl),
|
||||
SH_PFC_PIN_GROUP(sdhi3_cd),
|
||||
SH_PFC_PIN_GROUP(sdhi3_wp),
|
||||
SH_PFC_PIN_GROUP(sdhi3_ds),
|
||||
SH_PFC_PIN_GROUP(ssi0_data),
|
||||
SH_PFC_PIN_GROUP(ssi01239_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi1_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi1_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi1_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi1_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(ssi2_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi2_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi2_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi2_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(ssi3_data),
|
||||
SH_PFC_PIN_GROUP(ssi349_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi4_data),
|
||||
SH_PFC_PIN_GROUP(ssi4_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi5_data),
|
||||
SH_PFC_PIN_GROUP(ssi5_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi6_data),
|
||||
SH_PFC_PIN_GROUP(ssi6_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi7_data),
|
||||
SH_PFC_PIN_GROUP(ssi78_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi8_data),
|
||||
SH_PFC_PIN_GROUP(ssi9_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi9_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi9_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi9_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk1_a),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk1_b),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk2_a),
|
||||
SH_PFC_PIN_GROUP(tmu_tclk2_b),
|
||||
SH_PFC_PIN_GROUP(usb0),
|
||||
SH_PFC_PIN_GROUP(usb1),
|
||||
SH_PFC_PIN_GROUP(usb30),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 8),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 10),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 12),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 16),
|
||||
SH_PFC_PIN_GROUP(vin4_data18_a),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 20),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_a, 24),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 8),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 10),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 12),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 16),
|
||||
SH_PFC_PIN_GROUP(vin4_data18_b),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 20),
|
||||
VIN_DATA_PIN_GROUP(vin4_data_b, 24),
|
||||
SH_PFC_PIN_GROUP(vin4_sync),
|
||||
SH_PFC_PIN_GROUP(vin4_field),
|
||||
SH_PFC_PIN_GROUP(vin4_clkenb),
|
||||
SH_PFC_PIN_GROUP(vin4_clk),
|
||||
SH_PFC_PIN_GROUP(vin5_data8),
|
||||
SH_PFC_PIN_GROUP(vin5_data10),
|
||||
SH_PFC_PIN_GROUP(vin5_data12),
|
||||
SH_PFC_PIN_GROUP(vin5_data16),
|
||||
SH_PFC_PIN_GROUP(vin5_sync),
|
||||
SH_PFC_PIN_GROUP(vin5_field),
|
||||
SH_PFC_PIN_GROUP(vin5_clkenb),
|
||||
SH_PFC_PIN_GROUP(vin5_clk),
|
||||
},
|
||||
.r8a779x = {
|
||||
SH_PFC_PIN_GROUP(canfd0_data_a),
|
||||
SH_PFC_PIN_GROUP(canfd0_data_b),
|
||||
SH_PFC_PIN_GROUP(canfd1_data),
|
||||
SH_PFC_PIN_GROUP(drif0_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif0_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif0_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif0_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif0_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif0_data1_b),
|
||||
SH_PFC_PIN_GROUP(drif0_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(drif0_data0_c),
|
||||
SH_PFC_PIN_GROUP(drif0_data1_c),
|
||||
SH_PFC_PIN_GROUP(drif1_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif1_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif1_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif1_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif1_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif1_data1_b),
|
||||
SH_PFC_PIN_GROUP(drif1_ctrl_c),
|
||||
SH_PFC_PIN_GROUP(drif1_data0_c),
|
||||
SH_PFC_PIN_GROUP(drif1_data1_c),
|
||||
SH_PFC_PIN_GROUP(drif2_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif2_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif2_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif2_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif2_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif2_data1_b),
|
||||
SH_PFC_PIN_GROUP(drif3_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(drif3_data0_a),
|
||||
SH_PFC_PIN_GROUP(drif3_data1_a),
|
||||
SH_PFC_PIN_GROUP(drif3_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(drif3_data0_b),
|
||||
SH_PFC_PIN_GROUP(drif3_data1_b),
|
||||
}
|
||||
};
|
||||
|
||||
static const char * const audio_clk_groups[] = {
|
||||
@ -4962,58 +4969,65 @@ static const char * const vin5_groups[] = {
|
||||
"vin5_clk",
|
||||
};
|
||||
|
||||
static const struct sh_pfc_function pinmux_functions[] = {
|
||||
SH_PFC_FUNCTION(audio_clk),
|
||||
SH_PFC_FUNCTION(avb),
|
||||
SH_PFC_FUNCTION(can0),
|
||||
SH_PFC_FUNCTION(can1),
|
||||
SH_PFC_FUNCTION(can_clk),
|
||||
SH_PFC_FUNCTION(canfd0),
|
||||
SH_PFC_FUNCTION(canfd1),
|
||||
SH_PFC_FUNCTION(drif0),
|
||||
SH_PFC_FUNCTION(drif1),
|
||||
SH_PFC_FUNCTION(drif2),
|
||||
SH_PFC_FUNCTION(drif3),
|
||||
SH_PFC_FUNCTION(du),
|
||||
SH_PFC_FUNCTION(hdmi0),
|
||||
SH_PFC_FUNCTION(hscif0),
|
||||
SH_PFC_FUNCTION(hscif1),
|
||||
SH_PFC_FUNCTION(hscif2),
|
||||
SH_PFC_FUNCTION(hscif3),
|
||||
SH_PFC_FUNCTION(hscif4),
|
||||
SH_PFC_FUNCTION(i2c1),
|
||||
SH_PFC_FUNCTION(i2c2),
|
||||
SH_PFC_FUNCTION(i2c6),
|
||||
SH_PFC_FUNCTION(intc_ex),
|
||||
SH_PFC_FUNCTION(msiof0),
|
||||
SH_PFC_FUNCTION(msiof1),
|
||||
SH_PFC_FUNCTION(msiof2),
|
||||
SH_PFC_FUNCTION(msiof3),
|
||||
SH_PFC_FUNCTION(pwm0),
|
||||
SH_PFC_FUNCTION(pwm1),
|
||||
SH_PFC_FUNCTION(pwm2),
|
||||
SH_PFC_FUNCTION(pwm3),
|
||||
SH_PFC_FUNCTION(pwm4),
|
||||
SH_PFC_FUNCTION(pwm5),
|
||||
SH_PFC_FUNCTION(pwm6),
|
||||
SH_PFC_FUNCTION(scif0),
|
||||
SH_PFC_FUNCTION(scif1),
|
||||
SH_PFC_FUNCTION(scif2),
|
||||
SH_PFC_FUNCTION(scif3),
|
||||
SH_PFC_FUNCTION(scif4),
|
||||
SH_PFC_FUNCTION(scif5),
|
||||
SH_PFC_FUNCTION(scif_clk),
|
||||
SH_PFC_FUNCTION(sdhi0),
|
||||
SH_PFC_FUNCTION(sdhi1),
|
||||
SH_PFC_FUNCTION(sdhi2),
|
||||
SH_PFC_FUNCTION(sdhi3),
|
||||
SH_PFC_FUNCTION(ssi),
|
||||
SH_PFC_FUNCTION(tmu),
|
||||
SH_PFC_FUNCTION(usb0),
|
||||
SH_PFC_FUNCTION(usb1),
|
||||
SH_PFC_FUNCTION(usb30),
|
||||
SH_PFC_FUNCTION(vin4),
|
||||
SH_PFC_FUNCTION(vin5),
|
||||
static const struct {
|
||||
struct sh_pfc_function common[45];
|
||||
struct sh_pfc_function r8a779x[6];
|
||||
} pinmux_functions = {
|
||||
.common = {
|
||||
SH_PFC_FUNCTION(audio_clk),
|
||||
SH_PFC_FUNCTION(avb),
|
||||
SH_PFC_FUNCTION(can0),
|
||||
SH_PFC_FUNCTION(can1),
|
||||
SH_PFC_FUNCTION(can_clk),
|
||||
SH_PFC_FUNCTION(du),
|
||||
SH_PFC_FUNCTION(hdmi0),
|
||||
SH_PFC_FUNCTION(hscif0),
|
||||
SH_PFC_FUNCTION(hscif1),
|
||||
SH_PFC_FUNCTION(hscif2),
|
||||
SH_PFC_FUNCTION(hscif3),
|
||||
SH_PFC_FUNCTION(hscif4),
|
||||
SH_PFC_FUNCTION(i2c1),
|
||||
SH_PFC_FUNCTION(i2c2),
|
||||
SH_PFC_FUNCTION(i2c6),
|
||||
SH_PFC_FUNCTION(intc_ex),
|
||||
SH_PFC_FUNCTION(msiof0),
|
||||
SH_PFC_FUNCTION(msiof1),
|
||||
SH_PFC_FUNCTION(msiof2),
|
||||
SH_PFC_FUNCTION(msiof3),
|
||||
SH_PFC_FUNCTION(pwm0),
|
||||
SH_PFC_FUNCTION(pwm1),
|
||||
SH_PFC_FUNCTION(pwm2),
|
||||
SH_PFC_FUNCTION(pwm3),
|
||||
SH_PFC_FUNCTION(pwm4),
|
||||
SH_PFC_FUNCTION(pwm5),
|
||||
SH_PFC_FUNCTION(pwm6),
|
||||
SH_PFC_FUNCTION(scif0),
|
||||
SH_PFC_FUNCTION(scif1),
|
||||
SH_PFC_FUNCTION(scif2),
|
||||
SH_PFC_FUNCTION(scif3),
|
||||
SH_PFC_FUNCTION(scif4),
|
||||
SH_PFC_FUNCTION(scif5),
|
||||
SH_PFC_FUNCTION(scif_clk),
|
||||
SH_PFC_FUNCTION(sdhi0),
|
||||
SH_PFC_FUNCTION(sdhi1),
|
||||
SH_PFC_FUNCTION(sdhi2),
|
||||
SH_PFC_FUNCTION(sdhi3),
|
||||
SH_PFC_FUNCTION(ssi),
|
||||
SH_PFC_FUNCTION(tmu),
|
||||
SH_PFC_FUNCTION(usb0),
|
||||
SH_PFC_FUNCTION(usb1),
|
||||
SH_PFC_FUNCTION(usb30),
|
||||
SH_PFC_FUNCTION(vin4),
|
||||
SH_PFC_FUNCTION(vin5),
|
||||
},
|
||||
.r8a779x = {
|
||||
SH_PFC_FUNCTION(canfd0),
|
||||
SH_PFC_FUNCTION(canfd1),
|
||||
SH_PFC_FUNCTION(drif0),
|
||||
SH_PFC_FUNCTION(drif1),
|
||||
SH_PFC_FUNCTION(drif2),
|
||||
SH_PFC_FUNCTION(drif3),
|
||||
}
|
||||
};
|
||||
|
||||
static const struct pinmux_cfg_reg pinmux_config_regs[] = {
|
||||
@ -6137,8 +6151,9 @@ static const struct sh_pfc_soc_operations r8a7796_pinmux_ops = {
|
||||
.set_bias = r8a7796_pinmux_set_bias,
|
||||
};
|
||||
|
||||
const struct sh_pfc_soc_info r8a7796_pinmux_info = {
|
||||
.name = "r8a77960_pfc",
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A774A1
|
||||
const struct sh_pfc_soc_info r8a774a1_pinmux_info = {
|
||||
.name = "r8a774a1_pfc",
|
||||
.ops = &r8a7796_pinmux_ops,
|
||||
.unlock_reg = 0xe6060000, /* PMMR */
|
||||
|
||||
@ -6146,10 +6161,10 @@ const struct sh_pfc_soc_info r8a7796_pinmux_info = {
|
||||
|
||||
.pins = pinmux_pins,
|
||||
.nr_pins = ARRAY_SIZE(pinmux_pins),
|
||||
.groups = pinmux_groups,
|
||||
.nr_groups = ARRAY_SIZE(pinmux_groups),
|
||||
.functions = pinmux_functions,
|
||||
.nr_functions = ARRAY_SIZE(pinmux_functions),
|
||||
.groups = pinmux_groups.common,
|
||||
.nr_groups = ARRAY_SIZE(pinmux_groups.common),
|
||||
.functions = pinmux_functions.common,
|
||||
.nr_functions = ARRAY_SIZE(pinmux_functions.common),
|
||||
|
||||
.cfg_regs = pinmux_config_regs,
|
||||
.drive_regs = pinmux_drive_regs,
|
||||
@ -6159,3 +6174,31 @@ const struct sh_pfc_soc_info r8a7796_pinmux_info = {
|
||||
.pinmux_data = pinmux_data,
|
||||
.pinmux_data_size = ARRAY_SIZE(pinmux_data),
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A7796
|
||||
const struct sh_pfc_soc_info r8a7796_pinmux_info = {
|
||||
.name = "r8a77960_pfc",
|
||||
.ops = &r8a7796_pinmux_ops,
|
||||
.unlock_reg = 0xe6060000, /* PMMR */
|
||||
|
||||
.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
|
||||
|
||||
.pins = pinmux_pins,
|
||||
.nr_pins = ARRAY_SIZE(pinmux_pins),
|
||||
.groups = pinmux_groups.common,
|
||||
.nr_groups = ARRAY_SIZE(pinmux_groups.common) +
|
||||
ARRAY_SIZE(pinmux_groups.r8a779x),
|
||||
.functions = pinmux_functions.common,
|
||||
.nr_functions = ARRAY_SIZE(pinmux_functions.common) +
|
||||
ARRAY_SIZE(pinmux_functions.r8a779x),
|
||||
|
||||
.cfg_regs = pinmux_config_regs,
|
||||
.drive_regs = pinmux_drive_regs,
|
||||
.bias_regs = pinmux_bias_regs,
|
||||
.ioctrl_regs = pinmux_ioctrl_regs,
|
||||
|
||||
.pinmux_data = pinmux_data,
|
||||
.pinmux_data_size = ARRAY_SIZE(pinmux_data),
|
||||
};
|
||||
#endif
|
||||
|
@ -1575,6 +1575,128 @@ static const struct sh_pfc_pin pinmux_pins[] = {
|
||||
SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 30, ASEBRK, CFG_FLAGS),
|
||||
};
|
||||
|
||||
/* - AUDIO CLOCK ------------------------------------------------------------ */
|
||||
static const unsigned int audio_clk_a_a_pins[] = {
|
||||
/* CLK A */
|
||||
RCAR_GP_PIN(6, 22),
|
||||
};
|
||||
static const unsigned int audio_clk_a_a_mux[] = {
|
||||
AUDIO_CLKA_A_MARK,
|
||||
};
|
||||
static const unsigned int audio_clk_a_b_pins[] = {
|
||||
/* CLK A */
|
||||
RCAR_GP_PIN(5, 4),
|
||||
};
|
||||
static const unsigned int audio_clk_a_b_mux[] = {
|
||||
AUDIO_CLKA_B_MARK,
|
||||
};
|
||||
static const unsigned int audio_clk_a_c_pins[] = {
|
||||
/* CLK A */
|
||||
RCAR_GP_PIN(5, 19),
|
||||
};
|
||||
static const unsigned int audio_clk_a_c_mux[] = {
|
||||
AUDIO_CLKA_C_MARK,
|
||||
};
|
||||
static const unsigned int audio_clk_b_a_pins[] = {
|
||||
/* CLK B */
|
||||
RCAR_GP_PIN(5, 12),
|
||||
};
|
||||
static const unsigned int audio_clk_b_a_mux[] = {
|
||||
AUDIO_CLKB_A_MARK,
|
||||
};
|
||||
static const unsigned int audio_clk_b_b_pins[] = {
|
||||
/* CLK B */
|
||||
RCAR_GP_PIN(6, 23),
|
||||
};
|
||||
static const unsigned int audio_clk_b_b_mux[] = {
|
||||
AUDIO_CLKB_B_MARK,
|
||||
};
|
||||
static const unsigned int audio_clk_c_a_pins[] = {
|
||||
/* CLK C */
|
||||
RCAR_GP_PIN(5, 21),
|
||||
};
|
||||
static const unsigned int audio_clk_c_a_mux[] = {
|
||||
AUDIO_CLKC_A_MARK,
|
||||
};
|
||||
static const unsigned int audio_clk_c_b_pins[] = {
|
||||
/* CLK C */
|
||||
RCAR_GP_PIN(5, 0),
|
||||
};
|
||||
static const unsigned int audio_clk_c_b_mux[] = {
|
||||
AUDIO_CLKC_B_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout_a_pins[] = {
|
||||
/* CLKOUT */
|
||||
RCAR_GP_PIN(5, 18),
|
||||
};
|
||||
static const unsigned int audio_clkout_a_mux[] = {
|
||||
AUDIO_CLKOUT_A_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout_b_pins[] = {
|
||||
/* CLKOUT */
|
||||
RCAR_GP_PIN(6, 28),
|
||||
};
|
||||
static const unsigned int audio_clkout_b_mux[] = {
|
||||
AUDIO_CLKOUT_B_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout_c_pins[] = {
|
||||
/* CLKOUT */
|
||||
RCAR_GP_PIN(5, 3),
|
||||
};
|
||||
static const unsigned int audio_clkout_c_mux[] = {
|
||||
AUDIO_CLKOUT_C_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout_d_pins[] = {
|
||||
/* CLKOUT */
|
||||
RCAR_GP_PIN(5, 21),
|
||||
};
|
||||
static const unsigned int audio_clkout_d_mux[] = {
|
||||
AUDIO_CLKOUT_D_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout1_a_pins[] = {
|
||||
/* CLKOUT1 */
|
||||
RCAR_GP_PIN(5, 15),
|
||||
};
|
||||
static const unsigned int audio_clkout1_a_mux[] = {
|
||||
AUDIO_CLKOUT1_A_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout1_b_pins[] = {
|
||||
/* CLKOUT1 */
|
||||
RCAR_GP_PIN(6, 29),
|
||||
};
|
||||
static const unsigned int audio_clkout1_b_mux[] = {
|
||||
AUDIO_CLKOUT1_B_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout2_a_pins[] = {
|
||||
/* CLKOUT2 */
|
||||
RCAR_GP_PIN(5, 16),
|
||||
};
|
||||
static const unsigned int audio_clkout2_a_mux[] = {
|
||||
AUDIO_CLKOUT2_A_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout2_b_pins[] = {
|
||||
/* CLKOUT2 */
|
||||
RCAR_GP_PIN(6, 30),
|
||||
};
|
||||
static const unsigned int audio_clkout2_b_mux[] = {
|
||||
AUDIO_CLKOUT2_B_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int audio_clkout3_a_pins[] = {
|
||||
/* CLKOUT3 */
|
||||
RCAR_GP_PIN(5, 19),
|
||||
};
|
||||
static const unsigned int audio_clkout3_a_mux[] = {
|
||||
AUDIO_CLKOUT3_A_MARK,
|
||||
};
|
||||
static const unsigned int audio_clkout3_b_pins[] = {
|
||||
/* CLKOUT3 */
|
||||
RCAR_GP_PIN(6, 31),
|
||||
};
|
||||
static const unsigned int audio_clkout3_b_mux[] = {
|
||||
AUDIO_CLKOUT3_B_MARK,
|
||||
};
|
||||
|
||||
/* - EtherAVB --------------------------------------------------------------- */
|
||||
static const unsigned int avb_link_pins[] = {
|
||||
/* AVB_LINK */
|
||||
@ -2907,6 +3029,25 @@ static const unsigned int pwm6_b_mux[] = {
|
||||
PWM6_B_MARK,
|
||||
};
|
||||
|
||||
/* - SATA --------------------------------------------------------------------*/
|
||||
static const unsigned int sata0_devslp_a_pins[] = {
|
||||
/* DEVSLP */
|
||||
RCAR_GP_PIN(6, 16),
|
||||
};
|
||||
|
||||
static const unsigned int sata0_devslp_a_mux[] = {
|
||||
SATA_DEVSLP_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int sata0_devslp_b_pins[] = {
|
||||
/* DEVSLP */
|
||||
RCAR_GP_PIN(4, 6),
|
||||
};
|
||||
|
||||
static const unsigned int sata0_devslp_b_mux[] = {
|
||||
SATA_DEVSLP_B_MARK,
|
||||
};
|
||||
|
||||
/* - SCIF0 ------------------------------------------------------------------ */
|
||||
static const unsigned int scif0_data_pins[] = {
|
||||
/* RX, TX */
|
||||
@ -3376,6 +3517,184 @@ static const unsigned int sdhi3_ds_mux[] = {
|
||||
SD3_DS_MARK,
|
||||
};
|
||||
|
||||
/* - SSI -------------------------------------------------------------------- */
|
||||
static const unsigned int ssi0_data_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 2),
|
||||
};
|
||||
static const unsigned int ssi0_data_mux[] = {
|
||||
SSI_SDATA0_MARK,
|
||||
};
|
||||
static const unsigned int ssi01239_ctrl_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 1),
|
||||
};
|
||||
static const unsigned int ssi01239_ctrl_mux[] = {
|
||||
SSI_SCK01239_MARK, SSI_WS01239_MARK,
|
||||
};
|
||||
static const unsigned int ssi1_data_a_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 3),
|
||||
};
|
||||
static const unsigned int ssi1_data_a_mux[] = {
|
||||
SSI_SDATA1_A_MARK,
|
||||
};
|
||||
static const unsigned int ssi1_data_b_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(5, 12),
|
||||
};
|
||||
static const unsigned int ssi1_data_b_mux[] = {
|
||||
SSI_SDATA1_B_MARK,
|
||||
};
|
||||
static const unsigned int ssi1_ctrl_a_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 26), RCAR_GP_PIN(6, 27),
|
||||
};
|
||||
static const unsigned int ssi1_ctrl_a_mux[] = {
|
||||
SSI_SCK1_A_MARK, SSI_WS1_A_MARK,
|
||||
};
|
||||
static const unsigned int ssi1_ctrl_b_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 4), RCAR_GP_PIN(6, 21),
|
||||
};
|
||||
static const unsigned int ssi1_ctrl_b_mux[] = {
|
||||
SSI_SCK1_B_MARK, SSI_WS1_B_MARK,
|
||||
};
|
||||
static const unsigned int ssi2_data_a_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 4),
|
||||
};
|
||||
static const unsigned int ssi2_data_a_mux[] = {
|
||||
SSI_SDATA2_A_MARK,
|
||||
};
|
||||
static const unsigned int ssi2_data_b_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(5, 13),
|
||||
};
|
||||
static const unsigned int ssi2_data_b_mux[] = {
|
||||
SSI_SDATA2_B_MARK,
|
||||
};
|
||||
static const unsigned int ssi2_ctrl_a_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(5, 19), RCAR_GP_PIN(5, 21),
|
||||
};
|
||||
static const unsigned int ssi2_ctrl_a_mux[] = {
|
||||
SSI_SCK2_A_MARK, SSI_WS2_A_MARK,
|
||||
};
|
||||
static const unsigned int ssi2_ctrl_b_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 28), RCAR_GP_PIN(6, 29),
|
||||
};
|
||||
static const unsigned int ssi2_ctrl_b_mux[] = {
|
||||
SSI_SCK2_B_MARK, SSI_WS2_B_MARK,
|
||||
};
|
||||
static const unsigned int ssi3_data_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 7),
|
||||
};
|
||||
static const unsigned int ssi3_data_mux[] = {
|
||||
SSI_SDATA3_MARK,
|
||||
};
|
||||
static const unsigned int ssi349_ctrl_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 5), RCAR_GP_PIN(6, 6),
|
||||
};
|
||||
static const unsigned int ssi349_ctrl_mux[] = {
|
||||
SSI_SCK349_MARK, SSI_WS349_MARK,
|
||||
};
|
||||
static const unsigned int ssi4_data_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 10),
|
||||
};
|
||||
static const unsigned int ssi4_data_mux[] = {
|
||||
SSI_SDATA4_MARK,
|
||||
};
|
||||
static const unsigned int ssi4_ctrl_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9),
|
||||
};
|
||||
static const unsigned int ssi4_ctrl_mux[] = {
|
||||
SSI_SCK4_MARK, SSI_WS4_MARK,
|
||||
};
|
||||
static const unsigned int ssi5_data_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 13),
|
||||
};
|
||||
static const unsigned int ssi5_data_mux[] = {
|
||||
SSI_SDATA5_MARK,
|
||||
};
|
||||
static const unsigned int ssi5_ctrl_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
|
||||
};
|
||||
static const unsigned int ssi5_ctrl_mux[] = {
|
||||
SSI_SCK5_MARK, SSI_WS5_MARK,
|
||||
};
|
||||
static const unsigned int ssi6_data_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 16),
|
||||
};
|
||||
static const unsigned int ssi6_data_mux[] = {
|
||||
SSI_SDATA6_MARK,
|
||||
};
|
||||
static const unsigned int ssi6_ctrl_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 15),
|
||||
};
|
||||
static const unsigned int ssi6_ctrl_mux[] = {
|
||||
SSI_SCK6_MARK, SSI_WS6_MARK,
|
||||
};
|
||||
static const unsigned int ssi7_data_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 19),
|
||||
};
|
||||
static const unsigned int ssi7_data_mux[] = {
|
||||
SSI_SDATA7_MARK,
|
||||
};
|
||||
static const unsigned int ssi78_ctrl_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 18),
|
||||
};
|
||||
static const unsigned int ssi78_ctrl_mux[] = {
|
||||
SSI_SCK78_MARK, SSI_WS78_MARK,
|
||||
};
|
||||
static const unsigned int ssi8_data_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 20),
|
||||
};
|
||||
static const unsigned int ssi8_data_mux[] = {
|
||||
SSI_SDATA8_MARK,
|
||||
};
|
||||
static const unsigned int ssi9_data_a_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(6, 21),
|
||||
};
|
||||
static const unsigned int ssi9_data_a_mux[] = {
|
||||
SSI_SDATA9_A_MARK,
|
||||
};
|
||||
static const unsigned int ssi9_data_b_pins[] = {
|
||||
/* SDATA */
|
||||
RCAR_GP_PIN(5, 14),
|
||||
};
|
||||
static const unsigned int ssi9_data_b_mux[] = {
|
||||
SSI_SDATA9_B_MARK,
|
||||
};
|
||||
static const unsigned int ssi9_ctrl_a_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16),
|
||||
};
|
||||
static const unsigned int ssi9_ctrl_a_mux[] = {
|
||||
SSI_SCK9_A_MARK, SSI_WS9_A_MARK,
|
||||
};
|
||||
static const unsigned int ssi9_ctrl_b_pins[] = {
|
||||
/* SCK, WS */
|
||||
RCAR_GP_PIN(6, 30), RCAR_GP_PIN(6, 31),
|
||||
};
|
||||
static const unsigned int ssi9_ctrl_b_mux[] = {
|
||||
SSI_SCK9_B_MARK, SSI_WS9_B_MARK,
|
||||
};
|
||||
|
||||
|
||||
/* - USB0 ------------------------------------------------------------------- */
|
||||
static const unsigned int usb0_pins[] = {
|
||||
/* PWEN, OVC */
|
||||
@ -3407,6 +3726,23 @@ static const unsigned int usb30_mux[] = {
|
||||
};
|
||||
|
||||
static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_b),
|
||||
SH_PFC_PIN_GROUP(audio_clk_a_c),
|
||||
SH_PFC_PIN_GROUP(audio_clk_b_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_b_b),
|
||||
SH_PFC_PIN_GROUP(audio_clk_c_a),
|
||||
SH_PFC_PIN_GROUP(audio_clk_c_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_c),
|
||||
SH_PFC_PIN_GROUP(audio_clkout_d),
|
||||
SH_PFC_PIN_GROUP(audio_clkout1_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout1_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout2_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout2_b),
|
||||
SH_PFC_PIN_GROUP(audio_clkout3_a),
|
||||
SH_PFC_PIN_GROUP(audio_clkout3_b),
|
||||
SH_PFC_PIN_GROUP(avb_link),
|
||||
SH_PFC_PIN_GROUP(avb_magic),
|
||||
SH_PFC_PIN_GROUP(avb_phy_int),
|
||||
@ -3579,6 +3915,8 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(pwm5_b),
|
||||
SH_PFC_PIN_GROUP(pwm6_a),
|
||||
SH_PFC_PIN_GROUP(pwm6_b),
|
||||
SH_PFC_PIN_GROUP(sata0_devslp_a),
|
||||
SH_PFC_PIN_GROUP(sata0_devslp_b),
|
||||
SH_PFC_PIN_GROUP(scif0_data),
|
||||
SH_PFC_PIN_GROUP(scif0_clk),
|
||||
SH_PFC_PIN_GROUP(scif0_ctrl),
|
||||
@ -3634,11 +3972,56 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(sdhi3_cd),
|
||||
SH_PFC_PIN_GROUP(sdhi3_wp),
|
||||
SH_PFC_PIN_GROUP(sdhi3_ds),
|
||||
SH_PFC_PIN_GROUP(ssi0_data),
|
||||
SH_PFC_PIN_GROUP(ssi01239_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi1_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi1_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi1_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi1_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(ssi2_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi2_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi2_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi2_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(ssi3_data),
|
||||
SH_PFC_PIN_GROUP(ssi349_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi4_data),
|
||||
SH_PFC_PIN_GROUP(ssi4_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi5_data),
|
||||
SH_PFC_PIN_GROUP(ssi5_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi6_data),
|
||||
SH_PFC_PIN_GROUP(ssi6_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi7_data),
|
||||
SH_PFC_PIN_GROUP(ssi78_ctrl),
|
||||
SH_PFC_PIN_GROUP(ssi8_data),
|
||||
SH_PFC_PIN_GROUP(ssi9_data_a),
|
||||
SH_PFC_PIN_GROUP(ssi9_data_b),
|
||||
SH_PFC_PIN_GROUP(ssi9_ctrl_a),
|
||||
SH_PFC_PIN_GROUP(ssi9_ctrl_b),
|
||||
SH_PFC_PIN_GROUP(usb0),
|
||||
SH_PFC_PIN_GROUP(usb1),
|
||||
SH_PFC_PIN_GROUP(usb30),
|
||||
};
|
||||
|
||||
static const char * const audio_clk_groups[] = {
|
||||
"audio_clk_a_a",
|
||||
"audio_clk_a_b",
|
||||
"audio_clk_a_c",
|
||||
"audio_clk_b_a",
|
||||
"audio_clk_b_b",
|
||||
"audio_clk_c_a",
|
||||
"audio_clk_c_b",
|
||||
"audio_clkout_a",
|
||||
"audio_clkout_b",
|
||||
"audio_clkout_c",
|
||||
"audio_clkout_d",
|
||||
"audio_clkout1_a",
|
||||
"audio_clkout1_b",
|
||||
"audio_clkout2_a",
|
||||
"audio_clkout2_b",
|
||||
"audio_clkout3_a",
|
||||
"audio_clkout3_b",
|
||||
};
|
||||
|
||||
static const char * const avb_groups[] = {
|
||||
"avb_link",
|
||||
"avb_magic",
|
||||
@ -3877,6 +4260,11 @@ static const char * const pwm6_groups[] = {
|
||||
"pwm6_b",
|
||||
};
|
||||
|
||||
static const char * const sata0_groups[] = {
|
||||
"sata0_devslp_a",
|
||||
"sata0_devslp_b",
|
||||
};
|
||||
|
||||
static const char * const scif0_groups[] = {
|
||||
"scif0_data",
|
||||
"scif0_clk",
|
||||
@ -3964,6 +4352,34 @@ static const char * const sdhi3_groups[] = {
|
||||
"sdhi3_ds",
|
||||
};
|
||||
|
||||
static const char * const ssi_groups[] = {
|
||||
"ssi0_data",
|
||||
"ssi01239_ctrl",
|
||||
"ssi1_data_a",
|
||||
"ssi1_data_b",
|
||||
"ssi1_ctrl_a",
|
||||
"ssi1_ctrl_b",
|
||||
"ssi2_data_a",
|
||||
"ssi2_data_b",
|
||||
"ssi2_ctrl_a",
|
||||
"ssi2_ctrl_b",
|
||||
"ssi3_data",
|
||||
"ssi349_ctrl",
|
||||
"ssi4_data",
|
||||
"ssi4_ctrl",
|
||||
"ssi5_data",
|
||||
"ssi5_ctrl",
|
||||
"ssi6_data",
|
||||
"ssi6_ctrl",
|
||||
"ssi7_data",
|
||||
"ssi78_ctrl",
|
||||
"ssi8_data",
|
||||
"ssi9_data_a",
|
||||
"ssi9_data_b",
|
||||
"ssi9_ctrl_a",
|
||||
"ssi9_ctrl_b",
|
||||
};
|
||||
|
||||
static const char * const usb0_groups[] = {
|
||||
"usb0",
|
||||
};
|
||||
@ -3977,6 +4393,7 @@ static const char * const usb30_groups[] = {
|
||||
};
|
||||
|
||||
static const struct sh_pfc_function pinmux_functions[] = {
|
||||
SH_PFC_FUNCTION(audio_clk),
|
||||
SH_PFC_FUNCTION(avb),
|
||||
SH_PFC_FUNCTION(du),
|
||||
SH_PFC_FUNCTION(hscif0),
|
||||
@ -3999,6 +4416,7 @@ static const struct sh_pfc_function pinmux_functions[] = {
|
||||
SH_PFC_FUNCTION(pwm4),
|
||||
SH_PFC_FUNCTION(pwm5),
|
||||
SH_PFC_FUNCTION(pwm6),
|
||||
SH_PFC_FUNCTION(sata0),
|
||||
SH_PFC_FUNCTION(scif0),
|
||||
SH_PFC_FUNCTION(scif1),
|
||||
SH_PFC_FUNCTION(scif2),
|
||||
@ -4010,6 +4428,7 @@ static const struct sh_pfc_function pinmux_functions[] = {
|
||||
SH_PFC_FUNCTION(sdhi1),
|
||||
SH_PFC_FUNCTION(sdhi2),
|
||||
SH_PFC_FUNCTION(sdhi3),
|
||||
SH_PFC_FUNCTION(ssi),
|
||||
SH_PFC_FUNCTION(usb0),
|
||||
SH_PFC_FUNCTION(usb1),
|
||||
SH_PFC_FUNCTION(usb30),
|
||||
|
@ -1371,6 +1371,94 @@ static const unsigned int avb_avtp_capture_a_mux[] = {
|
||||
AVB_AVTP_CAPTURE_A_MARK,
|
||||
};
|
||||
|
||||
/* - DU --------------------------------------------------------------------- */
|
||||
static const unsigned int du_rgb666_pins[] = {
|
||||
/* R[7:2], G[7:2], B[7:2] */
|
||||
RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 5),
|
||||
RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 0),
|
||||
RCAR_GP_PIN(1, 9), RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 10),
|
||||
RCAR_GP_PIN(1, 4), RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 11),
|
||||
RCAR_GP_PIN(0, 1), RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16),
|
||||
RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13),
|
||||
};
|
||||
static const unsigned int du_rgb666_mux[] = {
|
||||
DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK,
|
||||
DU_DR3_MARK, DU_DR2_MARK,
|
||||
DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK,
|
||||
DU_DG3_MARK, DU_DG2_MARK,
|
||||
DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK,
|
||||
DU_DB3_MARK, DU_DB2_MARK,
|
||||
};
|
||||
static const unsigned int du_rgb888_pins[] = {
|
||||
/* R[7:0], G[7:0], B[7:0] */
|
||||
RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 5),
|
||||
RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 0),
|
||||
RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21),
|
||||
RCAR_GP_PIN(1, 9), RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 10),
|
||||
RCAR_GP_PIN(1, 4), RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 11),
|
||||
RCAR_GP_PIN(0, 10), RCAR_GP_PIN(0, 9),
|
||||
RCAR_GP_PIN(0, 1), RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16),
|
||||
RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13),
|
||||
RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18),
|
||||
};
|
||||
static const unsigned int du_rgb888_mux[] = {
|
||||
DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK,
|
||||
DU_DR3_MARK, DU_DR2_MARK, DU_DR1_MARK, DU_DR0_MARK,
|
||||
DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK,
|
||||
DU_DG3_MARK, DU_DG2_MARK, DU_DG1_MARK, DU_DG0_MARK,
|
||||
DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK,
|
||||
DU_DB3_MARK, DU_DB2_MARK, DU_DB1_MARK, DU_DB0_MARK,
|
||||
};
|
||||
static const unsigned int du_clk_in_0_pins[] = {
|
||||
/* CLKIN0 */
|
||||
RCAR_GP_PIN(0, 16),
|
||||
};
|
||||
static const unsigned int du_clk_in_0_mux[] = {
|
||||
DU_DOTCLKIN0_MARK
|
||||
};
|
||||
static const unsigned int du_clk_in_1_pins[] = {
|
||||
/* CLKIN1 */
|
||||
RCAR_GP_PIN(1, 1),
|
||||
};
|
||||
static const unsigned int du_clk_in_1_mux[] = {
|
||||
DU_DOTCLKIN1_MARK
|
||||
};
|
||||
static const unsigned int du_clk_out_0_pins[] = {
|
||||
/* CLKOUT */
|
||||
RCAR_GP_PIN(1, 3),
|
||||
};
|
||||
static const unsigned int du_clk_out_0_mux[] = {
|
||||
DU_DOTCLKOUT0_MARK
|
||||
};
|
||||
static const unsigned int du_sync_pins[] = {
|
||||
/* VSYNC, HSYNC */
|
||||
RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 8),
|
||||
};
|
||||
static const unsigned int du_sync_mux[] = {
|
||||
DU_VSYNC_MARK, DU_HSYNC_MARK
|
||||
};
|
||||
static const unsigned int du_disp_cde_pins[] = {
|
||||
/* DISP_CDE */
|
||||
RCAR_GP_PIN(1, 1),
|
||||
};
|
||||
static const unsigned int du_disp_cde_mux[] = {
|
||||
DU_DISP_CDE_MARK,
|
||||
};
|
||||
static const unsigned int du_cde_pins[] = {
|
||||
/* CDE */
|
||||
RCAR_GP_PIN(1, 0),
|
||||
};
|
||||
static const unsigned int du_cde_mux[] = {
|
||||
DU_CDE_MARK,
|
||||
};
|
||||
static const unsigned int du_disp_pins[] = {
|
||||
/* DISP */
|
||||
RCAR_GP_PIN(1, 2),
|
||||
};
|
||||
static const unsigned int du_disp_mux[] = {
|
||||
DU_DISP_MARK,
|
||||
};
|
||||
|
||||
/* - I2C -------------------------------------------------------------------- */
|
||||
static const unsigned int i2c1_a_pins[] = {
|
||||
/* SCL, SDA */
|
||||
@ -1507,6 +1595,157 @@ static const unsigned int i2c7_b_mux[] = {
|
||||
SCL7_B_MARK, SDA7_B_MARK,
|
||||
};
|
||||
|
||||
/* - PWM0 --------------------------------------------------------------------*/
|
||||
static const unsigned int pwm0_a_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(2, 22),
|
||||
};
|
||||
|
||||
static const unsigned int pwm0_a_mux[] = {
|
||||
PWM0_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm0_b_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(6, 3),
|
||||
};
|
||||
|
||||
static const unsigned int pwm0_b_mux[] = {
|
||||
PWM0_B_MARK,
|
||||
};
|
||||
|
||||
/* - PWM1 --------------------------------------------------------------------*/
|
||||
static const unsigned int pwm1_a_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(2, 23),
|
||||
};
|
||||
|
||||
static const unsigned int pwm1_a_mux[] = {
|
||||
PWM1_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm1_b_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(6, 4),
|
||||
};
|
||||
|
||||
static const unsigned int pwm1_b_mux[] = {
|
||||
PWM1_B_MARK,
|
||||
};
|
||||
|
||||
/* - PWM2 --------------------------------------------------------------------*/
|
||||
static const unsigned int pwm2_a_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(1, 0),
|
||||
};
|
||||
|
||||
static const unsigned int pwm2_a_mux[] = {
|
||||
PWM2_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm2_b_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(1, 4),
|
||||
};
|
||||
|
||||
static const unsigned int pwm2_b_mux[] = {
|
||||
PWM2_B_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm2_c_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(6, 5),
|
||||
};
|
||||
|
||||
static const unsigned int pwm2_c_mux[] = {
|
||||
PWM2_C_MARK,
|
||||
};
|
||||
|
||||
/* - PWM3 --------------------------------------------------------------------*/
|
||||
static const unsigned int pwm3_a_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(1, 1),
|
||||
};
|
||||
|
||||
static const unsigned int pwm3_a_mux[] = {
|
||||
PWM3_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm3_b_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(1, 5),
|
||||
};
|
||||
|
||||
static const unsigned int pwm3_b_mux[] = {
|
||||
PWM3_B_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm3_c_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(6, 6),
|
||||
};
|
||||
|
||||
static const unsigned int pwm3_c_mux[] = {
|
||||
PWM3_C_MARK,
|
||||
};
|
||||
|
||||
/* - PWM4 --------------------------------------------------------------------*/
|
||||
static const unsigned int pwm4_a_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(1, 3),
|
||||
};
|
||||
|
||||
static const unsigned int pwm4_a_mux[] = {
|
||||
PWM4_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm4_b_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(6, 7),
|
||||
};
|
||||
|
||||
static const unsigned int pwm4_b_mux[] = {
|
||||
PWM4_B_MARK,
|
||||
};
|
||||
|
||||
/* - PWM5 --------------------------------------------------------------------*/
|
||||
static const unsigned int pwm5_a_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(2, 24),
|
||||
};
|
||||
|
||||
static const unsigned int pwm5_a_mux[] = {
|
||||
PWM5_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm5_b_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(6, 10),
|
||||
};
|
||||
|
||||
static const unsigned int pwm5_b_mux[] = {
|
||||
PWM5_B_MARK,
|
||||
};
|
||||
|
||||
/* - PWM6 --------------------------------------------------------------------*/
|
||||
static const unsigned int pwm6_a_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(2, 25),
|
||||
};
|
||||
|
||||
static const unsigned int pwm6_a_mux[] = {
|
||||
PWM6_A_MARK,
|
||||
};
|
||||
|
||||
static const unsigned int pwm6_b_pins[] = {
|
||||
/* PWM */
|
||||
RCAR_GP_PIN(6, 11),
|
||||
};
|
||||
|
||||
static const unsigned int pwm6_b_mux[] = {
|
||||
PWM6_B_MARK,
|
||||
};
|
||||
|
||||
/* - SCIF0 ------------------------------------------------------------------ */
|
||||
static const unsigned int scif0_data_a_pins[] = {
|
||||
/* RX, TX */
|
||||
@ -1839,6 +2078,15 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(avb_avtp_pps),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_match_a),
|
||||
SH_PFC_PIN_GROUP(avb_avtp_capture_a),
|
||||
SH_PFC_PIN_GROUP(du_rgb666),
|
||||
SH_PFC_PIN_GROUP(du_rgb888),
|
||||
SH_PFC_PIN_GROUP(du_clk_in_0),
|
||||
SH_PFC_PIN_GROUP(du_clk_in_1),
|
||||
SH_PFC_PIN_GROUP(du_clk_out_0),
|
||||
SH_PFC_PIN_GROUP(du_sync),
|
||||
SH_PFC_PIN_GROUP(du_disp_cde),
|
||||
SH_PFC_PIN_GROUP(du_cde),
|
||||
SH_PFC_PIN_GROUP(du_disp),
|
||||
SH_PFC_PIN_GROUP(i2c1_a),
|
||||
SH_PFC_PIN_GROUP(i2c1_b),
|
||||
SH_PFC_PIN_GROUP(i2c1_c),
|
||||
@ -1854,6 +2102,22 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||
SH_PFC_PIN_GROUP(i2c6_b),
|
||||
SH_PFC_PIN_GROUP(i2c7_a),
|
||||
SH_PFC_PIN_GROUP(i2c7_b),
|
||||
SH_PFC_PIN_GROUP(pwm0_a),
|
||||
SH_PFC_PIN_GROUP(pwm0_b),
|
||||
SH_PFC_PIN_GROUP(pwm1_a),
|
||||
SH_PFC_PIN_GROUP(pwm1_b),
|
||||
SH_PFC_PIN_GROUP(pwm2_a),
|
||||
SH_PFC_PIN_GROUP(pwm2_b),
|
||||
SH_PFC_PIN_GROUP(pwm2_c),
|
||||
SH_PFC_PIN_GROUP(pwm3_a),
|
||||
SH_PFC_PIN_GROUP(pwm3_b),
|
||||
SH_PFC_PIN_GROUP(pwm3_c),
|
||||
SH_PFC_PIN_GROUP(pwm4_a),
|
||||
SH_PFC_PIN_GROUP(pwm4_b),
|
||||
SH_PFC_PIN_GROUP(pwm5_a),
|
||||
SH_PFC_PIN_GROUP(pwm5_b),
|
||||
SH_PFC_PIN_GROUP(pwm6_a),
|
||||
SH_PFC_PIN_GROUP(pwm6_b),
|
||||
SH_PFC_PIN_GROUP(scif0_data_a),
|
||||
SH_PFC_PIN_GROUP(scif0_clk_a),
|
||||
SH_PFC_PIN_GROUP(scif0_ctrl_a),
|
||||
@ -1901,6 +2165,18 @@ static const char * const avb_groups[] = {
|
||||
"avb_avtp_capture_a",
|
||||
};
|
||||
|
||||
static const char * const du_groups[] = {
|
||||
"du_rgb666",
|
||||
"du_rgb888",
|
||||
"du_clk_in_0",
|
||||
"du_clk_in_1",
|
||||
"du_clk_out_0",
|
||||
"du_sync",
|
||||
"du_disp_cde",
|
||||
"du_cde",
|
||||
"du_disp",
|
||||
};
|
||||
|
||||
static const char * const i2c1_groups[] = {
|
||||
"i2c1_a",
|
||||
"i2c1_b",
|
||||
@ -1934,6 +2210,43 @@ static const char * const i2c7_groups[] = {
|
||||
"i2c7_b",
|
||||
};
|
||||
|
||||
static const char * const pwm0_groups[] = {
|
||||
"pwm0_a",
|
||||
"pwm0_b",
|
||||
};
|
||||
|
||||
static const char * const pwm1_groups[] = {
|
||||
"pwm1_a",
|
||||
"pwm1_b",
|
||||
};
|
||||
|
||||
static const char * const pwm2_groups[] = {
|
||||
"pwm2_a",
|
||||
"pwm2_b",
|
||||
"pwm2_c",
|
||||
};
|
||||
|
||||
static const char * const pwm3_groups[] = {
|
||||
"pwm3_a",
|
||||
"pwm3_b",
|
||||
"pwm3_c",
|
||||
};
|
||||
|
||||
static const char * const pwm4_groups[] = {
|
||||
"pwm4_a",
|
||||
"pwm4_b",
|
||||
};
|
||||
|
||||
static const char * const pwm5_groups[] = {
|
||||
"pwm5_a",
|
||||
"pwm5_b",
|
||||
};
|
||||
|
||||
static const char * const pwm6_groups[] = {
|
||||
"pwm6_a",
|
||||
"pwm6_b",
|
||||
};
|
||||
|
||||
static const char * const scif0_groups[] = {
|
||||
"scif0_data_a",
|
||||
"scif0_clk_a",
|
||||
@ -1998,12 +2311,20 @@ static const char * const usb30_groups[] = {
|
||||
|
||||
static const struct sh_pfc_function pinmux_functions[] = {
|
||||
SH_PFC_FUNCTION(avb),
|
||||
SH_PFC_FUNCTION(du),
|
||||
SH_PFC_FUNCTION(i2c1),
|
||||
SH_PFC_FUNCTION(i2c2),
|
||||
SH_PFC_FUNCTION(i2c4),
|
||||
SH_PFC_FUNCTION(i2c5),
|
||||
SH_PFC_FUNCTION(i2c6),
|
||||
SH_PFC_FUNCTION(i2c7),
|
||||
SH_PFC_FUNCTION(pwm0),
|
||||
SH_PFC_FUNCTION(pwm1),
|
||||
SH_PFC_FUNCTION(pwm2),
|
||||
SH_PFC_FUNCTION(pwm3),
|
||||
SH_PFC_FUNCTION(pwm4),
|
||||
SH_PFC_FUNCTION(pwm5),
|
||||
SH_PFC_FUNCTION(pwm6),
|
||||
SH_PFC_FUNCTION(scif0),
|
||||
SH_PFC_FUNCTION(scif1),
|
||||
SH_PFC_FUNCTION(scif2),
|
||||
|
@ -275,6 +275,7 @@ extern const struct sh_pfc_soc_info r8a7740_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a7743_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a7745_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a77470_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a774a1_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;
|
||||
|
Loading…
Reference in New Issue
Block a user