omap3: Enable DSS2 for IGEP v2 board
Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
d0885486d7
commit
691de27f3c
1 changed files with 75 additions and 0 deletions
|
@ -28,6 +28,7 @@
|
||||||
#include <plat/common.h>
|
#include <plat/common.h>
|
||||||
#include <plat/gpmc.h>
|
#include <plat/gpmc.h>
|
||||||
#include <plat/usb.h>
|
#include <plat/usb.h>
|
||||||
|
#include <plat/display.h>
|
||||||
|
|
||||||
#include "mux.h"
|
#include "mux.h"
|
||||||
#include "hsmmc.h"
|
#include "hsmmc.h"
|
||||||
|
@ -38,6 +39,7 @@
|
||||||
#define IGEP2_GPIO_LED0_RED 26
|
#define IGEP2_GPIO_LED0_RED 26
|
||||||
#define IGEP2_GPIO_LED0_GREEN 27
|
#define IGEP2_GPIO_LED0_GREEN 27
|
||||||
#define IGEP2_GPIO_LED1_RED 28
|
#define IGEP2_GPIO_LED1_RED 28
|
||||||
|
#define IGEP2_GPIO_DVI_PUP 170
|
||||||
|
|
||||||
#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
|
#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
|
||||||
|
|
||||||
|
@ -164,6 +166,76 @@ static struct twl4030_usb_data igep2_usb_data = {
|
||||||
.usb_mode = T2_USB_MODE_ULPI,
|
.usb_mode = T2_USB_MODE_ULPI,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int igep2_enable_dvi(struct omap_dss_device *dssdev)
|
||||||
|
{
|
||||||
|
gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void igep2_disable_dvi(struct omap_dss_device *dssdev)
|
||||||
|
{
|
||||||
|
gpio_direction_output(IGEP2_GPIO_DVI_PUP, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct omap_dss_device igep2_dvi_device = {
|
||||||
|
.type = OMAP_DISPLAY_TYPE_DPI,
|
||||||
|
.name = "dvi",
|
||||||
|
.driver_name = "generic_panel",
|
||||||
|
.phy.dpi.data_lines = 24,
|
||||||
|
.platform_enable = igep2_enable_dvi,
|
||||||
|
.platform_disable = igep2_disable_dvi,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_dss_device *igep2_dss_devices[] = {
|
||||||
|
&igep2_dvi_device
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_dss_board_info igep2_dss_data = {
|
||||||
|
.num_devices = ARRAY_SIZE(igep2_dss_devices),
|
||||||
|
.devices = igep2_dss_devices,
|
||||||
|
.default_device = &igep2_dvi_device,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device igep2_dss_device = {
|
||||||
|
.name = "omapdss",
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &igep2_dss_data,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply igep2_vpll2_supply = {
|
||||||
|
.supply = "vdds_dsi",
|
||||||
|
.dev = &igep2_dss_device.dev,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data igep2_vpll2 = {
|
||||||
|
.constraints = {
|
||||||
|
.name = "VDVI",
|
||||||
|
.min_uV = 1800000,
|
||||||
|
.max_uV = 1800000,
|
||||||
|
.apply_uV = true,
|
||||||
|
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||||
|
| REGULATOR_MODE_STANDBY,
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||||
|
| REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
.num_consumer_supplies = 1,
|
||||||
|
.consumer_supplies = &igep2_vpll2_supply,
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init igep2_display_init(void)
|
||||||
|
{
|
||||||
|
if (gpio_request(IGEP2_GPIO_DVI_PUP, "GPIO_DVI_PUP") &&
|
||||||
|
gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1))
|
||||||
|
pr_err("IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct platform_device *igep2_devices[] __initdata = {
|
||||||
|
&igep2_dss_device,
|
||||||
|
};
|
||||||
|
|
||||||
static void __init igep2_init_irq(void)
|
static void __init igep2_init_irq(void)
|
||||||
{
|
{
|
||||||
omap_board_config = igep2_config;
|
omap_board_config = igep2_config;
|
||||||
|
@ -191,6 +263,7 @@ static struct twl4030_platform_data igep2_twldata = {
|
||||||
.codec = &igep2_codec_data,
|
.codec = &igep2_codec_data,
|
||||||
.gpio = &igep2_gpio_data,
|
.gpio = &igep2_gpio_data,
|
||||||
.vmmc1 = &igep2_vmmc1,
|
.vmmc1 = &igep2_vmmc1,
|
||||||
|
.vpll2 = &igep2_vpll2,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -236,10 +309,12 @@ static void __init igep2_init(void)
|
||||||
{
|
{
|
||||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||||
igep2_i2c_init();
|
igep2_i2c_init();
|
||||||
|
platform_add_devices(igep2_devices, ARRAY_SIZE(igep2_devices));
|
||||||
omap_serial_init();
|
omap_serial_init();
|
||||||
usb_musb_init();
|
usb_musb_init();
|
||||||
usb_ehci_init(&ehci_pdata);
|
usb_ehci_init(&ehci_pdata);
|
||||||
|
|
||||||
|
igep2_display_init();
|
||||||
igep2_init_smsc911x();
|
igep2_init_smsc911x();
|
||||||
|
|
||||||
/* GPIO userspace leds */
|
/* GPIO userspace leds */
|
||||||
|
|
Loading…
Add table
Reference in a new issue