diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/glibc/eglibc-svn/export-fcntl2.patch | 11 | ||||
-rw-r--r-- | packages/glibc/eglibc_svn.bb | 1 | ||||
-rw-r--r-- | packages/glibc/glibc-package.bbclass | 7 | ||||
-rw-r--r-- | packages/gnome/gconf-dbus_svn.bb | 2 | ||||
-rwxr-xr-x | packages/linux/linux-ezx-2.6.21/a1200/defconfig | 12 | ||||
-rw-r--r-- | packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff | 270 | ||||
-rwxr-xr-x | packages/linux/linux-ezx-2.6.21/rokre6/defconfig | 12 | ||||
-rw-r--r-- | packages/linux/linux-ezx_2.6.21.bb | 116 | ||||
-rw-r--r-- | packages/linux/linux-handhelds-2.6/h2200/defconfig | 2 | ||||
-rw-r--r-- | packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb | 2 | ||||
-rw-r--r-- | packages/openocd/openocd_svn.bb | 3 | ||||
-rw-r--r-- | packages/pointercal/files/a780/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/pointercal/files/a780/pointercal | 1 | ||||
-rw-r--r-- | packages/pointercal/pointercal_0.0.bb | 2 | ||||
-rw-r--r-- | packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch | 419 |
15 files changed, 776 insertions, 84 deletions
diff --git a/packages/glibc/eglibc-svn/export-fcntl2.patch b/packages/glibc/eglibc-svn/export-fcntl2.patch deleted file mode 100644 index 0bf6c57852..0000000000 --- a/packages/glibc/eglibc-svn/export-fcntl2.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libc/io/Makefile.orig 2007-08-07 17:41:33.000000000 -0700 -+++ libc/io/Makefile 2007-08-07 17:42:25.000000000 -0700 -@@ -23,7 +23,7 @@ subdir := io - - headers := sys/stat.h bits/stat.h sys/statfs.h bits/statfs.h sys/vfs.h \ - sys/statvfs.h bits/statvfs.h fcntl.h sys/fcntl.h bits/fcntl.h \ -- poll.h sys/poll.h bits/poll.h \ -+ poll.h sys/poll.h bits/poll.h bits/fcntl2.h \ - utime.h ftw.h fts.h sys/sendfile.h - - routines := \ diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb index 0b69283681..1fe67d46fe 100644 --- a/packages/glibc/eglibc_svn.bb +++ b/packages/glibc/eglibc_svn.bb @@ -5,7 +5,6 @@ FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn" PV = "2.6+svnr${SRCREV}" PR = "r1" SRC_URI = "svn://svn.eglibc.org;module=trunk \ - file://export-fcntl2.patch;patch=1 \ file://etc/ld.so.conf \ file://generate-supported.mk" S = "${WORKDIR}/trunk/libc" diff --git a/packages/glibc/glibc-package.bbclass b/packages/glibc/glibc-package.bbclass index 63feb46f34..ba105d02c3 100644 --- a/packages/glibc/glibc-package.bbclass +++ b/packages/glibc/glibc-package.bbclass @@ -147,8 +147,11 @@ do_prep_locale_tree() { gunzip $i done ls ${D}/lib/* | xargs -iBLAH cp -a BLAH $treedir/lib - if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* ]; then - cp -a ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* $treedir/lib + if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so ]; then + cp -a ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so $treedir/lib + fi + if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then + cp -a ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* $treedir/lib fi install -m 0755 ${D}${bindir}/localedef $treedir/bin } diff --git a/packages/gnome/gconf-dbus_svn.bb b/packages/gnome/gconf-dbus_svn.bb index 5a5e78a207..fce1746b22 100644 --- a/packages/gnome/gconf-dbus_svn.bb +++ b/packages/gnome/gconf-dbus_svn.bb @@ -1,5 +1,5 @@ SECTION = "x11/utils" -DEPENDS = "intltool-native glib-2.0 dbus dbus-glib libxml2 popt gtk-doc-native" +DEPENDS = "intltool-native virtual/libintl glib-2.0 dbus dbus-glib libxml2 popt gtk-doc-native" DESCRIPTION = "Settings daemon using DBUS for communication." LICENSE = "GPL" PROVIDES = "gconf" diff --git a/packages/linux/linux-ezx-2.6.21/a1200/defconfig b/packages/linux/linux-ezx-2.6.21/a1200/defconfig index ea7475ced2..3cf42ac8b1 100755 --- a/packages/linux/linux-ezx-2.6.21/a1200/defconfig +++ b/packages/linux/linux-ezx-2.6.21/a1200/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.21.4 -# Sun Sep 9 16:54:53 2007 +# Sat Sep 15 18:27:06 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -592,7 +592,9 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 CONFIG_MTD_EZX=y CONFIG_MTD_EZX_A780=y # CONFIG_MTD_EZX_A780_ALTERNATE is not set +# CONFIG_MTD_EZX_A120 is not set # CONFIG_MTD_EZX_E2 is not set +# CONFIG_MTD_EZX_E6 is not set # CONFIG_MTD_PLATRAM is not set # @@ -851,8 +853,8 @@ CONFIG_TS0710_MUX_USB=y # # I2C support # -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y # # I2C Algorithms @@ -864,8 +866,8 @@ CONFIG_I2C_CHARDEV=m # # I2C Hardware Bus support # -CONFIG_I2C_PXA=m -# CONFIG_I2C_PXA_SLAVE is not set +CONFIG_I2C_PXA=y +CONFIG_I2C_PXA_SLAVE=y # CONFIG_I2C_OCORES is not set # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_STUB is not set diff --git a/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff b/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff new file mode 100644 index 0000000000..a0d89bfee5 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff @@ -0,0 +1,270 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-08-18 18:35:12.000000000 +0800 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-08-18 18:36:38.000000000 +0800 +@@ -122,7 +122,7 @@ + .pixclock = 192308, + .xres = 240, + .yres = 320, +- .bpp = 8, ++ .bpp = 18, + .hsync_len = 10, + .left_margin = 20, + .right_margin = 10, +@@ -135,8 +135,8 @@ + static struct pxafb_mach_info a1200_fb_info = { + .modes = &mode_a1200, + .num_modes = 1, +- .lccr0 = 0x022008B8, +- .lccr3 = 0xC130FF13, ++ .lccr0 = 0x002008b8, ++ .lccr3 = 0xC630FF13, + .pxafb_backlight_power = ezx_backlight_power, + .pxafb_lcd_power = &ezx_lcd_power, + }; +Index: linux-2.6.21/drivers/video/cfbfillrect.c +=================================================================== +--- linux-2.6.21.orig/drivers/video/cfbfillrect.c 2007-08-18 18:38:36.000000000 +0800 ++++ linux-2.6.21/drivers/video/cfbfillrect.c 2007-08-18 18:39:03.000000000 +0800 +@@ -87,7 +87,10 @@ + return 0x00001001ul*pixel; + case 16: + return 0x00010001ul*pixel; ++ case 18: ++ case 19: + case 24: ++ case 25: + return 0x00000001ul*pixel; + case 32: + return 0x00000001ul*pixel; +Index: linux-2.6.21/drivers/video/pxafb.c +=================================================================== +--- linux-2.6.21.orig/drivers/video/pxafb.c 2007-08-18 17:58:11.000000000 +0800 ++++ linux-2.6.21/drivers/video/pxafb.c 2007-08-18 18:46:50.000000000 +0800 +@@ -9,6 +9,8 @@ + * which in turn is + * Based on acornfb.c Copyright (C) Russell King. + * ++ * Added 18,19,24,25 BPP support by Alex Zhang <celeber2@gmail.com> ++ * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of this archive for + * more details. +@@ -190,6 +192,10 @@ + case 4: ret = LCCR3_4BPP; break; + case 8: ret = LCCR3_8BPP; break; + case 16: ret = LCCR3_16BPP; break; ++ case 18: ret = LCCR3_18BPP; break; ++ case 19: ret = LCCR3_19BPP; break; ++ case 24: ret = LCCR3_24BPP; break; ++ case 25: ret = LCCR3_25BPP; break; + } + return ret; + } +@@ -274,6 +280,8 @@ + if (var->yres < MIN_YRES) + var->yres = MIN_YRES; + ++ if (var->bits_per_pixel == 32) var->bits_per_pixel = 18; // ALEX cheats Xserver ++ + if (inf->fixed_modes) { + struct pxafb_mode_info *mode; + +@@ -306,6 +314,26 @@ + var->green.offset = 5; var->green.length = 6; + var->blue.offset = 0; var->blue.length = 5; + var->transp.offset = var->transp.length = 0; ++ } else if (var->bits_per_pixel == 18) { ++ var->red.offset = 12; var->red.length = 6; ++ var->green.offset = 6; var->green.length = 6; ++ var->blue.offset = 0; var->blue.length = 6; ++ var->transp.offset = var->transp.length = 0; ++ } else if (var->bits_per_pixel == 19) { ++ var->red.offset = 12; var->red.length = 6; ++ var->green.offset = 6; var->green.length = 6; ++ var->blue.offset = 0; var->blue.length = 6; ++ var->transp.offset= 18; var->transp.length = 1; ++ } else if (var->bits_per_pixel == 24) { ++ var->red.offset = 16; var->red.length = 8; ++ var->green.offset = 8; var->green.length = 8; ++ var->blue.offset = 0; var->blue.length = 8; ++ var->transp.offset = var->transp.length = 0; ++ } else if (var->bits_per_pixel == 25) { ++ var->red.offset = 16; var->red.length = 8; ++ var->green.offset = 8; var->green.length = 8; ++ var->blue.offset = 0; var->blue.length = 8; ++ var->transp.offset= 24; var->transp.length = 1; + } else { + var->red.offset = var->green.offset = var->blue.offset = var->transp.offset = 0; + var->red.length = 8; +@@ -341,7 +369,12 @@ + + pr_debug("pxafb: set_par\n"); + +- if (var->bits_per_pixel == 16) ++ if (var->bits_per_pixel == 16 ++ || var->bits_per_pixel == 18 ++ || var->bits_per_pixel == 19 ++ || var->bits_per_pixel == 24 ++ || var->bits_per_pixel == 25 ++ ) + fbi->fb.fix.visual = FB_VISUAL_TRUECOLOR; + else if (!fbi->cmap_static) + fbi->fb.fix.visual = FB_VISUAL_PSEUDOCOLOR; +@@ -354,12 +387,25 @@ + fbi->fb.fix.visual = FB_VISUAL_STATIC_PSEUDOCOLOR; + } + +- fbi->fb.fix.line_length = var->xres_virtual * +- var->bits_per_pixel / 8; +- if (var->bits_per_pixel == 16) +- fbi->palette_size = 0; +- else +- fbi->palette_size = var->bits_per_pixel == 1 ? 4 : 1 << var->bits_per_pixel; ++ switch (var->bits_per_pixel) { ++ case 16: ++ fbi->fb.fix.line_length = var->xres_virtual * 2; ++ fbi->palette_size = 0; ++ break; ++ case 18: ++ case 19: ++ fbi->fb.fix.line_length = var->xres_virtual * 3; ++ fbi->palette_size = 0; ++ break; ++ case 24: ++ case 25: ++ fbi->fb.fix.line_length = var->xres_virtual * 4; ++ fbi->palette_size = 0; ++ break; ++ default: ++ fbi->fb.fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; ++ fbi->palette_size = var->bits_per_pixel == 1 ? 4 : 1 << var->bits_per_pixel; ++ } + + palette_mem_size = fbi->palette_size * sizeof(u16); + +@@ -373,8 +419,13 @@ + */ + pxafb_set_truecolor(fbi->fb.fix.visual == FB_VISUAL_TRUECOLOR); + +- if (fbi->fb.var.bits_per_pixel == 16) +- fb_dealloc_cmap(&fbi->fb.cmap); ++ if (fbi->fb.var.bits_per_pixel == 16 ++ || fbi->fb.var.bits_per_pixel == 18 ++ || fbi->fb.var.bits_per_pixel == 19 ++ || fbi->fb.var.bits_per_pixel == 24 ++ || fbi->fb.var.bits_per_pixel == 25 ++ ) ++ fb_dealloc_cmap(&fbi->fb.cmap); + else + fb_alloc_cmap(&fbi->fb.cmap, 1<<fbi->fb.var.bits_per_pixel, 0); + +@@ -582,6 +633,9 @@ + case 4: + case 8: + case 16: ++ case 18: ++ case 24: ++ case 25: + break; + default: + printk(KERN_ERR "%s: invalid bit depth %d\n", +@@ -678,7 +732,12 @@ + fbi->dmadesc_palette_cpu->fidr = 0; + fbi->dmadesc_palette_cpu->ldcmd = (fbi->palette_size * 2) | LDCMD_PAL; + +- if (var->bits_per_pixel == 16) { ++ if (var->bits_per_pixel == 16 ++ || var->bits_per_pixel == 18 ++ || var->bits_per_pixel == 19 ++ || var->bits_per_pixel == 24 ++ || var->bits_per_pixel == 25 ++ ) { + /* palette shouldn't be loaded in true-color mode */ + fbi->dmadesc_fbhigh_cpu->fdadr = fbi->dmadesc_fbhigh_dma; + fbi->fdadr0 = fbi->dmadesc_fbhigh_dma; /* no pal just fbhigh */ +@@ -786,6 +845,11 @@ + + for (gpio = 58; ldd_bits; gpio++, ldd_bits--) + pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT); ++ if (fbi->fb.var.bits_per_pixel == 18) { ++ pxa_gpio_mode(GPIO86_LDD_16_MD); ++ pxa_gpio_mode(GPIO87_LDD_17_MD); ++ } ++ + pxa_gpio_mode(GPIO74_LCD_FCLK_MD); + pxa_gpio_mode(GPIO75_LCD_LCLK_MD); + pxa_gpio_mode(GPIO76_LCD_PCLK_MD); +@@ -1154,9 +1218,17 @@ + fbi->task_state = (u_char)-1; + + for (i = 0; i < inf->num_modes; i++) { +- smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8; ++ if (mode[i].bpp <= 16) /* 8, 16 bpp */ ++ smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8; ++ else if (mode[i].bpp > 19) /* 24, 25 bpp */ ++ smemlen = mode[i].xres * mode[i].yres * 4; ++ else /* 18, 19 bpp */ ++ /* packed format */ ++ smemlen = mode[i].xres * mode[i].yres * 3; ++ + if (smemlen > fbi->fb.fix.smem_len) + fbi->fb.fix.smem_len = smemlen; ++ dev_dbg("ALEX::bpp=%d, smemlen=%d, fbi->fb.fix.smem_len=%d\n", mode[i].bpp, smemlen, fbi->fb.fix.smem_len); + } + + init_waitqueue_head(&fbi->ctrlr_wait); +@@ -1225,6 +1297,10 @@ + case 4: + case 8: + case 16: ++ case 18: ++ case 19: ++ case 24: ++ case 25: + inf->modes[0].bpp = bpp; + dev_info(dev, "overriding bit depth: %d\n", bpp); + break; +@@ -1423,6 +1499,9 @@ + */ + set_ctrlr_state(fbi, C_ENABLE); + ++ LCCR4 |= (1 << 31); ++ LCCR4 |= (5 << 17); ++ + return 0; + + failed: +Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h +=================================================================== +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-18 18:26:01.000000000 +0800 ++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-18 18:32:29.000000000 +0800 +@@ -1485,6 +1485,8 @@ + #define GPIO84_NSSP_TX (84 | GPIO_ALT_FN_1_OUT) + #define GPIO84_NSSP_RX (84 | GPIO_ALT_FN_2_IN) + #define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT) ++#define GPIO86_LDD_16_MD (86 | GPIO_ALT_FN_2_OUT) ++#define GPIO87_LDD_17_MD (87 | GPIO_ALT_FN_2_OUT) + #define GPIO88_SRXD2_MD (88 | GPIO_ALT_FN_2_IN) + #define GPIO89_SRXD3_MD (89 | GPIO_ALT_FN_1_IN) + #define GPIO90_USB_P3_5 (90 | GPIO_ALT_FN_2_IN) +@@ -1869,6 +1871,7 @@ + #define LCCR1 __REG(0x44000004) /* LCD Controller Control Register 1 */ + #define LCCR2 __REG(0x44000008) /* LCD Controller Control Register 2 */ + #define LCCR3 __REG(0x4400000C) /* LCD Controller Control Register 3 */ ++#define LCCR4 __REG(0x44000010) /* LCD Controller Control Register 4 */ + #define DFBR0 __REG(0x44000020) /* DMA Channel 0 Frame Branch Register */ + #define DFBR1 __REG(0x44000024) /* DMA Channel 1 Frame Branch Register */ + #define LCSR __REG(0x44000038) /* LCD Controller Status Register */ +@@ -1881,6 +1884,11 @@ + #define LCCR3_4BPP (2 << 24) + #define LCCR3_8BPP (3 << 24) + #define LCCR3_16BPP (4 << 24) ++#define LCCR3_18BPP_UNPACKED (5 << 24) ++#define LCCR3_18BPP (6 << 24) ++#define LCCR3_19BPP (8 << 24) ++#define LCCR3_24BPP (9 << 24) ++#define LCCR3_25BPP (10<< 24) + + #define FDADR0 __REG(0x44000200) /* DMA Channel 0 Frame Descriptor Address Register */ + #define FSADR0 __REG(0x44000204) /* DMA Channel 0 Frame Source Address Register */ diff --git a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig index 95a5a25297..7a203fa0a7 100755 --- a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig +++ b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.21.4 -# Sun Sep 9 16:52:39 2007 +# Sat Sep 15 19:35:32 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -592,7 +592,9 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 CONFIG_MTD_EZX=y CONFIG_MTD_EZX_A780=y # CONFIG_MTD_EZX_A780_ALTERNATE is not set +# CONFIG_MTD_EZX_A1200 is not set # CONFIG_MTD_EZX_E2 is not set +# CONFIG_MTD_EZX_E6 is not set # CONFIG_MTD_PLATRAM is not set # @@ -851,8 +853,8 @@ CONFIG_TS0710_MUX_USB=y # # I2C support # -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y # # I2C Algorithms @@ -864,8 +866,8 @@ CONFIG_I2C_CHARDEV=m # # I2C Hardware Bus support # -CONFIG_I2C_PXA=m -# CONFIG_I2C_PXA_SLAVE is not set +CONFIG_I2C_PXA=y +CONFIG_I2C_PXA_SLAVE=y # CONFIG_I2C_OCORES is not set # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_STUB is not set diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb index edca1ed1c9..d74a22b652 100644 --- a/packages/linux/linux-ezx_2.6.21.bb +++ b/packages/linux/linux-ezx_2.6.21.bb @@ -2,68 +2,72 @@ DESCRIPTION = "2.6 Linux Development Kernel for the Motorola GSM phones A780 and AUTHOR = "The OpenEZX Team <openezx-devel@lists.openezx.org>" HOMEPAGE = "http://www.openezx.org" EZX = "ezxdev" -PR = "${EZX}-r13" +PR = "${EZX}-r15" + require linux.inc SRC_URI = " \ - ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ - file://logo_linux_clut224.ppm \ - \ - file://patches/patch-2.6.21.4;patch=1 \ - file://patches/ezx-core.patch;patch=1 \ - file://patches/ezx-bp.patch;patch=1 \ - file://patches/ezx-pm.patch;patch=1 \ - file://patches/ezx-pcap.patch;patch=1 \ - file://patches/a780-pcap.patch;patch=1 \ - file://patches/e680-pcap.patch;patch=1 \ - file://patches/a1200-pcap.patch;patch=1 \ - file://patches/e6-pcap.patch;patch=1 \ - file://patches/a780-mci.patch;patch=1 \ - file://patches/e680-mci.patch;patch=1 \ - file://patches/a1200-mci.patch;patch=1 \ - file://patches/e6-mci.patch;patch=1 \ - file://patches/pxa27x-udc-support.2.patch;patch=1 \ - file://patches/ezx-emu.patch;patch=1 \ - file://patches/a780-emu.patch;patch=1 \ - file://patches/e680-emu.patch;patch=1 \ - file://patches/ezx-mtd-map.patch;patch=1 \ - file://patches/ezx-serial-bug-workaround.patch;patch=1 \ - file://patches/pxa-kbd.patch;patch=1 \ - file://patches/a780-kbd.patch;patch=1 \ - file://patches/e680-kbd.patch;patch=1 \ - file://patches/pcap-ts.patch;patch=1 \ - file://patches/a780-ts.patch;patch=1 \ - file://patches/e680-ts.patch;patch=1 \ - file://patches/a1200-ts.patch;patch=1 \ - file://patches/e6-ts.patch;patch=1 \ - file://patches/ezx-eoc.patch;patch=1 \ - file://patches/a1200-eoc.patch;patch=1 \ - file://patches/e6-eoc.patch;patch=1 \ - file://patches/ezx-backlight.patch;patch=1 \ - file://patches/a780-flip.patch;patch=1 \ - file://patches/e680-locksw.patch;patch=1 \ - file://patches/a780-leds.patch;patch=1 \ - file://patches/e680-leds.patch;patch=1 \ - file://patches/a780-vibrator.patch;patch=1 \ - file://patches/mux_cli.patch;patch=1 \ - file://patches/mux-fix.patch;patch=1 \ - file://patches/mux-fix-init-errorpath.patch;patch=1 \ - file://patches/mux-remove-flipbuffers.patch;patch=1 \ - file://patches/mux-remove-get_halted_bit.patch;patch=1 \ - file://patches/mux-remove-usbh_finished_resume.patch;patch=1 \ - file://patches/mux-fix-makefile.patch;patch=1 \ - file://patches/mux-fix-tty-driver.patch;patch=1 \ - file://patches/mux-linux-2.6.21-fix.patch;patch=1 \ - file://patches/asoc-pxa-ssp.patch;patch=1 \ - file://patches/asoc-fix-loopback.patch;patch=1 \ - file://patches/ezx-asoc.patch;patch=1 \ - file://patches/mtdfix.patch;patch=1 \ - file://defconfig \ -" + ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ + file://logo_linux_clut224.ppm \ + \ + file://patches/patch-2.6.21.4;patch=1 \ + file://patches/ezx-core.patch;patch=1 \ + file://patches/ezx-bp.patch;patch=1 \ + file://patches/ezx-pm.patch;patch=1 \ + file://patches/ezx-pcap.patch;patch=1 \ + file://patches/a780-pcap.patch;patch=1 \ + file://patches/e680-pcap.patch;patch=1 \ + file://patches/a1200-pcap.patch;patch=1 \ + file://patches/e6-pcap.patch;patch=1 \ + file://patches/a780-mci.patch;patch=1 \ + file://patches/e680-mci.patch;patch=1 \ + file://patches/a1200-mci.patch;patch=1 \ + file://patches/e6-mci.patch;patch=1 \ + file://patches/pxa27x-udc-support.2.patch;patch=1 \ + file://patches/ezx-emu.patch;patch=1 \ + file://patches/a780-emu.patch;patch=1 \ + file://patches/e680-emu.patch;patch=1 \ + file://patches/ezx-mtd-map.patch;patch=1 \ + file://patches/ezx-serial-bug-workaround.patch;patch=1 \ + file://patches/pxa-kbd.patch;patch=1 \ + file://patches/a780-kbd.patch;patch=1 \ + file://patches/e680-kbd.patch;patch=1 \ + file://patches/pcap-ts.patch;patch=1 \ + file://patches/a780-ts.patch;patch=1 \ + file://patches/e680-ts.patch;patch=1 \ + file://patches/a1200-ts.patch;patch=1 \ + file://patches/e6-ts.patch;patch=1 \ + file://patches/ezx-eoc.patch;patch=1 \ + file://patches/a1200-eoc.patch;patch=1 \ + file://patches/e6-eoc.patch;patch=1 \ + file://patches/ezx-backlight.patch;patch=1 \ + file://patches/a780-flip.patch;patch=1 \ + file://patches/e680-locksw.patch;patch=1 \ + file://patches/a780-leds.patch;patch=1 \ + file://patches/e680-leds.patch;patch=1 \ + file://patches/a780-vibrator.patch;patch=1 \ + file://patches/mux_cli.patch;patch=1 \ + file://patches/mux-fix.patch;patch=1 \ + file://patches/mux-fix-init-errorpath.patch;patch=1 \ + file://patches/mux-remove-flipbuffers.patch;patch=1 \ + file://patches/mux-remove-get_halted_bit.patch;patch=1 \ + file://patches/mux-remove-usbh_finished_resume.patch;patch=1 \ + file://patches/mux-fix-makefile.patch;patch=1 \ + file://patches/mux-fix-tty-driver.patch;patch=1 \ + file://patches/mux-linux-2.6.21-fix.patch;patch=1 \ + file://patches/asoc-pxa-ssp.patch;patch=1 \ + file://patches/asoc-fix-loopback.patch;patch=1 \ + file://patches/ezx-asoc.patch;patch=1 \ + file://patches/mtdfix.patch;patch=1 \ + file://patches/lcd_18BPP_support.diff;patch=1 \ + file://defconfig \ + \ + " S = "${WORKDIR}/linux-${PV}" + ############################################################## # kernel image resides on a seperate flash partition (for now) # @@ -76,6 +80,7 @@ COMPATIBLE_MACHINE = '(a780|e680|a1200|rorkre2|rokre6)' # For now the code for serial console is disabled in compress.c #CMDLINE_CON = "console=ttyS2,115200n8 console=tty1 " CMDLINE_CON = "console=tty1 " + CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5" CMDLINE_NFSROOT = "root=/dev/nfs rootfstype=nfs nfsroot=192.168.0.200:/export/ezx-image rootdelay=5 " # Uncomment to enable dyntick @@ -95,3 +100,4 @@ KERNEL_IMAGE_MAXSIZE = "1294336" # #module_autoload_pxaficp_ir = "pxaficp_ir" #module_autoload_snd-pcm-oss = "snd-pcm-oss" + diff --git a/packages/linux/linux-handhelds-2.6/h2200/defconfig b/packages/linux/linux-handhelds-2.6/h2200/defconfig index 9b72b0bd9d..0f122c023c 100644 --- a/packages/linux/linux-handhelds-2.6/h2200/defconfig +++ b/packages/linux/linux-handhelds-2.6/h2200/defconfig @@ -864,7 +864,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set +CONFIG_TOUCHSCREEN_ADC=y CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_INPUT_MISC=y diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb index b34d4630a0..ec5844bfb5 100644 --- a/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb +++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb @@ -1,7 +1,7 @@ SECTION = "kernel" DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices." LICENSE = "GPL" -PR = "r0" +PR = "r1" DEFAULT_PREFERENCE = "-1" diff --git a/packages/openocd/openocd_svn.bb b/packages/openocd/openocd_svn.bb index 9824fd3d79..2815324521 100644 --- a/packages/openocd/openocd_svn.bb +++ b/packages/openocd/openocd_svn.bb @@ -1,7 +1,8 @@ DESCRIPTION = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing" HOMEPAGE = "http://openocd.berlios.de/" LICENSE = "GPL" -PV = "0.0+svn${SRCDATE}" +PV = "0.0+r${SRCREV}" +PR = "r1" inherit autotools diff --git a/packages/pointercal/files/a780/.mtn2git_empty b/packages/pointercal/files/a780/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/pointercal/files/a780/.mtn2git_empty diff --git a/packages/pointercal/files/a780/pointercal b/packages/pointercal/files/a780/pointercal new file mode 100644 index 0000000000..8b0651dd21 --- /dev/null +++ b/packages/pointercal/files/a780/pointercal @@ -0,0 +1 @@ +-19857 -412 18085522 189 -23922 22734294 65536 diff --git a/packages/pointercal/pointercal_0.0.bb b/packages/pointercal/pointercal_0.0.bb index 87e4acafb9..a50281b682 100644 --- a/packages/pointercal/pointercal_0.0.bb +++ b/packages/pointercal/pointercal_0.0.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Touchscreen calibration data" SECTION = "base" -PR = "r2" +PR = "r3" SRC_URI = "file://pointercal" S = "${WORKDIR}" diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch new file mode 100644 index 0000000000..714536934c --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch @@ -0,0 +1,419 @@ +diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c +--- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2006-11-16 19:01:23.000000000 +0100 ++++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c 2007-09-15 16:53:20.152045000 +0200 +@@ -213,6 +213,24 @@ + + /* Now get the new screeninfo */ + ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); ++ /* Special treatment of 18bpp */ ++ if ((priv->var.red.length == 6) && (priv->var.green.length == 6) && ++ (priv->var.blue.length == 6)) ++ { ++ priv->var.red.length = 8; ++ if (priv->var.red.offset != 0) ++ priv->var.red.offset = 16; ++ priv->var.green.length = 8; ++ priv->var.green.offset = 8; ++ priv->var.blue.length = 8; ++ if (priv->var.blue.offset != 0) ++ priv->var.blue.offset = 16; ++ priv->var.bits_per_pixel = 32; ++ priv->Have18Bpp = TRUE; ++ } ++ else ++ priv->Have18Bpp = FALSE; ++ + depth = priv->var.bits_per_pixel; + gray = priv->var.grayscale; + +@@ -334,7 +352,7 @@ + KdMouseMatrix m; + FbdevPriv *priv = screen->card->driver; + +- if (scrpriv->randr != RR_Rotate_0) ++ if (scrpriv->randr != RR_Rotate_0 || priv->Have18Bpp) + scrpriv->shadow = TRUE; + else + scrpriv->shadow = FALSE; +@@ -398,6 +416,354 @@ + return TRUE; + } + ++void ++shadowUpdatePacked18 (ScreenPtr pScreen, ++ shadowBufPtr pBuf) ++{ ++ RegionPtr damage = shadowDamage (pBuf); ++ PixmapPtr pShadow = pBuf->pPixmap; ++ int nbox = REGION_NUM_RECTS (damage); ++ BoxPtr pbox = REGION_RECTS (damage); ++ FbBits *shaBase, *shaLine, *sha; ++ FbStride shaStride; ++ int scrBase, scrLine, scr; ++ int shaBpp; ++ int shaXoff, shaYoff; /* XXX assumed to be zero */ ++ int x, y, w, h, width; ++ int i; ++ char *winBase = NULL, *win; ++ CARD32 winSize; ++ ++ fbGetDrawable (&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, shaYoff); ++ while (nbox--) ++ { ++ x = pbox->x1 * shaBpp; ++ y = pbox->y1; ++ w = (pbox->x2 - pbox->x1) * shaBpp; ++ h = pbox->y2 - pbox->y1; ++ ++ scrLine = (x >> FB_SHIFT); ++ shaLine = shaBase + y * shaStride + (x >> FB_SHIFT); ++ ++ x &= FB_MASK; ++ w = (w + x + FB_MASK) >> FB_SHIFT; ++ ++ while (h--) ++ { ++ winSize = 0; ++ scrBase = 0; ++ width = w; ++ scr = scrLine; ++ sha = shaLine; ++ while (width) { ++ /* how much remains in this window */ ++ i = scrBase + winSize - scr; ++ if (i <= 0 || scr < scrBase) ++ { ++ winBase = (char *) (*pBuf->window) (pScreen, ++ y, ++ scr * 3, ++ SHADOW_WINDOW_WRITE, ++ &winSize, ++ pBuf->closure); ++ if(!winBase) ++ return; ++ scrBase = scr; ++ winSize /= 3; ++ i = winSize; ++ } ++ win = winBase + (scr - scrBase); ++ if (i > width) ++ i = width; ++ width -= i; ++ scr += i; ++#define PickBit(a,i) (((a) >> (i)) & 1) ++ while (i--) ++ { ++ FbBits bits = *sha++; ++ *win++ = ((bits & 0xFC) >> 2) | ++ ((bits & 0xC00) >> 4); ++ *win++ = ((bits & 0xF000) >> 12) | ++ ((bits & 0x3C0000) >> 14); ++ *win++ = (bits & 0xC00000) >> 22; ++ } ++ } ++ shaLine += shaStride; ++ y++; ++ } ++ pbox++; ++ } ++} ++ ++#define LEFT_TO_RIGHT 1 ++#define RIGHT_TO_LEFT -1 ++#define TOP_TO_BOTTOM 2 ++#define BOTTOM_TO_TOP -2 ++ ++void ++shadowUpdateRotatePacked18 (ScreenPtr pScreen, ++ shadowBufPtr pBuf) ++{ ++ RegionPtr damage = shadowDamage (pBuf); ++ PixmapPtr pShadow = pBuf->pPixmap; ++ int nbox = REGION_NUM_RECTS (damage); ++ BoxPtr pbox = REGION_RECTS (damage); ++ FbBits *shaBits; ++ FbStride shaStride; ++ int shaBpp; ++ int shaXoff, shaYoff; ++ int box_x1, box_x2, box_y1, box_y2; ++ int sha_x1 = 0, sha_y1 = 0; ++ int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h; ++ int scr_x, scr_y; ++ int w; ++ int pixelsPerBits; ++ int pixelsMask; ++ FbStride shaStepOverY = 0, shaStepDownY = 0; ++ FbStride shaStepOverX = 0, shaStepDownX = 0; ++ FbBits *shaLine, *sha; ++ int shaHeight = pShadow->drawable.height; ++ int shaWidth = pShadow->drawable.width; ++ FbBits shaMask; ++ int shaFirstShift, shaShift; ++ int o_x_dir; ++ int o_y_dir; ++ int x_dir; ++ int y_dir; ++ ++ fbGetDrawable (&pShadow->drawable, shaBits, shaStride, shaBpp, shaXoff, shaYoff); ++ pixelsPerBits = (sizeof (FbBits) * 8) / shaBpp; ++ pixelsMask = ~(pixelsPerBits - 1); ++ shaMask = FbBitsMask (FB_UNIT-shaBpp, shaBpp); ++ /* ++ * Compute rotation related constants to walk the shadow ++ */ ++ o_x_dir = LEFT_TO_RIGHT; ++ o_y_dir = TOP_TO_BOTTOM; ++ if (pBuf->randr & SHADOW_REFLECT_X) ++ o_x_dir = -o_x_dir; ++ if (pBuf->randr & SHADOW_REFLECT_Y) ++ o_y_dir = -o_y_dir; ++ switch (pBuf->randr & (SHADOW_ROTATE_ALL)) { ++ case SHADOW_ROTATE_0: /* upper left shadow -> upper left screen */ ++ default: ++ x_dir = o_x_dir; ++ y_dir = o_y_dir; ++ break; ++ case SHADOW_ROTATE_90: /* upper right shadow -> upper left screen */ ++ x_dir = o_y_dir; ++ y_dir = -o_x_dir; ++ break; ++ case SHADOW_ROTATE_180: /* lower right shadow -> upper left screen */ ++ x_dir = -o_x_dir; ++ y_dir = -o_y_dir; ++ break; ++ case SHADOW_ROTATE_270: /* lower left shadow -> upper left screen */ ++ x_dir = -o_y_dir; ++ y_dir = o_x_dir; ++ break; ++ } ++ switch (x_dir) { ++ case LEFT_TO_RIGHT: ++ shaStepOverX = shaBpp; ++ shaStepOverY = 0; ++ break; ++ case TOP_TO_BOTTOM: ++ shaStepOverX = 0; ++ shaStepOverY = shaStride; ++ break; ++ case RIGHT_TO_LEFT: ++ shaStepOverX = -shaBpp; ++ shaStepOverY = 0; ++ break; ++ case BOTTOM_TO_TOP: ++ shaStepOverX = 0; ++ shaStepOverY = -shaStride; ++ break; ++ } ++ switch (y_dir) { ++ case TOP_TO_BOTTOM: ++ shaStepDownX = 0; ++ shaStepDownY = shaStride; ++ break; ++ case RIGHT_TO_LEFT: ++ shaStepDownX = -shaBpp; ++ shaStepDownY = 0; ++ break; ++ case BOTTOM_TO_TOP: ++ shaStepDownX = 0; ++ shaStepDownY = -shaStride; ++ break; ++ case LEFT_TO_RIGHT: ++ shaStepDownX = shaBpp; ++ shaStepDownY = 0; ++ break; ++ } ++ ++ while (nbox--) ++ { ++ box_x1 = pbox->x1; ++ box_y1 = pbox->y1; ++ box_x2 = pbox->x2; ++ box_y2 = pbox->y2; ++ pbox++; ++ ++ /* ++ * Compute screen and shadow locations for this box ++ */ ++ switch (x_dir) { ++ case LEFT_TO_RIGHT: ++ scr_x1 = box_x1 & pixelsMask; ++ scr_x2 = (box_x2 + pixelsPerBits - 1) & pixelsMask; ++ ++ sha_x1 = scr_x1; ++ break; ++ case TOP_TO_BOTTOM: ++ scr_x1 = box_y1 & pixelsMask; ++ scr_x2 = (box_y2 + pixelsPerBits - 1) & pixelsMask; ++ ++ sha_y1 = scr_x1; ++ break; ++ case RIGHT_TO_LEFT: ++ scr_x1 = (shaWidth - box_x2) & pixelsMask; ++ scr_x2 = (shaWidth - box_x1 + pixelsPerBits - 1) & pixelsMask; ++ ++ sha_x1 = (shaWidth - scr_x1 - 1); ++ break; ++ case BOTTOM_TO_TOP: ++ scr_x1 = (shaHeight - box_y2) & pixelsMask; ++ scr_x2 = (shaHeight - box_y1 + pixelsPerBits - 1) & pixelsMask; ++ ++ sha_y1 = (shaHeight - scr_x1 - 1); ++ break; ++ } ++ switch (y_dir) { ++ case TOP_TO_BOTTOM: ++ scr_y1 = box_y1; ++ scr_y2 = box_y2; ++ ++ sha_y1 = scr_y1; ++ break; ++ case RIGHT_TO_LEFT: ++ scr_y1 = (shaWidth - box_x2); ++ scr_y2 = (shaWidth - box_x1); ++ ++ sha_x1 = box_x2 - 1; ++ break; ++ case BOTTOM_TO_TOP: ++ scr_y1 = shaHeight - box_y2; ++ scr_y2 = shaHeight - box_y1; ++ ++ sha_y1 = box_y2 - 1; ++ break; ++ case LEFT_TO_RIGHT: ++ scr_y1 = box_x1; ++ scr_y2 = box_x2; ++ ++ sha_x1 = box_x1; ++ break; ++ } ++ scr_w = ((scr_x2 - scr_x1) * shaBpp) >> FB_SHIFT; ++ scr_h = scr_y2 - scr_y1; ++ scr_y = scr_y1; ++ ++ /* shift amount for first pixel on screen */ ++ shaFirstShift = FB_UNIT - ((sha_x1 * shaBpp) & FB_MASK) - shaBpp; ++ ++ /* pointer to shadow data first placed on screen */ ++ shaLine = (shaBits + ++ sha_y1 * shaStride + ++ ((sha_x1 * shaBpp) >> FB_SHIFT)); ++ ++ /* ++ * Copy the bits, always write across the physical frame buffer ++ * to take advantage of write combining. ++ */ ++ while (scr_h--) ++ { ++ int p; ++ FbBits bits; ++ char *win; ++ int i; ++ CARD32 winSize; ++ ++ sha = shaLine; ++ shaShift = shaFirstShift; ++ w = scr_w; ++ scr_x = scr_x1 * shaBpp >> FB_SHIFT; ++ ++ while (w) ++ { ++ /* ++ * Map some of this line ++ */ ++ win = (char *) (*pBuf->window) (pScreen, ++ scr_y, ++ scr_x * 3, ++ SHADOW_WINDOW_WRITE, ++ &winSize, ++ pBuf->closure); ++ i = winSize / 3; ++ if (i > w) ++ i = w; ++ w -= i; ++ scr_x += i; ++ /* ++ * Copy the portion of the line mapped ++ */ ++ while (i--) ++ { ++ bits = 0; ++ p = pixelsPerBits; ++ /* ++ * Build one word of output from multiple inputs ++ * ++ * Note that for 90/270 rotations, this will walk ++ * down the shadow hitting each scanline once. ++ * This is probably not very efficient. ++ */ ++ while (p--) ++ { ++ bits = FbScrLeft(bits, shaBpp); ++ bits |= FbScrRight (*sha, shaShift) & shaMask; ++ ++ shaShift -= shaStepOverX; ++ if (shaShift >= FB_UNIT) ++ { ++ shaShift -= FB_UNIT; ++ sha--; ++ } ++ else if (shaShift < 0) ++ { ++ shaShift += FB_UNIT; ++ sha++; ++ } ++ sha += shaStepOverY; ++ } ++ *win++ = ((bits & 0xFC) >> 2) | ++ ((bits & 0xC00) >> 4); ++ *win++ = ((bits & 0xF000) >> 12) | ++ ((bits & 0x3C0000) >> 14); ++ *win++ = (bits & 0xC00000) >> 22; ++ } ++ } ++ scr_y++; ++ shaFirstShift -= shaStepDownX; ++ if (shaFirstShift >= FB_UNIT) ++ { ++ shaFirstShift -= FB_UNIT; ++ shaLine--; ++ } ++ else if (shaFirstShift < 0) ++ { ++ shaFirstShift += FB_UNIT; ++ shaLine++; ++ } ++ shaLine += shaStepDownY; ++ } ++ } ++} ++ + Bool + fbdevSetShadow (ScreenPtr pScreen) + { +@@ -418,7 +784,14 @@ + + window = fbdevWindowLinear; + update = 0; +- if (scrpriv->randr) ++ if (priv->Have18Bpp) ++ { ++ if (scrpriv->randr != RR_Rotate_0) ++ update = shadowUpdateRotatePacked18; ++ else ++ update = shadowUpdatePacked18; ++ } ++ else if (scrpriv->randr) + if (priv->var.bits_per_pixel == 16) { + switch (scrpriv->randr) { + case RR_Rotate_90: +diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h +--- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h 2006-09-18 08:04:17.000000000 +0200 ++++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h 2007-09-15 16:45:07.362045000 +0200 +@@ -44,6 +44,7 @@ + int fd; + char *fb; + char *fb_base; ++ Bool Have18Bpp; + } FbdevPriv; + + typedef struct _fbdevScrPriv { |