All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
@ 2011-06-22  6:56 JinGoo Han
       [not found] ` <BANLkTi=SqB7NHQ7vStegFgQjihoQRmzVCw@mail.gmail.com>
  0 siblings, 1 reply; 9+ messages in thread
From: JinGoo Han @ 2011-06-22  6:56 UTC (permalink / raw)
  To: BANAJIT GOSWAMI, linux-samsung-soc
  Cc: Kukjin Kim, ben-linux, linux-arm-kernel

Hi, Banajit.
> -----Original Message-----
> From: linux-samsung-soc-owner@vger.kernel.org [mailto:linux-samsung-soc-
> owner@vger.kernel.org] On Behalf Of Banajit Goswami
> Sent: Wednesday, June 22, 2011 3:41 PM
> To: linux-samsung-soc@vger.kernel.org
> Cc: kgene.kim@samsung.com; ben-linux@fluff.org; linux-arm-
> kernel@lists.infradead.org; Banajit Goswami
> Subject: [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung
> SMDKV310
> 
> This patch adds support for LCD backlight using PWM timer for
> Samsung SMDKV310 board.
> 
> Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
> ---
>  arch/arm/mach-exynos4/Kconfig         |    1 +
>  arch/arm/mach-exynos4/mach-smdkv310.c |   43
> +++++++++++++++++++++++++++++++++
>  2 files changed, 44 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
> index 1435fc3..9ab53bc 100644
> --- a/arch/arm/mach-exynos4/Kconfig
> +++ b/arch/arm/mach-exynos4/Kconfig
> @@ -128,6 +128,7 @@ config MACH_SMDKV310
>  	select S3C_DEV_HSMMC2
>  	select S3C_DEV_HSMMC3
>  	select SAMSUNG_DEV_KEYPAD
> +	select SAMSUNG_DEV_PWM
>  	select EXYNOS4_DEV_PD
>  	select EXYNOS4_DEV_SYSMMU
>  	select EXYNOS4_SETUP_I2C1
> diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-
> exynos4/mach-smdkv310.c
> index 7e3ee6c..b097ef6 100644
> --- a/arch/arm/mach-exynos4/mach-smdkv310.c
> +++ b/arch/arm/mach-exynos4/mach-smdkv310.c
> @@ -16,6 +16,7 @@
>  #include <linux/io.h>
>  #include <linux/i2c.h>
>  #include <linux/input.h>
> +#include <linux/pwm_backlight.h>
> 
>  #include <asm/mach/arch.h>
>  #include <asm/mach-types.h>
> @@ -29,6 +30,7 @@
>  #include <plat/sdhci.h>
>  #include <plat/iic.h>
>  #include <plat/pd.h>
> +#include <plat/gpio-cfg.h>
> 
>  #include <mach/map.h>
> 
> @@ -172,6 +174,45 @@ static struct i2c_board_info i2c_devs1[] __initdata =
> {
>  	{I2C_BOARD_INFO("wm8994", 0x1a),},
>  };
> 
> +static int smdkv310_backlight_init(struct device *dev)
> +{
> +	int ret = 0;
> +
> +	ret = gpio_request(EXYNOS4_GPD0(1), "Backlight");
> +	if (ret) {
> +		printk(KERN_ERR "failed to request GPD for PWM-OUT0\n");
> +		return ret;
> +	}
> +
> +	/* Configure GPIO pin with EXYNOS4_GPD_0_1_TOUT_0 */
> +	s3c_gpio_cfgpin(EXYNOS4_GPD0(1), S3C_GPIO_SFN(2));
> +
> +	return 0;
> +}
> +
> +static void smdkv310_backlight_exit(struct device *dev)
> +{
> +	s3c_gpio_cfgpin(EXYNOS4_GPD0(1), S3C_GPIO_OUTPUT);
> +	gpio_free(EXYNOS4_GPD0(1));
> +}
> +
> +static struct platform_pwm_backlight_data smdkv310_backlight_data = {
> +	.pwm_id		= 1,
> +	.max_brightness	= 255,
> +	.dft_brightness	= 255,
> +	.pwm_period_ns	= 78770,
Please use 1000 as pwm_period_ns instead of 78770 as follows:
-	.pwm_period_ns	= 78770,
+	.pwm_period_ns  = 1000,

The value '78770' makes noise related to resonance at LCD board.

I will explain how I get the value of PWM period.

The SMDK boards use LT3591 as backlight LED driver of LTE480WV LCD
According to the LT3591 datasheet, the switching frequency should
be 1MHz. So, PWM period is calculated by following formula:
        PWM period = 1/switching frequency
                       = 1/1MHz
                       = 1000 ns

You can find LT3591 datasheet easily on the Internet. Please refer to it
for more information.
Good luck.
> +	.init		= smdkv310_backlight_init,
> +	.exit		= smdkv310_backlight_exit,
> +};
> +
> +static struct platform_device smdkv310_backlight_device = {
> +	.name		= "pwm-backlight",
> +	.dev		= {
> +		.parent		= &s3c_device_timer[1].dev,
> +		.platform_data	= &smdkv310_backlight_data,
> +	},
> +};
> +
>  static struct platform_device *smdkv310_devices[] __initdata = {
>  	&s3c_device_hsmmc0,
>  	&s3c_device_hsmmc1,
> @@ -195,6 +236,8 @@ static struct platform_device *smdkv310_devices[]
> __initdata = {
>  	&samsung_asoc_dma,
>  	&smdkv310_smsc911x,
>  	&smdkv310_pcm_device,
> +	&s3c_device_timer[1],
> +	&smdkv310_backlight_device,
>  };
> 
>  static void __init smdkv310_smsc911x_init(void)
> --
> 1.6.5.2
> 
> --
> 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] 9+ messages in thread

* Re: [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
       [not found] ` <BANLkTi=SqB7NHQ7vStegFgQjihoQRmzVCw@mail.gmail.com>
@ 2011-06-23 10:12     ` Banajit Goswami
  0 siblings, 0 replies; 9+ messages in thread
From: Banajit Goswami @ 2011-06-23 10:12 UTC (permalink / raw)
  To: jg1.han; +Cc: linux-samsung-soc, Ben Dooks, linux-arm-kernel, kgene.kim

> From: JinGoo Han <jg1.han@samsung.com>
>
> Hi, Banajit.
Hi Jingoo,

>>
>> Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
>> ---
...
<snip>
...
>> +     .pwm_period_ns  = 78770,
> Please use 1000 as pwm_period_ns instead of 78770 as follows:
> -       .pwm_period_ns  = 78770,
> +       .pwm_period_ns  = 1000,
>
Yes, I will modify the period value and send updated patch

> The value '78770' makes noise related to resonance at LCD board.
>
> I will explain how I get the value of PWM period.
>
> The SMDK boards use LT3591 as backlight LED driver of LTE480WV LCD
> According to the LT3591 datasheet, the switching frequency should
> be 1MHz. So, PWM period is calculated by following formula:
>        PWM period = 1/switching frequency
>                       = 1/1MHz
>                       = 1000 ns
>
Thanks for the explanation.

> You can find LT3591 datasheet easily on the Internet. Please refer to it
> for more information.
> Good luck.
Thanks you.

>> +     .init           = smdkv310_backlight_init,
...
<snip>
...
>

Regards,
Banajit

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

* [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
@ 2011-06-23 10:12     ` Banajit Goswami
  0 siblings, 0 replies; 9+ messages in thread
From: Banajit Goswami @ 2011-06-23 10:12 UTC (permalink / raw)
  To: linux-arm-kernel

> From: JinGoo Han <jg1.han@samsung.com>
>
> Hi, Banajit.
Hi Jingoo,

>>
>> Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
>> ---
...
<snip>
...
>> + ? ? .pwm_period_ns ?= 78770,
> Please use 1000 as pwm_period_ns instead of 78770 as follows:
> - ? ? ? .pwm_period_ns ?= 78770,
> + ? ? ? .pwm_period_ns ?= 1000,
>
Yes, I will modify the period value and send updated patch

