aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-11-21 13:26:01 -0500
committerOlof Johansson <olof@lixom.net>2012-11-21 13:26:13 -0500
commit01ba6dbf485c54e2c205961bddc39770d23b4bc0 (patch)
treeadd101fd7b75978e33e5e3ebe1243678e4c47c0e
parent3f6f1cd6ffb473f426858692e8e1cb82aea137eb (diff)
parent5a7eb8e4fedc03b5c511a61986bff6f6d31c693f (diff)
Merge branch 'next/board-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/boards
From Kukjin Kim: Here is Samsung boards update for v3.8 and most of them are updates for S3C64XX Cragganmore board. * 'next/board-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: S3C64XX: Add missing device selects for Cragganmore ARM: EXYNOS: Add missing USB regulators for origen ARM: S3C64XX: Fix up IRQ mapping for balblair on Cragganmore ARM: S3C64XX: Add handset module to probed Glenfarclas modules ARM: S3C64XX: Add WM2200 module for Cragganmore ARM: S3C64XX: Add hookup for Deanston module on Cragganmore ARM: S3C64XX: Handle new Amrut modules on Cragganmore ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore ARM: S3C64XX: Update hookup for Arizona class devices ARM: S3C64XX: Add more Glenfarclas module ID strings Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/mach-exynos/mach-origen.c2
-rw-r--r--arch/arm/mach-s3c64xx/Kconfig2
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410-module.c141
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c29
4 files changed, 148 insertions, 26 deletions
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index 9adf491674ea..23be71a9dfd3 100644
--- a/arch/arm/mach-exynos/mach-origen.c
+++ b/arch/arm/mach-exynos/mach-origen.c
@@ -100,6 +100,7 @@ static struct regulator_consumer_supply __initdata ldo3_consumer[] = {
100 REGULATOR_SUPPLY("vddcore", "s5p-mipi-csis.0"), /* MIPI */ 100 REGULATOR_SUPPLY("vddcore", "s5p-mipi-csis.0"), /* MIPI */
101 REGULATOR_SUPPLY("vdd", "exynos4-hdmi"), /* HDMI */ 101 REGULATOR_SUPPLY("vdd", "exynos4-hdmi"), /* HDMI */
102 REGULATOR_SUPPLY("vdd_pll", "exynos4-hdmi"), /* HDMI */ 102 REGULATOR_SUPPLY("vdd_pll", "exynos4-hdmi"), /* HDMI */
103 REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"), /* OTG */
103}; 104};
104static struct regulator_consumer_supply __initdata ldo6_consumer[] = { 105static struct regulator_consumer_supply __initdata ldo6_consumer[] = {
105 REGULATOR_SUPPLY("vddio", "s5p-mipi-csis.0"), /* MIPI */ 106 REGULATOR_SUPPLY("vddio", "s5p-mipi-csis.0"), /* MIPI */
@@ -110,6 +111,7 @@ static struct regulator_consumer_supply __initdata ldo7_consumer[] = {
110static struct regulator_consumer_supply __initdata ldo8_consumer[] = { 111static struct regulator_consumer_supply __initdata ldo8_consumer[] = {
111 REGULATOR_SUPPLY("vdd", "s5p-adc"), /* ADC */ 112 REGULATOR_SUPPLY("vdd", "s5p-adc"), /* ADC */
112 REGULATOR_SUPPLY("vdd_osc", "exynos4-hdmi"), /* HDMI */ 113 REGULATOR_SUPPLY("vdd_osc", "exynos4-hdmi"), /* HDMI */
114 REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"), /* OTG */
113}; 115};
114static struct regulator_consumer_supply __initdata ldo9_consumer[] = { 116static struct regulator_consumer_supply __initdata ldo9_consumer[] = {
115 REGULATOR_SUPPLY("dvdd", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */ 117 REGULATOR_SUPPLY("dvdd", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 63e7ae3ee9e6..131c86284711 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -294,6 +294,7 @@ config MACH_WLF_CRAGG_6410
294 select S3C64XX_SETUP_SDHCI 294 select S3C64XX_SETUP_SDHCI
295 select S3C64XX_SETUP_SPI 295 select S3C64XX_SETUP_SPI
296 select S3C64XX_SETUP_USB_PHY 296 select S3C64XX_SETUP_USB_PHY
297 select S3C_DEV_FB
297 select S3C_DEV_HSMMC 298 select S3C_DEV_HSMMC
298 select S3C_DEV_HSMMC1 299 select S3C_DEV_HSMMC1
299 select S3C_DEV_HSMMC2 300 select S3C_DEV_HSMMC2
@@ -304,6 +305,7 @@ config MACH_WLF_CRAGG_6410
304 select S3C_DEV_WDT 305 select S3C_DEV_WDT
305 select SAMSUNG_DEV_ADC 306 select SAMSUNG_DEV_ADC
306 select SAMSUNG_DEV_KEYPAD 307 select SAMSUNG_DEV_KEYPAD
308 select SAMSUNG_DEV_PWM
307 select SAMSUNG_GPIO_EXTRA128 309 select SAMSUNG_GPIO_EXTRA128
308 help 310 help
309 Machine support for the Wolfson Cragganmore S3C6410 variant. 311 Machine support for the Wolfson Cragganmore S3C6410 variant.
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 4e3fe57674c8..c6d8dba90623 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -20,6 +20,8 @@
20 20
21#include <linux/regulator/machine.h> 21#include <linux/regulator/machine.h>
22 22
23#include <sound/wm0010.h>
24#include <sound/wm2200.h>
23#include <sound/wm5100.h> 25#include <sound/wm5100.h>
24#include <sound/wm8996.h> 26#include <sound/wm8996.h>
25#include <sound/wm8962.h> 27#include <sound/wm8962.h>
@@ -33,14 +35,34 @@ static struct s3c64xx_spi_csinfo wm0010_spi_csinfo = {
33 .line = S3C64XX_GPC(3), 35 .line = S3C64XX_GPC(3),
34}; 36};
35 37
38static struct wm0010_pdata wm0010_pdata = {
39 .gpio_reset = S3C64XX_GPN(6),
40 .reset_active_high = 1, /* Active high for Glenfarclas Rev 2 */
41};
42
36static struct spi_board_info wm1253_devs[] = { 43static struct spi_board_info wm1253_devs[] = {
37 [0] = { 44 [0] = {
38 .modalias = "wm0010", 45 .modalias = "wm0010",
46 .max_speed_hz = 26 * 1000 * 1000,
39 .bus_num = 0, 47 .bus_num = 0,
40 .chip_select = 0, 48 .chip_select = 0,
41 .mode = SPI_MODE_0, 49 .mode = SPI_MODE_0,
42 .irq = S3C_EINT(5), 50 .irq = S3C_EINT(5),
43 .controller_data = &wm0010_spi_csinfo, 51 .controller_data = &wm0010_spi_csinfo,
52 .platform_data = &wm0010_pdata,
53 },
54};
55
56static struct spi_board_info balblair_devs[] = {
57 [0] = {
58 .modalias = "wm0010",
59 .max_speed_hz = 26 * 1000 * 1000,
60 .bus_num = 0,
61 .chip_select = 0,
62 .mode = SPI_MODE_0,
63 .irq = S3C_EINT(4),
64 .controller_data = &wm0010_spi_csinfo,
65 .platform_data = &wm0010_pdata,
44 }, 66 },
45}; 67};
46 68
@@ -166,12 +188,13 @@ static struct regulator_init_data wm8994_ldo2 = {
166 188
167static struct wm8994_pdata wm8994_pdata = { 189static struct wm8994_pdata wm8994_pdata = {
168 .gpio_base = CODEC_GPIO_BASE, 190 .gpio_base = CODEC_GPIO_BASE,
191 .micb2_delay = 150,
169 .gpio_defaults = { 192 .gpio_defaults = {
170 0x3, /* IRQ out, active high, CMOS */ 193 0x3, /* IRQ out, active high, CMOS */
171 }, 194 },
172 .ldo = { 195 .ldo = {
173 { .init_data = &wm8994_ldo1, }, 196 { .enable = S3C64XX_GPN(6), .init_data = &wm8994_ldo1, },
174 { .init_data = &wm8994_ldo2, }, 197 { .enable = S3C64XX_GPN(4), .init_data = &wm8994_ldo2, },
175 }, 198 },
176}; 199};
177 200
@@ -182,7 +205,7 @@ static const struct i2c_board_info wm1277_devs[] = {
182 }, 205 },
183}; 206};
184 207
185static struct arizona_pdata wm5102_pdata = { 208static struct arizona_pdata wm5102_reva_pdata = {
186 .ldoena = S3C64XX_GPN(7), 209 .ldoena = S3C64XX_GPN(7),
187 .gpio_base = CODEC_GPIO_BASE, 210 .gpio_base = CODEC_GPIO_BASE,
188 .irq_active_high = true, 211 .irq_active_high = true,
@@ -193,64 +216,131 @@ static struct arizona_pdata wm5102_pdata = {
193 }, 216 },
194}; 217};
195 218
196static struct s3c64xx_spi_csinfo wm5102_spi_csinfo = { 219static struct s3c64xx_spi_csinfo codec_spi_csinfo = {
197 .line = S3C64XX_GPN(5), 220 .line = S3C64XX_GPN(5),
198}; 221};
199 222
223static struct spi_board_info wm5102_reva_spi_devs[] = {
224 [0] = {
225 .modalias = "wm5102",
226 .max_speed_hz = 10 * 1000 * 1000,
227 .bus_num = 0,
228 .chip_select = 1,
229 .mode = SPI_MODE_0,
230 .irq = GLENFARCLAS_PMIC_IRQ_BASE +
231 WM831X_IRQ_GPIO_2,
232 .controller_data = &codec_spi_csinfo,
233 .platform_data = &wm5102_reva_pdata,
234 },
235};
236
237static struct arizona_pdata wm5102_pdata = {
238 .ldoena = S3C64XX_GPN(7),
239 .gpio_base = CODEC_GPIO_BASE,
240 .irq_active_high = true,
241 .micd_pol_gpio = CODEC_GPIO_BASE + 2,
242 .gpio_defaults = {
243 [2] = 0x10000, /* AIF3TXLRCLK */
244 [3] = 0x4, /* OPCLK */
245 },
246};
247
200static struct spi_board_info wm5102_spi_devs[] = { 248static struct spi_board_info wm5102_spi_devs[] = {
201 [0] = { 249 [0] = {
202 .modalias = "wm5102", 250 .modalias = "wm5102",
203 .max_speed_hz = 10 * 1000 * 1000, 251 .max_speed_hz = 10 * 1000 * 1000,
204 .bus_num = 0, 252 .bus_num = 0,
205 .chip_select = 0, 253 .chip_select = 1,
206 .mode = SPI_MODE_0, 254 .mode = SPI_MODE_0,
207 .irq = GLENFARCLAS_PMIC_IRQ_BASE + 255 .irq = GLENFARCLAS_PMIC_IRQ_BASE +
208 WM831X_IRQ_GPIO_2, 256 WM831X_IRQ_GPIO_2,
209 .controller_data = &wm5102_spi_csinfo, 257 .controller_data = &codec_spi_csinfo,
210 .platform_data = &wm5102_pdata, 258 .platform_data = &wm5102_pdata,
211 }, 259 },
212}; 260};
213 261
262static struct spi_board_info wm5110_spi_devs[] = {
263 [0] = {
264 .modalias = "wm5110",
265 .max_speed_hz = 10 * 1000 * 1000,
266 .bus_num = 0,
267 .chip_select = 1,
268 .mode = SPI_MODE_0,
269 .irq = GLENFARCLAS_PMIC_IRQ_BASE +
270 WM831X_IRQ_GPIO_2,
271 .controller_data = &codec_spi_csinfo,
272 .platform_data = &wm5102_reva_pdata,
273 },
274};
275
214static const struct i2c_board_info wm6230_i2c_devs[] = { 276static const struct i2c_board_info wm6230_i2c_devs[] = {
215 { I2C_BOARD_INFO("wm9081", 0x6c), 277 { I2C_BOARD_INFO("wm9081", 0x6c),
216 .platform_data = &wm9081_pdata, }, 278 .platform_data = &wm9081_pdata, },
217}; 279};
218 280
281static struct wm2200_pdata wm2200_pdata = {
282 .ldo_ena = S3C64XX_GPN(7),
283 .gpio_defaults = {
284 [2] = 0x0005, /* GPIO3 24.576MHz output clock */
285 },
286};
287
288static const struct i2c_board_info wm2200_i2c[] = {
289 { I2C_BOARD_INFO("wm2200", 0x3a),
290 .platform_data = &wm2200_pdata, },
291};
292
219static __devinitdata const struct { 293static __devinitdata const struct {
220 u8 id; 294 u8 id;
295 u8 rev;
221 const char *name; 296 const char *name;
222 const struct i2c_board_info *i2c_devs; 297 const struct i2c_board_info *i2c_devs;
223 int num_i2c_devs; 298 int num_i2c_devs;
224 const struct spi_board_info *spi_devs; 299 const struct spi_board_info *spi_devs;
225 int num_spi_devs; 300 int num_spi_devs;
226} gf_mods[] = { 301} gf_mods[] = {
227 { .id = 0x01, .name = "1250-EV1 Springbank" }, 302 { .id = 0x01, .rev = 0xff, .name = "1250-EV1 Springbank" },
228 { .id = 0x02, .name = "1251-EV1 Jura" }, 303 { .id = 0x02, .rev = 0xff, .name = "1251-EV1 Jura" },
229 { .id = 0x03, .name = "1252-EV1 Glenlivet" }, 304 { .id = 0x03, .rev = 0xff, .name = "1252-EV1 Glenlivet" },
230 { .id = 0x11, .name = "6249-EV2 Glenfarclas", }, 305 { .id = 0x06, .rev = 0xff, .name = "WM8997-6721-CS96-EV1 Lapraoig" },
231 { .id = 0x14, .name = "6271-EV1 Lochnagar" }, 306 { .id = 0x07, .rev = 0xff, .name = "WM5110-6271 Deanston",
232 { .id = 0x15, .name = "6320-EV1 Bells", 307 .spi_devs = wm5110_spi_devs,
308 .num_spi_devs = ARRAY_SIZE(wm5110_spi_devs) },
309 { .id = 0x08, .rev = 0xff, .name = "WM8903-6102 Tamdhu" },
310 { .id = 0x09, .rev = 0xff, .name = "WM1811A-6305 Adelphi" },
311 { .id = 0x0a, .rev = 0xff, .name = "WM8996-6272 Blackadder" },
312 { .id = 0x0b, .rev = 0xff, .name = "WM8994-6235 Benromach" },
313 { .id = 0x11, .rev = 0xff, .name = "6249-EV2 Glenfarclas", },
314 { .id = 0x14, .rev = 0xff, .name = "6271-EV1 Lochnagar" },
315 { .id = 0x15, .rev = 0xff, .name = "6320-EV1 Bells",
233 .i2c_devs = wm6230_i2c_devs, 316 .i2c_devs = wm6230_i2c_devs,
234 .num_i2c_devs = ARRAY_SIZE(wm6230_i2c_devs) }, 317 .num_i2c_devs = ARRAY_SIZE(wm6230_i2c_devs) },
235 { .id = 0x21, .name = "1275-EV1 Mortlach" }, 318 { .id = 0x21, .rev = 0xff, .name = "1275-EV1 Mortlach" },
236 { .id = 0x25, .name = "1274-EV1 Glencadam" }, 319 { .id = 0x25, .rev = 0xff, .name = "1274-EV1 Glencadam" },
237 { .id = 0x31, .name = "1253-EV1 Tomatin", 320 { .id = 0x31, .rev = 0xff, .name = "1253-EV1 Tomatin",
238 .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) }, 321 .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) },
239 { .id = 0x32, .name = "XXXX-EV1 Caol Illa" }, 322 { .id = 0x32, .rev = 0xff, .name = "XXXX-EV1 Caol Illa" },
240 { .id = 0x33, .name = "XXXX-EV1 Oban" }, 323 { .id = 0x33, .rev = 0xff, .name = "XXXX-EV1 Oban" },
241 { .id = 0x34, .name = "WM0010-6320-CS42 Balblair" }, 324 { .id = 0x34, .rev = 0xff, .name = "WM0010-6320-CS42 Balblair",
242 { .id = 0x39, .name = "1254-EV1 Dallas Dhu", 325 .spi_devs = balblair_devs,
326 .num_spi_devs = ARRAY_SIZE(balblair_devs) },
327 { .id = 0x39, .rev = 0xff, .name = "1254-EV1 Dallas Dhu",
243 .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) }, 328 .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) },
244 { .id = 0x3a, .name = "1259-EV1 Tobermory", 329 { .id = 0x3a, .rev = 0xff, .name = "1259-EV1 Tobermory",
245 .i2c_devs = wm1259_devs, .num_i2c_devs = ARRAY_SIZE(wm1259_devs) }, 330 .i2c_devs = wm1259_devs, .num_i2c_devs = ARRAY_SIZE(wm1259_devs) },
246 { .id = 0x3b, .name = "1255-EV1 Kilchoman", 331 { .id = 0x3b, .rev = 0xff, .name = "1255-EV1 Kilchoman",
247 .i2c_devs = wm1255_devs, .num_i2c_devs = ARRAY_SIZE(wm1255_devs) }, 332 .i2c_devs = wm1255_devs, .num_i2c_devs = ARRAY_SIZE(wm1255_devs) },
248 { .id = 0x3c, .name = "1273-EV1 Longmorn" }, 333 { .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" },
249 { .id = 0x3d, .name = "1277-EV1 Littlemill", 334 { .id = 0x3d, .rev = 0xff, .name = "1277-EV1 Littlemill",
250 .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, 335 .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) },
251 { .id = 0x3e, .name = "WM5102-6271-EV1-CS127 Amrut", 336 { .id = 0x3e, .rev = 0, .name = "WM5102-6271-EV1-CS127 Amrut",
337 .spi_devs = wm5102_reva_spi_devs,
338 .num_spi_devs = ARRAY_SIZE(wm5102_reva_spi_devs) },
339 { .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut",
252 .spi_devs = wm5102_spi_devs, 340 .spi_devs = wm5102_spi_devs,
253 .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) }, 341 .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) },
342 { .id = 0x3f, .rev = -1, .name = "WM2200-6271-CS90-M-REV1",
343 .i2c_devs = wm2200_i2c, .num_i2c_devs = ARRAY_SIZE(wm2200_i2c) },
254}; 344};
255 345
256static __devinit int wlf_gf_module_probe(struct i2c_client *i2c, 346static __devinit int wlf_gf_module_probe(struct i2c_client *i2c,
@@ -267,7 +357,8 @@ static __devinit int wlf_gf_module_probe(struct i2c_client *i2c,
267 id = (ret & 0xfe) >> 2; 357 id = (ret & 0xfe) >> 2;
268 rev = ret & 0x3; 358 rev = ret & 0x3;
269 for (i = 0; i < ARRAY_SIZE(gf_mods); i++) 359 for (i = 0; i < ARRAY_SIZE(gf_mods); i++)
270 if (id == gf_mods[i].id) 360 if (id == gf_mods[i].id && (gf_mods[i].rev == 0xff ||
361 rev == gf_mods[i].rev))
271 break; 362 break;
272 363
273 if (i < ARRAY_SIZE(gf_mods)) { 364 if (i < ARRAY_SIZE(gf_mods)) {
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index 13b7eaa45fd0..2abe95d0401f 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -304,6 +304,13 @@ static struct regulator_consumer_supply wallvdd_consumers[] = {
304 REGULATOR_SUPPLY("SPKVDDL", "1-001a"), 304 REGULATOR_SUPPLY("SPKVDDL", "1-001a"),
305 REGULATOR_SUPPLY("SPKVDDR", "1-001a"), 305 REGULATOR_SUPPLY("SPKVDDR", "1-001a"),
306 306
307 REGULATOR_SUPPLY("SPKVDDL", "spi0.1"),
308 REGULATOR_SUPPLY("SPKVDDR", "spi0.1"),
309 REGULATOR_SUPPLY("SPKVDDL", "wm5102-codec"),
310 REGULATOR_SUPPLY("SPKVDDR", "wm5102-codec"),
311 REGULATOR_SUPPLY("SPKVDDL", "wm5110-codec"),
312 REGULATOR_SUPPLY("SPKVDDR", "wm5110-codec"),
313
307 REGULATOR_SUPPLY("DC1VDD", "0-0034"), 314 REGULATOR_SUPPLY("DC1VDD", "0-0034"),
308 REGULATOR_SUPPLY("DC2VDD", "0-0034"), 315 REGULATOR_SUPPLY("DC2VDD", "0-0034"),
309 REGULATOR_SUPPLY("DC3VDD", "0-0034"), 316 REGULATOR_SUPPLY("DC3VDD", "0-0034"),
@@ -597,6 +604,7 @@ static struct s3c2410_platform_i2c i2c0_pdata = {
597static struct regulator_consumer_supply pvdd_1v2_consumers[] __devinitdata = { 604static struct regulator_consumer_supply pvdd_1v2_consumers[] __devinitdata = {
598 REGULATOR_SUPPLY("DCVDD", "spi0.0"), 605 REGULATOR_SUPPLY("DCVDD", "spi0.0"),
599 REGULATOR_SUPPLY("AVDD", "spi0.0"), 606 REGULATOR_SUPPLY("AVDD", "spi0.0"),
607 REGULATOR_SUPPLY("AVDD", "spi0.1"),
600}; 608};
601 609
602static struct regulator_init_data pvdd_1v2 __devinitdata = { 610static struct regulator_init_data pvdd_1v2 __devinitdata = {
@@ -621,6 +629,24 @@ static struct regulator_consumer_supply pvdd_1v8_consumers[] __devinitdata = {
621 REGULATOR_SUPPLY("DCVDD", "1-001a"), 629 REGULATOR_SUPPLY("DCVDD", "1-001a"),
622 REGULATOR_SUPPLY("AVDD", "1-001a"), 630 REGULATOR_SUPPLY("AVDD", "1-001a"),
623 REGULATOR_SUPPLY("DBVDD", "spi0.0"), 631 REGULATOR_SUPPLY("DBVDD", "spi0.0"),
632
633 REGULATOR_SUPPLY("DBVDD", "1-003a"),
634 REGULATOR_SUPPLY("LDOVDD", "1-003a"),
635 REGULATOR_SUPPLY("CPVDD", "1-003a"),
636 REGULATOR_SUPPLY("AVDD", "1-003a"),
637 REGULATOR_SUPPLY("DBVDD1", "spi0.1"),
638 REGULATOR_SUPPLY("DBVDD2", "spi0.1"),
639 REGULATOR_SUPPLY("DBVDD3", "spi0.1"),
640 REGULATOR_SUPPLY("LDOVDD", "spi0.1"),
641 REGULATOR_SUPPLY("CPVDD", "spi0.1"),
642
643 REGULATOR_SUPPLY("DBVDD2", "wm5102-codec"),
644 REGULATOR_SUPPLY("DBVDD3", "wm5102-codec"),
645 REGULATOR_SUPPLY("CPVDD", "wm5102-codec"),
646
647 REGULATOR_SUPPLY("DBVDD2", "wm5110-codec"),
648 REGULATOR_SUPPLY("DBVDD3", "wm5110-codec"),
649 REGULATOR_SUPPLY("CPVDD", "wm5110-codec"),
624}; 650};
625 651
626static struct regulator_init_data pvdd_1v8 __devinitdata = { 652static struct regulator_init_data pvdd_1v8 __devinitdata = {
@@ -685,6 +711,7 @@ static struct i2c_board_info i2c_devs1[] __devinitdata = {
685 .irq = S3C_EINT(0), 711 .irq = S3C_EINT(0),
686 .platform_data = &glenfarclas_pmic_pdata }, 712 .platform_data = &glenfarclas_pmic_pdata },
687 713
714 { I2C_BOARD_INFO("wlf-gf-module", 0x20) },
688 { I2C_BOARD_INFO("wlf-gf-module", 0x22) }, 715 { I2C_BOARD_INFO("wlf-gf-module", 0x22) },
689 { I2C_BOARD_INFO("wlf-gf-module", 0x24) }, 716 { I2C_BOARD_INFO("wlf-gf-module", 0x24) },
690 { I2C_BOARD_INFO("wlf-gf-module", 0x25) }, 717 { I2C_BOARD_INFO("wlf-gf-module", 0x25) },
@@ -810,7 +837,7 @@ static void __init crag6410_machine_init(void)
810 i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); 837 i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));
811 838
812 samsung_keypad_set_platdata(&crag6410_keypad_data); 839 samsung_keypad_set_platdata(&crag6410_keypad_data);
813 s3c64xx_spi0_set_platdata(NULL, 0, 1); 840 s3c64xx_spi0_set_platdata(NULL, 0, 2);
814 841
815 platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices)); 842 platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices));
816 843