aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@stericsson.com>2010-05-03 03:18:38 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-05-04 12:50:04 -0400
commit4b27aa4140c20380a67ecefaa48cf3714cc0b8ea (patch)
tree9c317e2f8d2374d5b02bfda53a6287a62944303d /arch/arm/mach-ux500
parent9e4e7fe1a97191e373257ab59e3d6bbcce9a9f1e (diff)
ARM: 6084/1: ux500: move UART devices to devices.c
The three PL011 UARTs are common among Ux500 SoCs, so move them to devices.c. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r--arch/arm/mach-ux500/board-mop500.c28
-rw-r--r--arch/arm/mach-ux500/devices.c21
-rw-r--r--arch/arm/mach-ux500/include/mach/devices.h3
3 files changed, 27 insertions, 25 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 6bb9a3d3f51e..0e595bf3366e 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -26,28 +26,6 @@
26#include <mach/setup.h> 26#include <mach/setup.h>
27#include <mach/devices.h> 27#include <mach/devices.h>
28 28
29#define __MEM_4K_RESOURCE(x) \
30 .res = {.start = (x), .end = (x) + SZ_4K - 1, .flags = IORESOURCE_MEM}
31
32/* These are active devices on this board */
33static struct amba_device uart0_device = {
34 .dev = { .init_name = "uart0" },
35 __MEM_4K_RESOURCE(U8500_UART0_BASE),
36 .irq = {IRQ_UART0, NO_IRQ},
37};
38
39static struct amba_device uart1_device = {
40 .dev = { .init_name = "uart1" },
41 __MEM_4K_RESOURCE(U8500_UART1_BASE),
42 .irq = {IRQ_UART1, NO_IRQ},
43};
44
45static struct amba_device uart2_device = {
46 .dev = { .init_name = "uart2" },
47 __MEM_4K_RESOURCE(U8500_UART2_BASE),
48 .irq = {IRQ_UART2, NO_IRQ},
49};
50
51static void ab4500_spi_cs_control(u32 command) 29static void ab4500_spi_cs_control(u32 command)
52{ 30{
53 /* set the FRM signal, which is CS - TODO */ 31 /* set the FRM signal, which is CS - TODO */
@@ -157,9 +135,9 @@ U8500_I2C_PDEVICE(2);
157U8500_I2C_PDEVICE(3); 135U8500_I2C_PDEVICE(3);
158 136
159static struct amba_device *amba_devs[] __initdata = { 137static struct amba_device *amba_devs[] __initdata = {
160 &uart0_device, 138 &ux500_uart0_device,
161 &uart1_device, 139 &ux500_uart1_device,
162 &uart2_device, 140 &ux500_uart2_device,
163 &u8500_ssp0_device, 141 &u8500_ssp0_device,
164}; 142};
165 143
diff --git a/arch/arm/mach-ux500/devices.c b/arch/arm/mach-ux500/devices.c
index eef686a4802f..374fcceb10a9 100644
--- a/arch/arm/mach-ux500/devices.c
+++ b/arch/arm/mach-ux500/devices.c
@@ -14,6 +14,9 @@
14#include <mach/hardware.h> 14#include <mach/hardware.h>
15#include <mach/setup.h> 15#include <mach/setup.h>
16 16
17#define __MEM_4K_RESOURCE(x) \
18 .res = {.start = (x), .end = (x) + SZ_4K - 1, .flags = IORESOURCE_MEM}
19
17struct amba_device ux500_pl031_device = { 20struct amba_device ux500_pl031_device = {
18 .dev = { 21 .dev = {
19 .init_name = "pl031", 22 .init_name = "pl031",
@@ -26,6 +29,24 @@ struct amba_device ux500_pl031_device = {
26 .irq = {IRQ_RTC_RTT, NO_IRQ}, 29 .irq = {IRQ_RTC_RTT, NO_IRQ},
27}; 30};
28 31
32struct amba_device ux500_uart0_device = {
33 .dev = { .init_name = "uart0" },
34 __MEM_4K_RESOURCE(UX500_UART0_BASE),
35 .irq = {IRQ_UART0, NO_IRQ},
36};
37
38struct amba_device ux500_uart1_device = {
39 .dev = { .init_name = "uart1" },
40 __MEM_4K_RESOURCE(UX500_UART1_BASE),
41 .irq = {IRQ_UART1, NO_IRQ},
42};
43
44struct amba_device ux500_uart2_device = {
45 .dev = { .init_name = "uart2" },
46 __MEM_4K_RESOURCE(UX500_UART2_BASE),
47 .irq = {IRQ_UART2, NO_IRQ},
48};
49
29void __init amba_add_devices(struct amba_device *devs[], int num) 50void __init amba_add_devices(struct amba_device *devs[], int num)
30{ 51{
31 int i; 52 int i;
diff --git a/arch/arm/mach-ux500/include/mach/devices.h b/arch/arm/mach-ux500/include/mach/devices.h
index 90229b168959..7cc4983c0f48 100644
--- a/arch/arm/mach-ux500/include/mach/devices.h
+++ b/arch/arm/mach-ux500/include/mach/devices.h
@@ -12,5 +12,8 @@ struct amba_device;
12 12
13extern struct amba_device ux500_pl031_device; 13extern struct amba_device ux500_pl031_device;
14extern struct amba_device u8500_ssp0_device; 14extern struct amba_device u8500_ssp0_device;
15extern struct amba_device ux500_uart0_device;
16extern struct amba_device ux500_uart1_device;
17extern struct amba_device ux500_uart2_device;
15 18
16#endif 19#endif