summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorStefan Schmidt <stefan@datenfreihafen.org>2008-11-14 23:43:33 +0000
committerStefan Schmidt <stefan@datenfreihafen.org>2008-11-14 23:43:33 +0000
commitc3ddec6575892bd802b98db7a608cd4b57ae625b (patch)
tree42a2cd5a355d8330ebd2c77802d2cc5b028dd77a /packages
parent625b6fa7dc58ae4c67891a8805cd5729424c3090 (diff)
parent4a66c132ce2282f4a14b97d08e3557f855eb7b0e (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Diffstat (limited to 'packages')
-rw-r--r--packages/binutils/binutils_2.18.50.0.7.bb2
-rw-r--r--packages/classpath/classpath-initial_0.93.bb4
-rw-r--r--packages/classpath/files/miscompilation-0.93.patch13
-rw-r--r--packages/dsplink/cmemk.inc55
-rw-r--r--packages/dsplink/codec-engine_2.21.bb79
-rw-r--r--packages/dsplink/dsplink.inc1
-rw-r--r--packages/dsplink/lpm.inc61
-rw-r--r--packages/dsplink/ti-cmemk-module_2.21.bb63
-rw-r--r--packages/dsplink/ti-lpm-module_2.21.bb68
-rw-r--r--packages/evince/evince_2.24.1.bb18
-rw-r--r--packages/freesmartphone/frameworkd-devel_git.bb11
-rw-r--r--packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch39
-rw-r--r--packages/gstreamer/gstreamer_0.10.17.bb5
-rw-r--r--packages/hal/hal_0.5.11.bb10
-rw-r--r--packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch2
-rw-r--r--packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch14
-rw-r--r--packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch2
-rw-r--r--packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch24
-rw-r--r--packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch2
-rw-r--r--packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch2
-rw-r--r--packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch155
-rw-r--r--packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch296
-rw-r--r--packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch288
-rw-r--r--packages/linux/linux-omap/fix-mmc.diff39
-rw-r--r--packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff443
-rw-r--r--packages/linux/linux-omap_git.bb15
-rw-r--r--packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb15
-rw-r--r--packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb24
-rw-r--r--packages/xorg-xserver/xorg-xserver-common.inc6
-rw-r--r--packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch13
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.5.3.bb13
31 files changed, 1548 insertions, 234 deletions
diff --git a/packages/binutils/binutils_2.18.50.0.7.bb b/packages/binutils/binutils_2.18.50.0.7.bb
index d0656f6300..98b389fd53 100644
--- a/packages/binutils/binutils_2.18.50.0.7.bb
+++ b/packages/binutils/binutils_2.18.50.0.7.bb
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
require binutils.inc
diff --git a/packages/classpath/classpath-initial_0.93.bb b/packages/classpath/classpath-initial_0.93.bb
index 09bcde1b87..c36ea3813d 100644
--- a/packages/classpath/classpath-initial_0.93.bb
+++ b/packages/classpath/classpath-initial_0.93.bb
@@ -5,13 +5,13 @@ require classpath-native.inc
DESCRIPTION="Java1.4-compatible GNU Classpath variant that is used as bootclasspath for jikes-native."
-PR = "r5"
+PR = "r6"
DEPENDS = "zip-native fastjar-native jikes-native gettext-native"
SRC_URI += "\
file://autotools.patch;patch=1 \
- file://miscompilation.patch;patch=1 \
+ file://miscompilation-0.93.patch;patch=1 \
"
EXTRA_OECONF = "\
diff --git a/packages/classpath/files/miscompilation-0.93.patch b/packages/classpath/files/miscompilation-0.93.patch
new file mode 100644
index 0000000000..99db6f3003
--- /dev/null
+++ b/packages/classpath/files/miscompilation-0.93.patch
@@ -0,0 +1,13 @@
+Index: classpath-0.93/native/jni/java-io/java_io_VMFile.c
+===================================================================
+--- classpath-0.93.orig/native/jni/java-io/java_io_VMFile.c 2006-09-23 07:17:45.000000000 +0200
++++ classpath-0.93/native/jni/java-io/java_io_VMFile.c 2008-11-14 13:41:27.000000000 +0100
+@@ -239,7 +239,7 @@
+ {
+ #ifndef WITHOUT_FILESYSTEM
+ const char *filename;
+- int result;
++ volatile int result;
+
+ /* Don't use the JCL convert function because it throws an exception
+ on failure */
diff --git a/packages/dsplink/cmemk.inc b/packages/dsplink/cmemk.inc
new file mode 100644
index 0000000000..1b7ea3ae0f
--- /dev/null
+++ b/packages/dsplink/cmemk.inc
@@ -0,0 +1,55 @@
+DESCRIPTION = "Codec Engine for TI ARM/DSP processors - cmemk module"
+
+DEPENDS = "virtual/kernel perl-native"
+RDEPENDS = "update-modules"
+
+inherit module
+
+require ti-paths.inc
+
+export DSPLINK="${S}/cetools/packages/dsplink"
+
+PARALLEL_MAKE = ""
+
+
+do_compile_append() {
+ echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
+ echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
+ echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
+
+ # Build the cmem kernel module
+ # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
+
+ oe_runmake clean
+ oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
+ KERNEL_SRC=${STAGING_KERNEL_DIR} \
+ KERNEL_VERSION=${KERNEL_VERSION} \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ AR="${KERNEL_AR}"
+}
+
+
+do_install() {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ cp ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+FILES_ti-cmemk-module = "${sysconfdir} /lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko"
+
+pkg_postinst_ti-cmemk-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-cmemk-module () {
+ update-modules || true
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/dsplink/codec-engine_2.21.bb b/packages/dsplink/codec-engine_2.21.bb
index b300256a3a..7c81704604 100644
--- a/packages/dsplink/codec-engine_2.21.bb
+++ b/packages/dsplink/codec-engine_2.21.bb
@@ -1,3 +1,7 @@
+require dsplink.inc
+require lpm.inc
+require cmemk.inc
+
DESCRIPTION = "Codec Engine for TI ARM/DSP processors"
DEPENDS = "virtual/kernel perl-native"
@@ -6,19 +10,18 @@ RDEPENDS = "update-modules"
inherit module
# tconf from xdctools dislikes '.' in pwd :/
-PR = "r1"
+PR = "r2"
PV = "221"
# Get CE tarball from TI website, place in sources and calculate
# md5sum
# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
-SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
+SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \
file://Makefile.dsplink \
- file://cmemk-fix-class-device-api.diff;patch=1 \
"
-S = "${WORKDIR}/codec_engine_2_21_00_06"
+S = "${WORKDIR}/codec_engine_2_21"
require ti-paths.inc
@@ -26,72 +29,8 @@ export DSPLINK="${S}/cetools/packages/dsplink"
PARALLEL_MAKE = ""
-do_configure () {
- # Run perl script to create appropriate makefiles (v1.60 and up)
- perl ${S}/cetools/packages/dsplink/config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX --gppos=${GPPOS} --comps=ponslrm
-}
-
-do_compile() {
- unset DISPLAY
- sed -i -e s:armv7a:armv7-a:g make/Linux/omap3530_2.6.mk || true
-
- # export various settings to override the defaults in the makefiles
- export DSP_BASE_CGTOOLS=${TITOOLSDIR}/${TICGTOOLSDIR}
- export DSP_BASE_BIOS=${TITOOLSDIR}/${TIBIOSDIR}
- export DSP_BASE_RTDX=${TITOOLSDIR}/${TIBIOSDIR}/packages/ti/rtdx
- export GPPTOOL_DIR=${CROSS_DIR}
- export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
- export LINK_INSTALL_DIR=${DSPLINK}
- export VARIANT=${DSPLINKSOC}
- export PLATFORM=${DSPLINKPLATFORM}
- export BASE_TOOLCHAIN=${CROSS_DIR}
- export BASE_CGTOOLS=${BASE_TOOLCHAIN}/bin
- # 'OSINC_PLATFORM' is used in both the dsp and gpp sides...
- export OSINC_PLATFORM1=${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include
- export OSINC_TARGET=${BASE_TOOLCHAIN}/target/usr/include
-
- # 'ARCHIVER' is being used in the dsp side of the build as well as gpp
- export ARCHIVER_AR=${TARGET_PREFIX}ar
- export BASE_SABIOS=${DSP_BASE_BIOS}
-
- make -e -f ${WORKDIR}/Makefile.dsplink
-
- echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
- echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
- echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
-
- # Build the cmem kernel module
- # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
-
- oe_runmake clean
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-
- # Build the DSP power manager kernel module
- cd ${S}/cetools/packages/ti/bios/power
-
- # Unpack all kernel sources for the DSP power manager module
- for dsp in $(ls | grep bld | awk -F, '{print $2}' | awk -F_ '{print $1}') ; do
- if ! [ -e $dsp ] ; then tar xf ti_bios_power,${dsp}_bld.tar ; fi
- done
-
- cd ${DSPPOWERSOC}/lpm
-
- unset LDFLAGS CFLAGS
- make KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_DIR=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- TOOL_PREFIX=${TARGET_PREFIX} \
- DSPLINK_REPO=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-
+# the include files on top define do_compile for the submodules
+do_compile_append() {
cd ${S}/examples
# export some more variable to point to external TI tools
# information is duplicated between the js and make based tools
diff --git a/packages/dsplink/dsplink.inc b/packages/dsplink/dsplink.inc
index 9955d4d038..30d1ca3165 100644
--- a/packages/dsplink/dsplink.inc
+++ b/packages/dsplink/dsplink.inc
@@ -23,6 +23,7 @@ PARALLEL_MAKE = ""
do_compile () {
unset DISPLAY
sed -i -e s:armv7a:armv7-a:g make/Linux/omap3530_2.6.mk || true
+ sed -i -e s:armv7a:armv7-a:g cetools/packages/dsplink/make/Linux/omap3530_2.6.mk || true
# export various settings to override the defaults in the makefiles
export DSP_BASE_CGTOOLS=${TITOOLSDIR}/${TICGTOOLSDIR}
diff --git a/packages/dsplink/lpm.inc b/packages/dsplink/lpm.inc
new file mode 100644
index 0000000000..211ffd3766
--- /dev/null
+++ b/packages/dsplink/lpm.inc
@@ -0,0 +1,61 @@
+DESCRIPTION = "Codec Engine for TI ARM/DSP processors - power module"
+
+DEPENDS = "virtual/kernel perl-native dsplink"
+RDEPENDS = "update-modules"
+
+inherit module
+
+require ti-paths.inc
+
+PARALLEL_MAKE = ""
+
+do_compile_append() {
+ echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
+ echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
+ echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
+
+ # Build the DSP power manager kernel module
+ cd ${S}/cetools/packages/ti/bios/power
+
+ # Unpack all kernel sources for the DSP power manager module
+ for dsp in $(ls | grep bld | awk -F, '{print $2}' | awk -F_ '{print $1}') ; do
+ if ! [ -e $dsp ] ; then tar xf ti_bios_power,${dsp}_bld.tar ; fi
+ done
+
+ cd ${DSPPOWERSOC}/lpm
+
+ unset LDFLAGS CFLAGS
+ make KERNEL_PATH=${STAGING_KERNEL_DIR} \
+ KERNEL_SRC=${STAGING_KERNEL_DIR} \
+ KERNEL_DIR=${STAGING_KERNEL_DIR} \
+ KERNEL_VERSION=${KERNEL_VERSION} \
+ TOOL_PREFIX=${TARGET_PREFIX} \
+ DSPLINK_REPO=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ AR="${KERNEL_AR}"
+}
+
+
+do_install() {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ cp ${S}/cetools/packages/ti/bios/power/${DSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
+
+pkg_postinst_ti-lpm-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-lpm-module () {
+ update-modules || true
+}
+
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/dsplink/ti-cmemk-module_2.21.bb b/packages/dsplink/ti-cmemk-module_2.21.bb
index 4261b140d2..0e9f733c8b 100644
--- a/packages/dsplink/ti-cmemk-module_2.21.bb
+++ b/packages/dsplink/ti-cmemk-module_2.21.bb
@@ -1,70 +1,15 @@
-DESCRIPTION = "Codec Engine for TI ARM/DSP processors - cmemk module"
-
-DEPENDS = "virtual/kernel perl-native"
-RDEPENDS = "update-modules"
-
-inherit module
-
# tconf from xdctools dislikes '.' in pwd :/
-PR = "r1"
+PR = "r2"
PV = "221"
# Get CE tarball from TI website, place in sources and calculate
# md5sum
# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
-SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
+SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \
file://Makefile.dsplink \
- file://cmemk-fix-class-device-api.diff;patch=1 \
"
-S = "${WORKDIR}/codec_engine_2_21_00_06"
-
-require ti-paths.inc
-
-export DSPLINK="${S}/cetools/packages/dsplink"
-
-PARALLEL_MAKE = ""
-
-
-do_compile() {
- echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
- echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
- echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
-
- # Build the cmem kernel module
- # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
-
- oe_runmake clean
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-}
-
-
-do_install() {
- install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
- cp ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-FILES_ti-cmemk-module = "${sysconfdir} /lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko"
-
-pkg_postinst_ti-cmemk-module () {
- if [ -n "$D" ]; then
- exit 1
- fi
- depmod -a
- update-modules || true
-}
-
-pkg_postrm_ti-cmemk-module () {
- update-modules || true
-}
+S = "${WORKDIR}/codec_engine_2_21"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+require cmemk.inc
diff --git a/packages/dsplink/ti-lpm-module_2.21.bb b/packages/dsplink/ti-lpm-module_2.21.bb
index 50e58666bd..9a9791894d 100644
--- a/packages/dsplink/ti-lpm-module_2.21.bb
+++ b/packages/dsplink/ti-lpm-module_2.21.bb
@@ -1,75 +1,15 @@
-DESCRIPTION = "Codec Engine for TI ARM/DSP processors - power module"
-
-DEPENDS = "virtual/kernel perl-native dsplink"
-RDEPENDS = "update-modules"
-
-inherit module
-
# tconf from xdctools dislikes '.' in pwd :/
-PR = "r1"
+PR = "r2"
PV = "221"
# Get CE tarball from TI website, place in sources and calculate
# md5sum
# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
-SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
+SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \
file://Makefile.dsplink \
"
-S = "${WORKDIR}/codec_engine_2_21_00_06"
-
-require ti-paths.inc
-
-PARALLEL_MAKE = ""
-
-do_compile() {
- echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
- echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
- echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
-
- # Build the DSP power manager kernel module
- cd ${S}/cetools/packages/ti/bios/power
-
- # Unpack all kernel sources for the DSP power manager module
- for dsp in $(ls | grep bld | awk -F, '{print $2}' | awk -F_ '{print $1}') ; do
- if ! [ -e $dsp ] ; then tar xf ti_bios_power,${dsp}_bld.tar ; fi
- done
-
- cd ${DSPPOWERSOC}/lpm
-
- unset LDFLAGS CFLAGS
- make KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_DIR=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- TOOL_PREFIX=${TARGET_PREFIX} \
- DSPLINK_REPO=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-}
-
-
-do_install() {
- install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
- cp ${S}/cetools/packages/ti/bios/power/${DSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
-
-pkg_postinst_ti-lpm-module () {
- if [ -n "$D" ]; then
- exit 1
- fi
- depmod -a
- update-modules || true
-}
-
-pkg_postrm_ti-lpm-module () {
- update-modules || true
-}
-
+S = "${WORKDIR}/codec_engine_2_21"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+require lpm.inc
diff --git a/packages/evince/evince_2.24.1.bb b/packages/evince/evince_2.24.1.bb
new file mode 100644
index 0000000000..9dc61c35f7
--- /dev/null
+++ b/packages/evince/evince_2.24.1.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Evince is a document viewer for document formats like pdf, ps, djvu."
+LICENSE = "GPL"
+SECTION = "x11/office"
+DEPENDS = "gnome-icon-theme tiff libxt espgs gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring "
+RDEPENDS = "espgs gnome-icon-theme"
+RRECOMMENDS = "gnome-vfs-plugin-file"
+PR = "r1"
+
+inherit gnome pkgconfig gtk-icon-cache
+
+SRC_URI += " file://no-help-dir.patch;patch=1"
+
+EXTRA_OECONF = " --without-libgnome \
+ --disable-thumbnailer \
+ --disable-scrollkeeper \
+ --enable-djvu \
+ "
+FILES_${PN}-dbg = "${libdir}/evince/backends/.debug"
diff --git a/packages/freesmartphone/frameworkd-devel_git.bb b/packages/freesmartphone/frameworkd-devel_git.bb
index c46c44ad17..9438b6d768 100644
--- a/packages/freesmartphone/frameworkd-devel_git.bb
+++ b/packages/freesmartphone/frameworkd-devel_git.bb
@@ -1,5 +1,10 @@
require frameworkd_git.bb
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/frameworkd', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
-SRC_URI = "${FREESMARTPHONE_GIT}/framework.git;protocol=git;branch=master \
- file://frameworkd \
- file://frameworkd.conf"
+PR="r1"
+
+SRC_URI = "\
+ ${FREESMARTPHONE_GIT}/framework.git;protocol=git;branch=master \
+ file://frameworkd \
+ file://frameworkd.conf \
+"
diff --git a/packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch b/packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch
new file mode 100644
index 0000000000..6733e6be06
--- /dev/null
+++ b/packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch
@@ -0,0 +1,39 @@
+Work around a glibc 2.6.1 bug with dlopen. We try to dlopen a .so file that
+only contains debug symbols (e.g. no architecture is set in the elf header)
+
+
+#0 0x4000a88c in _dl_relocate_object () from /lib/ld-linux.so.3
+(gdb) bt
+#0 0x4000a88c in _dl_relocate_object () from /lib/ld-linux.so.3
+#1 0x40011f68 in dl_open_worker () from /lib/ld-linux.so.3
+#2 0x4000d7e4 in _dl_catch_error () from /lib/ld-linux.so.3
+#3 0x400117d8 in _dl_open () from /lib/ld-linux.so.3
+#4 0x402fba84 in dlopen_doit () from /lib/libdl.so.2
+#5 0x4000d7e4 in _dl_catch_error () from /lib/ld-linux.so.3
+#6 0x402fbf50 in _dlerror_run () from /lib/libdl.so.2
+#7 0x402fb9bc in dlopen@@GLIBC_2.4 () from /lib/libdl.so.2
+#8 0x402f2790 in g_module_open () from /usr/lib/libgmodule-2.0.so.0
+#9 0x40078784 in gst_plugin_load_file (
+ filename=0x10a6c8 "/usr/lib/gstreamer-0.10/.debug/libgstcoreindexers.so",
+ error=0x0) at gstplugin.c:481
+#10 0x4007e3c4 in gst_registry_scan_path_level (registry=0x27828,
+ path=0x10a6a0 "/usr/lib/gstreamer-0.10/.debug", level=1) at gstregistry.c:891
+#11 0x4007df04 in gst_registry_scan_path_level (registry=0x27828,
+
+
+Index: gstreamer-0.10.17/gst/gstregistry.c
+===================================================================
+--- gstreamer-0.10.17.orig/gst/gstregistry.c 2008-11-14 23:30:48.000000000 +0100
++++ gstreamer-0.10.17/gst/gstregistry.c 2008-11-14 23:32:39.000000000 +0100
+@@ -813,7 +813,10 @@
+ GST_LOG_OBJECT (registry, "examining file: %s", filename);
+
+ if (g_file_test (filename, G_FILE_TEST_IS_DIR)) {
+- if (level > 0) {
++ if (g_str_has_suffix (filename, ".debug")) {
++ GST_LOG_OBJECT (registry,
++ "found directory, not descending into .debug directory");
++ } else if (level > 0) {
+ GST_LOG_OBJECT (registry, "found directory, recursing");
+ changed |= gst_registry_scan_path_level (registry, filename, level - 1);
+ } else {
diff --git a/packages/gstreamer/gstreamer_0.10.17.bb b/packages/gstreamer/gstreamer_0.10.17.bb
index 51a1426564..4087e8e1d0 100644
--- a/packages/gstreamer/gstreamer_0.10.17.bb
+++ b/packages/gstreamer/gstreamer_0.10.17.bb
@@ -1,6 +1,7 @@
require gstreamer.inc
-PR = "r3"
+PR = "r4"
-SRC_URI += "file://po-makefile-fix.patch;patch=1"
+SRC_URI += "file://po-makefile-fix.patch;patch=1 \
+ file://registry-do-not-look-into-debug-dirs.patch;patch=1 "
diff --git a/packages/hal/hal_0.5.11.bb b/packages/hal/hal_0.5.11.bb
index e93ad64ac3..2b56fdfca5 100644
--- a/packages/hal/hal_0.5.11.bb
+++ b/packages/hal/hal_0.5.11.bb
@@ -1,8 +1,14 @@
require hal.inc
-PR = "r1"
+PR = "r2"
SRC_URI += " file://hal-right-input-h.patch;patch=1 \
file://fix-configure.diff;patch=1"
-EXTRA_OECONF += "--with-linux-input-header=${STAGING_INCDIR}/linux/input.h"
+# The following code finds the right linux/input.h,
+# which also works with external-toolchain/SDK
+do_configure() {
+ linux_input_h=`echo "#include <linux/input.h>" | ${CPP} - | \
+ grep "linux\/input.h" | head -n 1 | awk -F '"' '{print $2}'`
+ autotools_do_configure --with-linux-input-header=${linux_input_h}
+}
diff --git a/packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch b/packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch
index 2ee2e2acce..6cc8ce12c6 100644
--- a/packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch
+++ b/packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch
@@ -1,4 +1,4 @@
-From b6d4f19ae3192db2d7733fb70c212494bb1e0abd Mon Sep 17 00:00:00 2001
+From e8cc995ace5ef4c8e920ccac6bacc1a0129ad2c4 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Date: Tue, 4 Nov 2008 15:08:07 +0200
Subject: [PATCH] DSS: Documentation for OMAP2/3 display subsystem
diff --git a/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch b/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
index 461890343a..e7beec7898 100644
--- a/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
+++ b/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
@@ -1,4 +1,4 @@
-From 04b4d27af34373bbb65df19c2c084f117fe54213 Mon Sep 17 00:00:00 2001
+From 6bec28d7c3d7cf97d644c610beadfef354fa596e Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Date: Thu, 13 Nov 2008 15:38:15 +0200
Subject: [PATCH] DSS: New display subsystem driver for OMAP2/3
@@ -9,7 +9,7 @@ Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
arch/arm/plat-omap/Makefile | 2 +
arch/arm/plat-omap/dss/Kconfig | 66 +
arch/arm/plat-omap/dss/Makefile | 6 +
- arch/arm/plat-omap/dss/dispc.c | 1720 ++++++++++++++++
+ arch/arm/plat-omap/dss/dispc.c | 1722 ++++++++++++++++
arch/arm/plat-omap/dss/display.c | 775 ++++++++
arch/arm/plat-omap/dss/dpi.c | 323 +++
arch/arm/plat-omap/dss/dsi.c | 3020 +++++++++++++++++++++++++++++
@@ -19,7 +19,7 @@ Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
arch/arm/plat-omap/dss/sdi.c | 157 ++
arch/arm/plat-omap/dss/venc.c | 515 +++++
arch/arm/plat-omap/include/mach/display.h | 458 +++++
- 14 files changed, 9086 insertions(+), 0 deletions(-)
+ 14 files changed, 9088 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/plat-omap/dss/Kconfig
create mode 100644 arch/arm/plat-omap/dss/Makefile
create mode 100644 arch/arm/plat-omap/dss/dispc.c
@@ -142,10 +142,10 @@ index 0000000..e98c6c1
+omap-dss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
diff --git a/arch/arm/plat-omap/dss/dispc.c b/arch/arm/plat-omap/dss/dispc.c
new file mode 100644
-index 0000000..6d06082
+index 0000000..3738cf3
--- /dev/null
+++ b/arch/arm/plat-omap/dss/dispc.c
-@@ -0,0 +1,1720 @@
+@@ -0,0 +1,1722 @@
+/*
+ * linux/arch/arm/plat-omap/dss/dispc.c
+ *
@@ -1261,8 +1261,10 @@ index 0000000..6d06082
+
+ for (cur_pd = pcd_min; cur_pd <= 255; ++cur_pd) {
+ unsigned long pck = lck / cur_pd;
++ long old_delta = abs(best_pck - req_pck);
++ long new_delta = abs(pck - req_pck);
+
-+ if (abs(pck - req_pck) < abs(best_pck - req_pck)) {
++ if (best_pck == 0 || new_delta < old_delta) {
+ best_pck = pck;
+ best_ld = cur_ld;
+ best_pd = cur_pd;
diff --git a/packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch b/packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch
index d64fe442f9..b9a56afcd9 100644
--- a/packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch
+++ b/packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch
@@ -1,4 +1,4 @@
-From e2aaa3251054eecf92b8936e704a3581de69bdc7 Mon Sep 17 00:00:00 2001
+From 36ac3fa1184b392dc54024de6d98e4355f2baba8 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Date: Tue, 4 Nov 2008 15:12:21 +0200
Subject: [PATCH] DSS: OMAPFB: fb driver for new display subsystem
diff --git a/packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch b/packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch
index 4925f2437b..bbf96ecc6f 100644
--- a/packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch
+++ b/packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch
@@ -1,4 +1,4 @@
-From ce4676f5a466d991bccfeac2c32316053e86b9a1 Mon Sep 17 00:00:00 2001
+From ff78ff9513a40be30649420bc9833793a6e70b75 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Date: Tue, 11 Nov 2008 13:52:56 +0200
Subject: [PATCH] DSS: Add generic DVI panel
@@ -16,7 +16,7 @@ You also need DSI PLL to generate pix clock for 1280x1024.
create mode 100644 drivers/video/omap2/panel-dvi.c
diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-index 4b72479..996f047 100644
+index 4b72479..11ca6fe 100644
--- a/drivers/video/omap2/Kconfig
+++ b/drivers/video/omap2/Kconfig
@@ -24,6 +24,29 @@ config FB_OMAP2_FORCE_AUTO_UPDATE
@@ -31,18 +31,18 @@ index 4b72479..996f047 100644
+choice
+ prompt "Default DVI Mode"
+ depends on PANEL_DVI
-+ default PANEL_DVI_HIGHRES
++ default PANEL_DVI_1024X768
+
-+config PANEL_DVI_LOWLOWRES
++config PANEL_DVI_640X480
+ bool "640 x 480 @ 60"
+
-+config PANEL_DVI_LOWRES
++config PANEL_DVI_800X600
+ bool "800 x 600 @ 60"
+
-+config PANEL_DVI_HIGHRES
++config PANEL_DVI_1024X768
+ bool "1024 x 768 @ 60"
+
-+config PANEL_DVI_VERYHIGHRES
++config PANEL_DVI_1280X1024
+ bool "1280 x 1024 @ 57"
+
+endchoice
@@ -60,7 +60,7 @@ index 51c2e00..7c75340 100644
+obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
diff --git a/drivers/video/omap2/panel-dvi.c b/drivers/video/omap2/panel-dvi.c
new file mode 100644
-index 0000000..541f588
+index 0000000..393eaf1
--- /dev/null
+++ b/drivers/video/omap2/panel-dvi.c
@@ -0,0 +1,150 @@
@@ -131,7 +131,7 @@ index 0000000..541f588
+ .resume = dvi_panel_resume,
+ /*.set_mode = dvi_set_mode, */
+
-+#if defined(CONFIG_PANEL_DVI_LOWLOWRES)
++#if defined(CONFIG_PANEL_DVI_640X480)
+ .timings = {
+ /* 640 x 480 @ 60 hz reduced blanking vesa
+ * (dunno if these are correct) */
@@ -147,7 +147,7 @@ index 0000000..541f588
+ .x_res = 640,
+ .y_res = 480,
+ .bpp = 24,
-+#elif defined(CONFIG_PANEL_DVI_LOWRES)
++#elif defined(CONFIG_PANEL_DVI_800X600)
+ .timings = {
+ /* 800 x 600 @ 60 hz reduced blanking vesa cvt 0.48m3-r */
+ .pixel_clock = 35500,
@@ -162,7 +162,7 @@ index 0000000..541f588
+ .x_res = 800,
+ .y_res = 600,
+ .bpp = 24,
-+#elif defined(CONFIG_PANEL_DVI_HIGHRES)
++#elif defined(CONFIG_PANEL_DVI_1024X768)
+ .timings = {
+ /* 1024 x 768 @ 60 Hz Reduced blanking */
+ .pixel_clock = 56000,
@@ -177,7 +177,7 @@ index 0000000..541f588
+ .x_res = 1024,
+ .y_res = 768,
+ .bpp = 24,
-+#elif defined(CONFIG_PANEL_DVI_VERYHIGHRES)
++#elif defined(CONFIG_PANEL_DVI_1280X1024)
+ .timings = {
+ /* 1280 x 1024 @ 57 Hz Reduced blanking */
+ .pixel_clock = 86500,
diff --git a/packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch b/packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch
index 39670557b2..9ca1bd7a66 100644
--- a/packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch
+++ b/packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch
@@ -1,4 +1,4 @@
-From eaadaa1e6192ef58079fb6149136e4f267f771b0 Mon Sep 17 00:00:00 2001
+From 1a63704f218e5ec0bc6f94fc0629ab96f3d6ab34 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Date: Mon, 29 Sep 2008 17:03:36 +0300
Subject: [PATCH] DSS: support for Beagle Board
diff --git a/packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch b/packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch
index a3df3ef562..858cccf6df 100644
--- a/packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch
+++ b/packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch
@@ -1,4 +1,4 @@
-From adf1ac7680926ca94f1b36ae8c643f74c8a47253 Mon Sep 17 00:00:00 2001
+From 53561526e1e9bf20dd9e17b66f2a1b1c6cfec935 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Date: Fri, 7 Nov 2008 16:54:01 +0200
Subject: [PATCH] DSS: BEAGLE: Enable DSS in beagle defconfig
diff --git a/packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch b/packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch
new file mode 100644
index 0000000000..68720a9b91
--- /dev/null
+++ b/packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch
@@ -0,0 +1,155 @@
+From 436d6597311770af1d3a6d42560f34d6342a1c2f Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 14 Nov 2008 15:47:19 +0200
+Subject: [PATCH] DSS: Sharp LS037V7DW01 LCD Panel driver
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ drivers/video/omap2/Kconfig | 7 ++-
+ drivers/video/omap2/Makefile | 1 +
+ drivers/video/omap2/panel-sharp-ls037v7dw01.c | 108 +++++++++++++++++++++++++
+ 3 files changed, 115 insertions(+), 1 deletions(-)
+ create mode 100644 drivers/video/omap2/panel-sharp-ls037v7dw01.c
+
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+index 11ca6fe..4bd3f87 100644
+--- a/drivers/video/omap2/Kconfig
++++ b/drivers/video/omap2/Kconfig
+@@ -48,5 +48,10 @@ config PANEL_DVI_1280X1024
+
+ endchoice
+
+-endmenu
++config PANEL_SHARP_LS037V7DW01
++ tristate "Sharp LS037V7DW01 LCD Panel"
++ depends on OMAP2_DSS
++ help
++ LCD Panel used in TI's SDP3430 and EVM boards
+
++endmenu
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
+index 7c75340..b86dd0b 100644
+--- a/drivers/video/omap2/Makefile
++++ b/drivers/video/omap2/Makefile
+@@ -2,3 +2,4 @@ obj-$(CONFIG_FB_OMAP2) += omapfb.o
+ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
+
+ obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
++obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
+diff --git a/drivers/video/omap2/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/panel-sharp-ls037v7dw01.c
+new file mode 100644
+index 0000000..b4270df
+--- /dev/null
++++ b/drivers/video/omap2/panel-sharp-ls037v7dw01.c
+@@ -0,0 +1,108 @@
++/*
++ * LCD panel driver for Sharp LS037V7DW01
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * 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.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
++ * more details.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int sharp_ls_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static void sharp_ls_panel_cleanup(struct omap_display *display)
++{
++}
++
++static int sharp_ls_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void sharp_ls_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++}
++
++static int sharp_ls_panel_suspend(struct omap_display *display)
++{
++ sharp_ls_panel_disable(display);
++ return 0;
++}
++
++static int sharp_ls_panel_resume(struct omap_display *display)
++{
++ return sharp_ls_panel_enable(display);
++}
++
++static struct omap_panel sharp_ls_panel = {
++ .owner = THIS_MODULE,
++ .name = "sharp-ls037v7dw01",
++ .init = sharp_ls_panel_init,
++ .cleanup = sharp_ls_panel_cleanup,
++ .enable = sharp_ls_panel_enable,
++ .disable = sharp_ls_panel_disable,
++ .suspend = sharp_ls_panel_suspend,
++ .resume = sharp_ls_panel_resume,
++ /*.set_mode = sharp_ls_set_mode, */
++
++ .timings = {
++ .pixel_clock = 19200,
++
++ .hsw = 2,
++ .hfp = 1,
++ .hbp = 28,
++
++ .vsw = 1,
++ .vfp = 1,
++ .vbp = 1,
++ },
++
++ .acb = 0x28,
++
++ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
++ OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC,
++
++ .x_res = 480,
++ .y_res = 640,
++ .bpp = 16,
++};
++
++
++static int __init sharp_ls_panel_drv_init(void)
++{
++ omap_dss_register_panel(&sharp_ls_panel);
++ return 0;
++}
++
++static void __exit sharp_ls_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&sharp_ls_panel);
++}
++
++module_init(sharp_ls_panel_drv_init);
++module_exit(sharp_ls_panel_drv_exit);
++MODULE_LICENSE("GPL");
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch b/packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch
new file mode 100644
index 0000000000..707b6c4d66
--- /dev/null
+++ b/packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch
@@ -0,0 +1,296 @@
+From 06675e403dfe6fd9471513fb7db77db69c38c91d Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 14 Nov 2008 15:47:55 +0200
+Subject: [PATCH] DSS: Support for OMAP3 SDP board
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/mach-omap2/board-3430sdp.c | 234 +++++++++++++++++++++++++++++++++--
+ 1 files changed, 223 insertions(+), 11 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
+index b7d2e92..ac4f806 100644
+--- a/arch/arm/mach-omap2/board-3430sdp.c
++++ b/arch/arm/mach-omap2/board-3430sdp.c
+@@ -40,6 +40,8 @@
+ #include <mach/keypad.h>
+ #include <mach/dma.h>
+ #include <mach/gpmc.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include <asm/io.h>
+ #include <asm/delay.h>
+@@ -240,14 +242,224 @@ static struct spi_board_info sdp3430_spi_board_info[] __initdata = {
+ },
+ };
+
+-static struct platform_device sdp3430_lcd_device = {
+- .name = "sdp2430_lcd",
+- .id = -1,
++static struct omap_fbmem_config sdp3430_fbmem0_config = {
++ .size = 1024*768*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++static struct omap_fbmem_config sdp3430_fbmem1_config = {
++ .size = 640*480*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
+ };
+
++static struct omap_fbmem_config sdp3430_fbmem2_config = {
++ .size = 640*480*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++
++#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
++#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
++#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 24
++#define SDP3430_LCD_PANEL_ENABLE_GPIO 28
++
++#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER
++#define ENABLE_VAUX2_DEDICATED 0x09
++#define ENABLE_VAUX2_DEV_GRP 0x20
++#define ENABLE_VAUX3_DEDICATED 0x03
++#define ENABLE_VAUX3_DEV_GRP 0x20
++
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++#define t2_out(c, r, v) twl4030_i2c_write_u8(c, r, v)
++
++static unsigned backlight_gpio;
++static unsigned enable_gpio;
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init sdp3430_display_init(void)
++{
++ int r;
++
++ enable_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO;
++ backlight_gpio = SDP3430_LCD_PANEL_BACKLIGHT_GPIO;
++
++ r = gpio_request(enable_gpio, "LCD reset");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD reset GPIO\n");
++ goto err0;
++ }
++
++ r = gpio_request(backlight_gpio, "LCD Backlight");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD backlight GPIO\n");
++ goto err1;
++ }
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++
++ return;
++err1:
++ gpio_free(enable_gpio);
++err0:
++ return;
++}
++
++
++static int sdp3430_panel_enable_lcd(struct omap_display *display)
++{
++ u8 ded_val, ded_reg;
++ u8 grp_val, grp_reg;
++
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
++ TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++
++ ded_reg = TWL4030_VAUX3_DEDICATED;
++ ded_val = ENABLE_VAUX3_DEDICATED;
++ grp_reg = TWL4030_VAUX3_DEV_GRP;
++ grp_val = ENABLE_VAUX3_DEV_GRP;
++
++ gpio_direction_output(enable_gpio, 1);
++ gpio_direction_output(backlight_gpio, 1);
++
++ if (0 != t2_out(PM_RECEIVER, ded_val, ded_reg))
++ return -EIO;
++ if (0 != t2_out(PM_RECEIVER, grp_val, grp_reg))
++ return -EIO;
++
++ lcd_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_lcd(struct omap_display *display)
++{
++ lcd_enabled = 0;
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
++ mdelay(4);
++ }
++}
++
++static struct omap_display_data sdp3430_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "sharp-ls037v7dw01",
++ .u.dpi.data_lines = 16,
++ .panel_enable = sdp3430_panel_enable_lcd,
++ .panel_disable = sdp3430_panel_disable_lcd,
++};
++
++static int sdp3430_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
++ TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_dvi(struct omap_display *display)
++{
++ dvi_enabled = 0;
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
++ mdelay(4);
++ }
++}
++
++
++static struct omap_display_data sdp3430_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_enable = sdp3430_panel_enable_dvi,
++ .panel_disable = sdp3430_panel_disable_dvi,
++};
++
++static int sdp3430_panel_enable_tv(struct omap_display *display)
++{
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data sdp3430_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = sdp3430_panel_enable_tv,
++ .panel_disable = sdp3430_panel_disable_tv,
++};
++
++static struct omap_dss_platform_data sdp3430_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &sdp3430_display_data,
++ &sdp3430_display_data_dvi,
++ &sdp3430_display_data_tv,
++ }
++};
++
++static struct platform_device sdp3430_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &sdp3430_dss_data,
++ },
++};
++
++
+ static struct platform_device *sdp3430_devices[] __initdata = {
+ &sdp3430_smc91x_device,
+- &sdp3430_lcd_device,
++ &sdp3430_dss_device,
+ };
+
+ static inline void __init sdp3430_init_smc91x(void)
+@@ -294,13 +506,11 @@ static struct omap_uart_config sdp3430_uart_config __initdata = {
+ .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
+ };
+
+-static struct omap_lcd_config sdp3430_lcd_config __initdata = {
+- .ctrl_name = "internal",
+-};
+-
+ static struct omap_board_config_kernel sdp3430_config[] __initdata = {
+ { OMAP_TAG_UART, &sdp3430_uart_config },
+- { OMAP_TAG_LCD, &sdp3430_lcd_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem0_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem1_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem2_config },
+ };
+
+ static int sdp3430_batt_table[] = {
+@@ -467,8 +677,6 @@ static void __init omap_3430sdp_init(void)
+ {
+ omap3430_i2c_init();
+ platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices));
+- omap_board_config = sdp3430_config;
+- omap_board_config_size = ARRAY_SIZE(sdp3430_config);
+ if (omap_rev() > OMAP3430_REV_ES1_0)
+ ts_gpio = OMAP34XX_TS_GPIO_IRQ_SDPV2;
+ else
+@@ -483,10 +691,14 @@ static void __init omap_3430sdp_init(void)
+ usb_musb_init();
+ usb_ehci_init();
+ hsmmc_init(mmc);
++ sdp3430_display_init();
+ }
+
+ static void __init omap_3430sdp_map_io(void)
+ {
++ omap_board_config = sdp3430_config;
++ omap_board_config_size = ARRAY_SIZE(sdp3430_config);
++
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch b/packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch
new file mode 100644
index 0000000000..6ca8c0dd28
--- /dev/null
+++ b/packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch
@@ -0,0 +1,288 @@
+From 21156e8a6473c293d260b18565a382283d227ef4 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 14 Nov 2008 16:03:34 +0200
+Subject: [PATCH] DSS: Support for OMAP3 EVM board
+
+Coded by Vaibhav Hiremath <hvaibhav@ti.com>
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/mach-omap2/board-omap3evm.c | 224 ++++++++++++++++++++++++++++++++--
+ 1 files changed, 215 insertions(+), 9 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
+index bc44cb5..edecfd3 100644
+--- a/arch/arm/mach-omap2/board-omap3evm.c
++++ b/arch/arm/mach-omap2/board-omap3evm.c
+@@ -37,6 +37,8 @@
+ #include <mach/usb-ehci.h>
+ #include <mach/common.h>
+ #include <mach/mcspi.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include "sdram-micron-mt46h32m32lf-6.h"
+ #include "twl4030-generic-scripts.h"
+@@ -161,14 +163,215 @@ static int __init omap3_evm_i2c_init(void)
+ omap_register_i2c_bus(3, 400, NULL, 0);
+ return 0;
+ }
++static struct omap_fbmem_config evm_fbmem0_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
+
+-static struct platform_device omap3_evm_lcd_device = {
+- .name = "omap3evm_lcd",
+- .id = -1,
++static struct omap_fbmem_config evm_fbmem1_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
+ };
+
+-static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
+- .ctrl_name = "internal",
++static struct omap_fbmem_config evm_fbmem2_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++#define LCD_PANEL_LR 2
++#define LCD_PANEL_UD 3
++#define LCD_PANEL_INI 152
++#define LCD_PANEL_ENABLE_GPIO 153
++#define LCD_PANEL_QVGA 154
++#define LCD_PANEL_RESB 155
++
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++
++#define TWL4030_GPIODATA_IN3 0x03
++#define TWL4030_GPIODATA_DIR3 0x06
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init evm_display_init(void)
++{
++ int r;
++ r = gpio_request(LCD_PANEL_LR, "lcd_panel_lr");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_LR\n");
++ return;
++ }
++ r = gpio_request(LCD_PANEL_UD, "lcd_panel_ud");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_UD\n");
++ goto err_1;
++ }
++
++ r = gpio_request(LCD_PANEL_INI, "lcd_panel_ini");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_INI\n");
++ goto err_2;
++ }
++ r = gpio_request(LCD_PANEL_RESB, "lcd_panel_resb");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_RESB\n");
++ goto err_3;
++ }
++ r = gpio_request(LCD_PANEL_QVGA, "lcd_panel_qvga");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_QVGA\n");
++ goto err_4;
++ }
++
++ gpio_direction_output(LCD_PANEL_LR, 0);
++ gpio_direction_output(LCD_PANEL_UD, 0);
++ gpio_direction_output(LCD_PANEL_INI, 0);
++ gpio_direction_output(LCD_PANEL_RESB, 0);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++
++#define TWL_LED_LEDEN 0x00
++#define TWL_PWMA_PWMAON 0x00
++#define TWL_PWMA_PWMAOFF 0x01
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
++
++ gpio_direction_output(LCD_PANEL_RESB, 1);
++ gpio_direction_output(LCD_PANEL_INI, 1);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++ gpio_direction_output(LCD_PANEL_LR, 1);
++ gpio_direction_output(LCD_PANEL_UD, 1);
++
++ return;
++
++err_4:
++ gpio_free(LCD_PANEL_RESB);
++err_3:
++ gpio_free(LCD_PANEL_INI);
++err_2:
++ gpio_free(LCD_PANEL_UD);
++err_1:
++ gpio_free(LCD_PANEL_LR);
++
++}
++
++static int evm_panel_enable_lcd(struct omap_display *display)
++{
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
++ lcd_enabled = 1;
++ return 0;
++}
++
++static void evm_panel_disable_lcd(struct omap_display *display)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
++ lcd_enabled = 0;
++}
++
++static struct omap_display_data evm_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "sharp-ls037v7dw01",
++ .u.dpi.data_lines = 16,
++ .panel_enable = evm_panel_enable_lcd,
++ .panel_disable = evm_panel_disable_lcd,
++};
++
++static int evm_panel_enable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED, TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++ return 0;
++}
++
++static void evm_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data evm_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = evm_panel_enable_tv,
++ .panel_disable = evm_panel_disable_tv,
++};
++
++
++static int evm_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void evm_panel_disable_dvi(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 0;
++}
++
++
++static struct omap_display_data evm_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_enable = evm_panel_enable_dvi,
++ .panel_disable = evm_panel_disable_dvi,
++};
++
++static struct omap_dss_platform_data evm_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &evm_display_data,
++ &evm_display_data_dvi,
++ &evm_display_data_tv,
++ }
++};
++static struct platform_device evm_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &evm_dss_data,
++ },
+ };
+
+ static void ads7846_dev_init(void)
+@@ -227,11 +430,13 @@ static void __init omap3_evm_init_irq(void)
+
+ static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
+ { OMAP_TAG_UART, &omap3_evm_uart_config },
+- { OMAP_TAG_LCD, &omap3_evm_lcd_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem0_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem1_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem2_config },
+ };
+
+ static struct platform_device *omap3_evm_devices[] __initdata = {
+- &omap3_evm_lcd_device,
++ &evm_dss_device,
+ &omap3evm_smc911x_device,
+ };
+
+@@ -250,8 +455,6 @@ static void __init omap3_evm_init(void)
+ omap3_evm_i2c_init();
+
+ platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
+- omap_board_config = omap3_evm_config;
+- omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+
+ spi_register_board_info(omap3evm_spi_board_info,
+ ARRAY_SIZE(omap3evm_spi_board_info));
+@@ -262,10 +465,13 @@ static void __init omap3_evm_init(void)
+ usb_ehci_init();
+ omap3evm_flash_init();
+ ads7846_dev_init();
++ evm_display_init();
+ }
+
+ static void __init omap3_evm_map_io(void)
+ {
++ omap_board_config = omap3_evm_config;
++ omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/fix-mmc.diff b/packages/linux/linux-omap/fix-mmc.diff
new file mode 100644
index 0000000000..dfc531c3ef
--- /dev/null
+++ b/packages/linux/linux-omap/fix-mmc.diff
@@ -0,0 +1,39 @@
+Oops.. Haven't thought to try it without gpio_cd set up, in which case c->mmc
+is not set initialized.. Please try the following patch:
+
+
+diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c
+index 0ea6ba6..626d668 100644
+--- a/arch/arm/mach-omap2/mmc-twl4030.c
++++ b/arch/arm/mach-omap2/mmc-twl4030.c
+@@ -239,6 +239,7 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
+ u32 reg;
+ int ret = 0;
+ struct twl_mmc_controller *c = &hsmmc[0];
++ struct omap_mmc_platform_data *mmc = dev->platform_data;
+
+ if (power_on) {
+ if (cpu_is_omap2430()) {
+@@ -250,7 +251,7 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
+ omap_ctrl_writel(reg, OMAP243X_CONTROL_DEVCONF1);
+ }
+
+- if (c->mmc->slots[0].internal_clock) {
++ if (mmc->slots[0].internal_clock) {
+ reg = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0);
+ reg |= OMAP2_MMCSDIO1ADPCLKISEL;
+ omap_ctrl_writel(reg, OMAP2_CONTROL_DEVCONF0);
+@@ -293,11 +294,11 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
+ static int twl_mmc2_set_power(struct device *dev, int slot, int power_on, int vdd)
+ {
+ int ret;
+-
+ struct twl_mmc_controller *c = &hsmmc[1];
++ struct omap_mmc_platform_data *mmc = dev->platform_data;
+
+ if (power_on) {
+- if (c->mmc->slots[0].internal_clock) {
++ if (mmc->slots[0].internal_clock) {
+ u32 reg;
+
+ reg = omap_ctrl_readl(control_devconf1_offset);
diff --git a/packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff b/packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff
new file mode 100644
index 0000000000..60832e72ca
--- /dev/null
+++ b/packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff
@@ -0,0 +1,443 @@
+From: hvaibhav@ti.com
+To: linux-fbdev-devel@lists.sourceforge.net, linux-omap@vger.kernel.org
+Cc: Vaibhav Hiremath <hvaibhav@ti.com>
+Subject: [REVIEW PATCH] Added OMAP3EVM support on Tomis FBDEV/DSS Patches
+Date: Fri, 14 Nov 2008 12:02:32 +0530
+
+From: Vaibhav Hiremath <hvaibhav@ti.com>
+
+Tested LCD, TV, DVI (480P) out on OMAP3EVM board.
+
+Please make sure that you change the option
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=7 and apply the
+Mans Rullgard clock patches to support set_rate and round_rate API.
+
+Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
+---
+ arch/arm/mach-omap2/board-omap3evm.c | 224 ++++++++++++++++++++++++++++++++--
+ drivers/video/omap2/Kconfig | 5 +
+ drivers/video/omap2/Makefile | 1 +
+ drivers/video/omap2/panel-omap3evm.c | 110 +++++++++++++++++
+ 5 files changed, 341 insertions(+), 53 deletions(-)
+ create mode 100644 drivers/video/omap2/panel-omap3evm.c
+
+diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
+index 42ab826..e244fa7 100644
+--- a/arch/arm/mach-omap2/board-omap3evm.c
++++ b/arch/arm/mach-omap2/board-omap3evm.c
+@@ -37,6 +37,8 @@
+ #include <mach/usb-ehci.h>
+ #include <mach/common.h>
+ #include <mach/mcspi.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include "sdram-micron-mt46h32m32lf-6.h"
+ #include "twl4030-generic-scripts.h"
+@@ -161,14 +163,215 @@ static int __init omap3_evm_i2c_init(void)
+ omap_register_i2c_bus(3, 400, NULL, 0);
+ return 0;
+ }
++static struct omap_fbmem_config evm_fbmem0_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
+
+-static struct platform_device omap3_evm_lcd_device = {
+- .name = "omap3evm_lcd",
+- .id = -1,
++static struct omap_fbmem_config evm_fbmem1_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
+ };
+
+-static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
+- .ctrl_name = "internal",
++static struct omap_fbmem_config evm_fbmem2_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++#define LCD_PANEL_LR 2
++#define LCD_PANEL_UD 3
++#define LCD_PANEL_INI 152
++#define LCD_PANEL_ENABLE_GPIO 153
++#define LCD_PANEL_QVGA 154
++#define LCD_PANEL_RESB 155
++
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++
++#define TWL4030_GPIODATA_IN3 0x03
++#define TWL4030_GPIODATA_DIR3 0x06
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init evm_display_init(void)
++{
++ int r;
++ r = gpio_request(LCD_PANEL_LR, "lcd_panel_lr");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_LR\n");
++ return;
++ }
++ r = gpio_request(LCD_PANEL_UD, "lcd_panel_ud");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_UD\n");
++ goto err_1;
++ }
++
++ r = gpio_request(LCD_PANEL_INI, "lcd_panel_ini");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_INI\n");
++ goto err_2;
++ }
++ r = gpio_request(LCD_PANEL_RESB, "lcd_panel_resb");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_RESB\n");
++ goto err_3;
++ }
++ r = gpio_request(LCD_PANEL_QVGA, "lcd_panel_qvga");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_QVGA\n");
++ goto err_4;
++ }
++
++ gpio_direction_output(LCD_PANEL_LR, 0);
++ gpio_direction_output(LCD_PANEL_UD, 0);
++ gpio_direction_output(LCD_PANEL_INI, 0);
++ gpio_direction_output(LCD_PANEL_RESB, 0);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++
++#define TWL_LED_LEDEN 0x00
++#define TWL_PWMA_PWMAON 0x00
++#define TWL_PWMA_PWMAOFF 0x01
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
++
++ gpio_direction_output(LCD_PANEL_RESB, 1);
++ gpio_direction_output(LCD_PANEL_INI, 1);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++ gpio_direction_output(LCD_PANEL_LR, 1);
++ gpio_direction_output(LCD_PANEL_UD, 1);
++
++ return;
++
++err_4:
++ gpio_free(LCD_PANEL_RESB);
++err_3:
++ gpio_free(LCD_PANEL_INI);
++err_2:
++ gpio_free(LCD_PANEL_UD);
++err_1:
++ gpio_free(LCD_PANEL_LR);
++
++}
++
++static int panel_enable_lcd(struct omap_display *display)
++{
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
++ lcd_enabled = 1;
++ return 0;
++}
++
++static void panel_disable_lcd(struct omap_display *display)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
++ lcd_enabled = 0;
++}
++
++static struct omap_display_data evm_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "panel-sdp3430",
++ .u.dpi.data_lines = 16,
++ .panel_enable = panel_enable_lcd,
++ .panel_disable = panel_disable_lcd,
++};
++
++static int panel_enable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED, TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++ return 0;
++}
++
++static void panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data evm_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = panel_enable_tv,
++ .panel_disable = panel_disable_tv,
++};
++
++
++static int panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void panel_disable_dvi(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 0;
++}
++
++
++static struct omap_display_data evm_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_enable = panel_enable_dvi,
++ .panel_disable = panel_disable_dvi,
++};
++
++static struct omap_dss_platform_data evm_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &evm_display_data,
++ &evm_display_data_dvi,
++ &evm_display_data_tv,
++ }
++};
++static struct platform_device evm_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &evm_dss_data,
++ },
+ };
+
+ static void ads7846_dev_init(void)
+@@ -227,11 +430,13 @@ static void __init omap3_evm_init_irq(void)
+
+ static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
+ { OMAP_TAG_UART, &omap3_evm_uart_config },
+- { OMAP_TAG_LCD, &omap3_evm_lcd_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem0_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem1_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem2_config },
+ };
+
+ static struct platform_device *omap3_evm_devices[] __initdata = {
+- &omap3_evm_lcd_device,
++ &evm_dss_device,
+ &omap3evm_smc911x_device,
+ };
+
+@@ -250,8 +455,6 @@ static void __init omap3_evm_init(void)
+ omap3_evm_i2c_init();
+
+ platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
+- omap_board_config = omap3_evm_config;
+- omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+
+ spi_register_board_info(omap3evm_spi_board_info,
+ ARRAY_SIZE(omap3evm_spi_board_info));
+@@ -262,10 +465,13 @@ static void __init omap3_evm_init(void)
+ usb_ehci_init();
+ omap3evm_flash_init();
+ ads7846_dev_init();
++ evm_display_init();
+ }
+
+ static void __init omap3_evm_map_io(void)
+ {
++ omap_board_config = omap3_evm_config;
++ omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+index 95691ad..8211ffd 100644
+--- a/drivers/video/omap2/Kconfig
++++ b/drivers/video/omap2/Kconfig
+@@ -51,4 +51,9 @@ config PANEL_SDP3430
+ help
+ SDP3430 LCD
+
++config PANEL_OMAP3EVM
++ tristate "OMAP3EVM Panel"
++ depends on OMAP2_DSS
++ help
++ OMAP3EVM LCD Panel
+ endmenu
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
+index 73ab1c0..668e8c6 100644
+--- a/drivers/video/omap2/Makefile
++++ b/drivers/video/omap2/Makefile
+@@ -3,3 +3,4 @@ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
+
+ obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
+ obj-$(CONFIG_PANEL_SDP3430) += panel-sdp3430.o
++obj-$(CONFIG_PANEL_OMAP3EVM) += panel-omap3evm.o
+diff --git a/drivers/video/omap2/panel-omap3evm.c b/drivers/video/omap2/panel-omap3evm.c
+new file mode 100644
+index 0000000..4a00b02
+--- /dev/null
++++ b/drivers/video/omap2/panel-omap3evm.c
+@@ -0,0 +1,110 @@
++/*
++ * LCD panel support for the TI OMAP3EVM board
++ *
++ * Copyright (C) 2008 Texas Instruments, Inc.
++ * Author: Vaibhav Hiremath <hvaibhav@ti.com>
++ *
++ * Derived from drivers/video/omap2/panel-sdp3430.c
++ *
++ * 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.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
++ * more details.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int omap3evm_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static void omap3evm_panel_cleanup(struct omap_display *display)
++{
++}
++
++static int omap3evm_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void omap3evm_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++}
++
++static int omap3evm_panel_suspend(struct omap_display *display)
++{
++ omap3evm_panel_disable(display);
++ return 0;
++}
++
++static int omap3evm_panel_resume(struct omap_display *display)
++{
++ return omap3evm_panel_enable(display);
++}
++
++static struct omap_panel omap3evm_panel = {
++ .owner = THIS_MODULE,
++ .name = "panel-evm",
++ .init = omap3evm_panel_init,
++ .cleanup = omap3evm_panel_cleanup,
++ .enable = omap3evm_panel_enable,
++ .disable = omap3evm_panel_disable,
++ .suspend = omap3evm_panel_suspend,
++ .resume = omap3evm_panel_resume,
++ /*.set_mode = omap3evm_set_mode, */
++
++ .timings = {
++ .pixel_clock = 26000,
++
++ .hsw = 4,
++ .hfp = 4,
++ .hbp = 40,
++
++ .vsw = 2,
++ .vfp = 2,
++ .vbp = 7,
++ },
++
++ .acb = 0x28,
++
++ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
++ OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC,
++
++ .x_res = 480,
++ .y_res = 640,
++ .bpp = 18,
++};
++
++
++static int __init omap3evm_panel_drv_init(void)
++{
++ omap_dss_register_panel(&omap3evm_panel);
++ return 0;
++}
++
++static void __exit omap3evm_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&omap3evm_panel);
++}
++
++module_init(omap3evm_panel_drv_init);
++module_exit(omap3evm_panel_drv_exit);
++MODULE_LICENSE("GPL");
+--
+1.5.6
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap_git.bb b/packages/linux/linux-omap_git.bb
index dd5016336a..b3af0204d9 100644
--- a/packages/linux/linux-omap_git.bb
+++ b/packages/linux/linux-omap_git.bb
@@ -6,11 +6,11 @@ KERNEL_IMAGETYPE = "uImage"
COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm"
-SRCREV = "444fcab6e8f8bad4ffc50feb91516c246d91e901"
+SRCREV = "5ecf98b76fa95078277c9037bb01640fd3de5e2c"
-PV = "2.6.27+2.6.28-rc3+${PR}+gitr${SRCREV}"
+PV = "2.6.27+2.6.28-rc4+${PR}+gitr${SRCREV}"
#PV = "2.6.27+${PR}+gitr${SRCREV}"
-PR = "r3"
+PR = "r0"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
file://defconfig"
@@ -40,8 +40,11 @@ SRC_URI_append = " \
file://0006-DSS-Add-generic-DVI-panel.patch;patch=1 \
file://0007-DSS-support-for-Beagle-Board.patch;patch=1 \
file://0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch;patch=1 \
- file://0009-DSS-support-for-OMAP3-SDP-board.patch;patch=1 \
- file://fix-asoc.diff;patch=1 \
+ file://0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch;patch=1 \
+ file://0010-DSS-Support-for-OMAP3-SDP-board.patch;patch=1 \
+ file://0011-DSS-Support-for-OMAP3-EVM-board.patch;patch=1 \
+# file://fix-asoc.diff;patch=1 \
+ file://fix-mmc.diff;patch=1 \
"
@@ -50,7 +53,7 @@ SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
SRC_URI_append_omap3evm = " \
file://evm-mcspi-ts.diff;patch=1 \
- file://omap3evm-lcd-redtint.diff;patch=1 \
+# file://omap3evm-lcd-redtint.diff;patch=1 \
"
S = "${WORKDIR}/git"
diff --git a/packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb b/packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb
new file mode 100644
index 0000000000..1e3e1f8259
--- /dev/null
+++ b/packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Java compiler from the OpenJDK project"
+HOMEPAGE = "http://http://openjdk.java.net/groups/compiler"
+LICENSE = "GPL"
+
+PR = "r1"
+
+DEPENDS = "openjdk-langtools-native"
+
+PROVIDES = "virtual/javac-native"
+
+inherit native
+
+do_stage() {
+ ln -sf sun-javac ${bindir}/javac
+}
diff --git a/packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb b/packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
index 3f90e4a7dd..abeea96a0a 100644
--- a/packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
+++ b/packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
@@ -1,8 +1,10 @@
-DESCRIPTION = "Java Language tools (javac, javah, javap, javadoc and apt) from OpenJDK"
+DESCRIPTION = "Java Language tools (sun-javac, javah, javap, javadoc and apt) from OpenJDK"
HOMEPAGE = "http://http://openjdk.java.net/groups/compiler"
LICENSE = "GPL"
-DEPENDS = "classpath-native fastjar-native ecj-initial"
+PR = "r3"
+
+DEPENDS = "classpath-native fastjar-native ecj-initial virtual/java-native"
S = "${WORKDIR}/icepick-0.0+hg20080118"
@@ -23,3 +25,21 @@ EXTRA_OECONF = "\
"
export JAVAC_OPTS="-bootclasspath ${STAGING_DATADIR_JAVA}/share/classpath/glibj.zip -source 5.0"
+
+do_stage() {
+ # Do install step manually to fine control installation names.
+ install -d ${bindir}
+ install -m 0755 tools/apt ${bindir}
+ install -m 0755 tools/javadoc ${bindir}
+ install -m 0755 tools/javah ${bindir}
+ install -m 0755 tools/javap ${bindir}
+
+ # Provide javac as sun-javac to not clash with the binary of the same
+ # name in ecj-bootstrap-native.
+ # This way ecj-bootstrap-native and openjdk-langtools-native can coexist
+ # in staging dir.
+ install -m 0755 tools/javac ${bindir}/sun-javac
+
+ install -d ${libdir}
+ install -m 0644 tools.jar ${libdir}
+}
diff --git a/packages/xorg-xserver/xorg-xserver-common.inc b/packages/xorg-xserver/xorg-xserver-common.inc
index d391ffe60b..df594133ba 100644
--- a/packages/xorg-xserver/xorg-xserver-common.inc
+++ b/packages/xorg-xserver/xorg-xserver-common.inc
@@ -23,6 +23,9 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig
EXTRA_OECONF += " --enable-xcalibrate \
+ --enable-kdrive \
+ --enable-xephyr \
+ --with-default-font-path="/usr/share/fonts/X11/misc" \
ac_cv_file__usr_share_sgml_X11_defs_ent=no"
EXTRA_OECONF_append_arm = " ac_cv_header_linux_apm_bios_h=no "
@@ -31,13 +34,14 @@ PACKAGES =+ "xserver-security-policy"
FILES_xserver-security-policy += "${libdir}/xserver/SecurityPolicy"
RRECOMMENDS_${PN} += "xserver-security-policy xkeyboard-config xorg-minimal-fonts rgb xserver-xorg-conf"
-PACKAGES =+ "${PN}-xprint ${PN}-xvfb ${PN}-utils"
+PACKAGES =+ "${PN}-xprint ${PN}-xvfb ${PN}-utils ${PN}-xephyr"
FILES_${PN}-xprint = "${libdir}/X11/xserver/*/print"
FILES_${PN}-xvfb = "${bindir}/Xvfb"
FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules ${libdir}/xorg/modules /etc/X11 "
FILES_${PN}-doc += "${libdir}/X11/doc /usr/share/X11/xkb/compiled/README.compiled"
+FILES_${PN}-xephyr = "${bindir}/Xephyr"
FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \
${libdir}/xorg/modules/*/.debug \
diff --git a/packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch b/packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch
new file mode 100644
index 0000000000..e0f633bc24
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch
@@ -0,0 +1,13 @@
+Index: xorg-server-1.5.1/hw/xfree86/os-support/linux/Makefile.am
+===================================================================
+--- xorg-server-1.5.1.orig/hw/xfree86/os-support/linux/Makefile.am 2008-09-23 19:24:59.000000000 +0100
++++ xorg-server-1.5.1/hw/xfree86/os-support/linux/Makefile.am 2008-10-27 13:27:40.000000000 +0000
+@@ -40,7 +40,7 @@
+
+ AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES)
+
+-INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack
++INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS)
+
+ # FIXME: These need to be added to the build
+ LNX_EXTRA_SRCS = \
diff --git a/packages/xorg-xserver/xserver-xorg_1.5.3.bb b/packages/xorg-xserver/xserver-xorg_1.5.3.bb
new file mode 100644
index 0000000000..92ef22fd63
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg_1.5.3.bb
@@ -0,0 +1,13 @@
+require xorg-xserver-common.inc
+
+DESCRIPTION = "the X.Org X server"
+DEPENDS += "pixman libpciaccess openssl"
+PE = "1"
+PR = "r1"
+
+SRC_URI += "file://drmfix.patch;patch=1 \
+ file://sysroot_fix.patch;patch=1"
+
+MESA_VER = "7.2"
+
+export LDFLAGS += " -ldl "