* [PATCH 1/5] ARM: clps711x: Remove IO_ADDRESS() macro
@ 2014-05-31 12:10 Alexander Shiyan
2014-05-31 12:10 ` [PATCH 2/5] ARM: clps711x: Move debug include into arch/arm/include/debug/ Alexander Shiyan
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-05-31 12:10 UTC (permalink / raw)
To: linux-arm-kernel
All uses of the IO_ADDRESS() macro has been removed.
This patch removes the definition of this macro.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/mach-clps711x/include/mach/hardware.h | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/arm/mach-clps711x/include/mach/hardware.h b/arch/arm/mach-clps711x/include/mach/hardware.h
index 5d6afda..292cbcb 100644
--- a/arch/arm/mach-clps711x/include/mach/hardware.h
+++ b/arch/arm/mach-clps711x/include/mach/hardware.h
@@ -24,10 +24,7 @@
#include <mach/clps711x.h>
-#define IO_ADDRESS(x) (0xdc000000 + (((x) & 0x03ffffff) | \
- (((x) >> 2) & 0x3c000000)))
-
-#define CLPS711X_VIRT_BASE IOMEM(IO_ADDRESS(CLPS711X_PHYS_BASE))
+#define CLPS711X_VIRT_BASE IOMEM(0xfe000000)
#ifndef __ASSEMBLY__
#define clps_readb(off) readb(CLPS711X_VIRT_BASE + (off))
--
1.8.5.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/5] ARM: clps711x: Move debug include into arch/arm/include/debug/
2014-05-31 12:10 [PATCH 1/5] ARM: clps711x: Remove IO_ADDRESS() macro Alexander Shiyan
@ 2014-05-31 12:10 ` Alexander Shiyan
2014-05-31 12:10 ` [PATCH 3/5] ARM: clps711x: Switch CLPS711X subarch to use cpuidle driver Alexander Shiyan
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-05-31 12:10 UTC (permalink / raw)
To: linux-arm-kernel
One more step to allowing CLPS711X to participate in the
multi-platform defconfig.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/Kconfig.debug | 1 +
arch/arm/include/debug/clps711x.S | 38 +++++++++++++++++++++++
arch/arm/mach-clps711x/include/mach/debug-macro.S | 38 -----------------------
arch/arm/mach-clps711x/include/mach/hardware.h | 2 +-
4 files changed, 40 insertions(+), 39 deletions(-)
create mode 100644 arch/arm/include/debug/clps711x.S
delete mode 100644 arch/arm/mach-clps711x/include/mach/debug-macro.S
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 9ca888f..7e008ef 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -990,6 +990,7 @@ config DEBUG_STI_UART
config DEBUG_LL_INCLUDE
string
default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
+ default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
default "debug/exynos.S" if DEBUG_EXYNOS_UART
default "debug/efm32.S" if DEBUG_LL_UART_EFM32
diff --git a/arch/arm/include/debug/clps711x.S b/arch/arm/include/debug/clps711x.S
new file mode 100644
index 0000000..abe2254
--- /dev/null
+++ b/arch/arm/include/debug/clps711x.S
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef CONFIG_DEBUG_CLPS711X_UART2
+#define CLPS711X_UART_PADDR (0x80000000 + 0x0000)
+#define CLPS711X_UART_VADDR (0xfeff0000 + 0x0000)
+#else
+#define CLPS711X_UART_PADDR (0x80000000 + 0x1000)
+#define CLPS711X_UART_VADDR (0xfeff0000 + 0x1000)
+#endif
+
+#define SYSFLG (0x0140)
+#define SYSFLG_UBUSY (1 << 11)
+#define UARTDR (0x0480)
+
+ .macro addruart, rp, rv, tmp
+ ldr \rv, =CLPS711X_UART_VADDR
+ ldr \rp, =CLPS711X_UART_PADDR
+ .endm
+
+ .macro waituart,rd,rx
+ .endm
+
+ .macro senduart,rd,rx
+ str \rd, [\rx, #UARTDR]
+ .endm
+
+ .macro busyuart,rd,rx
+1001: ldr \rd, [\rx, #SYSFLG]
+ tst \rd, #SYSFLG_UBUSY
+ bne 1001b
+ .endm
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 cb3684f..0000000
--- a/arch/arm/mach-clps711x/include/mach/debug-macro.S
+++ /dev/null
@@ -1,38 +0,0 @@
-/* arch/arm/mach-clps711x/include/mach/debug-macro.S
- *
- * Debugging macro include header
- *
- * Copyright (C) 1994-1999 Russell King
- * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
-*/
-
-#include <mach/hardware.h>
-
- .macro addruart, rp, rv, tmp
-#ifndef CONFIG_DEBUG_CLPS711X_UART2
- mov \rp, #0x0000 @ UART1
-#else
- mov \rp, #0x1000 @ UART2
-#endif
- orr \rv, \rp, #CLPS711X_VIRT_BASE
- orr \rp, \rp, #CLPS711X_PHYS_BASE
- .endm
-
- .macro senduart,rd,rx
- str \rd, [\rx, #0x0480] @ UARTDR
- .endm
-
- .macro waituart,rd,rx
- .endm
-
- .macro busyuart,rd,rx
-1001: ldr \rd, [\rx, #0x0140] @ SYSFLGx
- tst \rd, #1 << 11 @ UBUSYx
- bne 1001b
- .endm
-
diff --git a/arch/arm/mach-clps711x/include/mach/hardware.h b/arch/arm/mach-clps711x/include/mach/hardware.h
index 292cbcb..833129c 100644
--- a/arch/arm/mach-clps711x/include/mach/hardware.h
+++ b/arch/arm/mach-clps711x/include/mach/hardware.h
@@ -24,7 +24,7 @@
#include <mach/clps711x.h>
-#define CLPS711X_VIRT_BASE IOMEM(0xfe000000)
+#define CLPS711X_VIRT_BASE IOMEM(0xfeff0000)
#ifndef __ASSEMBLY__
#define clps_readb(off) readb(CLPS711X_VIRT_BASE + (off))
--
1.8.5.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/5] ARM: clps711x: Switch CLPS711X subarch to use cpuidle driver
2014-05-31 12:10 [PATCH 1/5] ARM: clps711x: Remove IO_ADDRESS() macro Alexander Shiyan
2014-05-31 12:10 ` [PATCH 2/5] ARM: clps711x: Move debug include into arch/arm/include/debug/ Alexander Shiyan
@ 2014-05-31 12:10 ` Alexander Shiyan
2014-05-31 12:10 ` [PATCH 4/5] ARM: clps711x: clep7312: Add common devices initialization Alexander Shiyan
2014-05-31 12:10 ` [PATCH 5/5] ARM: clps711x: edb7211: Remove excess layer to calling clps711x_devices_init() Alexander Shiyan
3 siblings, 0 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-05-31 12:10 UTC (permalink / raw)
To: linux-arm-kernel
This patch removes old support for cpuidle and switches all current
users to use new cpuidle driver.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/mach-clps711x/board-autcpu12.c | 1 -
arch/arm/mach-clps711x/board-cdb89712.c | 1 -
arch/arm/mach-clps711x/board-clep7312.c | 1 -
arch/arm/mach-clps711x/board-edb7211.c | 1 -
arch/arm/mach-clps711x/board-p720t.c | 1 -
arch/arm/mach-clps711x/common.c | 12 ------------
arch/arm/mach-clps711x/common.h | 1 -
arch/arm/mach-clps711x/devices.c | 10 ++++++++++
8 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/arch/arm/mach-clps711x/board-autcpu12.c b/arch/arm/mach-clps711x/board-autcpu12.c
index d62ca16..45abf6b 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")
/* Maintainer: Thomas Gleixner */
.atag_offset = 0x20000,
.map_io = clps711x_map_io,
- .init_early = clps711x_init_early,
.init_irq = clps711x_init_irq,
.init_time = clps711x_timer_init,
.init_machine = autcpu12_init,
diff --git a/arch/arm/mach-clps711x/board-cdb89712.c b/arch/arm/mach-clps711x/board-cdb89712.c
index e261a47..1ec378c 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")
/* Maintainer: Ray Lehtiniemi */
.atag_offset = 0x100,
.map_io = clps711x_map_io,
- .init_early = clps711x_init_early,
.init_irq = clps711x_init_irq,
.init_time = clps711x_timer_init,
.init_machine = cdb89712_init,
diff --git a/arch/arm/mach-clps711x/board-clep7312.c b/arch/arm/mach-clps711x/board-clep7312.c
index 221b9de..1f3b403 100644
--- a/arch/arm/mach-clps711x/board-clep7312.c
+++ b/arch/arm/mach-clps711x/board-clep7312.c
@@ -38,7 +38,6 @@ MACHINE_START(CLEP7212, "Cirrus Logic 7212/7312")
.atag_offset = 0x0100,
.fixup = fixup_clep7312,
.map_io = clps711x_map_io,
- .init_early = clps711x_init_early,
.init_irq = clps711x_init_irq,
.init_time = clps711x_timer_init,
.restart = clps711x_restart,
diff --git a/arch/arm/mach-clps711x/board-edb7211.c b/arch/arm/mach-clps711x/board-edb7211.c
index 0776098..fa4580f 100644
--- a/arch/arm/mach-clps711x/board-edb7211.c
+++ b/arch/arm/mach-clps711x/board-edb7211.c
@@ -180,7 +180,6 @@ MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)")
.fixup = fixup_edb7211,
.reserve = edb7211_reserve,
.map_io = clps711x_map_io,
- .init_early = clps711x_init_early,
.init_irq = clps711x_init_irq,
.init_time = clps711x_timer_init,
.init_machine = edb7211_init,
diff --git a/arch/arm/mach-clps711x/board-p720t.c b/arch/arm/mach-clps711x/board-p720t.c
index 67b7337..4a2ec28 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")
.atag_offset = 0x100,
.fixup = fixup_p720t,
.map_io = clps711x_map_io,
- .init_early = clps711x_init_early,
.init_irq = clps711x_init_irq,
.init_time = clps711x_timer_init,
.init_machine = p720t_init,
diff --git a/arch/arm/mach-clps711x/common.c b/arch/arm/mach-clps711x/common.c
index aee81fa..2a6323b 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)
{
soft_restart(0);
}
-
-static void clps711x_idle(void)
-{
- clps_writel(1, HALT);
- asm("mov r0, r0");
- asm("mov r0, r0");
-}
-
-void __init clps711x_init_early(void)
-{
- arm_pm_idle = clps711x_idle;
-}
diff --git a/arch/arm/mach-clps711x/common.h b/arch/arm/mach-clps711x/common.h
index 7489139..f881899 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);
extern void clps711x_init_irq(void);
extern void clps711x_timer_init(void);
extern void clps711x_restart(enum reboot_mode mode, const char *cmd);
-extern void clps711x_init_early(void);
/* drivers/irqchip/irq-clps711x.c */
void 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 2001488..0c689d3 100644
--- a/arch/arm/mach-clps711x/devices.c
+++ b/arch/arm/mach-clps711x/devices.c
@@ -14,6 +14,15 @@
#include <mach/hardware.h>
+static const struct resource clps711x_cpuidle_res __initconst =
+ DEFINE_RES_MEM(CLPS711X_PHYS_BASE + HALT, SZ_128);
+
+static void __init clps711x_add_cpuidle(void)
+{
+ platform_device_register_simple("clps711x-cpuidle", PLATFORM_DEVID_NONE,
+ &clps711x_cpuidle_res, 1);
+}
+
static const phys_addr_t clps711x_gpios[][2] __initconst = {
{ PADR, PADDR },
{ PBDR, PBDDR },
@@ -83,6 +92,7 @@ static void __init clps711x_add_uart(void)
void __init clps711x_devices_init(void)
{
+ clps711x_add_cpuidle();
clps711x_add_gpio();
clps711x_add_syscon();
clps711x_add_uart();
--
1.8.5.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/5] ARM: clps711x: clep7312: Add common devices initialization
2014-05-31 12:10 [PATCH 1/5] ARM: clps711x: Remove IO_ADDRESS() macro Alexander Shiyan
2014-05-31 12:10 ` [PATCH 2/5] ARM: clps711x: Move debug include into arch/arm/include/debug/ Alexander Shiyan
2014-05-31 12:10 ` [PATCH 3/5] ARM: clps711x: Switch CLPS711X subarch to use cpuidle driver Alexander Shiyan
@ 2014-05-31 12:10 ` Alexander Shiyan
2014-05-31 12:10 ` [PATCH 5/5] ARM: clps711x: edb7211: Remove excess layer to calling clps711x_devices_init() Alexander Shiyan
3 siblings, 0 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-05-31 12:10 UTC (permalink / raw)
To: linux-arm-kernel
Add initialization of commonly used devices to the CLEP7312 generic board.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/mach-clps711x/board-clep7312.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-clps711x/board-clep7312.c b/arch/arm/mach-clps711x/board-clep7312.c
index 1f3b403..dbff8c6 100644
--- a/arch/arm/mach-clps711x/board-clep7312.c
+++ b/arch/arm/mach-clps711x/board-clep7312.c
@@ -24,6 +24,7 @@
#include <asm/mach/arch.h>
#include "common.h"
+#include "devices.h"
static void __init
fixup_clep7312(struct tag *tags, char **cmdline, struct meminfo *mi)
@@ -40,5 +41,6 @@ MACHINE_START(CLEP7212, "Cirrus Logic 7212/7312")
.map_io = clps711x_map_io,
.init_irq = clps711x_init_irq,
.init_time = clps711x_timer_init,
+ .init_machine = clps711x_devices_init,
.restart = clps711x_restart,
MACHINE_END
--
1.8.5.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 5/5] ARM: clps711x: edb7211: Remove excess layer to calling clps711x_devices_init()
2014-05-31 12:10 [PATCH 1/5] ARM: clps711x: Remove IO_ADDRESS() macro Alexander Shiyan
` (2 preceding siblings ...)
2014-05-31 12:10 ` [PATCH 4/5] ARM: clps711x: clep7312: Add common devices initialization Alexander Shiyan
@ 2014-05-31 12:10 ` Alexander Shiyan
3 siblings, 0 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-05-31 12:10 UTC (permalink / raw)
To: linux-arm-kernel
clps711x_devices_init() can be used directly in ".machine_init" without
any intermediate function.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/mach-clps711x/board-edb7211.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/arch/arm/mach-clps711x/board-edb7211.c b/arch/arm/mach-clps711x/board-edb7211.c
index fa4580f..122d89f 100644
--- a/arch/arm/mach-clps711x/board-edb7211.c
+++ b/arch/arm/mach-clps711x/board-edb7211.c
@@ -150,11 +150,6 @@ fixup_edb7211(struct tag *tags, char **cmdline, struct meminfo *mi)
mi->nr_banks = 2;
}
-static void __init edb7211_init(void)
-{
- clps711x_devices_init();
-}
-
static void __init edb7211_init_late(void)
{
gpio_request_array(edb7211_gpios, ARRAY_SIZE(edb7211_gpios));
@@ -182,7 +177,7 @@ MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)")
.map_io = clps711x_map_io,
.init_irq = clps711x_init_irq,
.init_time = clps711x_timer_init,
- .init_machine = edb7211_init,
+ .init_machine = clps711x_devices_init,
.init_late = edb7211_init_late,
.restart = clps711x_restart,
MACHINE_END
--
1.8.5.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-05-31 12:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-31 12:10 [PATCH 1/5] ARM: clps711x: Remove IO_ADDRESS() macro Alexander Shiyan
2014-05-31 12:10 ` [PATCH 2/5] ARM: clps711x: Move debug include into arch/arm/include/debug/ Alexander Shiyan
2014-05-31 12:10 ` [PATCH 3/5] ARM: clps711x: Switch CLPS711X subarch to use cpuidle driver Alexander Shiyan
2014-05-31 12:10 ` [PATCH 4/5] ARM: clps711x: clep7312: Add common devices initialization Alexander Shiyan
2014-05-31 12:10 ` [PATCH 5/5] ARM: clps711x: edb7211: Remove excess layer to calling clps711x_devices_init() Alexander Shiyan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).