]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: renesas: r8a779g0: Add INTC-EX pins, groups, and function
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 14 Jun 2024 15:29:29 +0000 (17:29 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 1 Jul 2024 09:27:39 +0000 (11:27 +0200)
Add pins, groups, and function for the Interrupt Controller for External
Devices (INTC-EX) on the Renesas R-Car V4H (R8A779G0) SoC.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/9c33c36d13a5e38d79fa53085339b14631888b50.1718378943.git.geert+renesas@glider.be
drivers/pinctrl/renesas/pfc-r8a779g0.c

index 49b44bdb12505bf2f24171ebb902a069ce44f384..cae3e65534997d3b82122cb4de8d8bdbd8e9cc76 100644 (file)
@@ -1764,6 +1764,90 @@ static const unsigned int i2c5_mux[] = {
        SDA5_MARK, SCL5_MARK,
 };
 
+/* - INTC-EX ---------------------------------------------------------------- */
+static const unsigned int intc_ex_irq0_a_pins[] = {
+       /* IRQ0_A */
+       RCAR_GP_PIN(0, 6),
+};
+static const unsigned int intc_ex_irq0_a_mux[] = {
+       IRQ0_A_MARK,
+};
+static const unsigned int intc_ex_irq0_b_pins[] = {
+       /* IRQ0_B */
+       RCAR_GP_PIN(1, 20),
+};
+static const unsigned int intc_ex_irq0_b_mux[] = {
+       IRQ0_B_MARK,
+};
+
+static const unsigned int intc_ex_irq1_a_pins[] = {
+       /* IRQ1_A */
+       RCAR_GP_PIN(0, 5),
+};
+static const unsigned int intc_ex_irq1_a_mux[] = {
+       IRQ1_A_MARK,
+};
+static const unsigned int intc_ex_irq1_b_pins[] = {
+       /* IRQ1_B */
+       RCAR_GP_PIN(1, 21),
+};
+static const unsigned int intc_ex_irq1_b_mux[] = {
+       IRQ1_B_MARK,
+};
+
+static const unsigned int intc_ex_irq2_a_pins[] = {
+       /* IRQ2_A */
+       RCAR_GP_PIN(0, 4),
+};
+static const unsigned int intc_ex_irq2_a_mux[] = {
+       IRQ2_A_MARK,
+};
+static const unsigned int intc_ex_irq2_b_pins[] = {
+       /* IRQ2_B */
+       RCAR_GP_PIN(0, 13),
+};
+static const unsigned int intc_ex_irq2_b_mux[] = {
+       IRQ2_B_MARK,
+};
+
+static const unsigned int intc_ex_irq3_a_pins[] = {
+       /* IRQ3_A */
+       RCAR_GP_PIN(0, 3),
+};
+static const unsigned int intc_ex_irq3_a_mux[] = {
+       IRQ3_A_MARK,
+};
+static const unsigned int intc_ex_irq3_b_pins[] = {
+       /* IRQ3_B */
+       RCAR_GP_PIN(1, 23),
+};
+static const unsigned int intc_ex_irq3_b_mux[] = {
+       IRQ3_B_MARK,
+};
+
+static const unsigned int intc_ex_irq4_a_pins[] = {
+       /* IRQ4_A */
+       RCAR_GP_PIN(1, 17),
+};
+static const unsigned int intc_ex_irq4_a_mux[] = {
+       IRQ4_A_MARK,
+};
+static const unsigned int intc_ex_irq4_b_pins[] = {
+       /* IRQ4_B */
+       RCAR_GP_PIN(2, 3),
+};
+static const unsigned int intc_ex_irq4_b_mux[] = {
+       IRQ4_B_MARK,
+};
+
+static const unsigned int intc_ex_irq5_pins[] = {
+       /* IRQ5 */
+       RCAR_GP_PIN(2, 2),
+};
+static const unsigned int intc_ex_irq5_mux[] = {
+       IRQ5_MARK,
+};
+
 /* - MMC -------------------------------------------------------------------- */
 static const unsigned int mmc_data_pins[] = {
        /* MMC_SD_D[0:3], MMC_D[4:7] */
@@ -2602,6 +2686,18 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
        SH_PFC_PIN_GROUP(i2c4),
        SH_PFC_PIN_GROUP(i2c5),
 
+       SH_PFC_PIN_GROUP(intc_ex_irq0_a),
+       SH_PFC_PIN_GROUP(intc_ex_irq0_b),
+       SH_PFC_PIN_GROUP(intc_ex_irq1_a),
+       SH_PFC_PIN_GROUP(intc_ex_irq1_b),
+       SH_PFC_PIN_GROUP(intc_ex_irq2_a),
+       SH_PFC_PIN_GROUP(intc_ex_irq2_b),
+       SH_PFC_PIN_GROUP(intc_ex_irq3_a),
+       SH_PFC_PIN_GROUP(intc_ex_irq3_b),
+       SH_PFC_PIN_GROUP(intc_ex_irq4_a),
+       SH_PFC_PIN_GROUP(intc_ex_irq4_b),
+       SH_PFC_PIN_GROUP(intc_ex_irq5),
+
        BUS_DATA_PIN_GROUP(mmc_data, 1),
        BUS_DATA_PIN_GROUP(mmc_data, 4),
        BUS_DATA_PIN_GROUP(mmc_data, 8),
@@ -2850,6 +2946,20 @@ static const char * const i2c5_groups[] = {
        "i2c5",
 };
 
+static const char * const intc_ex_groups[] = {
+       "intc_ex_irq0_a",
+       "intc_ex_irq0_b",
+       "intc_ex_irq1_a",
+       "intc_ex_irq1_b",
+       "intc_ex_irq2_a",
+       "intc_ex_irq2_b",
+       "intc_ex_irq3_a",
+       "intc_ex_irq3_b",
+       "intc_ex_irq4_a",
+       "intc_ex_irq4_b",
+       "intc_ex_irq5",
+};
+
 static const char * const mmc_groups[] = {
        "mmc_data1",
        "mmc_data4",
@@ -3067,6 +3177,8 @@ static const struct sh_pfc_function pinmux_functions[] = {
        SH_PFC_FUNCTION(i2c4),
        SH_PFC_FUNCTION(i2c5),
 
+       SH_PFC_FUNCTION(intc_ex),
+
        SH_PFC_FUNCTION(mmc),
 
        SH_PFC_FUNCTION(msiof0),