summaryrefslogtreecommitdiff
path: root/packages/linux/linux-ezx/ezx-backlight-r1.patch
diff options
context:
space:
mode:
authorPhilipp Zabel <philipp.zabel@gmail.com>2006-08-29 09:32:05 +0000
committerPhilipp Zabel <philipp.zabel@gmail.com>2006-08-29 09:32:05 +0000
commiteb616a13fa3af7aac33be630a0f08a81f158e8ab (patch)
tree00d0ec18d65d6dac085a4c2ae07b0cc38197b548 /packages/linux/linux-ezx/ezx-backlight-r1.patch
parentd7e75a4cf3d473ca5f611cf4a9e640ad44a1fcc5 (diff)
parentd8dcbab026f5258012dbe27bbe4f9d4b41df3762 (diff)
merge of 'a7f77b321a367b9f9968493707b5bbf8b6964b50'
and 'e69ec8c22b9de95c8926c3818775337d0ad13c8a'
Diffstat (limited to 'packages/linux/linux-ezx/ezx-backlight-r1.patch')
-rw-r--r--packages/linux/linux-ezx/ezx-backlight-r1.patch277
1 files changed, 0 insertions, 277 deletions
diff --git a/packages/linux/linux-ezx/ezx-backlight-r1.patch b/packages/linux/linux-ezx/ezx-backlight-r1.patch
deleted file mode 100644
index a277f19344..0000000000
--- a/packages/linux/linux-ezx/ezx-backlight-r1.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~ezx-backlight-r1.patch 2006-06-08 19:33:36.000000000 +0200
-+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-08 19:33:37.000000000 +0200
-@@ -274,34 +274,9 @@
- .udc_command = ezx_udc_command,
- };
-
--/* pxafb */
--
--#define BKLIGHT_PRESCALE 2
--#define BKLIGHT_PERIOD 49
--#define DEFAULT_DUTYCYCLE 25
--#define MAX_DUTYCYCLE (BKLIGHT_PERIOD+1)
--#define MIN_DUTYCYCLE 0
--
--static void pxafb_backlight_power(int on)
--{
-- if (on) {
-- CKEN |= CKEN0_PWM0;
-- PWM_CTRL0 = BKLIGHT_PRESCALE;
-- PWM_PERVAL0 = BKLIGHT_PERIOD;
-- PWM_PWDUTY0 = DEFAULT_DUTYCYCLE;
--
-- GPDR0 |= 0x00010000; //PWM0 is GPIO16
-- pxa_gpio_mode(GPIO16_PWM0_MD);
-- } else {
-- PWM_PWDUTY0 = 0;
-- GAFR0_U &= 0xfffffffc;
-- GPDR0 &= 0xfffeffff; /* set gpio16 (pwm0) as input */
-- CKEN &= ~CKEN0_PWM0;
-- PWM_PWDUTY0 = MIN_DUTYCYCLE;
-- }
--}
--
--//#define mdelay(x) udelay((x)*1000)
-+/*
-+ * EZX PXA Framebuffer
-+ */
-
- static void pxafb_lcd_power(int on)
- {
-@@ -326,35 +301,24 @@
- .xres = 240,
- .yres = 320,
- .bpp = 16,
--
- .hsync_len = 10,
- .left_margin = 20,
- .right_margin = 10,
--
- .vsync_len = 2,
- .upper_margin = 3,
- .lower_margin = 2,
--
- .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
--
- .lccr0 = 0x002008F8,
- .lccr3 = 0x0430FF09,
--
-- .pxafb_backlight_power = &pxafb_backlight_power,
-- .pxafb_lcd_power = &pxafb_lcd_power,
--};
--
--
--/* backlight for lcd */
--
--static struct resource ezx_backlight_resources[] = {
-+ .pxafb_lcd_power= &pxafb_lcd_power,
- };
-
--static struct platform_device ezx_backlight_device = {
-- .name = "ezx-lcd-backlight",
-+/*
-+ * EZX LCD Backlight
-+ */
-+static struct platform_device ezxbacklight_device = {
-+ .name = "ezx-bl",
- .id = -1,
-- .resource = ezx_backlight_resources,
-- .num_resources = ARRAY_SIZE(ezx_backlight_resources),
- };
-
- #ifdef CONFIG_PXA_EZX_E680
-@@ -786,6 +750,7 @@
-
- static struct platform_device *devices[] __initdata = {
- &ezx_bp_device,
-+ &ezxbacklight_device,
- #ifdef CONFIG_PXA_EZX_E680
- &e680led_device,
- #endif
---- linux-2.6.16/drivers/video/backlight/Kconfig~ezx-backlight-r1.patch 2006-06-08 19:33:34.000000000 +0200
-+++ linux-2.6.16/drivers/video/backlight/Kconfig 2006-06-08 19:33:37.000000000 +0200
-@@ -58,3 +58,12 @@
- If you have a HP Jornada 680, say y to enable the
- backlight driver.
-
-+config BACKLIGHT_EZX
-+ tristate "Motorola EXZ Backlight Driver (A780/E680/E680i)"
-+ depends on BACKLIGHT_DEVICE && PXA_EZX
-+ default y
-+ help
-+ If you have a Motorola A780 or E680(i), say y to enable the
-+ backlight driver.
-+
-+
---- linux-2.6.16/drivers/video/backlight/Makefile~ezx-backlight-r1.patch 2006-03-20 06:53:29.000000000 +0100
-+++ linux-2.6.16/drivers/video/backlight/Makefile 2006-06-08 19:33:37.000000000 +0200
-@@ -5,3 +5,5 @@
- obj-$(CONFIG_BACKLIGHT_CORGI) += corgi_bl.o
- obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o
- obj-$(CONFIG_SHARP_LOCOMO) += locomolcd.o
-+obj-$(CONFIG_BACKLIGHT_EZX) += ezx_bl.o
-+
---- /dev/null 2006-06-08 19:04:31.354926880 +0200
-+++ linux-2.6.16/drivers/video/backlight/ezx_bl.c 2006-06-08 20:52:33.000000000 +0200
-@@ -0,0 +1,156 @@
-+/*
-+ * Backlight Driver for Motorola A780 and E680(i) GSM Phones.
-+ *
-+ * Copyright 2006 Vanille Media
-+ *
-+ * Author: Michael Lauer <mickey@Vanille.de>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/spinlock.h>
-+#include <linux/fb.h>
-+#include <linux/backlight.h>
-+
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/ezx.h>
-+
-+#define EZX_MIN_INTENSITY 00
-+#define EZX_MAX_INTENSITY 50
-+#define EZX_DEFAULT_INTENSITY 25
-+
-+static spinlock_t bl_lock = SPIN_LOCK_UNLOCKED;
-+static struct backlight_device *ezx_backlight_device;
-+static int last_intensity;
-+
-+static int ezxbl_send_intensity(struct backlight_device *bd)
-+{
-+ unsigned long flags;
-+ int intensity = bd->props->brightness;
-+
-+ printk( KERN_DEBUG "ezx_set_intensity to %d\n", intensity );
-+
-+ if (bd->props->power != FB_BLANK_UNBLANK)
-+ intensity = 0;
-+ if (bd->props->fb_blank != FB_BLANK_UNBLANK)
-+ intensity = 0;
-+
-+ spin_lock_irqsave(&bl_lock, flags);
-+
-+ printk( KERN_DEBUG "backlight last intensity was %d, new intensity is %d\n", last_intensity, intensity );
-+
-+ if ( !last_intensity && intensity ) {
-+ printk( KERN_DEBUG "backlight power ON\n" );
-+ PWM_CTRL0 = 2; /* pre-scaler */
-+ PWM_PWDUTY0 = intensity; /* duty cycle */
-+ PWM_PERVAL0 = 49; /* period */
-+ pxa_gpio_mode(GPIO16_PWM0_MD); /* set GPIO16 as alternate function + output */
-+ pxa_set_cken(CKEN0_PWM0, 1); /* clock enable */
-+ }
-+ else if ( last_intensity && !intensity ) {
-+ printk( KERN_DEBUG "backlight power OFF\n" );
-+ PWM_PWDUTY0 = 0;
-+ GAFR0_U &= 0xFFFFFFFC; /* ??? */
-+ pxa_set_cken(CKEN0_PWM0, 0); /* clock disable */
-+ pxa_gpio_mode(GPIO16_PWM0); /* set GPIO16 as input */
-+ } else if ( last_intensity && intensity ) {
-+ printk( KERN_DEBUG "backlight adjusting duty cycle\n" );
-+ PWM_PWDUTY0 = intensity; /* duty cycle */
-+ }
-+ spin_unlock_irqrestore(&bl_lock, flags);
-+ last_intensity = intensity;
-+ return 0;
-+}
-+
-+static int ezxbl_get_intensity(struct backlight_device *bd)
-+{
-+ return last_intensity;
-+}
-+
-+static int ezxbl_set_intensity(struct backlight_device *bd)
-+{
-+ return ezxbl_send_intensity(ezx_backlight_device);
-+}
-+
-+#ifdef CONFIG_PM
-+static int ezxbl_suspend(struct platform_device *pdev, pm_message_t state)
-+{
-+ //set suspend flag
-+ ezxbl_set_intensity(ezx_backlight_device);
-+ return 0;
-+}
-+
-+static int ezxbl_resume(struct platform_device *pdev)
-+{
-+ // set resume flag
-+ ezxbl_set_intensity(ezx_backlight_device);
-+ return 0;
-+}
-+#else
-+#define ezxbl_suspend NULL
-+#define ezxbl_resume NULL
-+#endif
-+
-+static struct backlight_properties ezxbl_data = {
-+ .owner = THIS_MODULE,
-+ .get_brightness = ezxbl_get_intensity,
-+ .max_brightness = EZX_MAX_INTENSITY,
-+ .update_status = ezxbl_set_intensity,
-+};
-+
-+static int __init ezxbl_probe(struct platform_device *pdev)
-+{
-+ ezx_backlight_device = backlight_device_register ("ezx-bl",
-+ NULL, &ezxbl_data);
-+ if (IS_ERR (ezx_backlight_device))
-+ return PTR_ERR (ezx_backlight_device);
-+
-+ ezxbl_data.power = FB_BLANK_UNBLANK;
-+ ezxbl_data.brightness = EZX_DEFAULT_INTENSITY;
-+ ezxbl_set_intensity(ezx_backlight_device);
-+
-+ printk("EZX Backlight Driver Initialized.\n");
-+ return 0;
-+}
-+
-+static int ezxbl_remove(struct platform_device *pdev)
-+{
-+ backlight_device_unregister(ezx_backlight_device);
-+
-+ printk("EZX Backlight Driver Unloaded.\n");
-+ return 0;
-+}
-+
-+static struct platform_driver ezxbl_driver = {
-+ .probe = ezxbl_probe,
-+ .remove = ezxbl_remove,
-+ .suspend = ezxbl_suspend,
-+ .resume = ezxbl_resume,
-+ .driver = {
-+ .name = "ezx-bl",
-+ },
-+};
-+
-+static int __init ezxbl_init(void)
-+{
-+ return platform_driver_register(&ezxbl_driver);
-+}
-+
-+static void __exit ezxbl_exit(void)
-+{
-+ platform_driver_unregister(&ezxbl_driver);
-+}
-+
-+module_init(ezxbl_init);
-+module_exit(ezxbl_exit);
-+
-+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>");
-+MODULE_DESCRIPTION("Backlight Driver for Motorola A780|E680(i)");
-+MODULE_LICENSE("GPL");