aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-clps711x
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-08 14:00:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-08 14:00:26 -0400
commit44c916d58b9ef1f2c4aec2def57fa8289c716a60 (patch)
treee4c886dd0948eefeed883f66c9a21f39a5731103 /arch/arm/mach-clps711x
parent889fa782bf8ebe7c0d0ed0a9429bf43197f0f64e (diff)
parentc4846a7823bfd34ecb2dc56b025e19285432d08d (diff)
Merge tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanups from Olof Johansson: "This merge window brings a good size of cleanups on various platforms. Among the bigger ones: - Removal of Samsung s5pc100 and s5p64xx platforms. Both of these have lacked active support for quite a while, and after asking around nobody showed interest in keeping them around. If needed, they could be resurrected in the future but it's more likely that we would prefer reintroduction of them as DT and multiplatform-enabled platforms instead. - OMAP4 controller code register define diet. They defined a lot of registers that were never actually used, etc. - Move of some of the Tegra platform code (PMC, APBIO, fuse, powergate) to drivers/soc so it can be shared with 64-bit code. This also converts them over to traditional driver models where possible. - Removal of legacy gpio-samsung driver, since the last users have been removed (moved to pinctrl) Plus a bunch of smaller changes for various platforms that sort of dissapear in the diffstat for the above. clps711x cleanups, shmobile header file refactoring/moves for multiplatform friendliness, some misc cleanups, etc" * tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (117 commits) drivers: CCI: Correct use of ! and & video: clcd-versatile: Depend on ARM video: fix up versatile CLCD helper move MAINTAINERS: Add sdhci-st file to ARCH/STI architecture ARM: EXYNOS: Fix build breakge with PM_SLEEP=n MAINTAINERS: Remove Kirkwood ARM: tegra: Convert PMC to a driver soc/tegra: fuse: Set up in early initcall ARM: tegra: Always lock the CPU reset vector ARM: tegra: Setup CPU hotplug in a pure initcall soc/tegra: Implement runtime check for Tegra SoCs soc/tegra: fuse: fix dummy functions soc/tegra: fuse: move APB DMA into Tegra20 fuse driver soc/tegra: Add efuse and apbmisc bindings soc/tegra: Add efuse driver for Tegra ARM: tegra: move fuse exports to soc/tegra/fuse.h ARM: tegra: export apb dma readl/writel ARM: tegra: Use a function to get the chip ID ARM: tegra: Sort includes alphabetically ARM: tegra: Move includes to include/soc/tegra ...
Diffstat (limited to 'arch/arm/mach-clps711x')
-rw-r--r--arch/arm/mach-clps711x/board-autcpu12.c1
-rw-r--r--arch/arm/mach-clps711x/board-cdb89712.c1
-rw-r--r--arch/arm/mach-clps711x/board-clep7312.c3
-rw-r--r--arch/arm/mach-clps711x/board-edb7211.c8
-rw-r--r--arch/arm/mach-clps711x/board-p720t.c1
-rw-r--r--arch/arm/mach-clps711x/common.c12
-rw-r--r--arch/arm/mach-clps711x/common.h1
-rw-r--r--arch/arm/mach-clps711x/devices.c10
-rw-r--r--arch/arm/mach-clps711x/include/mach/debug-macro.S38
-rw-r--r--arch/arm/mach-clps711x/include/mach/hardware.h5
10 files changed, 14 insertions, 66 deletions
diff --git a/arch/arm/mach-clps711x/board-autcpu12.c b/arch/arm/mach-clps711x/board-autcpu12.c
index d62ca16d5394..45abf6bd5f68 100644
--- a/arch/arm/mach-clps711x/board-autcpu12.c
+++ b/arch/arm/mach-clps711x/board-autcpu12.c
@@ -266,7 +266,6 @@ MACHINE_START(AUTCPU12, "autronix autcpu12")
266 /* Maintainer: Thomas Gleixner */ 266 /* Maintainer: Thomas Gleixner */
267 .atag_offset = 0x20000, 267 .atag_offset = 0x20000,
268 .map_io = clps711x_map_io, 268 .map_io = clps711x_map_io,
269 .init_early = clps711x_init_early,
270 .init_irq = clps711x_init_irq, 269 .init_irq = clps711x_init_irq,
271 .init_time = clps711x_timer_init, 270 .init_time = clps711x_timer_init,
272 .init_machine = autcpu12_init, 271 .init_machine = autcpu12_init,
diff --git a/arch/arm/mach-clps711x/board-cdb89712.c b/arch/arm/mach-clps711x/board-cdb89712.c
index e261a47f2aff..1ec378c334e5 100644
--- a/arch/arm/mach-clps711x/board-cdb89712.c
+++ b/arch/arm/mach-clps711x/board-cdb89712.c
@@ -140,7 +140,6 @@ MACHINE_START(CDB89712, "Cirrus-CDB89712")
140 /* Maintainer: Ray Lehtiniemi */ 140 /* Maintainer: Ray Lehtiniemi */
141 .atag_offset = 0x100, 141 .atag_offset = 0x100,
142 .map_io = clps711x_map_io, 142 .map_io = clps711x_map_io,
143 .init_early = clps711x_init_early,
144 .init_irq = clps711x_init_irq, 143 .init_irq = clps711x_init_irq,
145 .init_time = clps711x_timer_init, 144 .init_time = clps711x_timer_init,
146 .init_machine = cdb89712_init, 145 .init_machine = cdb89712_init,
diff --git a/arch/arm/mach-clps711x/board-clep7312.c b/arch/arm/mach-clps711x/board-clep7312.c
index 94a7add88a3f..f9ca22b646bf 100644
--- a/arch/arm/mach-clps711x/board-clep7312.c
+++ b/arch/arm/mach-clps711x/board-clep7312.c
@@ -25,6 +25,7 @@
25#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
26 26
27#include "common.h" 27#include "common.h"
28#include "devices.h"
28 29
29static void __init 30static void __init
30fixup_clep7312(struct tag *tags, char **cmdline) 31fixup_clep7312(struct tag *tags, char **cmdline)
@@ -37,8 +38,8 @@ MACHINE_START(CLEP7212, "Cirrus Logic 7212/7312")
37 .atag_offset = 0x0100, 38 .atag_offset = 0x0100,
38 .fixup = fixup_clep7312, 39 .fixup = fixup_clep7312,
39 .map_io = clps711x_map_io, 40 .map_io = clps711x_map_io,
40 .init_early = clps711x_init_early,
41 .init_irq = clps711x_init_irq, 41 .init_irq = clps711x_init_irq,
42 .init_time = clps711x_timer_init, 42 .init_time = clps711x_timer_init,
43 .init_machine = clps711x_devices_init,
43 .restart = clps711x_restart, 44 .restart = clps711x_restart,
44MACHINE_END 45MACHINE_END
diff --git a/arch/arm/mach-clps711x/board-edb7211.c b/arch/arm/mach-clps711x/board-edb7211.c
index 6144fb5cdc36..fdf54d40909a 100644
--- a/arch/arm/mach-clps711x/board-edb7211.c
+++ b/arch/arm/mach-clps711x/board-edb7211.c
@@ -148,11 +148,6 @@ fixup_edb7211(struct tag *tags, char **cmdline)
148 memblock_add(0xc1000000, SZ_8M); 148 memblock_add(0xc1000000, SZ_8M);
149} 149}
150 150
151static void __init edb7211_init(void)
152{
153 clps711x_devices_init();
154}
155
156static void __init edb7211_init_late(void) 151static void __init edb7211_init_late(void)
157{ 152{
158 gpio_request_array(edb7211_gpios, ARRAY_SIZE(edb7211_gpios)); 153 gpio_request_array(edb7211_gpios, ARRAY_SIZE(edb7211_gpios));
@@ -178,10 +173,9 @@ MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)")
178 .fixup = fixup_edb7211, 173 .fixup = fixup_edb7211,
179 .reserve = edb7211_reserve, 174 .reserve = edb7211_reserve,
180 .map_io = clps711x_map_io, 175 .map_io = clps711x_map_io,
181 .init_early = clps711x_init_early,
182 .init_irq = clps711x_init_irq, 176 .init_irq = clps711x_init_irq,
183 .init_time = clps711x_timer_init, 177 .init_time = clps711x_timer_init,
184 .init_machine = edb7211_init, 178 .init_machine = clps711x_devices_init,
185 .init_late = edb7211_init_late, 179 .init_late = edb7211_init_late,
186 .restart = clps711x_restart, 180 .restart = clps711x_restart,
187MACHINE_END 181MACHINE_END
diff --git a/arch/arm/mach-clps711x/board-p720t.c b/arch/arm/mach-clps711x/board-p720t.c
index 96bcc76c4437..e68dd629bda2 100644
--- a/arch/arm/mach-clps711x/board-p720t.c
+++ b/arch/arm/mach-clps711x/board-p720t.c
@@ -365,7 +365,6 @@ MACHINE_START(P720T, "ARM-Prospector720T")
365 .atag_offset = 0x100, 365 .atag_offset = 0x100,
366 .fixup = fixup_p720t, 366 .fixup = fixup_p720t,
367 .map_io = clps711x_map_io, 367 .map_io = clps711x_map_io,
368 .init_early = clps711x_init_early,
369 .init_irq = clps711x_init_irq, 368 .init_irq = clps711x_init_irq,
370 .init_time = clps711x_timer_init, 369 .init_time = clps711x_timer_init,
371 .init_machine = p720t_init, 370 .init_machine = p720t_init,
diff --git a/arch/arm/mach-clps711x/common.c b/arch/arm/mach-clps711x/common.c
index aee81fa46ccf..2a6323b15782 100644
--- a/arch/arm/mach-clps711x/common.c
+++ b/arch/arm/mach-clps711x/common.c
@@ -193,15 +193,3 @@ void clps711x_restart(enum reboot_mode mode, const char *cmd)
193{ 193{
194 soft_restart(0); 194 soft_restart(0);
195} 195}
196
197static void clps711x_idle(void)
198{
199 clps_writel(1, HALT);
200 asm("mov r0, r0");
201 asm("mov r0, r0");
202}
203
204void __init clps711x_init_early(void)
205{
206 arm_pm_idle = clps711x_idle;
207}
diff --git a/arch/arm/mach-clps711x/common.h b/arch/arm/mach-clps711x/common.h
index 7489139d5d63..f88189963898 100644
--- a/arch/arm/mach-clps711x/common.h
+++ b/arch/arm/mach-clps711x/common.h
@@ -13,7 +13,6 @@ extern void clps711x_map_io(void);
13extern void clps711x_init_irq(void); 13extern void clps711x_init_irq(void);
14extern void clps711x_timer_init(void); 14extern void clps711x_timer_init(void);
15extern void clps711x_restart(enum reboot_mode mode, const char *cmd); 15extern void clps711x_restart(enum reboot_mode mode, const char *cmd);
16extern void clps711x_init_early(void);
17 16
18/* drivers/irqchip/irq-clps711x.c */ 17/* drivers/irqchip/irq-clps711x.c */
19void clps711x_intc_init(phys_addr_t, resource_size_t); 18void clps711x_intc_init(phys_addr_t, resource_size_t);
diff --git a/arch/arm/mach-clps711x/devices.c b/arch/arm/mach-clps711x/devices.c
index 2001488a5ef2..0c689d3a6710 100644
--- a/arch/arm/mach-clps711x/devices.c
+++ b/arch/arm/mach-clps711x/devices.c
@@ -14,6 +14,15 @@
14 14
15#include <mach/hardware.h> 15#include <mach/hardware.h>
16 16
17static const struct resource clps711x_cpuidle_res __initconst =
18 DEFINE_RES_MEM(CLPS711X_PHYS_BASE + HALT, SZ_128);
19
20static void __init clps711x_add_cpuidle(void)
21{
22 platform_device_register_simple("clps711x-cpuidle", PLATFORM_DEVID_NONE,
23 &clps711x_cpuidle_res, 1);
24}
25
17static const phys_addr_t clps711x_gpios[][2] __initconst = { 26static const phys_addr_t clps711x_gpios[][2] __initconst = {
18 { PADR, PADDR }, 27 { PADR, PADDR },
19 { PBDR, PBDDR }, 28 { PBDR, PBDDR },
@@ -83,6 +92,7 @@ static void __init clps711x_add_uart(void)
83 92
84void __init clps711x_devices_init(void) 93void __init clps711x_devices_init(void)
85{ 94{
95 clps711x_add_cpuidle();
86 clps711x_add_gpio(); 96 clps711x_add_gpio();
87 clps711x_add_syscon(); 97 clps711x_add_syscon();
88 clps711x_add_uart(); 98 clps711x_add_uart();
diff --git a/arch/arm/mach-clps711x/include/mach/debug-macro.S b/arch/arm/mach-clps711x/include/mach/debug-macro.S
deleted file mode 100644
index cb3684f8dae0..000000000000
--- a/arch/arm/mach-clps711x/include/mach/debug-macro.S
+++ /dev/null
@@ -1,38 +0,0 @@
1/* arch/arm/mach-clps711x/include/mach/debug-macro.S
2 *
3 * Debugging macro include header
4 *
5 * Copyright (C) 1994-1999 Russell King
6 * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12*/
13
14#include <mach/hardware.h>
15
16 .macro addruart, rp, rv, tmp
17#ifndef CONFIG_DEBUG_CLPS711X_UART2
18 mov \rp, #0x0000 @ UART1
19#else
20 mov \rp, #0x1000 @ UART2
21#endif
22 orr \rv, \rp, #CLPS711X_VIRT_BASE
23 orr \rp, \rp, #CLPS711X_PHYS_BASE
24 .endm
25
26 .macro senduart,rd,rx
27 str \rd, [\rx, #0x0480] @ UARTDR
28 .endm
29
30 .macro waituart,rd,rx
31 .endm
32
33 .macro busyuart,rd,rx
341001: ldr \rd, [\rx, #0x0140] @ SYSFLGx
35 tst \rd, #1 << 11 @ UBUSYx
36 bne 1001b
37 .endm
38
diff --git a/arch/arm/mach-clps711x/include/mach/hardware.h b/arch/arm/mach-clps711x/include/mach/hardware.h
index 5d6afda1c0e8..833129c9f798 100644
--- a/arch/arm/mach-clps711x/include/mach/hardware.h
+++ b/arch/arm/mach-clps711x/include/mach/hardware.h
@@ -24,10 +24,7 @@
24 24
25#include <mach/clps711x.h> 25#include <mach/clps711x.h>
26 26
27#define IO_ADDRESS(x) (0xdc000000 + (((x) & 0x03ffffff) | \ 27#define CLPS711X_VIRT_BASE IOMEM(0xfeff0000)
28 (((x) >> 2) & 0x3c000000)))
29
30#define CLPS711X_VIRT_BASE IOMEM(IO_ADDRESS(CLPS711X_PHYS_BASE))
31 28
32#ifndef __ASSEMBLY__ 29#ifndef __ASSEMBLY__
33#define clps_readb(off) readb(CLPS711X_VIRT_BASE + (off)) 30#define clps_readb(off) readb(CLPS711X_VIRT_BASE + (off))