* [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL
@ 2012-12-11 11:01 Ajay Kumar
2012-12-11 11:01 ` [U-Boot] [PATCH 2/5] EXYNOS5: Add pinmux for LCD Ajay Kumar
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Ajay Kumar @ 2012-12-11 11:01 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 resolves this issue.
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
---
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 2/5] EXYNOS5: Add pinmux for LCD 2012-12-11 11:01 [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar @ 2012-12-11 11:01 ` Ajay Kumar 2012-12-12 14:02 ` Kyungmin Park 2012-12-11 11:01 ` [U-Boot] [PATCH 3/5] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar ` (3 subsequent siblings) 4 siblings, 1 reply; 11+ messages in thread From: Ajay Kumar @ 2012-12-11 11:01 UTC (permalink / raw) To: u-boot This patch adds pinmux configuration for backlight, LCD reset and HPD for DP panel on Exynos5 SMDK. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> --- arch/arm/cpu/armv7/exynos/pinmux.c | 20 ++++++++++++++++++++ arch/arm/include/asm/arch-exynos/periph.h | 1 + 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c index f02f441..84f52ea 100644 --- a/arch/arm/cpu/armv7/exynos/pinmux.c +++ b/arch/arm/cpu/armv7/exynos/pinmux.c @@ -284,6 +284,23 @@ void exynos5_spi_config(int peripheral) } } +void exynos5_lcd_config() +{ + 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)); +} + static int exynos5_pinmux_config(int peripheral, int flags) { switch (peripheral) { @@ -321,6 +338,9 @@ static int exynos5_pinmux_config(int peripheral, int flags) case PERIPH_ID_SPI4: exynos5_spi_config(peripheral); break; + case PERIPH_ID_LCD: + exynos5_lcd_config(); + break; default: debug("%s: invalid peripheral %d", __func__, peripheral); return -1; diff --git a/arch/arm/include/asm/arch-exynos/periph.h b/arch/arm/include/asm/arch-exynos/periph.h index 13abd2d..446f5c9 100644 --- a/arch/arm/include/asm/arch-exynos/periph.h +++ b/arch/arm/include/asm/arch-exynos/periph.h @@ -54,6 +54,7 @@ enum periph_id { PERIPH_ID_UART1, PERIPH_ID_UART2, PERIPH_ID_UART3, + PERIPH_ID_LCD, PERIPH_ID_COUNT, PERIPH_ID_NONE = -1, -- 1.7.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH 2/5] EXYNOS5: Add pinmux for LCD 2012-12-11 11:01 ` [U-Boot] [PATCH 2/5] EXYNOS5: Add pinmux for LCD Ajay Kumar @ 2012-12-12 14:02 ` Kyungmin Park 2012-12-13 2:21 ` Minkyu Kang 0 siblings, 1 reply; 11+ messages in thread From: Kyungmin Park @ 2012-12-12 14:02 UTC (permalink / raw) To: u-boot Hi, On Tue, Dec 11, 2012 at 8:01 PM, Ajay Kumar <ajaykumar.rs@samsung.com> wrote: > This patch adds pinmux configuration for backlight, LCD reset > and HPD for DP panel on Exynos5 SMDK. > > Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> > --- > arch/arm/cpu/armv7/exynos/pinmux.c | 20 ++++++++++++++++++++ > arch/arm/include/asm/arch-exynos/periph.h | 1 + > 2 files changed, 21 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c > index f02f441..84f52ea 100644 > --- a/arch/arm/cpu/armv7/exynos/pinmux.c > +++ b/arch/arm/cpu/armv7/exynos/pinmux.c > @@ -284,6 +284,23 @@ void exynos5_spi_config(int peripheral) > } > } > > +void exynos5_lcd_config() missing 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)); It should be SMDK5250 specific codes, it can't located at common file. Thank you, Kyungmin Park > +} > + > static int exynos5_pinmux_config(int peripheral, int flags) > { > switch (peripheral) { > @@ -321,6 +338,9 @@ static int exynos5_pinmux_config(int peripheral, int flags) > case PERIPH_ID_SPI4: > exynos5_spi_config(peripheral); > break; > + case PERIPH_ID_LCD: > + exynos5_lcd_config(); > + break; > default: > debug("%s: invalid peripheral %d", __func__, peripheral); > return -1; > diff --git a/arch/arm/include/asm/arch-exynos/periph.h b/arch/arm/include/asm/arch-exynos/periph.h > index 13abd2d..446f5c9 100644 > --- a/arch/arm/include/asm/arch-exynos/periph.h > +++ b/arch/arm/include/asm/arch-exynos/periph.h > @@ -54,6 +54,7 @@ enum periph_id { > PERIPH_ID_UART1, > PERIPH_ID_UART2, > PERIPH_ID_UART3, > + PERIPH_ID_LCD, > > PERIPH_ID_COUNT, > PERIPH_ID_NONE = -1, > -- > 1.7.1 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH 2/5] EXYNOS5: Add pinmux for LCD 2012-12-12 14:02 ` Kyungmin Park @ 2012-12-13 2:21 ` Minkyu Kang 0 siblings, 0 replies; 11+ messages in thread From: Minkyu Kang @ 2012-12-13 2:21 UTC (permalink / raw) To: u-boot On 12/12/12 23:02, Kyungmin Park wrote: > Hi, > > On Tue, Dec 11, 2012 at 8:01 PM, Ajay Kumar <ajaykumar.rs@samsung.com> wrote: >> This patch adds pinmux configuration for backlight, LCD reset >> and HPD for DP panel on Exynos5 SMDK. >> >> Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> >> --- >> arch/arm/cpu/armv7/exynos/pinmux.c | 20 ++++++++++++++++++++ >> arch/arm/include/asm/arch-exynos/periph.h | 1 + >> 2 files changed, 21 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c >> index f02f441..84f52ea 100644 >> --- a/arch/arm/cpu/armv7/exynos/pinmux.c >> +++ b/arch/arm/cpu/armv7/exynos/pinmux.c >> @@ -284,6 +284,23 @@ void exynos5_spi_config(int peripheral) >> } >> } >> >> +void exynos5_lcd_config() > missing 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)); > It should be SMDK5250 specific codes, it can't located at common file. > You can use the cfg_gpio function at your board file. Thanks. Minkyu Kang. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH 3/5] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb 2012-12-11 11:01 [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar 2012-12-11 11:01 ` [U-Boot] [PATCH 2/5] EXYNOS5: Add pinmux for LCD Ajay Kumar @ 2012-12-11 11:01 ` Ajay Kumar 2012-12-12 14:31 ` Simon Glass 2012-12-11 11:01 ` [U-Boot] [PATCH 4/5] EXYNOS5: Add support for FIMD and DP Ajay Kumar ` (2 subsequent siblings) 4 siblings, 1 reply; 11+ messages in thread From: Ajay Kumar @ 2012-12-11 11:01 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> --- 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 3/5] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb 2012-12-11 11:01 ` [U-Boot] [PATCH 3/5] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar @ 2012-12-12 14:31 ` Simon Glass 0 siblings, 0 replies; 11+ messages in thread From: Simon Glass @ 2012-12-12 14:31 UTC (permalink / raw) To: u-boot On Tue, Dec 11, 2012 at 3:01 AM, Ajay Kumar <ajaykumar.rs@samsung.com> 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 > > 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 [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH 4/5] EXYNOS5: Add support for FIMD and DP 2012-12-11 11:01 [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar 2012-12-11 11:01 ` [U-Boot] [PATCH 2/5] EXYNOS5: Add pinmux for LCD Ajay Kumar 2012-12-11 11:01 ` [U-Boot] [PATCH 3/5] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar @ 2012-12-11 11:01 ` Ajay Kumar 2012-12-12 14:42 ` Simon Glass 2012-12-11 11:01 ` [U-Boot] [PATCH 5/5] video: Modify exynos_fimd driver to support LCD console Ajay Kumar 2012-12-12 14:31 ` [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Simon Glass 4 siblings, 1 reply; 11+ messages in thread From: Ajay Kumar @ 2012-12-11 11:01 UTC (permalink / raw) To: u-boot Add panel_info structure required by LCD driver and DP panel platdata for SMDK5250. 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 | 82 +++++++++++++++++++++++++++++++++++++ include/configs/smdk5250.h | 9 ++++ 2 files changed, 91 insertions(+), 0 deletions(-) diff --git a/board/samsung/smdk5250/smdk5250.c b/board/samsung/smdk5250/smdk5250.c index 4c50342..e3d6ac1 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,85 @@ 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, +}; + +void init_panel_info(vidinfo_t *vid) +{ + vid->logo_on = 1, + vid->rgb_mode = MODE_RGB_P, + + exynos_set_dp_platform_data(&dp_platform_data); + exynos_pinmux_config(PERIPH_ID_LCD, NULL); +} + #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..9489714 100644 --- a/include/configs/smdk5250.h +++ b/include/configs/smdk5250.h @@ -256,6 +256,15 @@ #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 +#define CONFIG_CMD_BMP + /* Enable devicetree support */ #define CONFIG_OF_LIBFDT -- 1.7.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH 4/5] EXYNOS5: Add support for FIMD and DP 2012-12-11 11:01 ` [U-Boot] [PATCH 4/5] EXYNOS5: Add support for FIMD and DP Ajay Kumar @ 2012-12-12 14:42 ` Simon Glass 0 siblings, 0 replies; 11+ messages in thread From: Simon Glass @ 2012-12-12 14:42 UTC (permalink / raw) To: u-boot Hi Ajay, On Tue, Dec 11, 2012 at 3:01 AM, Ajay Kumar <ajaykumar.rs@samsung.com> wrote: > Add panel_info structure required by LCD driver > and DP panel platdata for SMDK5250. > 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> Acked-by: Simon Glass <sjg@chromium.org> See suggestion below. I hope that this can be FDT-enabled later. > --- > board/samsung/smdk5250/smdk5250.c | 82 +++++++++++++++++++++++++++++++++++++ > include/configs/smdk5250.h | 9 ++++ > 2 files changed, 91 insertions(+), 0 deletions(-) > > diff --git a/board/samsung/smdk5250/smdk5250.c b/board/samsung/smdk5250/smdk5250.c > index 4c50342..e3d6ac1 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,85 @@ 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, > +}; > + > +void init_panel_info(vidinfo_t *vid) > +{ > + vid->logo_on = 1, > + vid->rgb_mode = MODE_RGB_P, > + > + exynos_set_dp_platform_data(&dp_platform_data); > + exynos_pinmux_config(PERIPH_ID_LCD, NULL); > +} > + > #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..9489714 100644 > --- a/include/configs/smdk5250.h > +++ b/include/configs/smdk5250.h > @@ -256,6 +256,15 @@ > #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 > +#define CONFIG_CMD_BMP Perhaps CONFIG_LCD_BMP_RLE8 as well? > + > /* Enable devicetree support */ > #define CONFIG_OF_LIBFDT > > -- > 1.7.1 > Regards, Simon ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH 5/5] video: Modify exynos_fimd driver to support LCD console. 2012-12-11 11:01 [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar ` (2 preceding siblings ...) 2012-12-11 11:01 ` [U-Boot] [PATCH 4/5] EXYNOS5: Add support for FIMD and DP Ajay Kumar @ 2012-12-11 11:01 ` Ajay Kumar 2012-12-12 14:46 ` Simon Glass 2012-12-12 14:31 ` [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Simon Glass 4 siblings, 1 reply; 11+ messages in thread From: Ajay Kumar @ 2012-12-11 11:01 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. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> --- drivers/video/exynos_fimd.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/video/exynos_fimd.c b/drivers/video/exynos_fimd.c index 06eae2e..8a12c30 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_TIZEN /* Tizen uses Proprietary LOGO */ cfg |= EXYNOS_WINCON_WSWP_ENABLE; +#else /* Other boards must use 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_TIZEN /* Tizen uses Proprietary LOGO */ cfg |= EXYNOS_WINCON_BPPMODE_24BPP_888; +#else /* Other boards must use 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 5/5] video: Modify exynos_fimd driver to support LCD console. 2012-12-11 11:01 ` [U-Boot] [PATCH 5/5] video: Modify exynos_fimd driver to support LCD console Ajay Kumar @ 2012-12-12 14:46 ` Simon Glass 0 siblings, 0 replies; 11+ messages in thread From: Simon Glass @ 2012-12-12 14:46 UTC (permalink / raw) To: u-boot On Tue, Dec 11, 2012 at 3:01 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. > > Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Eventual FDT support should help to remove these ifdefs. But even in the meantime, would it not be better to create a new CONFIG_EXYNOS_FIMD_... option to select the behavior and then put the option in the board config file? Regards, Simon > --- > drivers/video/exynos_fimd.c | 10 ++++++++-- > 1 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/video/exynos_fimd.c b/drivers/video/exynos_fimd.c > index 06eae2e..8a12c30 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_TIZEN /* Tizen uses Proprietary LOGO */ > cfg |= EXYNOS_WINCON_WSWP_ENABLE; > +#else /* Other boards must use 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_TIZEN /* Tizen uses Proprietary LOGO */ > cfg |= EXYNOS_WINCON_BPPMODE_24BPP_888; > +#else /* Other boards must use 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 [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL 2012-12-11 11:01 [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar ` (3 preceding siblings ...) 2012-12-11 11:01 ` [U-Boot] [PATCH 5/5] video: Modify exynos_fimd driver to support LCD console Ajay Kumar @ 2012-12-12 14:31 ` Simon Glass 4 siblings, 0 replies; 11+ messages in thread From: Simon Glass @ 2012-12-12 14:31 UTC (permalink / raw) To: u-boot Hi Ajay, On Tue, Dec 11, 2012 at 3:01 AM, Ajay Kumar <ajaykumar.rs@samsung.com> wrote: > With VPLL as source clock to FIMD, > Exynos DP Initializaton was failing sometimes with unstable clock. > Changing FIMD source to resolves this issue. > > Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> At some point it would be nice to have defines for these, or even a full clock api, with clock_set_rate(), clock_set_source(), etc. Regards, Simon > --- > 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 [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-12-13 2:21 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-12-11 11:01 [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Ajay Kumar 2012-12-11 11:01 ` [U-Boot] [PATCH 2/5] EXYNOS5: Add pinmux for LCD Ajay Kumar 2012-12-12 14:02 ` Kyungmin Park 2012-12-13 2:21 ` Minkyu Kang 2012-12-11 11:01 ` [U-Boot] [PATCH 3/5] video: Fix compilation dependency of exynos_dp and exynos_mipi on exynos_fb Ajay Kumar 2012-12-12 14:31 ` Simon Glass 2012-12-11 11:01 ` [U-Boot] [PATCH 4/5] EXYNOS5: Add support for FIMD and DP Ajay Kumar 2012-12-12 14:42 ` Simon Glass 2012-12-11 11:01 ` [U-Boot] [PATCH 5/5] video: Modify exynos_fimd driver to support LCD console Ajay Kumar 2012-12-12 14:46 ` Simon Glass 2012-12-12 14:31 ` [U-Boot] [PATCH 1/5] EXYNOS5: Change parent clock of FIMD to MPLL Simon Glass
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox