Re: [U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP

2012-12-14 Thread Minkyu Kang
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...@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.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 4/4] EXYNOS5: Add support for FIMD and DP

2012-12-13 Thread Ajay Kumar
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...@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_BPPLCD_COLOR16
+
 /* Enable devicetree support */
 #define CONFIG_OF_LIBFDT
 
-- 
1.7.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot