diff options
| author | Russ Dill <Russ.Dill@ti.com> | 2012-03-23 05:21:37 -0400 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2012-04-03 13:33:19 -0400 |
| commit | 5b3689f4c16bc692a2e2b9808e5efc457aeae371 (patch) | |
| tree | fdec1f1fa26d7fae3b4e18f3923779e4b8b4d857 | |
| parent | bdacbce65492f54e02a97c23328ec4bbcc31554a (diff) | |
ARM: OMAP2+: smsc911x: Add fixed board regulators
Initialize fixed regulators in the board files. Trying to
do this in a generic way in gpmc-smsc911x.c gets messy as
the regulator may be provided by drivers, such as twl4030,
for some boards.
Signed-off-by: Russ Dill <russ.dill@ti.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: combined into one patch, updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
| -rw-r--r-- | arch/arm/mach-omap2/board-cm-t35.c | 16 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-igep0020.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-ldp.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3evm.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3logic.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3stalker.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-overo.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-zoom-debugboard.c | 9 |
8 files changed, 66 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index 41b0a2fe0b04..909a8b91b564 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | #include <linux/i2c/at24.h> | 27 | #include <linux/i2c/at24.h> |
| 28 | #include <linux/i2c/twl.h> | 28 | #include <linux/i2c/twl.h> |
| 29 | #include <linux/regulator/fixed.h> | ||
| 29 | #include <linux/regulator/machine.h> | 30 | #include <linux/regulator/machine.h> |
| 30 | #include <linux/mmc/host.h> | 31 | #include <linux/mmc/host.h> |
| 31 | 32 | ||
| @@ -81,8 +82,23 @@ static struct omap_smsc911x_platform_data sb_t35_smsc911x_cfg = { | |||
| 81 | .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS, | 82 | .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS, |
| 82 | }; | 83 | }; |
| 83 | 84 | ||
| 85 | static struct regulator_consumer_supply cm_t35_smsc911x_supplies[] = { | ||
| 86 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 87 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 88 | }; | ||
| 89 | |||
| 90 | static struct regulator_consumer_supply sb_t35_smsc911x_supplies[] = { | ||
| 91 | REGULATOR_SUPPLY("vddvario", "smsc911x.1"), | ||
| 92 | REGULATOR_SUPPLY("vdd33a", "smsc911x.1"), | ||
| 93 | }; | ||
| 94 | |||
| 84 | static void __init cm_t35_init_ethernet(void) | 95 | static void __init cm_t35_init_ethernet(void) |
| 85 | { | 96 | { |
| 97 | regulator_register_fixed(0, cm_t35_smsc911x_supplies, | ||
| 98 | ARRAY_SIZE(cm_t35_smsc911x_supplies)); | ||
| 99 | regulator_register_fixed(1, sb_t35_smsc911x_supplies, | ||
| 100 | ARRAY_SIZE(sb_t35_smsc911x_supplies)); | ||
| 101 | |||
| 86 | gpmc_smsc911x_init(&cm_t35_smsc911x_cfg); | 102 | gpmc_smsc911x_init(&cm_t35_smsc911x_cfg); |
| 87 | gpmc_smsc911x_init(&sb_t35_smsc911x_cfg); | 103 | gpmc_smsc911x_init(&sb_t35_smsc911x_cfg); |
| 88 | } | 104 | } |
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index e558800adfdf..930c0d380435 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
| @@ -634,8 +634,14 @@ static void __init igep_wlan_bt_init(void) | |||
| 634 | static inline void __init igep_wlan_bt_init(void) { } | 634 | static inline void __init igep_wlan_bt_init(void) { } |
| 635 | #endif | 635 | #endif |
| 636 | 636 | ||
| 637 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
| 638 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 639 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 640 | }; | ||
| 641 | |||
| 637 | static void __init igep_init(void) | 642 | static void __init igep_init(void) |
| 638 | { | 643 | { |
| 644 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
| 639 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 645 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
| 640 | 646 | ||
| 641 | /* Get IGEP2 hardware revision */ | 647 | /* Get IGEP2 hardware revision */ |
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index d50a562adfa0..1b6049567ab4 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <linux/err.h> | 22 | #include <linux/err.h> |
| 23 | #include <linux/clk.h> | 23 | #include <linux/clk.h> |
| 24 | #include <linux/spi/spi.h> | 24 | #include <linux/spi/spi.h> |
| 25 | #include <linux/regulator/fixed.h> | ||
| 25 | #include <linux/regulator/machine.h> | 26 | #include <linux/regulator/machine.h> |
| 26 | #include <linux/i2c/twl.h> | 27 | #include <linux/i2c/twl.h> |
| 27 | #include <linux/io.h> | 28 | #include <linux/io.h> |
| @@ -410,8 +411,14 @@ static struct mtd_partition ldp_nand_partitions[] = { | |||
| 410 | 411 | ||
| 411 | }; | 412 | }; |
| 412 | 413 | ||
| 414 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
| 415 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 416 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 417 | }; | ||
| 418 | |||
| 413 | static void __init omap_ldp_init(void) | 419 | static void __init omap_ldp_init(void) |
| 414 | { | 420 | { |
| 421 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
| 415 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 422 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
| 416 | ldp_init_smsc911x(); | 423 | ldp_init_smsc911x(); |
| 417 | omap_i2c_init(); | 424 | omap_i2c_init(); |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index b90b319eb793..49df12735b41 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
| @@ -623,9 +623,15 @@ static void __init omap3_evm_wl12xx_init(void) | |||
| 623 | #endif | 623 | #endif |
| 624 | } | 624 | } |
| 625 | 625 | ||
| 626 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
| 627 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 628 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 629 | }; | ||
| 630 | |||
| 626 | static void __init omap3_evm_init(void) | 631 | static void __init omap3_evm_init(void) |
| 627 | { | 632 | { |
| 628 | omap3_evm_get_revision(); | 633 | omap3_evm_get_revision(); |
| 634 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
| 629 | 635 | ||
| 630 | if (cpu_is_omap3630()) | 636 | if (cpu_is_omap3630()) |
| 631 | omap3_mux_init(omap36x_board_mux, OMAP_PACKAGE_CBB); | 637 | omap3_mux_init(omap36x_board_mux, OMAP_PACKAGE_CBB); |
diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c index 4a7d8c8a75da..9b3c141ff51b 100644 --- a/arch/arm/mach-omap2/board-omap3logic.c +++ b/arch/arm/mach-omap2/board-omap3logic.c | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | #include <linux/io.h> | 23 | #include <linux/io.h> |
| 24 | #include <linux/gpio.h> | 24 | #include <linux/gpio.h> |
| 25 | 25 | ||
| 26 | #include <linux/regulator/fixed.h> | ||
| 26 | #include <linux/regulator/machine.h> | 27 | #include <linux/regulator/machine.h> |
| 27 | 28 | ||
| 28 | #include <linux/i2c/twl.h> | 29 | #include <linux/i2c/twl.h> |
| @@ -188,8 +189,14 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
| 188 | }; | 189 | }; |
| 189 | #endif | 190 | #endif |
| 190 | 191 | ||
| 192 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
| 193 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 194 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 195 | }; | ||
| 196 | |||
| 191 | static void __init omap3logic_init(void) | 197 | static void __init omap3logic_init(void) |
| 192 | { | 198 | { |
| 199 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
| 193 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 200 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
| 194 | omap3torpedo_fix_pbias_voltage(); | 201 | omap3torpedo_fix_pbias_voltage(); |
| 195 | omap3logic_i2c_init(); | 202 | omap3logic_i2c_init(); |
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c index de953521cce2..4dffc95bddd2 100644 --- a/arch/arm/mach-omap2/board-omap3stalker.c +++ b/arch/arm/mach-omap2/board-omap3stalker.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/input.h> | 24 | #include <linux/input.h> |
| 25 | #include <linux/gpio_keys.h> | 25 | #include <linux/gpio_keys.h> |
| 26 | 26 | ||
| 27 | #include <linux/regulator/fixed.h> | ||
| 27 | #include <linux/regulator/machine.h> | 28 | #include <linux/regulator/machine.h> |
| 28 | #include <linux/i2c/twl.h> | 29 | #include <linux/i2c/twl.h> |
| 29 | #include <linux/mmc/host.h> | 30 | #include <linux/mmc/host.h> |
| @@ -410,8 +411,14 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
| 410 | }; | 411 | }; |
| 411 | #endif | 412 | #endif |
| 412 | 413 | ||
| 414 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
| 415 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 416 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 417 | }; | ||
| 418 | |||
| 413 | static void __init omap3_stalker_init(void) | 419 | static void __init omap3_stalker_init(void) |
| 414 | { | 420 | { |
| 421 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
| 415 | omap3_mux_init(board_mux, OMAP_PACKAGE_CUS); | 422 | omap3_mux_init(board_mux, OMAP_PACKAGE_CUS); |
| 416 | omap_board_config = omap3_stalker_config; | 423 | omap_board_config = omap3_stalker_config; |
| 417 | omap_board_config_size = ARRAY_SIZE(omap3_stalker_config); | 424 | omap_board_config_size = ARRAY_SIZE(omap3_stalker_config); |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 668533e2a379..33aa3910b09e 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
| @@ -498,10 +498,18 @@ static struct gpio overo_bt_gpios[] __initdata = { | |||
| 498 | { OVERO_GPIO_BT_NRESET, GPIOF_OUT_INIT_HIGH, "lcd bl enable" }, | 498 | { OVERO_GPIO_BT_NRESET, GPIOF_OUT_INIT_HIGH, "lcd bl enable" }, |
| 499 | }; | 499 | }; |
| 500 | 500 | ||
| 501 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
| 502 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 503 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 504 | REGULATOR_SUPPLY("vddvario", "smsc911x.1"), | ||
| 505 | REGULATOR_SUPPLY("vdd33a", "smsc911x.1"), | ||
| 506 | }; | ||
| 507 | |||
| 501 | static void __init overo_init(void) | 508 | static void __init overo_init(void) |
| 502 | { | 509 | { |
| 503 | int ret; | 510 | int ret; |
| 504 | 511 | ||
| 512 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
| 505 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 513 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
| 506 | omap_hsmmc_init(mmc); | 514 | omap_hsmmc_init(mmc); |
| 507 | overo_i2c_init(); | 515 | overo_i2c_init(); |
diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c index 1e8540eabde9..f64f44173061 100644 --- a/arch/arm/mach-omap2/board-zoom-debugboard.c +++ b/arch/arm/mach-omap2/board-zoom-debugboard.c | |||
| @@ -14,6 +14,9 @@ | |||
| 14 | #include <linux/smsc911x.h> | 14 | #include <linux/smsc911x.h> |
| 15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
| 16 | 16 | ||
| 17 | #include <linux/regulator/fixed.h> | ||
| 18 | #include <linux/regulator/machine.h> | ||
| 19 | |||
| 17 | #include <plat/gpmc.h> | 20 | #include <plat/gpmc.h> |
| 18 | #include <plat/gpmc-smsc911x.h> | 21 | #include <plat/gpmc-smsc911x.h> |
| 19 | 22 | ||
| @@ -117,11 +120,17 @@ static struct platform_device *zoom_devices[] __initdata = { | |||
| 117 | &zoom_debugboard_serial_device, | 120 | &zoom_debugboard_serial_device, |
| 118 | }; | 121 | }; |
| 119 | 122 | ||
| 123 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
| 124 | REGULATOR_SUPPLY("vddvario", "smsc911x.0"), | ||
| 125 | REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), | ||
| 126 | }; | ||
| 127 | |||
| 120 | int __init zoom_debugboard_init(void) | 128 | int __init zoom_debugboard_init(void) |
| 121 | { | 129 | { |
| 122 | if (!omap_zoom_debugboard_detect()) | 130 | if (!omap_zoom_debugboard_detect()) |
| 123 | return 0; | 131 | return 0; |
| 124 | 132 | ||
| 133 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
| 125 | zoom_init_smsc911x(); | 134 | zoom_init_smsc911x(); |
| 126 | zoom_init_quaduart(); | 135 | zoom_init_quaduart(); |
| 127 | return platform_add_devices(zoom_devices, ARRAY_SIZE(zoom_devices)); | 136 | return platform_add_devices(zoom_devices, ARRAY_SIZE(zoom_devices)); |
