summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/checksums.ini8
-rw-r--r--conf/distro/include/kaeilos-2009-preferred-versions.inc72
-rw-r--r--conf/distro/include/kaeilos.inc6
-rw-r--r--conf/distro/kaeilos.conf9
-rw-r--r--recipes/antlr/antlr-native_2.7.7.bb2
-rw-r--r--recipes/classpath/classpath.inc3
-rw-r--r--recipes/classpath/classpath_0.95.bb2
-rw-r--r--recipes/classpath/classpath_0.96.1.bb2
-rw-r--r--recipes/classpath/classpath_0.97.2.bb2
-rw-r--r--recipes/classpath/classpath_0.98.bb2
-rw-r--r--recipes/gmp/files/use-includedir.patch13
-rw-r--r--recipes/gmp/gmp-canadian_4.2.4.bb1
-rw-r--r--recipes/gmp/gmp-native_4.2.4.bb1
-rw-r--r--recipes/gmp/gmp_4.2.4.bb4
-rw-r--r--recipes/linux/linux-2.6.29+2.6.30-rc4/tx25/tx25-can.patch5914
-rw-r--r--recipes/linux/linux-2.6.29+2.6.30-rc4/tx25/tx25-ts2.patch1759
-rw-r--r--recipes/linux/linux_2.6.29+2.6.30-rc4.bb6
-rw-r--r--recipes/net-tools/net-tools_1.60.bb3
-rw-r--r--recipes/psplash/files/ronetix-pm9263/psplash-default2
-rw-r--r--recipes/qt4/qt4-embedded-4.5.2/0003-no-tools.patch (renamed from recipes/qt4/qt4-embedded-4.5.1/0003-no-tools.patch)0
-rw-r--r--recipes/qt4/qt4-embedded-4.5.2/0006-freetype-host-includes.patch (renamed from recipes/qt4/qt4-embedded-4.5.1/0006-freetype-host-includes.patch)0
-rw-r--r--recipes/qt4/qt4-embedded-4.5.2/0007-openssl-host-includes.patch (renamed from recipes/qt4/qt4-embedded-4.5.1/0007-openssl-host-includes.patch)0
-rw-r--r--recipes/qt4/qt4-embedded-4.5.2/0008-qt-lib-infix.patch (renamed from recipes/qt4/qt4-embedded-4.5.1/0008-qt-lib-infix.patch)0
-rw-r--r--recipes/qt4/qt4-embedded-4.5.2/0010-no-simpledecoration-example.patch (renamed from recipes/qt4/qt4-embedded-4.5.1/0010-no-simpledecoration-example.patch)0
-rw-r--r--recipes/qt4/qt4-embedded.inc2
-rw-r--r--recipes/qt4/qt4-embedded_4.5.2.bb (renamed from recipes/qt4/qt4-embedded_4.5.1.bb)0
-rw-r--r--recipes/qt4/qt4-tools-native_4.5.2.bb (renamed from recipes/qt4/qt4-tools-native_4.5.1.bb)0
-rw-r--r--recipes/qt4/qt4-tools-sdk_4.5.2.bb (renamed from recipes/qt4/qt4-tools-sdk_4.5.1.bb)0
-rw-r--r--recipes/qt4/qt4-x11-free.inc2
-rw-r--r--recipes/qt4/qt4-x11-free_4.5.2.bb (renamed from recipes/qt4/qt4-x11-free_4.5.1.bb)0
-rw-r--r--recipes/qt4/qt4.inc7
31 files changed, 7801 insertions, 21 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 7fb1d41e29..0853484291 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -20774,6 +20774,10 @@ sha256=4f6319c6031af47ef81fef08f465e4db61c0f169f5eb9bbc8f060cc3db3ffafa
md5=43e7384c59625af0830032348f672a1d
sha256=f525ad885675f4c2413d67d9a5efaf7c34862d88c796fe7e7e2d05a42a1a66c8
+[ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.bz2]
+md5=62186345c609a72b89f16d83bc7a130f
+sha256=272301a27e2f7bcd44c8d09f496e1c749c80b86d9489ea9c30bb265bf2dd02fc
+
[ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.5.tar.bz2]
md5=05d04688c0c0230ed54e89102d689ca4
sha256=aac89e862c74b2f3ead768e50e9fa7ada1e4225fe9d1d9e05723a3279259eb96
@@ -20830,6 +20834,10 @@ sha256=61831af6b71c7bd4e1ef542071225835d8c741fa8e079bceab8c83f712e396a1
md5=f81a94e2ab7713b2d375d4e5cfc8e051
sha256=aa3f5a459d042681a321f33e8d99468337a00674d68b8a512e0078625c1f51da
+[ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.5.2.tar.gz]
+md5=d8bcc070a58db25c228b7729ffad4550
+sha256=4e4c8619335cac14ba0c52d1555fab549a562fb774c1c08dcbd2be9de38120a2
+
[ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-4.2.0.tar.gz]
md5=9519eccf0638c9962f73a7b20da77e0e
sha256=8fdbc7da376b22796879d6e3b756f71a8800ed1b35fc88aa76cddffd6f1fd883
diff --git a/conf/distro/include/kaeilos-2009-preferred-versions.inc b/conf/distro/include/kaeilos-2009-preferred-versions.inc
new file mode 100644
index 0000000000..ba8d587241
--- /dev/null
+++ b/conf/distro/include/kaeilos-2009-preferred-versions.inc
@@ -0,0 +1,72 @@
+#@--------------------------------------------------------------------
+#@FILE: conf/distro/include/kaeilos-2009-preferred-versions.inc
+#@TYPE: Distribution
+#@NAME: KaeilOS(R) - http://www.kaeilos.com
+#@DESCRIPTION: KaeilOS Linux Distribution preferred version
+#@MAINTAINER: Marco Cavallini <m.cavallini@koansoftware.com>
+#@VERSION: 01-07-2009
+#
+# KaeilOS is a registered trade mark of KOAN - Bergamo - Italia
+# Product website : http://www.KaeilOS.com
+#@--------------------------------------------------------------------
+
+PREFERRED_VERSION_autoconf = "2.63"
+PREFERRED_VERSION_autoconf-native = "2.63"
+PREFERRED_VERSION_automake-native = "1.10.2"
+PREFERRED_VERSION_busybox = "1.13.2"
+PREFERRED_VERSION_cairo = "1.8.0"
+PREFERRED_VERSION_dbus = "1.2.1"
+PREFERRED_VERSION_dropbear = "0.51"
+PREFERRED_VERSION_fontconfig = "2.6.0"
+PREFERRED_VERSION_glib-2.0 = "2.20.0"
+PREFERRED_VERSION_glib-2.0-native = "2.18.0"
+PREFERRED_VERSION_glibmm = "2.18.0"
+PREFERRED_VERSION_glproto = "1.4.9"
+PREFERRED_VERSION_gst-pulse = "0.9.7"
+PREFERRED_VERSION_gtk+ = "2.16.0"
+PREFERRED_VERSION_gtkmm = "2.14.1"
+PREFERRED_VERSION_hal = "0.5.12"
+PREFERRED_VERSION_libgemwidget = "1.0"
+PREFERRED_VERSION_libgpephone = "0.4"
+PREFERRED_VERSION_libsdl-x11 = "1.2.11"
+PREFERRED_VERSION_libtool = "2.2.4"
+PREFERRED_VERSION_libtool-native = "2.2.4"
+PREFERRED_VERSION_libtool-cross = "2.2.4"
+PREFERRED_VERSION_libtool-sdk = "2.2.4"
+PREFERRED_VERSION_libx11 = "1.2"
+PREFERRED_VERSION_mesa = "7.2"
+PREFERRED_VERSION_pango = "1.24.2"
+PREFERRED_VERSION_pixman = "0.13.2"
+PREFERRED_VERSION_pkgconfig = "0.23"
+PREFERRED_VERSION_pkgconfig-native = "0.23"
+PREFERRED_VERSION_pulseaudio = "0.9.15"
+PREFERRED_VERSION_samba = "3.3.0"
+PREFERRED_VERSION_tiff = "3.8.2+4.0.0beta2"
+
+PREFERRED_VERSION_udev = "141"
+UDEV_GE_141 = "1"
+
+PREFERRED_VERSION_usbutils = "0.82"
+PREFERRED_VERSION_util-macros-native = "1.2.1"
+PREFERRED_VERSION_util-macros = "1.2.1"
+PREFERRED_VERSION_wpa-supplicant = "0.6.7"
+PREFERRED_VERSION_xserver-kdrive = "1.4.0.90"
+PREFERRED_VERSION_xserver-xorg = "1.6.1"
+
+#
+# meta-moblin package SRCREVs
+#
+SRCREV_pn-bickley ?= "de9431b7c6040bc3731157c05947159ad2c7a0a9"
+SRCREV_pn-json-glib ?= "930fdf4c4dff1f5310a946c2a9f5b6860f7c8ba8"
+SRCREV_pn-libccss ?= "92bc59e1d39302c8be500d53cb5dd8b05c2e4a15"
+SRCREV_pn-libgdbus ?= "aeab6e3c0185b271ca343b439470491b99cc587f"
+SRCREV_pn-librest ?= "14d35103d9649dc1e10c3e9ac2c690b3165c8184"
+SRCREV_pn-moblin-menus ?= "e1d63681739dd16195d005b3cf15752df294bd3c"
+SRCREV_pn-mojito ?= "0542c4b0e26c0e3b69c5ad1fa1898dc276fb9f48"
+SRCREV_pn-mozilla-headless-services ?= "c7873654894af6c7c6c01194d6185db46667b81f"
+SRCREV_pn-mutter ?= "aff4cf110307e149d3497d20543cde27b9699758"
+SRCREV_pn-twitter-glib ?= "849bec29292df88590e0b2898b50b9b8d766817e"
+SRCREV_pn-xf86-video-psb ?= "b6b3bba06fe5a3fe0b1bd6e31a7369dd83812bab"
+
+
+
diff --git a/conf/distro/include/kaeilos.inc b/conf/distro/include/kaeilos.inc
index de7dca7534..fc0348da28 100644
--- a/conf/distro/include/kaeilos.inc
+++ b/conf/distro/include/kaeilos.inc
@@ -56,15 +56,15 @@ THUMB_INTERWORK = "yes"
#Use this variable in feeds and other parts that need a URI
-ANGSTROM_URI ?= "http://www.angstrom-distribution.org"
+ANGSTROM_URI ?= "http://www.kaeilos.com"
#Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/, /etc/apt/sources.list)
# usefull for derivative distros and local testing
# As this is runtime we can't and won't use virtual/feed-configs
ANGSTROM_FEED_CONFIGS ?= "angstrom-feed-configs"
-#Set the default maintainer to angstrom-dev
-MAINTAINER = "KaeilOS Developers <info@koansoftware.com>"
+#Set the default maintainer of kaeilos
+MAINTAINER = "KaeilOS Mantainer <m.cavallini@koansoftware.com>"
#use debian style naming
INHERIT += "debian"
diff --git a/conf/distro/kaeilos.conf b/conf/distro/kaeilos.conf
index b7add998c7..5bec2d4d48 100644
--- a/conf/distro/kaeilos.conf
+++ b/conf/distro/kaeilos.conf
@@ -3,7 +3,10 @@
#@NAME: KaeilOS(R) - http://www.kaeilos.com
#@DESCRIPTION: KaeilOS Linux Distribution for Kernel 2.6 based devices
#@MAINTAINER: Marco Cavallini <m.cavallini@koansoftware.com>
-#@VERSION: 23-06-2009 - B
+#@VERSION: 01-07-2009
+#
+# KaeilOS is a registered trade mark of KOAN - Bergamo - Italia
+# Product website : http://www.KaeilOS.com
#
# Use this at your own risk, we welcome bugreports filed at
# http://bugs.openembedded.net
@@ -12,14 +15,14 @@
#DISTRO_VERSION = "2009.1"
DISTRO_VERSION = "2009.1-test-${DATE}"
DISTRO_REVISION = "1"
-DISTRO_PR = ".2"
+DISTRO_PR = ".3"
#build staging from packages
INHERIT += "packaged-staging"
require conf/distro/include/sane-srcdates.inc
require conf/distro/include/sane-srcrevs.inc
-require conf/distro/include/angstrom-2008-preferred-versions.inc
+require conf/distro/include/kaeilos-2009-preferred-versions.inc
require conf/distro/include/preferred-opie-versions-1.2.4.inc
PREFERRED_VERSION_xserver-kdrive = "1.3.0.0"
diff --git a/recipes/antlr/antlr-native_2.7.7.bb b/recipes/antlr/antlr-native_2.7.7.bb
index 871e620b93..3a2bd122eb 100644
--- a/recipes/antlr/antlr-native_2.7.7.bb
+++ b/recipes/antlr/antlr-native_2.7.7.bb
@@ -5,7 +5,7 @@ SRC_URI += "file://runantlr"
inherit java-native
do_configure() {
- sed -i -e"s|@JAR_FILE@|${STAGING_DATADIR_NATIVE}/java/antlr.jar|" ${WORKDIR}/runantlr
+ sed -i -e"s|@JAR_FILE@|${STAGING_DATADIR_JAVA_NATIVE}/antlr.jar|" ${WORKDIR}/runantlr
}
do_stage() {
diff --git a/recipes/classpath/classpath.inc b/recipes/classpath/classpath.inc
index bf630bf569..06e236ca60 100644
--- a/recipes/classpath/classpath.inc
+++ b/recipes/classpath/classpath.inc
@@ -5,7 +5,7 @@ PRIORITY = "optional"
LICENSE = "Classpath"
PBN = "classpath"
-DEPENDS = "virtual/javac-native fastjar-native zip-native gmp"
+DEPENDS = "virtual/javac-native fastjar-native zip-native gmp antlr-native"
RPROVIDES = ""
RDEPENDS_${PN} = "${PBN}-common (>= ${PV})"
@@ -30,6 +30,7 @@ EXTRA_OECONF = "\
--includedir=${includedir}/classpath \
--with-vm=java \
--disable-Werror \
+ --with-antlr-jar=${STAGING_DATADIR_JAVA_NATIVE}/antlr.jar \
"
inherit autotools
diff --git a/recipes/classpath/classpath_0.95.bb b/recipes/classpath/classpath_0.95.bb
index 6952cda72f..ccc1ecee7e 100644
--- a/recipes/classpath/classpath_0.95.bb
+++ b/recipes/classpath/classpath_0.95.bb
@@ -6,7 +6,7 @@ SRC_URI += "\
file://javanet-local.patch;patch=1;pnum=0 \
"
-PR = "r6"
+PR = "r7"
DEPENDS += "gtk+ gconf libxtst"
diff --git a/recipes/classpath/classpath_0.96.1.bb b/recipes/classpath/classpath_0.96.1.bb
index cc3505a293..4e1288ff0b 100644
--- a/recipes/classpath/classpath_0.96.1.bb
+++ b/recipes/classpath/classpath_0.96.1.bb
@@ -6,7 +6,7 @@ SRC_URI += "\
file://javanet-local.patch;patch=1;pnum=0 \
"
-PR = "r8"
+PR = "r9"
DEPENDS += "gtk+ gconf libxtst"
diff --git a/recipes/classpath/classpath_0.97.2.bb b/recipes/classpath/classpath_0.97.2.bb
index 1daaa1aa2c..e3b22fb6c5 100644
--- a/recipes/classpath/classpath_0.97.2.bb
+++ b/recipes/classpath/classpath_0.97.2.bb
@@ -12,7 +12,7 @@ SRC_URI += "\
file://gtk-fix.patch;patch=1;pnum=0 \
"
-PR = "r8"
+PR = "r9"
DEPENDS += "gtk+ gconf libxtst"
diff --git a/recipes/classpath/classpath_0.98.bb b/recipes/classpath/classpath_0.98.bb
index 13f7a72b44..6dc1e9e28b 100644
--- a/recipes/classpath/classpath_0.98.bb
+++ b/recipes/classpath/classpath_0.98.bb
@@ -7,7 +7,7 @@ SRC_URI += "\
file://fix-gmp.patch;patch=1 \
"
-PR = "r1"
+PR = "r2"
DEPENDS += "gtk+ gconf libxtst"
diff --git a/recipes/gmp/files/use-includedir.patch b/recipes/gmp/files/use-includedir.patch
new file mode 100644
index 0000000000..ee3891f807
--- /dev/null
+++ b/recipes/gmp/files/use-includedir.patch
@@ -0,0 +1,13 @@
+Index: gmp-4.2.4/Makefile.am
+===================================================================
+--- gmp-4.2.4.orig/Makefile.am 2008-09-10 19:31:27.000000000 +0000
++++ gmp-4.2.4/Makefile.am 2009-07-06 20:19:19.000000000 +0000
+@@ -106,7 +106,7 @@
+ # but anyone knowledgable enough to be playing with exec_prefix will be able
+ # to address that.
+ #
+-includeexecdir = $(exec_prefix)/include
++includeexecdir = $(includedir)
+ include_HEADERS = $(GMPXX_HEADERS_OPTION)
+ nodist_includeexec_HEADERS = gmp.h $(MPBSD_HEADERS_OPTION)
+ lib_LTLIBRARIES = libgmp.la $(GMPXX_LTLIBRARIES_OPTION) $(MPBSD_LTLIBRARIES_OPTION)
diff --git a/recipes/gmp/gmp-canadian_4.2.4.bb b/recipes/gmp/gmp-canadian_4.2.4.bb
index 27d179a569..63f62ace5e 100644
--- a/recipes/gmp/gmp-canadian_4.2.4.bb
+++ b/recipes/gmp/gmp-canadian_4.2.4.bb
@@ -1,5 +1,6 @@
PV = "4.2.4"
require gmp_${PV}.bb
+PR = "${INC_PR}.1"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gmp-${PV}"
S = "${WORKDIR}/gmp-${PV}"
diff --git a/recipes/gmp/gmp-native_4.2.4.bb b/recipes/gmp/gmp-native_4.2.4.bb
index 1e0ffb4bed..aa927b6854 100644
--- a/recipes/gmp/gmp-native_4.2.4.bb
+++ b/recipes/gmp/gmp-native_4.2.4.bb
@@ -1,2 +1,3 @@
PV = "4.2.4"
require gmp-native.inc
+PR = "${INC_PR}.1"
diff --git a/recipes/gmp/gmp_4.2.4.bb b/recipes/gmp/gmp_4.2.4.bb
index a7aa712ddc..a9c14e6a3f 100644
--- a/recipes/gmp/gmp_4.2.4.bb
+++ b/recipes/gmp/gmp_4.2.4.bb
@@ -1,6 +1,8 @@
-PR = "r0"
+INC_PR = "r0"
+PR = "${INC_PR}.1"
SRC_URI_append += "file://sh4-asmfix.patch;patch=1 \
+ file://use-includedir.patch;patch=1 \
"
require gmp.inc
LICENSE = "GPLv3 LGPLv3"
diff --git a/recipes/linux/linux-2.6.29+2.6.30-rc4/tx25/tx25-can.patch b/recipes/linux/linux-2.6.29+2.6.30-rc4/tx25/tx25-can.patch
new file mode 100644
index 0000000000..dd857d5846
--- /dev/null
+++ b/recipes/linux/linux-2.6.29+2.6.30-rc4/tx25/tx25-can.patch
@@ -0,0 +1,5914 @@
+diff -purN -X linux-2.6.30-rc4-karo/Documentation/dontdiff linux-2.6.30-rc4-karo/arch/arm/mach-mx2/Kconfig linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/Kconfig
+--- linux-2.6.30-rc4-karo/arch/arm/mach-mx2/Kconfig 2009-06-08 11:15:16.000000000 +0200
++++ linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/Kconfig 2009-07-01 11:09:09.000000000 +0200
+@@ -15,6 +15,9 @@ config MACH_MX27
+ bool "i.MX27 support"
+ select ARCH_MXC_IOMUX_V2
+ select ARCH_MXC_HAS_NFC_V1
++ select USB_ARCH_HAS_EHCI
++ select ARCH_MXC_HAS_USBH2
++ select ARCH_MXC_HAS_USBOTG
+ help
+ This enables support for Freescale's MX2 based i.MX27 processor.
+
+@@ -22,6 +25,9 @@ config MACH_MX25
+ bool "i.MX25 support"
+ select ARCH_MXC_IOMUX_V3
+ select ARCH_MXC_HAS_NFC_V1_1
++ select USB_ARCH_HAS_EHCI
++ select ARCH_MXC_HAS_USBH2
++ select ARCH_MXC_HAS_USBOTG
+ select PHYLIB if FEC
+ help
+ This enables support for Freescale's MX2 based i.MX25 processor.
+diff -purN -X linux-2.6.30-rc4-karo/Documentation/dontdiff linux-2.6.30-rc4-karo/arch/arm/mach-mx2/clock_imx25.c linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/clock_imx25.c
+--- linux-2.6.30-rc4-karo/arch/arm/mach-mx2/clock_imx25.c 2009-07-06 17:32:59.000000000 +0200
++++ linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/clock_imx25.c 2009-07-06 15:40:57.000000000 +0200
+@@ -274,37 +274,42 @@ static void _perclk_disable(struct clk *
+ static int _clk_pll_set_rate(struct clk *clk, unsigned long rate)
+ {
+ unsigned long reg;
+- signed long pd = 1; /* Pre-divider */
+- signed long mfi; /* Multiplication Factor (Integer part) */
++ unsigned int pd = 1; /* Pre-divider */
++ unsigned long mfi; /* Multiplication Factor (Integer part) */
+ signed long mfn; /* Multiplication Factor (Integer part) */
+- signed long mfd; /* Multiplication Factor (Denominator Part) */
++ unsigned long mfd; /* Multiplication Factor (Denominator Part) */
+ signed long tmp;
+ unsigned long ref_freq = clk_get_rate(clk->parent);
++ unsigned long err = ~0;
++ int best_mfn = -1;
++ int best_mfd = -1;
+
+ while (((ref_freq / pd) * 10) > rate)
+ pd++;
+
+- /* the ref_freq/2 in the following is to round up */
+- mfi = (((rate / 2) * pd) + (ref_freq / 2)) / ref_freq;
++ mfi = ((rate / 2) * pd) / ref_freq;
+ if (mfi < 5 || mfi > 15)
+ return -EINVAL;
+
+- /* pick a mfd value that will work
+- * then solve for mfn */
+- mfd = ref_freq / 50000;
+-
+- /*
+- * pll_freq * pd * mfd
+- * mfn = -------------------- - (mfi * mfd)
+- * 2 * ref_freq
+- */
+- /* the tmp/2 is for rounding */
+ tmp = ref_freq / 10000;
+- mfn = ((((((rate / 2) + (tmp / 2)) / tmp) * pd) * mfd) / 10000) -
+- (mfi * mfd);
++ for (mfd = 1; mfd <= 1024; mfd++) {
++ unsigned long act_freq;
+
+- printk(KERN_DEBUG "pll freq: %lu PD=%ld MFI=%ld MFD=%ld MFN=%ld (0x%03lx)\n",
+- rate, pd, mfi, mfd, mfn, (mfn + ((mfn < 0) ? 1024 : 0)) & 0x3ff);
++ mfn = ((((((rate / 2) + (tmp - 1)) / tmp) * pd) * mfd) / 10000) -
++ (mfi * mfd);
++
++ act_freq = (2 * ref_freq * mfi + (2 * ref_freq * mfn / mfd)) / pd;
++ act_freq -= rate;
++ if (abs(act_freq) < err) {
++ best_mfn = mfn;
++ best_mfd = mfd;
++ err = abs(act_freq);
++ if (err == 0)
++ break;
++ }
++ }
++ mfn = best_mfn;
++ mfd = best_mfd;
+
+ mfn = (mfn + ((mfn < 0) ? 1024 : 0)) & 0x3ff;
+ pd--;
+@@ -333,7 +338,8 @@ static int _clk_pll_set_rate(struct clk
+ static unsigned long _clk_pll_getrate(struct clk *clk)
+ {
+ unsigned long rate;
+- signed long mfi, mfn, mfd, pdf;
++ unsigned int mfi, mfd, pdf;
++ int mfn;
+ unsigned long ref_clk;
+ unsigned long reg;
+
+@@ -355,6 +361,9 @@ static unsigned long _clk_pll_getrate(st
+ BUG(); /* oops */
+ }
+
++ if (mfn >= 512)
++ mfn = 1024 - mfn;
++
+ mfi = (mfi < 5) ? 5 : mfi;
+ rate = 2LL * ref_clk * mfn;
+ do_div(rate, mfd + 1);
+@@ -436,8 +445,8 @@ static unsigned long _clk_perclkx_getrat
+
+ pcdr = __raw_readl(pcdr_a[clk->id >> 2]);
+
+- perclk_pdf =
+- (pcdr >> ((clk->id & 3) << 3)) & MXC_CCM_PCDR1_PERDIV1_MASK;
++ perclk_pdf = (pcdr >> ((clk->id & 3) << 3)) &
++ MXC_CCM_PCDR1_PERDIV1_MASK;
+
+ return clk_get_rate(clk->parent) / (perclk_pdf + 1);
+ }
+@@ -466,8 +475,6 @@ static int _clk_perclkx_set_rate(struct
+ return -EINVAL;
+
+ div = clk_get_rate(clk->parent) / rate;
+- printk(KERN_DEBUG "%s: perclk[%d] parent_rate=%lu rate=%lu div=%lu\n",
+- __FUNCTION__, clk->id, clk_get_rate(clk->parent), rate, div);
+ if (div > 64 || div < 1 || ((clk_get_rate(clk->parent) / div) != rate))
+ return -EINVAL;
+ div--;
+@@ -542,7 +549,8 @@ static int _clk_perclkx_set_parent3(stru
+
+ static unsigned long _clk_ipg_getrate(struct clk *clk)
+ {
+- return clk_get_rate(clk->parent) / 2; /* Always AHB / 2 */
++ unsigned long rate = clk_get_rate(clk->parent) / 2; /* Always AHB / 2 */
++ return rate;
+ }
+
+ /* Top-level clocks */
+@@ -714,7 +722,7 @@ static struct clk per_clk[] = {
+ },
+ {
+ .id = 5,
+- .parent = &upll_clk, /* can be AHB or UPLL */
++ .parent = &ahb_clk, /* can be AHB or UPLL */
+ .round_rate = _clk_perclkx_round_rate,
+ .set_rate = _clk_perclkx_set_rate,
+ .set_parent = _clk_perclkx_set_parent,
+@@ -1121,7 +1129,7 @@ static struct clk gpt2_clk[] = {
+ {
+ .id = 1,
+ .parent = &per_clk[5],
+- .secondary = &gpt1_clk[1],
++ .secondary = &gpt2_clk[1],
+ },
+ {
+ .id = 1,
+@@ -1137,7 +1145,7 @@ static struct clk gpt3_clk[] = {
+ {
+ .id = 2,
+ .parent = &per_clk[5],
+- .secondary = &gpt1_clk[1],
++ .secondary = &gpt3_clk[1],
+ },
+ {
+ .id = 2,
+@@ -1153,7 +1161,7 @@ static struct clk gpt4_clk[] = {
+ {
+ .id = 3,
+ .parent = &per_clk[5],
+- .secondary = &gpt1_clk[1],
++ .secondary = &gpt4_clk[1],
+ },
+ {
+ .id = 3,
+@@ -1576,9 +1584,9 @@ static int _clk_usb_set_rate(struct clk
+
+ static unsigned long _clk_usb_getrate(struct clk *clk)
+ {
+- unsigned long div =
+- __raw_readl(MXC_CCM_MCR) & MXC_CCM_CCTL_USB_DIV_MASK;
++ unsigned long div;
+
++ div = __raw_readl(MXC_CCM_MCR) & MXC_CCM_CCTL_USB_DIV_MASK;
+ div >>= MXC_CCM_CCTL_USB_DIV_OFFSET;
+
+ return clk_get_rate(clk->parent) / (div + 1);
+@@ -1726,8 +1734,8 @@ static struct clk_lookup lookups[] = {
+ _REGISTER_CLOCK("mxc_nand.0", NULL, nfc_clk)
+ _REGISTER_CLOCK(NULL, "audmux", audmux_clk)
+ _REGISTER_CLOCK(NULL, "ata", ata_clk[0])
+- _REGISTER_CLOCK("mxc-can.0", NULL, can_clk[0])
+- _REGISTER_CLOCK("mxc-can.1", NULL, can_clk[1])
++ _REGISTER_CLOCK("mxc-flexcan.0", NULL, can_clk[0])
++ _REGISTER_CLOCK("mxc-flexcan.1", NULL, can_clk[1])
+ _REGISTER_CLOCK(NULL, "csi", csi_clk[0])
+ _REGISTER_CLOCK(NULL, "cspi.0", cspi_clk[0])
+ _REGISTER_CLOCK(NULL, "cspi.1", cspi_clk[1])
+@@ -1784,12 +1792,8 @@ int __init mx25_clocks_init(unsigned lon
+ {
+ int i;
+
+- for (i = 0; i < ARRAY_SIZE(lookups); i++) {
+- printk(KERN_DEBUG "Registering clock '%s' '%s'\n",
+- lookups[i].dev_id ? lookups[i].dev_id : "",
+- lookups[i].con_id ? lookups[i].con_id : "");
++ for (i = 0; i < ARRAY_SIZE(lookups); i++)
+ clkdev_add(&lookups[i]);
+- }
+
+ ckih_rate = fref;
+ #ifndef CONFIG_DEBUG_LL
+@@ -1825,23 +1829,19 @@ int __init mx25_clocks_init(unsigned lon
+ }
+ }
+ }
+-#endif
++
+ /* the NFC clock must be derived from AHB clock */
+ clk_set_parent(&per_clk[8], &ahb_clk);
++#endif
+ clk_set_rate(&per_clk[8], clk_get_rate(&ahb_clk) / 6);
++ clk_set_rate(&per_clk[7], clk_get_rate(per_clk[7].parent));
+
+ /* This will propagate to all children and init all the clock rates */
+ #ifdef CONFIG_DEBUG_LL
+ clk_enable(&uart1_clk[0]);
+ #endif
+ clk_enable(&emi_clk);
+- clk_enable(&gpio_clk[0]);
+- clk_enable(&gpio_clk[1]);
+- clk_enable(&gpio_clk[2]);
+ clk_enable(&iim_clk);
+- clk_enable(&gpt1_clk[0]);
+- clk_enable(&iomuxc_clk);
+- clk_enable(&scc_clk);
+
+ pr_info("Clock input source is %ld\n", clk_get_rate(&osc24m_clk));
+
+@@ -1856,6 +1856,6 @@ int __init mx25_clocks_init(unsigned lon
+ clk_set_rate(&mpll_clk, clk_get_rate(&mpll_clk));
+ clk_set_rate(&upll_clk, clk_get_rate(&upll_clk));
+
+- mxc_timer_init(&gpt1_clk[0]);
++ mxc_timer_init(&gpt1_clk[1]);
+ return 0;
+ }
+diff -purN -X linux-2.6.30-rc4-karo/Documentation/dontdiff linux-2.6.30-rc4-karo/arch/arm/mach-mx2/devices.h linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/devices.h
+--- linux-2.6.30-rc4-karo/arch/arm/mach-mx2/devices.h 2009-06-02 17:59:16.000000000 +0200
++++ linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/devices.h 2009-07-01 11:10:15.000000000 +0200
+@@ -20,6 +20,9 @@ extern struct platform_device mxc_i2c_de
+ extern struct platform_device mxc_i2c_device1;
+ extern struct platform_device mxc_sdhc_device0;
+ extern struct platform_device mxc_sdhc_device1;
++extern struct platform_device mxc_usbh1_device;
++extern struct platform_device mxc_usbh2_device;
++extern struct platform_device mxc_usbotg_device;
+ #ifdef CONFIG_MACH_MX25
+ extern struct platform_device mx25_i2c_device0;
+ extern struct platform_device mx25_i2c_device1;
+diff -purN -X linux-2.6.30-rc4-karo/Documentation/dontdiff linux-2.6.30-rc4-karo/arch/arm/mach-mx2/devices_mx25.c linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/devices_mx25.c
+--- linux-2.6.30-rc4-karo/arch/arm/mach-mx2/devices_mx25.c 2009-06-02 17:59:17.000000000 +0200
++++ linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/devices_mx25.c 2009-06-29 10:48:40.000000000 +0200
+@@ -142,12 +142,12 @@ struct platform_device mxc_fb_device = {
+ * Resource definition for the CSPI1
+ */
+ static struct resource mx25_spi1_resources[] = {
+- [0] = {
++ {
+ .start = CSPI1_BASE_ADDR,
+ .end = CSPI1_BASE_ADDR + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+- [1] = {
++ {
+ .start = MXC_INT_CSPI1,
+ .end = MXC_INT_CSPI1,
+ .flags = IORESOURCE_IRQ,
+@@ -178,12 +178,12 @@ static struct platform_device mx25_spi1_
+ * Resource definition for the CSPI2
+ */
+ static struct resource mx25_spi2_resources[] = {
+- [0] = {
++ {
+ .start = CSPI2_BASE_ADDR,
+ .end = CSPI2_BASE_ADDR + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+- [1] = {
++ {
+ .start = MXC_INT_CSPI2,
+ .end = MXC_INT_CSPI2,
+ .flags = IORESOURCE_IRQ,
+@@ -213,12 +213,12 @@ static struct platform_device mx25_spi2_
+ * Resource definition for the CSPI3
+ */
+ static struct resource mx25_spi3_resources[] = {
+- [0] = {
++ {
+ .start = CSPI3_BASE_ADDR,
+ .end = CSPI3_BASE_ADDR + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+- [1] = {
++ {
+ .start = MXC_INT_CSPI3,
+ .end = MXC_INT_CSPI3,
+ .flags = IORESOURCE_IRQ,
+@@ -267,6 +267,56 @@ static inline void mx25_init_spi(void)
+ }
+ #endif
+
++#if defined(CONFIG_USB_EHCI_MXC) || defined(CONFIG_USB_EHCI_MXC_MODULE)
++static struct resource mxc_usbotg_resources[] = {
++ {
++ .start = OTG_BASE_ADDR,
++ .end = OTG_BASE_ADDR + 0x1ff,
++ .flags = IORESOURCE_MEM,
++ }, {
++ .start = MXC_INT_USB_OTG,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static u64 usbotg_dmamask = (u32)~0;
++
++struct platform_device mxc_usbotg_device = {
++ .name = "mxc-ehci",
++ .id = 0,
++ .dev = {
++ .coherent_dma_mask = 0xffffffff,
++ .dma_mask = &usbotg_dmamask,
++ },
++ .num_resources = ARRAY_SIZE(mxc_usbotg_resources),
++ .resource = mxc_usbotg_resources,
++};
++
++static struct resource mxc_usbh2_resources[] = {
++ {
++ .start = USBH2_BASE_ADDR,
++ .end = USBH2_BASE_ADDR + 0x1ff,
++ .flags = IORESOURCE_MEM,
++ }, {
++ .start = MXC_INT_USB_H2,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static u64 usbh2_dmamask = (u32)~0;
++
++struct platform_device mxc_usbh2_device = {
++ .name = "mxc-ehci",
++ .id = 1,
++ .dev = {
++ .coherent_dma_mask = 0xffffffff,
++ .dma_mask = &usbh2_dmamask,
++ },
++ .num_resources = ARRAY_SIZE(mxc_usbh2_resources),
++ .resource = mxc_usbh2_resources,
++};
++#endif
++
+ /* I2C controller and device data */
+ #if defined(CONFIG_I2C_IMX) || defined(CONFIG_I2C_IMX_MODULE)
+
+@@ -274,12 +324,12 @@ static inline void mx25_init_spi(void)
+ * Resource definition for the I2C1
+ */
+ static struct resource mx25_i2c1_resources[] = {
+- [0] = {
++ {
+ .start = I2C_BASE_ADDR,
+ .end = I2C_BASE_ADDR + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+- [1] = {
++ {
+ .start = MXC_INT_I2C,
+ .end = MXC_INT_I2C,
+ .flags = IORESOURCE_IRQ,
+@@ -290,12 +340,12 @@ static struct resource mx25_i2c1_resourc
+ * Resource definition for the I2C2
+ */
+ static struct resource mx25_i2c2_resources[] = {
+- [0] = {
++ {
+ .start = I2C2_BASE_ADDR,
+ .end = I2C2_BASE_ADDR + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+- [1] = {
++ {
+ .start = MXC_INT_I2C2,
+ .end = MXC_INT_I2C2,
+ .flags = IORESOURCE_IRQ,
+@@ -306,12 +356,12 @@ static struct resource mx25_i2c2_resourc
+ * Resource definition for the I2C3
+ */
+ static struct resource mx25_i2c3_resources[] = {
+- [0] = {
++ {
+ .start = I2C3_BASE_ADDR,
+ .end = I2C3_BASE_ADDR + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+- [1] = {
++ {
+ .start = MXC_INT_I2C3,
+ .end = MXC_INT_I2C3,
+ .flags = IORESOURCE_IRQ,
+diff -purN -X linux-2.6.30-rc4-karo/Documentation/dontdiff linux-2.6.30-rc4-karo/arch/arm/mach-mx2/karo-tx25.c linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/karo-tx25.c
+--- linux-2.6.30-rc4-karo/arch/arm/mach-mx2/karo-tx25.c 2009-07-06 17:32:59.000000000 +0200
++++ linux-2.6.30-rc4-karo2/arch/arm/mach-mx2/karo-tx25.c 2009-07-06 16:02:49.000000000 +0200
+@@ -31,8 +31,6 @@
+ #include <linux/clk.h>
+ #include <linux/delay.h>
+ #include <linux/fb.h>
+-//#include <linux/i2c.h>
+-//#include <linux/i2c/at24.h>
+ #include <linux/spi/spi.h>
+ #include <linux/serial_8250.h>
+ #include <linux/fec_enet.h>
+@@ -61,15 +59,12 @@
+ #include <mach/irqs.h>
+ #include <mach/clock.h>
+ #include <mach/imxfb.h>
+-//#include <mach/imx_spi.h>
+-//#include <mach/i2c.h>
+ #include <mach/mmc.h>
+ #include <mach/imx-uart.h>
+ #include <mach/mxc_nand.h>
+-//#include <mach/ulpi.h>
+-//#include <mach/mxc_ehci.h>
+-//#include <mach/board-tx25.h>
++#include <mach/mxc_ehci.h>
+ #include <mach/mxc_tsadcc.h>
++#include <mach/mxc_can.h>
+
+ #include "crm_regs.h"
+ #include "devices.h"
+@@ -83,161 +78,172 @@ static int tx25_debug;
+ module_param(tx25_debug, int, 0);
+ #endif
+
+-//#include "karo.h"
+-
+ int karo_board_type = 0;
+ int karo_mod_type = -1;
+
+
+-#ifdef CONFIG_USB_EHCI_MXC
+-
+-#define SMSC_VENDOR_ID 0x0424
+-#define USB3317_PROD_ID 0x0006
+-#define ULPI_FCTL 7
+-
+-static inline const char *ulpi_name(void __iomem *view)
+-{
+- if ((unsigned long)view & 0x400) {
+- return "USBH2";
+- } else {
+- return "USBOTG";
+- }
+-}
+-
+-static int usb3317_init(void __iomem *view)
++static int karo_tx25_gpio_config(struct pad_desc *pd, int num)
+ {
+- int vid, pid, ret;
+-#if 1
+- /* This is a kludge until we know why we sometimes read a wrong
+- * vendor or product ID!
+- */
+- int retries = 3;
+-
+- retry:
+-#endif
+- ret = ulpi_read(ISP1504_VID_HIGH, view);
+- if (ret < 0) {
+- goto err;
+- }
+- vid = ret << 8;
++ int ret;
++ int i;
++ int count = 0;
+
+- ret = ulpi_read(ISP1504_