Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
[pandora-kernel.git] / arch / arm / mach-ux500 / board-mop500-regulators.c
1 /*
2  * Copyright (C) ST-Ericsson SA 2010
3  *
4  * License Terms: GNU General Public License v2
5  *
6  * Author: Sundar Iyer <sundar.iyer@stericsson.com>
7  *
8  * MOP500 board specific initialization for regulators
9  */
10 #include <linux/kernel.h>
11 #include <linux/regulator/machine.h>
12
13 /* supplies to the display/camera */
14 static struct regulator_init_data ab8500_vaux1_regulator = {
15         .constraints = {
16                 .name = "V-DISPLAY",
17                 .min_uV = 2500000,
18                 .max_uV = 2900000,
19                 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE|
20                                         REGULATOR_CHANGE_STATUS,
21         },
22 };
23
24 /* supplies to the on-board eMMC */
25 static struct regulator_init_data ab8500_vaux2_regulator = {
26         .constraints = {
27                 .name = "V-eMMC1",
28                 .min_uV = 1100000,
29                 .max_uV = 3300000,
30                 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE|
31                                         REGULATOR_CHANGE_STATUS,
32         },
33 };
34
35 /* supply for VAUX3, supplies to SDcard slots */
36 static struct regulator_init_data ab8500_vaux3_regulator = {
37         .constraints = {
38                 .name = "V-MMC-SD",
39                 .min_uV = 1100000,
40                 .max_uV = 3300000,
41                 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE|
42                                         REGULATOR_CHANGE_STATUS,
43         },
44 };
45
46 /* supply for tvout, gpadc, TVOUT LDO */
47 static struct regulator_init_data ab8500_vtvout_init = {
48         .constraints = {
49                 .name = "V-TVOUT",
50                 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
51         },
52 };
53
54 /* supply for ab8500-vaudio, VAUDIO LDO */
55 static struct regulator_init_data ab8500_vaudio_init = {
56         .constraints = {
57                 .name = "V-AUD",
58                 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
59         },
60 };
61
62 /* supply for v-anamic1 VAMic1-LDO */
63 static struct regulator_init_data ab8500_vamic1_init = {
64         .constraints = {
65                 .name = "V-AMIC1",
66                 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
67         },
68 };
69
70 /* supply for v-amic2, VAMIC2 LDO, reuse constants for AMIC1 */
71 static struct regulator_init_data ab8500_vamic2_init = {
72         .constraints = {
73                 .name = "V-AMIC2",
74                 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
75         },
76 };
77
78 /* supply for v-dmic, VDMIC LDO */
79 static struct regulator_init_data ab8500_vdmic_init = {
80         .constraints = {
81                 .name = "V-DMIC",
82                 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
83         },
84 };
85
86 /* supply for v-intcore12, VINTCORE12 LDO */
87 static struct regulator_init_data ab8500_vintcore_init = {
88         .constraints = {
89                 .name = "V-INTCORE",
90                 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
91         },
92 };
93
94 /* supply for U8500 CSI/DSI, VANA LDO */
95 static struct regulator_init_data ab8500_vana_init = {
96         .constraints = {
97                 .name = "V-CSI/DSI",
98                 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
99         },
100 };
101