ARM: tegra: dalmore: creating board files
[linux-3.10.git] / arch / arm / mach-tegra / board-dalmore-power.c
1 /*
2  * arch/arm/mach-tegra/board-dalmore-power.c
3  *
4  * Copyright (C) 2012 NVIDIA Corporation.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18  */
19
20 #include <linux/i2c.h>
21 #include <linux/pda_power.h>
22 #include <linux/platform_device.h>
23 #include <linux/resource.h>
24 #include <linux/io.h>
25
26 #include <mach/iomap.h>
27 #include <mach/irqs.h>
28
29 #include "pm.h"
30 #include "board.h"
31 #include "board-dalmore.h"
32
33
34 static int ac_online(void)
35 {
36         return 1;
37 }
38
39 static struct resource dalmore_pda_resources[] = {
40         [0] = {
41                 .name   = "ac",
42         },
43 };
44
45 static struct pda_power_pdata dalmore_pda_data = {
46         .is_ac_online   = ac_online,
47 };
48
49 static struct platform_device dalmore_pda_power_device = {
50         .name           = "pda-power",
51         .id             = -1,
52         .resource       = dalmore_pda_resources,
53         .num_resources  = ARRAY_SIZE(dalmore_pda_resources),
54         .dev    = {
55                 .platform_data  = &dalmore_pda_data,
56         },
57 };
58
59 static struct tegra_suspend_platform_data dalmore_suspend_data = {
60         .cpu_timer      = 2000,
61         .cpu_off_timer  = 0,
62         .suspend_mode   = TEGRA_SUSPEND_NONE,
63         .core_timer     = 0x7e7e,
64         .core_off_timer = 0,
65         .corereq_high   = false,
66         .sysclkreq_high = true,
67 };
68
69 int __init dalmore_regulator_init(void)
70 {
71
72         platform_device_register(&dalmore_pda_power_device);
73         return 0;
74
75 }
76
77 int __init dalmore_suspend_init(void)
78 {
79         tegra_init_suspend(&dalmore_suspend_data);
80         return 0;
81 }
82