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>
This commit is contained in:
Родитель
bdacbce654
Коммит
5b3689f4c1
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#include <linux/i2c/at24.h>
|
#include <linux/i2c/at24.h>
|
||||||
#include <linux/i2c/twl.h>
|
#include <linux/i2c/twl.h>
|
||||||
|
#include <linux/regulator/fixed.h>
|
||||||
#include <linux/regulator/machine.h>
|
#include <linux/regulator/machine.h>
|
||||||
#include <linux/mmc/host.h>
|
#include <linux/mmc/host.h>
|
||||||
|
|
||||||
|
@ -81,8 +82,23 @@ static struct omap_smsc911x_platform_data sb_t35_smsc911x_cfg = {
|
||||||
.flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
|
.flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply cm_t35_smsc911x_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply sb_t35_smsc911x_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.1"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.1"),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init cm_t35_init_ethernet(void)
|
static void __init cm_t35_init_ethernet(void)
|
||||||
{
|
{
|
||||||
|
regulator_register_fixed(0, cm_t35_smsc911x_supplies,
|
||||||
|
ARRAY_SIZE(cm_t35_smsc911x_supplies));
|
||||||
|
regulator_register_fixed(1, sb_t35_smsc911x_supplies,
|
||||||
|
ARRAY_SIZE(sb_t35_smsc911x_supplies));
|
||||||
|
|
||||||
gpmc_smsc911x_init(&cm_t35_smsc911x_cfg);
|
gpmc_smsc911x_init(&cm_t35_smsc911x_cfg);
|
||||||
gpmc_smsc911x_init(&sb_t35_smsc911x_cfg);
|
gpmc_smsc911x_init(&sb_t35_smsc911x_cfg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -634,8 +634,14 @@ static void __init igep_wlan_bt_init(void)
|
||||||
static inline void __init igep_wlan_bt_init(void) { }
|
static inline void __init igep_wlan_bt_init(void) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init igep_init(void)
|
static void __init igep_init(void)
|
||||||
{
|
{
|
||||||
|
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||||
|
|
||||||
/* Get IGEP2 hardware revision */
|
/* Get IGEP2 hardware revision */
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
|
#include <linux/regulator/fixed.h>
|
||||||
#include <linux/regulator/machine.h>
|
#include <linux/regulator/machine.h>
|
||||||
#include <linux/i2c/twl.h>
|
#include <linux/i2c/twl.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
@ -410,8 +411,14 @@ static struct mtd_partition ldp_nand_partitions[] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init omap_ldp_init(void)
|
static void __init omap_ldp_init(void)
|
||||||
{
|
{
|
||||||
|
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||||
ldp_init_smsc911x();
|
ldp_init_smsc911x();
|
||||||
omap_i2c_init();
|
omap_i2c_init();
|
||||||
|
|
|
@ -623,9 +623,15 @@ static void __init omap3_evm_wl12xx_init(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init omap3_evm_init(void)
|
static void __init omap3_evm_init(void)
|
||||||
{
|
{
|
||||||
omap3_evm_get_revision();
|
omap3_evm_get_revision();
|
||||||
|
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||||
|
|
||||||
if (cpu_is_omap3630())
|
if (cpu_is_omap3630())
|
||||||
omap3_mux_init(omap36x_board_mux, OMAP_PACKAGE_CBB);
|
omap3_mux_init(omap36x_board_mux, OMAP_PACKAGE_CBB);
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
|
||||||
|
#include <linux/regulator/fixed.h>
|
||||||
#include <linux/regulator/machine.h>
|
#include <linux/regulator/machine.h>
|
||||||
|
|
||||||
#include <linux/i2c/twl.h>
|
#include <linux/i2c/twl.h>
|
||||||
|
@ -188,8 +189,14 @@ static struct omap_board_mux board_mux[] __initdata = {
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init omap3logic_init(void)
|
static void __init omap3logic_init(void)
|
||||||
{
|
{
|
||||||
|
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||||
omap3torpedo_fix_pbias_voltage();
|
omap3torpedo_fix_pbias_voltage();
|
||||||
omap3logic_i2c_init();
|
omap3logic_i2c_init();
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <linux/input.h>
|
#include <linux/input.h>
|
||||||
#include <linux/gpio_keys.h>
|
#include <linux/gpio_keys.h>
|
||||||
|
|
||||||
|
#include <linux/regulator/fixed.h>
|
||||||
#include <linux/regulator/machine.h>
|
#include <linux/regulator/machine.h>
|
||||||
#include <linux/i2c/twl.h>
|
#include <linux/i2c/twl.h>
|
||||||
#include <linux/mmc/host.h>
|
#include <linux/mmc/host.h>
|
||||||
|
@ -410,8 +411,14 @@ static struct omap_board_mux board_mux[] __initdata = {
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init omap3_stalker_init(void)
|
static void __init omap3_stalker_init(void)
|
||||||
{
|
{
|
||||||
|
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
|
||||||
omap_board_config = omap3_stalker_config;
|
omap_board_config = omap3_stalker_config;
|
||||||
omap_board_config_size = ARRAY_SIZE(omap3_stalker_config);
|
omap_board_config_size = ARRAY_SIZE(omap3_stalker_config);
|
||||||
|
|
|
@ -498,10 +498,18 @@ static struct gpio overo_bt_gpios[] __initdata = {
|
||||||
{ OVERO_GPIO_BT_NRESET, GPIOF_OUT_INIT_HIGH, "lcd bl enable" },
|
{ OVERO_GPIO_BT_NRESET, GPIOF_OUT_INIT_HIGH, "lcd bl enable" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.1"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.1"),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init overo_init(void)
|
static void __init overo_init(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||||
omap_hsmmc_init(mmc);
|
omap_hsmmc_init(mmc);
|
||||||
overo_i2c_init();
|
overo_i2c_init();
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
#include <linux/smsc911x.h>
|
#include <linux/smsc911x.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
|
|
||||||
|
#include <linux/regulator/fixed.h>
|
||||||
|
#include <linux/regulator/machine.h>
|
||||||
|
|
||||||
#include <plat/gpmc.h>
|
#include <plat/gpmc.h>
|
||||||
#include <plat/gpmc-smsc911x.h>
|
#include <plat/gpmc-smsc911x.h>
|
||||||
|
|
||||||
|
@ -117,11 +120,17 @@ static struct platform_device *zoom_devices[] __initdata = {
|
||||||
&zoom_debugboard_serial_device,
|
&zoom_debugboard_serial_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||||
|
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||||
|
};
|
||||||
|
|
||||||
int __init zoom_debugboard_init(void)
|
int __init zoom_debugboard_init(void)
|
||||||
{
|
{
|
||||||
if (!omap_zoom_debugboard_detect())
|
if (!omap_zoom_debugboard_detect())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||||
zoom_init_smsc911x();
|
zoom_init_smsc911x();
|
||||||
zoom_init_quaduart();
|
zoom_init_quaduart();
|
||||||
return platform_add_devices(zoom_devices, ARRAY_SIZE(zoom_devices));
|
return platform_add_devices(zoom_devices, ARRAY_SIZE(zoom_devices));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче