[oe-commits] org.oe.dev linux: update Simpad patchset - close #2073

Bernhard commit openembedded-commits at lists.openembedded.org
Sun Apr 22 15:46:34 UTC 2007


linux: update Simpad patchset - close #2073

Author: Bernhard
Branch: org.openembedded.dev
Revision: f658c0aae96fa9a9c61ed0f47f1b64e990c2c186
ViewMTN: http://monotone.openembedded.org/revision.psp?id=f658c0aae96fa9a9c61ed0f47f1b64e990c2c186
Files:
1
packages/linux/linux/simpad/linux-2.6.20.SIMpad.mq200.patch
packages/linux/linux/simpad/linux-2.6.20.SIMpad-mq200.patch
packages/linux/linux/simpad/linux-2.6.20.SIMpad.ucb1x00-switches.patch
packages/linux/linux/simpad/linux-2.6.20.SIMpad-ucb1x00-switches.patch
packages/linux/linux/simpad/defconfig
packages/linux/linux_2.6.20.bb
Diffs:

#
# mt diff -r23ef74ef0e761123523908d6fa9c47b9a015f1fd -rf658c0aae96fa9a9c61ed0f47f1b64e990c2c186
#
# 
# 
# rename "packages/linux/linux/simpad/linux-2.6.20.SIMpad.mq200.patch"
#     to "packages/linux/linux/simpad/linux-2.6.20.SIMpad-mq200.patch"
# 
# rename "packages/linux/linux/simpad/linux-2.6.20.SIMpad.ucb1x00-switches.patch"
#     to "packages/linux/linux/simpad/linux-2.6.20.SIMpad-ucb1x00-switches.patch"
# 
# patch "packages/linux/linux/simpad/defconfig"
#  from [0a2113d5abd05665db123305f7fd54e340cf5e6c]
#    to [72ec0d5b176ec0eb7eac88999945af1b93505154]
# 
# patch "packages/linux/linux/simpad/linux-2.6.20.SIMpad-mq200.patch"
#  from [af201a34cb91da334d1ca7c0ef639eea995637d4]
#    to [af4384e7bcb766e067b40e92abad14957de09890]
# 
# patch "packages/linux/linux_2.6.20.bb"
#  from [047b9254df99152a10f5fc9313b2c2b4994ea135]
#    to [2b5f05eb60bdbd211cb4d124f4a31c18af9f796a]
# 
============================================================
--- packages/linux/linux/simpad/defconfig	0a2113d5abd05665db123305f7fd54e340cf5e6c
+++ packages/linux/linux/simpad/defconfig	72ec0d5b176ec0eb7eac88999945af1b93505154
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.20
-# Mon Feb 12 16:35:21 2007
+# Mon Apr  2 11:51:54 2007
 #
 CONFIG_ARM=y
 # CONFIG_GENERIC_TIME is not set
@@ -71,8 +71,9 @@ CONFIG_MODULES=y
 # Loadable module support
 #
 CONFIG_MODULES=y
-# CONFIG_MODULE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
 # CONFIG_MODULE_SRCVERSION_ALL is not set
 CONFIG_KMOD=y
 
@@ -176,7 +177,7 @@ CONFIG_PCCARD=y
 # PCCARD (PCMCIA/CardBus) support
 #
 CONFIG_PCCARD=y
-# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA_DEBUG=y
 CONFIG_PCMCIA=y
 CONFIG_PCMCIA_LOAD_CIS=y
 CONFIG_PCMCIA_IOCTL=y
@@ -248,8 +249,9 @@ CONFIG_PM=y
 # Power management options
 #
 CONFIG_PM=y
-# CONFIG_PM_LEGACY is not set
-# CONFIG_PM_DEBUG is not set
+CONFIG_PM_LEGACY=y
+CONFIG_PM_DEBUG=y
+CONFIG_DISABLE_CONSOLE_SUSPEND=y
 # CONFIG_PM_SYSFS_DEPRECATED is not set
 CONFIG_APM=y
 
@@ -401,7 +403,12 @@ CONFIG_BT_BNEP_PROTO_FILTER=y
 # CONFIG_BT_HCIBLUECARD is not set
 # CONFIG_BT_HCIBTUART is not set
 # CONFIG_BT_HCIVHCI is not set
-# CONFIG_IEEE80211 is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+# CONFIG_IEEE80211_CRYPT_CCMP is not set
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+# CONFIG_IEEE80211_SOFTMAC is not set
 CONFIG_WIRELESS_EXT=y
 
 #
@@ -540,9 +547,33 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
 #
 # ATA/ATAPI/MFM/RLL support
 #
-# CONFIG_IDE is not set
+CONFIG_IDE=y
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=y
 
 #
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+# CONFIG_IDE_GENERIC is not set
+# CONFIG_IDE_ARM is not set
+# CONFIG_IDE_CHIPSETS is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
 # SCSI device support
 #
 # CONFIG_RAID_ATTRS is not set
@@ -805,6 +836,12 @@ CONFIG_HWMON=y
 # Hardware Monitoring support
 #
 CONFIG_HWMON=y
+
+#
+# Hardware Monitoring - Battery
+#
+CONFIG_BATTERY_MONITOR=y
+CONFIG_MCP_UCB1200_SIMPAD_BATTERY=y
 # CONFIG_HWMON_VID is not set
 # CONFIG_SENSORS_ABITUGURU is not set
 # CONFIG_SENSORS_F71805F is not set
@@ -885,7 +922,13 @@ CONFIG_LOGO_LINUX_CLUT224=y
 CONFIG_LOGO_LINUX_MONO=y
 CONFIG_LOGO_LINUX_VGA16=y
 CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_FB_MQ200_LCD=y
+CONFIG_FB_MQ200_BACKLIGHT=y
 
 #
 # Sound
@@ -1151,9 +1194,45 @@ CONFIG_DEBUG_LL=y
 #
 # Cryptographic options
 #
-# CONFIG_CRYPTO is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_MANAGER=m
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
 
 #
+# Hardware crypto devices
+#
+
+#
 # Library routines
 #
 CONFIG_BITREVERSE=y
============================================================
--- packages/linux/linux/simpad/linux-2.6.20.SIMpad.mq200.patch	af201a34cb91da334d1ca7c0ef639eea995637d4
+++ packages/linux/linux/simpad/linux-2.6.20.SIMpad-mq200.patch	af4384e7bcb766e067b40e92abad14957de09890
@@ -1,7 +1,7 @@ diff -uNr linux-2.6.20.vanilla/drivers/v
 diff -uNr linux-2.6.20.vanilla/drivers/video/Kconfig linux-2.6.20/drivers/video/Kconfig
---- linux-2.6.20.vanilla/drivers/video/Kconfig	2007-02-10 19:02:14.000000000 +0100
-+++ linux-2.6.20/drivers/video/Kconfig	2007-02-11 16:39:54.000000000 +0100
-@@ -1147,6 +1147,18 @@
+--- linux-2.6.20.vanilla/drivers/video/Kconfig	2007-03-24 21:25:52.000000000 +0100
++++ linux-2.6.20/drivers/video/Kconfig	2007-03-28 22:53:44.000000000 +0200
+@@ -1147,6 +1147,15 @@
  	help
  	  If you have a S3 Trio say Y. Say N for S3 Virge.
  
@@ -12,17 +12,14 @@ diff -uNr linux-2.6.20.vanilla/drivers/v
 +        select FB_CFB_COPYAREA
 +        select FB_CFB_IMAGEBLIT
 +        help
-+         This is a MQ200 driver tested only on Simens SIMpads. You may need to
-+         boot your SIMpad with a 2.4 SIMpad Kernel first in order to use this
-+         driver. This is also needed if the SIMpad lost his power 
-+         connection (empty accu or accu disconnect). 
++         This is a MQ200 driver tested only on Siemens SIMpads. 
 +
  config FB_SAVAGE
  	tristate "S3 Savage support"
  	depends on FB && PCI && EXPERIMENTAL
 diff -uNr linux-2.6.20.vanilla/drivers/video/Makefile linux-2.6.20/drivers/video/Makefile
---- linux-2.6.20.vanilla/drivers/video/Makefile	2007-02-10 19:02:14.000000000 +0100
-+++ linux-2.6.20/drivers/video/Makefile	2007-02-11 16:40:07.000000000 +0100
+--- linux-2.6.20.vanilla/drivers/video/Makefile	2007-03-24 21:25:52.000000000 +0100
++++ linux-2.6.20/drivers/video/Makefile	2007-03-28 22:53:44.000000000 +0200
 @@ -30,6 +30,7 @@
  obj-$(CONFIG_FB_PM2)              += pm2fb.o
  obj-$(CONFIG_FB_PM3)		  += pm3fb.o
@@ -31,22 +28,245 @@ diff -uNr linux-2.6.20.vanilla/drivers/v
  obj-$(CONFIG_FB_MATROX)		  += matrox/
  obj-$(CONFIG_FB_RIVA)		  += riva/ vgastate.o
  obj-$(CONFIG_FB_NVIDIA)		  += nvidia/
+diff -uNr linux-2.6.20.vanilla/drivers/video/backlight/Kconfig linux-2.6.20/drivers/video/backlight/Kconfig
+--- linux-2.6.20.vanilla/drivers/video/backlight/Kconfig	2007-03-24 21:25:53.000000000 +0100
++++ linux-2.6.20/drivers/video/backlight/Kconfig	2007-03-28 22:53:44.000000000 +0200
+@@ -66,3 +66,10 @@
+ 	  If you have a HP Jornada 680, say y to enable the
+ 	  backlight driver.
+ 
++config FB_MQ200_LCD
++        bool "MQ200 LCD class implemetation"
++        depends on SA1100_SIMPAD && LCD_DEVICE
++
++config FB_MQ200_BACKLIGHT
++        bool "MQ200 Backlight class implementation"
++        depends on SA1100_SIMPAD && BACKLIGHT_DEVICE
+diff -uNr linux-2.6.20.vanilla/drivers/video/backlight/Makefile linux-2.6.20/drivers/video/backlight/Makefile
+--- linux-2.6.20.vanilla/drivers/video/backlight/Makefile	2007-03-24 21:25:53.000000000 +0100
++++ linux-2.6.20/drivers/video/backlight/Makefile	2007-03-28 22:53:44.000000000 +0200
+@@ -5,3 +5,5 @@
+ obj-$(CONFIG_BACKLIGHT_CORGI)	+= corgi_bl.o
+ obj-$(CONFIG_BACKLIGHT_HP680)	+= hp680_bl.o
+ obj-$(CONFIG_BACKLIGHT_LOCOMO)	+= locomolcd.o
++obj-$(CONFIG_FB_MQ200_BACKLIGHT) += simpad_bl.o
++obj-$(CONFIG_FB_MQ200_LCD)       += simpad_lcd.o
+diff -uNr linux-2.6.20.vanilla/drivers/video/backlight/simpad_bl.c linux-2.6.20/drivers/video/backlight/simpad_bl.c
+--- linux-2.6.20.vanilla/drivers/video/backlight/simpad_bl.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.20/drivers/video/backlight/simpad_bl.c	2007-03-28 22:53:44.000000000 +0200
+@@ -0,0 +1,109 @@
++/*
++ * GPLv2 <zecke at handhelds.org
++ *
++ * Implementation of the backlight_driver for
++ * the mq200 framebuffer
++ *
++ * 2007/03/17 mrdata:
++ *            - small changes simpad_bl_get_brightness()
++ *                            simpad_bl_set_brightness()
++ *            - new function simpad_bl_update_status()
++ *            - changed struct backlight_properties simpad_bl_props()
++ *              to new one
++ *            - changed __init simpad_bl_init() -> backlight_device_register
++ *
++ * 2007/03/24 mrdata
++ *            - added .brightness=127 in
++ *              struct backlight_properties simpad_bl_props() 
++ */ 
++#include <asm/types.h>
++#include <asm/hardware.h>
++#include <asm/io.h>
++
++#include <linux/device.h>
++#include <linux/backlight.h>
++#include <linux/fb.h>
++
++#include "../mq200/mq200_data.h"
++
++#define SIMPAD_BACKLIGHT_MASK 0x00a10044
++#define MAX_BRIGHT 254
++#define REGISTER_BASE 0xf2e00000
++
++
++static int simpad_bl_get_brightness(struct backlight_device *dev)
++{
++    u32 pwmctl;
++
++    pwmctl = readl(FP0FR(REGISTER_BASE));
++    pwmctl &= ~SIMPAD_BACKLIGHT_MASK;
++    pwmctl = pwmctl >> 8;
++    pwmctl = MAX_BRIGHT - pwmctl;
++
++    return pwmctl;
++}
++
++static int simpad_bl_set_brightness(int bright)
++{
++    union fp0fr fp0fr;
++    unsigned long dutyCycle, pwmcontrol;
++
++    if(bright > MAX_BRIGHT)
++        bright = MAX_BRIGHT;
++
++    /*
++     * Determine dutyCycle.
++     * Note: the lower the value, the brighter the display!
++     */
++
++    dutyCycle = MAX_BRIGHT - bright;
++
++    /*
++     *Configure PWM0 (source clock = oscillator clock, pwm always enabled,
++     *zero, clock pre-divider = 4) pwm frequency = 12.0kHz
++     */
++    fp0fr.whole = readl(FP0FR(REGISTER_BASE));
++    pwmcontrol = fp0fr.whole & 0xffff00ff;
++    fp0fr.whole &= 0xffffff00;
++    fp0fr.whole |= 0x00000044;
++    writel(fp0fr.whole, FP0FR(REGISTER_BASE));
++
++    /* Write to pwm duty cycle register.  */
++    fp0fr.whole = dutyCycle << 8;
++    fp0fr.whole &= 0x0000ff00;
++    fp0fr.whole |= pwmcontrol;
++    writel(fp0fr.whole, FP0FR(REGISTER_BASE));
++
++    return 0;
++}
++
++static int simpad_bl_update_status(struct backlight_device *dev)
++{
++    return simpad_bl_set_brightness(dev->props->brightness);
++}
++
++static struct backlight_properties simpad_bl_props = {
++    .owner = THIS_MODULE,
++    .update_status = simpad_bl_update_status,
++    .get_brightness = simpad_bl_get_brightness,
++    .brightness=127,
++    .max_brightness = MAX_BRIGHT,
++};
++
++static struct backlight_device *simpad_bl_device = NULL;
++
++static int __init simpad_bl_init(void) {
++    simpad_bl_device = backlight_device_register("mq200_fb0", NULL,
++                                                 NULL, &simpad_bl_props);
++    return simpad_bl_device != NULL;
++}
++
++static void __exit simpad_bl_exit(void) {
++    backlight_device_unregister(simpad_bl_device);
++}
++
++
++module_init(simpad_bl_init);
++module_exit(simpad_bl_exit);
++MODULE_AUTHOR("Holger Hans Peter Freyther");
++MODULE_LICENSE("GPL");
+diff -uNr linux-2.6.20.vanilla/drivers/video/backlight/simpad_lcd.c linux-2.6.20/drivers/video/backlight/simpad_lcd.c
+--- linux-2.6.20.vanilla/drivers/video/backlight/simpad_lcd.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.20/drivers/video/backlight/simpad_lcd.c	2007-03-28 22:58:41.000000000 +0200
+@@ -0,0 +1,80 @@
++/*
++ * GPLv2 <zecke at handhelds.org
++ *
++ * Implementation of the lcd_driver for the mq200 framebuffer
++ *
++ * 2007/03/24 mrdata:
++ *            - added simpad_lcd_get_contrast()
++ *            - added simpad_lcd_set_contrast()
++ *            - modify struct lcd_properties simpad_lcd_props
++ */
++#include <asm/arch/simpad.h>
++#include <asm/hardware.h>
++
++#include <linux/device.h>
++#include <linux/lcd.h>
++
++extern long get_cs3_shadow(void);
++extern void set_cs3_bit(int);
++extern void clear_cs3_bit(int);
++
++#define UNUSED(x) x=x
++
++static int simpad_lcd_get_power(struct lcd_device* dev)
++{
++    UNUSED(dev);
++
++    return (get_cs3_shadow() & DISPLAY_ON) ? 0 : 4;
++}
++
++static int simpad_lcd_set_power(struct lcd_device* dev, int power)
++{
++    UNUSED(dev);
++
++    if( power == 4 )
++	clear_cs3_bit(DISPLAY_ON);
++    else
++	set_cs3_bit(DISPLAY_ON);
++
++    return 0;
++}
++
++static int simpad_lcd_get_contrast(struct lcd_device* dev)
++{
++    UNUSED(dev);
++
++    return 0;
++}
++
++static int simpad_lcd_set_contrast(struct lcd_device* dev, int contrast)
++{
++    UNUSED(dev);
++
++    UNUSED(contrast);
++
++    return 0;
++}
++
++static struct lcd_properties simpad_lcd_props = {
++    .owner      = THIS_MODULE,
++    .get_power    = simpad_lcd_get_power,
++    .set_power    = simpad_lcd_set_power,
++    .get_contrast = simpad_lcd_get_contrast,
++    .set_contrast = simpad_lcd_set_contrast,
++    .max_contrast = 0
++};
++
++static struct lcd_device* simpad_lcd_device = NULL;
++
++static int __init simpad_lcd_init(void) {
++    simpad_lcd_device = lcd_device_register("mq200_fb0", NULL,
++                                            &simpad_lcd_props);
++    return simpad_lcd_device != NULL;
++}
++
++static void __exit simpad_lcd_exit(void) {
++    lcd_device_unregister(simpad_lcd_device);
++}
++
++module_init(simpad_lcd_init);
++module_exit(simpad_lcd_exit);
 diff -uNr linux-2.6.20.vanilla/drivers/video/mq200/Makefile linux-2.6.20/drivers/video/mq200/Makefile
 --- linux-2.6.20.vanilla/drivers/video/mq200/Makefile	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20/drivers/video/mq200/Makefile	2007-02-11 16:41:44.000000000 +0100
++++ linux-2.6.20/drivers/video/mq200/Makefile	2007-03-28 22:53:44.000000000 +0200
 @@ -0,0 +1,6 @@
 +# Makefile for mq200 video driver
 +# 4 Aug 2003, Holger Hans Peter Freyther
-+# 2 Jan 2007, mr nice
++#
 +
 +obj-$(CONFIG_FB_MQ200)           += mq_skeleton.o mq_external.o
 +
 diff -uNr linux-2.6.20.vanilla/drivers/video/mq200/mq200_data.h linux-2.6.20/drivers/video/mq200/mq200_data.h
 --- linux-2.6.20.vanilla/drivers/video/mq200/mq200_data.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20/drivers/video/mq200/mq200_data.h	2007-02-11 16:41:09.000000000 +0100
-@@ -0,0 +1,893 @@
++++ linux-2.6.20/drivers/video/mq200/mq200_data.h	2007-03-28 22:53:44.000000000 +0200
+@@ -0,0 +1,1120 @@
 +/*
 + * From ucLinux mq200fb.c and mq200fb.h
++ *
++ * 2007/03/11 mrdata:
++ *            insert registers for graphics controller 2 module
 + */
 +
 +#ifndef __MQ200_FB_H__
@@ -154,8 +374,10 @@ diff -uNr linux-2.6.20.vanilla/drivers/v
 +                                                 start address */
 +#define GC0DR(addr) (addr + GC_OFFSET + 0x34) /* alternate window 1
 +                                                 start address */
-+#define GC0ER(addr) (addr + GC_OFFSET + 0x38) /* window 1 stride */
-+#define GC0FR(addr) (addr + GC_OFFSET + 0x3c) /* reserved */
++#define GC0ER(addr) (addr + GC_OFFSET + 0x38) /* alternate window 1 
++                                                 stride */
++#define GC0FR(addr) (addr + GC_OFFSET + 0x3c) /* alternate window 1
++                                                 line size */
 +#define GC10R(addr) (addr + GC_OFFSET + 0x40) /* hardware cursor 1
 +                                                 position */
 +#define GC11R(addr) (addr + GC_OFFSET + 0x44) /* hardware cursor 1
@@ -165,6 +387,48 @@ diff -uNr linux-2.6.20.vanilla/drivers/v
 +                                                 foreground color */
 +#define GC13R(addr) (addr + GC_OFFSET + 0x4c) /* hardware cursor 1
 +     %s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list