|
@@ -2537,3 +2537,81 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
|
|
|
0, 0, 0, 0,
|
|
|
PORT211_DATA, PORT210_DATA, 0, 0,
|
|
|
0, 0, 0, 0,
|
|
|
+ 0, 0, 0, 0,
|
|
|
+ 0, 0, 0, 0,
|
|
|
+ 0, 0, 0, 0 }
|
|
|
+ },
|
|
|
+ { },
|
|
|
+};
|
|
|
+
|
|
|
+static struct pinmux_irq pinmux_irqs[] = {
|
|
|
+ PINMUX_IRQ(evt2irq(0x0200), PORT2_FN0, PORT13_FN0), /* IRQ0A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0220), PORT20_FN0), /* IRQ1A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0240), PORT11_FN0, PORT12_FN0), /* IRQ2A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0260), PORT10_FN0, PORT14_FN0), /* IRQ3A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0280), PORT15_FN0, PORT172_FN0), /* IRQ4A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x02A0), PORT0_FN0, PORT1_FN0), /* IRQ5A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x02C0), PORT121_FN0, PORT173_FN0), /* IRQ6A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x02E0), PORT120_FN0, PORT209_FN0), /* IRQ7A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0300), PORT119_FN0), /* IRQ8A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0320), PORT118_FN0, PORT210_FN0), /* IRQ9A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0340), PORT19_FN0), /* IRQ10A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0360), PORT104_FN0), /* IRQ11A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x0380), PORT42_FN0, PORT97_FN0), /* IRQ12A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x03A0), PORT64_FN0, PORT98_FN0), /* IRQ13A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x03C0), PORT63_FN0, PORT99_FN0), /* IRQ14A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x03E0), PORT62_FN0, PORT100_FN0), /* IRQ15A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3200), PORT68_FN0, PORT211_FN0), /* IRQ16A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3220), PORT69_FN0), /* IRQ17A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3240), PORT70_FN0), /* IRQ18A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3260), PORT71_FN0), /* IRQ19A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3280), PORT67_FN0), /* IRQ20A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x32A0), PORT202_FN0), /* IRQ21A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x32C0), PORT95_FN0), /* IRQ22A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x32E0), PORT96_FN0), /* IRQ23A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3300), PORT180_FN0), /* IRQ24A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3320), PORT38_FN0), /* IRQ25A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3340), PORT58_FN0, PORT81_FN0), /* IRQ26A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3360), PORT57_FN0, PORT168_FN0), /* IRQ27A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x3380), PORT56_FN0, PORT169_FN0), /* IRQ28A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x33A0), PORT50_FN0, PORT170_FN0), /* IRQ29A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x33C0), PORT49_FN0, PORT171_FN0), /* IRQ30A */
|
|
|
+ PINMUX_IRQ(evt2irq(0x33E0), PORT41_FN0, PORT167_FN0), /* IRQ31A */
|
|
|
+};
|
|
|
+
|
|
|
+static struct pinmux_info r8a7740_pinmux_info = {
|
|
|
+ .name = "r8a7740_pfc",
|
|
|
+ .reserved_id = PINMUX_RESERVED,
|
|
|
+ .data = { PINMUX_DATA_BEGIN,
|
|
|
+ PINMUX_DATA_END },
|
|
|
+ .input = { PINMUX_INPUT_BEGIN,
|
|
|
+ PINMUX_INPUT_END },
|
|
|
+ .input_pu = { PINMUX_INPUT_PULLUP_BEGIN,
|
|
|
+ PINMUX_INPUT_PULLUP_END },
|
|
|
+ .input_pd = { PINMUX_INPUT_PULLDOWN_BEGIN,
|
|
|
+ PINMUX_INPUT_PULLDOWN_END },
|
|
|
+ .output = { PINMUX_OUTPUT_BEGIN,
|
|
|
+ PINMUX_OUTPUT_END },
|
|
|
+ .mark = { PINMUX_MARK_BEGIN,
|
|
|
+ PINMUX_MARK_END },
|
|
|
+ .function = { PINMUX_FUNCTION_BEGIN,
|
|
|
+ PINMUX_FUNCTION_END },
|
|
|
+
|
|
|
+ .first_gpio = GPIO_PORT0,
|
|
|
+ .last_gpio = GPIO_FN_TRACEAUD_FROM_MEMC,
|
|
|
+
|
|
|
+ .gpios = pinmux_gpios,
|
|
|
+ .cfg_regs = pinmux_config_regs,
|
|
|
+ .data_regs = pinmux_data_regs,
|
|
|
+
|
|
|
+ .gpio_data = pinmux_data,
|
|
|
+ .gpio_data_size = ARRAY_SIZE(pinmux_data),
|
|
|
+
|
|
|
+ .gpio_irq = pinmux_irqs,
|
|
|
+ .gpio_irq_size = ARRAY_SIZE(pinmux_irqs),
|
|
|
+};
|
|
|
+
|
|
|
+void r8a7740_pinmux_init(void)
|
|
|
+{
|
|
|
+ register_pinmux(&r8a7740_pinmux_info);
|
|
|
+}
|