diff options
author | Kan-Ru Chen <kanru@0xlab.org> | 2010-07-05 10:04:40 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-07-05 10:04:40 -0400 |
commit | 31c73f74f3e2d3b842f1dcb3bbcfc4b53b62f797 (patch) | |
tree | e293babda183c1d33c46f53f2c61ebef0aa34d39 | |
parent | 61d07ef4b4eea2f4c2aaef10ef013775896314a9 (diff) |
OMAP2: Devkit8000: Enable DVI-D output
This patch corrects the DVI-D output setup of Devkit8000
Devkit8000 has different DVI reset pin with the BeagleBoard.
On Devkit8000 the TWL4030 GPIO_7 is assigned to do the job.
Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/board-devkit8000.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index a0860a96b624..03cb97e3319b 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -140,13 +140,18 @@ static int devkit8000_panel_enable_lcd(struct omap_dss_device *dssdev) | |||
140 | static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev) | 140 | static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev) |
141 | { | 141 | { |
142 | } | 142 | } |
143 | |||
143 | static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev) | 144 | static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev) |
144 | { | 145 | { |
146 | if (dssdev->reset_gpio != -EINVAL) | ||
147 | gpio_set_value(dssdev->reset_gpio, 1); | ||
145 | return 0; | 148 | return 0; |
146 | } | 149 | } |
147 | 150 | ||
148 | static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev) | 151 | static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev) |
149 | { | 152 | { |
153 | if (dssdev->reset_gpio != -EINVAL) | ||
154 | gpio_set_value(dssdev->reset_gpio, 0); | ||
150 | } | 155 | } |
151 | 156 | ||
152 | static int devkit8000_panel_enable_tv(struct omap_dss_device *dssdev) | 157 | static int devkit8000_panel_enable_tv(struct omap_dss_device *dssdev) |
@@ -186,6 +191,7 @@ static struct omap_dss_device devkit8000_dvi_device = { | |||
186 | .driver_name = "generic_panel", | 191 | .driver_name = "generic_panel", |
187 | .type = OMAP_DISPLAY_TYPE_DPI, | 192 | .type = OMAP_DISPLAY_TYPE_DPI, |
188 | .phy.dpi.data_lines = 24, | 193 | .phy.dpi.data_lines = 24, |
194 | .reset_gpio = -EINVAL, /* will be replaced */ | ||
189 | .platform_enable = devkit8000_panel_enable_dvi, | 195 | .platform_enable = devkit8000_panel_enable_dvi, |
190 | .platform_disable = devkit8000_panel_disable_dvi, | 196 | .platform_disable = devkit8000_panel_disable_dvi, |
191 | }; | 197 | }; |
@@ -272,6 +278,15 @@ static int devkit8000_twl_gpio_setup(struct device *dev, | |||
272 | devkit8000_vmmc1_supply.dev = mmc[0].dev; | 278 | devkit8000_vmmc1_supply.dev = mmc[0].dev; |
273 | devkit8000_vsim_supply.dev = mmc[0].dev; | 279 | devkit8000_vsim_supply.dev = mmc[0].dev; |
274 | 280 | ||
281 | /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ | ||
282 | gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; | ||
283 | |||
284 | /* gpio + 7 is "DVI_PD" (out, active low) */ | ||
285 | devkit8000_dvi_device.reset_gpio = gpio + 7; | ||
286 | gpio_request(devkit8000_dvi_device.reset_gpio, "DVI PowerDown"); | ||
287 | /* Disable until needed */ | ||
288 | gpio_direction_output(devkit8000_dvi_device.reset_gpio, 0); | ||
289 | |||
275 | return 0; | 290 | return 0; |
276 | } | 291 | } |
277 | 292 | ||