Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c50d22a authored by Tony Lindgren's avatar Tony Lindgren
Browse files

Merge branch 'omap3-boards' into for-next

parents 970a724d 74190450
Loading
Loading
Loading
Loading
+1528 −0

File added.

Preview size limit exceeded, changes collapsed.

+1211 −0

File added.

Preview size limit exceeded, changes collapsed.

+8 −0
Original line number Diff line number Diff line
@@ -56,6 +56,10 @@ config MACH_OVERO
	bool "Gumstix Overo board"
	depends on ARCH_OMAP3 && ARCH_OMAP34XX

config MACH_OMAP3EVM
	bool "OMAP 3530 EVM board"
	depends on ARCH_OMAP3 && ARCH_OMAP34XX

config MACH_OMAP3_PANDORA
	bool "OMAP3 Pandora"
	depends on ARCH_OMAP3 && ARCH_OMAP34XX
@@ -67,3 +71,7 @@ config MACH_OMAP_3430SDP
config MACH_NOKIA_RX51
	bool "Nokia RX-51 board"
	depends on ARCH_OMAP3 && ARCH_OMAP34XX

config MACH_OMAP_ZOOM2
	bool "OMAP3 Zoom2 board"
	depends on ARCH_OMAP3 && ARCH_OMAP34XX
+5 −1
Original line number Diff line number Diff line
@@ -47,6 +47,8 @@ obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o \
					   mmc-twl4030.o
obj-$(CONFIG_MACH_OVERO)		+= board-overo.o \
					   mmc-twl4030.o
obj-$(CONFIG_MACH_OMAP3EVM)		+= board-omap3evm.o \
					   mmc-twl4030.o
obj-$(CONFIG_MACH_OMAP3_PANDORA)	+= board-omap3pandora.o \
					   mmc-twl4030.o
obj-$(CONFIG_MACH_OMAP_3430SDP)		+= board-3430sdp.o \
@@ -55,7 +57,9 @@ obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \
obj-$(CONFIG_MACH_NOKIA_RX51)		+= board-rx51.o \
					   board-rx51-peripherals.o \
					   mmc-twl4030.o

obj-$(CONFIG_MACH_OMAP_ZOOM2)		+= board-zoom2.o \
					   mmc-twl4030.o \
					   board-zoom-debugboard.o
# Platform specific device init code
obj-y					+= usb-musb.o

+95 −9
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include <linux/mtd/partitions.h>
#include <linux/mtd/nand.h>

#include <linux/regulator/machine.h>
#include <linux/i2c/twl4030.h>

#include <mach/hardware.h>
@@ -120,6 +121,23 @@ static struct twl4030_hsmmc_info mmc[] = {
	{}	/* Terminator */
};

static struct platform_device omap3_beagle_lcd_device = {
	.name		= "omap3beagle_lcd",
	.id		= -1,
};

static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
	.ctrl_name	= "internal",
};

static struct regulator_consumer_supply beagle_vmmc1_supply = {
	.supply			= "vmmc",
};

static struct regulator_consumer_supply beagle_vsim_supply = {
	.supply			= "vmmc_aux",
};

static struct gpio_led gpio_leds[];

static int beagle_twl_gpio_setup(struct device *dev,
@@ -130,6 +148,10 @@ static int beagle_twl_gpio_setup(struct device *dev,
	mmc[0].gpio_cd = gpio + 0;
	twl4030_mmc_init(mmc);

	/* link regulators to MMC adapters */
	beagle_vmmc1_supply.dev = mmc[0].dev;
	beagle_vsim_supply.dev = mmc[0].dev;

	/* REVISIT: need ehci-omap hooks for external VBUS
	 * power switch and overcurrent detect
	 */
@@ -158,12 +180,85 @@ static struct twl4030_gpio_platform_data beagle_gpio_data = {
	.setup		= beagle_twl_gpio_setup,
};

static struct regulator_consumer_supply beagle_vdac_supply = {
	.supply		= "vdac",
	.dev		= &omap3_beagle_lcd_device.dev,
};

static struct regulator_consumer_supply beagle_vdvi_supply = {
	.supply		= "vdvi",
	.dev		= &omap3_beagle_lcd_device.dev,
};

/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
static struct regulator_init_data beagle_vmmc1 = {
	.constraints = {
		.min_uV			= 1850000,
		.max_uV			= 3150000,
		.valid_modes_mask	= REGULATOR_MODE_NORMAL
					| REGULATOR_MODE_STANDBY,
		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
					| REGULATOR_CHANGE_MODE
					| REGULATOR_CHANGE_STATUS,
	},
	.num_consumer_supplies	= 1,
	.consumer_supplies	= &beagle_vmmc1_supply,
};

/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
static struct regulator_init_data beagle_vsim = {
	.constraints = {
		.min_uV			= 1800000,
		.max_uV			= 3000000,
		.valid_modes_mask	= REGULATOR_MODE_NORMAL
					| REGULATOR_MODE_STANDBY,
		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
					| REGULATOR_CHANGE_MODE
					| REGULATOR_CHANGE_STATUS,
	},
	.num_consumer_supplies	= 1,
	.consumer_supplies	= &beagle_vsim_supply,
};

/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
static struct regulator_init_data beagle_vdac = {
	.constraints = {
		.min_uV			= 1800000,
		.max_uV			= 1800000,
		.valid_modes_mask	= REGULATOR_MODE_NORMAL
					| REGULATOR_MODE_STANDBY,
		.valid_ops_mask		= REGULATOR_CHANGE_MODE
					| REGULATOR_CHANGE_STATUS,
	},
	.num_consumer_supplies	= 1,
	.consumer_supplies	= &beagle_vdac_supply,
};

/* VPLL2 for digital video outputs */
static struct regulator_init_data beagle_vpll2 = {
	.constraints = {
		.name			= "VDVI",
		.min_uV			= 1800000,
		.max_uV			= 1800000,
		.valid_modes_mask	= REGULATOR_MODE_NORMAL
					| REGULATOR_MODE_STANDBY,
		.valid_ops_mask		= REGULATOR_CHANGE_MODE
					| REGULATOR_CHANGE_STATUS,
	},
	.num_consumer_supplies	= 1,
	.consumer_supplies	= &beagle_vdvi_supply,
};

static struct twl4030_platform_data beagle_twldata = {
	.irq_base	= TWL4030_IRQ_BASE,
	.irq_end	= TWL4030_IRQ_END,

	/* platform_data for children goes here */
	.gpio		= &beagle_gpio_data,
	.vmmc1		= &beagle_vmmc1,
	.vsim		= &beagle_vsim,
	.vdac		= &beagle_vdac,
	.vpll2		= &beagle_vpll2,
};

static struct i2c_board_info __initdata beagle_i2c_boardinfo[] = {
@@ -195,15 +290,6 @@ static void __init omap3_beagle_init_irq(void)
	omap_gpio_init();
}

static struct platform_device omap3_beagle_lcd_device = {
	.name		= "omap3beagle_lcd",
	.id		= -1,
};

static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
	.ctrl_name	= "internal",
};

static struct gpio_led gpio_leds[] = {
	{
		.name			= "beagleboard::usr0",
Loading