All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH V2 0/4] Add support for FIMD and DP on SMDK5250
@ 2012-12-13 11:29 Ajay Kumar
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Ajay Kumar @ 2012-12-13 11:29 UTC (permalink / raw)
  To: u-boot

Changes since V1:
	-- Fix commit message in [PATCH V2 1/4].
	-- Move LCD GPIO confiration from exynos common file to board file.
	-- Use CONFIG_CMD_BMP instead of CONFIG_TIZEN to distinguish
	   between Proprietary logo support and LCD console support.

 [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL
 [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on
    exynos_fb
 [PATCH V2 3/4] video: Modify exynos_fimd driver to support LCD console
 [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP

 arch/arm/cpu/armv7/exynos/clock.c |    2 +-
 board/samsung/smdk5250/smdk5250.c |   98 +++++++++++++++++++++++++++++++++++++
 drivers/video/exynos_fb.c         |    9 +++-
 drivers/video/exynos_fimd.c       |   10 +++-
 include/configs/smdk5250.h        |    8 +++
 5 files changed, 123 insertions(+), 4 deletions(-)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL
  2012-12-13 11:29 [U-Boot] [PATCH V2 0/4] Add support for FIMD and DP on SMDK5250 Ajay Kumar
@ 2012-12-13 11:29 ` Ajay Kumar
  2012-12-15  5:13   ` Minkyu Kang
  2012-12-13 11:29 ` [U-Boot] [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Ajay Kumar @ 2012-12-13 11:29 UTC (permalink / raw)
  To: u-boot

With VPLL as source clock to FIMD,
Exynos DP Initializaton was failing sometimes with unstable clock.
Changing FIMD source to MPLL resolves this issue.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
---
 arch/arm/cpu/armv7/exynos/clock.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c
index fe61f88..bfcd5f7 100644
--- a/arch/arm/cpu/armv7/exynos/clock.c
+++ b/arch/arm/cpu/armv7/exynos/clock.c
@@ -603,7 +603,7 @@ void exynos5_set_lcd_clk(void)
 	 */
 	cfg = readl(&clk->src_disp1_0);
 	cfg &= ~(0xf);
-	cfg |= 0x8;
+	cfg |= 0x6;
 	writel(cfg, &clk->src_disp1_0);
 
 	/*
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb
  2012-12-13 11:29 [U-Boot] [PATCH V2 0/4] Add support for FIMD and DP on SMDK5250 Ajay Kumar
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar
@ 2012-12-13 11:29 ` Ajay Kumar
  2012-12-15  5:25   ` Minkyu Kang
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 3/4] video: Modify exynos_fimd driver to support LCD console Ajay Kumar
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP Ajay Kumar
  3 siblings, 1 reply; 11+ messages in thread
From: Ajay Kumar @ 2012-12-13 11:29 UTC (permalink / raw)
  To: u-boot

When only DP is used, we need not enable CONFIG_EXYNOS_MIPI_DSIM.
Similarly, when only MIPI is used, we need not enable CONFIG_EXYNOS_DP.
But the current structuring of code forces us to enable both
CONFIG_EXYNOS_MIPI_DSIM and CONFIG_EXYNOS_DP.
This patch adds conditional compilation check to remove the dependency.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
---
 drivers/video/exynos_fb.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c
index d9a3f9a..39d3b74 100644
--- a/drivers/video/exynos_fb.c
+++ b/drivers/video/exynos_fb.c
@@ -103,8 +103,10 @@ static void lcd_panel_on(vidinfo_t *vid)
 
 	udelay(vid->power_on_delay);
 
+#ifdef CONFIG_EXYNOS_DP
 	if (vid->dp_enabled)
 		exynos_init_dp();
+#endif
 
 	if (vid->reset_lcd) {
 		vid->reset_lcd();
@@ -120,8 +122,10 @@ static void lcd_panel_on(vidinfo_t *vid)
 	if (vid->enable_ldo)
 		vid->enable_ldo(1);
 
+#ifdef CONFIG_EXYNOS_MIPI_DSIM
 	if (vid->mipi_enabled)
 		exynos_mipi_dsi_init();
+#endif
 }
 
 void lcd_ctrl_init(void *lcdbase)
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH V2 3/4] video: Modify exynos_fimd driver to support LCD console
  2012-12-13 11:29 [U-Boot] [PATCH V2 0/4] Add support for FIMD and DP on SMDK5250 Ajay Kumar
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar
  2012-12-13 11:29 ` [U-Boot] [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar
@ 2012-12-13 11:29 ` Ajay Kumar
  2012-12-14 22:38   ` Simon Glass
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP Ajay Kumar
  3 siblings, 1 reply; 11+ messages in thread
From: Ajay Kumar @ 2012-12-13 11:29 UTC (permalink / raw)
  To: u-boot

Currently, exynos FIMD driver is being used to support only TIZEN LOGOs.
In order to get LCD console, we need to enable half word swap feature
of FIMD and use 16 BPP.
LCD console and proprietary Logo cannot be used simultaneously.
You should define CONFIG_CMD_BMP for proprietary Logo, and if
CONFIG_CMD_BMP is not defined you get output console on LCD.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
---
 drivers/video/exynos_fb.c   |    5 ++++-
 drivers/video/exynos_fimd.c |   10 ++++++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c
index 39d3b74..cb19192 100644
--- a/drivers/video/exynos_fb.c
+++ b/drivers/video/exynos_fb.c
@@ -65,6 +65,7 @@ static void exynos_lcd_init(vidinfo_t *vid)
 	exynos_fimd_lcd_init(vid);
 }
 
+#ifdef CONFIG_CMD_BMP
 static void draw_logo(void)
 {
 	int x, y;
@@ -87,6 +88,7 @@ static void draw_logo(void)
 	addr = panel_info.logo_addr;
 	bmp_display(addr, x, y);
 }
+#endif
 
 static void lcd_panel_on(vidinfo_t *vid)
 {
@@ -146,12 +148,13 @@ void lcd_ctrl_init(void *lcdbase)
 
 void lcd_enable(void)
 {
+#ifdef CONFIG_CMD_BMP
 	if (panel_info.logo_on) {
 		memset(lcd_base, 0, panel_width * panel_height *
 				(NBITS(panel_info.vl_bpix) >> 3));
 		draw_logo();
 	}
-
+#endif
 	lcd_panel_on(&panel_info);
 }
 
diff --git a/drivers/video/exynos_fimd.c b/drivers/video/exynos_fimd.c
index 06eae2e..0776b6d 100644
--- a/drivers/video/exynos_fimd.c
+++ b/drivers/video/exynos_fimd.c
@@ -88,14 +88,20 @@ static void exynos_fimd_set_par(unsigned int win_id)
 	/* DATAPATH is DMA */
 	cfg |= EXYNOS_WINCON_DATAPATH_DMA;
 
-	/* bpp is 32 */
+#ifdef CONFIG_CMD_BMP /* To get proprietary LOGO */
 	cfg |= EXYNOS_WINCON_WSWP_ENABLE;
+#else	/* To get output console on LCD */
+	cfg |= EXYNOS_WINCON_HAWSWP_ENABLE;
+#endif
 
 	/* dma burst is 16 */
 	cfg |= EXYNOS_WINCON_BURSTLEN_16WORD;
 
-	/* pixel format is unpacked RGB888 */
+#ifdef CONFIG_CMD_BMP /* To get proprietary LOGO */
 	cfg |= EXYNOS_WINCON_BPPMODE_24BPP_888;
+#else	/* To get output console on LCD */
+	cfg |= EXYNOS_WINCON_BPPMODE_16BPP_565;
+#endif
 
 	writel(cfg, (unsigned int)&fimd_ctrl->wincon0 +
 			EXYNOS_WINCON(win_id));
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP
  2012-12-13 11:29 [U-Boot] [PATCH V2 0/4] Add support for FIMD and DP on SMDK5250 Ajay Kumar
                   ` (2 preceding siblings ...)
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 3/4] video: Modify exynos_fimd driver to support LCD console Ajay Kumar
@ 2012-12-13 11:29 ` Ajay Kumar
  2012-12-15  5:22   ` Minkyu Kang
  3 siblings, 1 reply; 11+ messages in thread
From: Ajay Kumar @ 2012-12-13 11:29 UTC (permalink / raw)
  To: u-boot

Add panel_info structure required by LCD driver
and DP panel platdata for SMDK5250.
Add GPIO configuration for LCD.
Enable FIMD and DP support on SMDK5250.
DP Panel size: 2560x1600.
We use 16BPP resolution to get LCD console.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
---
 board/samsung/smdk5250/smdk5250.c |   98 +++++++++++++++++++++++++++++++++++++
 include/configs/smdk5250.h        |    8 +++
 2 files changed, 106 insertions(+), 0 deletions(-)

diff --git a/board/samsung/smdk5250/smdk5250.c b/board/samsung/smdk5250/smdk5250.c
index 4c50342..4c21742 100644
--- a/board/samsung/smdk5250/smdk5250.c
+++ b/board/samsung/smdk5250/smdk5250.c
@@ -24,12 +24,15 @@
 #include <asm/io.h>
 #include <i2c.h>
 #include <netdev.h>
+#include <lcd.h>
 #include <spi.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/mmc.h>
+#include <asm/arch/power.h>
 #include <asm/arch/pinmux.h>
 #include <asm/arch/sromc.h>
+#include <asm/arch/dp_info.h>
 #include <pmic.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -181,6 +184,101 @@ static int board_uart_init(void)
 	return 0;
 }
 
+vidinfo_t panel_info = {
+	.vl_freq	= 60,
+	.vl_col		= 2560,
+	.vl_row		= 1600,
+	.vl_width	= 2560,
+	.vl_height	= 1600,
+	.vl_clkp	= CONFIG_SYS_LOW,
+	.vl_hsp		= CONFIG_SYS_LOW,
+	.vl_vsp		= CONFIG_SYS_LOW,
+	.vl_dp		= CONFIG_SYS_LOW,
+	.vl_bpix	= 4,	/* LCD_BPP = 2^4, for output conosle on LCD */
+
+	/* wDP panel timing infomation */
+	.vl_hspw	= 32,
+	.vl_hbpd	= 80,
+	.vl_hfpd	= 48,
+
+	.vl_vspw	= 6,
+	.vl_vbpd	= 37,
+	.vl_vfpd	= 3,
+	.vl_cmd_allow_len = 0xf,
+
+	.win_id		= 3,
+	.cfg_gpio	= NULL,
+	.backlight_on	= NULL,
+	.lcd_power_on	= NULL,
+	.reset_lcd	= NULL,
+	.dual_lcd_enabled = 0,
+
+	.init_delay	= 0,
+	.power_on_delay = 0,
+	.reset_delay	= 0,
+	.interface_mode = FIMD_RGB_INTERFACE,
+	.dp_enabled	= 1,
+};
+
+static struct edp_device_info edp_info = {
+	.disp_info = {
+		.h_res = 2560,
+		.h_sync_width = 32,
+		.h_back_porch = 80,
+		.h_front_porch = 48,
+		.v_res = 1600,
+		.v_sync_width  = 6,
+		.v_back_porch = 37,
+		.v_front_porch = 3,
+		.v_sync_rate = 60,
+	},
+	.lt_info = {
+		.lt_status = DP_LT_NONE,
+	},
+	.video_info = {
+		.master_mode = 0,
+		.bist_mode = DP_DISABLE,
+		.bist_pattern = NO_PATTERN,
+		.h_sync_polarity = 0,
+		.v_sync_polarity = 0,
+		.interlaced = 0,
+		.color_space = COLOR_RGB,
+		.dynamic_range = VESA,
+		.ycbcr_coeff = COLOR_YCBCR601,
+		.color_depth = COLOR_8,
+	},
+};
+
+static struct exynos_dp_platform_data dp_platform_data = {
+	.phy_enable	= set_dp_phy_ctrl,
+	.edp_dev_info	= &edp_info,
+};
+
+static void cfg_lcd_gpio(void)
+{
+	struct exynos5_gpio_part1 *gpio1 =
+		(struct exynos5_gpio_part1 *) samsung_get_base_gpio_part1();
+
+	/* For Backlight */
+	s5p_gpio_cfg_pin(&gpio1->b2, 0, GPIO_OUTPUT);
+	s5p_gpio_set_value(&gpio1->b2, 0, 1);
+
+	/* LCD power on */
+	s5p_gpio_cfg_pin(&gpio1->x1, 5, GPIO_OUTPUT);
+	s5p_gpio_set_value(&gpio1->x1, 5, 1);
+
+	/* Set Hotplug detect for DP */
+	s5p_gpio_cfg_pin(&gpio1->x0, 7, GPIO_FUNC(0x3));
+}
+
+void init_panel_info(vidinfo_t *vid)
+{
+	vid->rgb_mode   = MODE_RGB_P,
+
+	exynos_set_dp_platform_data(&dp_platform_data);
+	cfg_lcd_gpio();
+}
+
 #ifdef CONFIG_SYS_I2C_INIT_BOARD
 static int board_i2c_init(void)
 {
diff --git a/include/configs/smdk5250.h b/include/configs/smdk5250.h
index e412da8..a9b3b8b 100644
--- a/include/configs/smdk5250.h
+++ b/include/configs/smdk5250.h
@@ -256,6 +256,14 @@
 #define CONFIG_SOUND_WM8994
 #endif
 
+/* Display */
+#define CONFIG_LCD
+#define CONFIG_EXYNOS_FB
+#define CONFIG_EXYNOS_DP
+#define LCD_XRES			2560
+#define LCD_YRES			1600
+#define LCD_BPP			LCD_COLOR16
+
 /* Enable devicetree support */
 #define CONFIG_OF_LIBFDT
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH V2 3/4] video: Modify exynos_fimd driver to support LCD console
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 3/4] video: Modify exynos_fimd driver to support LCD console Ajay Kumar
@ 2012-12-14 22:38   ` Simon Glass
  0 siblings, 0 replies; 11+ messages in thread
From: Simon Glass @ 2012-12-14 22:38 UTC (permalink / raw)
  To: u-boot

Hi Ajay,

On Thu, Dec 13, 2012 at 3:29 AM, Ajay Kumar <ajaykumar.rs@samsung.com> wrote:
> Currently, exynos FIMD driver is being used to support only TIZEN LOGOs.
> In order to get LCD console, we need to enable half word swap feature
> of FIMD and use 16 BPP.
> LCD console and proprietary Logo cannot be used simultaneously.
> You should define CONFIG_CMD_BMP for proprietary Logo, and if
> CONFIG_CMD_BMP is not defined you get output console on LCD.
>
> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
> ---
>  drivers/video/exynos_fb.c   |    5 ++++-
>  drivers/video/exynos_fimd.c |   10 ++++++++--
>  2 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c
> index 39d3b74..cb19192 100644
> --- a/drivers/video/exynos_fb.c
> +++ b/drivers/video/exynos_fb.c
> @@ -65,6 +65,7 @@ static void exynos_lcd_init(vidinfo_t *vid)
>         exynos_fimd_lcd_init(vid);
>  }
>
> +#ifdef CONFIG_CMD_BMP
>  static void draw_logo(void)
>  {
>         int x, y;
> @@ -87,6 +88,7 @@ static void draw_logo(void)
>         addr = panel_info.logo_addr;
>         bmp_display(addr, x, y);
>  }
> +#endif
>
>  static void lcd_panel_on(vidinfo_t *vid)
>  {
> @@ -146,12 +148,13 @@ void lcd_ctrl_init(void *lcdbase)
>
>  void lcd_enable(void)
>  {
> +#ifdef CONFIG_CMD_BMP
>         if (panel_info.logo_on) {
>                 memset(lcd_base, 0, panel_width * panel_height *
>                                 (NBITS(panel_info.vl_bpix) >> 3));
>                 draw_logo();
>         }
> -
> +#endif
>         lcd_panel_on(&panel_info);
>  }
>
> diff --git a/drivers/video/exynos_fimd.c b/drivers/video/exynos_fimd.c
> index 06eae2e..0776b6d 100644
> --- a/drivers/video/exynos_fimd.c
> +++ b/drivers/video/exynos_fimd.c
> @@ -88,14 +88,20 @@ static void exynos_fimd_set_par(unsigned int win_id)
>         /* DATAPATH is DMA */
>         cfg |= EXYNOS_WINCON_DATAPATH_DMA;
>
> -       /* bpp is 32 */
> +#ifdef CONFIG_CMD_BMP /* To get proprietary LOGO */
>         cfg |= EXYNOS_WINCON_WSWP_ENABLE;
> +#else  /* To get output console on LCD */
> +       cfg |= EXYNOS_WINCON_HAWSWP_ENABLE;
> +#endif

It seems like you should use CONFIG_LCD_LOGO instead of
CONFIG_CMD_BMP, since people might want that command for other
reasons. Or do want a specific CONFIG for this feature?

>
>         /* dma burst is 16 */
>         cfg |= EXYNOS_WINCON_BURSTLEN_16WORD;
>
> -       /* pixel format is unpacked RGB888 */
> +#ifdef CONFIG_CMD_BMP /* To get proprietary LOGO */
>         cfg |= EXYNOS_WINCON_BPPMODE_24BPP_888;
> +#else  /* To get output console on LCD */
> +       cfg |= EXYNOS_WINCON_BPPMODE_16BPP_565;
> +#endif
>
>         writel(cfg, (unsigned int)&fimd_ctrl->wincon0 +
>                         EXYNOS_WINCON(win_id));
> --
> 1.7.1
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar
@ 2012-12-15  5:13   ` Minkyu Kang
  2012-12-17  1:12     ` Donghwa Lee
  0 siblings, 1 reply; 11+ messages in thread
From: Minkyu Kang @ 2012-12-15  5:13 UTC (permalink / raw)
  To: u-boot

Dear Donghwa,

On 13/12/12 20:29, Ajay Kumar wrote:
> With VPLL as source clock to FIMD,
> Exynos DP Initializaton was failing sometimes with unstable clock.
> Changing FIMD source to MPLL resolves this issue.
> 
> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
> Acked-by: Simon Glass <sjg@chromium.org>
> ---
>  arch/arm/cpu/armv7/exynos/clock.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c
> index fe61f88..bfcd5f7 100644
> --- a/arch/arm/cpu/armv7/exynos/clock.c
> +++ b/arch/arm/cpu/armv7/exynos/clock.c
> @@ -603,7 +603,7 @@ void exynos5_set_lcd_clk(void)
>  	 */
>  	cfg = readl(&clk->src_disp1_0);
>  	cfg &= ~(0xf);
> -	cfg |= 0x8;
> +	cfg |= 0x6;

Please check it.

>  	writel(cfg, &clk->src_disp1_0);
>  
>  	/*
> 

Thanks.
Minkyu Kang.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP
  2012-12-13 11:29 ` [U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP Ajay Kumar
@ 2012-12-15  5:22   ` Minkyu Kang
  0 siblings, 0 replies; 11+ messages in thread
From: Minkyu Kang @ 2012-12-15  5:22 UTC (permalink / raw)
  To: u-boot

Dear Ajay,

On 13/12/12 20:29, Ajay Kumar wrote:
> Add panel_info structure required by LCD driver
> and DP panel platdata for SMDK5250.
> Add GPIO configuration for LCD.
> Enable FIMD and DP support on SMDK5250.
> DP Panel size: 2560x1600.
> We use 16BPP resolution to get LCD console.
> 
> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
> ---
>  board/samsung/smdk5250/smdk5250.c |   98 +++++++++++++++++++++++++++++++++++++
>  include/configs/smdk5250.h        |    8 +++
>  2 files changed, 106 insertions(+), 0 deletions(-)
> 
> diff --git a/board/samsung/smdk5250/smdk5250.c b/board/samsung/smdk5250/smdk5250.c
> index 4c50342..4c21742 100644
> --- a/board/samsung/smdk5250/smdk5250.c
> +++ b/board/samsung/smdk5250/smdk5250.c
> @@ -24,12 +24,15 @@
>  #include <asm/io.h>
>  #include <i2c.h>
>  #include <netdev.h>
> +#include <lcd.h>
>  #include <spi.h>
>  #include <asm/arch/cpu.h>
>  #include <asm/arch/gpio.h>
>  #include <asm/arch/mmc.h>
> +#include <asm/arch/power.h>
>  #include <asm/arch/pinmux.h>
>  #include <asm/arch/sromc.h>
> +#include <asm/arch/dp_info.h>
>  #include <pmic.h>
>  
>  DECLARE_GLOBAL_DATA_PTR;
> @@ -181,6 +184,101 @@ static int board_uart_init(void)
>  	return 0;
>  }
>  
> +vidinfo_t panel_info = {
> +	.vl_freq	= 60,
> +	.vl_col		= 2560,
> +	.vl_row		= 1600,
> +	.vl_width	= 2560,
> +	.vl_height	= 1600,
> +	.vl_clkp	= CONFIG_SYS_LOW,
> +	.vl_hsp		= CONFIG_SYS_LOW,
> +	.vl_vsp		= CONFIG_SYS_LOW,
> +	.vl_dp		= CONFIG_SYS_LOW,
> +	.vl_bpix	= 4,	/* LCD_BPP = 2^4, for output conosle on LCD */
> +
> +	/* wDP panel timing infomation */
> +	.vl_hspw	= 32,
> +	.vl_hbpd	= 80,
> +	.vl_hfpd	= 48,
> +
> +	.vl_vspw	= 6,
> +	.vl_vbpd	= 37,
> +	.vl_vfpd	= 3,
> +	.vl_cmd_allow_len = 0xf,
> +
> +	.win_id		= 3,
> +	.cfg_gpio	= NULL,
> +	.backlight_on	= NULL,
> +	.lcd_power_on	= NULL,
> +	.reset_lcd	= NULL,
> +	.dual_lcd_enabled = 0,
> +
> +	.init_delay	= 0,
> +	.power_on_delay = 0,
> +	.reset_delay	= 0,
> +	.interface_mode = FIMD_RGB_INTERFACE,
> +	.dp_enabled	= 1,
> +};
> +
> +static struct edp_device_info edp_info = {
> +	.disp_info = {
> +		.h_res = 2560,
> +		.h_sync_width = 32,
> +		.h_back_porch = 80,
> +		.h_front_porch = 48,
> +		.v_res = 1600,
> +		.v_sync_width  = 6,
> +		.v_back_porch = 37,
> +		.v_front_porch = 3,
> +		.v_sync_rate = 60,
> +	},
> +	.lt_info = {
> +		.lt_status = DP_LT_NONE,
> +	},
> +	.video_info = {
> +		.master_mode = 0,
> +		.bist_mode = DP_DISABLE,
> +		.bist_pattern = NO_PATTERN,
> +		.h_sync_polarity = 0,
> +		.v_sync_polarity = 0,
> +		.interlaced = 0,
> +		.color_space = COLOR_RGB,
> +		.dynamic_range = VESA,
> +		.ycbcr_coeff = COLOR_YCBCR601,
> +		.color_depth = COLOR_8,
> +	},
> +};
> +
> +static struct exynos_dp_platform_data dp_platform_data = {
> +	.phy_enable	= set_dp_phy_ctrl,
> +	.edp_dev_info	= &edp_info,
> +};
> +
> +static void cfg_lcd_gpio(void)
> +{
> +	struct exynos5_gpio_part1 *gpio1 =
> +		(struct exynos5_gpio_part1 *) samsung_get_base_gpio_part1();
> +
> +	/* For Backlight */
> +	s5p_gpio_cfg_pin(&gpio1->b2, 0, GPIO_OUTPUT);
> +	s5p_gpio_set_value(&gpio1->b2, 0, 1);
> +
> +	/* LCD power on */
> +	s5p_gpio_cfg_pin(&gpio1->x1, 5, GPIO_OUTPUT);
> +	s5p_gpio_set_value(&gpio1->x1, 5, 1);
> +
> +	/* Set Hotplug detect for DP */
> +	s5p_gpio_cfg_pin(&gpio1->x0, 7, GPIO_FUNC(0x3));
> +}
> +
> +void init_panel_info(vidinfo_t *vid)
> +{
> +	vid->rgb_mode   = MODE_RGB_P,
> +
> +	exynos_set_dp_platform_data(&dp_platform_data);
> +	cfg_lcd_gpio();

why don't you use cfg_gpio in panel_info structure?

> +}
> +
>  #ifdef CONFIG_SYS_I2C_INIT_BOARD
>  static int board_i2c_init(void)
>  {
> diff --git a/include/configs/smdk5250.h b/include/configs/smdk5250.h
> index e412da8..a9b3b8b 100644
> --- a/include/configs/smdk5250.h
> +++ b/include/configs/smdk5250.h
> @@ -256,6 +256,14 @@
>  #define CONFIG_SOUND_WM8994
>  #endif
>  
> +/* Display */
> +#define CONFIG_LCD
> +#define CONFIG_EXYNOS_FB
> +#define CONFIG_EXYNOS_DP
> +#define LCD_XRES			2560
> +#define LCD_YRES			1600
> +#define LCD_BPP			LCD_COLOR16
> +
>  /* Enable devicetree support */
>  #define CONFIG_OF_LIBFDT
>  
> 

Thanks.
Minkyu Kang.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb
  2012-12-13 11:29 ` [U-Boot] [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar
@ 2012-12-15  5:25   ` Minkyu Kang
  2012-12-17  0:53     ` Donghwa Lee
  0 siblings, 1 reply; 11+ messages in thread
From: Minkyu Kang @ 2012-12-15  5:25 UTC (permalink / raw)
  To: u-boot

Dear Ajay,

On 13/12/12 20:29, Ajay Kumar wrote:
> When only DP is used, we need not enable CONFIG_EXYNOS_MIPI_DSIM.
> Similarly, when only MIPI is used, we need not enable CONFIG_EXYNOS_DP.
> But the current structuring of code forces us to enable both
> CONFIG_EXYNOS_MIPI_DSIM and CONFIG_EXYNOS_DP.
> This patch adds conditional compilation check to remove the dependency.
> 
> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
> Acked-by: Simon Glass <sjg@chromium.org>
> ---
>  drivers/video/exynos_fb.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c
> index d9a3f9a..39d3b74 100644
> --- a/drivers/video/exynos_fb.c
> +++ b/drivers/video/exynos_fb.c
> @@ -103,8 +103,10 @@ static void lcd_panel_on(vidinfo_t *vid)
>  
>  	udelay(vid->power_on_delay);
>  
> +#ifdef CONFIG_EXYNOS_DP
>  	if (vid->dp_enabled)
>  		exynos_init_dp();
> +#endif

Unnecessary.
please see arch/arm/include/asm/arch-exynos/dp_info.h

#ifdef CONFIG_EXYNOS_DP
unsigned int exynos_init_dp(void);
#else
unsigned int exynos_init_dp(void)
{
	return 0;
}
#endif

>  
>  	if (vid->reset_lcd) {
>  		vid->reset_lcd();
> @@ -120,8 +122,10 @@ static void lcd_panel_on(vidinfo_t *vid)
>  	if (vid->enable_ldo)
>  		vid->enable_ldo(1);
>  
> +#ifdef CONFIG_EXYNOS_MIPI_DSIM
>  	if (vid->mipi_enabled)
>  		exynos_mipi_dsi_init();
> +#endif

This should be modified like exynos_init_dp?

Donghwa, how you think?

>  }
>  
>  void lcd_ctrl_init(void *lcdbase)
> 

Thanks.
Minkyu Kang.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb
  2012-12-15  5:25   ` Minkyu Kang
@ 2012-12-17  0:53     ` Donghwa Lee
  0 siblings, 0 replies; 11+ messages in thread
From: Donghwa Lee @ 2012-12-17  0:53 UTC (permalink / raw)
  To: u-boot

On 2012? 12? 15? 14:25, Minkyu Kang wrote:
> Dear Ajay,
>
> On 13/12/12 20:29, Ajay Kumar wrote:
>> When only DP is used, we need not enable CONFIG_EXYNOS_MIPI_DSIM.
>> Similarly, when only MIPI is used, we need not enable CONFIG_EXYNOS_DP.
>> But the current structuring of code forces us to enable both
>> CONFIG_EXYNOS_MIPI_DSIM and CONFIG_EXYNOS_DP.
>> This patch adds conditional compilation check to remove the dependency.
>>
>> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
>> Acked-by: Simon Glass <sjg@chromium.org>
>> ---
>>   drivers/video/exynos_fb.c |    4 ++++
>>   1 files changed, 4 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c
>> index d9a3f9a..39d3b74 100644
>> --- a/drivers/video/exynos_fb.c
>> +++ b/drivers/video/exynos_fb.c
>> @@ -103,8 +103,10 @@ static void lcd_panel_on(vidinfo_t *vid)
>>   
>>   	udelay(vid->power_on_delay);
>>   
>> +#ifdef CONFIG_EXYNOS_DP
>>   	if (vid->dp_enabled)
>>   		exynos_init_dp();
>> +#endif
> Unnecessary.
> please see arch/arm/include/asm/arch-exynos/dp_info.h
>
> #ifdef CONFIG_EXYNOS_DP
> unsigned int exynos_init_dp(void);
> #else
> unsigned int exynos_init_dp(void)
> {
> 	return 0;
> }
> #endif
>
>>   
>>   	if (vid->reset_lcd) {
>>   		vid->reset_lcd();
>> @@ -120,8 +122,10 @@ static void lcd_panel_on(vidinfo_t *vid)
>>   	if (vid->enable_ldo)
>>   		vid->enable_ldo(1);
>>   
>> +#ifdef CONFIG_EXYNOS_MIPI_DSIM
>>   	if (vid->mipi_enabled)
>>   		exynos_mipi_dsi_init();
>> +#endif
> This should be modified like exynos_init_dp?
>
> Donghwa, how you think?

I agree with you. It looks better than using #ifdef.

Thank you,
Donghwa Lee

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL
  2012-12-15  5:13   ` Minkyu Kang
@ 2012-12-17  1:12     ` Donghwa Lee
  0 siblings, 0 replies; 11+ messages in thread
From: Donghwa Lee @ 2012-12-17  1:12 UTC (permalink / raw)
  To: u-boot

On 2012? 12? 15? 14:13, Minkyu Kang wrote:
> Dear Donghwa,
>
> On 13/12/12 20:29, Ajay Kumar wrote:
>> With VPLL as source clock to FIMD,
>> Exynos DP Initializaton was failing sometimes with unstable clock.
>> Changing FIMD source to MPLL resolves this issue.
>>
>> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
>> Acked-by: Simon Glass <sjg@chromium.org>
>> ---
>>   arch/arm/cpu/armv7/exynos/clock.c |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c
>> index fe61f88..bfcd5f7 100644
>> --- a/arch/arm/cpu/armv7/exynos/clock.c
>> +++ b/arch/arm/cpu/armv7/exynos/clock.c
>> @@ -603,7 +603,7 @@ void exynos5_set_lcd_clk(void)
>>   	 */
>>   	cfg = readl(&clk->src_disp1_0);
>>   	cfg &= ~(0xf);
>> -	cfg |= 0x8;
>> +	cfg |= 0x6;
> Please check it.
In order to use the configured refresh rate as closely as possible, it 
is more proper value(MPLL: 0x6) than
using VPLL as source clock.

Thank you,
Donghwa Lee

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-12-17  1:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-13 11:29 [U-Boot] [PATCH V2 0/4] Add support for FIMD and DP on SMDK5250 Ajay Kumar
2012-12-13 11:29 ` [U-Boot] [PATCH V2 1/4] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar
2012-12-15  5:13   ` Minkyu Kang
2012-12-17  1:12     ` Donghwa Lee
2012-12-13 11:29 ` [U-Boot] [PATCH RESEND 2/4] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar
2012-12-15  5:25   ` Minkyu Kang
2012-12-17  0:53     ` Donghwa Lee
2012-12-13 11:29 ` [U-Boot] [PATCH V2 3/4] video: Modify exynos_fimd driver to support LCD console Ajay Kumar
2012-12-14 22:38   ` Simon Glass
2012-12-13 11:29 ` [U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP Ajay Kumar
2012-12-15  5:22   ` Minkyu Kang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.