1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
--- /tmp/board-omap3beagle.c 2009-07-01 01:06:44.000000000 +0200
+++ git/arch/arm/mach-omap2/board-omap3beagle.c 2009-07-01 01:06:50.000000000 +0200
@@ -125,6 +125,13 @@
.wires = 8,
.gpio_wp = 29,
},
+ {
+ .mmc = 2,
+ .wires = 4,
+ .gpio_wp = 141,
+ .gpio_cd = 162,
+ .transceiver = true,
+ },
{} /* Terminator */
};
@@ -132,6 +139,11 @@
.supply = "vmmc",
};
+static struct regulator_consumer_supply beagle_vmmc2_supply = {
+ .supply = "vmmc",
+};
+
+
static struct regulator_consumer_supply beagle_vsim_supply = {
.supply = "vmmc_aux",
};
@@ -148,6 +160,7 @@
/* link regulators to MMC adapters */
beagle_vmmc1_supply.dev = mmc[0].dev;
+ beagle_vmmc2_supply.dev = mmc[1].dev;
beagle_vsim_supply.dev = mmc[0].dev;
/* REVISIT: need ehci-omap hooks for external VBUS
@@ -209,6 +222,21 @@
.consumer_supplies = &beagle_vmmc1_supply,
};
+/* VMMC2 for MMC2 pins CMD, CLK, DAT0..DAT3 (max 100 mA) */
+static struct regulator_init_data beagle_vmmc2 = {
+ .constraints = {
+ .min_uV = 2700000,
+ .max_uV = 3150000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL
+ | REGULATOR_MODE_STANDBY,
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
+ | REGULATOR_CHANGE_MODE
+ | REGULATOR_CHANGE_STATUS,
+ },
+ .num_consumer_supplies = 1,
+ .consumer_supplies = &beagle_vmmc2_supply,
+};
+
/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
static struct regulator_init_data beagle_vsim = {
.constraints = {
@@ -284,6 +312,7 @@
.gpio = &beagle_gpio_data,
.power = &beagle_power_data,
.vmmc1 = &beagle_vmmc1,
+ .vmmc2 = &beagle_vmmc2,
.vsim = &beagle_vsim,
.vdac = &beagle_vdac,
.vpll2 = &beagle_vpll2,
|