* [PATCH 0/7] Add device tree based discovery support for drm-fimd
@ 2012-07-11 9:42 Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 1/7] ARM: SAMSUNG: add additional registers and SFR definitions for writeback Leela Krishna Amudala
` (7 more replies)
0 siblings, 8 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
From: Leela Krishna <l.krishna@samsung.com>
The patches are created against "for-next" branch of Kukjin Kim's tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
This patch set adds Backlight, LCD support and device tree based discovery
support for drm-fimd
Leela Krishna (3):
ARM: EXYNOS5: add device tree based discovery support for FIMD
ARM: EXYNOS5: Add the bus clock for FIMD
ARM: EXYNOS5: Set parent clock to fimd
Leela Krishna Amudala (4):
ARM: SAMSUNG: add additional registers and SFR definitions for
writeback
ARM: EXYNOS5: add machine specific support for backlight
ARM: EXYNOS5: add machine specific support for LCD
ARM: EXYNOS: Adding DRM platform device
arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
arch/arm/boot/dts/exynos5250.dtsi | 7 ++
arch/arm/mach-exynos/Kconfig | 1 +
arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
arch/arm/mach-exynos/include/mach/map.h | 1 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 125 +++++++++++++++++++++++
arch/arm/plat-samsung/include/plat/clock.h | 2 +
arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
drivers/video/Kconfig | 6 +
10 files changed, 239 insertions(+), 10 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 1/7] ARM: SAMSUNG: add additional registers and SFR definitions for writeback
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
@ 2012-07-11 9:42 ` Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 2/7] ARM: EXYNOS5: add machine specific support for backlight Leela Krishna Amudala
` (6 subsequent siblings)
7 siblings, 0 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
This patch updates the register address offsets and adds SFR definitions
for writeback for Samsung's V8 display controller.
Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
---
arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++++
arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++++++++++++++++
drivers/video/Kconfig | 6 +++
3 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h b/arch/arm/plat-samsung/include/plat/regs-fb-v4.h
index 4c3647f..1639c17 100644
--- a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h
+++ b/arch/arm/plat-samsung/include/plat/regs-fb-v4.h
@@ -30,9 +30,16 @@
#define VIDCON1_FSTATUS_EVEN (1 << 15)
/* Video timing controls */
+#ifdef CONFIG_FB_EXYNOS_FIMD_V8
+#define VIDTCON0 (0x20010)
+#define VIDTCON1 (0x20014)
+#define VIDTCON3 (0x2001C)
+#else
#define VIDTCON0 (0x10)
#define VIDTCON1 (0x14)
#define VIDTCON2 (0x18)
+#define VIDTCON3 (0x1C)
+#endif
/* Window position controls */
@@ -43,9 +50,12 @@
#define VIDOSD_BASE (0x40)
#define VIDINTCON0 (0x130)
+#define VIDINTCON1 (0x134)
/* WINCONx */
+#define WINCONx_CSC_CON_EQ709 (1 << 28)
+#define WINCONx_CSC_CON_EQ601 (0 << 28)
#define WINCONx_CSCWIDTH_MASK (0x3 << 26)
#define WINCONx_CSCWIDTH_SHIFT (26)
#define WINCONx_CSCWIDTH_WIDE (0x0 << 26)
diff --git a/arch/arm/plat-samsung/include/plat/regs-fb.h b/arch/arm/plat-samsung/include/plat/regs-fb.h
index 9a78012..6d2ee16 100644
--- a/arch/arm/plat-samsung/include/plat/regs-fb.h
+++ b/arch/arm/plat-samsung/include/plat/regs-fb.h
@@ -32,12 +32,28 @@
#define VIDCON0 (0x00)
#define VIDCON0_INTERLACE (1 << 29)
+
+#ifdef CONFIG_FB_EXYNOS_FIMD_V8
+#define VIDOUT_CON (0x20000)
+#define VIDOUT_CON_VIDOUT_UP_MASK (0x1 << 16)
+#define VIDOUT_CON_VIDOUT_UP_SHIFT (16)
+#define VIDOUT_CON_VIDOUT_UP_ALWAYS (0x0 << 16)
+#define VIDOUT_CON_VIDOUT_UP_START_FRAME (0x1 << 16)
+#define VIDOUT_CON_VIDOUT_F_MASK (0x7 << 8)
+#define VIDOUT_CON_VIDOUT_F_SHIFT (8)
+#define VIDOUT_CON_VIDOUT_F_RGB (0x0 << 8)
+#define VIDOUT_CON_VIDOUT_F_I80_LDI0 (0x2 << 8)
+#define VIDOUT_CON_VIDOUT_F_I80_LDI1 (0x3 << 8)
+#define VIDOUT_CON_VIDOUT_F_WB (0x4 << 8)
+#endif
+
#define VIDCON0_VIDOUT_MASK (0x3 << 26)
#define VIDCON0_VIDOUT_SHIFT (26)
#define VIDCON0_VIDOUT_RGB (0x0 << 26)
#define VIDCON0_VIDOUT_TV (0x1 << 26)
#define VIDCON0_VIDOUT_I80_LDI0 (0x2 << 26)
#define VIDCON0_VIDOUT_I80_LDI1 (0x3 << 26)
+#define VIDCON0_VIDOUT_WB (0x4 << 26)
#define VIDCON0_L1_DATA_MASK (0x7 << 23)
#define VIDCON0_L1_DATA_SHIFT (23)
@@ -81,7 +97,13 @@
#define VIDCON0_ENVID (1 << 1)
#define VIDCON0_ENVID_F (1 << 0)
+#ifdef CONFIG_FB_EXYNOS_FIMD_V8
+#define VIDOUT_CON (0x20000)
+#define VIDCON1 (0x20004)
+#else
#define VIDCON1 (0x04)
+#endif
+
#define VIDCON1_LINECNT_MASK (0x7ff << 16)
#define VIDCON1_LINECNT_SHIFT (16)
#define VIDCON1_LINECNT_GET(_v) (((_v) >> 16) & 0x7ff)
@@ -111,6 +133,14 @@
#define VIDCON2_TVFMTSEL1_RGB (0x0 << 12)
#define VIDCON2_TVFMTSEL1_YUV422 (0x1 << 12)
#define VIDCON2_TVFMTSEL1_YUV444 (0x2 << 12)
+#define VIDCON2_TVFMTSEL1_SHIFT (12)
+#define VIDCON2_TVFMTSEL_SW (1 << 14)
+#define VIDCON2_TVFORMATSEL_YUV444 (0x2 << 12)
+
+#define VIDCON2_TVFMTSEL1_MASK (0x3 << 12)
+#define VIDCON2_TVFMTSEL1_RGB (0x0 << 12)
+#define VIDCON2_TVFMTSEL1_YUV422 (0x1 << 12)
+#define VIDCON2_TVFMTSEL1_YUV444 (0x2 << 12)
#define VIDCON2_ORGYCbCr (1 << 8)
#define VIDCON2_YUVORDCrCb (1 << 7)
@@ -165,8 +195,15 @@
#define VIDTCON1_HSPW_SHIFT (0)
#define VIDTCON1_HSPW_LIMIT (0xff)
#define VIDTCON1_HSPW(_x) ((_x) << 0)
+#define VIDCON1_VCLK_MASK (0x3 << 9)
+#define VIDCON1_VCLK_HOLD (0x0 << 9)
+#define VIDCON1_VCLK_RUN (0x1 << 9)
+#ifdef CONFIG_FB_EXYNOS_FIMD_V8
+#define VIDTCON2 (0x20018)
+#else
#define VIDTCON2 (0x18)
+#endif
#define VIDTCON2_LINEVAL_E(_x) ((((_x) & 0x800) >> 11) << 23)
#define VIDTCON2_LINEVAL_MASK (0x7ff << 11)
#define VIDTCON2_LINEVAL_SHIFT (11)
@@ -186,6 +223,9 @@
#define WINCONx_BYTSWP (1 << 17)
#define WINCONx_HAWSWP (1 << 16)
#define WINCONx_WSWP (1 << 15)
+#define WINCONx_ENLOCAL_MASK (0xf << 15)
+#define WINCONx_INRGB_RGB (0 << 13)
+#define WINCONx_INRGB_YCBCR (1 << 13)
#define WINCONx_BURSTLEN_MASK (0x3 << 9)
#define WINCONx_BURSTLEN_SHIFT (9)
#define WINCONx_BURSTLEN_16WORD (0x0 << 9)
@@ -205,6 +245,7 @@
#define WINCON0_BPPMODE_24BPP_888 (0xb << 2)
#define WINCON1_BLD_PIX (1 << 6)
+#define WINCON1_BLD_PLANE (0 << 6)
#define WINCON1_ALPHA_SEL (1 << 1)
#define WINCON1_BPPMODE_MASK (0xf << 2)
@@ -395,9 +436,19 @@
#define WPALCON_W0PAL_16BPP_A555 (0x5 << 0)
#define WPALCON_W0PAL_16BPP_565 (0x6 << 0)
+/* Clock gate mode control */
+#define REG_CLKGATE_MODE (0x1b0)
+#define REG_CLKGATE_MODE_AUTO_CLOCK_GATE (0 << 0)
+#define REG_CLKGATE_MODE_NON_CLOCK_GATE (1 << 0)
+
/* Blending equation control */
#define BLENDCON (0x260)
#define BLENDCON_NEW_MASK (1 << 0)
#define BLENDCON_NEW_8BIT_ALPHA_VALUE (1 << 0)
#define BLENDCON_NEW_4BIT_ALPHA_VALUE (0 << 0)
+/* Window alpha control */
+#define VIDW0ALPHA0 (0x200)
+#define VIDW0ALPHA1 (0x204)
+#define DPCLKCON (0x27c)
+#define DPCLKCON_ENABLE (1 << 1)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 0217f74..f81bf55 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -2053,6 +2053,12 @@ config FB_S3C
Currently the support is only for the S3C6400 and S3C6410 SoCs.
+config FB_EXYNOS_FIMD_V8
+ bool "register extensions for FIMD version 8"
+ depends on ARCH_EXYNOS5
+ ---help---
+ This uses register extensions for FIMD version 8
+
config FB_S3C_DEBUG_REGWRITE
bool "Debug register writes"
depends on FB_S3C
--
1.7.0.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 2/7] ARM: EXYNOS5: add machine specific support for backlight
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 1/7] ARM: SAMSUNG: add additional registers and SFR definitions for writeback Leela Krishna Amudala
@ 2012-07-11 9:42 ` Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD Leela Krishna Amudala
` (5 subsequent siblings)
7 siblings, 0 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
Adds machine specific support for LCD backlight for SMDK board based
on Exynos5
Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
---
arch/arm/mach-exynos/Kconfig | 1 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 28 ++++++++++++++++++++++++++++
2 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 498596b..a2a2940 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -412,6 +412,7 @@ config MACH_EXYNOS5_DT
select SOC_EXYNOS5250
select USE_OF
select ARM_AMBA
+ select SAMSUNG_DEV_BACKLIGHT
help
Machine support for Samsung Exynos4 machine with device tree enabled.
Select this if a fdt blob is available for the EXYNOS4 SoC based board.
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 7b1e11a..0a200fd 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -11,6 +11,8 @@
#include <linux/of_platform.h>
#include <linux/serial_core.h>
+#include <linux/pwm_backlight.h>
+#include <linux/gpio.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
@@ -18,9 +20,34 @@
#include <plat/cpu.h>
#include <plat/regs-serial.h>
+#include <plat/backlight.h>
+#include <plat/gpio-cfg.h>
#include "common.h"
+
+static int smdk5250_bl_notify(struct device *unused, int brightness)
+{
+ /* manage lcd_bl_en signal */
+ if (brightness)
+ gpio_set_value(EXYNOS5_GPX3(0), 1);
+ else
+ gpio_set_value(EXYNOS5_GPX3(0), 0);
+
+ return brightness;
+}
+
+/* LCD Backlight data */
+static struct samsung_bl_gpio_info smdk5250_bl_gpio_info = {
+ .no = EXYNOS5_GPB2(0),
+ .func = S3C_GPIO_SFN(2),
+};
+
+static struct platform_pwm_backlight_data smdk5250_bl_data = {
+ .pwm_period_ns = 1000000,
+ .notify = smdk5250_bl_notify,
+};
+
/*
* The following lookup table is used to override device names when devices
* are registered from device tree. This is temporarily added to enable
@@ -61,6 +88,7 @@ static void __init exynos5250_dt_map_io(void)
static void __init exynos5250_dt_machine_init(void)
{
+ samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
of_platform_populate(NULL, of_default_bus_match_table,
exynos5250_auxdata_lookup, NULL);
}
--
1.7.0.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 1/7] ARM: SAMSUNG: add additional registers and SFR definitions for writeback Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 2/7] ARM: EXYNOS5: add machine specific support for backlight Leela Krishna Amudala
@ 2012-07-11 9:42 ` Leela Krishna Amudala
2012-07-11 10:13 ` Jingoo Han
2012-07-11 9:42 ` [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device Leela Krishna Amudala
` (4 subsequent siblings)
7 siblings, 1 reply; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds machine specific support for LCD controller like setting power to LCD
and adding LCD platform device.
Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
---
arch/arm/mach-exynos/mach-exynos5-dt.c | 57 ++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 0a200fd..652a537 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -13,6 +13,7 @@
#include <linux/serial_core.h>
#include <linux/pwm_backlight.h>
#include <linux/gpio.h>
+#include <linux/delay.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
@@ -25,6 +26,8 @@
#include "common.h"
+#include <video/platform_lcd.h>
+
static int smdk5250_bl_notify(struct device *unused, int brightness)
{
@@ -48,6 +51,55 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
.notify = smdk5250_bl_notify,
};
+static void lcd_set_power(struct plat_lcd_data *pd,
+ unsigned int power)
+{
+
+ /* reset */
+ gpio_request_one(EXYNOS5_GPX1(5), GPIOF_OUT_INIT_HIGH, "GPX1");
+
+ mdelay(20);
+ if (power) {
+ /* fire nRESET on power up */
+ gpio_set_value(EXYNOS5_GPX1(5), 0);
+ mdelay(20);
+ gpio_set_value(EXYNOS5_GPX1(5), 1);
+ mdelay(20);
+ gpio_free(EXYNOS5_GPX1(5));
+ } else {
+ /* fire nRESET on power off */
+ gpio_set_value(EXYNOS5_GPX1(5), 0);
+ mdelay(20);
+ gpio_set_value(EXYNOS5_GPX1(5), 1);
+ mdelay(20);
+ gpio_free(EXYNOS5_GPX1(5));
+ }
+ mdelay(20);
+
+ /*
+ * Request lcd_bl_en GPIO for smdk5250_bl_notify().
+ * TODO: Fix this so we are not at risk of requesting the GPIO
+ * multiple times, this should be done with device tree, and
+ * likely integrated into the plat-samsung/dev-backlight.c init.
+ */
+ gpio_request_one(EXYNOS5_GPX3(0), GPIOF_OUT_INIT_LOW, "GPX3");
+}
+
+static int smdk5250_match_fb(struct plat_lcd_data *pd, struct fb_info *info)
+{
+ /* Don't call .set_power callback while unblanking */
+ return 0;
+}
+
+static struct plat_lcd_data smdk5250_lcd_data = {
+ .set_power = lcd_set_power,
+ .match_fb = smdk5250_match_fb,
+};
+
+static struct platform_device smdk5250_lcd = {
+ .name = "platform-lcd",
+ .dev.platform_data = &smdk5250_lcd_data,
+};
/*
* The following lookup table is used to override device names when devices
* are registered from device tree. This is temporarily added to enable
@@ -80,6 +132,10 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
{},
};
+static struct platform_device *smdk5250_devices[] __initdata = {
+ &smdk5250_lcd, /* for platform_lcd device */
+};
+
static void __init exynos5250_dt_map_io(void)
{
exynos_init_io(NULL, 0);
@@ -91,6 +147,7 @@ static void __init exynos5250_dt_machine_init(void)
samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
of_platform_populate(NULL, of_default_bus_match_table,
exynos5250_auxdata_lookup, NULL);
+ platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
}
static char const *exynos5250_dt_compat[] __initdata = {
--
1.7.0.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
` (2 preceding siblings ...)
2012-07-11 9:42 ` [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD Leela Krishna Amudala
@ 2012-07-11 9:42 ` Leela Krishna Amudala
2012-07-11 10:21 ` Jingoo Han
2012-07-11 9:42 ` [PATCH 5/7] ARM: EXYNOS5: add device tree based discovery support for FIMD Leela Krishna Amudala
` (3 subsequent siblings)
7 siblings, 1 reply; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
Add DRM platform device to machine file for exynos5.
Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
---
arch/arm/mach-exynos/mach-exynos5-dt.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 652a537..a91c928 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -17,6 +17,7 @@
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
+#include <asm/io.h>
#include <mach/map.h>
#include <plat/cpu.h>
@@ -29,6 +30,22 @@
#include <video/platform_lcd.h>
+static void exynos_fimd_gpio_setup_24bpp(void)
+{
+ unsigned int reg = 0;
+ /*
+ * Set DISP1BLK_CFG register for Display path selection
+ * FIMD of DISP1_BLK Bypass selection : DISP1BLK_CFG[15]
+ * ---------------------
+ * 0 | MIE/MDNIE
+ * 1 | FIMD : selected
+ */
+ reg = __raw_readl(S3C_VA_SYS + 0x0214);
+ reg &= ~(1 << 15); /* To save other reset values */
+ reg |= (1 << 15);
+ __raw_writel(reg, S3C_VA_SYS + 0x0214);
+}
+
static int smdk5250_bl_notify(struct device *unused, int brightness)
{
/* manage lcd_bl_en signal */
@@ -51,6 +68,14 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
.notify = smdk5250_bl_notify,
};
+static struct platform_device exynos_drm_device = {
+ .name = "exynos-drm",
+ .dev = {
+ .dma_mask = &exynos_drm_device.dev.coherent_dma_mask,
+ .coherent_dma_mask = 0xffffffffUL,
+ }
+};
+
static void lcd_set_power(struct plat_lcd_data *pd,
unsigned int power)
{
@@ -134,6 +159,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
static struct platform_device *smdk5250_devices[] __initdata = {
&smdk5250_lcd, /* for platform_lcd device */
+ &exynos_drm_device,
};
static void __init exynos5250_dt_map_io(void)
@@ -147,6 +173,7 @@ static void __init exynos5250_dt_machine_init(void)
samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
of_platform_populate(NULL, of_default_bus_match_table,
exynos5250_auxdata_lookup, NULL);
+ exynos_fimd_gpio_setup_24bpp();
platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
}
--
1.7.0.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 5/7] ARM: EXYNOS5: add device tree based discovery support for FIMD
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
` (3 preceding siblings ...)
2012-07-11 9:42 ` [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device Leela Krishna Amudala
@ 2012-07-11 9:42 ` Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 6/7] ARM: EXYNOS5: Add the bus clock " Leela Krishna Amudala
` (2 subsequent siblings)
7 siblings, 0 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
From: Leela Krishna <l.krishna@samsung.com>
This patch adds support for device tree based discovery for Samsung's
display controller. Adds DRM-Fimd plat data for smdk5250
evt1 to the corresponding dts file
Signed-off-by: Leela Krishna <l.krishna@samsung.com>
---
arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 ++++++++++++++++
arch/arm/boot/dts/exynos5250.dtsi | 7 +++++++
arch/arm/mach-exynos/include/mach/map.h | 1 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 2 ++
4 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 49945cc..781f836 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -71,4 +71,20 @@
i2c at 12CD0000 {
status = "disabled";
};
+
+ lcd_fimd0: lcd_panel0 {
+ lcd-htiming = <4 4 4 1280>;
+ lcd-vtiming = <4 4 4 800>;
+ supports-mipi-panel;
+ };
+
+ fimd {
+ samsung,fimd-display = <&lcd_fimd0>;
+ samsung,fimd-vidout-rgb;
+ samsung,fimd-inv-vclk;
+ samsung,fimd-frame-rate = <60>;
+ samsung,default-window = <0>;
+ samsung,fimd-win-bpp = <32>;
+ };
+
};
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 4272b29..f9954fe 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -424,4 +424,11 @@
#gpio-cells = <4>;
};
};
+
+ fimd {
+ compatible = "samsung,exynos5-drm";
+ interrupt-parent = <&combiner>;
+ reg = <0x14400000 0x40000>;
+ interrupts = <18 5>, <18 4>, <18 6>;
+ };
};
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index ca4aa89..731b56e 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -167,6 +167,7 @@
#define EXYNOS4_PA_MIPI_CSIS1 0x11890000
#define EXYNOS4_PA_FIMD0 0x11C00000
+#define EXYNOS5_PA_FIMD1 0x14400000
#define EXYNOS4_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000))
#define EXYNOS4_PA_DWMCI 0x12550000
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index a91c928..9d5bccc 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -154,6 +154,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
+ OF_DEV_AUXDATA("samsung,exynos5-drm", EXYNOS5_PA_FIMD1,
+ "exynos5-fb", NULL),
{},
};
--
1.7.0.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 6/7] ARM: EXYNOS5: Add the bus clock for FIMD
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
` (4 preceding siblings ...)
2012-07-11 9:42 ` [PATCH 5/7] ARM: EXYNOS5: add device tree based discovery support for FIMD Leela Krishna Amudala
@ 2012-07-11 9:42 ` Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 7/7] ARM: EXYNOS5: Set parent clock to fimd Leela Krishna Amudala
2012-07-11 10:11 ` Jingoo Han
7 siblings, 0 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
From: Leela Krishna <l.krishna@samsung.com>
This patch adds the bus clock for FIMD and changes
the device name for lcd clock
Signed-off-by: Leela Krishna <l.krishna@samsung.com>
---
arch/arm/mach-exynos/clock-exynos5.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index fefa336..61bf88d 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -629,6 +629,11 @@ static struct clk exynos5_init_clocks_off[] = {
.enable = exynos5_clk_ip_disp1_ctrl,
.ctrlbit = (1 << 3),
}, {
+ .name = "fimd",
+ .devname = "exynos5-fb",
+ .enable = exynos5_clk_ip_disp1_ctrl,
+ .ctrlbit = (1 << 0),
+ }, {
.name = "iis",
.devname = "samsung-i2s.1",
.enable = exynos5_clk_ip_peric_ctrl,
@@ -1046,7 +1051,7 @@ static struct clksrc_clk exynos5_clksrcs[] = {
}, {
.clk = {
.name = "sclk_fimd",
- .devname = "s3cfb.1",
+ .devname = "exynos5-fb",
.enable = exynos5_clksrc_mask_disp1_0_ctrl,
.ctrlbit = (1 << 0),
},
--
1.7.0.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 7/7] ARM: EXYNOS5: Set parent clock to fimd
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
` (5 preceding siblings ...)
2012-07-11 9:42 ` [PATCH 6/7] ARM: EXYNOS5: Add the bus clock " Leela Krishna Amudala
@ 2012-07-11 9:42 ` Leela Krishna Amudala
2012-07-11 10:24 ` Jingoo Han
2012-07-11 10:11 ` Jingoo Han
7 siblings, 1 reply; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:42 UTC (permalink / raw)
To: linux-arm-kernel
From: Leela Krishna <l.krishna@samsung.com>
This patch sets mout_mpll_user as parent clock to fimd also
sets Fimd source clock rate to 800 MHz for MIPI LCD
Signed-off-by: Leela Krishna <l.krishna@samsung.com>
---
arch/arm/mach-exynos/clock-exynos5.c | 25 +++++++++++++++----------
arch/arm/mach-exynos/mach-exynos5-dt.c | 11 +++++++++++
arch/arm/plat-samsung/include/plat/clock.h | 2 ++
3 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index 61bf88d..a0d65f6 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -1039,6 +1039,18 @@ static struct clksrc_clk exynos5_clk_sclk_mmc3 = {
.reg_div = { .reg = EXYNOS5_CLKDIV_FSYS2, .shift = 24, .size = 8 },
};
+struct clksrc_clk exynos5_clk_sclk_fimd = {
+ .clk = {
+ .name = "sclk_fimd",
+ .devname = "exynos5-fb",
+ .enable = exynos5_clksrc_mask_disp1_0_ctrl,
+ .ctrlbit = (1 << 0),
+ },
+ .sources = &exynos5_clkset_group,
+ .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 },
+ .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 },
+};
+
static struct clksrc_clk exynos5_clksrcs[] = {
{
.clk = {
@@ -1050,16 +1062,6 @@ static struct clksrc_clk exynos5_clksrcs[] = {
.reg_div = { .reg = EXYNOS5_CLKDIV_FSYS3, .shift = 8, .size = 8 },
}, {
.clk = {
- .name = "sclk_fimd",
- .devname = "exynos5-fb",
- .enable = exynos5_clksrc_mask_disp1_0_ctrl,
- .ctrlbit = (1 << 0),
- },
- .sources = &exynos5_clkset_group,
- .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 },
- .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 },
- }, {
- .clk = {
.name = "aclk_266_gscl",
},
.sources = &clk_src_gscl_266,
@@ -1153,6 +1155,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
&exynos5_clk_dout_mmc4,
&exynos5_clk_aclk_acp,
&exynos5_clk_pclk_acp,
+ &exynos5_clk_sclk_fimd,
};
static struct clk *exynos5_clk_cdev[] = {
@@ -1402,6 +1405,8 @@ void __init_or_cpufreq exynos5_setup_clocks(void)
clk_set_rate(&exynos5_clk_aclk_acp.clk, 267000000);
clk_set_rate(&exynos5_clk_pclk_acp.clk, 134000000);
+ clk_set_parent(&exynos5_clk_sclk_fimd.clk,
+ &exynos5_clk_mout_mpll_user.clk);
for (ptr = 0; ptr < ARRAY_SIZE(exynos5_clksrcs); ptr++)
s3c_set_clksrc(&exynos5_clksrcs[ptr], true);
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 9d5bccc..248ca58 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -24,6 +24,9 @@
#include <plat/regs-serial.h>
#include <plat/backlight.h>
#include <plat/gpio-cfg.h>
+#include <plat/clock.h>
+#include <plat/s5p-clock.h>
+#include <plat/clock-clksrc.h>
#include "common.h"
@@ -172,9 +175,17 @@ static void __init exynos5250_dt_map_io(void)
static void __init exynos5250_dt_machine_init(void)
{
+ struct device_node *fimd_node;
+
samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
of_platform_populate(NULL, of_default_bus_match_table,
exynos5250_auxdata_lookup, NULL);
+
+ fimd_node = of_find_node_with_property(NULL, "supports-mipi-panel");
+ if (of_get_property(fimd_node, "supports-mipi-panel", NULL))
+ clk_set_rate(&exynos5_clk_sclk_fimd.clk, 800000000);
+ of_node_put(fimd_node);
+
exynos_fimd_gpio_setup_24bpp();
platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
}
diff --git a/arch/arm/plat-samsung/include/plat/clock.h b/arch/arm/plat-samsung/include/plat/clock.h
index a62753d..3d27783 100644
--- a/arch/arm/plat-samsung/include/plat/clock.h
+++ b/arch/arm/plat-samsung/include/plat/clock.h
@@ -83,6 +83,8 @@ extern struct clk clk_ext;
extern struct clksrc_clk clk_epllref;
extern struct clksrc_clk clk_esysclk;
+extern struct clksrc_clk exynos5_clk_sclk_fimd;
+
/* S3C64XX specific clocks */
extern struct clk clk_h2;
extern struct clk clk_27m;
--
1.7.0.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* RE: [PATCH 0/7] Add device tree based discovery support for drm-fimd
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
@ 2012-07-11 10:11 ` Jingoo Han
2012-07-11 9:42 ` [PATCH 2/7] ARM: EXYNOS5: add machine specific support for backlight Leela Krishna Amudala
` (6 subsequent siblings)
7 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:11 UTC (permalink / raw)
To: 'Leela Krishna Amudala', linux-arm-kernel
Cc: linux-samsung-soc, grant.likely, olofj, thomas.ab, kgene.kim,
joshi, 'Jingoo Han'
On July 11, 2012 6:11 PM, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
>
> From: Leela Krishna <l.krishna@samsung.com>
>
> The patches are created against "for-next" branch of Kukjin Kim's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>
> This patch set adds Backlight, LCD support and device tree based discovery
> support for drm-fimd
Your patchset seems FB-FIMD, not DRM-FIMD.
FIMD IP can be used by FB or DRM framework.
Please, use the term clearly.
If your patches use ./drivers/video/s3c-fb.c, please use the term 'FB'.
If your patches use ./drivers/gpu/drm/exynos/*, please use the term 'DRM'.
Best regards,
Jingoo Han
>
> Leela Krishna (3):
> ARM: EXYNOS5: add device tree based discovery support for FIMD
> ARM: EXYNOS5: Add the bus clock for FIMD
> ARM: EXYNOS5: Set parent clock to fimd
>
> Leela Krishna Amudala (4):
> ARM: SAMSUNG: add additional registers and SFR definitions for
> writeback
> ARM: EXYNOS5: add machine specific support for backlight
> ARM: EXYNOS5: add machine specific support for LCD
> ARM: EXYNOS: Adding DRM platform device
>
> arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
> arch/arm/boot/dts/exynos5250.dtsi | 7 ++
> arch/arm/mach-exynos/Kconfig | 1 +
> arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
> arch/arm/mach-exynos/include/mach/map.h | 1 +
> arch/arm/mach-exynos/mach-exynos5-dt.c | 125 +++++++++++++++++++++++
> arch/arm/plat-samsung/include/plat/clock.h | 2 +
> arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
> arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
> drivers/video/Kconfig | 6 +
> 10 files changed, 239 insertions(+), 10 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 0/7] Add device tree based discovery support for drm-fimd
@ 2012-07-11 10:11 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:11 UTC (permalink / raw)
To: linux-arm-kernel
On July 11, 2012 6:11 PM, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
>
> From: Leela Krishna <l.krishna@samsung.com>
>
> The patches are created against "for-next" branch of Kukjin Kim's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>
> This patch set adds Backlight, LCD support and device tree based discovery
> support for drm-fimd
Your patchset seems FB-FIMD, not DRM-FIMD.
FIMD IP can be used by FB or DRM framework.
Please, use the term clearly.
If your patches use ./drivers/video/s3c-fb.c, please use the term 'FB'.
If your patches use ./drivers/gpu/drm/exynos/*, please use the term 'DRM'.
Best regards,
Jingoo Han
>
> Leela Krishna (3):
> ARM: EXYNOS5: add device tree based discovery support for FIMD
> ARM: EXYNOS5: Add the bus clock for FIMD
> ARM: EXYNOS5: Set parent clock to fimd
>
> Leela Krishna Amudala (4):
> ARM: SAMSUNG: add additional registers and SFR definitions for
> writeback
> ARM: EXYNOS5: add machine specific support for backlight
> ARM: EXYNOS5: add machine specific support for LCD
> ARM: EXYNOS: Adding DRM platform device
>
> arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
> arch/arm/boot/dts/exynos5250.dtsi | 7 ++
> arch/arm/mach-exynos/Kconfig | 1 +
> arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
> arch/arm/mach-exynos/include/mach/map.h | 1 +
> arch/arm/mach-exynos/mach-exynos5-dt.c | 125 +++++++++++++++++++++++
> arch/arm/plat-samsung/include/plat/clock.h | 2 +
> arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
> arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
> drivers/video/Kconfig | 6 +
> 10 files changed, 239 insertions(+), 10 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD
2012-07-11 9:42 ` [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD Leela Krishna Amudala
@ 2012-07-11 10:13 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:13 UTC (permalink / raw)
To: 'Leela Krishna Amudala', linux-arm-kernel
Cc: linux-samsung-soc, grant.likely, olofj, thomas.ab, kgene.kim, joshi
On July 11, 2012 6:42 PM, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
> -----Original Message-----
> From: Leela Krishna Amudala [mailto:l.krishna@samsung.com]
> Sent: Wednesday, July 11, 2012 6:42 PM
> To: linux-arm-kernel@lists.infradead.org
> Cc: grant.likely@secretlab.ca; olofj@google.com; thomas.ab@samsung.com; kgene.kim@samsung.com;
> joshi@samsung.com; jg1.han@samsung.com
> Subject: [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD
>
> This patch adds machine specific support for LCD controller like setting power to LCD
> and adding LCD platform device.
>
> Signed-off-by: Prathyush K <prathyush.k@samsung.com>
> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
> ---
> arch/arm/mach-exynos/mach-exynos5-dt.c | 57 ++++++++++++++++++++++++++++++++
> 1 files changed, 57 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 0a200fd..652a537 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -13,6 +13,7 @@
> #include <linux/serial_core.h>
> #include <linux/pwm_backlight.h>
> #include <linux/gpio.h>
> +#include <linux/delay.h>
>
> #include <asm/mach/arch.h>
> #include <asm/hardware/gic.h>
> @@ -25,6 +26,8 @@
>
> #include "common.h"
>
> +#include <video/platform_lcd.h>
> +
Delete this useless line.
>
> static int smdk5250_bl_notify(struct device *unused, int brightness)
> {
> @@ -48,6 +51,55 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
> .notify = smdk5250_bl_notify,
> };
>
> +static void lcd_set_power(struct plat_lcd_data *pd,
> + unsigned int power)
> +{
> +
> + /* reset */
> + gpio_request_one(EXYNOS5_GPX1(5), GPIOF_OUT_INIT_HIGH, "GPX1");
> +
> + mdelay(20);
> + if (power) {
> + /* fire nRESET on power up */
> + gpio_set_value(EXYNOS5_GPX1(5), 0);
> + mdelay(20);
> + gpio_set_value(EXYNOS5_GPX1(5), 1);
> + mdelay(20);
> + gpio_free(EXYNOS5_GPX1(5));
> + } else {
> + /* fire nRESET on power off */
> + gpio_set_value(EXYNOS5_GPX1(5), 0);
> + mdelay(20);
> + gpio_set_value(EXYNOS5_GPX1(5), 1);
> + mdelay(20);
> + gpio_free(EXYNOS5_GPX1(5));
> + }
> + mdelay(20);
> +
> + /*
> + * Request lcd_bl_en GPIO for smdk5250_bl_notify().
> + * TODO: Fix this so we are not at risk of requesting the GPIO
> + * multiple times, this should be done with device tree, and
> + * likely integrated into the plat-samsung/dev-backlight.c init.
> + */
> + gpio_request_one(EXYNOS5_GPX3(0), GPIOF_OUT_INIT_LOW, "GPX3");
> +}
> +
> +static int smdk5250_match_fb(struct plat_lcd_data *pd, struct fb_info *info)
> +{
> + /* Don't call .set_power callback while unblanking */
> + return 0;
> +}
> +
> +static struct plat_lcd_data smdk5250_lcd_data = {
> + .set_power = lcd_set_power,
> + .match_fb = smdk5250_match_fb,
> +};
> +
> +static struct platform_device smdk5250_lcd = {
> + .name = "platform-lcd",
> + .dev.platform_data = &smdk5250_lcd_data,
> +};
> /*
> * The following lookup table is used to override device names when devices
> * are registered from device tree. This is temporarily added to enable
> @@ -80,6 +132,10 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
> {},
> };
>
> +static struct platform_device *smdk5250_devices[] __initdata = {
> + &smdk5250_lcd, /* for platform_lcd device */
> +};
> +
> static void __init exynos5250_dt_map_io(void)
> {
> exynos_init_io(NULL, 0);
> @@ -91,6 +147,7 @@ static void __init exynos5250_dt_machine_init(void)
> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
> of_platform_populate(NULL, of_default_bus_match_table,
> exynos5250_auxdata_lookup, NULL);
> + platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
> }
>
> static char const *exynos5250_dt_compat[] __initdata = {
> --
> 1.7.0.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD
@ 2012-07-11 10:13 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:13 UTC (permalink / raw)
To: linux-arm-kernel
On July 11, 2012 6:42 PM, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
> -----Original Message-----
> From: Leela Krishna Amudala [mailto:l.krishna at samsung.com]
> Sent: Wednesday, July 11, 2012 6:42 PM
> To: linux-arm-kernel at lists.infradead.org
> Cc: grant.likely at secretlab.ca; olofj at google.com; thomas.ab at samsung.com; kgene.kim at samsung.com;
> joshi at samsung.com; jg1.han at samsung.com
> Subject: [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD
>
> This patch adds machine specific support for LCD controller like setting power to LCD
> and adding LCD platform device.
>
> Signed-off-by: Prathyush K <prathyush.k@samsung.com>
> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
> ---
> arch/arm/mach-exynos/mach-exynos5-dt.c | 57 ++++++++++++++++++++++++++++++++
> 1 files changed, 57 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 0a200fd..652a537 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -13,6 +13,7 @@
> #include <linux/serial_core.h>
> #include <linux/pwm_backlight.h>
> #include <linux/gpio.h>
> +#include <linux/delay.h>
>
> #include <asm/mach/arch.h>
> #include <asm/hardware/gic.h>
> @@ -25,6 +26,8 @@
>
> #include "common.h"
>
> +#include <video/platform_lcd.h>
> +
Delete this useless line.
>
> static int smdk5250_bl_notify(struct device *unused, int brightness)
> {
> @@ -48,6 +51,55 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
> .notify = smdk5250_bl_notify,
> };
>
> +static void lcd_set_power(struct plat_lcd_data *pd,
> + unsigned int power)
> +{
> +
> + /* reset */
> + gpio_request_one(EXYNOS5_GPX1(5), GPIOF_OUT_INIT_HIGH, "GPX1");
> +
> + mdelay(20);
> + if (power) {
> + /* fire nRESET on power up */
> + gpio_set_value(EXYNOS5_GPX1(5), 0);
> + mdelay(20);
> + gpio_set_value(EXYNOS5_GPX1(5), 1);
> + mdelay(20);
> + gpio_free(EXYNOS5_GPX1(5));
> + } else {
> + /* fire nRESET on power off */
> + gpio_set_value(EXYNOS5_GPX1(5), 0);
> + mdelay(20);
> + gpio_set_value(EXYNOS5_GPX1(5), 1);
> + mdelay(20);
> + gpio_free(EXYNOS5_GPX1(5));
> + }
> + mdelay(20);
> +
> + /*
> + * Request lcd_bl_en GPIO for smdk5250_bl_notify().
> + * TODO: Fix this so we are not at risk of requesting the GPIO
> + * multiple times, this should be done with device tree, and
> + * likely integrated into the plat-samsung/dev-backlight.c init.
> + */
> + gpio_request_one(EXYNOS5_GPX3(0), GPIOF_OUT_INIT_LOW, "GPX3");
> +}
> +
> +static int smdk5250_match_fb(struct plat_lcd_data *pd, struct fb_info *info)
> +{
> + /* Don't call .set_power callback while unblanking */
> + return 0;
> +}
> +
> +static struct plat_lcd_data smdk5250_lcd_data = {
> + .set_power = lcd_set_power,
> + .match_fb = smdk5250_match_fb,
> +};
> +
> +static struct platform_device smdk5250_lcd = {
> + .name = "platform-lcd",
> + .dev.platform_data = &smdk5250_lcd_data,
> +};
> /*
> * The following lookup table is used to override device names when devices
> * are registered from device tree. This is temporarily added to enable
> @@ -80,6 +132,10 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
> {},
> };
>
> +static struct platform_device *smdk5250_devices[] __initdata = {
> + &smdk5250_lcd, /* for platform_lcd device */
> +};
> +
> static void __init exynos5250_dt_map_io(void)
> {
> exynos_init_io(NULL, 0);
> @@ -91,6 +147,7 @@ static void __init exynos5250_dt_machine_init(void)
> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
> of_platform_populate(NULL, of_default_bus_match_table,
> exynos5250_auxdata_lookup, NULL);
> + platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
> }
>
> static char const *exynos5250_dt_compat[] __initdata = {
> --
> 1.7.0.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
2012-07-11 9:42 ` [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device Leela Krishna Amudala
@ 2012-07-11 10:21 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:21 UTC (permalink / raw)
To: 'Leela Krishna Amudala', linux-arm-kernel
Cc: linux-samsung-soc, grant.likely, olofj, thomas.ab, kgene.kim,
joshi, 'Jingoo Han'
> -----Original Message-----
> From: Leela Krishna Amudala [mailto:l.krishna@samsung.com]
> Sent: Wednesday, July 11, 2012 6:42 PM
> To: linux-arm-kernel@lists.infradead.org
> Cc: grant.likely@secretlab.ca; olofj@google.com; thomas.ab@samsung.com; kgene.kim@samsung.com;
> joshi@samsung.com; jg1.han@samsung.com
> Subject: [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
>
> Add DRM platform device to machine file for exynos5.
>
> Signed-off-by: Prathyush K <prathyush.k@samsung.com>
> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
> ---
> arch/arm/mach-exynos/mach-exynos5-dt.c | 27 +++++++++++++++++++++++++++
> 1 files changed, 27 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 652a537..a91c928 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -17,6 +17,7 @@
>
> #include <asm/mach/arch.h>
> #include <asm/hardware/gic.h>
> +#include <asm/io.h>
> #include <mach/map.h>
>
> #include <plat/cpu.h>
> @@ -29,6 +30,22 @@
> #include <video/platform_lcd.h>
>
>
> +static void exynos_fimd_gpio_setup_24bpp(void)
> +{
> + unsigned int reg = 0;
> + /*
> + * Set DISP1BLK_CFG register for Display path selection
> + * FIMD of DISP1_BLK Bypass selection : DISP1BLK_CFG[15]
> + * ---------------------
> + * 0 | MIE/MDNIE
> + * 1 | FIMD : selected
> + */
> + reg = __raw_readl(S3C_VA_SYS + 0x0214);
> + reg &= ~(1 << 15); /* To save other reset values */
> + reg |= (1 << 15);
> + __raw_writel(reg, S3C_VA_SYS + 0x0214);
> +}
> +
> static int smdk5250_bl_notify(struct device *unused, int brightness)
> {
> /* manage lcd_bl_en signal */
> @@ -51,6 +68,14 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
> .notify = smdk5250_bl_notify,
> };
>
> +static struct platform_device exynos_drm_device = {
> + .name = "exynos-drm",
> + .dev = {
> + .dma_mask = &exynos_drm_device.dev.coherent_dma_mask,
> + .coherent_dma_mask = 0xffffffffUL,
> + }
> +};
> +
If your patches use ./drivers/video/s3c-fb.c, please use the term 'FB'.
In this case, this 'exynos_drm_device' is not unnecessary.
Um... Have you tested this patchset with board such as SMDK5250?
Does it work properly?
> static void lcd_set_power(struct plat_lcd_data *pd,
> unsigned int power)
> {
> @@ -134,6 +159,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>
> static struct platform_device *smdk5250_devices[] __initdata = {
> &smdk5250_lcd, /* for platform_lcd device */
> + &exynos_drm_device,
> };
>
> static void __init exynos5250_dt_map_io(void)
> @@ -147,6 +173,7 @@ static void __init exynos5250_dt_machine_init(void)
> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
> of_platform_populate(NULL, of_default_bus_match_table,
> exynos5250_auxdata_lookup, NULL);
> + exynos_fimd_gpio_setup_24bpp();
> platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
> }
>
> --
> 1.7.0.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
@ 2012-07-11 10:21 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:21 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Leela Krishna Amudala [mailto:l.krishna at samsung.com]
> Sent: Wednesday, July 11, 2012 6:42 PM
> To: linux-arm-kernel at lists.infradead.org
> Cc: grant.likely at secretlab.ca; olofj at google.com; thomas.ab at samsung.com; kgene.kim at samsung.com;
> joshi at samsung.com; jg1.han at samsung.com
> Subject: [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
>
> Add DRM platform device to machine file for exynos5.
>
> Signed-off-by: Prathyush K <prathyush.k@samsung.com>
> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
> ---
> arch/arm/mach-exynos/mach-exynos5-dt.c | 27 +++++++++++++++++++++++++++
> 1 files changed, 27 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 652a537..a91c928 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -17,6 +17,7 @@
>
> #include <asm/mach/arch.h>
> #include <asm/hardware/gic.h>
> +#include <asm/io.h>
> #include <mach/map.h>
>
> #include <plat/cpu.h>
> @@ -29,6 +30,22 @@
> #include <video/platform_lcd.h>
>
>
> +static void exynos_fimd_gpio_setup_24bpp(void)
> +{
> + unsigned int reg = 0;
> + /*
> + * Set DISP1BLK_CFG register for Display path selection
> + * FIMD of DISP1_BLK Bypass selection : DISP1BLK_CFG[15]
> + * ---------------------
> + * 0 | MIE/MDNIE
> + * 1 | FIMD : selected
> + */
> + reg = __raw_readl(S3C_VA_SYS + 0x0214);
> + reg &= ~(1 << 15); /* To save other reset values */
> + reg |= (1 << 15);
> + __raw_writel(reg, S3C_VA_SYS + 0x0214);
> +}
> +
> static int smdk5250_bl_notify(struct device *unused, int brightness)
> {
> /* manage lcd_bl_en signal */
> @@ -51,6 +68,14 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
> .notify = smdk5250_bl_notify,
> };
>
> +static struct platform_device exynos_drm_device = {
> + .name = "exynos-drm",
> + .dev = {
> + .dma_mask = &exynos_drm_device.dev.coherent_dma_mask,
> + .coherent_dma_mask = 0xffffffffUL,
> + }
> +};
> +
If your patches use ./drivers/video/s3c-fb.c, please use the term 'FB'.
In this case, this 'exynos_drm_device' is not unnecessary.
Um... Have you tested this patchset with board such as SMDK5250?
Does it work properly?
> static void lcd_set_power(struct plat_lcd_data *pd,
> unsigned int power)
> {
> @@ -134,6 +159,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>
> static struct platform_device *smdk5250_devices[] __initdata = {
> &smdk5250_lcd, /* for platform_lcd device */
> + &exynos_drm_device,
> };
>
> static void __init exynos5250_dt_map_io(void)
> @@ -147,6 +173,7 @@ static void __init exynos5250_dt_machine_init(void)
> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
> of_platform_populate(NULL, of_default_bus_match_table,
> exynos5250_auxdata_lookup, NULL);
> + exynos_fimd_gpio_setup_24bpp();
> platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
> }
>
> --
> 1.7.0.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH 7/7] ARM: EXYNOS5: Set parent clock to fimd
2012-07-11 9:42 ` [PATCH 7/7] ARM: EXYNOS5: Set parent clock to fimd Leela Krishna Amudala
@ 2012-07-11 10:24 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:24 UTC (permalink / raw)
To: 'Leela Krishna Amudala', linux-arm-kernel
Cc: linux-samsung-soc, grant.likely, olofj, thomas.ab, kgene.kim,
joshi, 'Jingoo Han'
On July 11, 2012 6:42 PM, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
>
> From: Leela Krishna <l.krishna@samsung.com>
>
> This patch sets mout_mpll_user as parent clock to fimd also
> sets Fimd source clock rate to 800 MHz for MIPI LCD
>
> Signed-off-by: Leela Krishna <l.krishna@samsung.com>
> ---
> arch/arm/mach-exynos/clock-exynos5.c | 25 +++++++++++++++----------
> arch/arm/mach-exynos/mach-exynos5-dt.c | 11 +++++++++++
> arch/arm/plat-samsung/include/plat/clock.h | 2 ++
> 3 files changed, 28 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index 61bf88d..a0d65f6 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -1039,6 +1039,18 @@ static struct clksrc_clk exynos5_clk_sclk_mmc3 = {
> .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS2, .shift = 24, .size = 8 },
> };
>
> +struct clksrc_clk exynos5_clk_sclk_fimd = {
> + .clk = {
> + .name = "sclk_fimd",
> + .devname = "exynos5-fb",
> + .enable = exynos5_clksrc_mask_disp1_0_ctrl,
> + .ctrlbit = (1 << 0),
> + },
> + .sources = &exynos5_clkset_group,
> + .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 },
Please use spaces instead of tab.
> + .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 },
> +};
> +
> static struct clksrc_clk exynos5_clksrcs[] = {
> {
> .clk = {
> @@ -1050,16 +1062,6 @@ static struct clksrc_clk exynos5_clksrcs[] = {
> .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS3, .shift = 8, .size = 8 },
> }, {
> .clk = {
> - .name = "sclk_fimd",
> - .devname = "exynos5-fb",
> - .enable = exynos5_clksrc_mask_disp1_0_ctrl,
> - .ctrlbit = (1 << 0),
> - },
> - .sources = &exynos5_clkset_group,
> - .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 },
> - .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 },
> - }, {
> - .clk = {
> .name = "aclk_266_gscl",
> },
> .sources = &clk_src_gscl_266,
> @@ -1153,6 +1155,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
> &exynos5_clk_dout_mmc4,
> &exynos5_clk_aclk_acp,
> &exynos5_clk_pclk_acp,
> + &exynos5_clk_sclk_fimd,
> };
>
> static struct clk *exynos5_clk_cdev[] = {
> @@ -1402,6 +1405,8 @@ void __init_or_cpufreq exynos5_setup_clocks(void)
>
> clk_set_rate(&exynos5_clk_aclk_acp.clk, 267000000);
> clk_set_rate(&exynos5_clk_pclk_acp.clk, 134000000);
> + clk_set_parent(&exynos5_clk_sclk_fimd.clk,
> + &exynos5_clk_mout_mpll_user.clk);
>
> for (ptr = 0; ptr < ARRAY_SIZE(exynos5_clksrcs); ptr++)
> s3c_set_clksrc(&exynos5_clksrcs[ptr], true);
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 9d5bccc..248ca58 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -24,6 +24,9 @@
> #include <plat/regs-serial.h>
> #include <plat/backlight.h>
> #include <plat/gpio-cfg.h>
> +#include <plat/clock.h>
> +#include <plat/s5p-clock.h>
> +#include <plat/clock-clksrc.h>
>
> #include "common.h"
>
> @@ -172,9 +175,17 @@ static void __init exynos5250_dt_map_io(void)
>
> static void __init exynos5250_dt_machine_init(void)
> {
> + struct device_node *fimd_node;
> +
> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
> of_platform_populate(NULL, of_default_bus_match_table,
> exynos5250_auxdata_lookup, NULL);
> +
Delete this useless line.
> + fimd_node = of_find_node_with_property(NULL, "supports-mipi-panel");
> + if (of_get_property(fimd_node, "supports-mipi-panel", NULL))
> + clk_set_rate(&exynos5_clk_sclk_fimd.clk, 800000000);
> + of_node_put(fimd_node);
> +
> exynos_fimd_gpio_setup_24bpp();
> platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
> }
> diff --git a/arch/arm/plat-samsung/include/plat/clock.h b/arch/arm/plat-samsung/include/plat/clock.h
> index a62753d..3d27783 100644
> --- a/arch/arm/plat-samsung/include/plat/clock.h
> +++ b/arch/arm/plat-samsung/include/plat/clock.h
> @@ -83,6 +83,8 @@ extern struct clk clk_ext;
> extern struct clksrc_clk clk_epllref;
> extern struct clksrc_clk clk_esysclk;
>
> +extern struct clksrc_clk exynos5_clk_sclk_fimd;
> +
> /* S3C64XX specific clocks */
> extern struct clk clk_h2;
> extern struct clk clk_27m;
> --
> 1.7.0.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 7/7] ARM: EXYNOS5: Set parent clock to fimd
@ 2012-07-11 10:24 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:24 UTC (permalink / raw)
To: linux-arm-kernel
On July 11, 2012 6:42 PM, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
>
> From: Leela Krishna <l.krishna@samsung.com>
>
> This patch sets mout_mpll_user as parent clock to fimd also
> sets Fimd source clock rate to 800 MHz for MIPI LCD
>
> Signed-off-by: Leela Krishna <l.krishna@samsung.com>
> ---
> arch/arm/mach-exynos/clock-exynos5.c | 25 +++++++++++++++----------
> arch/arm/mach-exynos/mach-exynos5-dt.c | 11 +++++++++++
> arch/arm/plat-samsung/include/plat/clock.h | 2 ++
> 3 files changed, 28 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index 61bf88d..a0d65f6 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -1039,6 +1039,18 @@ static struct clksrc_clk exynos5_clk_sclk_mmc3 = {
> .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS2, .shift = 24, .size = 8 },
> };
>
> +struct clksrc_clk exynos5_clk_sclk_fimd = {
> + .clk = {
> + .name = "sclk_fimd",
> + .devname = "exynos5-fb",
> + .enable = exynos5_clksrc_mask_disp1_0_ctrl,
> + .ctrlbit = (1 << 0),
> + },
> + .sources = &exynos5_clkset_group,
> + .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 },
Please use spaces instead of tab.
> + .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 },
> +};
> +
> static struct clksrc_clk exynos5_clksrcs[] = {
> {
> .clk = {
> @@ -1050,16 +1062,6 @@ static struct clksrc_clk exynos5_clksrcs[] = {
> .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS3, .shift = 8, .size = 8 },
> }, {
> .clk = {
> - .name = "sclk_fimd",
> - .devname = "exynos5-fb",
> - .enable = exynos5_clksrc_mask_disp1_0_ctrl,
> - .ctrlbit = (1 << 0),
> - },
> - .sources = &exynos5_clkset_group,
> - .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 },
> - .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 },
> - }, {
> - .clk = {
> .name = "aclk_266_gscl",
> },
> .sources = &clk_src_gscl_266,
> @@ -1153,6 +1155,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
> &exynos5_clk_dout_mmc4,
> &exynos5_clk_aclk_acp,
> &exynos5_clk_pclk_acp,
> + &exynos5_clk_sclk_fimd,
> };
>
> static struct clk *exynos5_clk_cdev[] = {
> @@ -1402,6 +1405,8 @@ void __init_or_cpufreq exynos5_setup_clocks(void)
>
> clk_set_rate(&exynos5_clk_aclk_acp.clk, 267000000);
> clk_set_rate(&exynos5_clk_pclk_acp.clk, 134000000);
> + clk_set_parent(&exynos5_clk_sclk_fimd.clk,
> + &exynos5_clk_mout_mpll_user.clk);
>
> for (ptr = 0; ptr < ARRAY_SIZE(exynos5_clksrcs); ptr++)
> s3c_set_clksrc(&exynos5_clksrcs[ptr], true);
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 9d5bccc..248ca58 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -24,6 +24,9 @@
> #include <plat/regs-serial.h>
> #include <plat/backlight.h>
> #include <plat/gpio-cfg.h>
> +#include <plat/clock.h>
> +#include <plat/s5p-clock.h>
> +#include <plat/clock-clksrc.h>
>
> #include "common.h"
>
> @@ -172,9 +175,17 @@ static void __init exynos5250_dt_map_io(void)
>
> static void __init exynos5250_dt_machine_init(void)
> {
> + struct device_node *fimd_node;
> +
> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
> of_platform_populate(NULL, of_default_bus_match_table,
> exynos5250_auxdata_lookup, NULL);
> +
Delete this useless line.
> + fimd_node = of_find_node_with_property(NULL, "supports-mipi-panel");
> + if (of_get_property(fimd_node, "supports-mipi-panel", NULL))
> + clk_set_rate(&exynos5_clk_sclk_fimd.clk, 800000000);
> + of_node_put(fimd_node);
> +
> exynos_fimd_gpio_setup_24bpp();
> platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
> }
> diff --git a/arch/arm/plat-samsung/include/plat/clock.h b/arch/arm/plat-samsung/include/plat/clock.h
> index a62753d..3d27783 100644
> --- a/arch/arm/plat-samsung/include/plat/clock.h
> +++ b/arch/arm/plat-samsung/include/plat/clock.h
> @@ -83,6 +83,8 @@ extern struct clk clk_ext;
> extern struct clksrc_clk clk_epllref;
> extern struct clksrc_clk clk_esysclk;
>
> +extern struct clksrc_clk exynos5_clk_sclk_fimd;
> +
> /* S3C64XX specific clocks */
> extern struct clk clk_h2;
> extern struct clk clk_27m;
> --
> 1.7.0.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
2012-07-11 10:21 ` Jingoo Han
@ 2012-07-16 8:26 ` Leela Krishna Amudala
-1 siblings, 0 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-16 8:26 UTC (permalink / raw)
To: Jingoo Han
Cc: linux-arm-kernel, linux-samsung-soc, grant.likely, olofj,
thomas.ab, kgene.kim, joshi
On Wed, Jul 11, 2012 at 3:51 PM, Jingoo Han <jg1.han@samsung.com> wrote:
>
>
>> -----Original Message-----
>> From: Leela Krishna Amudala [mailto:l.krishna@samsung.com]
>> Sent: Wednesday, July 11, 2012 6:42 PM
>> To: linux-arm-kernel@lists.infradead.org
>> Cc: grant.likely@secretlab.ca; olofj@google.com; thomas.ab@samsung.com; kgene.kim@samsung.com;
>> joshi@samsung.com; jg1.han@samsung.com
>> Subject: [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
>>
>> Add DRM platform device to machine file for exynos5.
>>
>> Signed-off-by: Prathyush K <prathyush.k@samsung.com>
>> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
>> ---
>> arch/arm/mach-exynos/mach-exynos5-dt.c | 27 +++++++++++++++++++++++++++
>> 1 files changed, 27 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
>> index 652a537..a91c928 100644
>> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
>> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
>> @@ -17,6 +17,7 @@
>>
>> #include <asm/mach/arch.h>
>> #include <asm/hardware/gic.h>
>> +#include <asm/io.h>
>> #include <mach/map.h>
>>
>> #include <plat/cpu.h>
>> @@ -29,6 +30,22 @@
>> #include <video/platform_lcd.h>
>>
>>
>> +static void exynos_fimd_gpio_setup_24bpp(void)
>> +{
>> + unsigned int reg = 0;
>> + /*
>> + * Set DISP1BLK_CFG register for Display path selection
>> + * FIMD of DISP1_BLK Bypass selection : DISP1BLK_CFG[15]
>> + * ---------------------
>> + * 0 | MIE/MDNIE
>> + * 1 | FIMD : selected
>> + */
>> + reg = __raw_readl(S3C_VA_SYS + 0x0214);
>> + reg &= ~(1 << 15); /* To save other reset values */
>> + reg |= (1 << 15);
>> + __raw_writel(reg, S3C_VA_SYS + 0x0214);
>> +}
>> +
>> static int smdk5250_bl_notify(struct device *unused, int brightness)
>> {
>> /* manage lcd_bl_en signal */
>> @@ -51,6 +68,14 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
>> .notify = smdk5250_bl_notify,
>> };
>>
>> +static struct platform_device exynos_drm_device = {
>> + .name = "exynos-drm",
>> + .dev = {
>> + .dma_mask = &exynos_drm_device.dev.coherent_dma_mask,
>> + .coherent_dma_mask = 0xffffffffUL,
>> + }
>> +};
>> +
>
>
> If your patches use ./drivers/video/s3c-fb.c, please use the term 'FB'.
> In this case, this 'exynos_drm_device' is not unnecessary.
>
> Um... Have you tested this patchset with board such as SMDK5250?
> Does it work properly?
>
>
Yes, I tested this patchset with smdk5250 board, and I could see bootup logo.
>> static void lcd_set_power(struct plat_lcd_data *pd,
>> unsigned int power)
>> {
>> @@ -134,6 +159,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>>
>> static struct platform_device *smdk5250_devices[] __initdata = {
>> &smdk5250_lcd, /* for platform_lcd device */
>> + &exynos_drm_device,
>> };
>>
>> static void __init exynos5250_dt_map_io(void)
>> @@ -147,6 +173,7 @@ static void __init exynos5250_dt_machine_init(void)
>> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
>> of_platform_populate(NULL, of_default_bus_match_table,
>> exynos5250_auxdata_lookup, NULL);
>> + exynos_fimd_gpio_setup_24bpp();
>> platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
>> }
>>
>> --
>> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
@ 2012-07-16 8:26 ` Leela Krishna Amudala
0 siblings, 0 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-16 8:26 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 11, 2012 at 3:51 PM, Jingoo Han <jg1.han@samsung.com> wrote:
>
>
>> -----Original Message-----
>> From: Leela Krishna Amudala [mailto:l.krishna at samsung.com]
>> Sent: Wednesday, July 11, 2012 6:42 PM
>> To: linux-arm-kernel at lists.infradead.org
>> Cc: grant.likely at secretlab.ca; olofj at google.com; thomas.ab at samsung.com; kgene.kim at samsung.com;
>> joshi at samsung.com; jg1.han at samsung.com
>> Subject: [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device
>>
>> Add DRM platform device to machine file for exynos5.
>>
>> Signed-off-by: Prathyush K <prathyush.k@samsung.com>
>> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
>> ---
>> arch/arm/mach-exynos/mach-exynos5-dt.c | 27 +++++++++++++++++++++++++++
>> 1 files changed, 27 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
>> index 652a537..a91c928 100644
>> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
>> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
>> @@ -17,6 +17,7 @@
>>
>> #include <asm/mach/arch.h>
>> #include <asm/hardware/gic.h>
>> +#include <asm/io.h>
>> #include <mach/map.h>
>>
>> #include <plat/cpu.h>
>> @@ -29,6 +30,22 @@
>> #include <video/platform_lcd.h>
>>
>>
>> +static void exynos_fimd_gpio_setup_24bpp(void)
>> +{
>> + unsigned int reg = 0;
>> + /*
>> + * Set DISP1BLK_CFG register for Display path selection
>> + * FIMD of DISP1_BLK Bypass selection : DISP1BLK_CFG[15]
>> + * ---------------------
>> + * 0 | MIE/MDNIE
>> + * 1 | FIMD : selected
>> + */
>> + reg = __raw_readl(S3C_VA_SYS + 0x0214);
>> + reg &= ~(1 << 15); /* To save other reset values */
>> + reg |= (1 << 15);
>> + __raw_writel(reg, S3C_VA_SYS + 0x0214);
>> +}
>> +
>> static int smdk5250_bl_notify(struct device *unused, int brightness)
>> {
>> /* manage lcd_bl_en signal */
>> @@ -51,6 +68,14 @@ static struct platform_pwm_backlight_data smdk5250_bl_data = {
>> .notify = smdk5250_bl_notify,
>> };
>>
>> +static struct platform_device exynos_drm_device = {
>> + .name = "exynos-drm",
>> + .dev = {
>> + .dma_mask = &exynos_drm_device.dev.coherent_dma_mask,
>> + .coherent_dma_mask = 0xffffffffUL,
>> + }
>> +};
>> +
>
>
> If your patches use ./drivers/video/s3c-fb.c, please use the term 'FB'.
> In this case, this 'exynos_drm_device' is not unnecessary.
>
> Um... Have you tested this patchset with board such as SMDK5250?
> Does it work properly?
>
>
Yes, I tested this patchset with smdk5250 board, and I could see bootup logo.
>> static void lcd_set_power(struct plat_lcd_data *pd,
>> unsigned int power)
>> {
>> @@ -134,6 +159,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>>
>> static struct platform_device *smdk5250_devices[] __initdata = {
>> &smdk5250_lcd, /* for platform_lcd device */
>> + &exynos_drm_device,
>> };
>>
>> static void __init exynos5250_dt_map_io(void)
>> @@ -147,6 +173,7 @@ static void __init exynos5250_dt_machine_init(void)
>> samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
>> of_platform_populate(NULL, of_default_bus_match_table,
>> exynos5250_auxdata_lookup, NULL);
>> + exynos_fimd_gpio_setup_24bpp();
>> platform_add_devices(smdk5250_devices, ARRAY_SIZE(smdk5250_devices));
>> }
>>
>> --
>> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 0/7] Add device tree based discovery support for drm-fimd
@ 2012-07-16 12:11 Leela Krishna Amudala
0 siblings, 0 replies; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-16 12:11 UTC (permalink / raw)
To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
From: Leela Krishna <l.krishna-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
The patches are created against "for-next" branch of Kukjin Kim's tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
This patch set adds Backlight, LCD support and device tree based discovery
support for drm-fimd
Leela Krishna (3):
ARM: EXYNOS5: add device tree based discovery support for FIMD
ARM: EXYNOS5: Add the bus clock for FIMD
ARM: EXYNOS5: Set parent clock to fimd
Leela Krishna Amudala (4):
ARM: SAMSUNG: add additional registers and SFR definitions for
writeback
ARM: EXYNOS5: add machine specific support for backlight
ARM: EXYNOS5: add machine specific support for LCD
ARM: EXYNOS: Adding DRM platform device
arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
arch/arm/boot/dts/exynos5250.dtsi | 7 ++
arch/arm/mach-exynos/Kconfig | 1 +
arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
arch/arm/mach-exynos/include/mach/map.h | 1 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 125 +++++++++++++++++++++++
arch/arm/plat-samsung/include/plat/clock.h | 2 +
arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
drivers/video/Kconfig | 6 +
10 files changed, 239 insertions(+), 10 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 0/7] Add device tree based discovery support for drm-fimd
2012-07-11 9:11 Leela Krishna Amudala
@ 2012-07-11 10:05 ` Jingoo Han
0 siblings, 0 replies; 23+ messages in thread
From: Jingoo Han @ 2012-07-11 10:05 UTC (permalink / raw)
To: linux-arm-kernel
On July 11, 2012 6:11 PM, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
>
> From: Leela Krishna <l.krishna@samsung.com>
>
> The patches are created against "for-next" branch of Kukjin Kim's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>
> This patch set adds Backlight, LCD support and device tree based discovery
> support for drm-fimd
Your patchset seems FB-FIMD, not DRM-FIMD.
FIMD IP can be used by FB or DRM framework.
Please, use the term clearly.
If your patches use ./drivers/video/s3c-fb.c, please use the term 'FB'.
If your patches use ./drivers/gpu/drm/exynos/*, please use the term 'DRM'.
Best regards,
Jingoo Han
>
> Leela Krishna (3):
> ARM: EXYNOS5: add device tree based discovery support for FIMD
> ARM: EXYNOS5: Add the bus clock for FIMD
> ARM: EXYNOS5: Set parent clock to fimd
>
> Leela Krishna Amudala (4):
> ARM: SAMSUNG: add additional registers and SFR definitions for
> writeback
> ARM: EXYNOS5: add machine specific support for backlight
> ARM: EXYNOS5: add machine specific support for LCD
> ARM: EXYNOS: Adding DRM platform device
>
> arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
> arch/arm/boot/dts/exynos5250.dtsi | 7 ++
> arch/arm/mach-exynos/Kconfig | 1 +
> arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
> arch/arm/mach-exynos/include/mach/map.h | 1 +
> arch/arm/mach-exynos/mach-exynos5-dt.c | 125 +++++++++++++++++++++++
> arch/arm/plat-samsung/include/plat/clock.h | 2 +
> arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
> arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
> drivers/video/Kconfig | 6 +
> 10 files changed, 239 insertions(+), 10 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 0/7] Add device tree based discovery support for drm-fimd
@ 2012-07-11 9:24 Leela Krishna Amudala
2012-07-11 9:20 ` Sachin Kamat
0 siblings, 1 reply; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:24 UTC (permalink / raw)
Cc: linux-samsung-soc, prashanth.g, Leela Krishna
From: Leela Krishna <l.krishna@samsung.com>
The patches are created against "for-next" branch of Kukjin Kim's tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
This patch set adds Backlight, LCD support and device tree based discovery
support for drm-fimd
Leela Krishna (3):
ARM: EXYNOS5: add device tree based discovery support for FIMD
ARM: EXYNOS5: Add the bus clock for FIMD
ARM: EXYNOS5: Set parent clock to fimd
Leela Krishna Amudala (4):
ARM: SAMSUNG: add additional registers and SFR definitions for
writeback
ARM: EXYNOS5: add machine specific support for backlight
ARM: EXYNOS5: add machine specific support for LCD
ARM: EXYNOS: Adding DRM platform device
arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
arch/arm/boot/dts/exynos5250.dtsi | 7 ++
arch/arm/mach-exynos/Kconfig | 1 +
arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
arch/arm/mach-exynos/include/mach/map.h | 1 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 125 +++++++++++++++++++++++
arch/arm/plat-samsung/include/plat/clock.h | 2 +
arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
drivers/video/Kconfig | 6 +
10 files changed, 239 insertions(+), 10 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 0/7] Add device tree based discovery support for drm-fimd
2012-07-11 9:24 Leela Krishna Amudala
@ 2012-07-11 9:20 ` Sachin Kamat
0 siblings, 0 replies; 23+ messages in thread
From: Sachin Kamat @ 2012-07-11 9:20 UTC (permalink / raw)
To: Leela Krishna Amudala; +Cc: linux-samsung-soc, prashanth.g
Hi Leela,
Some nits and suggestions.
Please include device tree list (devicetree-discuss@lists.ozlabs.org)
for all dt related patches.
On 11/07/2012, Leela Krishna Amudala <l.krishna@samsung.com> wrote:
> From: Leela Krishna <l.krishna@samsung.com>
>
> The patches are created against "for-next" branch of Kukjin Kim's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>
> This patch set adds Backlight, LCD support and device tree based discovery
> support for drm-fimd
>
> Leela Krishna (3):
> ARM: EXYNOS5: add device tree based discovery support for FIMD
Just keep it EXYNOS (not EXYNOS5).
> ARM: EXYNOS5: Add the bus clock for FIMD
> ARM: EXYNOS5: Set parent clock to fimd
>
> Leela Krishna Amudala (4):
Better maintain same (author) name style atleast in a series.
> ARM: SAMSUNG: add additional registers and SFR definitions for
> writeback
> ARM: EXYNOS5: add machine specific support for backlight
> ARM: EXYNOS5: add machine specific support for LCD
> ARM: EXYNOS: Adding DRM platform device
>
> arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
> arch/arm/boot/dts/exynos5250.dtsi | 7 ++
> arch/arm/mach-exynos/Kconfig | 1 +
> arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
> arch/arm/mach-exynos/include/mach/map.h | 1 +
> arch/arm/mach-exynos/mach-exynos5-dt.c | 125
> +++++++++++++++++++++++
> arch/arm/plat-samsung/include/plat/clock.h | 2 +
> arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
> arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
> drivers/video/Kconfig | 6 +
> 10 files changed, 239 insertions(+), 10 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 0/7] Add device tree based discovery support for drm-fimd
@ 2012-07-11 9:11 Leela Krishna Amudala
2012-07-11 10:05 ` Jingoo Han
0 siblings, 1 reply; 23+ messages in thread
From: Leela Krishna Amudala @ 2012-07-11 9:11 UTC (permalink / raw)
To: linux-arm-kernel
From: Leela Krishna <l.krishna@samsung.com>
The patches are created against "for-next" branch of Kukjin Kim's tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
This patch set adds Backlight, LCD support and device tree based discovery
support for drm-fimd
Leela Krishna (3):
ARM: EXYNOS5: add device tree based discovery support for FIMD
ARM: EXYNOS5: Add the bus clock for FIMD
ARM: EXYNOS5: Set parent clock to fimd
Leela Krishna Amudala (4):
ARM: SAMSUNG: add additional registers and SFR definitions for
writeback
ARM: EXYNOS5: add machine specific support for backlight
ARM: EXYNOS5: add machine specific support for LCD
ARM: EXYNOS: Adding DRM platform device
arch/arm/boot/dts/exynos5250-smdk5250.dts | 16 +++
arch/arm/boot/dts/exynos5250.dtsi | 7 ++
arch/arm/mach-exynos/Kconfig | 1 +
arch/arm/mach-exynos/clock-exynos5.c | 30 ++++--
arch/arm/mach-exynos/include/mach/map.h | 1 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 125 +++++++++++++++++++++++
arch/arm/plat-samsung/include/plat/clock.h | 2 +
arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 10 ++
arch/arm/plat-samsung/include/plat/regs-fb.h | 51 +++++++++
drivers/video/Kconfig | 6 +
10 files changed, 239 insertions(+), 10 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2012-07-16 12:11 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-11 9:42 [PATCH 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 1/7] ARM: SAMSUNG: add additional registers and SFR definitions for writeback Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 2/7] ARM: EXYNOS5: add machine specific support for backlight Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 3/7] ARM: EXYNOS5: add machine specific support for LCD Leela Krishna Amudala
2012-07-11 10:13 ` Jingoo Han
2012-07-11 10:13 ` Jingoo Han
2012-07-11 9:42 ` [PATCH 4/7] ARM: EXYNOS: Adding DRM platform device Leela Krishna Amudala
2012-07-11 10:21 ` Jingoo Han
2012-07-11 10:21 ` Jingoo Han
2012-07-16 8:26 ` Leela Krishna Amudala
2012-07-16 8:26 ` Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 5/7] ARM: EXYNOS5: add device tree based discovery support for FIMD Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 6/7] ARM: EXYNOS5: Add the bus clock " Leela Krishna Amudala
2012-07-11 9:42 ` [PATCH 7/7] ARM: EXYNOS5: Set parent clock to fimd Leela Krishna Amudala
2012-07-11 10:24 ` Jingoo Han
2012-07-11 10:24 ` Jingoo Han
2012-07-11 10:11 ` [PATCH 0/7] Add device tree based discovery support for drm-fimd Jingoo Han
2012-07-11 10:11 ` Jingoo Han
-- strict thread matches above, loose matches on Subject: below --
2012-07-16 12:11 Leela Krishna Amudala
2012-07-11 9:24 Leela Krishna Amudala
2012-07-11 9:20 ` Sachin Kamat
2012-07-11 9:11 Leela Krishna Amudala
2012-07-11 10:05 ` Jingoo Han
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.