public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: Jiri.Pinkava@vscht•cz (Pinkava J.)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 8/8] Add support for backlight regulation on Acer n35
Date: Thu, 6 May 2010 15:24:15 +0200	[thread overview]
Message-ID: <4BE2C2FF.8020404@vscht.cz> (raw)
In-Reply-To: <4BE2C2CC.2010003@vscht.cz>



Signed-off-by: Jiri Pinkava <jiri.pinkava@vscht•cz>
---
 arch/arm/mach-s3c2410/mach-n30.c |   57 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c
index f25275e..4c37c71 100644
--- a/arch/arm/mach-s3c2410/mach-n30.c
+++ b/arch/arm/mach-s3c2410/mach-n30.c
@@ -23,6 +23,7 @@
 #include <linux/input.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
+#include <linux/pwm_backlight.h>
 #include <linux/serial_core.h>
 #include <linux/timer.h>
 #include <linux/io.h>
@@ -352,6 +353,60 @@ static struct s3c2410fb_mach_info n30_fb_info __initdata = {
 	.lpcsel		= 0x06,
 };

+static int n35_backlight_init(struct device *dev)
+{
+	gpio_request(S3C2410_GPB(0), "Backlight PWM");
+	gpio_request(S3C2410_GPB(1), "Backlight power driver");
+
+	/* set GPIO as output for timer */
+	s3c2410_gpio_setpin(S3C2410_GPB(0), 0);
+	s3c2410_gpio_pullup(S3C2410_GPB(0), 0);
+	s3c2410_gpio_cfgpin(S3C2410_GPB(0), S3C2410_GPB0_TOUT0);
+
+	/* setup backlight power driving GPIO */
+	s3c2410_gpio_pullup(S3C2410_GPB(1), 1);
+	s3c2410_gpio_cfgpin(S3C2410_GPB(1), S3C2410_GPIO_OUTPUT);
+
+	return 0;
+}
+
+static int n35_backlight_notify(struct device *dev, int brightness)
+{
+	/* power off backlight, values less than 12 ar useless */
+	s3c2410_gpio_setpin(S3C2410_GPB(1), brightness > 12 ? 1 : 0);
+	return (brightness > 12 ? brightness : 0);
+}
+
+static void n35_backlight_exit(struct device *dev)
+{
+	s3c2410_gpio_cfgpin(S3C2410_GPB(0), 1/*S3C2410_GPB0_OUTP*/);
+	s3c2410_gpio_setpin(S3C2410_GPB(1), 0); /* co stim */
+	/* power off backlight */
+	s3c2410_gpio_pullup(S3C2410_GPB(1), 0);
+	gpio_free(S3C2410_GPB(1));
+	gpio_free(S3C2410_GPB(0));
+}
+
+static struct platform_pwm_backlight_data backlight_data = {
+	.pwm_id         = 0,
+	.max_brightness = 100,
+	.dft_brightness = 50,
+	/* tcnt = 0x31, FIXME: compute some nicer value */
+	.pwm_period_ns  = 3*1000*1000,
+	.init           = n35_backlight_init,
+	.notify         = n35_backlight_notify,
+	.exit           = n35_backlight_exit,
+};
+
+static struct platform_device n35_backlight = {
+	.name = "pwm-backlight",
+	.dev  = {
+		.parent = &s3c_device_timer[0].dev,
+		.platform_data = &backlight_data,
+	},
+	.id   = -1,
+};
+
 static void n30_sdi_set_power(unsigned char power_mode, unsigned short vdd)
 {
 	switch (power_mode) {
@@ -395,6 +450,8 @@ static struct platform_device *n35_devices[] __initdata = {
 	&s3c_device_rtc,
 	&s3c_device_usbgadget,
 	&s3c_device_sdi,
+	&s3c_device_timer[0],
+	&n35_backlight,
 	&n35_button_device,
 	&n35_blue_led,
 	&n35_warning_led,
-- 
1.7.1

  reply	other threads:[~2010-05-06 13:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-05 22:06 [PATCH 1/9] Enable Acer n35 architecture if Acer n30 is selected Pinkava J.
2010-05-05 22:12 ` [PATCH 2/9] fix: suspended wrong USB port on Acer n35 Pinkava J.
2010-05-05 22:13   ` [PATCH 3/9] Add RTC platform device for Acer n30 / " Pinkava J.
2010-05-05 22:17     ` [PATCH 4/9] Add support for blue LED on " Pinkava J.
2010-05-05 22:17       ` [PATCH 5/9] Add support for red flashing " Pinkava J.
2010-05-05 22:18         ` [PATCH 6/9] Enable wake-up by Power button " Pinkava J.
2010-05-05 22:20           ` [PATCH 7/9] Add support for MMC card reader on Acer n30 / " Pinkava J.
2010-05-05 22:22             ` [PATCH 8/9] Add support for power on/off on Acer n30 / Acer n35 MMC card reader Pinkava J.
2010-05-06  1:23             ` [PATCH 7/9] Add support for MMC card reader on Acer n30 / Acer n35 Ben Dooks
2010-05-06  1:22         ` [PATCH 5/9] Add support for red flashing LED on " Ben Dooks
2010-05-06 13:18           ` [PATCH 1/8] Enable Acer n35 architecture if Acer n30 is selected Pinkava J.
2010-05-06 13:19             ` [PATCH 2/8] fix: suspended wrong USB port on Acer n35 Pinkava J.
2010-05-06 13:20               ` [PATCH 3/8] Add RTC platform device for Acer n30 / " Pinkava J.
2010-05-06 13:21                 ` [PATCH 4/8] Add support for LEDs on " Pinkava J.
2010-05-06 13:21                   ` [PATCH 5/8] Enable wake-up by Power button " Pinkava J.
2010-05-06 13:22                     ` [PATCH 6/8] Add support for MMC card reader on Acer n30 / " Pinkava J.
2010-05-06 13:23                       ` [PATCH 7/8] Add support for power on/off on Acer n30 / Acer n35 MMC card reader Pinkava J.
2010-05-06 13:24                         ` Pinkava J. [this message]
2010-05-06 13:39                           ` Acer n35 patches Pinkava J.
2010-05-07  0:37                             ` Ben Dooks
2010-05-12 13:26                               ` Pinkava J.
2010-05-07  0:35                           ` [PATCH 8/8] Add support for backlight regulation on Acer n35 Ben Dooks
2010-05-12 13:18                             ` Pinkava J.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BE2C2FF.8020404@vscht.cz \
    --to=jiri.pinkava@vscht$(echo .)cz \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox