diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-11-11 06:45:52 +0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-11-11 11:55:31 +0400 |
commit | 6c01ba445cecb2d8085cf0b5a6ddfb170ad22616 (patch) | |
tree | 452d7a0f20c62d9495cc38dcf1de9422000f16b7 /arch/arm/mach-shmobile/intc-r8a7740.c | |
parent | b73b5c493ac001870bd9faf565a61908c82f52d8 (diff) | |
download | linux-6c01ba445cecb2d8085cf0b5a6ddfb170ad22616.tar.xz |
ARM: mach-shmobile: R-Mobile A1 support.
This adds preliminary support for the R8A7740 (R-Mobile A1) CPU
Timer, serial, gic, clock are supported at this point.
This patch is based on v0.1 manual
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/arm/mach-shmobile/intc-r8a7740.c')
-rw-r--r-- | arch/arm/mach-shmobile/intc-r8a7740.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/intc-r8a7740.c b/arch/arm/mach-shmobile/intc-r8a7740.c new file mode 100644 index 000000000000..c62a2059f2f7 --- /dev/null +++ b/arch/arm/mach-shmobile/intc-r8a7740.c @@ -0,0 +1,45 @@ +/* + * R8A7740 processor support + * + * Copyright (C) 2011 Renesas Solutions Corp. + * Copyright (C) 2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include <linux/irq.h> +#include <linux/io.h> +#include <asm/hardware/gic.h> + +#define INTA_CTRL 0xe605807c + +static int r8a7740_set_wake(struct irq_data *data, unsigned int on) +{ + return 0; /* always allow wakeup */ +} + +void __init r8a7740_init_irq(void) +{ + void __iomem *gic_dist_base = __io(0xf0001000); + void __iomem *gic_cpu_base = __io(0xf0000000); + + /* + * Change INT_SEL INTCA->GIC + * (on GPIO) + */ + __raw_writel(__raw_readl(INTA_CTRL) & ~(1 << 1), INTA_CTRL); + + gic_init(0, 29, gic_dist_base, gic_cpu_base); + gic_arch_extn.irq_set_wake = r8a7740_set_wake; +} |