diff options
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500-regulators.c')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-regulators.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c b/arch/arm/mach-ux500/board-mop500-regulators.c index 533967c2d095..875c91b2f8a4 100644 --- a/arch/arm/mach-ux500/board-mop500-regulators.c +++ b/arch/arm/mach-ux500/board-mop500-regulators.c | |||
@@ -11,6 +11,56 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/regulator/machine.h> | 12 | #include <linux/regulator/machine.h> |
13 | #include <linux/regulator/ab8500.h> | 13 | #include <linux/regulator/ab8500.h> |
14 | #include "board-mop500-regulators.h" | ||
15 | |||
16 | static struct regulator_consumer_supply ab8500_vaux1_consumers[] = { | ||
17 | /* External displays, connector on board 2v5 power supply */ | ||
18 | REGULATOR_SUPPLY("vaux12v5", "mcde.0"), | ||
19 | /* SFH7741 proximity sensor */ | ||
20 | REGULATOR_SUPPLY("vcc", "gpio-keys.0"), | ||
21 | /* BH1780GLS ambient light sensor */ | ||
22 | REGULATOR_SUPPLY("vcc", "2-0029"), | ||
23 | /* lsm303dlh accelerometer */ | ||
24 | REGULATOR_SUPPLY("vdd", "3-0018"), | ||
25 | /* lsm303dlh magnetometer */ | ||
26 | REGULATOR_SUPPLY("vdd", "3-001e"), | ||
27 | /* Rohm BU21013 Touchscreen devices */ | ||
28 | REGULATOR_SUPPLY("avdd", "3-005c"), | ||
29 | REGULATOR_SUPPLY("avdd", "3-005d"), | ||
30 | /* Synaptics RMI4 Touchscreen device */ | ||
31 | REGULATOR_SUPPLY("vdd", "3-004b"), | ||
32 | }; | ||
33 | |||
34 | static struct regulator_consumer_supply ab8500_vaux2_consumers[] = { | ||
35 | /* On-board eMMC power */ | ||
36 | REGULATOR_SUPPLY("vmmc", "sdi4"), | ||
37 | /* AB8500 audio codec */ | ||
38 | REGULATOR_SUPPLY("vcc-N2158", "ab8500-codec.0"), | ||
39 | }; | ||
40 | |||
41 | static struct regulator_consumer_supply ab8500_vaux3_consumers[] = { | ||
42 | /* External MMC slot power */ | ||
43 | REGULATOR_SUPPLY("vmmc", "sdi0"), | ||
44 | }; | ||
45 | |||
46 | static struct regulator_consumer_supply ab8500_vtvout_consumers[] = { | ||
47 | /* TV-out DENC supply */ | ||
48 | REGULATOR_SUPPLY("vtvout", "ab8500-denc.0"), | ||
49 | /* Internal general-purpose ADC */ | ||
50 | REGULATOR_SUPPLY("vddadc", "ab8500-gpadc.0"), | ||
51 | }; | ||
52 | |||
53 | static struct regulator_consumer_supply ab8500_vintcore_consumers[] = { | ||
54 | /* SoC core supply, no device */ | ||
55 | REGULATOR_SUPPLY("v-intcore", NULL), | ||
56 | /* USB Transciever */ | ||
57 | REGULATOR_SUPPLY("vddulpivio18", "ab8500-usb.0"), | ||
58 | }; | ||
59 | |||
60 | static struct regulator_consumer_supply ab8500_vana_consumers[] = { | ||
61 | /* External displays, connector on board, 1v8 power supply */ | ||
62 | REGULATOR_SUPPLY("vsmps2", "mcde.0"), | ||
63 | }; | ||
14 | 64 | ||
15 | /* AB8500 regulators */ | 65 | /* AB8500 regulators */ |
16 | struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { | 66 | struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { |
@@ -23,6 +73,8 @@ struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { | |||
23 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | | 73 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | |
24 | REGULATOR_CHANGE_STATUS, | 74 | REGULATOR_CHANGE_STATUS, |
25 | }, | 75 | }, |
76 | .num_consumer_supplies = ARRAY_SIZE(ab8500_vaux1_consumers), | ||
77 | .consumer_supplies = ab8500_vaux1_consumers, | ||
26 | }, | 78 | }, |
27 | /* supplies to the on-board eMMC */ | 79 | /* supplies to the on-board eMMC */ |
28 | [AB8500_LDO_AUX2] = { | 80 | [AB8500_LDO_AUX2] = { |
@@ -33,6 +85,8 @@ struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { | |||
33 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | | 85 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | |
34 | REGULATOR_CHANGE_STATUS, | 86 | REGULATOR_CHANGE_STATUS, |
35 | }, | 87 | }, |
88 | .num_consumer_supplies = ARRAY_SIZE(ab8500_vaux2_consumers), | ||
89 | .consumer_supplies = ab8500_vaux2_consumers, | ||
36 | }, | 90 | }, |
37 | /* supply for VAUX3, supplies to SDcard slots */ | 91 | /* supply for VAUX3, supplies to SDcard slots */ |
38 | [AB8500_LDO_AUX3] = { | 92 | [AB8500_LDO_AUX3] = { |
@@ -43,6 +97,8 @@ struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { | |||
43 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | | 97 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | |
44 | REGULATOR_CHANGE_STATUS, | 98 | REGULATOR_CHANGE_STATUS, |
45 | }, | 99 | }, |
100 | .num_consumer_supplies = ARRAY_SIZE(ab8500_vaux3_consumers), | ||
101 | .consumer_supplies = ab8500_vaux3_consumers, | ||
46 | }, | 102 | }, |
47 | /* supply for tvout, gpadc, TVOUT LDO */ | 103 | /* supply for tvout, gpadc, TVOUT LDO */ |
48 | [AB8500_LDO_TVOUT] = { | 104 | [AB8500_LDO_TVOUT] = { |
@@ -50,6 +106,8 @@ struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { | |||
50 | .name = "V-TVOUT", | 106 | .name = "V-TVOUT", |
51 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | 107 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, |
52 | }, | 108 | }, |
109 | .num_consumer_supplies = ARRAY_SIZE(ab8500_vtvout_consumers), | ||
110 | .consumer_supplies = ab8500_vtvout_consumers, | ||
53 | }, | 111 | }, |
54 | /* supply for ab8500-vaudio, VAUDIO LDO */ | 112 | /* supply for ab8500-vaudio, VAUDIO LDO */ |
55 | [AB8500_LDO_AUDIO] = { | 113 | [AB8500_LDO_AUDIO] = { |
@@ -85,6 +143,8 @@ struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { | |||
85 | .name = "V-INTCORE", | 143 | .name = "V-INTCORE", |
86 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | 144 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, |
87 | }, | 145 | }, |
146 | .num_consumer_supplies = ARRAY_SIZE(ab8500_vintcore_consumers), | ||
147 | .consumer_supplies = ab8500_vintcore_consumers, | ||
88 | }, | 148 | }, |
89 | /* supply for U8500 CSI/DSI, VANA LDO */ | 149 | /* supply for U8500 CSI/DSI, VANA LDO */ |
90 | [AB8500_LDO_ANA] = { | 150 | [AB8500_LDO_ANA] = { |
@@ -92,5 +152,7 @@ struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { | |||
92 | .name = "V-CSI/DSI", | 152 | .name = "V-CSI/DSI", |
93 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | 153 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, |
94 | }, | 154 | }, |
155 | .num_consumer_supplies = ARRAY_SIZE(ab8500_vana_consumers), | ||
156 | .consumer_supplies = ab8500_vana_consumers, | ||
95 | }, | 157 | }, |
96 | }; | 158 | }; |