Re: [PATCH 1/2] Enable DVI-D output for Devkit8000

2010-04-09 Thread Thomas Weber
Hello Kan-Ru,

On 04/07/10 08:34, Kan-Ru Chen wrote:
> 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 
> ---
>  arch/arm/mach-omap2/board-devkit8000.c |   20 +---
>  1 files changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
> b/arch/arm/mach-omap2/board-devkit8000.c
> index 5bfc13b..fd4454a 100644
> --- a/arch/arm/mach-omap2/board-devkit8000.c
> +++ b/arch/arm/mach-omap2/board-devkit8000.c
> @@ -141,13 +141,18 @@ static int devkit8000_panel_enable_lcd(struct 
> omap_dss_device *dssdev)
>  static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev)
>  {
>  }
> +
>  static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev)
>  {
> + if (dssdev->reset_gpio != -EINVAL)
> + gpio_set_value(dssdev->reset_gpio, 1);
>   return 0;
>  }
>  
>  static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev)
>  {
> + if (dssdev->reset_gpio != -EINVAL)
> + gpio_set_value(dssdev->reset_gpio, 0);
>  }
>  
>  static int devkit8000_panel_enable_tv(struct omap_dss_device *dssdev)
> @@ -183,6 +188,7 @@ static struct omap_dss_device devkit8000_dvi_device = {
>   .driver_name= "generic_panel",
>   .type   = OMAP_DISPLAY_TYPE_DPI,
>   .phy.dpi.data_lines = 24,
> + .reset_gpio = -EINVAL, /* will be replaced */
>   .platform_enable= devkit8000_panel_enable_dvi,
>   .platform_disable   = devkit8000_panel_disable_dvi,
>  };
> @@ -283,6 +289,12 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
>   /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
>   gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
>  
> + /* gpio + 7 is "DVI_PD" (out, active low) */
> + devkit8000_dvi_device.reset_gpio = gpio + 7;
> + gpio_request(devkit8000_dvi_device.reset_gpio, "DVI PowerDown");
> + /* Disable until needed */
> + gpio_direction_output(devkit8000_dvi_device.reset_gpio, 0);
> +
>   return 0;
>  }
>  
> @@ -303,7 +315,7 @@ static struct regulator_consumer_supply 
> devkit8000_vpll2_supplies[] = {
>   .dev= &devkit8000_lcd_device.dev,
>   },
>   {
> - .supply = "vdss_dsi",
> + .supply = "vdds_dsi",
>   .dev= &devkit8000_dss_device.dev,
>   }
>  };
This is already fixed in patch
http://marc.info/?l=linux-omap&m=126943519824335&w=2

> @@ -665,12 +677,6 @@ static void __init devkit8000_init(void)
>  
>   devkit8000_ads7846_init();
>  
> - omap_mux_init_gpio(170, OMAP_PIN_INPUT);
> -
> - gpio_request(170, "DVI_nPD");
> - /* REVISIT leave DVI powered down until it's needed ... */
> - gpio_direction_output(170, true);
> -
>   usb_musb_init(&musb_board_data);
>   usb_ehci_init(&ehci_pdata);
>   devkit8000_flash_init();
This is already fixed in patch
http://marc.info/?l=linux-omap&m=126943519124317&w=2

Thomas
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] Enable DVI-D output for Devkit8000

2010-04-07 Thread Kan-Ru Chen
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 
---
 arch/arm/mach-omap2/board-devkit8000.c |   20 +---
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
b/arch/arm/mach-omap2/board-devkit8000.c
index 5bfc13b..fd4454a 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -141,13 +141,18 @@ static int devkit8000_panel_enable_lcd(struct 
omap_dss_device *dssdev)
 static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev)
 {
 }
+
 static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev)
 {
+   if (dssdev->reset_gpio != -EINVAL)
+   gpio_set_value(dssdev->reset_gpio, 1);
return 0;
 }
 
 static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev)
 {
+   if (dssdev->reset_gpio != -EINVAL)
+   gpio_set_value(dssdev->reset_gpio, 0);
 }
 
 static int devkit8000_panel_enable_tv(struct omap_dss_device *dssdev)
@@ -183,6 +188,7 @@ static struct omap_dss_device devkit8000_dvi_device = {
.driver_name= "generic_panel",
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
+   .reset_gpio = -EINVAL, /* will be replaced */
.platform_enable= devkit8000_panel_enable_dvi,
.platform_disable   = devkit8000_panel_disable_dvi,
 };
@@ -283,6 +289,12 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
 
+   /* gpio + 7 is "DVI_PD" (out, active low) */
+   devkit8000_dvi_device.reset_gpio = gpio + 7;
+   gpio_request(devkit8000_dvi_device.reset_gpio, "DVI PowerDown");
+   /* Disable until needed */
+   gpio_direction_output(devkit8000_dvi_device.reset_gpio, 0);
+
return 0;
 }
 
@@ -303,7 +315,7 @@ static struct regulator_consumer_supply 
devkit8000_vpll2_supplies[] = {
.dev= &devkit8000_lcd_device.dev,
},
{
-   .supply = "vdss_dsi",
+   .supply = "vdds_dsi",
.dev= &devkit8000_dss_device.dev,
}
 };
@@ -665,12 +677,6 @@ static void __init devkit8000_init(void)
 
devkit8000_ads7846_init();
 
-   omap_mux_init_gpio(170, OMAP_PIN_INPUT);
-
-   gpio_request(170, "DVI_nPD");
-   /* REVISIT leave DVI powered down until it's needed ... */
-   gpio_direction_output(170, true);
-
usb_musb_init(&musb_board_data);
usb_ehci_init(&ehci_pdata);
devkit8000_flash_init();
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] Enable DVI-D output for Devkit8000

2010-04-07 Thread Kan-Ru Chen
On Wed,  7 Apr 2010 12:09:29 +0800, Kan-Ru Chen  wrote:
> @@ -283,6 +289,12 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
>   /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
>   gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
>  
> + /* gpio + 7 is "DVI_PUD" (out, active low) */
> + devkit8000_dvi_device.reset_gpio = gpio + 7;
> + gpio_request(devkit8000_dvi_device.reset_gpio, "DVI_PUD");
> + /* Disable until needed */
> + gpio_direction_output(devkit8000_dvi_device.reset_gpio, 1);
> +
>   return 0;
>  }

Sorry for the noise, it seems I misconfigured this pin. It's actually
active high. So the initial value should be 0 to disable it. I will
prepare a new patch about this.

And seems the second patch doesn't effect the LCD state at all. I have
no idea, but the patch can be dropped.

Cheers,
  Kanru
-- 
Kan-Ru Chen | http://kanru.info

Q: Why are my replies five sentences or less?
A: http://five.sentenc.es/
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] Enable DVI-D output for Devkit8000

2010-04-06 Thread Kan-Ru Chen
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 
---
 arch/arm/mach-omap2/board-devkit8000.c |   20 +---
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
b/arch/arm/mach-omap2/board-devkit8000.c
index 5bfc13b..2e7a539 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -141,13 +141,18 @@ static int devkit8000_panel_enable_lcd(struct 
omap_dss_device *dssdev)
 static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev)
 {
 }
+
 static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev)
 {
+   if (dssdev->reset_gpio != -EINVAL)
+   gpio_set_value(dssdev->reset_gpio, 1);
return 0;
 }
 
 static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev)
 {
+   if (dssdev->reset_gpio != -EINVAL)
+   gpio_set_value(dssdev->reset_gpio, 0);
 }
 
 static int devkit8000_panel_enable_tv(struct omap_dss_device *dssdev)
@@ -183,6 +188,7 @@ static struct omap_dss_device devkit8000_dvi_device = {
.driver_name= "generic_panel",
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
+   .reset_gpio = -EINVAL, /* will be replaced */
.platform_enable= devkit8000_panel_enable_dvi,
.platform_disable   = devkit8000_panel_disable_dvi,
 };
@@ -283,6 +289,12 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
 
+   /* gpio + 7 is "DVI_PUD" (out, active low) */
+   devkit8000_dvi_device.reset_gpio = gpio + 7;
+   gpio_request(devkit8000_dvi_device.reset_gpio, "DVI_PUD");
+   /* Disable until needed */
+   gpio_direction_output(devkit8000_dvi_device.reset_gpio, 1);
+
return 0;
 }
 
@@ -303,7 +315,7 @@ static struct regulator_consumer_supply 
devkit8000_vpll2_supplies[] = {
.dev= &devkit8000_lcd_device.dev,
},
{
-   .supply = "vdss_dsi",
+   .supply = "vdds_dsi",
.dev= &devkit8000_dss_device.dev,
}
 };
@@ -665,12 +677,6 @@ static void __init devkit8000_init(void)
 
devkit8000_ads7846_init();
 
-   omap_mux_init_gpio(170, OMAP_PIN_INPUT);
-
-   gpio_request(170, "DVI_nPD");
-   /* REVISIT leave DVI powered down until it's needed ... */
-   gpio_direction_output(170, true);
-
usb_musb_init(&musb_board_data);
usb_ehci_init(&ehci_pdata);
devkit8000_flash_init();
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html