aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-12 15:14:06 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-12 15:14:06 -0500
commitcf4af01221579a4e895f43dbfc47598fbfc5a731 (patch)
treeadc48fdc6ffb9d3d2a32a0f83df9e66066549963 /arch/arm/mach-s3c64xx
parentd027db132b395dabfac208e52a7e510e441bb9d2 (diff)
parent006309132f57ccc20dd69e971e2041ebd2cbb7e5 (diff)
Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board updates from Olof Johansson: "This branch contains a set of various board updates for ARM platforms. A few shmobile platforms that are stale have been removed, some defconfig updates for various boards selecting new features such as pinctrl subsystem support, and various updates enabling peripherals, etc." Fix up conflicts mostly as per Olof. * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (58 commits) ARM: S3C64XX: Add dummy supplies for Glenfarclas LDOs ARM: S3C64XX: Add registration of WM2200 Bells device on Cragganmore ARM: kirkwood: Add Plat'Home OpenBlocks A6 support ARM: Dove: update defconfig ARM: Kirkwood: update defconfig for new boards arm: orion5x: add DT related options in defconfig arm: orion5x: convert 'LaCie Ethernet Disk mini v2' to Device Tree arm: orion5x: basic Device Tree support arm: orion5x: mechanical defconfig update ARM: kirkwood: Add support for the MPL CEC4 arm: kirkwood: add support for ZyXEL NSA310 ARM: Kirkwood: new board USI Topkick ARM: kirkwood: use gpio-fan DT binding on lsxl ARM: Kirkwood: add Netspace boards to defconfig ARM: kirkwood: DT board setup for Network Space Mini v2 ARM: kirkwood: DT board setup for Network Space Lite v2 ARM: kirkwood: DT board setup for Network Space v2 and parents leds: leds-ns2: add device tree binding ARM: Kirkwood: Enable the second I2C bus ARM: mmp: select pinctrl driver ...
Diffstat (limited to 'arch/arm/mach-s3c64xx')
-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.c49
3 files changed, 164 insertions, 28 deletions
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..701f421de1a8 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -287,16 +287,21 @@ static struct platform_device littlemill_device = {
287 .id = -1, 287 .id = -1,
288}; 288};
289 289
290static struct platform_device bells_wm5102_device = { 290static struct platform_device bells_wm2200_device = {
291 .name = "bells", 291 .name = "bells",
292 .id = 0, 292 .id = 0,
293}; 293};
294 294
295static struct platform_device bells_wm5110_device = { 295static struct platform_device bells_wm5102_device = {
296 .name = "bells", 296 .name = "bells",
297 .id = 1, 297 .id = 1,
298}; 298};
299 299
300static struct platform_device bells_wm5110_device = {
301 .name = "bells",
302 .id = 2,
303};
304
300static struct regulator_consumer_supply wallvdd_consumers[] = { 305static struct regulator_consumer_supply wallvdd_consumers[] = {
301 REGULATOR_SUPPLY("SPKVDD", "1-001a"), 306 REGULATOR_SUPPLY("SPKVDD", "1-001a"),
302 REGULATOR_SUPPLY("SPKVDD1", "1-001a"), 307 REGULATOR_SUPPLY("SPKVDD1", "1-001a"),
@@ -304,6 +309,13 @@ static struct regulator_consumer_supply wallvdd_consumers[] = {
304 REGULATOR_SUPPLY("SPKVDDL", "1-001a"), 309 REGULATOR_SUPPLY("SPKVDDL", "1-001a"),
305 REGULATOR_SUPPLY("SPKVDDR", "1-001a"), 310 REGULATOR_SUPPLY("SPKVDDR", "1-001a"),
306 311
312 REGULATOR_SUPPLY("SPKVDDL", "spi0.1"),
313 REGULATOR_SUPPLY("SPKVDDR", "spi0.1"),
314 REGULATOR_SUPPLY("SPKVDDL", "wm5102-codec"),
315 REGULATOR_SUPPLY("SPKVDDR", "wm5102-codec"),
316 REGULATOR_SUPPLY("SPKVDDL", "wm5110-codec"),
317 REGULATOR_SUPPLY("SPKVDDR", "wm5110-codec"),
318
307 REGULATOR_SUPPLY("DC1VDD", "0-0034"), 319 REGULATOR_SUPPLY("DC1VDD", "0-0034"),
308 REGULATOR_SUPPLY("DC2VDD", "0-0034"), 320 REGULATOR_SUPPLY("DC2VDD", "0-0034"),
309 REGULATOR_SUPPLY("DC3VDD", "0-0034"), 321 REGULATOR_SUPPLY("DC3VDD", "0-0034"),
@@ -321,6 +333,16 @@ static struct regulator_consumer_supply wallvdd_consumers[] = {
321 REGULATOR_SUPPLY("DC1VDD", "1-0034"), 333 REGULATOR_SUPPLY("DC1VDD", "1-0034"),
322 REGULATOR_SUPPLY("DC2VDD", "1-0034"), 334 REGULATOR_SUPPLY("DC2VDD", "1-0034"),
323 REGULATOR_SUPPLY("DC3VDD", "1-0034"), 335 REGULATOR_SUPPLY("DC3VDD", "1-0034"),
336 REGULATOR_SUPPLY("LDO1VDD", "1-0034"),
337 REGULATOR_SUPPLY("LDO2VDD", "1-0034"),
338 REGULATOR_SUPPLY("LDO4VDD", "1-0034"),
339 REGULATOR_SUPPLY("LDO5VDD", "1-0034"),
340 REGULATOR_SUPPLY("LDO6VDD", "1-0034"),
341 REGULATOR_SUPPLY("LDO7VDD", "1-0034"),
342 REGULATOR_SUPPLY("LDO8VDD", "1-0034"),
343 REGULATOR_SUPPLY("LDO9VDD", "1-0034"),
344 REGULATOR_SUPPLY("LDO10VDD", "1-0034"),
345 REGULATOR_SUPPLY("LDO11VDD", "1-0034"),
324}; 346};
325 347
326static struct regulator_init_data wallvdd_data = { 348static struct regulator_init_data wallvdd_data = {
@@ -369,6 +391,7 @@ static struct platform_device *crag6410_devices[] __initdata = {
369 &tobermory_device, 391 &tobermory_device,
370 &littlemill_device, 392 &littlemill_device,
371 &lowland_device, 393 &lowland_device,
394 &bells_wm2200_device,
372 &bells_wm5102_device, 395 &bells_wm5102_device,
373 &bells_wm5110_device, 396 &bells_wm5110_device,
374 &wallvdd_device, 397 &wallvdd_device,
@@ -597,6 +620,7 @@ static struct s3c2410_platform_i2c i2c0_pdata = {
597static struct regulator_consumer_supply pvdd_1v2_consumers[] __devinitdata = { 620static struct regulator_consumer_supply pvdd_1v2_consumers[] __devinitdata = {
598 REGULATOR_SUPPLY("DCVDD", "spi0.0"), 621 REGULATOR_SUPPLY("DCVDD", "spi0.0"),
599 REGULATOR_SUPPLY("AVDD", "spi0.0"), 622 REGULATOR_SUPPLY("AVDD", "spi0.0"),
623 REGULATOR_SUPPLY("AVDD", "spi0.1"),
600}; 624};
601 625
602static struct regulator_init_data pvdd_1v2 __devinitdata = { 626static struct regulator_init_data pvdd_1v2 __devinitdata = {
@@ -621,6 +645,24 @@ static struct regulator_consumer_supply pvdd_1v8_consumers[] __devinitdata = {
621 REGULATOR_SUPPLY("DCVDD", "1-001a"), 645 REGULATOR_SUPPLY("DCVDD", "1-001a"),
622 REGULATOR_SUPPLY("AVDD", "1-001a"), 646 REGULATOR_SUPPLY("AVDD", "1-001a"),
623 REGULATOR_SUPPLY("DBVDD", "spi0.0"), 647 REGULATOR_SUPPLY("DBVDD", "spi0.0"),
648
649 REGULATOR_SUPPLY("DBVDD", "1-003a"),
650 REGULATOR_SUPPLY("LDOVDD", "1-003a"),
651 REGULATOR_SUPPLY("CPVDD", "1-003a"),
652 REGULATOR_SUPPLY("AVDD", "1-003a"),
653 REGULATOR_SUPPLY("DBVDD1", "spi0.1"),
654 REGULATOR_SUPPLY("DBVDD2", "spi0.1"),
655 REGULATOR_SUPPLY("DBVDD3", "spi0.1"),
656 REGULATOR_SUPPLY("LDOVDD", "spi0.1"),
657 REGULATOR_SUPPLY("CPVDD", "spi0.1"),
658
659 REGULATOR_SUPPLY("DBVDD2", "wm5102-codec"),
660 REGULATOR_SUPPLY("DBVDD3", "wm5102-codec"),
661 REGULATOR_SUPPLY("CPVDD", "wm5102-codec"),
662
663 REGULATOR_SUPPLY("DBVDD2", "wm5110-codec"),
664 REGULATOR_SUPPLY("DBVDD3", "wm5110-codec"),
665 REGULATOR_SUPPLY("CPVDD", "wm5110-codec"),
624}; 666};
625 667
626static struct regulator_init_data pvdd_1v8 __devinitdata = { 668static struct regulator_init_data pvdd_1v8 __devinitdata = {
@@ -685,6 +727,7 @@ static struct i2c_board_info i2c_devs1[] __devinitdata = {
685 .irq = S3C_EINT(0), 727 .irq = S3C_EINT(0),
686 .platform_data = &glenfarclas_pmic_pdata }, 728 .platform_data = &glenfarclas_pmic_pdata },
687 729
730 { I2C_BOARD_INFO("wlf-gf-module", 0x20) },
688 { I2C_BOARD_INFO("wlf-gf-module", 0x22) }, 731 { I2C_BOARD_INFO("wlf-gf-module", 0x22) },
689 { I2C_BOARD_INFO("wlf-gf-module", 0x24) }, 732 { I2C_BOARD_INFO("wlf-gf-module", 0x24) },
690 { I2C_BOARD_INFO("wlf-gf-module", 0x25) }, 733 { I2C_BOARD_INFO("wlf-gf-module", 0x25) },
@@ -810,7 +853,7 @@ static void __init crag6410_machine_init(void)
810 i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); 853 i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));
811 854
812 samsung_keypad_set_platdata(&crag6410_keypad_data); 855 samsung_keypad_set_platdata(&crag6410_keypad_data);
813 s3c64xx_spi0_set_platdata(NULL, 0, 1); 856 s3c64xx_spi0_set_platdata(NULL, 0, 2);
814 857
815 platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices)); 858 platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices));
816 859