> The value '78770' makes noise related to resonance at LCD board.
>
> I will explain how I get the value of PWM period.
>
> The SMDK boards use LT3591 as backlight LED driver of LTE480WV LCD
> According to the LT3591 datasheet, the switching frequency should
> be 1MHz. So, PWM period is calculated by following formula:
> ? ? ? ?PWM period = 1/switching frequency
> ? ? ? ? ? ? ? ? ? ? ? = 1/1MHz
> ? ? ? ? ? ? ? ? ? ? ? = 1000 ns
>
Thanks for the explanation.

> You can find LT3591 datasheet easily on the Internet. Please refer to it
> for more information.
> Good luck.
Thanks you.

>> + ? ? .init ? ? ? ? ? = smdkv310_backlight_init,
...
<snip>
...
>

Regards,
Banajit

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

* RE: [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
  2011-06-23 10:12     ` Banajit Goswami
@ 2011-06-23 11:44       ` Kukjin Kim
  -1 siblings, 0 replies; 9+ messages in thread
From: Kukjin Kim @ 2011-06-23 11:44 UTC (permalink / raw)
  To: 'Banajit Goswami', jg1.han
  Cc: linux-samsung-soc, 'Ben Dooks', linux-arm-kernel

Banajit Goswami wrote:
> 
> > From: JinGoo Han <jg1.han@samsung.com>
> >
> > Hi, Banajit.
> Hi Jingoo,
> 
Hi all,

Hmm...
If the same code is required into each boards, please don't add them on both.

I think, we can avoid duplication...

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

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

* [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
@ 2011-06-23 11:44       ` Kukjin Kim
  0 siblings, 0 replies; 9+ messages in thread
From: Kukjin Kim @ 2011-06-23 11:44 UTC (permalink / raw)
  To: linux-arm-kernel

Banajit Goswami wrote:
> 
> > From: JinGoo Han <jg1.han@samsung.com>
> >
> > Hi, Banajit.
> Hi Jingoo,
> 
Hi all,

Hmm...
If the same code is required into each boards, please don't add them on both.

I think, we can avoid duplication...

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

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

* Re: [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
  2011-06-23 11:44       ` Kukjin Kim
@ 2011-06-23 13:53         ` Banajit Goswami
  -1 siblings, 0 replies; 9+ messages in thread
From: Banajit Goswami @ 2011-06-23 13:53 UTC (permalink / raw)
  To: Kukjin Kim; +Cc: jg1.han, linux-samsung-soc, Ben Dooks, linux-arm-kernel

On Thu, Jun 23, 2011 at 5:14 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Banajit Goswami wrote:
>>
>> > From: JinGoo Han <jg1.han@samsung.com>
>> >
>> > Hi, Banajit.
>> Hi Jingoo,
>>
> Hi all,
Hello,

> Hmm...
> If the same code is required into each boards, please don't add them on both.
>
> I think, we can avoid duplication...
Yes, I have already started working on it.
I can send it by tomorrow.

> Thanks.
>
> Best regards,
> Kgene.

Thanks,
Banajit

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

* [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
@ 2011-06-23 13:53         ` Banajit Goswami
  0 siblings, 0 replies; 9+ messages in thread
From: Banajit Goswami @ 2011-06-23 13:53 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 23, 2011 at 5:14 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Banajit Goswami wrote:
>>
>> > From: JinGoo Han <jg1.han@samsung.com>
>> >
>> > Hi, Banajit.
>> Hi Jingoo,
>>
> Hi all,
Hello,

> Hmm...
> If the same code is required into each boards, please don't add them on both.
>
> I think, we can avoid duplication...
Yes, I have already started working on it.
I can send it by tomorrow.

> Thanks.
>
> Best regards,
> Kgene.

Thanks,
Banajit

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

* [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
@ 2011-06-22  6:41 ` Banajit Goswami
  0 siblings, 0 replies; 9+ messages in thread
From: Banajit Goswami @ 2011-06-22  6:41 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, ben-linux, linux-arm-kernel, Banajit Goswami

This patch adds support for LCD backlight using PWM timer for
Samsung SMDKV310 board.

Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
---
 arch/arm/mach-exynos4/Kconfig         |    1 +
 arch/arm/mach-exynos4/mach-smdkv310.c |   43 +++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
index 1435fc3..9ab53bc 100644
--- a/arch/arm/mach-exynos4/Kconfig
+++ b/arch/arm/mach-exynos4/Kconfig
@@ -128,6 +128,7 @@ config MACH_SMDKV310
 	select S3C_DEV_HSMMC2
 	select S3C_DEV_HSMMC3
 	select SAMSUNG_DEV_KEYPAD
+	select SAMSUNG_DEV_PWM
 	select EXYNOS4_DEV_PD
 	select EXYNOS4_DEV_SYSMMU
 	select EXYNOS4_SETUP_I2C1
diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-exynos4/mach-smdkv310.c
index 7e3ee6c..b097ef6 100644
--- a/arch/arm/mach-exynos4/mach-smdkv310.c
+++ b/arch/arm/mach-exynos4/mach-smdkv310.c
@@ -16,6 +16,7 @@
 #include <linux/io.h>
 #include <linux/i2c.h>
 #include <linux/input.h>
+#include <linux/pwm_backlight.h>
 
 #include <asm/mach/arch.h>
 #include <asm/mach-types.h>
@@ -29,6 +30,7 @@
 #include <plat/sdhci.h>
 #include <plat/iic.h>
 #include <plat/pd.h>
+#include <plat/gpio-cfg.h>
 
 #include <mach/map.h>
 
@@ -172,6 +174,45 @@ static struct i2c_board_info i2c_devs1[] __initdata = {
 	{I2C_BOARD_INFO("wm8994", 0x1a),},
 };
 
+static int smdkv310_backlight_init(struct device *dev)
+{
+	int ret = 0;
+
+	ret = gpio_request(EXYNOS4_GPD0(1), "Backlight");
+	if (ret) {
+		printk(KERN_ERR "failed to request GPD for PWM-OUT0\n");
+		return ret;
+	}
+
+	/* Configure GPIO pin with EXYNOS4_GPD_0_1_TOUT_0 */
+	s3c_gpio_cfgpin(EXYNOS4_GPD0(1), S3C_GPIO_SFN(2));
+
+	return 0;
+}
+
+static void smdkv310_backlight_exit(struct device *dev)
+{
+	s3c_gpio_cfgpin(EXYNOS4_GPD0(1), S3C_GPIO_OUTPUT);
+	gpio_free(EXYNOS4_GPD0(1));
+}
+
+static struct platform_pwm_backlight_data smdkv310_backlight_data = {
+	.pwm_id		= 1,
+	.max_brightness	= 255,
+	.dft_brightness	= 255,
+	.pwm_period_ns	= 78770,
+	.init		= smdkv310_backlight_init,
+	.exit		= smdkv310_backlight_exit,
+};
+
+static struct platform_device smdkv310_backlight_device = {
+	.name		= "pwm-backlight",
+	.dev		= {
+		.parent		= &s3c_device_timer[1].dev,
+		.platform_data	= &smdkv310_backlight_data,
+	},
+};
+
 static struct platform_device *smdkv310_devices[] __initdata = {
 	&s3c_device_hsmmc0,
 	&s3c_device_hsmmc1,
@@ -195,6 +236,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 	&samsung_asoc_dma,
 	&smdkv310_smsc911x,
 	&smdkv310_pcm_device,
+	&s3c_device_timer[1],
+	&smdkv310_backlight_device,
 };
 
 static void __init smdkv310_smsc911x_init(void)
-- 
1.6.5.2

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

* [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310
@ 2011-06-22  6:41 ` Banajit Goswami
  0 siblings, 0 replies; 9+ messages in thread
From: Banajit Goswami @ 2011-06-22  6:41 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds support for LCD backlight using PWM timer for
Samsung SMDKV310 board.

Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
---
 arch/arm/mach-exynos4/Kconfig         |    1 +
 arch/arm/mach-exynos4/mach-smdkv310.c |   43 +++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
index 1435fc3..9ab53bc 100644
--- a/arch/arm/mach-exynos4/Kconfig
+++ b/arch/arm/mach-exynos4/Kconfig
@@ -128,6 +128,7 @@ config MACH_SMDKV310
 	select S3C_DEV_HSMMC2
 	select S3C_DEV_HSMMC3
 	select SAMSUNG_DEV_KEYPAD
+	select SAMSUNG_DEV_PWM
 	select EXYNOS4_DEV_PD
 	select EXYNOS4_DEV_SYSMMU
 	select EXYNOS4_SETUP_I2C1
diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-exynos4/mach-smdkv310.c
index 7e3ee6c..b097ef6 100644
--- a/arch/arm/mach-exynos4/mach-smdkv310.c
+++ b/arch/arm/mach-exynos4/mach-smdkv310.c
@@ -16,6 +16,7 @@
 #include <linux/io.h>
 #include <linux/i2c.h>
 #include <linux/input.h>
+#include <linux/pwm_backlight.h>
 
 #include <asm/mach/arch.h>
 #include <asm/mach-types.h>
@@ -29,6 +30,7 @@
 #include <plat/sdhci.h>
 #include <plat/iic.h>
 #include <plat/pd.h>
+#include <plat/gpio-cfg.h>
 
 #include <mach/map.h>
 
@@ -172,6 +174,45 @@ static struct i2c_board_info i2c_devs1[] __initdata = {
 	{I2C_BOARD_INFO("wm8994", 0x1a),},
 };
 
+static int smdkv310_backlight_init(struct device *dev)
+{
+	int ret = 0;
+
+	ret = gpio_request(EXYNOS4_GPD0(1), "Backlight");
+	if (ret) {
+		printk(KERN_ERR "failed to request GPD for PWM-OUT0\n");
+		return ret;
+	}
+
+	/* Configure GPIO pin with EXYNOS4_GPD_0_1_TOUT_0 */
+	s3c_gpio_cfgpin(EXYNOS4_GPD0(1), S3C_GPIO_SFN(2));
+
+	return 0;
+}
+
+static void smdkv310_backlight_exit(struct device *dev)
+{
+	s3c_gpio_cfgpin(EXYNOS4_GPD0(1), S3C_GPIO_OUTPUT);
+	gpio_free(EXYNOS4_GPD0(1));
+}
+
+static struct platform_pwm_backlight_data smdkv310_backlight_data = {
+	.pwm_id		= 1,
+	.max_brightness	= 255,
+	.dft_brightness	= 255,
+	.pwm_period_ns	= 78770,
+	.init		= smdkv310_backlight_init,
+	.exit		= smdkv310_backlight_exit,
+};
+
+static struct platform_device smdkv310_backlight_device = {
+	.name		= "pwm-backlight",
+	.dev		= {
+		.parent		= &s3c_device_timer[1].dev,
+		.platform_data	= &smdkv310_backlight_data,
+	},
+};
+
 static struct platform_device *smdkv310_devices[] __initdata = {
 	&s3c_device_hsmmc0,
 	&s3c_device_hsmmc1,
@@ -195,6 +236,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
 	&samsung_asoc_dma,
 	&smdkv310_smsc911x,
 	&smdkv310_pcm_device,
+	&s3c_device_timer[1],
+	&smdkv310_backlight_device,
 };
 
 static void __init smdkv310_smsc911x_init(void)
-- 
1.6.5.2

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

end of thread, other threads:[~2011-06-23 13:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-22  6:56 [PATCH] ARM: EXYNOS4: Add PWM backlight support on Samsung SMDKV310 JinGoo Han
     [not found] ` <BANLkTi=SqB7NHQ7vStegFgQjihoQRmzVCw@mail.gmail.com>
2011-06-23 10:12   ` Banajit Goswami
2011-06-23 10:12     ` Banajit Goswami
2011-06-23 11:44     ` Kukjin Kim
2011-06-23 11:44       ` Kukjin Kim
2011-06-23 13:53       ` Banajit Goswami
2011-06-23 13:53         ` Banajit Goswami
  -- strict thread matches above, loose matches on Subject: below --
2011-06-22  6:41 Banajit Goswami
2011-06-22  6:41 ` Banajit Goswami

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.