Commit | Line | Data |
---|---|---|
2ce30137 BG |
1 | /* linux/arch/arm/plat-samsung/dev-pwm.c |
2 | * | |
3 | * Copyright (c) 2011 Samsung Electronics Co., Ltd. | |
4 | * http://www.samsung.com | |
5 | * | |
6 | * Copyright (c) 2007 Ben Dooks | |
7 | * Copyright (c) 2008 Simtec Electronics | |
8 | * Ben Dooks <ben@simtec.co.uk>, <ben-linux@fluff.org> | |
9 | * | |
10 | * S3C series device definition for the PWM timer | |
11 | * | |
12 | * This program is free software; you can redistribute it and/or modify | |
13 | * it under the terms of the GNU General Public License version 2 as | |
14 | * published by the Free Software Foundation. | |
15 | */ | |
16 | ||
17 | #include <linux/kernel.h> | |
18 | #include <linux/platform_device.h> | |
19 | ||
20 | #include <mach/irqs.h> | |
21 | ||
22 | #include <plat/devs.h> | |
23 | ||
24 | #define TIMER_RESOURCE_SIZE (1) | |
25 | ||
26 | #define TIMER_RESOURCE(_tmr, _irq) \ | |
27 | (struct resource [TIMER_RESOURCE_SIZE]) { \ | |
28 | [0] = { \ | |
29 | .start = _irq, \ | |
30 | .end = _irq, \ | |
31 | .flags = IORESOURCE_IRQ \ | |
32 | } \ | |
33 | } | |
34 | ||
35 | #define DEFINE_S3C_TIMER(_tmr_no, _irq) \ | |
36 | .name = "s3c24xx-pwm", \ | |
37 | .id = _tmr_no, \ | |
38 | .num_resources = TIMER_RESOURCE_SIZE, \ | |
39 | .resource = TIMER_RESOURCE(_tmr_no, _irq), \ | |
40 | ||
41 | /* | |
42 | * since we already have an static mapping for the timer, | |
43 | * we do not bother setting any IO resource for the base. | |
44 | */ | |
45 | ||
46 | struct platform_device s3c_device_timer[] = { | |
47 | [0] = { DEFINE_S3C_TIMER(0, IRQ_TIMER0) }, | |
48 | [1] = { DEFINE_S3C_TIMER(1, IRQ_TIMER1) }, | |
49 | [2] = { DEFINE_S3C_TIMER(2, IRQ_TIMER2) }, | |
50 | [3] = { DEFINE_S3C_TIMER(3, IRQ_TIMER3) }, | |
51 | [4] = { DEFINE_S3C_TIMER(4, IRQ_TIMER4) }, | |
52 | }; | |
53 | EXPORT_SYMBOL(s3c_device_timer); |