Skip to contentSkip to conversation

Add TVOUT support for SMDKV310

PATCH Superseded Hatim Ali 6 participants 11 messages Sep 21, 2011

Subsystems (4)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Hatim Ali

author
#0 lore raw

v2 cover Add TVOUT support for SMDKV310

This is v2 of the TVOUT patch set for SMDKV310.
v1 is available at below link.
(http://www.spinics.net/lists/arm-kernel/msg138054.html)

Patch 1 has been modified according to the comments received from Tomasz Stanislawski.
Patches 2 and 3 are RESENDs.

Hatim Ali (3):
ARM: EXYNOS4: Add TVOUT support for SMDKV310
ARM: EXYNOS4: Update consistent DMA size to 8MB
s5p-tv: Add PM_RUNTIME dependency

 arch/arm/mach-exynos4/Kconfig               |    2 ++
 arch/arm/mach-exynos4/include/mach/memory.h |    2 ++
 arch/arm/mach-exynos4/mach-smdkv310.c       |   25 +++++++++++++++++++++++++
 drivers/media/video/s5p-tv/Kconfig          |    2 +-
 4 files changed, 30 insertions(+), 1 deletions(-)
Signature · 1 line
1.7.2.3
author
#1 lore raw

PATCH v2 1/3 ARM: EXYNOS4: Add TVOUT support for SMDKV310

Add support for TVOUT on SMDKV310 board.

---
Changes since V1:
Incorporated changes as suggested by Tomasz Stanislawski
- Added GPIO settings for hot-plug detection.
- Added setting hdmi and mixer's parent for TV power domain.

 arch/arm/mach-exynos4/Kconfig         |    2 ++
 arch/arm/mach-exynos4/mach-smdkv310.c |   25 +++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 0 deletions(-)
arch/arm/mach-exynos4/Kconfig +2 -0
index 3b594fe..0bf0fe04 100644
@@ -131,6 +131,7 @@ config MACH_SMDKV310
 	select S3C_DEV_RTC
 	select S3C_DEV_WDT
 	select S3C_DEV_I2C1
+	select S5P_DEV_I2C_HDMIPHY
 	select S5P_DEV_MFC
 	select S3C_DEV_HSMMC
 	select S3C_DEV_HSMMC1
@@ -140,6 +141,7 @@ config MACH_SMDKV310
 	select EXYNOS4_DEV_AHCI
 	select SAMSUNG_DEV_KEYPAD
 	select EXYNOS4_DEV_PD
+	select S5P_DEV_TV
 	select SAMSUNG_DEV_PWM
 	select EXYNOS4_DEV_SYSMMU
 	select EXYNOS4_SETUP_FIMD0
arch/arm/mach-exynos4/mach-smdkv310.c +25 -0
index 7ce4d8b..50de270 100644
@@ -239,6 +239,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 	&s3c_device_hsmmc2,
 	&s3c_device_hsmmc3,
 	&s3c_device_i2c1,
+	&s5p_device_i2c_hdmiphy,
 	&s3c_device_rtc,
 	&s3c_device_wdt,
 	&exynos4_device_ac97,
@@ -262,6 +263,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 	&smdkv310_lcd_lte480wv,
 	&smdkv310_smsc911x,
 	&exynos4_device_ahci,
+	&s5p_device_hdmi,
+	&s5p_device_mixer,
 };
 
 static void __init smdkv310_smsc911x_init(void)
@@ -298,6 +301,25 @@ static struct platform_pwm_backlight_data smdkv310_bl_data = {
 	.pwm_period_ns  = 1000,
 };
 
+static void s5p_tv_setup(void)
+{
+	int ret;
+
+	/* direct HPD to HDMI chip */
+	ret = gpio_request(EXYNOS4_GPX3(7), "hpd-plug");
+
+	if (!ret) {
+		gpio_direction_input(EXYNOS4_GPX3(7));
+		s3c_gpio_cfgpin_range(EXYNOS4_GPX3(7),
+					1, S3C_GPIO_SFN(3));
+	} else
+		pr_err("Failed to request gpio for hpd: %d\n", ret);
+
+	/* setup dependencies between TV devices */
+	s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev;
+	s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev;
+}
+
 static void __init smdkv310_map_io(void)
 {
 	s5p_init_io(NULL, 0, S5P_VA_CHIPID);
@@ -327,6 +349,9 @@ static void __init smdkv310_machine_init(void)
 	samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data);
 	s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata);
 
+	s5p_tv_setup();
+	s5p_i2c_hdmiphy_set_platdata(NULL);
+
 	platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices));
 	s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev;
 }
Signature · 1 line
1.7.2.3
#2 lore raw

PATCH v2 1/3 ARM: EXYNOS4: Add TVOUT support for SMDKV310

Quoted 65 lines · Hatim Ali

Add support for TVOUT on SMDKV310 board.

---
Changes since V1:
Incorporated changes as suggested by Tomasz Stanislawski
- Added GPIO settings for hot-plug detection.
- Added setting hdmi and mixer's parent for TV power domain.

 arch/arm/mach-exynos4/Kconfig         |    2 ++
 arch/arm/mach-exynos4/mach-smdkv310.c |   25
+++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 0 deletions(-)
arch/arm/mach-exynos4/Kconfig +2 -0
index 3b594fe..0bf0fe04 100644
@@ -131,6 +131,7 @@ config MACH_SMDKV310
 	select S3C_DEV_RTC
 	select S3C_DEV_WDT
 	select S3C_DEV_I2C1
+	select S5P_DEV_I2C_HDMIPHY
 	select S5P_DEV_MFC
 	select S3C_DEV_HSMMC
 	select S3C_DEV_HSMMC1
@@ -140,6 +141,7 @@ config MACH_SMDKV310
 	select EXYNOS4_DEV_AHCI
 	select SAMSUNG_DEV_KEYPAD
 	select EXYNOS4_DEV_PD
+	select S5P_DEV_TV
 	select SAMSUNG_DEV_PWM
 	select EXYNOS4_DEV_SYSMMU
 	select EXYNOS4_SETUP_FIMD0
arch/arm/mach- renamed from arch/arm/mach-exynos4/mach-smdkv310.c +0 -0

exynos4/mach-smdkv310.c
index 7ce4d8b..50de270 100644

arch/arm/mach-exynos4/mach-smdkv310.c +1 -0
@@ -239,6 +239,7 @@ static struct platform_device *smdkv310_devices[]
 __initdata = {
 	&s3c_device_hsmmc2,
 	&s3c_device_hsmmc3,
 	&s3c_device_i2c1,
+	&s5p_device_i2c_hdmiphy,
 	&s3c_device_rtc,
 	&s3c_device_wdt,
arch/arm/mach-exynos4/mach-smdkv310.c +2 -0
 	&exynos4_device_ac97,
@@ -262,6 +263,8 @@ static struct platform_device *smdkv310_devices[]
 __initdata = {
 	&smdkv310_lcd_lte480wv,
 	&smdkv310_smsc911x,
 	&exynos4_device_ahci,
+	&s5p_device_hdmi,
+	&s5p_device_mixer,
 };
 

static void __init smdkv310_smsc911x_init(void)

arch/arm/mach-exynos4/mach-smdkv310.c +1 -0
@@ -298,6 +301,25 @@ static struct platform_pwm_backlight_data
 smdkv310_bl_data = {
 	.pwm_period_ns  = 1000,
 };
 
+static void s5p_tv_setup(void)

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data · line 315

Quoted 10 lines
arch/arm/mach-exynos4/mach-smdkv310.c +10 -0
+{
+	int ret;
+
+	/* direct HPD to HDMI chip */
+	ret = gpio_request(EXYNOS4_GPX3(7), "hpd-plug");
+
+	if (!ret) {
+		gpio_direction_input(EXYNOS4_GPX3(7));
+		s3c_gpio_cfgpin_range(EXYNOS4_GPX3(7),
+					1, S3C_GPIO_SFN(3));

Why do you use 's3c_gpio_cfgpin_range()' for just one gpio pin not range...?

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data smdkv310_bl_data = { · line 316

Quoted 2 lines
arch/arm/mach-exynos4/mach-smdkv310.c +2 -0
+	} else
+		pr_err("Failed to request gpio for hpd: %d\n", ret);

According to coding style, should be added { and } around above.

Quoted 19 lines
arch/arm/mach-exynos4/mach-smdkv310.c +6 -0
+
+	/* setup dependencies between TV devices */
+	s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev;
+	s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev;
+}
+
 static void __init smdkv310_map_io(void)
 {
arch/arm/mach-exynos4/mach-smdkv310.c +3 -0
 	s5p_init_io(NULL, 0, S5P_VA_CHIPID);
@@ -327,6 +349,9 @@ static void __init smdkv310_machine_init(void)
 	samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data);
 	s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata);
 
+	s5p_tv_setup();
+	s5p_i2c_hdmiphy_set_platdata(NULL);
+
 	platform_add_devices(smdkv310_devices,
 ARRAY_SIZE(smdkv310_devices));
 	s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev;
Quoted 3 lines

}
--
1.7.2.3

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

#3 lore raw

PATCH v2 1/3 ARM: EXYNOS4: Add TVOUT support for SMDKV310

Quoted 64 lines · Kukjin Kim
Quoted 63 lines · Hatim Ali

Add support for TVOUT on SMDKV310 board.

---
Changes since V1:
Incorporated changes as suggested by Tomasz Stanislawski
- Added GPIO settings for hot-plug detection.
- Added setting hdmi and mixer's parent for TV power domain.

  arch/arm/mach-exynos4/Kconfig         |    2 ++
  arch/arm/mach-exynos4/mach-smdkv310.c |   25
+++++++++++++++++++++++++
  2 files changed, 27 insertions(+), 0 deletions(-)
arch/arm/mach-exynos4/Kconfig +2 -0
index 3b594fe..0bf0fe04 100644
@@ -131,6 +131,7 @@ config MACH_SMDKV310
  	select S3C_DEV_RTC
  	select S3C_DEV_WDT
  	select S3C_DEV_I2C1
+	select S5P_DEV_I2C_HDMIPHY
  	select S5P_DEV_MFC
  	select S3C_DEV_HSMMC
  	select S3C_DEV_HSMMC1
@@ -140,6 +141,7 @@ config MACH_SMDKV310
  	select EXYNOS4_DEV_AHCI
  	select SAMSUNG_DEV_KEYPAD
  	select EXYNOS4_DEV_PD
+	select S5P_DEV_TV
  	select SAMSUNG_DEV_PWM
  	select EXYNOS4_DEV_SYSMMU
  	select EXYNOS4_SETUP_FIMD0
arch/arm/mach- renamed from arch/arm/mach-exynos4/mach-smdkv310.c +0 -0

exynos4/mach-smdkv310.c
index 7ce4d8b..50de270 100644

arch/arm/mach-exynos4/mach-smdkv310.c +1 -0
@@ -239,6 +239,7 @@ static struct platform_device *smdkv310_devices[]
 __initdata = {
  	&s3c_device_hsmmc2,
  	&s3c_device_hsmmc3,
  	&s3c_device_i2c1,
+	&s5p_device_i2c_hdmiphy,
  	&s3c_device_rtc,
  	&s3c_device_wdt,

&exynos4_device_ac97,

arch/arm/mach-exynos4/mach-smdkv310.c +2 -0
@@ -262,6 +263,8 @@ static struct platform_device *smdkv310_devices[]
 __initdata = {
  	&smdkv310_lcd_lte480wv,
  	&smdkv310_smsc911x,
  	&exynos4_device_ahci,
+	&s5p_device_hdmi,
+	&s5p_device_mixer,
  };
 

static void __init smdkv310_smsc911x_init(void)

arch/arm/mach-exynos4/mach-smdkv310.c +0 -0
@@ -298,6 +301,25 @@ static struct platform_pwm_backlight_data
 smdkv310_bl_data = {
  	.pwm_period_ns  = 1000,
  };
 
Quoted 8 lines

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data smdkv310_bl_data = { · line 311

Quoted 8 lines
arch/arm/mach-exynos4/mach-smdkv310.c +8 -0
+static void s5p_tv_setup(void)
+{
+	int ret;
+
+	/* direct HPD to HDMI chip */
+	ret = gpio_request(EXYNOS4_GPX3(7), "hpd-plug");
+
+	if (!ret) {

Maybe we should generate WARN_ON(1) here. Failure of gpio request indicate that
board was configued not correctly.

Quoted 40 lines

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data smdkv310_bl_data = { · line 314

Quoted 3 lines
arch/arm/mach-exynos4/mach-smdkv310.c +3 -0
+		gpio_direction_input(EXYNOS4_GPX3(7));
+		s3c_gpio_cfgpin_range(EXYNOS4_GPX3(7),
+					1, S3C_GPIO_SFN(3));

Why do you use 's3c_gpio_cfgpin_range()' for just one gpio pin not range...?

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data smdkv310_bl_data = { · line 316

Quoted 2 lines
arch/arm/mach-exynos4/mach-smdkv310.c +2 -0
+	} else
+		pr_err("Failed to request gpio for hpd: %d\n", ret);

According to coding style, should be added { and } around above.

Quoted 19 lines
arch/arm/mach-exynos4/mach-smdkv310.c +6 -0
+
+	/* setup dependencies between TV devices */
+	s5p_device_hdmi.dev.parent =&exynos4_device_pd[PD_TV].dev;
+	s5p_device_mixer.dev.parent =&exynos4_device_pd[PD_TV].dev;
+}
+
  static void __init smdkv310_map_io(void)
  {
  	s5p_init_io(NULL, 0, S5P_VA_CHIPID);
arch/arm/mach-exynos4/mach-smdkv310.c +3 -0
@@ -327,6 +349,9 @@ static void __init smdkv310_machine_init(void)
  	samsung_bl_set(&smdkv310_bl_gpio_info,&smdkv310_bl_data);
  	s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata);
 
+	s5p_tv_setup();
+	s5p_i2c_hdmiphy_set_platdata(NULL);
+
  	platform_add_devices(smdkv310_devices,
 ARRAY_SIZE(smdkv310_devices));
  	s5p_device_mfc.dev.parent =&exynos4_device_pd[PD_MFC].dev;
Quoted 3 lines

}
--
1.7.2.3

Thanks.

Best regards,
Kgene.
--
Kukjin Kim<[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

#4 lore raw

PATCH v2 1/3 ARM: EXYNOS4: Add TVOUT support for SMDKV310

Hello Tomasz Stanislawski,

Quoted 68 lines · Tomasz Stanislawski
Quoted 67 lines · Kukjin Kim
Quoted 65 lines · Hatim Ali

Add support for TVOUT on SMDKV310 board.

---
Changes since V1:
Incorporated changes as suggested by Tomasz Stanislawski
- Added ?GPIO settings for hot-plug detection.
- Added setting hdmi and mixer's parent for TV power domain.

?arch/arm/mach-exynos4/Kconfig ? ? ? ? | ? ?2 ++ ?arch/arm/mach-exynos4/mach-smdkv310.c | ? 25
+++++++++++++++++++++++++
?2 files changed, 27 insertions(+), 0 deletions(-)

arch/arm/mach-exynos4/Kconfig +0 -0
index 3b594fe..0bf0fe04 100644
@@ -131,6 +131,7 @@ config MACH_SMDKV310

? ? ? ?select S3C_DEV_RTC
? ? ? ?select S3C_DEV_WDT
? ? ? ?select S3C_DEV_I2C1
+ ? ? ? select S5P_DEV_I2C_HDMIPHY
? ? ? ?select S5P_DEV_MFC
? ? ? ?select S3C_DEV_HSMMC
? ? ? ?select S3C_DEV_HSMMC1

arch/arm/mach-exynos4/Kconfig +0 -0
@@ -140,6 +141,7 @@ config MACH_SMDKV310

? ? ? ?select EXYNOS4_DEV_AHCI
? ? ? ?select SAMSUNG_DEV_KEYPAD
? ? ? ?select EXYNOS4_DEV_PD
+ ? ? ? select S5P_DEV_TV
? ? ? ?select SAMSUNG_DEV_PWM
? ? ? ?select EXYNOS4_DEV_SYSMMU
? ? ? ?select EXYNOS4_SETUP_FIMD0

arch/arm/mach- renamed from arch/arm/mach-exynos4/mach-smdkv310.c +0 -0

exynos4/mach-smdkv310.c
index 7ce4d8b..50de270 100644

arch/arm/mach-exynos4/mach-smdkv310.c +1 -0
@@ -239,6 +239,7 @@ static struct platform_device *smdkv310_devices[]
 __initdata = {
 ? ? ? ?&s3c_device_hsmmc2,
 ? ? ? ?&s3c_device_hsmmc3,
 ? ? ? ?&s3c_device_i2c1,
+ ? ? ? &s5p_device_i2c_hdmiphy,
 ? ? ? ?&s3c_device_rtc,
 ? ? ? ?&s3c_device_wdt,

? ? ? ?&exynos4_device_ac97,

arch/arm/mach-exynos4/mach-smdkv310.c +2 -0
@@ -262,6 +263,8 @@ static struct platform_device *smdkv310_devices[]
 __initdata = {
 ? ? ? ?&smdkv310_lcd_lte480wv,
 ? ? ? ?&smdkv310_smsc911x,
 ? ? ? ?&exynos4_device_ahci,
+ ? ? ? &s5p_device_hdmi,
+ ? ? ? &s5p_device_mixer,
 ?};
 

?static void __init smdkv310_smsc911x_init(void)

arch/arm/mach-exynos4/mach-smdkv310.c +0 -0
@@ -298,6 +301,25 @@ static struct platform_pwm_backlight_data
 smdkv310_bl_data = {
 ? ? ? ?.pwm_period_ns ?= 1000,
 ?};
 
Quoted 12 lines
Quoted 8 lines

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data smdkv310_bl_data = {

Quoted 8 lines
arch/arm/mach-exynos4/mach-smdkv310.c +8 -0
+static void s5p_tv_setup(void)
+{
+ ? ? ? int ret;
+
+ ? ? ? /* direct HPD to HDMI chip */
+ ? ? ? ret = gpio_request(EXYNOS4_GPX3(7), "hpd-plug");
+
+ ? ? ? if (!ret) {

Maybe we should generate WARN_ON(1) here. Failure of gpio request indicate that
board was configued not correctly.

Ok. will add this in my next patch.

Quoted 52 lines
Quoted 38 lines

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data · line 315

Quoted 4 lines
arch/arm/mach-exynos4/mach-smdkv310.c +3 -0
+ ? ? ? ? ? ? ? gpio_direction_input(EXYNOS4_GPX3(7));
+ ? ? ? ? ? ? ? s3c_gpio_cfgpin_range(EXYNOS4_GPX3(7),
+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1, S3C_GPIO_SFN(3));

Why do you use 's3c_gpio_cfgpin_range()' for just one gpio pin not range...?

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data · line 317

Quoted 2 lines
arch/arm/mach-exynos4/mach-smdkv310.c +2 -0
+ ? ? ? } else
+ ? ? ? ? ? ? ? pr_err("Failed to request gpio for hpd: %d\n", ret);

According to coding style, should be added { and } around above.

Quoted 19 lines
arch/arm/mach-exynos4/mach-smdkv310.c +6 -0
+
+ ? ? ? /* setup dependencies between TV devices */
+ ? ? ? s5p_device_hdmi.dev.parent =&exynos4_device_pd[PD_TV].dev;
+ ? ? ? s5p_device_mixer.dev.parent =&exynos4_device_pd[PD_TV].dev;
+}
+
 ?static void __init smdkv310_map_io(void)
 ?{

? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID);

arch/arm/mach-exynos4/mach-smdkv310.c +3 -0
@@ -327,6 +349,9 @@ static void __init smdkv310_machine_init(void)
 ? ? ? ?samsung_bl_set(&smdkv310_bl_gpio_info,&smdkv310_bl_data);
 ? ? ? ?s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata);
 
+ ? ? ? s5p_tv_setup();
+ ? ? ? s5p_i2c_hdmiphy_set_platdata(NULL);
+
 ? ? ? ?platform_add_devices(smdkv310_devices,
 ARRAY_SIZE(smdkv310_devices));
 ? ? ? ?s5p_device_mfc.dev.parent =&exynos4_device_pd[PD_MFC].dev;
Quoted 3 lines

?}
--
1.7.2.3

Thanks.

Quoted 7 lines

Best regards,
Kgene.
--
Kukjin Kim<[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

--
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

#5 lore raw

PATCH v2 1/3 ARM: EXYNOS4: Add TVOUT support for SMDKV310

In reply to Hatim Ali

Hi Hatim,

Quoted 4 lines · Hatim Ali

Add support for TVOUT on SMDKV310 board.

---

...

Quoted 24 lines
arch/arm/mach-exynos4/mach-smdkv310.c +3 -0
index 7ce4d8b..50de270 100644
@@ -239,6 +239,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 	&s3c_device_hsmmc2,
 	&s3c_device_hsmmc3,
 	&s3c_device_i2c1,
+	&s5p_device_i2c_hdmiphy,
 	&s3c_device_rtc,
 	&s3c_device_wdt,
 	&exynos4_device_ac97,
@@ -262,6 +263,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 	&smdkv310_lcd_lte480wv,
 	&smdkv310_smsc911x,
 	&exynos4_device_ahci,
+	&s5p_device_hdmi,
+	&s5p_device_mixer,
 };
 
 static void __init smdkv310_smsc911x_init(void)
@@ -298,6 +301,25 @@ static struct platform_pwm_backlight_data smdkv310_bl_data = {
 	.pwm_period_ns  = 1000,
 };

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data smdkv310_bl_data = { · line 312

Quoted 10 lines
arch/arm/mach-exynos4/mach-smdkv310.c +9 -0
 
+static void s5p_tv_setup(void)
+{
+	int ret;
+
+	/* direct HPD to HDMI chip */
+	ret = gpio_request(EXYNOS4_GPX3(7), "hpd-plug");
+
+	if (!ret) {
+		gpio_direction_input(EXYNOS4_GPX3(7));

Since you're probably going to be reworking this anyway, I think gpio_request_one could be used here for simplicity.

--
Regards,
Sylwester

#6 lore raw

PATCH v2 1/3 ARM: EXYNOS4: Add TVOUT support for SMDKV310

Hi Sylwester,

Quoted 33 lines · Sylwester Nawrocki

Hi Hatim,

Quoted 4 lines · Hatim Ali

Add support for TVOUT on SMDKV310 board.

---

...

Quoted 25 lines
arch/arm/mach-exynos4/mach-smdkv310.c +3 -0
index 7ce4d8b..50de270 100644
@@ -239,6 +239,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 ? ? ? &s3c_device_hsmmc2,
 ? ? ? &s3c_device_hsmmc3,
 ? ? ? &s3c_device_i2c1,
+ ? ? &s5p_device_i2c_hdmiphy,
 ? ? ? &s3c_device_rtc,
 ? ? ? &s3c_device_wdt,
 ? ? ? &exynos4_device_ac97,
@@ -262,6 +263,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 ? ? ? &smdkv310_lcd_lte480wv,
 ? ? ? &smdkv310_smsc911x,
 ? ? ? &exynos4_device_ahci,
+ ? ? &s5p_device_hdmi,
+ ? ? &s5p_device_mixer,
 ?};
 
 ?static void __init smdkv310_smsc911x_init(void)
@@ -298,6 +301,25 @@ static struct platform_pwm_backlight_data smdkv310_bl_data = {
 ? ? ? .pwm_period_ns ?= 1000,
 ?};
 
Quoted 12 lines

arch/arm/mach-exynos4/mach-smdkv310.c static struct platform_pwm_backlight_data smdkv310_bl_data = { · line 312

Quoted 9 lines
arch/arm/mach-exynos4/mach-smdkv310.c +9 -0
+static void s5p_tv_setup(void)
+{
+ ? ? int ret;
+
+ ? ? /* direct HPD to HDMI chip */
+ ? ? ret = gpio_request(EXYNOS4_GPX3(7), "hpd-plug");
+
+ ? ? if (!ret) {
+ ? ? ? ? ? ? gpio_direction_input(EXYNOS4_GPX3(7));

Since you're probably going to be reworking this anyway, I think gpio_request_one could be used here for simplicity.

Thanks for your suggestion. Will change accordingly.

Quoted 9 lines

--
Regards,
Sylwester
--
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

author
#7 lore raw

PATCH RESEND v2 2/3 ARM: EXYNOS4: Update consistent DMA size to 8MB

In reply to Hatim Ali

Change the consistent DMA allocation to 8MB to support the TVOUT driver.

NOTE: Once CMA support is merged into mainline, we will use it for memory allocation.

---
 arch/arm/mach-exynos4/include/mach/memory.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-exynos4/include/mach/memory.h +2 -0
index 374ef2c..7549742 100644
@@ -15,6 +15,8 @@
 
 #define PLAT_PHYS_OFFSET		UL(0x40000000)
 
+#define CONSISTENT_DMA_SIZE		SZ_8M
+
 /* Maximum of 256MiB in one bank */
 #define MAX_PHYSMEM_BITS	32
 #define SECTION_SIZE_BITS	28
Signature · 1 line
1.7.2.3
#8 lore raw

PATCH RESEND 2/3 ARM: EXYNOS4: Update consistent DMA size to 8MB

Hi,

As I know, CONSISTENT_DMA_SIZE is removed, please use the updated APIs.

Thank you,
Kyungmin Park

Quoted 32 lines · Hatim Ali

Change the consistent DMA allocation to 8MB to support the TVOUT driver.

NOTE: Once CMA support is merged into mainline, we will use it for memory allocation.

---
?arch/arm/mach-exynos4/include/mach/memory.h | ? ?2 ++ ?1 files changed, 2 insertions(+), 0 deletions(-)

arch/arm/mach-exynos4/include/mach/memory.h +2 -0
index 374ef2c..7549742 100644
@@ -15,6 +15,8 @@
 
 ?#define PLAT_PHYS_OFFSET ? ? ? ? ? ? ? UL(0x40000000)
 
+#define CONSISTENT_DMA_SIZE ? ? ? ? ? ?SZ_8M
+

?/* Maximum of 256MiB in one bank */
?#define MAX_PHYSMEM_BITS ? ? ? 32
?#define SECTION_SIZE_BITS ? ? ?28
--
1.7.2.3

--
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

#9 lore raw

PATCH RESEND 2/3 ARM: EXYNOS4: Update consistent DMA size to 8MB

In reply to Hatim Ali
Quoted 4 lines · Hatim Ali

Change the consistent DMA allocation to 8MB to support the TVOUT driver.

Probably, this conflicts with 'Remove define CONSISTENT_DMA_SIZE'.

As other guy said, we need to check the progress of it before this.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

Quoted 24 lines

NOTE: Once CMA support is merged into mainline, we will use it for memory allocation.

---
 arch/arm/mach-exynos4/include/mach/memory.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach- renamed from arch/arm/mach-exynos4/include/mach/memory.h +0 -0

exynos4/include/mach/memory.h
index 374ef2c..7549742 100644

arch/arm/mach-exynos4/include/mach/memory.h +2 -1
@@ -15,6 +15,8 @@
 
 #define PLAT_PHYS_OFFSET		UL(0x40000000)
 
+#define CONSISTENT_DMA_SIZE		SZ_8M
+
 /* Maximum of 256MiB in one bank */
 #define MAX_PHYSMEM_BITS	32
 #define SECTION_SIZE_BITS	28
--

1.7.2.3

author
#10 lore raw

PATCH RESEND v2 3/3 s5p-tv: Add PM_RUNTIME dependency

In reply to Hatim Ali

The TVOUT driver requires PM_RUNTIME support for proper clock enabling.

---
 drivers/media/video/s5p-tv/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/media/video/s5p-tv/Kconfig +1 -1
index 9c37dee..f2a0977 100644
@@ -8,7 +8,7 @@
 
 config VIDEO_SAMSUNG_S5P_TV
 	bool "Samsung TV driver for S5P platform (experimental)"
-	depends on PLAT_S5P
+	depends on PLAT_S5P && PM_RUNTIME
 	depends on EXPERIMENTAL
 	default n
 	---help---
Signature · 1 line
1.7.2.3