|
@@ -81,13 +81,13 @@ static u8 omap3_beagle_version;
|
|
static struct {
|
|
static struct {
|
|
int mmc1_gpio_wp;
|
|
int mmc1_gpio_wp;
|
|
int usb_pwr_level;
|
|
int usb_pwr_level;
|
|
- int reset_gpio;
|
|
|
|
|
|
+ int dvi_pd_gpio;
|
|
int usr_button_gpio;
|
|
int usr_button_gpio;
|
|
int mmc_caps;
|
|
int mmc_caps;
|
|
} beagle_config = {
|
|
} beagle_config = {
|
|
.mmc1_gpio_wp = -EINVAL,
|
|
.mmc1_gpio_wp = -EINVAL,
|
|
.usb_pwr_level = GPIOF_OUT_INIT_LOW,
|
|
.usb_pwr_level = GPIOF_OUT_INIT_LOW,
|
|
- .reset_gpio = 129,
|
|
|
|
|
|
+ .dvi_pd_gpio = -EINVAL,
|
|
.usr_button_gpio = 4,
|
|
.usr_button_gpio = 4,
|
|
.mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
|
|
.mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
|
|
};
|
|
};
|
|
@@ -126,21 +126,21 @@ static void __init omap3_beagle_init_rev(void)
|
|
printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
|
|
printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
|
|
omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
|
|
omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
|
|
beagle_config.mmc1_gpio_wp = 29;
|
|
beagle_config.mmc1_gpio_wp = 29;
|
|
- beagle_config.reset_gpio = 170;
|
|
|
|
|
|
+ beagle_config.dvi_pd_gpio = 170;
|
|
beagle_config.usr_button_gpio = 7;
|
|
beagle_config.usr_button_gpio = 7;
|
|
break;
|
|
break;
|
|
case 6:
|
|
case 6:
|
|
printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
|
|
printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
|
|
omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
|
|
omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
|
|
beagle_config.mmc1_gpio_wp = 23;
|
|
beagle_config.mmc1_gpio_wp = 23;
|
|
- beagle_config.reset_gpio = 170;
|
|
|
|
|
|
+ beagle_config.dvi_pd_gpio = 170;
|
|
beagle_config.usr_button_gpio = 7;
|
|
beagle_config.usr_button_gpio = 7;
|
|
break;
|
|
break;
|
|
case 5:
|
|
case 5:
|
|
printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
|
|
printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
|
|
omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
|
|
omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
|
|
beagle_config.mmc1_gpio_wp = 23;
|
|
beagle_config.mmc1_gpio_wp = 23;
|
|
- beagle_config.reset_gpio = 170;
|
|
|
|
|
|
+ beagle_config.dvi_pd_gpio = 170;
|
|
beagle_config.usr_button_gpio = 7;
|
|
beagle_config.usr_button_gpio = 7;
|
|
break;
|
|
break;
|
|
case 0:
|
|
case 0:
|
|
@@ -274,11 +274,9 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|
if (r)
|
|
if (r)
|
|
pr_err("%s: unable to configure nDVI_PWR_EN\n",
|
|
pr_err("%s: unable to configure nDVI_PWR_EN\n",
|
|
__func__);
|
|
__func__);
|
|
- r = gpio_request_one(gpio + 2, GPIOF_OUT_INIT_HIGH,
|
|
|
|
- "DVI_LDO_EN");
|
|
|
|
- if (r)
|
|
|
|
- pr_err("%s: unable to configure DVI_LDO_EN\n",
|
|
|
|
- __func__);
|
|
|
|
|
|
+
|
|
|
|
+ beagle_config.dvi_pd_gpio = gpio + 2;
|
|
|
|
+
|
|
} else {
|
|
} else {
|
|
/*
|
|
/*
|
|
* REVISIT: need ehci-omap hooks for external VBUS
|
|
* REVISIT: need ehci-omap hooks for external VBUS
|
|
@@ -287,7 +285,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|
if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
|
|
if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
|
|
pr_err("%s: unable to configure EHCI_nOC\n", __func__);
|
|
pr_err("%s: unable to configure EHCI_nOC\n", __func__);
|
|
}
|
|
}
|
|
- dvi_panel.power_down_gpio = beagle_config.reset_gpio;
|
|
|
|
|
|
+ dvi_panel.power_down_gpio = beagle_config.dvi_pd_gpio;
|
|
|
|
|
|
gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level,
|
|
gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level,
|
|
"nEN_USB_PWR");
|
|
"nEN_USB_PWR");
|
|
@@ -499,7 +497,7 @@ static void __init omap3_beagle_init(void)
|
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
|
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
|
omap3_beagle_init_rev();
|
|
omap3_beagle_init_rev();
|
|
|
|
|
|
- if (beagle_config.mmc1_gpio_wp != -EINVAL)
|
|
|
|
|
|
+ if (gpio_is_valid(beagle_config.mmc1_gpio_wp))
|
|
omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
|
|
omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
|
|
mmc[0].caps = beagle_config.mmc_caps;
|
|
mmc[0].caps = beagle_config.mmc_caps;
|
|
omap_hsmmc_init(mmc);
|
|
omap_hsmmc_init(mmc);
|
|
@@ -510,15 +508,13 @@ static void __init omap3_beagle_init(void)
|
|
|
|
|
|
platform_add_devices(omap3_beagle_devices,
|
|
platform_add_devices(omap3_beagle_devices,
|
|
ARRAY_SIZE(omap3_beagle_devices));
|
|
ARRAY_SIZE(omap3_beagle_devices));
|
|
|
|
+ if (gpio_is_valid(beagle_config.dvi_pd_gpio))
|
|
|
|
+ omap_mux_init_gpio(beagle_config.dvi_pd_gpio, OMAP_PIN_OUTPUT);
|
|
omap_display_init(&beagle_dss_data);
|
|
omap_display_init(&beagle_dss_data);
|
|
omap_serial_init();
|
|
omap_serial_init();
|
|
omap_sdrc_init(mt46h32m32lf6_sdrc_params,
|
|
omap_sdrc_init(mt46h32m32lf6_sdrc_params,
|
|
mt46h32m32lf6_sdrc_params);
|
|
mt46h32m32lf6_sdrc_params);
|
|
|
|
|
|
- omap_mux_init_gpio(170, OMAP_PIN_INPUT);
|
|
|
|
- /* REVISIT leave DVI powered down until it's needed ... */
|
|
|
|
- gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD");
|
|
|
|
-
|
|
|
|
usb_musb_init(NULL);
|
|
usb_musb_init(NULL);
|
|
usbhs_init(&usbhs_bdata);
|
|
usbhs_init(&usbhs_bdata);
|
|
omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
|
|
omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
|