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