| From c3845eb19812059fd44fb6a6993c5bef692ee796 Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Tue, 10 Apr 2012 20:57:31 -0700 |
| Subject: ARM: mach-shmobile: add KZM-A9-GT board support |
| |
| This adds very basic KZM-A9-GT board (SH73a0) support |
| |
| Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Tested-by: Simon Horman <horms@verge.net.au> |
| Acked-by: Magnus Damm <damm@opensource.se> |
| Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> |
| (cherry picked from commit 5935278004610be17b89eab399d35ea0527bb6b2) |
| |
| Conflicts: |
| |
| arch/arm/mach-shmobile/Kconfig |
| arch/arm/mach-shmobile/Makefile |
| arch/arm/mach-shmobile/board-kzm9g.c |
| |
| N.B: Not present in mainline yet |
| |
| Signed-off-by: Simon Horman <horms@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/Kconfig | 5 +++ |
| arch/arm/mach-shmobile/Makefile | 1 + |
| arch/arm/mach-shmobile/board-kzm9g.c | 60 ++++++++++++++++++++++++++++++++++++ |
| 3 files changed, 66 insertions(+) |
| create mode 100644 arch/arm/mach-shmobile/board-kzm9g.c |
| |
| diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig |
| index 91a4f32..23be741 100644 |
| --- a/arch/arm/mach-shmobile/Kconfig |
| +++ b/arch/arm/mach-shmobile/Kconfig |
| @@ -81,6 +81,11 @@ config MACH_ARMADILLO800EVA |
| select ARCH_REQUIRE_GPIOLIB |
| select SND_SOC_WM8978 if SND_SIMPLE_CARD |
| |
| +config MACH_KZM9G |
| + bool "KZM-A9-GT board" |
| + depends on ARCH_SH73A0 |
| + select ARCH_REQUIRE_GPIOLIB |
| + |
| comment "SH-Mobile System Configuration" |
| |
| config CPU_HAS_INTEVT |
| diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile |
| index c599c5c..36bd37d 100644 |
| --- a/arch/arm/mach-shmobile/Makefile |
| +++ b/arch/arm/mach-shmobile/Makefile |
| @@ -45,6 +45,7 @@ obj-$(CONFIG_MACH_AP4EVB) += board-ap4evb.o |
| obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o |
| obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o |
| obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o |
| +obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o |
| |
| # Framework support |
| obj-$(CONFIG_SMP) += $(smp-y) |
| diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c |
| new file mode 100644 |
| index 0000000..a7f05f6 |
| --- /dev/null |
| +++ b/arch/arm/mach-shmobile/board-kzm9g.c |
| @@ -0,0 +1,60 @@ |
| +/* |
| + * KZM-A9-GT board support |
| + * |
| + * Copyright (C) 2012 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/gpio.h> |
| +#include <linux/io.h> |
| +#include <linux/irq.h> |
| +#include <linux/platform_device.h> |
| +#include <mach/sh73a0.h> |
| +#include <mach/common.h> |
| +#include <asm/hardware/cache-l2x0.h> |
| +#include <asm/hardware/gic.h> |
| +#include <asm/mach-types.h> |
| +#include <asm/mach/arch.h> |
| + |
| +static struct platform_device *kzm_devices[] __initdata = { |
| +}; |
| + |
| +static void __init kzm_init(void) |
| +{ |
| + sh73a0_pinmux_init(); |
| + |
| + /* enable SCIFA4 */ |
| + gpio_request(GPIO_FN_SCIFA4_TXD, NULL); |
| + gpio_request(GPIO_FN_SCIFA4_RXD, NULL); |
| + gpio_request(GPIO_FN_SCIFA4_RTS_, NULL); |
| + gpio_request(GPIO_FN_SCIFA4_CTS_, NULL); |
| + |
| +#ifdef CONFIG_CACHE_L2X0 |
| + /* Early BRESP enable, Shared attribute override enable, 64K*8way */ |
| + l2x0_init(__io(0xf0100000), 0x40460000, 0x82000fff); |
| +#endif |
| + |
| + sh73a0_add_standard_devices(); |
| + platform_add_devices(kzm_devices, ARRAY_SIZE(kzm_devices)); |
| +} |
| + |
| +MACHINE_START(KZM9G, "kzm9g") |
| + .map_io = sh73a0_map_io, |
| + .init_early = sh73a0_add_early_devices, |
| + .nr_irqs = NR_IRQS_LEGACY, |
| + .init_irq = sh73a0_init_irq, |
| + .handle_irq = gic_handle_irq, |
| + .init_machine = kzm_init, |
| + .timer = &shmobile_timer, |
| +MACHINE_END |
| -- |
| 1.7.10.2.565.gbd578b5 |
| |