diff options
author | Erik Hovland <erik@hovland.org> | 2006-08-30 18:42:42 +0000 |
---|---|---|
committer | Erik Hovland <erik@hovland.org> | 2006-08-30 18:42:42 +0000 |
commit | 4d36c0d6c6c4e6ed9f148d70588fdb16798e9b9c (patch) | |
tree | e1e2d433887f193ea6be861ece68309e7d667619 /packages/linux/linux-ezx/ezx-backlight-r1.patch | |
parent | ff49b42aedb3c09f71cb35456140b9afcf6b40b8 (diff) | |
parent | 71bd0cd9cf4addbc38028705674fb56c2a644071 (diff) |
merge of 'd0e2c30b999cbef32c26717651606b8411ad02d6'
and 'ffac2606c1f6116f54c1871ff55c69f027252547'
Diffstat (limited to 'packages/linux/linux-ezx/ezx-backlight-r1.patch')
-rw-r--r-- | packages/linux/linux-ezx/ezx-backlight-r1.patch | 277 |
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"); |