diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2011-07-24 15:59:34 -0400 |
---|---|---|
committer | Paolo Pisati <paolo.pisati@canonical.com> | 2012-08-17 04:18:19 -0400 |
commit | c9bd3db79c1804865bde5e0729a24e650a9c8608 (patch) | |
tree | 12ecbf9621d9c7aa73e6bcb853850f1be81a35ae | |
parent | 6d1b0d20a310030d0f0155d9e76e4d47747efc0b (diff) |
Subject: [PATCH 040/104] OMAP3: Move common regulator configuration to twl-common
Some regulator config can be moved out from board files,
since they are close to identical.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
-rw-r--r-- | arch/arm/mach-omap2/board-3430sdp.c | 51 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-cm-t35.c | 41 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-devkit8000.c | 21 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-igep0020.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 44 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3evm.c | 48 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3pandora.c | 44 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3stalker.c | 48 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3touchbook.c | 40 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-overo.c | 44 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 25 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-zoom-peripherals.c | 41 | ||||
-rw-r--r-- | arch/arm/mach-omap2/twl-common.c | 42 | ||||
-rw-r--r-- | arch/arm/mach-omap2/twl-common.h | 5 |
14 files changed, 109 insertions, 413 deletions
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index fe35ebd7886..77662ee140b 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -284,16 +284,6 @@ static struct regulator_consumer_supply sdp3430_vaux3_supplies[] = { | |||
284 | REGULATOR_SUPPLY("vcc", "spi1.0"), | 284 | REGULATOR_SUPPLY("vcc", "spi1.0"), |
285 | }; | 285 | }; |
286 | 286 | ||
287 | static struct regulator_consumer_supply sdp3430_vdda_dac_supplies[] = { | ||
288 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"), | ||
289 | }; | ||
290 | |||
291 | /* VPLL2 for digital video outputs */ | ||
292 | static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = { | ||
293 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
294 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
295 | }; | ||
296 | |||
297 | static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = { | 287 | static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = { |
298 | REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"), | 288 | REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"), |
299 | }; | 289 | }; |
@@ -410,36 +400,6 @@ static struct regulator_init_data sdp3430_vsim = { | |||
410 | .consumer_supplies = sdp3430_vsim_supplies, | 400 | .consumer_supplies = sdp3430_vsim_supplies, |
411 | }; | 401 | }; |
412 | 402 | ||
413 | /* VDAC for DSS driving S-Video */ | ||
414 | static struct regulator_init_data sdp3430_vdac = { | ||
415 | .constraints = { | ||
416 | .min_uV = 1800000, | ||
417 | .max_uV = 1800000, | ||
418 | .apply_uV = true, | ||
419 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
420 | | REGULATOR_MODE_STANDBY, | ||
421 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
422 | | REGULATOR_CHANGE_STATUS, | ||
423 | }, | ||
424 | .num_consumer_supplies = ARRAY_SIZE(sdp3430_vdda_dac_supplies), | ||
425 | .consumer_supplies = sdp3430_vdda_dac_supplies, | ||
426 | }; | ||
427 | |||
428 | static struct regulator_init_data sdp3430_vpll2 = { | ||
429 | .constraints = { | ||
430 | .name = "VDVI", | ||
431 | .min_uV = 1800000, | ||
432 | .max_uV = 1800000, | ||
433 | .apply_uV = true, | ||
434 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
435 | | REGULATOR_MODE_STANDBY, | ||
436 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
437 | | REGULATOR_CHANGE_STATUS, | ||
438 | }, | ||
439 | .num_consumer_supplies = ARRAY_SIZE(sdp3430_vpll2_supplies), | ||
440 | .consumer_supplies = sdp3430_vpll2_supplies, | ||
441 | }; | ||
442 | |||
443 | static struct twl4030_platform_data sdp3430_twldata = { | 403 | static struct twl4030_platform_data sdp3430_twldata = { |
444 | /* platform_data for children goes here */ | 404 | /* platform_data for children goes here */ |
445 | .gpio = &sdp3430_gpio_data, | 405 | .gpio = &sdp3430_gpio_data, |
@@ -452,16 +412,19 @@ static struct twl4030_platform_data sdp3430_twldata = { | |||
452 | .vmmc1 = &sdp3430_vmmc1, | 412 | .vmmc1 = &sdp3430_vmmc1, |
453 | .vmmc2 = &sdp3430_vmmc2, | 413 | .vmmc2 = &sdp3430_vmmc2, |
454 | .vsim = &sdp3430_vsim, | 414 | .vsim = &sdp3430_vsim, |
455 | .vdac = &sdp3430_vdac, | ||
456 | .vpll2 = &sdp3430_vpll2, | ||
457 | }; | 415 | }; |
458 | 416 | ||
459 | static int __init omap3430_i2c_init(void) | 417 | static int __init omap3430_i2c_init(void) |
460 | { | 418 | { |
461 | /* i2c1 for PMIC only */ | 419 | /* i2c1 for PMIC only */ |
462 | omap3_pmic_get_config(&sdp3430_twldata, | 420 | omap3_pmic_get_config(&sdp3430_twldata, |
463 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | | 421 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | |
464 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, 0); | 422 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, |
423 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
424 | sdp3430_twldata.vdac->constraints.apply_uV = true; | ||
425 | sdp3430_twldata.vpll2->constraints.apply_uV = true; | ||
426 | sdp3430_twldata.vpll2->constraints.name = "VDVI"; | ||
427 | |||
465 | omap3_pmic_init("twl4030", &sdp3430_twldata); | 428 | omap3_pmic_init("twl4030", &sdp3430_twldata); |
466 | 429 | ||
467 | /* i2c2 on camera connector (for sensor control) and optional isp1301 */ | 430 | /* i2c2 on camera connector (for sensor control) and optional isp1301 */ |
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index 4b02b0f0781..d55454170cf 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -347,9 +347,6 @@ static struct regulator_consumer_supply cm_t35_vsim_supply = { | |||
347 | .supply = "vmmc_aux", | 347 | .supply = "vmmc_aux", |
348 | }; | 348 | }; |
349 | 349 | ||
350 | static struct regulator_consumer_supply cm_t35_vdac_supply = | ||
351 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
352 | |||
353 | static struct regulator_consumer_supply cm_t35_vdvi_supply = | 350 | static struct regulator_consumer_supply cm_t35_vdvi_supply = |
354 | REGULATOR_SUPPLY("vdvi", "omapdss"); | 351 | REGULATOR_SUPPLY("vdvi", "omapdss"); |
355 | 352 | ||
@@ -383,35 +380,6 @@ static struct regulator_init_data cm_t35_vsim = { | |||
383 | .consumer_supplies = &cm_t35_vsim_supply, | 380 | .consumer_supplies = &cm_t35_vsim_supply, |
384 | }; | 381 | }; |
385 | 382 | ||
386 | /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ | ||
387 | static struct regulator_init_data cm_t35_vdac = { | ||
388 | .constraints = { | ||
389 | .min_uV = 1800000, | ||
390 | .max_uV = 1800000, | ||
391 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
392 | | REGULATOR_MODE_STANDBY, | ||
393 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
394 | | REGULATOR_CHANGE_STATUS, | ||
395 | }, | ||
396 | .num_consumer_supplies = 1, | ||
397 | .consumer_supplies = &cm_t35_vdac_supply, | ||
398 | }; | ||
399 | |||
400 | /* VPLL2 for digital video outputs */ | ||
401 | static struct regulator_init_data cm_t35_vpll2 = { | ||
402 | .constraints = { | ||
403 | .name = "VDVI", | ||
404 | .min_uV = 1800000, | ||
405 | .max_uV = 1800000, | ||
406 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
407 | | REGULATOR_MODE_STANDBY, | ||
408 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
409 | | REGULATOR_CHANGE_STATUS, | ||
410 | }, | ||
411 | .num_consumer_supplies = 1, | ||
412 | .consumer_supplies = &cm_t35_vdvi_supply, | ||
413 | }; | ||
414 | |||
415 | static uint32_t cm_t35_keymap[] = { | 383 | static uint32_t cm_t35_keymap[] = { |
416 | KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_LEFT), | 384 | KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_LEFT), |
417 | KEY(1, 0, KEY_UP), KEY(1, 1, KEY_ENTER), KEY(1, 2, KEY_DOWN), | 385 | KEY(1, 0, KEY_UP), KEY(1, 1, KEY_ENTER), KEY(1, 2, KEY_DOWN), |
@@ -499,13 +467,16 @@ static struct twl4030_platform_data cm_t35_twldata = { | |||
499 | .gpio = &cm_t35_gpio_data, | 467 | .gpio = &cm_t35_gpio_data, |
500 | .vmmc1 = &cm_t35_vmmc1, | 468 | .vmmc1 = &cm_t35_vmmc1, |
501 | .vsim = &cm_t35_vsim, | 469 | .vsim = &cm_t35_vsim, |
502 | .vdac = &cm_t35_vdac, | ||
503 | .vpll2 = &cm_t35_vpll2, | ||
504 | }; | 470 | }; |
505 | 471 | ||
506 | static void __init cm_t35_init_i2c(void) | 472 | static void __init cm_t35_init_i2c(void) |
507 | { | 473 | { |
508 | omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, 0); | 474 | omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, |
475 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
476 | cm_t35_twldata.vpll2->constraints.name = "VDVI"; | ||
477 | cm_t35_twldata.vpll2->num_consumer_supplies = 1; | ||
478 | cm_t35_twldata.vpll2->consumer_supplies = &cm_t35_vdvi_supply; | ||
479 | |||
509 | omap3_pmic_init("tps65930", &cm_t35_twldata); | 480 | omap3_pmic_init("tps65930", &cm_t35_twldata); |
510 | } | 481 | } |
511 | 482 | ||
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 9d94776d0dd..3421797797d 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -188,9 +188,6 @@ static struct omap_dss_board_info devkit8000_dss_data = { | |||
188 | .default_device = &devkit8000_lcd_device, | 188 | .default_device = &devkit8000_lcd_device, |
189 | }; | 189 | }; |
190 | 190 | ||
191 | static struct regulator_consumer_supply devkit8000_vdda_dac_supply = | ||
192 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
193 | |||
194 | static uint32_t board_keymap[] = { | 191 | static uint32_t board_keymap[] = { |
195 | KEY(0, 0, KEY_1), | 192 | KEY(0, 0, KEY_1), |
196 | KEY(1, 0, KEY_2), | 193 | KEY(1, 0, KEY_2), |
@@ -290,20 +287,6 @@ static struct regulator_init_data devkit8000_vmmc1 = { | |||
290 | .consumer_supplies = &devkit8000_vmmc1_supply, | 287 | .consumer_supplies = &devkit8000_vmmc1_supply, |
291 | }; | 288 | }; |
292 | 289 | ||
293 | /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ | ||
294 | static struct regulator_init_data devkit8000_vdac = { | ||
295 | .constraints = { | ||
296 | .min_uV = 1800000, | ||
297 | .max_uV = 1800000, | ||
298 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
299 | | REGULATOR_MODE_STANDBY, | ||
300 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
301 | | REGULATOR_CHANGE_STATUS, | ||
302 | }, | ||
303 | .num_consumer_supplies = 1, | ||
304 | .consumer_supplies = &devkit8000_vdda_dac_supply, | ||
305 | }; | ||
306 | |||
307 | /* VPLL1 for digital video outputs */ | 290 | /* VPLL1 for digital video outputs */ |
308 | static struct regulator_init_data devkit8000_vpll1 = { | 291 | static struct regulator_init_data devkit8000_vpll1 = { |
309 | .constraints = { | 292 | .constraints = { |
@@ -337,7 +320,6 @@ static struct twl4030_platform_data devkit8000_twldata = { | |||
337 | /* platform_data for children goes here */ | 320 | /* platform_data for children goes here */ |
338 | .gpio = &devkit8000_gpio_data, | 321 | .gpio = &devkit8000_gpio_data, |
339 | .vmmc1 = &devkit8000_vmmc1, | 322 | .vmmc1 = &devkit8000_vmmc1, |
340 | .vdac = &devkit8000_vdac, | ||
341 | .vpll1 = &devkit8000_vpll1, | 323 | .vpll1 = &devkit8000_vpll1, |
342 | .vio = &devkit8000_vio, | 324 | .vio = &devkit8000_vio, |
343 | .keypad = &devkit8000_kp_data, | 325 | .keypad = &devkit8000_kp_data, |
@@ -346,7 +328,8 @@ static struct twl4030_platform_data devkit8000_twldata = { | |||
346 | static int __init devkit8000_i2c_init(void) | 328 | static int __init devkit8000_i2c_init(void) |
347 | { | 329 | { |
348 | omap3_pmic_get_config(&devkit8000_twldata, | 330 | omap3_pmic_get_config(&devkit8000_twldata, |
349 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0); | 331 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, |
332 | TWL_COMMON_REGULATOR_VDAC); | ||
350 | omap3_pmic_init("tps65930", &devkit8000_twldata); | 333 | omap3_pmic_init("tps65930", &devkit8000_twldata); |
351 | /* Bus 3 is attached to the DVI port where devices like the pico DLP | 334 | /* Bus 3 is attached to the DVI port where devices like the pico DLP |
352 | * projector don't work reliably with 400kHz */ | 335 | * projector don't work reliably with 400kHz */ |
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 718a5be1a47..8298a809849 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -477,26 +477,6 @@ static struct omap_dss_board_info igep2_dss_data = { | |||
477 | .default_device = &igep2_dvi_device, | 477 | .default_device = &igep2_dvi_device, |
478 | }; | 478 | }; |
479 | 479 | ||
480 | static struct regulator_consumer_supply igep2_vpll2_supplies[] = { | ||
481 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
482 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
483 | }; | ||
484 | |||
485 | static struct regulator_init_data igep2_vpll2 = { | ||
486 | .constraints = { | ||
487 | .name = "VDVI", | ||
488 | .min_uV = 1800000, | ||
489 | .max_uV = 1800000, | ||
490 | .apply_uV = true, | ||
491 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
492 | | REGULATOR_MODE_STANDBY, | ||
493 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
494 | | REGULATOR_CHANGE_STATUS, | ||
495 | }, | ||
496 | .num_consumer_supplies = ARRAY_SIZE(igep2_vpll2_supplies), | ||
497 | .consumer_supplies = igep2_vpll2_supplies, | ||
498 | }; | ||
499 | |||
500 | static void __init igep2_display_init(void) | 480 | static void __init igep2_display_init(void) |
501 | { | 481 | { |
502 | int err = gpio_request_one(IGEP2_GPIO_DVI_PUP, GPIOF_OUT_INIT_HIGH, | 482 | int err = gpio_request_one(IGEP2_GPIO_DVI_PUP, GPIOF_OUT_INIT_HIGH, |
@@ -577,9 +557,11 @@ static void __init igep_i2c_init(void) | |||
577 | pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret); | 557 | pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret); |
578 | 558 | ||
579 | igep_twldata.keypad = &igep2_keypad_pdata; | 559 | igep_twldata.keypad = &igep2_keypad_pdata; |
580 | igep_twldata.vpll2 = &igep2_vpll2; | 560 | /* Get common pmic data */ |
581 | /* Use common codec data */ | 561 | omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_AUDIO, |
582 | omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_AUDIO, 0); | 562 | TWL_COMMON_REGULATOR_VPLL2); |
563 | igep_twldata.vpll2->constraints.apply_uV = true; | ||
564 | igep_twldata.vpll2->constraints.name = "VDVI"; | ||
583 | } | 565 | } |
584 | 566 | ||
585 | omap3_pmic_init("twl4030", &igep_twldata); | 567 | omap3_pmic_init("twl4030", &igep_twldata); |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index f897729e52a..1f051be32c9 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -238,15 +238,6 @@ static struct omap_dss_board_info beagle_dss_data = { | |||
238 | .default_device = &beagle_dvi_device, | 238 | .default_device = &beagle_dvi_device, |
239 | }; | 239 | }; |
240 | 240 | ||
241 | static struct regulator_consumer_supply beagle_vdac_supply = | ||
242 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
243 | |||
244 | static struct regulator_consumer_supply beagle_vdds_supplies[] = { | ||
245 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
246 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
247 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), | ||
248 | }; | ||
249 | |||
250 | static void __init beagle_display_init(void) | 241 | static void __init beagle_display_init(void) |
251 | { | 242 | { |
252 | int r; | 243 | int r; |
@@ -377,41 +368,11 @@ static struct regulator_init_data beagle_vsim = { | |||
377 | .consumer_supplies = &beagle_vsim_supply, | 368 | .consumer_supplies = &beagle_vsim_supply, |
378 | }; | 369 | }; |
379 | 370 | ||
380 | /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ | ||
381 | static struct regulator_init_data beagle_vdac = { | ||
382 | .constraints = { | ||
383 | .min_uV = 1800000, | ||
384 | .max_uV = 1800000, | ||
385 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
386 | | REGULATOR_MODE_STANDBY, | ||
387 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
388 | | REGULATOR_CHANGE_STATUS, | ||
389 | }, | ||
390 | .num_consumer_supplies = 1, | ||
391 | .consumer_supplies = &beagle_vdac_supply, | ||
392 | }; | ||
393 | |||
394 | /* VPLL2 for digital video outputs */ | ||
395 | static struct regulator_init_data beagle_vpll2 = { | ||
396 | .constraints = { | ||
397 | .min_uV = 1800000, | ||
398 | .max_uV = 1800000, | ||
399 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
400 | | REGULATOR_MODE_STANDBY, | ||
401 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
402 | | REGULATOR_CHANGE_STATUS, | ||
403 | }, | ||
404 | .num_consumer_supplies = ARRAY_SIZE(beagle_vdds_supplies), | ||
405 | .consumer_supplies = beagle_vdds_supplies, | ||
406 | }; | ||
407 | |||
408 | static struct twl4030_platform_data beagle_twldata = { | 371 | static struct twl4030_platform_data beagle_twldata = { |
409 | /* platform_data for children goes here */ | 372 | /* platform_data for children goes here */ |
410 | .gpio = &beagle_gpio_data, | 373 | .gpio = &beagle_gpio_data, |
411 | .vmmc1 = &beagle_vmmc1, | 374 | .vmmc1 = &beagle_vmmc1, |
412 | .vsim = &beagle_vsim, | 375 | .vsim = &beagle_vsim, |
413 | .vdac = &beagle_vdac, | ||
414 | .vpll2 = &beagle_vpll2, | ||
415 | }; | 376 | }; |
416 | 377 | ||
417 | static struct i2c_board_info __initdata beagle_i2c_eeprom[] = { | 378 | static struct i2c_board_info __initdata beagle_i2c_eeprom[] = { |
@@ -423,7 +384,10 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = { | |||
423 | static int __init omap3_beagle_i2c_init(void) | 384 | static int __init omap3_beagle_i2c_init(void) |
424 | { | 385 | { |
425 | omap3_pmic_get_config(&beagle_twldata, | 386 | omap3_pmic_get_config(&beagle_twldata, |
426 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0); | 387 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, |
388 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
389 | beagle_twldata.vpll2->constraints.name = "VDVI"; | ||
390 | |||
427 | omap3_pmic_init("twl4030", &beagle_twldata); | 391 | omap3_pmic_init("twl4030", &beagle_twldata); |
428 | /* Bus 3 is attached to the DVI port where devices like the pico DLP | 392 | /* Bus 3 is attached to the DVI port where devices like the pico DLP |
429 | * projector don't work reliably with 400kHz */ | 393 | * projector don't work reliably with 400kHz */ |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index 4960769171d..5f523749e5c 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -435,45 +435,6 @@ static struct twl4030_keypad_data omap3evm_kp_data = { | |||
435 | .rep = 1, | 435 | .rep = 1, |
436 | }; | 436 | }; |
437 | 437 | ||
438 | static struct regulator_consumer_supply omap3_evm_vdda_dac_supply = | ||
439 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
440 | |||
441 | /* VDAC for DSS driving S-Video */ | ||
442 | static struct regulator_init_data omap3_evm_vdac = { | ||
443 | .constraints = { | ||
444 | .min_uV = 1800000, | ||
445 | .max_uV = 1800000, | ||
446 | .apply_uV = true, | ||
447 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
448 | | REGULATOR_MODE_STANDBY, | ||
449 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
450 | | REGULATOR_CHANGE_STATUS, | ||
451 | }, | ||
452 | .num_consumer_supplies = 1, | ||
453 | .consumer_supplies = &omap3_evm_vdda_dac_supply, | ||
454 | }; | ||
455 | |||
456 | /* VPLL2 for digital video outputs */ | ||
457 | static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = { | ||
458 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
459 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
460 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), | ||
461 | }; | ||
462 | |||
463 | static struct regulator_init_data omap3_evm_vpll2 = { | ||
464 | .constraints = { | ||
465 | .min_uV = 1800000, | ||
466 | .max_uV = 1800000, | ||
467 | .apply_uV = true, | ||
468 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
469 | | REGULATOR_MODE_STANDBY, | ||
470 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
471 | | REGULATOR_CHANGE_STATUS, | ||
472 | }, | ||
473 | .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdds_supplies), | ||
474 | .consumer_supplies = omap3_evm_vdds_supplies, | ||
475 | }; | ||
476 | |||
477 | /* ads7846 on SPI */ | 438 | /* ads7846 on SPI */ |
478 | static struct regulator_consumer_supply omap3evm_vio_supply = | 439 | static struct regulator_consumer_supply omap3evm_vio_supply = |
479 | REGULATOR_SUPPLY("vcc", "spi1.0"); | 440 | REGULATOR_SUPPLY("vcc", "spi1.0"); |
@@ -538,8 +499,6 @@ static struct twl4030_platform_data omap3evm_twldata = { | |||
538 | /* platform_data for children goes here */ | 499 | /* platform_data for children goes here */ |
539 | .keypad = &omap3evm_kp_data, | 500 | .keypad = &omap3evm_kp_data, |
540 | .gpio = &omap3evm_gpio_data, | 501 | .gpio = &omap3evm_gpio_data, |
541 | .vdac = &omap3_evm_vdac, | ||
542 | .vpll2 = &omap3_evm_vpll2, | ||
543 | .vio = &omap3evm_vio, | 502 | .vio = &omap3evm_vio, |
544 | .vmmc1 = &omap3evm_vmmc1, | 503 | .vmmc1 = &omap3evm_vmmc1, |
545 | .vsim = &omap3evm_vsim, | 504 | .vsim = &omap3evm_vsim, |
@@ -548,8 +507,11 @@ static struct twl4030_platform_data omap3evm_twldata = { | |||
548 | static int __init omap3_evm_i2c_init(void) | 507 | static int __init omap3_evm_i2c_init(void) |
549 | { | 508 | { |
550 | omap3_pmic_get_config(&omap3evm_twldata, | 509 | omap3_pmic_get_config(&omap3evm_twldata, |
551 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | | 510 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | |
552 | TWL_COMMON_PDATA_AUDIO, 0); | 511 | TWL_COMMON_PDATA_AUDIO, |
512 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
513 | omap3evm_twldata.vdac->constraints.apply_uV = true; | ||
514 | omap3evm_twldata.vpll2->constraints.apply_uV = true; | ||
553 | omap3_pmic_init("twl4030", &omap3evm_twldata); | 515 | omap3_pmic_init("twl4030", &omap3evm_twldata); |
554 | omap_register_i2c_bus(2, 400, NULL, 0); | 516 | omap_register_i2c_bus(2, 400, NULL, 0); |
555 | omap_register_i2c_bus(3, 400, NULL, 0); | 517 | omap_register_i2c_bus(3, 400, NULL, 0); |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 7bfe109c090..db8b2064a0f 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -329,9 +329,6 @@ static struct regulator_consumer_supply pandora_vmmc2_supply = | |||
329 | static struct regulator_consumer_supply pandora_vmmc3_supply = | 329 | static struct regulator_consumer_supply pandora_vmmc3_supply = |
330 | REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"); | 330 | REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"); |
331 | 331 | ||
332 | static struct regulator_consumer_supply pandora_vdda_dac_supply = | ||
333 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
334 | |||
335 | static struct regulator_consumer_supply pandora_vdds_supplies[] = { | 332 | static struct regulator_consumer_supply pandora_vdds_supplies[] = { |
336 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), | 333 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), |
337 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | 334 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), |
@@ -384,36 +381,6 @@ static struct regulator_init_data pandora_vmmc2 = { | |||
384 | .consumer_supplies = &pandora_vmmc2_supply, | 381 | .consumer_supplies = &pandora_vmmc2_supply, |
385 | }; | 382 | }; |
386 | 383 | ||
387 | /* VDAC for DSS driving S-Video */ | ||
388 | static struct regulator_init_data pandora_vdac = { | ||
389 | .constraints = { | ||
390 | .min_uV = 1800000, | ||
391 | .max_uV = 1800000, | ||
392 | .apply_uV = true, | ||
393 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
394 | | REGULATOR_MODE_STANDBY, | ||
395 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
396 | | REGULATOR_CHANGE_STATUS, | ||
397 | }, | ||
398 | .num_consumer_supplies = 1, | ||
399 | .consumer_supplies = &pandora_vdda_dac_supply, | ||
400 | }; | ||
401 | |||
402 | /* VPLL2 for digital video outputs */ | ||
403 | static struct regulator_init_data pandora_vpll2 = { | ||
404 | .constraints = { | ||
405 | .min_uV = 1800000, | ||
406 | .max_uV = 1800000, | ||
407 | .apply_uV = true, | ||
408 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
409 | | REGULATOR_MODE_STANDBY, | ||
410 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
411 | | REGULATOR_CHANGE_STATUS, | ||
412 | }, | ||
413 | .num_consumer_supplies = ARRAY_SIZE(pandora_vdds_supplies), | ||
414 | .consumer_supplies = pandora_vdds_supplies, | ||
415 | }; | ||
416 | |||
417 | /* VAUX1 for LCD */ | 384 | /* VAUX1 for LCD */ |
418 | static struct regulator_init_data pandora_vaux1 = { | 385 | static struct regulator_init_data pandora_vaux1 = { |
419 | .constraints = { | 386 | .constraints = { |
@@ -507,8 +474,6 @@ static struct twl4030_platform_data omap3pandora_twldata = { | |||
507 | .gpio = &omap3pandora_gpio_data, | 474 | .gpio = &omap3pandora_gpio_data, |
508 | .vmmc1 = &pandora_vmmc1, | 475 | .vmmc1 = &pandora_vmmc1, |
509 | .vmmc2 = &pandora_vmmc2, | 476 | .vmmc2 = &pandora_vmmc2, |
510 | .vdac = &pandora_vdac, | ||
511 | .vpll2 = &pandora_vpll2, | ||
512 | .vaux1 = &pandora_vaux1, | 477 | .vaux1 = &pandora_vaux1, |
513 | .vaux2 = &pandora_vaux2, | 478 | .vaux2 = &pandora_vaux2, |
514 | .vaux4 = &pandora_vaux4, | 479 | .vaux4 = &pandora_vaux4, |
@@ -527,7 +492,14 @@ static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = { | |||
527 | static int __init omap3pandora_i2c_init(void) | 492 | static int __init omap3pandora_i2c_init(void) |
528 | { | 493 | { |
529 | omap3_pmic_get_config(&omap3pandora_twldata, | 494 | omap3_pmic_get_config(&omap3pandora_twldata, |
530 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0); | 495 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, |
496 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
497 | omap3pandora_twldata.vdac->constraints.apply_uV = true; | ||
498 | omap3pandora_twldata.vpll2->constraints.apply_uV = true; | ||
499 | omap3pandora_twldata.vpll2->num_consumer_supplies = | ||
500 | ARRAY_SIZE(pandora_vdds_supplies); | ||
501 | omap3pandora_twldata.vpll2->consumer_supplies = pandora_vdds_supplies; | ||
502 | |||
531 | omap3_pmic_init("tps65950", &omap3pandora_twldata); | 503 | omap3_pmic_init("tps65950", &omap3pandora_twldata); |
532 | /* i2c2 pins are not connected */ | 504 | /* i2c2 pins are not connected */ |
533 | omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo, | 505 | omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo, |
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c index 1806e3e2c5f..ba4d1d24633 100644 --- a/arch/arm/mach-omap2/board-omap3stalker.c +++ b/arch/arm/mach-omap2/board-omap3stalker.c | |||
@@ -390,51 +390,10 @@ static struct twl4030_keypad_data omap3stalker_kp_data = { | |||
390 | .rep = 1, | 390 | .rep = 1, |
391 | }; | 391 | }; |
392 | 392 | ||
393 | static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply = | ||
394 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
395 | |||
396 | /* VDAC for DSS driving S-Video */ | ||
397 | static struct regulator_init_data omap3_stalker_vdac = { | ||
398 | .constraints = { | ||
399 | .min_uV = 1800000, | ||
400 | .max_uV = 1800000, | ||
401 | .apply_uV = true, | ||
402 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
403 | | REGULATOR_MODE_STANDBY, | ||
404 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
405 | | REGULATOR_CHANGE_STATUS, | ||
406 | }, | ||
407 | .num_consumer_supplies = 1, | ||
408 | .consumer_supplies = &omap3_stalker_vdda_dac_supply, | ||
409 | }; | ||
410 | |||
411 | /* VPLL2 for digital video outputs */ | ||
412 | static struct regulator_consumer_supply omap3_stalker_vpll2_supplies[] = { | ||
413 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
414 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
415 | }; | ||
416 | |||
417 | static struct regulator_init_data omap3_stalker_vpll2 = { | ||
418 | .constraints = { | ||
419 | .name = "VDVI", | ||
420 | .min_uV = 1800000, | ||
421 | .max_uV = 1800000, | ||
422 | .apply_uV = true, | ||
423 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
424 | | REGULATOR_MODE_STANDBY, | ||
425 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
426 | | REGULATOR_CHANGE_STATUS, | ||
427 | }, | ||
428 | .num_consumer_supplies = ARRAY_SIZE(omap3_stalker_vpll2_supplies), | ||
429 | .consumer_supplies = omap3_stalker_vpll2_supplies, | ||
430 | }; | ||
431 | |||
432 | static struct twl4030_platform_data omap3stalker_twldata = { | 393 | static struct twl4030_platform_data omap3stalker_twldata = { |
433 | /* platform_data for children goes here */ | 394 | /* platform_data for children goes here */ |
434 | .keypad = &omap3stalker_kp_data, | 395 | .keypad = &omap3stalker_kp_data, |
435 | .gpio = &omap3stalker_gpio_data, | 396 | .gpio = &omap3stalker_gpio_data, |
436 | .vdac = &omap3_stalker_vdac, | ||
437 | .vpll2 = &omap3_stalker_vpll2, | ||
438 | .vmmc1 = &omap3stalker_vmmc1, | 397 | .vmmc1 = &omap3stalker_vmmc1, |
439 | .vsim = &omap3stalker_vsim, | 398 | .vsim = &omap3stalker_vsim, |
440 | }; | 399 | }; |
@@ -457,7 +416,12 @@ static int __init omap3_stalker_i2c_init(void) | |||
457 | { | 416 | { |
458 | omap3_pmic_get_config(&omap3stalker_twldata, | 417 | omap3_pmic_get_config(&omap3stalker_twldata, |
459 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | | 418 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC | |
460 | TWL_COMMON_PDATA_AUDIO, 0); | 419 | TWL_COMMON_PDATA_AUDIO, |
420 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
421 | omap3stalker_twldata.vdac->constraints.apply_uV = true; | ||
422 | omap3stalker_twldata.vpll2->constraints.apply_uV = true; | ||
423 | omap3stalker_twldata.vpll2->constraints.name = "VDVI"; | ||
424 | |||
461 | omap3_pmic_init("twl4030", &omap3stalker_twldata); | 425 | omap3_pmic_init("twl4030", &omap3stalker_twldata); |
462 | omap_register_i2c_bus(2, 400, NULL, 0); | 426 | omap_register_i2c_bus(2, 400, NULL, 0); |
463 | omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3, | 427 | omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3, |
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index 094ea80f234..a0a3cf001d8 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c | |||
@@ -207,42 +207,11 @@ static struct regulator_init_data touchbook_vsim = { | |||
207 | .consumer_supplies = &touchbook_vsim_supply, | 207 | .consumer_supplies = &touchbook_vsim_supply, |
208 | }; | 208 | }; |
209 | 209 | ||
210 | /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ | ||
211 | static struct regulator_init_data touchbook_vdac = { | ||
212 | .constraints = { | ||
213 | .min_uV = 1800000, | ||
214 | .max_uV = 1800000, | ||
215 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
216 | | REGULATOR_MODE_STANDBY, | ||
217 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
218 | | REGULATOR_CHANGE_STATUS, | ||
219 | }, | ||
220 | .num_consumer_supplies = 1, | ||
221 | .consumer_supplies = &touchbook_vdac_supply, | ||
222 | }; | ||
223 | |||
224 | /* VPLL2 for digital video outputs */ | ||
225 | static struct regulator_init_data touchbook_vpll2 = { | ||
226 | .constraints = { | ||
227 | .name = "VDVI", | ||
228 | .min_uV = 1800000, | ||
229 | .max_uV = 1800000, | ||
230 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
231 | | REGULATOR_MODE_STANDBY, | ||
232 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
233 | | REGULATOR_CHANGE_STATUS, | ||
234 | }, | ||
235 | .num_consumer_supplies = 1, | ||
236 | .consumer_supplies = &touchbook_vdvi_supply, | ||
237 | }; | ||
238 | |||
239 | static struct twl4030_platform_data touchbook_twldata = { | 210 | static struct twl4030_platform_data touchbook_twldata = { |
240 | /* platform_data for children goes here */ | 211 | /* platform_data for children goes here */ |
241 | .gpio = &touchbook_gpio_data, | 212 | .gpio = &touchbook_gpio_data, |
242 | .vmmc1 = &touchbook_vmmc1, | 213 | .vmmc1 = &touchbook_vmmc1, |
243 | .vsim = &touchbook_vsim, | 214 | .vsim = &touchbook_vsim, |
244 | .vdac = &touchbook_vdac, | ||
245 | .vpll2 = &touchbook_vpll2, | ||
246 | }; | 215 | }; |
247 | 216 | ||
248 | static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = { | 217 | static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = { |
@@ -255,7 +224,14 @@ static int __init omap3_touchbook_i2c_init(void) | |||
255 | { | 224 | { |
256 | /* Standard TouchBook bus */ | 225 | /* Standard TouchBook bus */ |
257 | omap3_pmic_get_config(&touchbook_twldata, | 226 | omap3_pmic_get_config(&touchbook_twldata, |
258 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0); | 227 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, |
228 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
229 | touchbook_twldata.vdac->num_consumer_supplies = 1; | ||
230 | touchbook_twldata.vdac->consumer_supplies = &touchbook_vdac_supply; | ||
231 | touchbook_twldata.vpll2->constraints.name = "VDVI"; | ||
232 | touchbook_twldata.vpll2->num_consumer_supplies = 1; | ||
233 | touchbook_twldata.vpll2->consumer_supplies = &touchbook_vdvi_supply; | ||
234 | |||
259 | omap3_pmic_init("twl4030", &touchbook_twldata); | 235 | omap3_pmic_init("twl4030", &touchbook_twldata); |
260 | /* Additional TouchBook bus */ | 236 | /* Additional TouchBook bus */ |
261 | omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo, | 237 | omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo, |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index f334829a9af..e3fa177558a 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -264,14 +264,6 @@ static struct omap_dss_board_info overo_dss_data = { | |||
264 | .default_device = &overo_dvi_device, | 264 | .default_device = &overo_dvi_device, |
265 | }; | 265 | }; |
266 | 266 | ||
267 | static struct regulator_consumer_supply overo_vdda_dac_supply = | ||
268 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
269 | |||
270 | static struct regulator_consumer_supply overo_vdds_dsi_supply[] = { | ||
271 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
272 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
273 | }; | ||
274 | |||
275 | static struct mtd_partition overo_nand_partitions[] = { | 267 | static struct mtd_partition overo_nand_partitions[] = { |
276 | { | 268 | { |
277 | .name = "xloader", | 269 | .name = "xloader", |
@@ -447,46 +439,18 @@ static struct regulator_init_data overo_vmmc1 = { | |||
447 | .consumer_supplies = &overo_vmmc1_supply, | 439 | .consumer_supplies = &overo_vmmc1_supply, |
448 | }; | 440 | }; |
449 | 441 | ||
450 | /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ | ||
451 | static struct regulator_init_data overo_vdac = { | ||
452 | .constraints = { | ||
453 | .min_uV = 1800000, | ||
454 | .max_uV = 1800000, | ||
455 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
456 | | REGULATOR_MODE_STANDBY, | ||
457 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
458 | | REGULATOR_CHANGE_STATUS, | ||
459 | }, | ||
460 | .num_consumer_supplies = 1, | ||
461 | .consumer_supplies = &overo_vdda_dac_supply, | ||
462 | }; | ||
463 | |||
464 | /* VPLL2 for digital video outputs */ | ||
465 | static struct regulator_init_data overo_vpll2 = { | ||
466 | .constraints = { | ||
467 | .name = "VDVI", | ||
468 | .min_uV = 1800000, | ||
469 | .max_uV = 1800000, | ||
470 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
471 | | REGULATOR_MODE_STANDBY, | ||
472 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
473 | | REGULATOR_CHANGE_STATUS, | ||
474 | }, | ||
475 | .num_consumer_supplies = ARRAY_SIZE(overo_vdds_dsi_supply), | ||
476 | .consumer_supplies = overo_vdds_dsi_supply, | ||
477 | }; | ||
478 | |||
479 | static struct twl4030_platform_data overo_twldata = { | 442 | static struct twl4030_platform_data overo_twldata = { |
480 | .gpio = &overo_gpio_data, | 443 | .gpio = &overo_gpio_data, |
481 | .vmmc1 = &overo_vmmc1, | 444 | .vmmc1 = &overo_vmmc1, |
482 | .vdac = &overo_vdac, | ||
483 | .vpll2 = &overo_vpll2, | ||
484 | }; | 445 | }; |
485 | 446 | ||
486 | static int __init overo_i2c_init(void) | 447 | static int __init overo_i2c_init(void) |
487 | { | 448 | { |
488 | omap3_pmic_get_config(&overo_twldata, | 449 | omap3_pmic_get_config(&overo_twldata, |
489 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0); | 450 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, |
451 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
452 | overo_twldata.vpll2->constraints.name = "VDVI"; | ||
453 | |||
490 | omap3_pmic_init("tps65950", &overo_twldata); | 454 | omap3_pmic_init("tps65950", &overo_twldata); |
491 | /* i2c2 pins are used for gpio */ | 455 | /* i2c2 pins are used for gpio */ |
492 | omap_register_i2c_bus(3, 400, NULL, 0); | 456 | omap_register_i2c_bus(3, 400, NULL, 0); |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 2a6ef491374..d727479d92c 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -391,10 +391,6 @@ static struct regulator_consumer_supply rx51_vaux1_consumers[] = { | |||
391 | REGULATOR_SUPPLY("vdd", "2-0063"), | 391 | REGULATOR_SUPPLY("vdd", "2-0063"), |
392 | }; | 392 | }; |
393 | 393 | ||
394 | static struct regulator_consumer_supply rx51_vdac_supply[] = { | ||
395 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"), | ||
396 | }; | ||
397 | |||
398 | static struct regulator_init_data rx51_vaux1 = { | 394 | static struct regulator_init_data rx51_vaux1 = { |
399 | .constraints = { | 395 | .constraints = { |
400 | .name = "V28", | 396 | .name = "V28", |
@@ -511,21 +507,6 @@ static struct regulator_init_data rx51_vsim = { | |||
511 | .consumer_supplies = &rx51_vsim_supply, | 507 | .consumer_supplies = &rx51_vsim_supply, |
512 | }; | 508 | }; |
513 | 509 | ||
514 | static struct regulator_init_data rx51_vdac = { | ||
515 | .constraints = { | ||
516 | .name = "VDAC", | ||
517 | .min_uV = 1800000, | ||
518 | .max_uV = 1800000, | ||
519 | .apply_uV = true, | ||
520 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
521 | | REGULATOR_MODE_STANDBY, | ||
522 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
523 | | REGULATOR_CHANGE_STATUS, | ||
524 | }, | ||
525 | .num_consumer_supplies = 1, | ||
526 | .consumer_supplies = rx51_vdac_supply, | ||
527 | }; | ||
528 | |||
529 | static struct regulator_init_data rx51_vio = { | 510 | static struct regulator_init_data rx51_vio = { |
530 | .constraints = { | 511 | .constraints = { |
531 | .min_uV = 1800000, | 512 | .min_uV = 1800000, |
@@ -778,7 +759,6 @@ static struct twl4030_platform_data rx51_twldata __initdata = { | |||
778 | .vaux4 = &rx51_vaux4, | 759 | .vaux4 = &rx51_vaux4, |
779 | .vmmc1 = &rx51_vmmc1, | 760 | .vmmc1 = &rx51_vmmc1, |
780 | .vsim = &rx51_vsim, | 761 | .vsim = &rx51_vsim, |
781 | .vdac = &rx51_vdac, | ||
782 | .vio = &rx51_vio, | 762 | .vio = &rx51_vio, |
783 | }; | 763 | }; |
784 | 764 | ||
@@ -835,7 +815,10 @@ static int __init rx51_i2c_init(void) | |||
835 | } | 815 | } |
836 | rx51_twldata.vmmc2 = &rx51_vmmc2; | 816 | rx51_twldata.vmmc2 = &rx51_vmmc2; |
837 | omap3_pmic_get_config(&rx51_twldata, | 817 | omap3_pmic_get_config(&rx51_twldata, |
838 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, 0); | 818 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, |
819 | TWL_COMMON_REGULATOR_VDAC); | ||
820 | rx51_twldata.vdac->constraints.apply_uV = true; | ||
821 | rx51_twldata.vdac->constraints.name = "VDAC"; | ||
839 | omap_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata); | 822 | omap_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata); |
840 | omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, | 823 | omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, |
841 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); | 824 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); |
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index 58c0c6ed078..8853dc4827a 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c | |||
@@ -227,40 +227,6 @@ static struct omap2_hsmmc_info mmc[] = { | |||
227 | {} /* Terminator */ | 227 | {} /* Terminator */ |
228 | }; | 228 | }; |
229 | 229 | ||
230 | static struct regulator_consumer_supply zoom_vpll2_supplies[] = { | ||
231 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
232 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
233 | }; | ||
234 | |||
235 | static struct regulator_consumer_supply zoom_vdda_dac_supply = | ||
236 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | ||
237 | |||
238 | static struct regulator_init_data zoom_vpll2 = { | ||
239 | .constraints = { | ||
240 | .min_uV = 1800000, | ||
241 | .max_uV = 1800000, | ||
242 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
243 | | REGULATOR_MODE_STANDBY, | ||
244 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
245 | | REGULATOR_CHANGE_STATUS, | ||
246 | }, | ||
247 | .num_consumer_supplies = ARRAY_SIZE(zoom_vpll2_supplies), | ||
248 | .consumer_supplies = zoom_vpll2_supplies, | ||
249 | }; | ||
250 | |||
251 | static struct regulator_init_data zoom_vdac = { | ||
252 | .constraints = { | ||
253 | .min_uV = 1800000, | ||
254 | .max_uV = 1800000, | ||
255 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
256 | | REGULATOR_MODE_STANDBY, | ||
257 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
258 | | REGULATOR_CHANGE_STATUS, | ||
259 | }, | ||
260 | .num_consumer_supplies = 1, | ||
261 | .consumer_supplies = &zoom_vdda_dac_supply, | ||
262 | }; | ||
263 | |||
264 | static int zoom_twl_gpio_setup(struct device *dev, | 230 | static int zoom_twl_gpio_setup(struct device *dev, |
265 | unsigned gpio, unsigned ngpio) | 231 | unsigned gpio, unsigned ngpio) |
266 | { | 232 | { |
@@ -306,15 +272,14 @@ static struct twl4030_platform_data zoom_twldata = { | |||
306 | .vmmc1 = &zoom_vmmc1, | 272 | .vmmc1 = &zoom_vmmc1, |
307 | .vmmc2 = &zoom_vmmc2, | 273 | .vmmc2 = &zoom_vmmc2, |
308 | .vsim = &zoom_vsim, | 274 | .vsim = &zoom_vsim, |
309 | .vpll2 = &zoom_vpll2, | ||
310 | .vdac = &zoom_vdac, | ||
311 | }; | 275 | }; |
312 | 276 | ||
313 | static int __init omap_i2c_init(void) | 277 | static int __init omap_i2c_init(void) |
314 | { | 278 | { |
315 | omap3_pmic_get_config(&zoom_twldata, | 279 | omap3_pmic_get_config(&zoom_twldata, |
316 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | | 280 | TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI | |
317 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, 0); | 281 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, |
282 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
318 | 283 | ||
319 | if (machine_is_omap_zoom2()) { | 284 | if (machine_is_omap_zoom2()) { |
320 | struct twl4030_codec_audio_data *audio_data; | 285 | struct twl4030_codec_audio_data *audio_data; |
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 2487e3c60a3..f15f8802bca 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c | |||
@@ -87,6 +87,41 @@ static struct twl4030_codec_data omap3_codec_pdata = { | |||
87 | .audio = &omap3_audio, | 87 | .audio = &omap3_audio, |
88 | }; | 88 | }; |
89 | 89 | ||
90 | static struct regulator_consumer_supply omap3_vdda_dac_supplies[] = { | ||
91 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"), | ||
92 | }; | ||
93 | |||
94 | static struct regulator_init_data omap3_vdac_idata = { | ||
95 | .constraints = { | ||
96 | .min_uV = 1800000, | ||
97 | .max_uV = 1800000, | ||
98 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
99 | | REGULATOR_MODE_STANDBY, | ||
100 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
101 | | REGULATOR_CHANGE_STATUS, | ||
102 | }, | ||
103 | .num_consumer_supplies = ARRAY_SIZE(omap3_vdda_dac_supplies), | ||
104 | .consumer_supplies = omap3_vdda_dac_supplies, | ||
105 | }; | ||
106 | |||
107 | static struct regulator_consumer_supply omap3_vpll2_supplies[] = { | ||
108 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | ||
109 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | ||
110 | }; | ||
111 | |||
112 | static struct regulator_init_data omap3_vpll2_idata = { | ||
113 | .constraints = { | ||
114 | .min_uV = 1800000, | ||
115 | .max_uV = 1800000, | ||
116 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
117 | | REGULATOR_MODE_STANDBY, | ||
118 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
119 | | REGULATOR_CHANGE_STATUS, | ||
120 | }, | ||
121 | .num_consumer_supplies = ARRAY_SIZE(omap3_vpll2_supplies), | ||
122 | .consumer_supplies = omap3_vpll2_supplies, | ||
123 | }; | ||
124 | |||
90 | static struct regulator_init_data omap4_vdac_idata = { | 125 | static struct regulator_init_data omap4_vdac_idata = { |
91 | .constraints = { | 126 | .constraints = { |
92 | .min_uV = 1800000, | 127 | .min_uV = 1800000, |
@@ -259,4 +294,11 @@ void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, | |||
259 | 294 | ||
260 | if (pdata_flags & TWL_COMMON_PDATA_AUDIO && !pmic_data->codec) | 295 | if (pdata_flags & TWL_COMMON_PDATA_AUDIO && !pmic_data->codec) |
261 | pmic_data->codec = &omap3_codec_pdata; | 296 | pmic_data->codec = &omap3_codec_pdata; |
297 | |||
298 | /* Common regulator configurations */ | ||
299 | if (regulators_flags & TWL_COMMON_REGULATOR_VDAC && !pmic_data->vdac) | ||
300 | pmic_data->vdac = &omap3_vdac_idata; | ||
301 | |||
302 | if (regulators_flags & TWL_COMMON_REGULATOR_VPLL2 && !pmic_data->vpll2) | ||
303 | pmic_data->vpll2 = &omap3_vpll2_idata; | ||
262 | } | 304 | } |
diff --git a/arch/arm/mach-omap2/twl-common.h b/arch/arm/mach-omap2/twl-common.h index 3b4b05d529b..5e83a5bd37f 100644 --- a/arch/arm/mach-omap2/twl-common.h +++ b/arch/arm/mach-omap2/twl-common.h | |||
@@ -21,6 +21,11 @@ | |||
21 | #define TWL_COMMON_REGULATOR_VUSB (1 << 9) | 21 | #define TWL_COMMON_REGULATOR_VUSB (1 << 9) |
22 | #define TWL_COMMON_REGULATOR_CLK32KG (1 << 10) | 22 | #define TWL_COMMON_REGULATOR_CLK32KG (1 << 10) |
23 | 23 | ||
24 | /* TWL4030 LDO regulators */ | ||
25 | #define TWL_COMMON_REGULATOR_VPLL1 (1 << 4) | ||
26 | #define TWL_COMMON_REGULATOR_VPLL2 (1 << 5) | ||
27 | |||
28 | |||
24 | struct twl4030_platform_data; | 29 | struct twl4030_platform_data; |
25 | 30 | ||
26 | void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq, | 31 | void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq, |