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:
		
					parent
					
						
							
								bdacbce654
							
						
					
				
			
			
				commit
				
					
						5b3689f4c1
					
				
			
		
					 8 changed files with 66 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
 | 
			
		||||
#include <linux/i2c/at24.h>
 | 
			
		||||
#include <linux/i2c/twl.h>
 | 
			
		||||
#include <linux/regulator/fixed.h>
 | 
			
		||||
#include <linux/regulator/machine.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,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
	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(&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) { }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static struct regulator_consumer_supply dummy_supplies[] = {
 | 
			
		||||
	REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
 | 
			
		||||
	REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void __init igep_init(void)
 | 
			
		||||
{
 | 
			
		||||
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 | 
			
		||||
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 | 
			
		||||
 | 
			
		||||
	/* Get IGEP2 hardware revision */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,7 @@
 | 
			
		|||
#include <linux/err.h>
 | 
			
		||||
#include <linux/clk.h>
 | 
			
		||||
#include <linux/spi/spi.h>
 | 
			
		||||
#include <linux/regulator/fixed.h>
 | 
			
		||||
#include <linux/regulator/machine.h>
 | 
			
		||||
#include <linux/i2c/twl.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)
 | 
			
		||||
{
 | 
			
		||||
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 | 
			
		||||
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 | 
			
		||||
	ldp_init_smsc911x();
 | 
			
		||||
	omap_i2c_init();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -623,9 +623,15 @@ static void __init omap3_evm_wl12xx_init(void)
 | 
			
		|||
#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)
 | 
			
		||||
{
 | 
			
		||||
	omap3_evm_get_revision();
 | 
			
		||||
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 | 
			
		||||
 | 
			
		||||
	if (cpu_is_omap3630())
 | 
			
		||||
		omap3_mux_init(omap36x_board_mux, OMAP_PACKAGE_CBB);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,7 @@
 | 
			
		|||
#include <linux/io.h>
 | 
			
		||||
#include <linux/gpio.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/regulator/fixed.h>
 | 
			
		||||
#include <linux/regulator/machine.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/i2c/twl.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -188,8 +189,14 @@ static struct omap_board_mux board_mux[] __initdata = {
 | 
			
		|||
};
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static struct regulator_consumer_supply dummy_supplies[] = {
 | 
			
		||||
	REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
 | 
			
		||||
	REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void __init omap3logic_init(void)
 | 
			
		||||
{
 | 
			
		||||
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 | 
			
		||||
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 | 
			
		||||
	omap3torpedo_fix_pbias_voltage();
 | 
			
		||||
	omap3logic_i2c_init();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@
 | 
			
		|||
#include <linux/input.h>
 | 
			
		||||
#include <linux/gpio_keys.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/regulator/fixed.h>
 | 
			
		||||
#include <linux/regulator/machine.h>
 | 
			
		||||
#include <linux/i2c/twl.h>
 | 
			
		||||
#include <linux/mmc/host.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -410,8 +411,14 @@ static struct omap_board_mux board_mux[] __initdata = {
 | 
			
		|||
};
 | 
			
		||||
#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)
 | 
			
		||||
{
 | 
			
		||||
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 | 
			
		||||
	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
 | 
			
		||||
	omap_board_config = 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" },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
	int ret;
 | 
			
		||||
 | 
			
		||||
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 | 
			
		||||
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 | 
			
		||||
	omap_hsmmc_init(mmc);
 | 
			
		||||
	overo_i2c_init();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,9 @@
 | 
			
		|||
#include <linux/smsc911x.h>
 | 
			
		||||
#include <linux/interrupt.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/regulator/fixed.h>
 | 
			
		||||
#include <linux/regulator/machine.h>
 | 
			
		||||
 | 
			
		||||
#include <plat/gpmc.h>
 | 
			
		||||
#include <plat/gpmc-smsc911x.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -117,11 +120,17 @@ static struct platform_device *zoom_devices[] __initdata = {
 | 
			
		|||
	&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)
 | 
			
		||||
{
 | 
			
		||||
	if (!omap_zoom_debugboard_detect())
 | 
			
		||||
		return 0;
 | 
			
		||||
 | 
			
		||||
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
 | 
			
		||||
	zoom_init_smsc911x();
 | 
			
		||||
	zoom_init_quaduart();
 | 
			
		||||
	return platform_add_devices(zoom_devices, ARRAY_SIZE(zoom_devices));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue