pinctrl: renesas: Minimize R8A77970 V3M PFC tables

Reduce the PFC tables by ifdeffing out pinmux settings which are
unlikely to be used by U-Boot. This helps reduce the size of the
bootloader in the 10 kiB range. This includes conditional build
of these PFC additions:

- CANFD
- DU
- INTC-EX
- MSIOF
- PWM
- VIN

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
Marek Vasut
2024-12-23 14:34:13 +01:00
parent d020179cf0
commit a046f58f33

View File

@@ -817,6 +817,7 @@ static const unsigned int avb0_avtp_match_mux[] = {
AVB0_AVTP_MATCH_MARK, AVB0_AVTP_MATCH_MARK,
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
/* - CANFD Clock ------------------------------------------------------------ */ /* - CANFD Clock ------------------------------------------------------------ */
static const unsigned int canfd_clk_a_pins[] = { static const unsigned int canfd_clk_a_pins[] = {
/* CANFD_CLK */ /* CANFD_CLK */
@@ -911,6 +912,7 @@ static const unsigned int du_disp_pins[] = {
static const unsigned int du_disp_mux[] = { static const unsigned int du_disp_mux[] = {
DU_DISP_MARK, DU_DISP_MARK,
}; };
#endif
/* - HSCIF0 ----------------------------------------------------------------- */ /* - HSCIF0 ----------------------------------------------------------------- */
static const unsigned int hscif0_data_pins[] = { static const unsigned int hscif0_data_pins[] = {
@@ -1056,6 +1058,7 @@ static const unsigned int i2c4_mux[] = {
SDA4_MARK, SCL4_MARK, SDA4_MARK, SCL4_MARK,
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
/* - INTC-EX ---------------------------------------------------------------- */ /* - INTC-EX ---------------------------------------------------------------- */
static const unsigned int intc_ex_irq0_pins[] = { static const unsigned int intc_ex_irq0_pins[] = {
/* IRQ0 */ /* IRQ0 */
@@ -1099,6 +1102,7 @@ static const unsigned int intc_ex_irq5_pins[] = {
static const unsigned int intc_ex_irq5_mux[] = { static const unsigned int intc_ex_irq5_mux[] = {
IRQ5_MARK, IRQ5_MARK,
}; };
#endif
/* - MMC -------------------------------------------------------------------- */ /* - MMC -------------------------------------------------------------------- */
static const unsigned int mmc_data_pins[] = { static const unsigned int mmc_data_pins[] = {
@@ -1122,6 +1126,7 @@ static const unsigned int mmc_ctrl_mux[] = {
MMC_CLK_MARK, MMC_CMD_MARK, MMC_CLK_MARK, MMC_CMD_MARK,
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
/* - MSIOF0 ----------------------------------------------------------------- */ /* - MSIOF0 ----------------------------------------------------------------- */
static const unsigned int msiof0_clk_pins[] = { static const unsigned int msiof0_clk_pins[] = {
/* SCK */ /* SCK */
@@ -1367,6 +1372,7 @@ static const unsigned int pwm4_b_pins[] = {
static const unsigned int pwm4_b_mux[] = { static const unsigned int pwm4_b_mux[] = {
PWM4_B_MARK, PWM4_B_MARK,
}; };
#endif
/* - QSPI0 ------------------------------------------------------------------ */ /* - QSPI0 ------------------------------------------------------------------ */
static const unsigned int qspi0_ctrl_pins[] = { static const unsigned int qspi0_ctrl_pins[] = {
@@ -1583,6 +1589,7 @@ static const unsigned int tmu_tclk2_b_mux[] = {
TCLK2_B_MARK, TCLK2_B_MARK,
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
/* - VIN0 ------------------------------------------------------------------- */ /* - VIN0 ------------------------------------------------------------------- */
static const unsigned int vin0_data_pins[] = { static const unsigned int vin0_data_pins[] = {
RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5),
@@ -1674,6 +1681,7 @@ static const unsigned int vin1_clk_mux[] = {
/* CLK */ /* CLK */
VI1_CLK_MARK, VI1_CLK_MARK,
}; };
#endif
static const struct sh_pfc_pin_group pinmux_groups[] = { static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(avb0_link), SH_PFC_PIN_GROUP(avb0_link),
@@ -1685,6 +1693,7 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(avb0_avtp_pps), SH_PFC_PIN_GROUP(avb0_avtp_pps),
SH_PFC_PIN_GROUP(avb0_avtp_capture), SH_PFC_PIN_GROUP(avb0_avtp_capture),
SH_PFC_PIN_GROUP(avb0_avtp_match), SH_PFC_PIN_GROUP(avb0_avtp_match),
#ifdef CONFIG_PINCTRL_PFC_FULL
SH_PFC_PIN_GROUP(canfd_clk_a), SH_PFC_PIN_GROUP(canfd_clk_a),
SH_PFC_PIN_GROUP(canfd_clk_b), SH_PFC_PIN_GROUP(canfd_clk_b),
SH_PFC_PIN_GROUP(canfd0_data_a), SH_PFC_PIN_GROUP(canfd0_data_a),
@@ -1696,6 +1705,7 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(du_oddf), SH_PFC_PIN_GROUP(du_oddf),
SH_PFC_PIN_GROUP(du_cde), SH_PFC_PIN_GROUP(du_cde),
SH_PFC_PIN_GROUP(du_disp), SH_PFC_PIN_GROUP(du_disp),
#endif
SH_PFC_PIN_GROUP(hscif0_data), SH_PFC_PIN_GROUP(hscif0_data),
SH_PFC_PIN_GROUP(hscif0_clk), SH_PFC_PIN_GROUP(hscif0_clk),
SH_PFC_PIN_GROUP(hscif0_ctrl), SH_PFC_PIN_GROUP(hscif0_ctrl),
@@ -1714,16 +1724,19 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(i2c3_a), SH_PFC_PIN_GROUP(i2c3_a),
SH_PFC_PIN_GROUP(i2c3_b), SH_PFC_PIN_GROUP(i2c3_b),
SH_PFC_PIN_GROUP(i2c4), SH_PFC_PIN_GROUP(i2c4),
#ifdef CONFIG_PINCTRL_PFC_FULL
SH_PFC_PIN_GROUP(intc_ex_irq0), SH_PFC_PIN_GROUP(intc_ex_irq0),
SH_PFC_PIN_GROUP(intc_ex_irq1), SH_PFC_PIN_GROUP(intc_ex_irq1),
SH_PFC_PIN_GROUP(intc_ex_irq2), SH_PFC_PIN_GROUP(intc_ex_irq2),
SH_PFC_PIN_GROUP(intc_ex_irq3), SH_PFC_PIN_GROUP(intc_ex_irq3),
SH_PFC_PIN_GROUP(intc_ex_irq4), SH_PFC_PIN_GROUP(intc_ex_irq4),
SH_PFC_PIN_GROUP(intc_ex_irq5), SH_PFC_PIN_GROUP(intc_ex_irq5),
#endif
BUS_DATA_PIN_GROUP(mmc_data, 1), BUS_DATA_PIN_GROUP(mmc_data, 1),
BUS_DATA_PIN_GROUP(mmc_data, 4), BUS_DATA_PIN_GROUP(mmc_data, 4),
BUS_DATA_PIN_GROUP(mmc_data, 8), BUS_DATA_PIN_GROUP(mmc_data, 8),
SH_PFC_PIN_GROUP(mmc_ctrl), SH_PFC_PIN_GROUP(mmc_ctrl),
#ifdef CONFIG_PINCTRL_PFC_FULL
SH_PFC_PIN_GROUP(msiof0_clk), SH_PFC_PIN_GROUP(msiof0_clk),
SH_PFC_PIN_GROUP(msiof0_sync), SH_PFC_PIN_GROUP(msiof0_sync),
SH_PFC_PIN_GROUP(msiof0_ss1), SH_PFC_PIN_GROUP(msiof0_ss1),
@@ -1758,6 +1771,7 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(pwm3_b), SH_PFC_PIN_GROUP(pwm3_b),
SH_PFC_PIN_GROUP(pwm4_a), SH_PFC_PIN_GROUP(pwm4_a),
SH_PFC_PIN_GROUP(pwm4_b), SH_PFC_PIN_GROUP(pwm4_b),
#endif
SH_PFC_PIN_GROUP(qspi0_ctrl), SH_PFC_PIN_GROUP(qspi0_ctrl),
SH_PFC_PIN_GROUP_SUBSET(qspi0_data2, rpc_data, 0, 2), SH_PFC_PIN_GROUP_SUBSET(qspi0_data2, rpc_data, 0, 2),
SH_PFC_PIN_GROUP_SUBSET(qspi0_data4, rpc_data, 0, 4), SH_PFC_PIN_GROUP_SUBSET(qspi0_data4, rpc_data, 0, 4),
@@ -1790,6 +1804,7 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(tmu_tclk1_b), SH_PFC_PIN_GROUP(tmu_tclk1_b),
SH_PFC_PIN_GROUP(tmu_tclk2_a), SH_PFC_PIN_GROUP(tmu_tclk2_a),
SH_PFC_PIN_GROUP(tmu_tclk2_b), SH_PFC_PIN_GROUP(tmu_tclk2_b),
#ifdef CONFIG_PINCTRL_PFC_FULL
BUS_DATA_PIN_GROUP(vin0_data, 8), BUS_DATA_PIN_GROUP(vin0_data, 8),
BUS_DATA_PIN_GROUP(vin0_data, 10), BUS_DATA_PIN_GROUP(vin0_data, 10),
BUS_DATA_PIN_GROUP(vin0_data, 12), BUS_DATA_PIN_GROUP(vin0_data, 12),
@@ -1804,6 +1819,7 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
SH_PFC_PIN_GROUP(vin1_field), SH_PFC_PIN_GROUP(vin1_field),
SH_PFC_PIN_GROUP(vin1_clkenb), SH_PFC_PIN_GROUP(vin1_clkenb),
SH_PFC_PIN_GROUP(vin1_clk), SH_PFC_PIN_GROUP(vin1_clk),
#endif
}; };
static const char * const avb0_groups[] = { static const char * const avb0_groups[] = {
@@ -1818,6 +1834,7 @@ static const char * const avb0_groups[] = {
"avb0_avtp_match", "avb0_avtp_match",
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
static const char * const canfd_clk_groups[] = { static const char * const canfd_clk_groups[] = {
"canfd_clk_a", "canfd_clk_a",
"canfd_clk_b", "canfd_clk_b",
@@ -1840,6 +1857,7 @@ static const char * const du_groups[] = {
"du_cde", "du_cde",
"du_disp", "du_disp",
}; };
#endif
static const char * const hscif0_groups[] = { static const char * const hscif0_groups[] = {
"hscif0_data", "hscif0_data",
@@ -1886,6 +1904,7 @@ static const char * const i2c4_groups[] = {
"i2c4", "i2c4",
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
static const char * const intc_ex_groups[] = { static const char * const intc_ex_groups[] = {
"intc_ex_irq0", "intc_ex_irq0",
"intc_ex_irq1", "intc_ex_irq1",
@@ -1894,6 +1913,7 @@ static const char * const intc_ex_groups[] = {
"intc_ex_irq4", "intc_ex_irq4",
"intc_ex_irq5", "intc_ex_irq5",
}; };
#endif
static const char * const mmc_groups[] = { static const char * const mmc_groups[] = {
"mmc_data1", "mmc_data1",
@@ -1902,6 +1922,7 @@ static const char * const mmc_groups[] = {
"mmc_ctrl", "mmc_ctrl",
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
static const char * const msiof0_groups[] = { static const char * const msiof0_groups[] = {
"msiof0_clk", "msiof0_clk",
"msiof0_sync", "msiof0_sync",
@@ -1962,6 +1983,7 @@ static const char * const pwm4_groups[] = {
"pwm4_a", "pwm4_a",
"pwm4_b", "pwm4_b",
}; };
#endif
static const char * const qspi0_groups[] = { static const char * const qspi0_groups[] = {
"qspi0_ctrl", "qspi0_ctrl",
@@ -2022,6 +2044,7 @@ static const char * const tmu_groups[] = {
"tmu_tclk2_b", "tmu_tclk2_b",
}; };
#ifdef CONFIG_PINCTRL_PFC_FULL
static const char * const vin0_groups[] = { static const char * const vin0_groups[] = {
"vin0_data8", "vin0_data8",
"vin0_data10", "vin0_data10",
@@ -2041,13 +2064,16 @@ static const char * const vin1_groups[] = {
"vin1_clkenb", "vin1_clkenb",
"vin1_clk", "vin1_clk",
}; };
#endif
static const struct sh_pfc_function pinmux_functions[] = { static const struct sh_pfc_function pinmux_functions[] = {
SH_PFC_FUNCTION(avb0), SH_PFC_FUNCTION(avb0),
#ifdef CONFIG_PINCTRL_PFC_FULL
SH_PFC_FUNCTION(canfd_clk), SH_PFC_FUNCTION(canfd_clk),
SH_PFC_FUNCTION(canfd0), SH_PFC_FUNCTION(canfd0),
SH_PFC_FUNCTION(canfd1), SH_PFC_FUNCTION(canfd1),
SH_PFC_FUNCTION(du), SH_PFC_FUNCTION(du),
#endif
SH_PFC_FUNCTION(hscif0), SH_PFC_FUNCTION(hscif0),
SH_PFC_FUNCTION(hscif1), SH_PFC_FUNCTION(hscif1),
SH_PFC_FUNCTION(hscif2), SH_PFC_FUNCTION(hscif2),
@@ -2057,8 +2083,11 @@ static const struct sh_pfc_function pinmux_functions[] = {
SH_PFC_FUNCTION(i2c2), SH_PFC_FUNCTION(i2c2),
SH_PFC_FUNCTION(i2c3), SH_PFC_FUNCTION(i2c3),
SH_PFC_FUNCTION(i2c4), SH_PFC_FUNCTION(i2c4),
#ifdef CONFIG_PINCTRL_PFC_FULL
SH_PFC_FUNCTION(intc_ex), SH_PFC_FUNCTION(intc_ex),
#endif
SH_PFC_FUNCTION(mmc), SH_PFC_FUNCTION(mmc),
#ifdef CONFIG_PINCTRL_PFC_FULL
SH_PFC_FUNCTION(msiof0), SH_PFC_FUNCTION(msiof0),
SH_PFC_FUNCTION(msiof1), SH_PFC_FUNCTION(msiof1),
SH_PFC_FUNCTION(msiof2), SH_PFC_FUNCTION(msiof2),
@@ -2068,6 +2097,7 @@ static const struct sh_pfc_function pinmux_functions[] = {
SH_PFC_FUNCTION(pwm2), SH_PFC_FUNCTION(pwm2),
SH_PFC_FUNCTION(pwm3), SH_PFC_FUNCTION(pwm3),
SH_PFC_FUNCTION(pwm4), SH_PFC_FUNCTION(pwm4),
#endif
SH_PFC_FUNCTION(qspi0), SH_PFC_FUNCTION(qspi0),
SH_PFC_FUNCTION(qspi1), SH_PFC_FUNCTION(qspi1),
SH_PFC_FUNCTION(rpc), SH_PFC_FUNCTION(rpc),
@@ -2077,8 +2107,10 @@ static const struct sh_pfc_function pinmux_functions[] = {
SH_PFC_FUNCTION(scif3), SH_PFC_FUNCTION(scif3),
SH_PFC_FUNCTION(scif4), SH_PFC_FUNCTION(scif4),
SH_PFC_FUNCTION(tmu), SH_PFC_FUNCTION(tmu),
#ifdef CONFIG_PINCTRL_PFC_FULL
SH_PFC_FUNCTION(vin0), SH_PFC_FUNCTION(vin0),
SH_PFC_FUNCTION(vin1), SH_PFC_FUNCTION(vin1),
#endif
}; };
static const struct pinmux_cfg_reg pinmux_config_regs[] = { static const struct pinmux_cfg_reg pinmux_config_regs[] = {