diff options
| author | Pawel Moll <pawel.moll@arm.com> | 2014-11-25 13:17:34 -0500 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2014-11-28 10:08:16 -0500 |
| commit | 81cc3f868d30884c6f2d2bf5d1861fbeb24ddebd (patch) | |
| tree | c6146bf4b30ccaf41d5bae96b6162e6c878f984d | |
| parent | ad77b791255a63e533a263613b86324fec394360 (diff) | |
ARM: vexpress: Remove non-DT code
Now, with the CLCD DT support available, there is no
more reason to keep the non-DT support for V2P-CA9.
Removed, together with "some" supporting code. It was
necessary to make PLAT_VERSATILE_SCHED_CLOCK optional
and selected by the machines still interested in it.
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| -rw-r--r-- | arch/arm/Kconfig | 2 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/Kconfig | 3 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/Makefile | 3 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/core.h | 7 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/ct-ca9x4.c | 212 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/include/mach/ct-ca9x4.h | 47 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/include/mach/hardware.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/include/mach/irqs.h | 6 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/include/mach/motherboard.h | 88 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/platsmp.c | 42 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/v2m.c | 374 | ||||
| -rw-r--r-- | arch/arm/plat-versatile/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/clk/versatile/Makefile | 1 | ||||
| -rw-r--r-- | drivers/clk/versatile/clk-vexpress-osc.c | 7 | ||||
| -rw-r--r-- | drivers/clk/versatile/clk-vexpress.c | 86 | ||||
| -rw-r--r-- | drivers/misc/vexpress-syscfg.c | 60 | ||||
| -rw-r--r-- | include/linux/vexpress.h | 19 |
17 files changed, 17 insertions, 943 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 89c4b5ccc68d..6c6fdb8a36e1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -350,6 +350,7 @@ config ARCH_REALVIEW | |||
| 350 | select ICST | 350 | select ICST |
| 351 | select NEED_MACH_MEMORY_H | 351 | select NEED_MACH_MEMORY_H |
| 352 | select PLAT_VERSATILE | 352 | select PLAT_VERSATILE |
| 353 | select PLAT_VERSATILE_SCHED_CLOCK | ||
| 353 | help | 354 | help |
| 354 | This enables support for ARM Ltd RealView boards. | 355 | This enables support for ARM Ltd RealView boards. |
| 355 | 356 | ||
| @@ -365,6 +366,7 @@ config ARCH_VERSATILE | |||
| 365 | select ICST | 366 | select ICST |
| 366 | select PLAT_VERSATILE | 367 | select PLAT_VERSATILE |
| 367 | select PLAT_VERSATILE_CLOCK | 368 | select PLAT_VERSATILE_CLOCK |
| 369 | select PLAT_VERSATILE_SCHED_CLOCK | ||
| 368 | select VERSATILE_FPGA_IRQ | 370 | select VERSATILE_FPGA_IRQ |
| 369 | help | 371 | help |
| 370 | This enables support for ARM Ltd Versatile board. | 372 | This enables support for ARM Ltd Versatile board. |
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index b2cfba16c4e8..9a96bab12ef3 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig | |||
| @@ -49,9 +49,6 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA | |||
| 49 | build a working kernel, you must also enable relevant core | 49 | build a working kernel, you must also enable relevant core |
| 50 | tile support or Flattened Device Tree based support options. | 50 | tile support or Flattened Device Tree based support options. |
| 51 | 51 | ||
| 52 | config ARCH_VEXPRESS_CA9X4 | ||
| 53 | bool "Versatile Express Cortex-A9x4 tile" | ||
| 54 | |||
| 55 | config ARCH_VEXPRESS_DCSCB | 52 | config ARCH_VEXPRESS_DCSCB |
| 56 | bool "Dual Cluster System Control Block (DCSCB) support" | 53 | bool "Dual Cluster System Control Block (DCSCB) support" |
| 57 | depends on MCPM | 54 | depends on MCPM |
diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile index fc649bc09d0c..f5c1006dd6a1 100644 --- a/arch/arm/mach-vexpress/Makefile +++ b/arch/arm/mach-vexpress/Makefile | |||
| @@ -1,11 +1,10 @@ | |||
| 1 | # | 1 | # |
| 2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
| 3 | # | 3 | # |
| 4 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ | 4 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := \ |
| 5 | -I$(srctree)/arch/arm/plat-versatile/include | 5 | -I$(srctree)/arch/arm/plat-versatile/include |
| 6 | 6 | ||
| 7 | obj-y := v2m.o | 7 | obj-y := v2m.o |
| 8 | obj-$(CONFIG_ARCH_VEXPRESS_CA9X4) += ct-ca9x4.o | ||
| 9 | obj-$(CONFIG_ARCH_VEXPRESS_DCSCB) += dcscb.o dcscb_setup.o | 8 | obj-$(CONFIG_ARCH_VEXPRESS_DCSCB) += dcscb.o dcscb_setup.o |
| 10 | CFLAGS_dcscb.o += -march=armv7-a | 9 | CFLAGS_dcscb.o += -march=armv7-a |
| 11 | CFLAGS_REMOVE_dcscb.o = -pg | 10 | CFLAGS_REMOVE_dcscb.o = -pg |
diff --git a/arch/arm/mach-vexpress/core.h b/arch/arm/mach-vexpress/core.h index 152fad91b3ae..2a11d3ac8c68 100644 --- a/arch/arm/mach-vexpress/core.h +++ b/arch/arm/mach-vexpress/core.h | |||
| @@ -1,12 +1,5 @@ | |||
| 1 | /* 2MB large area for motherboard's peripherals static mapping */ | ||
| 2 | #define V2M_PERIPH 0xf8000000 | ||
| 3 | |||
| 4 | /* Tile's peripherals static mappings should start here */ | ||
| 5 | #define V2T_PERIPH 0xf8200000 | ||
| 6 | |||
| 7 | bool vexpress_smp_init_ops(void); | 1 | bool vexpress_smp_init_ops(void); |
| 8 | 2 | ||
| 9 | extern struct smp_operations vexpress_smp_ops; | ||
| 10 | extern struct smp_operations vexpress_smp_dt_ops; | 3 | extern struct smp_operations vexpress_smp_dt_ops; |
| 11 | 4 | ||
| 12 | extern void vexpress_cpu_die(unsigned int cpu); | 5 | extern void vexpress_cpu_die(unsigned int cpu); |
diff --git a/arch/arm/mach-vexpress/ct-ca9x4.c b/arch/arm/mach-vexpress/ct-ca9x4.c deleted file mode 100644 index 27bea049380a..000000000000 --- a/arch/arm/mach-vexpress/ct-ca9x4.c +++ /dev/null | |||
| @@ -1,212 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Versatile Express Core Tile Cortex A9x4 Support | ||
| 3 | */ | ||
| 4 | #include <linux/init.h> | ||
| 5 | #include <linux/gfp.h> | ||
| 6 | #include <linux/device.h> | ||
| 7 | #include <linux/dma-mapping.h> | ||
| 8 | #include <linux/platform_device.h> | ||
| 9 | #include <linux/amba/bus.h> | ||
| 10 | #include <linux/amba/clcd.h> | ||
| 11 | #include <linux/platform_data/video-clcd-versatile.h> | ||
| 12 | #include <linux/clkdev.h> | ||
| 13 | #include <linux/vexpress.h> | ||
| 14 | #include <linux/irqchip/arm-gic.h> | ||
| 15 | |||
| 16 | #include <asm/hardware/arm_timer.h> | ||
| 17 | #include <asm/hardware/cache-l2x0.h> | ||
| 18 | #include <asm/smp_scu.h> | ||
| 19 | #include <asm/smp_twd.h> | ||
| 20 | |||
| 21 | #include <mach/ct-ca9x4.h> | ||
| 22 | |||
| 23 | #include <asm/hardware/timer-sp.h> | ||
| 24 | |||
| 25 | #include <asm/mach/map.h> | ||
| 26 | #include <asm/mach/time.h> | ||
| 27 | |||
| 28 | #include "core.h" | ||
| 29 | |||
| 30 | #include <mach/motherboard.h> | ||
| 31 | #include <mach/irqs.h> | ||
| 32 | |||
| 33 | static struct map_desc ct_ca9x4_io_desc[] __initdata = { | ||
| 34 | { | ||
| 35 | .virtual = V2T_PERIPH, | ||
| 36 | .pfn = __phys_to_pfn(CT_CA9X4_MPIC), | ||
| 37 | .length = SZ_8K, | ||
| 38 | .type = MT_DEVICE, | ||
| 39 | }, | ||
| 40 | }; | ||
| 41 | |||
| 42 | static void __init ct_ca9x4_map_io(void) | ||
| 43 | { | ||
| 44 | iotable_init(ct_ca9x4_io_desc, ARRAY_SIZE(ct_ca9x4_io_desc)); | ||
| 45 | } | ||
| 46 | |||
| 47 | static void __init ca9x4_l2_init(void) | ||
| 48 | { | ||
| 49 | #ifdef CONFIG_CACHE_L2X0 | ||
| 50 | void __iomem *l2x0_base = ioremap(CT_CA9X4_L2CC, SZ_4K); | ||
| 51 | |||
| 52 | if (l2x0_base) { | ||
| 53 | /* set RAM latencies to 1 cycle for this core tile. */ | ||
| 54 | writel(0, l2x0_base + L310_TAG_LATENCY_CTRL); | ||
| 55 | writel(0, l2x0_base + L310_DATA_LATENCY_CTRL); | ||
| 56 | |||
| 57 | l2x0_init(l2x0_base, 0x00400000, 0xfe0fffff); | ||
| 58 | } else { | ||
| 59 | pr_err("L2C: unable to map L2 cache controller\n"); | ||
| 60 | } | ||
| 61 | #endif | ||
| 62 | } | ||
| 63 | |||
| 64 | #ifdef CONFIG_HAVE_ARM_TWD | ||
| 65 | static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, A9_MPCORE_TWD, IRQ_LOCALTIMER); | ||
| 66 | |||
| 67 | static void __init ca9x4_twd_init(void) | ||
| 68 | { | ||
| 69 | int err = twd_local_timer_register(&twd_local_timer); | ||
| 70 | if (err) | ||
| 71 | pr_err("twd_local_timer_register failed %d\n", err); | ||
| 72 | } | ||
| 73 | #else | ||
| 74 | #define ca9x4_twd_init() do {} while(0) | ||
| 75 | #endif | ||
| 76 | |||
| 77 | static void __init ct_ca9x4_init_irq(void) | ||
| 78 | { | ||
| 79 | gic_init(0, 29, ioremap(A9_MPCORE_GIC_DIST, SZ_4K), | ||
| 80 | ioremap(A9_MPCORE_GIC_CPU, SZ_256)); | ||
| 81 | ca9x4_twd_init(); | ||
| 82 | ca9x4_l2_init(); | ||
| 83 | } | ||
| 84 | |||
| 85 | static int ct_ca9x4_clcd_setup(struct clcd_fb *fb) | ||
| 86 | { | ||
| 87 | unsigned long framesize = 1024 * 768 * 2; | ||
| 88 | |||
| 89 | fb->panel = versatile_clcd_get_panel("XVGA"); | ||
| 90 | if (!fb->panel) | ||
| 91 | return -EINVAL; | ||
| 92 | |||
| 93 | return versatile_clcd_setup_dma(fb, framesize); | ||
| 94 | } | ||
| 95 | |||
| 96 | static struct clcd_board ct_ca9x4_clc | ||
