summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/include/preferred-om-2008-versions.inc15
-rw-r--r--conf/distro/include/sane-srcrevs.inc3
-rw-r--r--conf/distro/openmoko.conf3
-rw-r--r--packages/apt/apt-native_0.6.46.2.bb2
-rw-r--r--packages/apt/apt-native_0.7.2.bb2
-rw-r--r--packages/apt/apt-native_0.7.3.bb2
-rw-r--r--packages/apt/apt-package.inc1
-rw-r--r--packages/apt/apt_0.5.28.6.bb2
-rw-r--r--packages/apt/apt_0.6.25.bb2
-rw-r--r--packages/apt/apt_0.6.46.2.bb2
-rw-r--r--packages/apt/apt_0.7.2.bb2
-rw-r--r--packages/apt/apt_0.7.3.bb2
-rw-r--r--packages/cacao/cacaoh-cldc-native_0.98.bb10
-rw-r--r--packages/dbus-java/dbus-java_2.3.bb9
-rw-r--r--packages/dbus-java/dbus-java_2.4.bb9
-rw-r--r--packages/dbus-java/dbus-java_2.5.bb87
-rw-r--r--packages/dhcp/dhcp_3.0.1.bb5
-rw-r--r--packages/dhcp/dhcp_3.0.2.bb5
-rw-r--r--packages/efl1/imlib2_cvs.bb1
-rw-r--r--packages/ffmpeg/ffmpeg_git.bb4
-rw-r--r--packages/ffmpeg/omapfbplay_git.bb2
-rw-r--r--packages/flumotion/flumotion_0.4.1.bb2
-rw-r--r--packages/freesmartphone/frameworkd/om-gta01/frameworkd.conf5
-rw-r--r--packages/freesmartphone/illume-theme-freesmartphone_git.bb20
-rw-r--r--packages/gettext/gettext_0.17.bb11
-rw-r--r--packages/gnash/files/libintl.patch13
-rw-r--r--packages/gnash/gnash-minimal.inc2
-rw-r--r--packages/gnash/gnash-minimal_0.8.2.bb1
-rw-r--r--packages/gnash/gnash-minimal_0.8.3.bb4
-rw-r--r--packages/gnash/gnash-minimal_cvs.bb2
-rw-r--r--packages/gpe-memo/.mtn2git_empty (renamed from packages/maemo/hildon-home/.mtn2git_empty)0
-rw-r--r--packages/gpe-memo/gpe-memo_0.2.bb9
-rw-r--r--packages/gstreamer/gst-ffmpeg/autotools.patch21
-rw-r--r--packages/gstreamer/gst-ffmpeg_0.10.2.bb6
-rw-r--r--packages/gstreamer/gst-ffmpeg_0.10.4.bb2
-rw-r--r--packages/images/fso-image.bb1
-rw-r--r--packages/maemo4/osso-gnome-vfs2_2.16.3.bb3
-rw-r--r--packages/midpath/midpath-backend-qt3x11_0.2+0.3rc1.bb2
-rw-r--r--packages/midpath/midpath-backend-qt4x11_0.2+0.3rc1.bb2
-rw-r--r--packages/midpath/midpath-backend-qte_0.2+0.3rc1.bb2
-rw-r--r--packages/nandlogical/nandlogical-static_1.0.0.bb5
-rw-r--r--packages/nandlogical/nandlogical_1.0.0.bb2
-rw-r--r--packages/nonworking/gpe-contacts/.mtn2git_empty (renamed from packages/maemo/hildon-initscripts/.mtn2git_empty)0
-rw-r--r--packages/nonworking/gpe-contacts/gpe-contacts-hildon_0.40.bb (renamed from packages/gpe-contacts/gpe-contacts-hildon_0.40.bb)0
-rw-r--r--packages/nonworking/gpe-contacts/gpe-contacts-hildon_0.42.bb (renamed from packages/gpe-contacts/gpe-contacts-hildon_0.42.bb)0
-rw-r--r--packages/nonworking/maemo/.mtn2git_empty (renamed from packages/maemo/hildon-lgpl/.mtn2git_empty)0
-rw-r--r--packages/nonworking/maemo/hildon-base-lib_0.8.6-2.bb (renamed from packages/maemo/hildon-base-lib_0.8.6-2.bb)0
-rw-r--r--packages/nonworking/maemo/hildon-fm_0.9.1-2.bb (renamed from packages/maemo/hildon-fm_0.9.1-2.bb)0
-rw-r--r--packages/nonworking/maemo/hildon-home/.mtn2git_empty (renamed from packages/maemo/hildon-libs/.mtn2git_empty)0
-rw-r--r--packages/nonworking/maemo/hildon-home/noWerror.patch (renamed from packages/maemo/hildon-home/noWerror.patch)0
-rw-r--r--packages/nonworking/maemo/hildon-home/source.patch (renamed from packages/maemo/hildon-home/source.patch)0
-rw-r--r--packages/nonworking/maemo/hildon-home_0.8.20-2.bb (renamed from packages/maemo/hildon-home_0.8.20-2.bb)0
-rw-r--r--packages/nonworking/maemo/hildon-initscripts/.mtn2git_empty (renamed from packages/maemo/hildon-navigator/.mtn2git_empty)0
-rw-r--r--packages/nonworking/maemo/hildon-initscripts/hildon-initscripts-source.patch (renamed from packages/maemo/hildon-initscripts/hildon-initscripts-source.patch)0
-rw-r--r--packages/nonworking/maemo/hildon-initscripts_0.8.14-1.bb (renamed from packages/maemo/hildon-initscripts_0.8.14-1.bb)0
-rw-r--r--packages/nonworking/maemo/hildon-lgpl/.mtn2git_empty (renamed from packages/maemo/sapwood/.mtn2git_empty)0
-rw-r--r--packages/nonworking/maemo/hildon-lgpl/hildon-lgpl-noWerror.patch (renamed from packages/maemo/hildon-lgpl/hildon-lgpl-noWerror.patch)0
-rw-r--r--packages/nonworking/maemo/hildon-lgpl_0.9.14-2.bb (renamed from packages/maemo/hildon-lgpl_0.9.14-2.bb)0
-rw-r--r--packages/nonworking/maemo/hildon-libs/.mtn2git_empty (renamed from packages/python/python-pygame-1.7.1/.mtn2git_empty)0
-rw-r--r--packages/nonworking/maemo/hildon-libs/hildon-libs-no-werror.patch (renamed from packages/maemo/hildon-libs/hildon-libs-no-werror.patch)0
-rw-r--r--packages/nonworking/maemo/hildon-libs_0.9.6-2.bb (renamed from packages/maemo/hildon-libs_0.9.6-2.bb)0
-rw-r--r--packages/nonworking/maemo/hildon-navigator/.mtn2git_empty0
-rw-r--r--packages/nonworking/maemo/hildon-navigator/source.patch (renamed from packages/maemo/hildon-navigator/source.patch)0
-rw-r--r--packages/nonworking/maemo/hildon-navigator_0.9.6-2.bb (renamed from packages/maemo/hildon-navigator_0.9.6-2.bb)0
-rw-r--r--packages/nonworking/maemo/osso-screenshot-tool_1.20-1.bb (renamed from packages/maemo/osso-screenshot-tool_1.20-1.bb)0
-rw-r--r--packages/nonworking/maemo/osso-thumbnail_0.3.1-1.bb (renamed from packages/maemo/osso-thumbnail_0.3.1-1.bb)0
-rw-r--r--packages/nonworking/maemo/sapwood/.mtn2git_empty0
-rw-r--r--packages/nonworking/maemo/sapwood/cflags.patch (renamed from packages/maemo/sapwood/cflags.patch)0
-rw-r--r--packages/nonworking/maemo/sapwood/sockets.patch (renamed from packages/maemo/sapwood/sockets.patch)0
-rw-r--r--packages/nonworking/maemo/sapwood_1.20-1.bb (renamed from packages/maemo/sapwood_1.20-1.bb)0
-rw-r--r--packages/openjade/openjade-native_1.3.2.bb6
-rw-r--r--packages/openjade/openjade_1.3.2.bb6
-rw-r--r--packages/openmax/libomxil-bellagio_0.9.0.bb2
-rw-r--r--packages/openmoko2/openmoko-icon-theme-standard2-qvga_svn.bb2
-rw-r--r--packages/phoneme/phoneme-advanced.inc6
-rw-r--r--packages/proxy-libintl/.mtn2git_empty0
-rw-r--r--packages/proxy-libintl/proxy-libintl-20080418/.mtn2git_empty0
-rw-r--r--packages/proxy-libintl/proxy-libintl-20080418/stub-only.patch72
-rw-r--r--packages/proxy-libintl/proxy-libintl_20080418.bb46
-rw-r--r--packages/python/python-pycap_0.1.6.bb2
-rw-r--r--packages/python/python-pygame-1.7.1/Setup57
-rw-r--r--packages/python/python-pygame-1.8.1/.mtn2git_empty0
-rw-r--r--packages/python/python-pygame-1.8.1/Setup64
-rw-r--r--packages/python/python-pygame_1.8.1.bb (renamed from packages/python/python-pygame_1.7.1.bb)17
-rw-r--r--packages/sugar/.mtn2git_empty0
-rw-r--r--packages/sugar/sugar-toolkit_0.82.1.bb15
-rw-r--r--packages/sugar/sugar_0.82.0.bb25
-rw-r--r--packages/sysstat/.mtn2git_empty0
-rw-r--r--packages/sysstat/sysstat_8.1.5.bb15
-rw-r--r--packages/tangogps/files/0004-Update-fix-timestamp-from-gypsy.patch18
-rw-r--r--packages/tangogps/tangogps-fso_0.9.2.bb3
-rw-r--r--packages/tasks/task-openmoko-feed.bb57
-rw-r--r--packages/tasks/task-slugos.bb1
-rw-r--r--packages/telepathy/telepathy-python_0.14.0.bb2
-rw-r--r--packages/u-boot/u-boot-git/akita/.mtn2git_empty0
-rw-r--r--packages/u-boot/u-boot-git/akita/akita-standard-partitioning.patch112
-rw-r--r--packages/u-boot/u-boot-git/c7x0/.mtn2git_empty0
-rw-r--r--packages/u-boot/u-boot-git/c7x0/corgi-standard-partitioning.patch112
-rw-r--r--packages/u-boot/u-boot-git/pdaXrom-u-boot.patch4934
-rw-r--r--packages/u-boot/u-boot-git/uboot-eabi-fix-HACK2.patch94
-rw-r--r--packages/u-boot/u-boot_git.bb12
-rw-r--r--packages/xmms-embedded/xmms-embedded_20040327.bb2
102 files changed, 5823 insertions, 144 deletions
diff --git a/conf/distro/include/preferred-om-2008-versions.inc b/conf/distro/include/preferred-om-2008-versions.inc
index 29f44374e2..25ca605961 100644
--- a/conf/distro/include/preferred-om-2008-versions.inc
+++ b/conf/distro/include/preferred-om-2008-versions.inc
@@ -202,7 +202,7 @@ PREFERRED_VERSION_ctrlproxy ?= "2.6.2"
PREFERRED_VERSION_cumulus ?= "1.2.1"
PREFERRED_VERSION_cups ?= "1.2.12"
PREFERRED_VERSION_curl ?= "7.18.2"
-PREFERRED_VERSION_curl-native ?= "7.18.0"
+PREFERRED_VERSION_curl-native ?= "7.18.2"
PREFERRED_VERSION_custominput ?= "1.1.0"
PREFERRED_VERSION_cvs ?= "1.12.9"
PREFERRED_VERSION_cxcrypt ?= "1.0"
@@ -222,8 +222,8 @@ PREFERRED_VERSION_dbh ?= "1.0-18"
PREFERRED_VERSION_db-native ?= "4.3.29"
PREFERRED_VERSION_dbus ?= "1.2.1"
PREFERRED_VERSION_dbus-native ?= "1.2.1"
-PREFERRED_VERSION_dbus-glib ?= "0.74"
-PREFERRED_VERSION_dbus-glib-native ?= "0.74"
+PREFERRED_VERSION_dbus-glib ?= "0.76"
+PREFERRED_VERSION_dbus-glib-native ?= "0.76"
PREFERRED_VERSION_dbus-native ?= "1.0.3"
PREFERRED_VERSION_dbus-python ?= "0.71"
PREFERRED_VERSION_dcetest ?= "1.2"
@@ -323,7 +323,8 @@ PREFERRED_VERSION_e-uae ?= "0.8.28"
PREFERRED_VERSION_eventlog ?= "0.2.5"
PREFERRED_VERSION_evieext ?= "1.0.2"
PREFERRED_VERSION_evince ?= "2.20.0"
-PREFERRED_VERSION_e-wm ?= "0.16.999.041"
+# The only e-wm recipe is a cvs one with SRCDATE floating!
+# PREFERRED_VERSION_e-wm ?= "0.16.999.042"
PREFERRED_VERSION_exiv2 ?= "0.15"
PREFERRED_VERSION_exmap-console ?= "0.4.1"
PREFERRED_VERSION_exml ?= "cvs"
@@ -1107,7 +1108,7 @@ PREFERRED_VERSION_libxscrnsaver ?= "1.1.2"
PREFERRED_VERSION_libxsettings ?= "0.11"
PREFERRED_VERSION_libxsettings-client ?= "0.17"
PREFERRED_VERSION_libxslt ?= "1.1.22"
-PREFERRED_VERSION_libxslt-native ?= "1.1.22"
+PREFERRED_VERSION_libxslt-native ?= "1.1.21"
PREFERRED_VERSION_libxt ?= "1.0.5"
PREFERRED_VERSION_libxtrap ?= "1.0.0"
PREFERRED_VERSION_libxtst ?= "1.0.3"
@@ -1538,7 +1539,7 @@ PREFERRED_VERSION_python-pycurl ?= "7.18.2"
PREFERRED_VERSION_python-pyephem ?= "3.7.2a"
PREFERRED_VERSION_python-pyfits ?= "1.1"
PREFERRED_VERSION_python-pyflakes ?= "0.2.1"
-PREFERRED_VERSION_python-pygame ?= "1.7.1"
+PREFERRED_VERSION_python-pygame ?= "1.8.1"
PREFERRED_VERSION_python-pygnome ?= "2.16.2"
PREFERRED_VERSION_python-pygobject ?= "2.14.2"
PREFERRED_VERSION_python-pygobject-native ?= "2.14.2"
@@ -1892,7 +1893,7 @@ PREFERRED_VERSION_ubahnnav ?= "0.4.1"
PREFERRED_VERSION_u-boot ?= "1.2.0"
PREFERRED_VERSION_u-boot-omap2430sdp ?= "1.1.4"
PREFERRED_VERSION_u-boot-utils ?= "1.2.0"
-PREFERRED_VERSION_udev ?= "115"
+PREFERRED_VERSION_udev ?= "092"
PREFERRED_VERSION_udev-hostap-cs-vcc-workaround ?= "1.0"
PREFERRED_VERSION_udhcp ?= "0.9.8"
PREFERRED_VERSION_ufraw ?= "0.12"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index eed6e42df5..958b141c71 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -49,7 +49,7 @@ SRCREV_pn-gypsy ?= "134"
SRCREV_pn-hildon-1 ?= "14429"
SRCREV_pn-illume ?= "170"
SRCREV_pn-illume-theme-asu ?= "170"
-SRCREV_pn-illume-theme-freesmartphone ?= "0f27c0b52b8dad255349e6c72d590fa787be8c3b"
+SRCREV_pn-illume-theme-freesmartphone ?= "da904c73236ced2b04c272af5178eab4d66f144d"
SRCREV_pn-kismet ?= "2285"
SRCREV_pn-kismet-newcore ?= "2285"
SRCREV_pn-libcalenabler2 ?= "1410"
@@ -57,6 +57,7 @@ SRCREV_pn-libexalt ?= "78"
SRCREV_pn-libexalt-dbus ?= "76"
SRCREV_pn-libfakekey ?= "1455"
SRCREV_pn-libgsmd ?= "4335"
+SRCREV_pn-libiac ?= "1590"
SRCREV_pn-libjana ?= "704"
SRCREV_pn-libmokogsmd2 ?= "4334"
SRCREV_pn-libmokojournal2 ?= "3473"
diff --git a/conf/distro/openmoko.conf b/conf/distro/openmoko.conf
index 320d9c057b..6b2531b381 100644
--- a/conf/distro/openmoko.conf
+++ b/conf/distro/openmoko.conf
@@ -65,6 +65,9 @@ PREFERRED_PROVIDER_virtual/java-initial = "cacao-initial"
PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk"
PREFERRED_PROVIDER_midpath = "midpath-openmoko"
+# We don't use this, but select one to shut bitbake up.
+PREFERRED_PROVIDER_virtual/libqte2 = "qte"
+
# deploy gta01 and gta02 in ${MACHINE_CLASS} directory
DEPLOY_DIR_IMAGE_om-gta01 = "${DEPLOY_DIR}/images/${MACHINE_CLASS}"
DEPLOY_DIR_IMAGE_om-gta02 = "${DEPLOY_DIR}/images/${MACHINE_CLASS}"
diff --git a/packages/apt/apt-native_0.6.46.2.bb b/packages/apt/apt-native_0.6.46.2.bb
index 3342618aa9..6db567f987 100644
--- a/packages/apt/apt-native_0.6.46.2.bb
+++ b/packages/apt/apt-native_0.6.46.2.bb
@@ -1,5 +1,5 @@
require apt-native.inc
-PR = "r1"
+PR = "r2"
SRC_URI += "file://nodoc.patch;patch=1 \
file://noconfigure.patch;patch=1"
diff --git a/packages/apt/apt-native_0.7.2.bb b/packages/apt/apt-native_0.7.2.bb
index 6db567f987..7bf69c01af 100644
--- a/packages/apt/apt-native_0.7.2.bb
+++ b/packages/apt/apt-native_0.7.2.bb
@@ -1,5 +1,5 @@
require apt-native.inc
-PR = "r2"
+PR = "r3"
SRC_URI += "file://nodoc.patch;patch=1 \
file://noconfigure.patch;patch=1"
diff --git a/packages/apt/apt-native_0.7.3.bb b/packages/apt/apt-native_0.7.3.bb
index 7bf69c01af..4b6897fa44 100644
--- a/packages/apt/apt-native_0.7.3.bb
+++ b/packages/apt/apt-native_0.7.3.bb
@@ -1,5 +1,5 @@
require apt-native.inc
-PR = "r3"
+PR = "r4"
SRC_URI += "file://nodoc.patch;patch=1 \
file://noconfigure.patch;patch=1"
diff --git a/packages/apt/apt-package.inc b/packages/apt/apt-package.inc
index 43f54cadab..605eb956af 100644
--- a/packages/apt/apt-package.inc
+++ b/packages/apt/apt-package.inc
@@ -58,6 +58,7 @@ FILES_${PN} = "${bindir}/apt-cdrom ${bindir}/apt-get \
${libdir}/apt ${libdir}/libapt*.so.* \
${localstatedir} ${sysconfdir} \
${libdir}/dpkg"
+FILES_${PN}-dbg += = "${libdir}/apt/*/.debug"
FILES_${PN}-utils = "${bindir}/apt-sortpkgs ${bindir}/apt-extracttemplates"
FILES_${PN}-doc = "${@get_files_apt_doc(d, bb, bb.data.getVar('apt-manpages', d, 1))} \
${docdir}/apt"
diff --git a/packages/apt/apt_0.5.28.6.bb b/packages/apt/apt_0.5.28.6.bb
index d898a572ec..92f80ef031 100644
--- a/packages/apt/apt_0.5.28.6.bb
+++ b/packages/apt/apt_0.5.28.6.bb
@@ -1,5 +1,5 @@
require apt.inc
-PR = "r1"
+PR = "r2"
SRC_URI += "file://autofoo.patch;patch=1"
diff --git a/packages/apt/apt_0.6.25.bb b/packages/apt/apt_0.6.25.bb
index 03ecaaee85..23c9829f21 100644
--- a/packages/apt/apt_0.6.25.bb
+++ b/packages/apt/apt_0.6.25.bb
@@ -1,6 +1,6 @@
require apt.inc
+PR = "r3"
-PR = "r2"
SRC_URI += "file://autofoo.patch;patch=1"
inherit autotools gettext
diff --git a/packages/apt/apt_0.6.46.2.bb b/packages/apt/apt_0.6.46.2.bb
index 24023f2a58..6410ec7683 100644
--- a/packages/apt/apt_0.6.46.2.bb
+++ b/packages/apt/apt_0.6.46.2.bb
@@ -1,4 +1,5 @@
require apt.inc
+PR = "r2"
SRC_URI += "file://nodoc.patch;patch=1"
@@ -7,5 +8,4 @@ require apt-package.inc
FILES_${PN} += "${bindir}/apt-key"
apt-manpages += "doc/apt-key.8"
-PR = "r1"
diff --git a/packages/apt/apt_0.7.2.bb b/packages/apt/apt_0.7.2.bb
index 2a7f963d2f..7f6bb81f6e 100644
--- a/packages/apt/apt_0.7.2.bb
+++ b/packages/apt/apt_0.7.2.bb
@@ -1,5 +1,5 @@
require apt.inc
-PR = "r2"
+PR = "r3"
SRC_URI += "file://nodoc.patch;patch=1"
diff --git a/packages/apt/apt_0.7.3.bb b/packages/apt/apt_0.7.3.bb
index c4cf06544b..7f6bb81f6e 100644
--- a/packages/apt/apt_0.7.3.bb
+++ b/packages/apt/apt_0.7.3.bb
@@ -1,5 +1,5 @@
require apt.inc
-PR = "r1"
+PR = "r3"
SRC_URI += "file://nodoc.patch;patch=1"
diff --git a/packages/cacao/cacaoh-cldc-native_0.98.bb b/packages/cacao/cacaoh-cldc-native_0.98.bb
index e2c92cc328..eac95b8ace 100644
--- a/packages/cacao/cacaoh-cldc-native_0.98.bb
+++ b/packages/cacao/cacaoh-cldc-native_0.98.bb
@@ -1,19 +1,9 @@
require cacaoh-native.inc
-DEPENDS += "midpath-cldc-native"
-
SRC_URI = "\
http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2;md5sum=8b8907c8b925761c9410bcadb9705346 \
"
-EXTRA_OECONF += "\
- --with-classpath-includedir=${STAGING_INCDIR}/classpath \
- --enable-jni \
- --enable-java=cldc1.1 \
- --with-classpath=cldc1.1 \
- --with-classpath-classes=${STAGING_DATADIR}/midpath-cldc/midpath-cldc1.1.jar \
-"
-
do_stage() {
install -m 0755 src/cacaoh/.libs/cacaoh ${STAGING_BINDIR}/cacaoh-cldc-${PV}
}
diff --git a/packages/dbus-java/dbus-java_2.3.bb b/packages/dbus-java/dbus-java_2.3.bb
index 756dd9ffe9..8ed5c44d94 100644
--- a/packages/dbus-java/dbus-java_2.3.bb
+++ b/packages/dbus-java/dbus-java_2.3.bb
@@ -20,10 +20,15 @@ RSUGGESTS_libdbus-java = "libunixsocket-java dbus"
RDEPENDS_dbus-java-viewer = "java2-runtime libunixsocket-java ${JPN}"
RDEPENDS_dbus-java-bin = "java2-runtime libunixsocket-java ${JPN}"
+# jamvm-native unfortunately contains non-generificed java/lang/reflect classes
+# which are accessed in this package. Work around this by setting the bootclasspath
+# explicitly.
+JCFLAGS = "-bootclasspath ${STAGING_DATADIR}/classpath/glibj.zip"
+
do_compile () {
# run target .binclasses first to fix a brokenness in the Makefile
oe_runmake \
- JCFLAGS="-source 1.5" \
+ JCFLAGS="-source 1.5 ${JCFLAGS}" \
JAVAC="javac" \
JARPREFIX="${STAGING_DATADIR_JAVA}" \
JAVAUNIXJARDIR="${STAGING_DATADIR_JAVA}" \
@@ -32,7 +37,7 @@ do_compile () {
.binclasses
oe_runmake \
- JCFLAGS="-source 1.5" \
+ JCFLAGS="-source 1.5 ${JCFLAGS}" \
JAVAC="javac" \
JARPREFIX="${STAGING_DATADIR_JAVA}" \
JAVAUNIXJARDIR="${STAGING_DATADIR_JAVA}" \
diff --git a/packages/dbus-java/dbus-java_2.4.bb b/packages/dbus-java/dbus-java_2.4.bb
index 17b7ccec68..37c539b20e 100644
--- a/packages/dbus-java/dbus-java_2.4.bb
+++ b/packages/dbus-java/dbus-java_2.4.bb
@@ -17,10 +17,15 @@ S = "${WORKDIR}/dbus-java-${PV}"
inherit java-library
+# jamvm-native unfortunately contains non-generificed java/lang/reflect classes
+# which are accessed in this package. Work around this by setting the bootclasspath
+# explicitly.
+JCFLAGS = "-bootclasspath ${STAGING_DATADIR}/classpath/glibj.zip"
+
do_compile () {
# run target .binclasses first to fix a brokenness in the Makefile
oe_runmake \
- JCFLAGS="-source 1.5" \
+ JCFLAGS="-source 1.5 ${JCFLAGS}" \
JAVAC="javac" \
JARPREFIX="${STAGING_DATADIR_JAVA}" \
JAVAUNIXJARDIR="${STAGING_DATADIR_JAVA}" \
@@ -28,7 +33,7 @@ do_compile () {
JAR="fastjar" \
.binclasses
oe_runmake \
- JCFLAGS="-source 1.5" \
+ JCFLAGS="-source 1.5 ${JCFLAGS}" \
JAVAC="javac" \
JARPREFIX="${STAGING_DATADIR_JAVA}" \
JAVAUNIXJARDIR="${STAGING_DATADIR_JAVA}" \
diff --git a/packages/dbus-java/dbus-java_2.5.bb b/packages/dbus-java/dbus-java_2.5.bb
new file mode 100644
index 0000000000..ef783c905d
--- /dev/null
+++ b/packages/dbus-java/dbus-java_2.5.bb
@@ -0,0 +1,87 @@
+DESCRIPTION = "A pure Java D-Bus Implementation"
+DESCRIPTION_dbus-java-viewer = "${DESCRIPTION} (DBusViewer Binary)"
+DESCRIPTION_dbus-java-bin = "${DESCRIPTION} (Binaries)"
+AUTHOR = "Matthew Johnson <dbus@matthew.ath.cx>"
+HOMEPAGE = "http://dbus.freedesktop.org/doc/dbus-java"
+SECTION = "libs"
+LICENSE = "LGPLv2 AFL"
+DEPENDS = "libmatthew docbook-utils-native docbook-sgml-dtd-4.1-native fastjar-native"
+RDEPENDS_dbus-java-viewer = "java2-runtime libunixsocket-java ${JPN}"
+RDEPENDS_dbus-java-bin = "java2-runtime libunixsocket-java ${JPN}"
+RSUGGESTS_libdbus-java = "libunixsocket-java dbus"
+PR = "r0"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus-java/dbus-java-${PV}.tar.gz"
+
+S = "${WORKDIR}/dbus-java-${PV}"
+
+inherit java-library
+
+# jamvm-native unfortunately contains non-generificed java/lang/reflect classes
+# which are accessed in this package. Work around this by setting the bootclasspath
+# explicitly.
+JCFLAGS = "-bootclasspath ${STAGING_DATADIR}/classpath/glibj.zip"
+
+do_compile () {
+ oe_runmake \
+ JCFLAGS="-source 1.5 ${JCFLAGS}" \
+ JAVAC="javac" \
+ JARPREFIX="${STAGING_DATADIR_JAVA}" \
+ JAVAUNIXJARDIR="${STAGING_DATADIR_JAVA}" \
+ CLASSPATH="${S}/classes" \
+ JAR="fastjar" \
+ bin
+
+ # Generated shell scripts will have staging paths inside them.
+ rm bin/*
+
+ # Generate them again with target paths.
+ oe_runmake \
+ JAVAC="oefatal \"No Java compilation expected here.\"" \
+ JAR="oefatal \"No jar invocation expected here.\"" \
+ JARPREFIX=${datadir_java} \
+ JAVAUNIXPATH=${datadir_java} \
+ bin
+
+ # Generate man pages.
+ oe_runmake \
+ JAVAC="oefatal \"No Java compilation expected here.\"" \
+ JAR="oefatal \"No jar invocation expected here.\"" \
+ JARPREFIX=${datadir_java} \
+ JAVAUNIXPATH=${datadir_java} \
+ man
+}
+
+do_install () {
+ oe_jarinstall ${JPN}-${PV}.jar ${JPN}.jar
+ oe_jarinstall dbus-java-viewer-${PV}.jar dbus-java-viewer.jar
+ oe_jarinstall dbus-java-bin-${PV}.jar dbus-java-bin.jar
+
+ install -d ${D}${bindir}
+ install bin/DBusViewer ${D}${bindir}
+ install bin/DBusCall ${D}${bindir}
+ install bin/CreateInterface ${D}${bindir}
+ install bin/ListDBus ${D}${bindir}
+ install bin/DBusDaemon ${D}${bindir}
+
+ oe_runmake \
+ JAVAC="oefatal \"No Java compilation expected here.\"" \
+ JAR="oefatal \"No jar invocation expected here.\"" \
+ MANPREFIX=${D}${mandir} \
+ DOCPREFIX=${D}${docdir}/${JPN} \
+ install-man
+}
+
+do_stage () {
+ oe_jarinstall -s ${JPN}-${PV}.jar ${JPN}.jar
+}
+
+PACKAGE_ARCH = "all"
+# ${JPN} must be last otherwise it would pick up dbus-viewer*.jar
+# and dbus-bin*.jar
+PACKAGES = "dbus-java-viewer dbus-java-viewer-doc dbus-java-bin dbus-java-bin-doc ${JPN}"
+
+FILES_dbus-java-viewer = "${datadir}/java/dbus-java-viewer*.jar ${bindir}/DBusViewer"
+FILES_dbus-java-viewer-doc = "${mandir}/DBusViewer*"
+FILES_dbus-java-bin = "${datadir}/java/dbus-java-bin*.jar ${bindir}"
+FILES_dbus-java-bin-doc = "${mandir} ${docdir}/${JPN}"
diff --git a/packages/dhcp/dhcp_3.0.1.bb b/packages/dhcp/dhcp_3.0.1.bb
index 650de1391d..7d55dc3a03 100644
--- a/packages/dhcp/dhcp_3.0.1.bb
+++ b/packages/dhcp/dhcp_3.0.1.bb
@@ -2,7 +2,7 @@ SECTION = "console/network"
DESCRIPTION = "Internet Software Consortium DHCP package"
HOMEPAGE = "http://www.isc.org/"
LICENSE = "BSD"
-PR = "r2"
+PR = "r3"
SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \
file://noattrmode.patch;patch=1 \
file://fixincludes.patch;patch=1 \
@@ -33,12 +33,13 @@ do_install() {
install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server
install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf
install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
+ install -d ${D}/var/lib/dhcp
}
PACKAGES = "${PN}-dbg dhcp-server dhcp-client dhcp-relay dhcp-omshell dhcp-dev dhcp-doc"
FILES_dhcp-server = "${sbindir}/dhcpd /etc/init.d/dhcp-server /etc/default/dhcp-server /etc/dhcp/dhcpd.conf"
FILES_dhcp-relay = "${sbindir}/dhcrelay /etc/init.d/dhcp-relay /etc/default/dhcp-relay"
-FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf"
+FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf /var/lib/dhcp"
FILES_dhcp-omshell = "${bindir}/omshell"
CONFFILES_dhcp-server_nylon = "/etc/dhcp/dhcpd.conf"
diff --git a/packages/dhcp/dhcp_3.0.2.bb b/packages/dhcp/dhcp_3.0.2.bb
index 851ae5ca95..6b0f9de1bf 100644
--- a/packages/dhcp/dhcp_3.0.2.bb
+++ b/packages/dhcp/dhcp_3.0.2.bb
@@ -2,7 +2,7 @@ SECTION = "console/network"
DESCRIPTION = "Internet Software Consortium DHCP package"
HOMEPAGE = "http://www.isc.org/"
LICENSE = "BSD"
-PR = "r5"
+PR = "r6"
SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \
file://noattrmode.patch;patch=1 \
file://fixincludes.patch;patch=1 \
@@ -34,6 +34,7 @@ do_install() {
install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server
install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf
install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
+ install -d ${D}/var/lib/dhcp
}
PACKAGES += "dhcp-server dhcp-client dhcp-relay dhcp-omshell"
@@ -41,7 +42,7 @@ FILES_${PN} = ""
FILES_dhcp-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server ${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf"
FILES_dhcp-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay"
-FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf"
+FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf /var/lib/dhcp"
RDEPENDS_dhcp-client = "bash"
FILES_dhcp-omshell = "${bindir}/omshell"
diff --git a/packages/efl1/imlib2_cvs.bb b/packages/efl1/imlib2_cvs.bb
index 0008ca9122..6fd9b4ce36 100644
--- a/packages/efl1/imlib2_cvs.bb
+++ b/packages/efl1/imlib2_cvs.bb
@@ -2,6 +2,7 @@ DESCRIPTION = "A graphic library for file loading, saving, rendering, and manipu
LICENSE = "BSD"
# can also depend on tiff34, ungif or gif, z, bz2, id3tag
DEPENDS = "freetype libpng jpeg virtual/libx11 libxext"
+PROVIDES = "virtual/imlib2"
PV = "1.4.1.000+cvs${SRCDATE}"
PR = "r2"
diff --git a/packages/ffmpeg/ffmpeg_git.bb b/packages/ffmpeg/ffmpeg_git.bb
index 1eb3b20ed7..965a453aff 100644
--- a/packages/ffmpeg/ffmpeg_git.bb
+++ b/packages/ffmpeg/ffmpeg_git.bb
@@ -3,7 +3,7 @@ require ffmpeg.inc
DEPENDS += "libgsm"
PV = "0.4.9+${PR}+gitr${SRCREV}"
-PR = "r25"
+PR = "r26"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_armv5te = "1"
@@ -15,7 +15,7 @@ FFBRANCH ?= "master"
# When bumping SRCREV make sure you bump PR here and in dependant recipes (gst-ffmpeg, gnash, omxil, etc) to account for SOVERSION changes
SRCREV = "3692b8de9fae73860be636606cb6344f26e28b1a"
-SRCREV_arm = "36c4918f7bc8ff6296d38ed0c9a5f1a8785fcd32"
+SRCREV_arm = "a1b91f5e7bf5612ea3a5c63579f220b0af8da1f8"
SRC_URI = "git://git.mansr.com/ffmpeg.mru;protocol=git;branch=${FFBRANCH} \
"
diff --git a/packages/ffmpeg/omapfbplay_git.bb b/packages/ffmpeg/omapfbplay_git.bb
index 25057072c2..efa81fd50a 100644
--- a/packages/ffmpeg/omapfbplay_git.bb
+++ b/packages/ffmpeg/omapfbplay_git.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Simple ffmpeg-based player that uses the omapfb overlays"
DEPENDS = "bzip2 lame ffmpeg virtual/kernel"
LICENSE = "MIT"
-PR = "r10"
+PR = "r11"
inherit module-base
diff --git a/packages/flumotion/flumotion_0.4.1.bb b/packages/flumotion/flumotion_0.4.1.bb
index 976c8c4142..c746da6c8f 100644
--- a/packages/flumotion/flumotion_0.4.1.bb
+++ b/packages/flumotion/flumotion_0.4.1.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Fluendo Streaming Server"
LICENSE = "GPL"
-DEPENDS = "gstreamer python-imaging python-gst twisted python-pygtk"
+DEPENDS = "gstreamer python-imaging python-gst python-twisted python-pygtk"
RDEPENDS = "python-resource python-pprint python-threading \
python-imaging python-xml python-curses \
python-compression python-fcntl python-pygobject \
diff --git a/packages/freesmartphone/frameworkd/om-gta01/frameworkd.conf b/packages/freesmartphone/frameworkd/om-gta01/frameworkd.conf
index 64c00a4a92..d985bb342e 100644
--- a/packages/freesmartphone/frameworkd/om-gta01/frameworkd.conf
+++ b/packages/freesmartphone/frameworkd/om-gta01/frameworkd.conf
@@ -11,5 +11,10 @@ report4 = HEADSET,switch,2,0
# GTA01 has TI Calypso
modemtype = ti_calypso
+[ogpsd]
+device = NMEADevice
+channel = UDPChannel
+path = 6000
+
[opreferencesd]
rootdir = ../etc/freesmartphone/opreferences:/etc/freesmartphone/opreferences:/usr/etc/freesmartphone/opreferences
diff --git a/packages/freesmartphone/illume-theme-freesmartphone_git.bb b/packages/freesmartphone/illume-theme-freesmartphone_git.bb
index 3beffce09e..1ff193e87b 100644
--- a/packages/freesmartphone/illume-theme-freesmartphone_git.bb
+++ b/packages/freesmartphone/illume-theme-freesmartphone_git.bb
@@ -1,8 +1,9 @@
DESCRIPTION = "Illume theme for the freesmartphone.org project"
HOMEPAGE = "http://illume.projects.openmoko.org/"
LICENSE = "MIT/BSD"
+DEPENDS = "edje-native eet-native"
PV = "0.0+gitr${SRCREV}"
-PR = "r1"
+PR = "r2"
SRC_URI = "${FREESMARTPHONE_GIT}/artwork.git;protocol=git;branch=master"
S = "${WORKDIR}/git/illume"
@@ -10,18 +11,27 @@ S = "${WORKDIR}/git/illume"
do_compile() {
cd illume && ./build.sh && cd ..
cd illume_init && ./build.sh && cd ..
+ cd illume-config
+ eet -e e.cfg config e.src 1
+ eet -e module.battery.cfg config module.battery.src 1
+ eet -e module.illume.cfg config module.illume.src 1
}
do_install() {
install -d ${D}${sysconfdir}/enlightenment
install -d ${D}${datadir}/enlightenment/data/themes/
install -d ${D}${datadir}/enlightenment/data/init/
+ install -d ${D}${datadir}/enlightenment/data/config/fso/
- # Make illume the default profile
- echo 'E_PROFILE="-profile illume"' > ${D}${sysconfdir}/enlightenment/default_profile
+ # Make fso the default profile
+ echo 'E_PROFILE="-profile fso"' > ${D}${sysconfdir}/enlightenment/default_profile
- install -m 0644 ${S}/illume/illume.edj ${D}${datadir}/enlightenment/data/themes/
- install -m 0644 ${S}/illume_init/illume_init.edj ${D}${datadir}/enlightenment/data/init/
+ install -m 0644 ${S}/illume/fso.edj ${D}${datadir}/enlightenment/data/themes/
+ install -m 0644 ${S}/illume_init/fso_init.edj ${D}${datadir}/enlightenment/data/init/
+
+ install -m 0644 ${S}/illume-config/e.cfg ${D}${datadir}/enlightenment/data/config/fso/
+ install -m 0644 ${S}/illume-config/module.battery.cfg ${D}${datadir}/enlightenment/data/config/fso/
+ install -m 0644 ${S}/illume-config/module.illume.cfg ${D}${datadir}/enlightenment/data/config/fso/
}
RPROVIDES_${PN} = "illume-theme"
diff --git a/packages/gettext/gettext_0.17.bb b/packages/gettext/gettext_0.17.bb
index ed64c1ea87..7beaee1294 100644
--- a/packages/gettext/gettext_0.17.bb
+++ b/packages/gettext/gettext_0.17.bb
@@ -2,9 +2,9 @@ DESCRIPTION = "The GNU internationalization library."
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
SECTION = "libs"
LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
DEFAULT_PREFERENCE = "-1"
-DEPENDS = "virtual/libiconv"
+DEPENDS = "gettext-native virtual/libiconv ncurses expat"
PROVIDES = "virtual/libintl"
SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
@@ -15,12 +15,6 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
SRC_URI_append_linux-uclibc = " file://gettext-error_print_progname.patch;patch=1"
SRC_URI_append_linux-uclibcgnueabi = " file://gettext-error_print_progname.patch;patch=1"
-#gettext.class cant be inherit here so use this hack same as in libiconv
-DEPENDS += "${@['','gettext-native'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
-
-EXTRA_OECONF += "${@['--disable-nls','--enable-nls'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
-
-
PARALLEL_MAKE = ""
inherit autotools
@@ -34,6 +28,7 @@ EXTRA_OECONF += "--without-lispdir \
--with-included-glib \
--without-emacs \
"
+
acpaths = '-I ${S}/autoconf-lib-link/m4/ \
-I ${S}/gettext-runtime/m4 \
-I ${S}/gettext-tools/m4'
diff --git a/packages/gnash/files/libintl.patch b/packages/gnash/files/libintl.patch
new file mode 100644
index 0000000000..22e1acb65b
--- /dev/null
+++ b/packages/gnash/files/libintl.patch
@@ -0,0 +1,13 @@
+Index: gnash-0.8.3/gui/am-frag/fb.am
+===================================================================
+--- gnash-0.8.3.orig/gui/am-frag/fb.am 2008-08-19 00:37:45.000000000 +0200
++++ gnash-0.8.3/gui/am-frag/fb.am 2008-08-19 00:38:04.000000000 +0200
+@@ -30,7 +30,7 @@
+ fb_gnash_CPPFLAGS += $(AGG_CFLAGS)
+ fb_gnash_SOURCES +=
+ fb_gnash_LDADD = $(top_builddir)/backend/libgnashagg.la \
+- $(GNASH_LIBS) $(AGG_LIBS)
++ $(GNASH_LIBS) $(AGG_LIBS) $(INTLLIBS)
+ endif # BUILD_AGG_RENDERER
+ endif # BUILD_FB_GUI
+
diff --git a/packages/gnash/gnash-minimal.inc b/packages/gnash/gnash-minimal.inc
index f77ef6ae02..a4a44ae058 100644
--- a/packages/gnash/gnash-minimal.inc
+++ b/packages/gnash/gnash-minimal.inc
@@ -1,7 +1,7 @@
DESCRIPTION = "Gnash is a GNU Flash movie player that supports many SWF v7 features"
HOMEPAGE = "http://www.gnu.org/software/gnash"
LICENSE = "GPL-2"
-DEPENDS = "virtual/libiconv virtual/libintl libtool agg libxml2 libmad zlib boost jpeg pango curl freetype"
+DEPENDS = "virtual/libiconv virtual/libintl libltdl libtool agg libxml2 libmad zlib boost jpeg pango curl freetype"
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gnash/${PV}/gnash-${PV}.tar.bz2"
S = ${WORKDIR}/gnash-${PV}
diff --git a/packages/gnash/gnash-minimal_0.8.2.bb b/packages/gnash/gnash-minimal_0.8.2.bb
index bcfb88c42f..b5a9ca35a9 100644
--- a/packages/gnash/gnash-minimal_0.8.2.bb
+++ b/packages/gnash/gnash-minimal_0.8.2.bb
@@ -1,2 +1,3 @@
require gnash-minimal.inc
+PR = "r1"
diff --git a/packages/gnash/gnash-minimal_0.8.3.bb b/packages/gnash/gnash-minimal_0.8.3.bb
index b5bcf29683..55748151c5 100644
--- a/packages/gnash/gnash-minimal_0.8.3.bb
+++ b/packages/gnash/gnash-minimal_0.8.3.bb
@@ -1,12 +1,12 @@
require gnash-minimal.inc
-PR = "r6"
+PR = "r7"
EXTRA_OECONF += " --without-included-ltdl \
--with-ltdl-include=${STAGING_INCDIR} \
--with-ltdl-lib=${STAGING_LIBDIR} \
"
-SRC_URI += "file://libtool-2.2.patch;patch=1"
+SRC_URI += "file://libtool-2.2.patch;patch=1 file://libintl.patch;patch=1"
diff --git a/packages/gnash/gnash-minimal_cvs.bb b/packages/gnash/gnash-minimal_cvs.bb
index de0e6f9db9..73a7e8f9b2 100644
--- a/packages/gnash/gnash-minimal_cvs.bb
+++ b/packages/gnash/gnash-minimal_cvs.bb
@@ -1,6 +1,6 @@
require gnash-minimal.inc
-PV = "0.8.2+cvs${SRCDATE}"
+PV = "0.8.3+cvs${SRCDATE}"
SRC_URI = "cvs://anonymous:anonymous@cvs.sv.gnu.org/sources/gnash;module=gnash"
S = ${WORKDIR}/gnash
diff --git a/packages/maemo/hildon-home/.mtn2git_empty b/packages/gpe-memo/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo/hildon-home/.mtn2git_empty
+++ b/packages/gpe-memo/.mtn2git_empty
diff --git a/packages/gpe-memo/gpe-memo_0.2.bb b/packages/gpe-memo/gpe-memo_0.2.bb
new file mode 100644
index 0000000000..885ef9a9df
--- /dev/null
+++ b/packages/gpe-memo/gpe-memo_0.2.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "GPE Voice Notes Recorder"
+SECTION = "gpe/multimedia"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "gtk+ libgpewidget libgsm gpe-soundserver"
+
+GPE_TARBALL_SUFFIX = "bz2"
+inherit gpe autotools
+
diff --git a/packages/gstreamer/gst-ffmpeg/autotools.patch b/packages/gstreamer/gst-ffmpeg/autotools.patch
new file mode 100644
index 0000000000..76e7ac6486
--- /dev/null
+++ b/packages/gstreamer/gst-ffmpeg/autotools.patch
@@ -0,0 +1,21 @@
+Index: gst-ffmpeg-0.10.2/gst-libs/ext/ffmpeg/configure.ac
+===================================================================
+--- gst-ffmpeg-0.10.2.orig/gst-libs/ext/ffmpeg/configure.ac 2008-08-20 00:20:19.177850039 +0200
++++ gst-ffmpeg-0.10.2/gst-libs/ext/ffmpeg/configure.ac 2008-08-20 00:26:24.567809464 +0200
+@@ -27,13 +27,15 @@
+
+ AM_MAINTAINER_MODE
+ AC_GNU_SOURCE
++
++AC_PROG_LIBTOOL
+ AM_PROG_AS
+ AC_PROG_CC
++AC_PROG_CXX
+ AC_PROG_INSTALL
+ AC_SYS_LARGEFILE
+ AC_STDC_HEADERS
+ AM_DISABLE_STATIC
+-AC_PROG_LIBTOOL
+
+ dnl Warning for anyone using these custom macros.
+ dnl before asking me questions on why it doesn't work and why you
diff --git a/packages/gstreamer/gst-ffmpeg_0.10.2.bb b/packages/gstreamer/gst-ffmpeg_0.10.2.bb
index e4dfb0b701..2cad978a16 100644
--- a/packages/gstreamer/gst-ffmpeg_0.10.2.bb
+++ b/packages/gstreamer/gst-ffmpeg_0.10.2.bb
@@ -4,12 +4,14 @@ PRIORITY = "optional"
LICENSE = "LGPL"
HOMEPAGE = "http://www.gstreamer.net/"
DEPENDS = "gstreamer zlib"
-PR = "r1"
+PR = "r2"
inherit autotools pkgconfig
SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2 \
- file://armv5.patch;patch=1"
+ file://armv5.patch;patch=1 \
+ file://autotools.patch;patch=1 \
+ "
FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
diff --git a/packages/gstreamer/gst-ffmpeg_0.10.4.bb b/packages/gstreamer/gst-ffmpeg_0.10.4.bb
index aa96026891..f4f872ce01 100644
--- a/packages/gstreamer/gst-ffmpeg_0.10.4.bb
+++ b/packages/gstreamer/gst-ffmpeg_0.10.4.bb
@@ -4,7 +4,7 @@ PRIORITY = "optional"
LICENSE = "LGPL"
HOMEPAGE = "http://www.gstreamer.net/"
DEPENDS = "ffmpeg gstreamer zlib"
-PR = "r3"
+PR = "r4"
# This uses the systems ffmpeg, which is unsupported, but we can't build the internal one with the current autotools (ab)usage
DEFAULT_PREFERENCE = "-1"
diff --git a/packages/images/fso-image.bb b/packages/images/fso-image.bb
index 5495af9e1c..a857c5b331 100644
--- a/packages/images/fso-image.bb
+++ b/packages/images/fso-image.bb
@@ -50,6 +50,7 @@ TOOLS_INSTALL = "\
nano \
powertop \
s3c24xx-gpio \
+ sysstat \
"
# audio
diff --git a/packages/maemo4/osso-gnome-vfs2_2.16.3.bb b/packages/maemo4/osso-gnome-vfs2_2.16.3.bb
index 45a373fd11..4a0be7a9be 100644
--- a/packages/maemo4/osso-gnome-vfs2_2.16.3.bb
+++ b/packages/maemo4/osso-gnome-vfs2_2.16.3.bb
@@ -26,6 +26,9 @@ do_configure_prepend() {
# remove Werror from VFS_CFLAGS
sed -i s:-Werror::g configure.in
+ # G_GNUC_FUNCTION is deprecated
+ sed -i -e s,-DG_DISABLE_DEPRECATED,-DSED_ROCKS_DUDE, */Makefile.am
+
touch gtk-doc.make
}
diff --git a/packages/midpath/midpath-backend-qt3x11_0.2+0.3rc1.bb b/packages/midpath/midpath-backend-qt3x11_0.2+0.3rc1.bb
index 3f1c0e594f..1d79379863 100644
--- a/packages/midpath/midpath-backend-qt3x11_0.2+0.3rc1.bb
+++ b/packages/midpath/midpath-backend-qt3x11_0.2+0.3rc1.bb
@@ -6,7 +6,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/midpath/midpath-0.3rc1.tar.gz"
S = "${WORKDIR}/midpath-0.3rc1"
-DEPENDS = "classpath qt-mt"
+DEPENDS = "classpath qte-mt"
RCONFLICTS = "midpath-backend-qte"
inherit qt3x11
diff --git a/packages/midpath/midpath-backend-qt4x11_0.2+0.3rc1.bb b/packages/midpath/midpath-backend-qt4x11_0.2+0.3rc1.bb
index ba12796d28..f26ea4eac5 100644
--- a/packages/midpath/midpath-backend-qt4x11_0.2+0.3rc1.bb
+++ b/packages/midpath/midpath-backend-qt4x11_0.2+0.3rc1.bb
@@ -6,7 +6,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/midpath/midpath-0.3rc1.tar.gz"
S = "${WORKDIR}/midpath-0.3rc1"
-DEPENDS = "classpath qt-mt"
+DEPENDS = "classpath qte-mt"
inherit qt4x11
diff --git a/packages/midpath/midpath-backend-qte_0.2+0.3rc1.bb b/packages/midpath/midpath-backend-qte_0.2+0.3rc1.bb
index c812b34234..6d7cb9dba7 100644
--- a/packages/midpath/midpath-backend-qte_0.2+0.3rc1.bb
+++ b/packages/midpath/midpath-backend-qte_0.2+0.3rc1.bb
@@ -6,7 +6,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/midpath/midpath-0.3rc1.tar.gz"
S = "${WORKDIR}/midpath-0.3rc1"
-DEPENDS = "classpath qt-mt"
+DEPENDS = "classpath qte-mt"
RCONFLICTS = "midpath-backend-qt3"
inherit qt3e
diff --git a/packages/nandlogical/nandlogical-static_1.0.0.bb b/packages/nandlogical/nandlogical-static_1.0.0.bb
new file mode 100644
index 0000000000..e2eaf4e1f5
--- /dev/null
+++ b/packages/nandlogical/nandlogical-static_1.0.0.bb
@@ -0,0 +1,5 @@
+require nandlogical_${PV}.bb
+
+do_compile () {
+ ${CC} -o nandlogical ${WORKDIR}/nandlogical.c -static
+}
diff --git a/packages/nandlogical/nandlogical_1.0.0.bb b/packages/nandlogical/nandlogical_1.0.0.bb
index a868576add..ba851bf513 100644
--- a/packages/nandlogical/nandlogical_1.0.0.bb
+++ b/packages/nandlogical/nandlogical_1.0.0.bb
@@ -9,7 +9,7 @@ SRC_URI = "file://nandlogical.c"
S = "${WORKDIR}/${P}"
do_compile () {
- ${CC} -o nandlogical ${WORKDIR}/nandlogical.c -static
+ ${CC} -o nandlogical ${WORKDIR}/nandlogical.c
}
do_install () {
diff --git a/packages/maemo/hildon-initscripts/.mtn2git_empty b/packages/nonworking/gpe-contacts/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo/hildon-initscripts/.mtn2git_empty
+++ b/packages/nonworking/gpe-contacts/.mtn2git_empty
diff --git a/packages/gpe-contacts/gpe-contacts-hildon_0.40.bb b/packages/nonworking/gpe-contacts/gpe-contacts-hildon_0.40.bb
index 848209d850..848209d850 100644
--- a/packages/gpe-contacts/gpe-contacts-hildon_0.40.bb
+++ b/packages/nonworking/gpe-contacts/gpe-contacts-hildon_0.40.bb
diff --git a/packages/gpe-contacts/gpe-contacts-hildon_0.42.bb b/packages/nonworking/gpe-contacts/gpe-contacts-hildon_0.42.bb
index 848209d850..848209d850 100644
--- a/packages/gpe-contacts/gpe-contacts-hildon_0.42.bb
+++ b/packages/nonworking/gpe-contacts/gpe-contacts-hildon_0.42.bb
diff --git a/packages/maemo/hildon-lgpl/.mtn2git_empty b/packages/nonworking/maemo/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo/hildon-lgpl/.mtn2git_empty
+++ b/packages/nonworking/maemo/.mtn2git_empty
diff --git a/packages/maemo/hildon-base-lib_0.8.6-2.bb b/packages/nonworking/maemo/hildon-base-lib_0.8.6-2.bb
index 58d7f54a8b..58d7f54a8b 100644
--- a/packages/maemo/hildon-base-lib_0.8.6-2.bb
+++ b/packages/nonworking/maemo/hildon-base-lib_0.8.6-2.bb
diff --git a/packages/maemo/hildon-fm_0.9.1-2.bb b/packages/nonworking/maemo/hildon-fm_0.9.1-2.bb
index 40654295f9..40654295f9 100644
--- a/packages/maemo/hildon-fm_0.9.1-2.bb
+++ b/packages/nonworking/maemo/hildon-fm_0.9.1-2.bb
diff --git a/packages/maemo/hildon-libs/.mtn2git_empty b/packages/nonworking/maemo/hildon-home/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo/hildon-libs/.mtn2git_empty
+++ b/packages/nonworking/maemo/hildon-home/.mtn2git_empty
diff --git a/packages/maemo/hildon-home/noWerror.patch b/packages/nonworking/maemo/hildon-home/noWerror.patch
index 06db4feecc..06db4feecc 100644
--- a/packages/maemo/hildon-home/noWerror.patch
+++ b/packages/nonworking/maemo/hildon-home/noWerror.patch
diff --git a/packages/maemo/hildon-home/source.patch b/packages/nonworking/maemo/hildon-home/source.patch
index 3ac0a8998f..3ac0a8998f 100644
--- a/packages/maemo/hildon-home/source.patch
+++ b/packages/nonworking/maemo/hildon-home/source.patch
diff --git a/packages/maemo/hildon-home_0.8.20-2.bb b/packages/nonworking/maemo/hildon-home_0.8.20-2.bb
index e4050c7406..e4050c7406 100644
--- a/packages/maemo/hildon-home_0.8.20-2.bb
+++ b/packages/nonworking/maemo/hildon-home_0.8.20-2.bb
diff --git a/packages/maemo/hildon-navigator/.mtn2git_empty b/packages/nonworking/maemo/hildon-initscripts/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo/hildon-navigator/.mtn2git_empty
+++ b/packages/nonworking/maemo/hildon-initscripts/.mtn2git_empty
diff --git a/packages/maemo/hildon-initscripts/hildon-initscripts-source.patch b/packages/nonworking/maemo/hildon-initscripts/hildon-initscripts-source.patch
index 8e25b5f8a0..8e25b5f8a0 100644
--- a/packages/maemo/hildon-initscripts/hildon-initscripts-source.patch
+++ b/packages/nonworking/maemo/hildon-initscripts/hildon-initscripts-source.patch
diff --git a/packages/maemo/hildon-initscripts_0.8.14-1.bb b/packages/nonworking/maemo/hildon-initscripts_0.8.14-1.bb
index ef93f007cb..ef93f007cb 100644
--- a/packages/maemo/hildon-initscripts_0.8.14-1.bb
+++ b/packages/nonworking/maemo/hildon-initscripts_0.8.14-1.bb
diff --git a/packages/maemo/sapwood/.mtn2git_empty b/packages/nonworking/maemo/hildon-lgpl/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo/sapwood/.mtn2git_empty
+++ b/packages/nonworking/maemo/hildon-lgpl/.mtn2git_empty
diff --git a/packages/maemo/hildon-lgpl/hildon-lgpl-noWerror.patch b/packages/nonworking/maemo/hildon-lgpl/hildon-lgpl-noWerror.patch
index 5f47dac7cc..5f47dac7cc 100644
--- a/packages/maemo/hildon-lgpl/hildon-lgpl-noWerror.patch
+++ b/packages/nonworking/maemo/hildon-lgpl/hildon-lgpl-noWerror.patch
diff --git a/packages/maemo/hildon-lgpl_0.9.14-2.bb b/packages/nonworking/maemo/hildon-lgpl_0.9.14-2.bb
index c4ec3a50cf..c4ec3a50cf 100644
--- a/packages/maemo/hildon-lgpl_0.9.14-2.bb
+++ b/packages/nonworking/maemo/hildon-lgpl_0.9.14-2.bb
diff --git a/packages/python/python-pygame-1.7.1/.mtn2git_empty b/packages/nonworking/maemo/hildon-libs/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/python/python-pygame-1.7.1/.mtn2git_empty
+++ b/packages/nonworking/maemo/hildon-libs/.mtn2git_empty
diff --git a/packages/maemo/hildon-libs/hildon-libs-no-werror.patch b/packages/nonworking/maemo/hildon-libs/hildon-libs-no-werror.patch
index 8b1c09eced..8b1c09eced 100644
--- a/packages/maemo/hildon-libs/hildon-libs-no-werror.patch
+++ b/packages/nonworking/maemo/hildon-libs/hildon-libs-no-werror.patch
diff --git a/packages/maemo/hildon-libs_0.9.6-2.bb b/packages/nonworking/maemo/hildon-libs_0.9.6-2.bb
index 947f22ce66..947f22ce66 100644
--- a/packages/maemo/hildon-libs_0.9.6-2.bb
+++ b/packages/nonworking/maemo/hildon-libs_0.9.6-2.bb
diff --git a/packages/nonworking/maemo/hildon-navigator/.mtn2git_empty b/packages/nonworking/maemo/hildon-navigator/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nonworking/maemo/hildon-navigator/.mtn2git_empty
diff --git a/packages/maemo/hildon-navigator/source.patch b/packages/nonworking/maemo/hildon-navigator/source.patch
index e56f42f0f9..e56f42f0f9 100644
--- a/packages/maemo/hildon-navigator/source.patch
+++ b/packages/nonworking/maemo/hildon-navigator/source.patch
diff --git a/packages/maemo/hildon-navigator_0.9.6-2.bb b/packages/nonworking/maemo/hildon-navigator_0.9.6-2.bb
index 6772dbd118..6772dbd118 100644
--- a/packages/maemo/hildon-navigator_0.9.6-2.bb
+++ b/packages/nonworking/maemo/hildon-navigator_0.9.6-2.bb
diff --git a/packages/maemo/osso-screenshot-tool_1.20-1.bb b/packages/nonworking/maemo/osso-screenshot-tool_1.20-1.bb
index 5568191fdf..5568191fdf 100644
--- a/packages/maemo/osso-screenshot-tool_1.20-1.bb
+++ b/packages/nonworking/maemo/osso-screenshot-tool_1.20-1.bb
diff --git a/packages/maemo/osso-thumbnail_0.3.1-1.bb b/packages/nonworking/maemo/osso-thumbnail_0.3.1-1.bb
index 866e755b0d..866e755b0d 100644
--- a/packages/maemo/osso-thumbnail_0.3.1-1.bb
+++ b/packages/nonworking/maemo/osso-thumbnail_0.3.1-1.bb
diff --git a/packages/nonworking/maemo/sapwood/.mtn2git_empty b/packages/nonworking/maemo/sapwood/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nonworking/maemo/sapwood/.mtn2git_empty
diff --git a/packages/maemo/sapwood/cflags.patch b/packages/nonworking/maemo/sapwood/cflags.patch
index 841a9dd350..841a9dd350 100644
--- a/packages/maemo/sapwood/cflags.patch
+++ b/packages/nonworking/maemo/sapwood/cflags.patch
diff --git a/packages/maemo/sapwood/sockets.patch b/packages/nonworking/maemo/sapwood/sockets.patch
index 1568206e2a..1568206e2a 100644
--- a/packages/maemo/sapwood/sockets.patch
+++ b/packages/nonworking/maemo/sapwood/sockets.patch
diff --git a/packages/maemo/sapwood_1.20-1.bb b/packages/nonworking/maemo/sapwood_1.20-1.bb
index 8cd52fa602..8cd52fa602 100644
--- a/packages/maemo/sapwood_1.20-1.bb
+++ b/packages/nonworking/maemo/sapwood_1.20-1.bb
diff --git a/packages/openjade/openjade-native_1.3.2.bb b/packages/openjade/openjade-native_1.3.2.bb
index 11a3ca8525..822c47dd3b 100644
--- a/packages/openjade/openjade-native_1.3.2.bb
+++ b/packages/openjade/openjade-native_1.3.2.bb
@@ -15,8 +15,12 @@ EXTRA_OECONF = "--enable-spincludedir=${STAGING_INCDIR}/OpenSP \
--enable-splibdir=${STAGING_LIBDIR} \
--enable-default-catalog=${sysconfdir}/sgml/catalog \
--enable-default-search-path=${datadir}/sgml"
+
acpaths = "-I ${S}/config"
-CFLAGS_prepend = "-I${S}/include"
+
+# Trailing whitespace is important. Otherwise compiler arguments will be messed
+# up, resulting in a fail in do_configure.
+CFLAGS_prepend = "-I${S}/include "
do_configure () {
mv config/configure.in .
diff --git a/packages/openjade/openjade_1.3.2.bb b/packages/openjade/openjade_1.3.2.bb
index 7b1272ba4f..dcbfd886a0 100644
--- a/packages/openjade/openjade_1.3.2.bb
+++ b/packages/openjade/openjade_1.3.2.bb
@@ -12,8 +12,12 @@ inherit autotools
EXTRA_OECONF = "--enable-spincludedir=${STAGING_INCDIR}/OpenSP \
--enable-splibdir=${STAGING_LIBDIR}"
+
acpaths = "-I ${S}/config"
-CFLAGS_prepend = "-I${S}/include"
+
+# Trailing whitespace is important. Otherwise compiler arguments will be messed
+# up, resulting in a fail in do_configure.
+CFLAGS_prepend = "-I${S}/include "
do_configure_prepend () {
mv config/configure.in .
diff --git a/packages/openmax/libomxil-bellagio_0.9.0.bb b/packages/openmax/libomxil-bellagio_0.9.0.bb
index 6656ed3e27..1e9eb4f217 100644
--- a/packages/openmax/libomxil-bellagio_0.9.0.bb
+++ b/packages/openmax/libomxil-bellagio_0.9.0.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "OpenMAX Integration Layer (IL) is a standard API to access Multim
LICENSE = "LGPLv2"
DEPENDS = "libmad alsa-lib ffmpeg"
-PR = "r1"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/omxil/${PN}-${PV}.tar.gz"
diff --git a/packages/openmoko2/openmoko-icon-theme-standard2-qvga_svn.bb b/packages/openmoko2/openmoko-icon-theme-standard2-qvga_svn.bb
index acbf3da7b9..e394547fd5 100644
--- a/packages/openmoko2/openmoko-icon-theme-standard2-qvga_svn.bb
+++ b/packages/openmoko2/openmoko-icon-theme-standard2-qvga_svn.bb
@@ -4,6 +4,8 @@ DEPENDS = "imagemagick-native librsvg-native"
PV = "0.1.0+svnr${SRCREV}"
PR = "r2"
+EXCLUDE_FROM_WORLD = "1"
+
inherit openmoko2
SRC_URI = "svn://svn.openmoko.org/trunk/src/target/OM-2007.2/artwork/;module=icons;proto=http"
diff --git a/packages/phoneme/phoneme-advanced.inc b/packages/phoneme/phoneme-advanced.inc
index aad82cfe42..01d192c1dc 100644
--- a/packages/phoneme/phoneme-advanced.inc
+++ b/packages/phoneme/phoneme-advanced.inc
@@ -29,6 +29,8 @@ SRCREV = ${@bb.fatal('SRCREV is not defined in this phoneme-advanced recipe!')}
COMMON_DIR = "${libdir_jvm}/${PN}"
+PME_PROFILE ?= "foundation"
+
do_compile() {
set_arch
oe_runmake -C cdc/build/linux-$ARCH-generic bin
@@ -50,9 +52,7 @@ do_configure() {
cd cdc/build/linux-$ARCH-generic
echo "Configuring PhoneME Advanced build"
- # At the moment we do not support anything else than the foundation
- #profiles.
- pmo_start J2ME_CLASSLIB foundation
+ pmo_start J2ME_CLASSLIB ${PME_PROFILE}
# Dispatch to arch-specific functions.
oe_phoneme_config$ARCH
diff --git a/packages/proxy-libintl/.mtn2git_empty b/packages/proxy-libintl/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/proxy-libintl/.mtn2git_empty
diff --git a/packages/proxy-libintl/proxy-libintl-20080418/.mtn2git_empty b/packages/proxy-libintl/proxy-libintl-20080418/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/proxy-libintl/proxy-libintl-20080418/.mtn2git_empty
diff --git a/packages/proxy-libintl/proxy-libintl-20080418/stub-only.patch b/packages/proxy-libintl/proxy-libintl-20080418/stub-only.patch
new file mode 100644
index 0000000000..7186b13c06
--- /dev/null
+++ b/packages/proxy-libintl/proxy-libintl-20080418/stub-only.patch
@@ -0,0 +1,72 @@
+Index: proxy-libintl/src/proxy-libintl/libintl.c
+===================================================================
+--- proxy-libintl.orig/src/proxy-libintl/libintl.c
++++ proxy-libintl/src/proxy-libintl/libintl.c
+@@ -18,9 +18,12 @@
+ */
+
+ #ifdef _WIN32
+-#include <windows.h>
++# include <windows.h>
+ #else
+-#include <dlfcn.h>
++# include <stddef.h>
++# if !STUB_ONLY
++# include <dlfcn.h>
++# endif
+ typedef void* HMODULE;
+ #endif
+
+@@ -65,11 +68,13 @@ static char * (*p_bind_textdomain_codese
+ static int
+ use_intl_dll (HMODULE dll)
+ {
+-#ifdef _WIN32
+-#define LOOKUP(fn) p_##fn = (void *) GetProcAddress (dll, #fn); if (p_##fn == NULL) return 0
+-#else
+-#define LOOKUP(fn) p_##fn = (void *) dlsym (dll, #fn); if (p_##fn == NULL) return 0
+-#endif
++#if !STUB_ONLY
++# ifdef _WIN32
++# define LOOKUP(fn) p_##fn = (void *) GetProcAddress (dll, #fn); if (p_##fn == NULL) return 0
++# else
++# define LOOKUP(fn) p_##fn = (void *) dlsym (dll, #fn); if (p_##fn == NULL) return 0
++# endif /* _WIN32 */
++
+
+ LOOKUP (gettext);
+ LOOKUP (dgettext);
+@@ -82,7 +87,7 @@ use_intl_dll (HMODULE dll)
+ LOOKUP (bind_textdomain_codeset);
+
+ #undef LOOKUP
+-
++#endif /* !STUB_ONLY */
+ return 1;
+ }
+
+@@ -171,13 +176,17 @@ setup (void)
+
+ if (!beenhere)
+ {
+-#ifdef _WIN32
+- HMODULE intl_dll = LoadLibrary ("intl.dll");
+-#elif defined(__APPLE__) && defined(__MACH__)
+- HMODULE intl_dll = dlopen ("libintl.dylib", RTLD_LAZY);
+-#else
+- HMODULE intl_dll = dlopen ("libintl.so", RTLD_LAZY);
+-#endif
++#if !STUB_ONLY
++# ifdef _WIN32
++ HMODULE intl_dll = LoadLibrary ("intl.dll");
++# elif defined(__APPLE__) && defined(__MACH__)
++ HMODULE intl_dll = dlopen ("libintl.dylib", RTLD_LAZY);
++# else
++ HMODULE intl_dll = dlopen ("libintl.so", RTLD_LAZY);
++# endif
++#else /* !STUB_ONLY */
++ HMODULE intl_dll = NULL;
++#endif /* STUB_ONLY */
+
+ if (intl_dll != NULL &&
+ use_intl_dll (intl_dll))
diff --git a/packages/proxy-libintl/proxy-libintl_20080418.bb b/packages/proxy-libintl/proxy-libintl_20080418.bb
new file mode 100644
index 0000000000..dbe7b92c7e
--- /dev/null
+++ b/packages/proxy-libintl/proxy-libintl_20080418.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "Proxy libintl"
+HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/"
+SECTION = "libs"
+LICENSE = "LGPL"
+
+PR = "r1"
+PROVIDES = "virtual/libintl"
+
+
+SRC_URI = " \
+ http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${PN}-${PV}.zip \
+ file://stub-only.patch;patch=1 \
+"
+
+
+S = "${WORKDIR}"
+FILES_${PN}-dev = "${includedir} ${libdir}"
+
+
+CFLAGS_append = " -Wall -I ../../include ${@['-DSTUB_ONLY', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']}"
+
+do_compile() {
+ cd ${WORKDIR}/src/proxy-libintl
+ oe_runmake
+}
+
+
+
+
+do_install() {
+ install -d ${D}/usr/include
+ install -d ${D}/usr/lib
+
+ install -m 0644 ${WORKDIR}/include/libintl.h ${D}/${includedir}
+ install -m 0644 ${WORKDIR}/lib/libintl.a ${D}/${libdir}
+}
+
+
+
+do_stage() {
+ install -m 0644 ${WORKDIR}/include/libintl.h ${STAGING_INCDIR}/
+ oe_libinstall -a -C lib libintl ${STAGING_LIBDIR}/
+}
+
+
+
diff --git a/packages/python/python-pycap_0.1.6.bb b/packages/python/python-pycap_0.1.6.bb
index 48e62c4e91..2857ab98ac 100644
--- a/packages/python/python-pycap_0.1.6.bb
+++ b/packages/python/python-pycap_0.1.6.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Python Packet Capture Library"
SECTION = "devel/python"
PRIORITY = "optional"
RDEPENDS = "python-core"
-DEPENDS = "libpcap-0.7.2 libnet-1.1.1"
+DEPENDS = "libpcap libnet"
SRCNAME = "pycap"
SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
diff --git a/packages/python/python-pygame-1.7.1/Setup b/packages/python/python-pygame-1.7.1/Setup
deleted file mode 100644
index c4558b39bb..0000000000
--- a/packages/python/python-pygame-1.7.1/Setup
+++ /dev/null
@@ -1,57 +0,0 @@
-#This Setup file is used by the setup.py script to configure the
-#python extensions. You will likely use the "config.py" which will
-#build a correct Setup file for you based on your system settings.
-#If not, the format is simple enough to edit by hand. First change
-#the needed commandline flags for each dependency, then comment out
-#any unavailable optional modules in the first optional section.
-
-#SDL = ???
-
-FONT = -lSDL_ttf-2.0
-IMAGE = -lSDL_image-1.2
-MIXER = -lSDL_mixer-1.2
-SMPEG = -lsmpeg $(SDL)
-NUMERIC = -I.
-
-
-
-#the following modules are optional. you will want to compile
-#everything you can, but you can ignore ones you don't have
-#dependencies for, just comment them out
-
-imageext src/imageext.c $(SDL) $(IMAGE)
-font src/font.c $(SDL) $(FONT)
-mixer src/mixer.c $(SDL) $(MIXER)
-mixer_music src/music.c $(SDL) $(MIXER)
-movie src/movie.c $(SDL) $(SMPEG)
-surfarray src/surfarray.c $(SDL) $(NUMERIC)
-sndarray src/sndarray.c $(SDL) $(NUMERIC) $(MIXER)
-
-
-
-#these modules are required for pygame to run. they only require
-#SDL as a dependency. these should not be altered
-
-base src/base.c $(SDL)
-cdrom src/cdrom.c $(SDL)
-constants src/constants.c $(SDL)
-display src/display.c $(SDL)
-event src/event.c $(SDL)
-key src/key.c $(SDL)
-mouse src/mouse.c $(SDL)
-rect src/rect.c $(SDL)
-rwobject src/rwobject.c $(SDL)
-surface src/surface.c src/alphablit.c $(SDL)
-surflock src/surflock.c $(SDL)
-time src/time.c $(SDL)
-joystick src/joystick.c $(SDL)
-draw src/draw.c $(SDL)
-image src/image.c $(SDL)
-transform src/transform.c src/rotozoom.c src/scale2x.c $(SDL)
-
-
-#the following are placeholders. setup.py can use them to help
-#auto-copy needed DLLs into the pygame installation folder.
-#you can simply ignore these lines under non-windows, no need to
-#comment out.
-COPYLIB_smpeg $(SDL) $(SMPEG)
diff --git a/packages/python/python-pygame-1.8.1/.mtn2git_empty b/packages/python/python-pygame-1.8.1/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/python/python-pygame-1.8.1/.mtn2git_empty
diff --git a/packages/python/python-pygame-1.8.1/Setup b/packages/python/python-pygame-1.8.1/Setup
new file mode 100644
index 0000000000..cb8085530a
--- /dev/null
+++ b/packages/python/python-pygame-1.8.1/Setup
@@ -0,0 +1,64 @@
+#This Setup file is used by the setup.py script to configure the
+#python extensions. You will likely use the "config.py" which will
+#build a correct Setup file for you based on your system settings.
+#If not, the format is simple enough to edit by hand. First change
+#the needed commandline flags for each dependency, then comment out
+#any unavailable optional modules in the first optional section.
+
+
+SDL = -D_REENTRANT -Xlinker -lSDL -lpthread
+FONT = -lSDL_ttf
+IMAGE = -lSDL_image
+MIXER = -lSDL_mixer
+SMPEG = -lsmpeg
+PNG = -lpng
+JPEG = ljpeg
+SCRAP = -lX11
+
+#DEBUG = -C-W -C-Wall
+DEBUG =
+
+#the following modules are optional. you will want to compile
+#everything you can, but you can ignore ones you don't have
+#dependencies for, just comment them out
+
+imageext src/imageext.c $(SDL) $(IMAGE) $(PNG) $(JPEG) $(DEBUG)
+font src/font.c $(SDL) $(FONT) $(DEBUG)
+mixer src/mixer.c $(SDL) $(MIXER) $(DEBUG)
+mixer_music src/music.c $(SDL) $(MIXER) $(DEBUG)
+_numericsurfarray src/_numericsurfarray.c $(SDL) $(DEBUG)
+_numericsndarray src/_numericsndarray.c $(SDL) $(MIXER) $(DEBUG)
+movie src/movie.c $(SDL) $(SMPEG) $(DEBUG)
+scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
+
+#experimental new movie movie. requires libavcodec and libavformat.
+#add any necessary compile flags to this line and uncomment.
+#movieext src/movie.c src/ffmovie.c $(SDL) -lavcodec -lavformat
+
+
+#these modules are required for pygame to run. they only require
+#SDL as a dependency. these should not be altered
+
+base src/base.c $(SDL) $(DEBUG)
+cdrom src/cdrom.c $(SDL) $(DEBUG)
+color src/color.c $(SDL) $(DEBUG)
+constants src/constants.c $(SDL) $(DEBUG)
+display src/display.c $(SDL) $(DEBUG)
+event src/event.c $(SDL) $(DEBUG)
+fastevent src/fastevent.c src/fastevents.c $(SDL) $(DEBUG)
+key src/key.c $(SDL) $(DEBUG)
+mouse src/mouse.c $(SDL) $(DEBUG)
+rect src/rect.c $(SDL) $(DEBUG)
+rwobject src/rwobject.c $(SDL) $(DEBUG)
+surface src/surface.c src/alphablit.c src/surface_fill.c $(SDL) $(DEBUG)
+surflock src/surflock.c $(SDL) $(DEBUG)
+time src/time.c $(SDL) $(DEBUG)
+joystick src/joystick.c $(SDL) $(DEBUG)
+draw src/draw.c $(SDL) $(DEBUG)
+image src/image.c $(SDL) $(DEBUG)
+overlay src/overlay.c $(SDL) $(DEBUG)
+transform src/transform.c src/rotozoom.c src/scale2x.c $(SDL) $(DEBUG)
+mask src/mask.c src/bitmask.c $(SDL) $(DEBUG)
+bufferproxy src/bufferproxy.c $(SDL) $(DEBUG)
+pixelarray src/pixelarray.c $(SDL) $(DEBUG)
+
diff --git a/packages/python/python-pygame_1.7.1.bb b/packages/python/python-pygame_1.8.1.bb
index 37b73148e6..dc3f431964 100644
--- a/packages/python/python-pygame_1.7.1.bb
+++ b/packages/python/python-pygame_1.8.1.bb
@@ -1,19 +1,26 @@
DESCRIPTION = "Python libSDL Bindings"
SECTION = "devel/python"
+HOMEPAGE = "http://www.pygame.org"
PRIORITY = "optional"
LICENSE = "LGPL"
-RDEPENDS = "python-numeric"
DEPENDS = "libsdl-x11 libsdl-image libsdl-mixer libsdl-net libsdl-ttf smpeg python-numeric"
SRCNAME = "pygame"
-PR = "ml2"
+PR = "ml0"
-SRC_URI = "http://www.pygame.org/ftp/${SRCNAME}-${PV}release.tar.gz \
- file://Setup"
+SRC_URI = "\
+ ftp://ftp.pygame.org/pub/pygame/${SRCNAME}-${PV}release.tar.gz \
+ file://Setup"
S = "${WORKDIR}/${SRCNAME}-${PV}release"
inherit distutils
do_configure_prepend() {
+ cat ${WORKDIR}/Setup >Setup
SDL="`sdl-config --cflags` `sdl-config --libs`"; echo "SDL=$SDL" >Setup
- cat ${WORKDIR}/Setup >>Setup
}
+
+do_stage() {
+ distutils_stage_all
+}
+
+RDEPENDS = "python-numeric"
diff --git a/packages/sugar/.mtn2git_empty b/packages/sugar/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/sugar/.mtn2git_empty
diff --git a/packages/sugar/sugar-toolkit_0.82.1.bb b/packages/sugar/sugar-toolkit_0.82.1.bb
new file mode 100644
index 0000000000..8035d2ad80
--- /dev/null
+++ b/packages/sugar/sugar-toolkit_0.82.1.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Sugar toolkit"
+LICENSE = "LGPLv2"
+
+DEPENDS = "libxml2 gtk+"
+
+SRC_URI = "http://dev.laptop.org/pub/sugar/sources/sugar-toolkit/sugar-toolkit-${PV}.tar.bz2"
+
+inherit autotools distutils-base
+
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/sugar/sugar_0.82.0.bb b/packages/sugar/sugar_0.82.0.bb
new file mode 100644
index 0000000000..7ca93426e1
--- /dev/null
+++ b/packages/sugar/sugar_0.82.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Sugar base system"
+LICENSE = "GPLv2"
+
+DEPENDS = "sugar-toolkit libxml2 gtk+"
+
+SRC_URI = "http://dev.laptop.org/pub/sugar/sources/sugar/${PN}-${PV}.tar.bz2"
+
+inherit autotools distutils-base
+
+do_configure_prepend() {
+ mkdir -p ${S}/m4
+}
+
+FILES_${PN} += "${datadir}/${PN} \
+ ${datadir}/mime \
+ ${datadir}/xsessions \
+ ${datadir}/dbus-1 \
+ ${sysconfdir} "
+
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/sysstat/.mtn2git_empty b/packages/sysstat/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/sysstat/.mtn2git_empty
diff --git a/packages/sysstat/sysstat_8.1.5.bb b/packages/sysstat/sysstat_8.1.5.bb
new file mode 100644
index 0000000000..0f394ed259
--- /dev/null
+++ b/packages/sysstat/sysstat_8.1.5.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux."
+HOMEPAGE = "http://pagesperso-orange.fr/sebastien.godard/"
+LICENSE = "GPL"
+SECTION = "console/utils"
+
+SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.gz"
+
+inherit autotools
+
+do_configure_prepend() {
+ sed -i s,'-g $(MAN_GROUP)','', Makefile.in
+}
+
+FILES_${PN} += "${libdir}/sa"
+
diff --git a/packages/tangogps/files/0004-Update-fix-timestamp-from-gypsy.patch b/packages/tangogps/files/0004-Update-fix-timestamp-from-gypsy.patch
new file mode 100644
index 0000000000..d427108cc7
--- /dev/null
+++ b/packages/tangogps/files/0004-Update-fix-timestamp-from-gypsy.patch
@@ -0,0 +1,18 @@
+--- tangogps-0.9.2/src/gps_functions.c~ 2008-08-15 05:54:26.000000000 +0930
++++ tangogps-0.9.2/src/gps_functions.c 2008-08-15 23:29:19.000000000 +0930
+@@ -649,6 +649,7 @@
+ int timestamp, double latitude, double longitude, double altitude, void *user_data)
+ {
+ if (gpsdata->valid) {
++ gpsdata->fix.time = timestamp;
+ gpsdata->fix.latitude = latitude;
+ gpsdata->fix.longitude = longitude;
+ gpsdata->fix.altitude = altitude;
+@@ -664,6 +665,7 @@
+ static void on_course_changed(GypsyCourse *course, GypsyCourseFields fields_set,
+ int timestamp, double speed, double direction, double climb, void *user_data)
+ {
++ gpsdata->fix.time = timestamp;
+ gpsdata->fix.speed = speed/3.6;
+ gpsdata->fix.track = direction;
+ }
diff --git a/packages/tangogps/tangogps-fso_0.9.2.bb b/packages/tangogps/tangogps-fso_0.9.2.bb
index c3f202724f..22b65e7f4a 100644
--- a/packages/tangogps/tangogps-fso_0.9.2.bb
+++ b/packages/tangogps/tangogps-fso_0.9.2.bb
@@ -1,8 +1,11 @@
require tangogps.inc
+PR = "r1"
+
RDEPENDS = "frameworkd"
SRC_URI += "\
file://0002-Get-GPS-data-via-the-gypsy-interface.patch;patch=1 \
file://0003-Try-to-request-the-GPS-resource-from-ousaged.patch;patch=1 \
+ file://0004-Update-fix-timestamp-from-gypsy.patch;patch=1 \
"
diff --git a/packages/tasks/task-openmoko-feed.bb b/packages/tasks/task-openmoko-feed.bb
index 63fcec904f..ecf2002473 100644
--- a/packages/tasks/task-openmoko-feed.bb
+++ b/packages/tasks/task-openmoko-feed.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Openmoko: Misc. Feed Items"
SECTION = "openmoko/base"
LICENSE = "MIT"
-PR = "r27"
+PR = "r34"
inherit task
@@ -9,7 +9,6 @@ RDEPENDS_task-openmoko-feed = "\
aspell enchant \
openmoko-agpsui \
gypsy \
- py-odeviced \
gsm0710muxd \
ppp \
bluez-hcidump \
@@ -29,8 +28,7 @@ RDEPENDS_task-openmoko-feed = "\
nano \
ntpclient ntp \
openssh openssh-scp openssh-ssh openssh-sshd openssh-sftp openssh-misc \
- python python-pygtk python-pyserial \
-# python-efl \
+ python python-pygtk python-pyserial python-gst \
ruby \
libsdl-x11 libsdl-mixer libsdl-net libsdl-ttf \
settingsgui \
@@ -40,18 +38,57 @@ RDEPENDS_task-openmoko-feed = "\
vnc \
wxwidgets \
x11vnc \
- libswt3.4-gtk-java \
- cacao \
- jamvm \
- classpath \
+# libswt3.4-gtk-java \
+# cacao \
+# jamvm \
+# classpath \
gpsdrive \
asterisk \
- qtopia-phone \
- gnash \
+# gnash \
mono \
diversity-daemon \
diversity-nav \
diversity-maps-taipei \
+# om-maps-berlin \
+# om-maps-buenos-aires \
+# om-maps-london \
+# om-maps-new-york \
+# om-maps-paris \
+# om-maps-providence \
+# om-maps-san-francisco \
+# om-maps-sydney \
+# om-maps-taipei \
+# om-settings \
assassin \
+# assassin-thumbnail \
tangogps \
+# pyefl-sudoku \
+ minicom \
+ vim \
+# iotop \
+# evince \
+ epdf \
+ xprop \
+ xev \
+ xwininfo \
+ gpsd \
+ mc \
+ devmem2 \
+ bluez-utils-alsa \
+ tcpdump \
+ gdb \
+ lsof \
+# openmoko-set-root-password \
+# qtopia-phone-enable-debug \
+ git \
+ navit \
+ libnotify \
+ notification-daemon \
+ u-boot-openmoko \
+ libxine \
+# subversion \
+ task-openmoko-games \
+ xournal \
+ openvpn \
+ python-pygame \
"
diff --git a/packages/tasks/task-slugos.bb b/packages/tasks/task-slugos.bb
index 2d57cfee5a..f8d9d3501b 100644
--- a/packages/tasks/task-slugos.bb
+++ b/packages/tasks/task-slugos.bb
@@ -8,6 +8,7 @@ HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
PR = "r18"
PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
ALLOW_EMPTY = "1"
#----------------------------------------------------------------------------------
diff --git a/packages/telepathy/telepathy-python_0.14.0.bb b/packages/telepathy/telepathy-python_0.14.0.bb
index 5eec5b1fba..0898b321eb 100644
--- a/packages/telepathy/telepathy-python_0.14.0.bb
+++ b/packages/telepathy/telepathy-python_0.14.0.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Telepathy framework - Python package"
HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
LICENSE = "LGPL"
-RDEPENDS_${PN} += "dbus-python"
+RDEPENDS_${PN} += "python-dbus"
SRC_URI = "http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz "
diff --git a/packages/u-boot/u-boot-git/akita/.mtn2git_empty b/packages/u-boot/u-boot-git/akita/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/u-boot/u-boot-git/akita/.mtn2git_empty
diff --git a/packages/u-boot/u-boot-git/akita/akita-standard-partitioning.patch b/packages/u-boot/u-boot-git/akita/akita-standard-partitioning.patch
new file mode 100644
index 0000000000..9d65de8daa
--- /dev/null
+++ b/packages/u-boot/u-boot-git/akita/akita-standard-partitioning.patch
@@ -0,0 +1,112 @@
+--- git/include/configs/akita.h 2007-12-26 17:57:00.000000000 +0000
++++ git/include/configs/akita.h 2007-12-26 18:07:47.000000000 +0000
+@@ -81,35 +81,35 @@
+ "if testkey 101 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x00060000 0x00540000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192 mtdparts=sharpsl-nand-0:7168k(smf),59392k(root),-(home); " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 2 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 rootwait fbcon=rotate:1; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 18 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 rootwait fbcon=rotate:1; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 3 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 rootwait fbcon=rotate:1; " \
+ "bootm; " \
+ "fi; " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1 mtdparts=sharpsl-nand-0:7168k(smf),59392k(root),-(home); " \
+ "bootm; "
+ #else
+ #define CONFIG_BOOTCOMMAND "" // "run boot_flash"
+ #endif
+
+-#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192 mtdparts=sharpsl-nand-0:7168k(smf),59392k(root),-(home)"
+ #define CONFIG_SETUP_MEMORY_TAGS 1
+ #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
+ #define CONFIG_INITRD_TAG 1
+@@ -302,9 +302,9 @@
+ /* Note: fake mtd_id used, no linux mtd map file */
+
+ #define CONFIG_JFFS2_CMDLINE
+-#define MTDIDS_DEFAULT "nand0=laze-0"
++#define MTDIDS_DEFAULT "nand0=sharpsl-nand"
+ //#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
+-#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++#define MTDPARTS_DEFAULT "mtdparts=sharpsl-nand-0:7168k(smf),59392k(root),-(home)"
+
+ /*
+ * SHARP SL NAND logical partition
+--- git/include/configs/akita.h 2007-12-26 17:57:00.000000000 +0000
++++ git/include/configs/akita.h 2007-12-26 18:07:47.000000000 +0000
+@@ -81,35 +81,35 @@
+ "if testkey 101 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x00060000 0x00540000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192 mtdparts=sharpsl-nand-0:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home); " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 2 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 rootwait fbcon=rotate:1; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 18 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 rootwait fbcon=rotate:1; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 3 ; " \
+ "then " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 rootwait fbcon=rotate:1; " \
+ "bootm; " \
+ "fi; " \
+ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1 mtdparts=sharpsl-nand-0:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home); " \
+ "bootm; "
+ #else
+ #define CONFIG_BOOTCOMMAND "" // "run boot_flash"
+ #endif
+
+-#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192 mtdparts=sharpsl-nand-0:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home)"
+ #define CONFIG_SETUP_MEMORY_TAGS 1
+ #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
+ #define CONFIG_INITRD_TAG 1
+@@ -302,9 +302,9 @@
+ /* Note: fake mtd_id used, no linux mtd map file */
+
+ #define CONFIG_JFFS2_CMDLINE
+-#define MTDIDS_DEFAULT "nand0=laze-0"
++#define MTDIDS_DEFAULT "nand0=sharpsl-nand"
+ //#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
+-#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++#define MTDPARTS_DEFAULT "mtdparts=sharpsl-nand-0:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home)"
+
+ /*
+ * SHARP SL NAND logical partition
diff --git a/packages/u-boot/u-boot-git/c7x0/.mtn2git_empty b/packages/u-boot/u-boot-git/c7x0/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/u-boot/u-boot-git/c7x0/.mtn2git_empty
diff --git a/packages/u-boot/u-boot-git/c7x0/corgi-standard-partitioning.patch b/packages/u-boot/u-boot-git/c7x0/corgi-standard-partitioning.patch
new file mode 100644
index 0000000000..205f05b53e
--- /dev/null
+++ b/packages/u-boot/u-boot-git/c7x0/corgi-standard-partitioning.patch
@@ -0,0 +1,112 @@
+--- git/include/configs/corgi.h 2007-12-26 17:57:00.000000000 +0000
++++ git/include/configs/corgi.h 2007-12-26 18:07:47.000000000 +0000
+@@ -81,35 +81,35 @@
+ "if testkey 101 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x00060000 0x00540000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192 mtdparts=sharpsl-nand:7168k(smf),54272k(root),-(home); " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 2 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 rootwait; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 18 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 rootwait; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 3 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 rootwait; " \
+ "bootm; " \
+ "fi; " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=sharpsl-nand:7168k(smf),54272k(root),-(home); " \
+ "bootm; "
+ #else
+ #define CONFIG_BOOTCOMMAND "" // "run boot_flash"
+ #endif
+
+-#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192 mtdparts=sharpsl-nand:7168k(smf),54272k(root),-(home)"
+ #define CONFIG_SETUP_MEMORY_TAGS 1
+ #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
+ #define CONFIG_INITRD_TAG 1
+@@ -304,9 +304,9 @@
+ /* Note: fake mtd_id used, no linux mtd map file */
+
+ #define CONFIG_JFFS2_CMDLINE
+-#define MTDIDS_DEFAULT "nand0=laze-0"
++#define MTDIDS_DEFAULT "nand0=sharpsl-nand"
+ //#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
+-#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++#define MTDPARTS_DEFAULT "mtdparts=sharpsl-nand:7168k(smf),54272k(root),-(home)"
+
+ /*
+ * SHARP SL NAND logical partition
+--- git/include/configs/corgi.h 2007-12-26 17:57:00.000000000 +0000
++++ git/include/configs/corgi.h 2007-12-26 18:07:47.000000000 +0000
+@@ -81,35 +81,35 @@
+ "if testkey 101 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x00060000 0x00540000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192 mtdparts=sharpsl-nand:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home); " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 2 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 rootwait; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 18 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 rootwait; " \
+ "bootm; " \
+ "fi; " \
+ "if testkey 3 ; " \
+ "then " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 rootwait; " \
+ "bootm; " \
+ "fi; " \
+ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
+- "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=sharpsl-nand:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home); " \
+ "bootm; "
+ #else
+ #define CONFIG_BOOTCOMMAND "" // "run boot_flash"
+ #endif
+
+-#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192 mtdparts=sharpsl-nand:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home)"
+ #define CONFIG_SETUP_MEMORY_TAGS 1
+ #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
+ #define CONFIG_INITRD_TAG 1
+@@ -304,9 +304,9 @@
+ /* Note: fake mtd_id used, no linux mtd map file */
+
+ #define CONFIG_JFFS2_CMDLINE
+-#define MTDIDS_DEFAULT "nand0=laze-0"
++#define MTDIDS_DEFAULT "nand0=sharpsl-nand"
+ //#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
+-#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++#define MTDPARTS_DEFAULT "mtdparts=sharpsl-nand:7168k(smf),CUSTOM_ROOTFS_SIZE(root),-(home)"
+
+ /*
+ * SHARP SL NAND logical partition
diff --git a/packages/u-boot/u-boot-git/pdaXrom-u-boot.patch b/packages/u-boot/u-boot-git/pdaXrom-u-boot.patch
new file mode 100644
index 0000000000..9ceadde6dc
--- /dev/null
+++ b/packages/u-boot/u-boot-git/pdaXrom-u-boot.patch
@@ -0,0 +1,4934 @@
+diff -Nur u-boot-2006-04-18-1106/CREDITS u-boot-2006-04-18-1106-new/CREDITS
+--- u-boot-2006-04-18-1106/CREDITS 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/CREDITS 2006-07-05 11:19:44.000000000 +0000
+@@ -93,6 +93,12 @@
+ E: jonathan.debruyne@siemens.atea.be
+ D: Port to Siemens IAD210 board
+
++N: Alexander Chukov
++E: sash@pdaXrom.org
++D: initial support for Sharp Zaurus SL-C1000/3100
++D: initial support for Sharp Zaurus SL-C7x0/C860
++W: http://www.pdaXrom.org
++
+ N: Ken Chou
+ E: kchou@ieee.org
+ D: Support for A3000 SBC board
+diff -Nur u-boot-2006-04-18-1106/MAINTAINERS u-boot-2006-04-18-1106-new/MAINTAINERS
+--- u-boot-2006-04-18-1106/MAINTAINERS 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/MAINTAINERS 2006-07-05 11:19:44.000000000 +0000
+@@ -379,6 +379,11 @@
+
+ AT91RM9200DK at91rm9200
+
++Alexander Chukov <sash@pdaXrom.org>
++
++ akita xscale
++ corgi xscale
++
+ George G. Davis <gdavis@mvista.com>
+
+ assabet SA1100
+diff -Nur u-boot-2006-04-18-1106/MAKEALL u-boot-2006-04-18-1106-new/MAKEALL
+--- u-boot-2006-04-18-1106/MAKEALL 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/MAKEALL 2006-07-05 11:19:44.000000000 +0000
+@@ -206,7 +206,7 @@
+ adsvix cerf250 cradle csb226 \
+ delta innokom lubbock pxa255_idp \
+ wepep250 xaeniax xm250 xsengine \
+- zylonite \
++ zylonite akita corgi \
+ "
+
+ LIST_ixp="ixdp425"
+diff -Nur u-boot-2006-04-18-1106/Makefile u-boot-2006-04-18-1106-new/Makefile
+--- u-boot-2006-04-18-1106/Makefile 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/Makefile 2006-07-05 11:19:44.000000000 +0000
+@@ -61,7 +61,7 @@
+ CROSS_COMPILE = powerpc-linux-
+ endif
+ ifeq ($(ARCH),arm)
+-CROSS_COMPILE = arm-linux-
++CROSS_COMPILE = armv5tel-linux-
+ endif
+ ifeq ($(ARCH),i386)
+ ifeq ($(HOSTARCH),i386)
+@@ -1709,6 +1709,12 @@
+ zylonite_config :
+ @./mkconfig $(@:_config=) arm pxa zylonite
+
++akita_config : unconfig
++ @./mkconfig $(@:_config=) arm pxa akita
++
++corgi_config : unconfig
++ @./mkconfig $(@:_config=) arm pxa corgi
++
+ #########################################################################
+ ## ARM1136 Systems
+ #########################################################################
+diff -Nur u-boot-2006-04-18-1106/README u-boot-2006-04-18-1106-new/README
+--- u-boot-2006-04-18-1106/README 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/README 2006-07-05 11:19:44.000000000 +0000
+@@ -311,7 +311,8 @@
+ CONFIG_KB9202, CONFIG_LART, CONFIG_LPD7A400,
+ CONFIG_LUBBOCK, CONFIG_OSK_OMAP5912, CONFIG_OMAP2420H4,
+ CONFIG_SHANNON, CONFIG_P2_OMAP730, CONFIG_SMDK2400,
+- CONFIG_SMDK2410, CONFIG_TRAB, CONFIG_VCMA9
++ CONFIG_SMDK2410, CONFIG_TRAB, CONFIG_VCMA9,
++ CONFIG_AKITA, CONFIG_CORGI
+
+ MicroBlaze based boards:
+ ------------------------
+diff -Nur u-boot-2006-04-18-1106/board/akita/Makefile u-boot-2006-04-18-1106-new/board/akita/Makefile
+--- u-boot-2006-04-18-1106/board/akita/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/Makefile 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,51 @@
++#
++# board/akita/Makefile
++#
++# (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++#
++# (C) Copyright 2000
++# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++#
++# See file CREDITS for list of people who contributed to this
++# project.
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# 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, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++# MA 02111-1307 USA
++#
++
++include $(TOPDIR)/config.mk
++
++LIB = lib$(BOARD).a
++
++OBJS := akita.o nand.o kbd.o
++SOBJS := lowlevel_init.o
++
++$(LIB): $(OBJS) $(SOBJS)
++ $(AR) crv $@ $(OBJS) $(SOBJS)
++
++clean:
++ rm -f $(SOBJS) $(OBJS)
++
++distclean: clean
++ rm -f $(LIB) core *.bak .depend
++
++#########################################################################
++
++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
++
++-include .depend
++
++#########################################################################
+diff -Nur u-boot-2006-04-18-1106/board/akita/akita.c u-boot-2006-04-18-1106-new/board/akita/akita.c
+--- u-boot-2006-04-18-1106/board/akita/akita.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/akita.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,89 @@
++/*
++ * board/akita/akita.c
++ *
++ * Configuration settings for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++void set_turbo_mode(void);
++
++/* ------------------------------------------------------------------------- */
++
++/*
++ * Miscellaneous platform dependent initialisations
++ */
++
++int board_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ /* memory and cpu-speed are setup before relocation */
++ /* so we do _nothing_ here */
++
++ /* arch number of Sharp Zaurus Akita : MACH_TYPE_AKITA */
++ gd->bd->bi_arch_number = 744;
++
++ /* adress of boot parameters */
++ gd->bd->bi_boot_params = 0xa0000100;
++
++ /* set cpu turbo mode */
++ set_turbo_mode();
++
++ spitzkbd_init();
++
++ return 0;
++}
++
++int board_late_init(void)
++{
++ setenv("stdout", "serial");
++ setenv("stderr", "serial");
++ return 0;
++}
++
++
++int dram_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
++ gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
++ gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
++ gd->bd->bi_dram[2].start = PHYS_SDRAM_3;
++ gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE;
++ gd->bd->bi_dram[3].start = PHYS_SDRAM_4;
++ gd->bd->bi_dram[3].size = PHYS_SDRAM_4_SIZE;
++
++ return 0;
++}
+diff -Nur u-boot-2006-04-18-1106/board/akita/config.mk u-boot-2006-04-18-1106-new/board/akita/config.mk
+--- u-boot-2006-04-18-1106/board/akita/config.mk 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/config.mk 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1 @@
++TEXT_BASE = 0xa3000000
+diff -Nur u-boot-2006-04-18-1106/board/akita/kbd.c u-boot-2006-04-18-1106-new/board/akita/kbd.c
+--- u-boot-2006-04-18-1106/board/akita/kbd.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/kbd.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,261 @@
++/*
++ * board/akita/kbd.c
++ *
++ * Keyboard driver for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from:
++ *
++ * linux/drivers/input/keyboard/spitzkbd.c
++ *
++ * Keyboard driver for Sharp Spitz, Borzoi and Akita (SL-Cxx00 series)
++ *
++ * Copyright (C) 2005 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <command.h>
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++#define GPIO_DFLT_LOW 0x400
++#define GPIO_DFLT_HIGH 0x800
++
++void pxa_gpio_mode(int gpio_mode)
++{
++ int gpio = gpio_mode & GPIO_MD_MASK_NR;
++ int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8;
++ int gafr;
++
++ if (gpio_mode & GPIO_DFLT_LOW)
++ GPCR(gpio) = GPIO_bit(gpio);
++ else if (gpio_mode & GPIO_DFLT_HIGH)
++ GPSR(gpio) = GPIO_bit(gpio);
++ if (gpio_mode & GPIO_MD_MASK_DIR)
++ GPDR(gpio) |= GPIO_bit(gpio);
++ else
++ GPDR(gpio) &= ~GPIO_bit(gpio);
++ gafr = GAFR(gpio) & ~(0x3 << (((gpio) & 0xf)*2));
++ GAFR(gpio) = gafr | (fn << (((gpio) & 0xf)*2));
++}
++
++#define SPITZ_KEY_STROBE_NUM (11)
++#define SPITZ_KEY_SENSE_NUM (7)
++
++#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
++#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
++#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
++#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
++#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
++#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
++#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
++#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
++
++#define SPITZ_GPIO_KEY_STROBE0 88
++#define SPITZ_GPIO_KEY_STROBE1 23
++#define SPITZ_GPIO_KEY_STROBE2 24
++#define SPITZ_GPIO_KEY_STROBE3 25
++#define SPITZ_GPIO_KEY_STROBE4 26
++#define SPITZ_GPIO_KEY_STROBE5 27
++#define SPITZ_GPIO_KEY_STROBE6 52
++#define SPITZ_GPIO_KEY_STROBE7 103
++#define SPITZ_GPIO_KEY_STROBE8 107
++#define SPITZ_GPIO_KEY_STROBE9 108
++#define SPITZ_GPIO_KEY_STROBE10 114
++
++#define SPITZ_GPIO_KEY_SENSE0 12
++#define SPITZ_GPIO_KEY_SENSE1 17
++#define SPITZ_GPIO_KEY_SENSE2 91
++#define SPITZ_GPIO_KEY_SENSE3 34
++#define SPITZ_GPIO_KEY_SENSE4 36
++#define SPITZ_GPIO_KEY_SENSE5 38
++#define SPITZ_GPIO_KEY_SENSE6 39
++
++#define SPITZ_GPIO_ON_KEY (95)
++
++#define KB_ROWS 7
++#define KB_COLS 11
++#define KB_ROWMASK(r) (1 << (r))
++#define SCANCODE(r,c) (((r)<<4) + (c) + 1)
++#define NR_SCANCODES ((KB_ROWS<<4) + 1)
++
++#define SCAN_INTERVAL (50) /* ms */
++#define HINGE_SCAN_INTERVAL (150) /* ms */
++
++#define KB_DISCHARGE_DELAY 10
++#define KB_ACTIVATE_DELAY 10
++
++static int spitz_strobes[] = {
++ SPITZ_GPIO_KEY_STROBE0,
++ SPITZ_GPIO_KEY_STROBE1,
++ SPITZ_GPIO_KEY_STROBE2,
++ SPITZ_GPIO_KEY_STROBE3,
++ SPITZ_GPIO_KEY_STROBE4,
++ SPITZ_GPIO_KEY_STROBE5,
++ SPITZ_GPIO_KEY_STROBE6,
++ SPITZ_GPIO_KEY_STROBE7,
++ SPITZ_GPIO_KEY_STROBE8,
++ SPITZ_GPIO_KEY_STROBE9,
++ SPITZ_GPIO_KEY_STROBE10,
++};
++
++static int spitz_senses[] = {
++ SPITZ_GPIO_KEY_SENSE0,
++ SPITZ_GPIO_KEY_SENSE1,
++ SPITZ_GPIO_KEY_SENSE2,
++ SPITZ_GPIO_KEY_SENSE3,
++ SPITZ_GPIO_KEY_SENSE4,
++ SPITZ_GPIO_KEY_SENSE5,
++ SPITZ_GPIO_KEY_SENSE6,
++};
++
++static inline void spitzkbd_discharge_all(void)
++{
++ /* STROBE All HiZ */
++ GPCR0 = SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR0 &= ~SPITZ_GPIO_G0_STROBE_BIT;
++ GPCR1 = SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR1 &= ~SPITZ_GPIO_G1_STROBE_BIT;
++ GPCR2 = SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR2 &= ~SPITZ_GPIO_G2_STROBE_BIT;
++ GPCR3 = SPITZ_GPIO_G3_STROBE_BIT;
++ GPDR3 &= ~SPITZ_GPIO_G3_STROBE_BIT;
++}
++
++static inline void spitzkbd_activate_all(void)
++{
++ /* STROBE ALL -> High */
++ GPSR0 = SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR0 |= SPITZ_GPIO_G0_STROBE_BIT;
++ GPSR1 = SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR1 |= SPITZ_GPIO_G1_STROBE_BIT;
++ GPSR2 = SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR2 |= SPITZ_GPIO_G2_STROBE_BIT;
++ GPSR3 = SPITZ_GPIO_G3_STROBE_BIT;
++ GPDR3 |= SPITZ_GPIO_G3_STROBE_BIT;
++
++ udelay(KB_DISCHARGE_DELAY);
++}
++
++static inline void spitzkbd_activate_col(int col)
++{
++ int gpio = spitz_strobes[col];
++ GPDR0 &= ~SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR1 &= ~SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR2 &= ~SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR3 &= ~SPITZ_GPIO_G3_STROBE_BIT;
++ GPSR(gpio) = GPIO_bit(gpio);
++ GPDR(gpio) |= GPIO_bit(gpio);
++}
++
++static inline void spitzkbd_reset_col(int col)
++{
++ int gpio = spitz_strobes[col];
++ GPDR0 &= ~SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR1 &= ~SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR2 &= ~SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR3 &= ~SPITZ_GPIO_G3_STROBE_BIT;
++ GPCR(gpio) = GPIO_bit(gpio);
++ GPDR(gpio) |= GPIO_bit(gpio);
++}
++
++static inline int spitzkbd_get_row_status(int col)
++{
++ return ((GPLR0 >> 12) & 0x01) | ((GPLR0 >> 16) & 0x02)
++ | ((GPLR2 >> 25) & 0x04) | ((GPLR1 << 1) & 0x08)
++ | ((GPLR1 >> 0) & 0x10) | ((GPLR1 >> 1) & 0x60);
++}
++
++static int spitzkbd_scankeyboard(void)
++{
++ unsigned int row, col, rowd;
++ unsigned int num_pressed, pwrkey = ((GPLR(SPITZ_GPIO_ON_KEY) & GPIO_bit(SPITZ_GPIO_ON_KEY)) != 0);
++ int ret = -1;
++
++ num_pressed = 0;
++ for (col = 0; col < KB_COLS; col++) {
++ spitzkbd_discharge_all();
++ udelay(KB_DISCHARGE_DELAY);
++
++ spitzkbd_activate_col(col);
++ udelay(KB_ACTIVATE_DELAY);
++
++ rowd = spitzkbd_get_row_status(col);
++ for (row = 0; row < KB_ROWS; row++) {
++ unsigned int scancode, pressed;
++
++ scancode = SCANCODE(row, col);
++ pressed = rowd & KB_ROWMASK(row);
++
++ if (pressed)
++ ret = scancode;
++ }
++ spitzkbd_reset_col(col);
++ }
++
++ spitzkbd_activate_all();
++
++ if (pwrkey)
++ return -2;
++
++ return ret;
++}
++
++void spitzkbd_init(void)
++{
++ int i;
++
++ /* Setup sense interrupts - RisingEdge Detect, sense lines as inputs */
++ for (i = 0; i < SPITZ_KEY_SENSE_NUM; i++)
++ pxa_gpio_mode(spitz_senses[i] | GPIO_IN);
++
++ /* Set Strobe lines as outputs - set high */
++ for (i = 0; i < SPITZ_KEY_STROBE_NUM; i++)
++ pxa_gpio_mode(spitz_strobes[i] | GPIO_OUT | GPIO_DFLT_HIGH);
++
++ pxa_gpio_mode(SPITZ_GPIO_ON_KEY | GPIO_IN);
++}
++
++int do_testkey(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
++{
++ int scan;
++
++ if (argc < 2)
++ return 1;
++
++ scan = spitzkbd_scankeyboard();
++
++
++// if (scan >= 0)
++// printf("Scan = %d\n", scan);
++// else
++// printf("Nothing!\n");
++
++ return !(simple_strtol(argv[1], NULL, 10) == scan);
++}
++
++U_BOOT_CMD(
++ testkey, 2, 1, do_testkey,
++ "testkey - compare pressed key with arg\n",
++ "<key scancode>"
++);
+diff -Nur u-boot-2006-04-18-1106/board/akita/lowlevel_init.S u-boot-2006-04-18-1106-new/board/akita/lowlevel_init.S
+--- u-boot-2006-04-18-1106/board/akita/lowlevel_init.S 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/lowlevel_init.S 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,135 @@
++/*
++ * board/akita/lowlevel_init.S
++ *
++ * Configuration settings for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * This was originally from the Lubbock u-boot port and from BLOB with cleanup
++ *
++ * NOTE: I haven't clean this up considerably, just enough to get it
++ * running. See hal_platform_setup.h for the source. See
++ * board/cradle/lowlevel_init.S for another PXA250 setup that is
++ * much cleaner.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++/* wait for coprocessor write complete */
++ .macro CPWAIT reg
++ mrc p15,0,\reg,c2,c0,0
++ mov \reg,\reg
++ sub pc,pc,#4
++ .endm
++
++/*********** Write out to HEX 7 segment leds *********/
++
++#undef DEBUG_HEXLOG
++
++#ifdef DEBUG_HEXLOG
++#define LEDCTL 0x08000040
++#define LEDDAT1 0x08000010
++#define LEDDAT2 0x08000014
++
++.macro wait, count
++ mov r10, \count
++0:
++ subs r10, r10, #1
++ bne 0b
++.endm
++
++.macro hexlog_init
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++ ldr r11, =LEDDAT1
++ mov r10, #0x0
++ str r10, [r11]
++.endm
++
++.macro hexlog, val
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++
++ ldr r11, =LEDDAT1
++ mov r10, \val
++ str r10, [r11]
++
++ wait #0x400000
++.endm
++
++#else
++
++.macro hexlog_init
++ nop
++.endm
++
++.macro hexlog, val
++ nop
++.endm
++
++#endif
++
++/***********************************/
++
++/*
++ * Memory setup
++ */
++
++.globl lowlevel_init
++lowlevel_init:
++
++ mov pc, lr
++
++.globl set_turbo_mode
++
++set_turbo_mode:
++ /* Turn on turbo mode */
++ mrc p14, 0, r2, c6, c0, 0
++ orr r2, r2, #0xB /* Turbo, Fast-Bus, Freq change**/
++ mcr p14, 0, r2, c6, c0, 0
++
++ /* Setup vectors */
++ ldr r0, =TEXT_BASE
++ ldr r1, =TEXT_BASE+0x40
++ ldr r2, =0x0
++1:
++ ldr r3, [r0]
++ str r3, [r2]
++ add r0, r0, #4
++ add r2, r2, #4
++ cmp r0, r1
++ bne 1b
++
++ ldr r0, =0x0
++ ldr r1, [r0, #4]
++ str r1, [r0]
++
++ mov pc, lr
+diff -Nur u-boot-2006-04-18-1106/board/akita/nand.c u-boot-2006-04-18-1106-new/board/akita/nand.c
+--- u-boot-2006-04-18-1106/board/akita/nand.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/nand.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,169 @@
++/*
++ * board/akita/nand.c
++ *
++ * NAND driver for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from mtd nand driver:
++ *
++ * drivers/mtd/nand/sharpsl.c
++ *
++ * Copyright (C) 2004 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_NAND)
++
++#include <nand.h>
++#include <linux/mtd/nand_ecc.h>
++
++static int sharpsl_io_base = CFG_NAND_BASE;
++
++/* register offset */
++#define ECCLPLB sharpsl_io_base+0x00 /* line parity 7 - 0 bit */
++#define ECCLPUB sharpsl_io_base+0x04 /* line parity 15 - 8 bit */
++#define ECCCP sharpsl_io_base+0x08 /* column parity 5 - 0 bit */
++#define ECCCNTR sharpsl_io_base+0x0C /* ECC byte counter */
++#define ECCCLRR sharpsl_io_base+0x10 /* cleare ECC */
++#define FLASHIO sharpsl_io_base+0x14 /* Flash I/O */
++#define FLASHCTL sharpsl_io_base+0x18 /* Flash Control */
++
++/* Flash control bit */
++#define FLRYBY (1 << 5)
++#define FLCE1 (1 << 4)
++#define FLWP (1 << 3)
++#define FLALE (1 << 2)
++#define FLCLE (1 << 1)
++#define FLCE0 (1 << 0)
++
++#define readb(address) *((volatile unsigned char *)(address))
++#define writeb(v, address) *((volatile unsigned char *)(address))=v
++
++/*
++ * hardware specific access to control-lines
++ */
++static void
++sharpsl_nand_hwcontrol(struct mtd_info* mtd, int cmd)
++{
++ switch (cmd) {
++ case NAND_CTL_SETCLE:
++ writeb(readb(FLASHCTL) | FLCLE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRCLE:
++ writeb(readb(FLASHCTL) & ~FLCLE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETALE:
++ writeb(readb(FLASHCTL) | FLALE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRALE:
++ writeb(readb(FLASHCTL) & ~FLALE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETNCE:
++ writeb(readb(FLASHCTL) & ~(FLCE0|FLCE1), FLASHCTL);
++ break;
++ case NAND_CTL_CLRNCE:
++ writeb(readb(FLASHCTL) | (FLCE0|FLCE1), FLASHCTL);
++ break;
++ }
++}
++
++static int
++sharpsl_nand_dev_ready(struct mtd_info* mtd)
++{
++ return !((readb(FLASHCTL) & FLRYBY) == 0);
++}
++
++static void
++sharpsl_nand_enable_hwecc(struct mtd_info* mtd, int mode)
++{
++ writeb(0 ,ECCCLRR);
++}
++
++static int
++sharpsl_nand_calculate_ecc(struct mtd_info* mtd, const u_char* dat,
++ u_char* ecc_code)
++{
++ ecc_code[0] = ~readb(ECCLPUB);
++ ecc_code[1] = ~readb(ECCLPLB);
++ ecc_code[2] = (~readb(ECCCP) << 2) | 0x03;
++ return readb(ECCCNTR) != 0;
++}
++
++static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
++
++static struct nand_bbt_descr sharpsl_akita_bbt = {
++ .options = 0,
++ .offs = 4,
++ .len = 1,
++ .pattern = scan_ff_pattern
++};
++
++static struct nand_oobinfo akita_oobinfo = {
++ .useecc = MTD_NANDECC_AUTOPLACE,
++ .eccbytes = 24,
++ .eccpos = {
++ 0x5, 0x1, 0x2, 0x3, 0x6, 0x7, 0x15, 0x11,
++ 0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23,
++ 0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37},
++ .oobfree = { {0x08, 0x09} }
++};
++
++/*
++ * Board-specific NAND initialization. The following members of the
++ * argument are board-specific (per include/linux/mtd/nand.h):
++ * - IO_ADDR_R?: address to read the 8 I/O lines of the flash device
++ * - IO_ADDR_W?: address to write the 8 I/O lines of the flash device
++ * - hwcontrol: hardwarespecific function for accesing control-lines
++ * - dev_ready: hardwarespecific function for accesing device ready/busy line
++ * - enable_hwecc?: function to enable (reset) hardware ecc generator. Must
++ * only be provided if a hardware ECC is available
++ * - eccmode: mode of ecc, see defines
++ * - chip_delay: chip dependent delay for transfering data from array to
++ * read regs (tR)
++ * - options: various chip options. They can partly be set to inform
++ * nand_scan about special functionality. See the defines for further
++ * explanation
++ * Members with a "?" were not set in the merged testing-NAND branch,
++ * so they are not set here either.
++ */
++void board_nand_init(struct nand_chip *nand)
++{
++ writeb(readb(FLASHCTL) | FLWP, FLASHCTL);
++
++ nand->IO_ADDR_R = FLASHIO;
++ nand->IO_ADDR_W = FLASHIO;
++ nand->hwcontrol = sharpsl_nand_hwcontrol;
++ nand->dev_ready = sharpsl_nand_dev_ready;
++ nand->eccmode = NAND_ECC_HW3_256;
++ nand->chip_delay = 15;
++ nand->options = NAND_SAMSUNG_LP_OPTIONS;
++ nand->badblock_pattern = &sharpsl_akita_bbt;
++ nand->autooob = &akita_oobinfo;
++ nand->enable_hwecc = sharpsl_nand_enable_hwecc;
++ nand->calculate_ecc = sharpsl_nand_calculate_ecc;
++ nand->correct_data = nand_correct_data;
++}
++#endif /* (CONFIG_COMMANDS & CFG_CMD_NAND) */
+diff -Nur u-boot-2006-04-18-1106/board/akita/u-boot.lds u-boot-2006-04-18-1106-new/board/akita/u-boot.lds
+--- u-boot-2006-04-18-1106/board/akita/u-boot.lds 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/u-boot.lds 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,56 @@
++/*
++ * (C) Copyright 2000
++ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
++OUTPUT_ARCH(arm)
++ENTRY(_start)
++SECTIONS
++{
++ . = 0x00000000;
++
++ . = ALIGN(4);
++ .text :
++ {
++ cpu/pxa/start.o (.text)
++ *(.text)
++ }
++
++ . = ALIGN(4);
++ .rodata : { *(.rodata) }
++
++ . = ALIGN(4);
++ .data : { *(.data) }
++
++ . = ALIGN(4);
++ .got : { *(.got) }
++
++ . = .;
++ __u_boot_cmd_start = .;
++ .u_boot_cmd : { *(.u_boot_cmd) }
++ __u_boot_cmd_end = .;
++
++ . = ALIGN(4);
++ __bss_start = .;
++ .bss : { *(.bss) }
++ _end = .;
++}
+diff -Nur u-boot-2006-04-18-1106/board/corgi/Makefile u-boot-2006-04-18-1106-new/board/corgi/Makefile
+--- u-boot-2006-04-18-1106/board/corgi/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/Makefile 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,51 @@
++#
++# board/corgi/Makefile
++#
++# (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++#
++# (C) Copyright 2000
++# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++#
++# See file CREDITS for list of people who contributed to this
++# project.
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# 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, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++# MA 02111-1307 USA
++#
++
++include $(TOPDIR)/config.mk
++
++LIB = lib$(BOARD).a
++
++OBJS := corgi.o nand.o kbd.o
++SOBJS := lowlevel_init.o
++
++$(LIB): $(OBJS) $(SOBJS)
++ $(AR) crv $@ $(OBJS) $(SOBJS)
++
++clean:
++ rm -f $(SOBJS) $(OBJS)
++
++distclean: clean
++ rm -f $(LIB) core *.bak .depend
++
++#########################################################################
++
++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
++
++-include .depend
++
++#########################################################################
+diff -Nur u-boot-2006-04-18-1106/board/corgi/config.mk u-boot-2006-04-18-1106-new/board/corgi/config.mk
+--- u-boot-2006-04-18-1106/board/corgi/config.mk 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/config.mk 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1 @@
++TEXT_BASE = 0xa1000000
+diff -Nur u-boot-2006-04-18-1106/board/corgi/corgi.c u-boot-2006-04-18-1106-new/board/corgi/corgi.c
+--- u-boot-2006-04-18-1106/board/corgi/corgi.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/corgi.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,87 @@
++/*
++ * board/corgi/corgi.c
++ *
++ * Configuration settings for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++/* ------------------------------------------------------------------------- */
++
++/*
++ * Miscellaneous platform dependent initialisations
++ */
++
++int board_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ /* memory and cpu-speed are setup before relocation */
++ /* so we do _nothing_ here */
++
++ /* arch number of Sharp Zaurus Corgi : MACH_TYPE_CORGI */
++ gd->bd->bi_arch_number = 423;
++
++ /* adress of boot parameters */
++ gd->bd->bi_boot_params = 0xa0000100;
++
++ /* set cpu turbo mode */
++ set_turbo_mode();
++
++ corgikbd_init();
++
++ return 0;
++}
++
++int board_late_init(void)
++{
++ setenv("stdout", "serial");
++ setenv("stderr", "serial");
++ return 0;
++}
++
++
++int dram_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
++ gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
++ gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
++ gd->bd->bi_dram[2].start = PHYS_SDRAM_3;
++ gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE;
++ gd->bd->bi_dram[3].start = PHYS_SDRAM_4;
++ gd->bd->bi_dram[3].size = PHYS_SDRAM_4_SIZE;
++
++ return 0;
++}
+diff -Nur u-boot-2006-04-18-1106/board/corgi/kbd.c u-boot-2006-04-18-1106-new/board/corgi/kbd.c
+--- u-boot-2006-04-18-1106/board/corgi/kbd.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/kbd.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,202 @@
++/*
++ * board/corgi/kbd.c
++ *
++ * Keyboard driver for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from:
++ *
++ * linux/drivers/input/keyboard/spitzkbd.c
++ *
++ * Keyboard driver for Sharp Corgi models (SL-C7xx)
++ *
++ * Copyright (C) 2005 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <command.h>
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++#define GPIO_DFLT_LOW 0x400
++#define GPIO_DFLT_HIGH 0x800
++
++void pxa_gpio_mode(int gpio_mode)
++{
++ int gpio = gpio_mode & GPIO_MD_MASK_NR;
++ int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8;
++ int gafr;
++
++ if (gpio_mode & GPIO_DFLT_LOW)
++ GPCR(gpio) = GPIO_bit(gpio);
++ else if (gpio_mode & GPIO_DFLT_HIGH)
++ GPSR(gpio) = GPIO_bit(gpio);
++ if (gpio_mode & GPIO_MD_MASK_DIR)
++ GPDR(gpio) |= GPIO_bit(gpio);
++ else
++ GPDR(gpio) &= ~GPIO_bit(gpio);
++ gafr = GAFR(gpio) & ~(0x3 << (((gpio) & 0xf)*2));
++ GAFR(gpio) = gafr | (fn << (((gpio) & 0xf)*2));
++}
++
++/*
++ * Corgi Keyboard Definitions
++ */
++#define CORGI_KEY_STROBE_NUM (12)
++#define CORGI_KEY_SENSE_NUM (8)
++#define CORGI_GPIO_ALL_STROBE_BIT (0x00003ffc)
++#define CORGI_GPIO_HIGH_SENSE_BIT (0xfc000000)
++#define CORGI_GPIO_HIGH_SENSE_RSHIFT (26)
++#define CORGI_GPIO_LOW_SENSE_BIT (0x00000003)
++#define CORGI_GPIO_LOW_SENSE_LSHIFT (6)
++#define CORGI_GPIO_STROBE_BIT(a) GPIO_bit(66+(a))
++#define CORGI_GPIO_SENSE_BIT(a) GPIO_bit(58+(a))
++#define CORGI_GAFR_ALL_STROBE_BIT (0x0ffffff0)
++#define CORGI_GAFR_HIGH_SENSE_BIT (0xfff00000)
++#define CORGI_GAFR_LOW_SENSE_BIT (0x0000000f)
++#define CORGI_GPIO_KEY_SENSE(a) (58+(a))
++#define CORGI_GPIO_KEY_STROBE(a) (66+(a))
++
++#define CORGI_GPIO_AK_INT (4) /* Headphone Jack Control Interrupt */
++
++#define KB_ROWS 8
++#define KB_COLS 12
++#define KB_ROWMASK(r) (1 << (r))
++#define SCANCODE(r,c) ( ((r)<<4) + (c) + 1 )
++/* zero code, 124 scancodes */
++#define NR_SCANCODES ( SCANCODE(KB_ROWS-1,KB_COLS-1) +1 +1 )
++
++#define SCAN_INTERVAL (50) /* ms */
++#define HINGE_SCAN_INTERVAL (250) /* ms */
++
++#define KB_DISCHARGE_DELAY 10
++#define KB_ACTIVATE_DELAY 10
++
++static inline void corgikbd_discharge_all(void)
++{
++ /* STROBE All HiZ */
++ GPCR2 = CORGI_GPIO_ALL_STROBE_BIT;
++ GPDR2 &= ~CORGI_GPIO_ALL_STROBE_BIT;
++}
++
++static inline void corgikbd_activate_all(void)
++{
++ /* STROBE ALL -> High */
++ GPSR2 = CORGI_GPIO_ALL_STROBE_BIT;
++ GPDR2 |= CORGI_GPIO_ALL_STROBE_BIT;
++
++ udelay(KB_DISCHARGE_DELAY);
++
++ /* Clear any interrupts we may have triggered when altering the GPIO lines */
++ GEDR1 = CORGI_GPIO_HIGH_SENSE_BIT;
++ GEDR2 = CORGI_GPIO_LOW_SENSE_BIT;
++}
++
++static inline void corgikbd_activate_col(int col)
++{
++ /* STROBE col -> High, not col -> HiZ */
++ GPSR2 = CORGI_GPIO_STROBE_BIT(col);
++ GPDR2 = (GPDR2 & ~CORGI_GPIO_ALL_STROBE_BIT) | CORGI_GPIO_STROBE_BIT(col);
++}
++
++static inline void corgikbd_reset_col(int col)
++{
++ /* STROBE col -> Low */
++ GPCR2 = CORGI_GPIO_STROBE_BIT(col);
++ /* STROBE col -> out, not col -> HiZ */
++ GPDR2 = (GPDR2 & ~CORGI_GPIO_ALL_STROBE_BIT) | CORGI_GPIO_STROBE_BIT(col);
++}
++
++#define GET_ROWS_STATUS(c) (((GPLR1 & CORGI_GPIO_HIGH_SENSE_BIT) >> CORGI_GPIO_HIGH_SENSE_RSHIFT) | ((GPLR2 & CORGI_GPIO_LOW_SENSE_BIT) << CORGI_GPIO_LOW_SENSE_LSHIFT))
++
++static int corgikbd_scankeyboard(void)
++{
++ unsigned int row, col, rowd;
++ unsigned int num_pressed;
++ int ret = -1;
++
++ num_pressed = 0;
++ for (col = 0; col < KB_COLS; col++) {
++ corgikbd_discharge_all();
++ udelay(KB_DISCHARGE_DELAY);
++
++ corgikbd_activate_col(col);
++ udelay(KB_ACTIVATE_DELAY);
++
++ rowd = GET_ROWS_STATUS(col);
++ for (row = 0; row < KB_ROWS; row++) {
++ unsigned int scancode, pressed;
++
++ scancode = SCANCODE(row, col);
++ pressed = rowd & KB_ROWMASK(row);
++
++ if (pressed)
++ ret = scancode;
++ }
++ corgikbd_reset_col(col);
++ }
++
++ corgikbd_activate_all();
++
++ return ret;
++}
++
++void corgikbd_init(void)
++{
++ int i;
++
++ /* Setup sense interrupts - RisingEdge Detect, sense lines as inputs */
++ for (i = 0; i < CORGI_KEY_SENSE_NUM; i++)
++ pxa_gpio_mode(CORGI_GPIO_KEY_SENSE(i) | GPIO_IN);
++
++ /* Set Strobe lines as outputs - set high */
++ for (i = 0; i < CORGI_KEY_STROBE_NUM; i++)
++ pxa_gpio_mode(CORGI_GPIO_KEY_STROBE(i) | GPIO_OUT | GPIO_DFLT_HIGH);
++
++ /* Setup the headphone jack as an input */
++ pxa_gpio_mode(CORGI_GPIO_AK_INT | GPIO_IN);
++}
++
++int do_testkey(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
++{
++ int scan;
++
++ if (argc < 2)
++ return 1;
++
++ scan = corgikbd_scankeyboard();
++
++
++// if (scan >= 0)
++// printf("Scan = %d\n", scan);
++// else
++// printf("Nothing!\n");
++
++ return !(simple_strtol(argv[1], NULL, 10) == scan);
++}
++
++U_BOOT_CMD(
++ testkey, 2, 1, do_testkey,
++ "testkey - compare pressed key with arg\n",
++ "<key scancode>"
++);
+diff -Nur u-boot-2006-04-18-1106/board/corgi/lowlevel_init.S u-boot-2006-04-18-1106-new/board/corgi/lowlevel_init.S
+--- u-boot-2006-04-18-1106/board/corgi/lowlevel_init.S 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/lowlevel_init.S 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,136 @@
++/*
++ * board/corgi/lowlevel_init.S
++ *
++ * Configuration settings for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * This was originally from the Lubbock u-boot port and from BLOB with cleanup
++ *
++ * NOTE: I haven't clean this up considerably, just enough to get it
++ * running. See hal_platform_setup.h for the source. See
++ * board/cradle/lowlevel_init.S for another PXA250 setup that is
++ * much cleaner.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++/* wait for coprocessor write complete */
++ .macro CPWAIT reg
++ mrc p15,0,\reg,c2,c0,0
++ mov \reg,\reg
++ sub pc,pc,#4
++ .endm
++
++/*********** Write out to HEX 7 segment leds *********/
++
++#undef DEBUG_HEXLOG
++
++#ifdef DEBUG_HEXLOG
++#define LEDCTL 0x08000040
++#define LEDDAT1 0x08000010
++#define LEDDAT2 0x08000014
++
++.macro wait, count
++ mov r10, \count
++0:
++ subs r10, r10, #1
++ bne 0b
++.endm
++
++.macro hexlog_init
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++ ldr r11, =LEDDAT1
++ mov r10, #0x0
++ str r10, [r11]
++.endm
++
++.macro hexlog, val
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++
++ ldr r11, =LEDDAT1
++ mov r10, \val
++ str r10, [r11]
++
++ wait #0x400000
++.endm
++
++#else
++
++.macro hexlog_init
++ nop
++.endm
++
++.macro hexlog, val
++ nop
++.endm
++
++#endif
++
++/***********************************/
++
++/*
++ * Memory setup
++ */
++
++.globl lowlevel_init
++lowlevel_init:
++
++ mov pc, lr
++
++.globl set_turbo_mode
++
++set_turbo_mode:
++ /* Turn on turbo mode */
++ mrc p14, 0, r2, c6, c0, 0
++ orr r2, r2, #0x3 /* Turbo, Freq change */
++ mcr p14, 0, r2, c6, c0, 0
++
++
++ /* Setup vectors */
++ ldr r0, =TEXT_BASE
++ ldr r1, =TEXT_BASE+0x40
++ ldr r2, =0x0
++1:
++ ldr r3, [r0]
++ str r3, [r2]
++ add r0, r0, #4
++ add r2, r2, #4
++ cmp r0, r1
++ bne 1b
++
++ ldr r0, =0x0
++ ldr r1, [r0, #4]
++ str r1, [r0]
++
++ mov pc, lr
+diff -Nur u-boot-2006-04-18-1106/board/corgi/nand.c u-boot-2006-04-18-1106-new/board/corgi/nand.c
+--- u-boot-2006-04-18-1106/board/corgi/nand.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/nand.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,157 @@
++/*
++ * board/corgi/nand.c
++ *
++ * NAND driver for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from mtd nand driver:
++ *
++ * drivers/mtd/nand/sharpsl.c
++ *
++ * Copyright (C) 2004 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_NAND)
++
++#include <nand.h>
++#include <linux/mtd/nand_ecc.h>
++
++static int sharpsl_io_base = CFG_NAND_BASE;
++
++/* register offset */
++#define ECCLPLB sharpsl_io_base+0x00 /* line parity 7 - 0 bit */
++#define ECCLPUB sharpsl_io_base+0x04 /* line parity 15 - 8 bit */
++#define ECCCP sharpsl_io_base+0x08 /* column parity 5 - 0 bit */
++#define ECCCNTR sharpsl_io_base+0x0C /* ECC byte counter */
++#define ECCCLRR sharpsl_io_base+0x10 /* cleare ECC */
++#define FLASHIO sharpsl_io_base+0x14 /* Flash I/O */
++#define FLASHCTL sharpsl_io_base+0x18 /* Flash Control */
++
++/* Flash control bit */
++#define FLRYBY (1 << 5)
++#define FLCE1 (1 << 4)
++#define FLWP (1 << 3)
++#define FLALE (1 << 2)
++#define FLCLE (1 << 1)
++#define FLCE0 (1 << 0)
++
++#define readb(address) *((volatile unsigned char *)(address))
++#define writeb(v, address) *((volatile unsigned char *)(address))=v
++
++/*
++ * hardware specific access to control-lines
++ */
++static void
++sharpsl_nand_hwcontrol(struct mtd_info* mtd, int cmd)
++{
++ switch (cmd) {
++ case NAND_CTL_SETCLE:
++ writeb(readb(FLASHCTL) | FLCLE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRCLE:
++ writeb(readb(FLASHCTL) & ~FLCLE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETALE:
++ writeb(readb(FLASHCTL) | FLALE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRALE:
++ writeb(readb(FLASHCTL) & ~FLALE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETNCE:
++ writeb(readb(FLASHCTL) & ~(FLCE0|FLCE1), FLASHCTL);
++ break;
++ case NAND_CTL_CLRNCE:
++ writeb(readb(FLASHCTL) | (FLCE0|FLCE1), FLASHCTL);
++ break;
++ }
++}
++
++static int
++sharpsl_nand_dev_ready(struct mtd_info* mtd)
++{
++ return !((readb(FLASHCTL) & FLRYBY) == 0);
++}
++
++static void
++sharpsl_nand_enable_hwecc(struct mtd_info* mtd, int mode)
++{
++ writeb(0 ,ECCCLRR);
++}
++
++static int
++sharpsl_nand_calculate_ecc(struct mtd_info* mtd, const u_char* dat,
++ u_char* ecc_code)
++{
++ ecc_code[0] = ~readb(ECCLPUB);
++ ecc_code[1] = ~readb(ECCLPLB);
++ ecc_code[2] = (~readb(ECCCP) << 2) | 0x03;
++ return readb(ECCCNTR) != 0;
++}
++
++static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
++
++static struct nand_bbt_descr sharpsl_bbt = {
++ .options = 0,
++ .offs = 4,
++ .len = 2,
++ .pattern = scan_ff_pattern
++};
++
++/*
++ * Board-specific NAND initialization. The following members of the
++ * argument are board-specific (per include/linux/mtd/nand.h):
++ * - IO_ADDR_R?: address to read the 8 I/O lines of the flash device
++ * - IO_ADDR_W?: address to write the 8 I/O lines of the flash device
++ * - hwcontrol: hardwarespecific function for accesing control-lines
++ * - dev_ready: hardwarespecific function for accesing device ready/busy line
++ * - enable_hwecc?: function to enable (reset) hardware ecc generator. Must
++ * only be provided if a hardware ECC is available
++ * - eccmode: mode of ecc, see defines
++ * - chip_delay: chip dependent delay for transfering data from array to
++ * read regs (tR)
++ * - options: various chip options. They can partly be set to inform
++ * nand_scan about special functionality. See the defines for further
++ * explanation
++ * Members with a "?" were not set in the merged testing-NAND branch,
++ * so they are not set here either.
++ */
++void board_nand_init(struct nand_chip *nand)
++{
++ writeb(readb(FLASHCTL) | FLWP, FLASHCTL);
++
++ nand->IO_ADDR_R = FLASHIO;
++ nand->IO_ADDR_W = FLASHIO;
++ nand->hwcontrol = sharpsl_nand_hwcontrol;
++ nand->dev_ready = sharpsl_nand_dev_ready;
++ nand->eccmode = NAND_ECC_HW3_256;
++ nand->chip_delay = 15;
++ nand->badblock_pattern = &sharpsl_bbt;
++ nand->enable_hwecc = sharpsl_nand_enable_hwecc;
++ nand->calculate_ecc = sharpsl_nand_calculate_ecc;
++ nand->correct_data = nand_correct_data;
++}
++#endif /* (CONFIG_COMMANDS & CFG_CMD_NAND) */
+diff -Nur u-boot-2006-04-18-1106/board/corgi/u-boot.lds u-boot-2006-04-18-1106-new/board/corgi/u-boot.lds
+--- u-boot-2006-04-18-1106/board/corgi/u-boot.lds 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/u-boot.lds 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,56 @@
++/*
++ * (C) Copyright 2000
++ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
++OUTPUT_ARCH(arm)
++ENTRY(_start)
++SECTIONS
++{
++ . = 0x00000000;
++
++ . = ALIGN(4);
++ .text :
++ {
++ cpu/pxa/start.o (.text)
++ *(.text)
++ }
++
++ . = ALIGN(4);
++ .rodata : { *(.rodata) }
++
++ . = ALIGN(4);
++ .data : { *(.data) }
++
++ . = ALIGN(4);
++ .got : { *(.got) }
++
++ . = .;
++ __u_boot_cmd_start = .;
++ .u_boot_cmd : { *(.u_boot_cmd) }
++ __u_boot_cmd_end = .;
++
++ . = ALIGN(4);
++ __bss_start = .;
++ .bss : { *(.bss) }
++ _end = .;
++}
+diff -Nur u-boot-2006-04-18-1106/common/cmd_nand.c u-boot-2006-04-18-1106-new/common/cmd_nand.c
+--- u-boot-2006-04-18-1106/common/cmd_nand.c 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/common/cmd_nand.c 2006-07-05 11:19:44.000000000 +0000
+@@ -81,6 +81,63 @@
+ return 0;
+ }
+
++#ifdef NAND_LOGICAL
++/////////////////////////////////////////////////////////////////////
++// oob structure
++/////////////////////////////////////////////////////////////////////
++
++#define NAND_NOOB_LOGADDR_00 8
++#define NAND_NOOB_LOGADDR_01 9
++#define NAND_NOOB_LOGADDR_10 10
++#define NAND_NOOB_LOGADDR_11 11
++#define NAND_NOOB_LOGADDR_20 12
++#define NAND_NOOB_LOGADDR_21 13
++
++static uint nand_get_logical_no(unsigned char *oob)
++{
++ unsigned short us,bit;
++ int par;
++ int good0, good1;
++
++ if(oob[NAND_NOOB_LOGADDR_00] == oob[NAND_NOOB_LOGADDR_10] &&
++ oob[NAND_NOOB_LOGADDR_01] == oob[NAND_NOOB_LOGADDR_11]){
++ good0 = NAND_NOOB_LOGADDR_00;
++ good1 = NAND_NOOB_LOGADDR_01;
++ }else
++ if(oob[NAND_NOOB_LOGADDR_10] == oob[NAND_NOOB_LOGADDR_20] &&
++ oob[NAND_NOOB_LOGADDR_11] == oob[NAND_NOOB_LOGADDR_21]){
++ good0 = NAND_NOOB_LOGADDR_10;
++ good1 = NAND_NOOB_LOGADDR_11;
++ }else
++ if(oob[NAND_NOOB_LOGADDR_20] == oob[NAND_NOOB_LOGADDR_00] &&
++ oob[NAND_NOOB_LOGADDR_21] == oob[NAND_NOOB_LOGADDR_01]){
++ good0 = NAND_NOOB_LOGADDR_20;
++ good1 = NAND_NOOB_LOGADDR_21;
++ }else{
++ return (uint)-1;
++ }
++
++ us = (((unsigned short)(oob[good0]) & 0x00ff) << 0) |
++ (((unsigned short)(oob[good1]) & 0x00ff) << 8);
++
++ par = 0;
++ for(bit = 0x0001; bit != 0; bit <<= 1){
++ if(us & bit){
++ par++;
++ }
++ }
++ if(par & 1){
++ return (uint)-2;
++ }
++
++ if(us == 0xffff){
++ return 0xffff;
++ }else{
++ return ((us & 0x07fe) >> 1);
++ }
++}
++#endif
++
+ /* ------------------------------------------------------------------------- */
+
+ static void
+@@ -245,6 +302,55 @@
+ if (off == 0 && size == 0)
+ return 1;
+
++#ifdef NAND_LOGICAL
++ s = strchr(cmd, '.');
++ if (s != NULL) {
++ if (strcmp(s, ".logical") == 0) {
++ int blocks = NAND_LOGICAL_SIZE / nand->erasesize;
++ ulong *log2phy = malloc(blocks * sizeof(ulong));
++ u_char *oobuf = malloc(nand->oobblock + nand->oobsize);
++ int i;
++ ulong offset;
++ ret = 1;
++ for (i = 0; i < blocks; i++)
++ log2phy[i] = (uint) -1;
++ offset = 0;
++ for (i = 0; i < blocks; i++) {
++ ret = nand_read_raw(nand, oobuf, offset, nand->oobblock, nand->oobsize);
++ if (!ret) {
++ int log_no = nand_get_logical_no(oobuf + nand->oobblock);
++ if (((int)log_no >= 0) && (log_no < blocks)) {
++ log2phy[log_no] = offset;
++ //printf("NAND logical - %08X -> %04X\n", offset, log_no);
++ }
++ }
++ offset += nand->erasesize;
++ }
++
++ for (i = 0; i < size / nand->erasesize; i++) {
++ ulong sz = nand->erasesize;
++ offset = log2phy[off / nand->erasesize];
++ if ((int)offset < 0) {
++ printf("NAND logical - offset %08X not found\n", off);
++ return 1;
++ }
++ //printf("NAND logical - %04X -> %08X\n", off / nand->erasesize, offset);
++ ret = nand_read(nand, offset, &sz, (u_char *)addr);
++ if (ret) {
++ printf("NAND logical - offset %08X, read error\n", off);
++ return 1;
++ }
++ off += nand->erasesize;
++ addr += nand->erasesize;
++ }
++ printf(" %d bytes read from NAND logical\n", size);
++ free(oobuf);
++ free(log2phy);
++ return ret == 0 ? 0 : 1;
++ }
++ }
++#endif
++
+ i = strncmp(cmd, "read", 4) == 0; /* 1 = read, 0 = write */
+ printf("\nNAND %s: device %d offset %u, size %u ... ",
+ i ? "read" : "write", nand_curr_device, off, size);
+diff -Nur u-boot-2006-04-18-1106/cpu/pxa/config.mk u-boot-2006-04-18-1106-new/cpu/pxa/config.mk
+--- u-boot-2006-04-18-1106/cpu/pxa/config.mk 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/cpu/pxa/config.mk 2006-07-05 11:19:44.000000000 +0000
+@@ -22,8 +22,7 @@
+ # MA 02111-1307 USA
+ #
+
+-PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
+- -msoft-float
++PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 -fomit-frame-pointer
+
+ #PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=strongarm1100
+ PLATFORM_CPPFLAGS += -march=armv5 -mtune=xscale
+@@ -32,5 +31,5 @@
+ # Supply options according to compiler version
+ #
+ # ========================================================================
+-PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
++#PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
+ PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
+diff -Nur u-boot-2006-04-18-1106/cpu/pxa/start.S u-boot-2006-04-18-1106-new/cpu/pxa/start.S
+--- u-boot-2006-04-18-1106/cpu/pxa/start.S 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/cpu/pxa/start.S 2006-07-05 11:19:44.000000000 +0000
+@@ -42,6 +42,7 @@
+ ldr pc, _irq
+ ldr pc, _fiq
+
++_reset: .word reset
+ _undefined_instruction: .word undefined_instruction
+ _software_interrupt: .word software_interrupt
+ _prefetch_abort: .word prefetch_abort
+diff -Nur u-boot-2006-04-18-1106/fs/cramfs/cramfs.c u-boot-2006-04-18-1106-new/fs/cramfs/cramfs.c
+--- u-boot-2006-04-18-1106/fs/cramfs/cramfs.c 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/fs/cramfs/cramfs.c 2006-07-05 11:19:44.000000000 +0000
+@@ -44,8 +44,13 @@
+
+ /* CPU address space offset calculation macro, struct part_info offset is
+ * device address space offset, so we need to shift it by a device start address. */
++#if (CONFIG_COMMANDS & CFG_CMD_FLASH)
+ extern flash_info_t flash_info[];
+ #define PART_OFFSET(x) (x->offset + flash_info[x->dev->id->num].start[0])
++#else
++static struct cramfs_super super_fake;
++#define PART_OFFSET(x) (&super_fake)
++#endif
+
+ static int cramfs_read_super (struct part_info *info)
+ {
+diff -Nur u-boot-2006-04-18-1106/include/asm-arm/arch-pxa/pxa-regs.h u-boot-2006-04-18-1106-new/include/asm-arm/arch-pxa/pxa-regs.h
+--- u-boot-2006-04-18-1106/include/asm-arm/arch-pxa/pxa-regs.h 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/include/asm-arm/arch-pxa/pxa-regs.h 2006-07-05 11:19:44.000000000 +0000
+@@ -1269,15 +1269,16 @@
+ #define _GEDR(x) __REG2(0x40E00048, ((x) & 0x60) >> 3)
+ #define _GAFR(x) __REG2(0x40E00054, ((x) & 0x70) >> 2)
+
+-#define GPLR(x) ((((x) & 0x7f) < 96) ? _GPLR(x) : GPLR3)
+-#define GPDR(x) ((((x) & 0x7f) < 96) ? _GPDR(x) : GPDR3)
+-#define GPSR(x) ((((x) & 0x7f) < 96) ? _GPSR(x) : GPSR3)
+-#define GPCR(x) ((((x) & 0x7f) < 96) ? _GPCR(x) : GPCR3)
+-#define GRER(x) ((((x) & 0x7f) < 96) ? _GRER(x) : GRER3)
+-#define GFER(x) ((((x) & 0x7f) < 96) ? _GFER(x) : GFER3)
+-#define GEDR(x) ((((x) & 0x7f) < 96) ? _GEDR(x) : GEDR3)
+-#define GAFR(x) ((((x) & 0x7f) < 96) ? _GAFR(x) : \
+- ((((x) & 0x7f) < 112) ? GAFR3_L : GAFR3_U))
++#define GPLR(x) (*((((x) & 0x7f) < 96) ? &_GPLR(x) : &GPLR3))
++#define GPDR(x) (*((((x) & 0x7f) < 96) ? &_GPDR(x) : &GPDR3))
++#define GPSR(x) (*((((x) & 0x7f) < 96) ? &_GPSR(x) : &GPSR3))
++#define GPCR(x) (*((((x) & 0x7f) < 96) ? &_GPCR(x) : &GPCR3))
++#define GRER(x) (*((((x) & 0x7f) < 96) ? &_GRER(x) : &GRER3))
++#define GFER(x) (*((((x) & 0x7f) < 96) ? &_GFER(x) : &GFER3))
++#define GEDR(x) (*((((x) & 0x7f) < 96) ? &_GEDR(x) : &GEDR3))
++#define GAFR(x) (*((((x) & 0x7f) < 96) ? &_GAFR(x) : \
++ ((((x) & 0x7f) < 112) ? &GAFR3_L : &GAFR3_U)))
++
+ #else
+
+ #define GPLR(x) __REG2(0x40E00000, ((x) & 0x60) >> 3)
+diff -Nur u-boot-2006-04-18-1106/include/configs/akita.h u-boot-2006-04-18-1106-new/include/configs/akita.h
+--- u-boot-2006-04-18-1106/include/configs/akita.h 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/include/configs/akita.h 2006-07-13 11:00:46.000000000 +0000
+@@ -0,0 +1,324 @@
++/*
++ * include/configs/akita.h
++ *
++ * Configuration settings for the Sharp Zaurus SL-C1000/C3100.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#ifndef __CONFIG_H
++#define __CONFIG_H
++
++#define CONFIG_SKIP_LOWLEVEL_INIT
++
++#undef SKIP_CONFIG_RELOCATE_UBOOT
++
++#undef CONFIG_HARD_I2C
++
++/*
++ * High Level Configuration Options
++ * (easy to change)
++ */
++#define CONFIG_PXA27X 1 /* This is an PXA27x CPU */
++#define CONFIG_AKITA 1 /* on Sharp Zaurus Akita */
++//#define CONFIG_MMC 1
++#define BOARD_LATE_INIT 1
++
++#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
++
++#define RTC 1
++
++/*
++ * Size of malloc() pool
++ */
++//#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024)
++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 256*1024)
++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
++
++/*
++ * select serial console configuration
++ */
++#define CONFIG_FFUART 1 /* we use FFUART on Mainstone */
++
++/* allow to overwrite serial and ethaddr */
++#define CONFIG_BAUDRATE 115200
++//#define CONFIG_DOS_PARTITION 1
++
++#undef CONFIG_SHOW_BOOT_PROGRESS
++
++#if 1
++#define CONFIG_BOOTDELAY 1
++#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds\n"
++
++#define CONFIG_BOOTCOMMAND \
++ "if testkey 101 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x00060000 0x00540000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 2 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 fbcon=rotate:1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 18 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 fbcon=rotate:1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 3 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 fbcon=rotate:1; " \
++ "bootm; " \
++ "fi; " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1; " \
++ "bootm; "
++#else
++#define CONFIG_BOOTCOMMAND "" // "run boot_flash"
++#endif
++
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192"
++#define CONFIG_SETUP_MEMORY_TAGS 1
++#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
++#define CONFIG_INITRD_TAG 1
++
++#define CONFIG_COMMANDS (( \
++ CONFIG_CMD_DFL | \
++ CFG_CMD_NAND | \
++ CFG_CMD_JFFS2 \
++ ) & ~( \
++ CFG_CMD_NET | \
++ CFG_CMD_FLASH | \
++ CFG_CMD_IMLS \
++ ))
++
++// CFG_CMD_ENV
++
++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
++#include <cmd_confdefs.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
++#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
++#endif
++
++/*
++ * Miscellaneous configurable options
++ */
++#define CFG_HUSH_PARSER 1
++#define CFG_PROMPT_HUSH_PS2 "> "
++
++#define CFG_LONGHELP /* undef to save memory */
++#define CFG_PROMPT "U-Boot> " /* Monitor Command Prompt */
++
++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
++#define CFG_MAXARGS 16 /* max number of command args */
++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
++#define CFG_DEVICE_NULLDEV 1
++
++#define CFG_MEMTEST_START 0xa0400000 /* memtest works on */
++#define CFG_MEMTEST_END 0xa0800000 /* 4 ... 8 MB in DRAM */
++
++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */
++
++#define CFG_LOAD_ADDR 0xa1000000 /* default load address */
++
++#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */
++#define CFG_CPUSPEED 0x207 /* need to look more closely, I think this is Turbo = 2x, L=91Mhz */
++
++ /* valid baudrates */
++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
++
++#define CFG_MMC_BASE 0xF0000000
++
++/*
++ * Stack sizes
++ *
++ * The stack sizes are set up in start.S using the settings below
++ */
++#define CONFIG_STACKSIZE (128*1024) /* regular stack */
++#ifdef CONFIG_USE_IRQ
++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */
++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */
++#endif
++
++/*
++ * Physical Memory Map
++ */
++#define CONFIG_NR_DRAM_BANKS 4 /* we have 2 banks of DRAM */
++#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */
++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */
++#define PHYS_SDRAM_2 0xa4000000 /* SDRAM Bank #2 */
++#define PHYS_SDRAM_2_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_3 0xa8000000 /* SDRAM Bank #3 */
++#define PHYS_SDRAM_3_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_4 0xac000000 /* SDRAM Bank #4 */
++#define PHYS_SDRAM_4_SIZE 0x00000000 /* 0 MB */
++
++#define PHYS_FLASH_1 0xd4000000 /* Flash Bank #1 */
++
++#define CFG_DRAM_BASE 0xa0000000
++#define CFG_DRAM_SIZE 0x04000000
++
++#define CFG_FLASH_BASE PHYS_FLASH_1
++
++/*
++ * GPIO settings for Mainstone
++ */
++
++#define CFG_GPSR0_VAL 0x00708800
++#define CFG_GPSR1_VAL 0x03cf0002
++#define CFG_GPSR2_VAL 0x0021FC00
++#define CFG_GPSR3_VAL 0x00000000
++
++#define CFG_GPCR0_VAL 0x00001000
++#define CFG_GPCR1_VAL 0x00000000
++#define CFG_GPCR2_VAL 0x00000000
++#define CFG_GPCR3_VAL 0x00000000
++
++#define CFG_GPDR0_VAL 0xC27B9C04
++#define CFG_GPDR1_VAL 0x00EFAA83
++#define CFG_GPDR2_VAL 0x0E23FC00
++#define CFG_GPDR3_VAL 0x001E1F81
++
++#define CFG_GAFR0_L_VAL 0x94F00000
++#define CFG_GAFR0_U_VAL 0x015A859A
++#define CFG_GAFR1_L_VAL 0x999A955A
++#define CFG_GAFR1_U_VAL 0x0005A4AA
++#define CFG_GAFR2_L_VAL 0x6AA00000
++#define CFG_GAFR2_U_VAL 0x55A8041A
++#define CFG_GAFR3_L_VAL 0x56AA955A
++#define CFG_GAFR3_U_VAL 0x00000001
++
++#define CFG_PSSR_VAL 0x20 // ???????????
++
++/*
++ * PCMCIA and CF Interfaces
++ */
++#define CFG_MECR_VAL 0x00000001
++#define CFG_MCMEM0_VAL 0x00010204
++#define CFG_MCMEM1_VAL 0x00010204
++#define CFG_MCATT0_VAL 0x00010204
++#define CFG_MCATT1_VAL 0x00010204
++#define CFG_MCIO0_VAL 0x0000c108
++#define CFG_MCIO1_VAL 0x0001c108
++
++//#define CONFIG_PXA_PCMCIA 1
++//#define CONFIG_PXA_IDE 1
++
++#define CONFIG_PCMCIA_SLOT_A 1
++/* just to keep build system happy */
++
++#define CFG_PCMCIA_MEM_ADDR 0x28000000
++#define CFG_PCMCIA_MEM_SIZE 0x04000000
++
++#define CFG_IDE_MAXBUS 1
++/* max. 1 IDE bus */
++#define CFG_IDE_MAXDEVICE 1
++/* max. 1 drive per IDE bus */
++
++#define CFG_ATA_IDE0_OFFSET 0x0000
++
++#define CFG_ATA_BASE_ADDR 0x20000000
++
++/* Offset for data I/O */
++#define CFG_ATA_DATA_OFFSET 0x1f0
++
++/* Offset for normal register accesses */
++#define CFG_ATA_REG_OFFSET 0x1f0
++
++/* Offset for alternate registers */
++#define CFG_ATA_ALT_OFFSET 0x3f0
++
++#define CFG_NO_FLASH 1
++#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
++#define CFG_MAX_FLASH_SECT 512 /* max number of sectors on one chip */
++
++/*-----------------------------------------------------------------------
++ * NAND-FLASH stuff
++ *-----------------------------------------------------------------------
++ */
++#undef CFG_NAND_LEGACY
++
++/* NAND debugging */
++//#define CONFIG_MTD_DEBUG
++//#define CONFIG_MTD_DEBUG_VERBOSE 3
++
++#define CFG_NAND_BASE 0xd4000000
++#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
++#define NAND_MAX_CHIPS 1
++
++//#define CONFIG_MTD_NAND_VERIFY_WRITE 1 /* verify all writes!!! */
++//#define CFG_NAND_SKIP_BAD_DOT_I 1 /* ".i" read skips bad blocks */
++
++#define CONFIG_JFFS2_NAND 1 /* jffs2 on nand support */
++#define NAND_CACHE_PAGES 16 /* size of nand cache in 512 bytes pages */
++
++/*
++ * JFFS2 partitions
++ *
++ */
++/* No command line, one static partition */
++//#undef CONFIG_JFFS2_CMDLINE
++//#define CONFIG_JFFS2_DEV "nand0"
++//#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
++//#define CONFIG_JFFS2_PART_OFFSET 0x00060000
++
++/* mtdparts command line support */
++/* Note: fake mtd_id used, no linux mtd map file */
++
++#define CONFIG_JFFS2_CMDLINE
++#define MTDIDS_DEFAULT "nand0=laze-0"
++//#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
++#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++
++/*
++ * SHARP SL NAND logical partition
++ */
++#define NAND_LOGICAL 1
++#define NAND_LOGICAL_SIZE 0x700000
++
++/*
++ * Environment
++ */
++
++#define CFG_ENV_IS_IN_NAND 1
++#define CFG_ENV_OFFSET 0x40000
++//#define CFG_ENV_OFFSET_REDUND 0x44000
++#define CFG_ENV_SIZE 0x20000
++
++#endif /* __CONFIG_H */
+diff -Nur u-boot-2006-04-18-1106/include/configs/corgi.h u-boot-2006-04-18-1106-new/include/configs/corgi.h
+--- u-boot-2006-04-18-1106/include/configs/corgi.h 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/include/configs/corgi.h 2006-07-13 11:19:04.000000000 +0000
+@@ -0,0 +1,326 @@
++/*
++ * include/configs/corgi.h
++ *
++ * Configuration settings for the Sharp Zaurus SL-C7x0/C860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#ifndef __CONFIG_H
++#define __CONFIG_H
++
++#define CONFIG_SKIP_LOWLEVEL_INIT
++
++#undef SKIP_CONFIG_RELOCATE_UBOOT
++
++#undef CONFIG_HARD_I2C
++
++/*
++ * High Level Configuration Options
++ * (easy to change)
++ */
++#define CONFIG_PXA250 1 /* This is an PXA255 CPU */
++#define CONFIG_CORGI 1 /* on Sharp Zaurus Corgi */
++//#define CONFIG_MMC 1
++#define BOARD_LATE_INIT 1
++
++#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
++
++#define RTC 1
++
++/*
++ * Size of malloc() pool
++ */
++//#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024)
++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 256*1024)
++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
++
++/*
++ * select serial console configuration
++ */
++#define CONFIG_FFUART 1 /* we use FFUART on Mainstone */
++
++/* allow to overwrite serial and ethaddr */
++#define CONFIG_BAUDRATE 115200
++//#define CONFIG_DOS_PARTITION 1
++
++#undef CONFIG_SHOW_BOOT_PROGRESS
++
++#if 1
++#define CONFIG_BOOTDELAY 1
++#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds\n"
++
++#define CONFIG_BOOTCOMMAND \
++ "if testkey 101 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x00060000 0x00540000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 2 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 18 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 3 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1; " \
++ "bootm; " \
++ "fi; " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2; " \
++ "bootm; "
++#else
++#define CONFIG_BOOTCOMMAND "" // "run boot_flash"
++#endif
++
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192"
++#define CONFIG_SETUP_MEMORY_TAGS 1
++#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
++#define CONFIG_INITRD_TAG 1
++
++#define CONFIG_COMMANDS (( \
++ CONFIG_CMD_DFL | \
++ CFG_CMD_NAND | \
++ CFG_CMD_JFFS2 \
++ ) & ~( \
++ CFG_CMD_NET | \
++ CFG_CMD_FLASH | \
++ CFG_CMD_IMLS \
++ ))
++
++// CFG_CMD_ENV
++
++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
++#include <cmd_confdefs.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
++#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
++#endif
++
++/*
++ * Miscellaneous configurable options
++ */
++#define CFG_HUSH_PARSER 1
++#define CFG_PROMPT_HUSH_PS2 "> "
++
++#define CFG_LONGHELP /* undef to save memory */
++#define CFG_PROMPT "U-Boot> " /* Monitor Command Prompt */
++
++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
++#define CFG_MAXARGS 16 /* max number of command args */
++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
++#define CFG_DEVICE_NULLDEV 1
++
++#define CFG_MEMTEST_START 0xa0400000 /* memtest works on */
++#define CFG_MEMTEST_END 0xa0800000 /* 4 ... 8 MB in DRAM */
++
++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */
++
++#define CFG_LOAD_ADDR 0xa0800000 /* default load address */
++
++#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */
++#define CFG_CPUSPEED 0x207 /* need to look more closely, I think this is Turbo = 2x, L=91Mhz */
++
++ /* valid baudrates */
++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
++
++#define CFG_MMC_BASE 0xF0000000
++
++/*
++ * Stack sizes
++ *
++ * The stack sizes are set up in start.S using the settings below
++ */
++#define CONFIG_STACKSIZE (128*1024) /* regular stack */
++#ifdef CONFIG_USE_IRQ
++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */
++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */
++#endif
++
++/*
++ * Physical Memory Map
++ */
++#define CONFIG_NR_DRAM_BANKS 4 /* we have 2 banks of DRAM */
++#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */
++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */
++#define PHYS_SDRAM_2 0xa4000000 /* SDRAM Bank #2 */
++#define PHYS_SDRAM_2_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_3 0xa8000000 /* SDRAM Bank #3 */
++#define PHYS_SDRAM_3_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_4 0xac000000 /* SDRAM Bank #4 */
++#define PHYS_SDRAM_4_SIZE 0x00000000 /* 0 MB */
++
++#define PHYS_FLASH_1 0xd4000000 /* Flash Bank #1 */
++
++#define CFG_DRAM_BASE 0xa0000000
++#define CFG_DRAM_SIZE 0x04000000
++
++#define CFG_FLASH_BASE PHYS_FLASH_1
++
++/*
++ * GPIO settings for Mainstone
++ */
++
++#define CFG_GPSR0_VAL 0x00708800
++#define CFG_GPSR1_VAL 0x03cf0002
++#define CFG_GPSR2_VAL 0x0021FC00
++#define CFG_GPSR3_VAL 0x00000000
++
++#define CFG_GPCR0_VAL 0x00001000
++#define CFG_GPCR1_VAL 0x00000000
++#define CFG_GPCR2_VAL 0x00000000
++#define CFG_GPCR3_VAL 0x00000000
++
++#define CFG_GPDR0_VAL 0xC27B9C04
++#define CFG_GPDR1_VAL 0x00EFAA83
++#define CFG_GPDR2_VAL 0x0E23FC00
++#define CFG_GPDR3_VAL 0x001E1F81
++
++#define CFG_GAFR0_L_VAL 0x94F00000
++#define CFG_GAFR0_U_VAL 0x015A859A
++#define CFG_GAFR1_L_VAL 0x999A955A
++#define CFG_GAFR1_U_VAL 0x0005A4AA
++#define CFG_GAFR2_L_VAL 0x6AA00000
++#define CFG_GAFR2_U_VAL 0x55A8041A
++#define CFG_GAFR3_L_VAL 0x56AA955A
++#define CFG_GAFR3_U_VAL 0x00000001
++
++#define CFG_PSSR_VAL 0x20 // ???????????
++
++/*
++ * PCMCIA and CF Interfaces
++ */
++#define CFG_MECR_VAL 0x00000001
++#define CFG_MCMEM0_VAL 0x00010204
++#define CFG_MCMEM1_VAL 0x00010204
++#define CFG_MCATT0_VAL 0x00010204
++#define CFG_MCATT1_VAL 0x00010204
++#define CFG_MCIO0_VAL 0x0000c108
++#define CFG_MCIO1_VAL 0x0001c108
++
++//#define CONFIG_PXA_PCMCIA 1
++//#define CONFIG_PXA_IDE 1
++
++#define CONFIG_PCMCIA_SLOT_A 1
++/* just to keep build system happy */
++
++#define CFG_PCMCIA_MEM_ADDR 0x28000000
++#define CFG_PCMCIA_MEM_SIZE 0x04000000
++
++#define CFG_IDE_MAXBUS 1
++/* max. 1 IDE bus */
++#define CFG_IDE_MAXDEVICE 1
++/* max. 1 drive per IDE bus */
++
++#define CFG_ATA_IDE0_OFFSET 0x0000
++
++#define CFG_ATA_BASE_ADDR 0x20000000
++
++/* Offset for data I/O */
++#define CFG_ATA_DATA_OFFSET 0x1f0
++
++/* Offset for normal register accesses */
++#define CFG_ATA_REG_OFFSET 0x1f0
++
++/* Offset for alternate registers */
++#define CFG_ATA_ALT_OFFSET 0x3f0
++
++#define CFG_NO_FLASH 1
++#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
++#define CFG_MAX_FLASH_SECT 512 /* max number of sectors on one chip */
++
++/*-----------------------------------------------------------------------
++ * NAND-FLASH stuff
++ *-----------------------------------------------------------------------
++ */
++#undef CFG_NAND_LEGACY
++
++/* NAND debugging */
++//#define CONFIG_MTD_DEBUG
++//#define CONFIG_MTD_DEBUG_VERBOSE 3
++
++#define CFG_NAND_BASE 0xd4000000
++#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
++#define NAND_MAX_CHIPS 1
++
++//#define CONFIG_MTD_NAND_VERIFY_WRITE 1 /* verify all writes!!! */
++//#define CFG_NAND_SKIP_BAD_DOT_I 1 /* ".i" read skips bad blocks */
++
++#define CONFIG_JFFS2_NAND 1 /* jffs2 on nand support */
++#define NAND_CACHE_PAGES 16 /* size of nand cache in 512 bytes pages */
++
++#define NAND_ALLOW_ERASE_ALL 1
++
++/*
++ * JFFS2 partitions
++ *
++ */
++/* No command line, one static partition */
++//#undef CONFIG_JFFS2_CMDLINE
++//#define CONFIG_JFFS2_DEV "nand0"
++//#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
++//#define CONFIG_JFFS2_PART_OFFSET 0x00060000
++
++/* mtdparts command line support */
++/* Note: fake mtd_id used, no linux mtd map file */
++
++#define CONFIG_JFFS2_CMDLINE
++#define MTDIDS_DEFAULT "nand0=laze-0"
++//#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
++#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++
++/*
++ * SHARP SL NAND logical partition
++ */
++#define NAND_LOGICAL 1
++#define NAND_LOGICAL_SIZE 0x700000
++
++/*
++ * Environment
++ */
++
++#define CFG_ENV_IS_IN_NAND 1
++#define CFG_ENV_OFFSET 0x40000
++//#define CFG_ENV_OFFSET_REDUND 0x44000
++#define CFG_ENV_SIZE 0x20000
++
++#endif /* __CONFIG_H */
+--- s/examples/Makefile.orig 2006-12-09 15:08:45.000000000 +0600
++++ s/examples/Makefile 2006-12-09 15:09:00.000000000 +0600
+@@ -60,7 +60,7 @@
+ include $(TOPDIR)/config.mk
+
+ SREC = hello_world.srec
+-BIN = hello_world.bin hello_world
++BIN = hello_world hello_world.bin
+
+ ifeq ($(CPU),mpc8xx)
+ SREC = test_burst.srec
+@@ -122,7 +122,7 @@
+
+ CPPFLAGS += -I..
+
+-all: .depend $(OBJS) $(LIB) $(SREC) $(BIN)
++all: .depend $(OBJS) $(LIB) $(BIN) $(SREC)
+
+ #########################################################################
+ $(LIB): .depend $(LIBOBJS)
+diff -Nur u-boot-2006-04-18-1106/CREDITS u-boot-2006-04-18-1106-new/CREDITS
+--- u-boot-2006-04-18-1106/CREDITS 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/CREDITS 2006-07-05 11:19:44.000000000 +0000
+@@ -93,6 +93,12 @@
+ E: jonathan.debruyne@siemens.atea.be
+ D: Port to Siemens IAD210 board
+
++N: Alexander Chukov
++E: sash@pdaXrom.org
++D: initial support for Sharp Zaurus SL-C1000/3100
++D: initial support for Sharp Zaurus SL-C7x0/C860
++W: http://www.pdaXrom.org
++
+ N: Ken Chou
+ E: kchou@ieee.org
+ D: Support for A3000 SBC board
+diff -Nur u-boot-2006-04-18-1106/MAINTAINERS u-boot-2006-04-18-1106-new/MAINTAINERS
+--- u-boot-2006-04-18-1106/MAINTAINERS 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/MAINTAINERS 2006-07-05 11:19:44.000000000 +0000
+@@ -379,6 +379,11 @@
+
+ AT91RM9200DK at91rm9200
+
++Alexander Chukov <sash@pdaXrom.org>
++
++ akita xscale
++ corgi xscale
++
+ George G. Davis <gdavis@mvista.com>
+
+ assabet SA1100
+diff -Nur u-boot-2006-04-18-1106/MAKEALL u-boot-2006-04-18-1106-new/MAKEALL
+--- u-boot-2006-04-18-1106/MAKEALL 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/MAKEALL 2006-07-05 11:19:44.000000000 +0000
+@@ -206,7 +206,7 @@
+ adsvix cerf250 cradle csb226 \
+ delta innokom lubbock pxa255_idp \
+ wepep250 xaeniax xm250 xsengine \
+- zylonite \
++ zylonite akita corgi \
+ "
+
+ LIST_ixp="ixdp425"
+diff -Nur u-boot-2006-04-18-1106/Makefile u-boot-2006-04-18-1106-new/Makefile
+--- u-boot-2006-04-18-1106/Makefile 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/Makefile 2006-07-05 11:19:44.000000000 +0000
+@@ -61,7 +61,7 @@
+ CROSS_COMPILE = powerpc-linux-
+ endif
+ ifeq ($(ARCH),arm)
+-CROSS_COMPILE = arm-linux-
++CROSS_COMPILE = armv5tel-linux-
+ endif
+ ifeq ($(ARCH),i386)
+ ifeq ($(HOSTARCH),i386)
+@@ -1709,6 +1709,12 @@
+ zylonite_config :
+ @./mkconfig $(@:_config=) arm pxa zylonite
+
++akita_config : unconfig
++ @./mkconfig $(@:_config=) arm pxa akita
++
++corgi_config : unconfig
++ @./mkconfig $(@:_config=) arm pxa corgi
++
+ #########################################################################
+ ## ARM1136 Systems
+ #########################################################################
+diff -Nur u-boot-2006-04-18-1106/README u-boot-2006-04-18-1106-new/README
+--- u-boot-2006-04-18-1106/README 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/README 2006-07-05 11:19:44.000000000 +0000
+@@ -311,7 +311,8 @@
+ CONFIG_KB9202, CONFIG_LART, CONFIG_LPD7A400,
+ CONFIG_LUBBOCK, CONFIG_OSK_OMAP5912, CONFIG_OMAP2420H4,
+ CONFIG_SHANNON, CONFIG_P2_OMAP730, CONFIG_SMDK2400,
+- CONFIG_SMDK2410, CONFIG_TRAB, CONFIG_VCMA9
++ CONFIG_SMDK2410, CONFIG_TRAB, CONFIG_VCMA9,
++ CONFIG_AKITA, CONFIG_CORGI
+
+ MicroBlaze based boards:
+ ------------------------
+diff -Nur u-boot-2006-04-18-1106/board/akita/Makefile u-boot-2006-04-18-1106-new/board/akita/Makefile
+--- u-boot-2006-04-18-1106/board/akita/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/Makefile 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,51 @@
++#
++# board/akita/Makefile
++#
++# (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++#
++# (C) Copyright 2000
++# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++#
++# See file CREDITS for list of people who contributed to this
++# project.
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# 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, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++# MA 02111-1307 USA
++#
++
++include $(TOPDIR)/config.mk
++
++LIB = lib$(BOARD).a
++
++OBJS := akita.o nand.o kbd.o
++SOBJS := lowlevel_init.o
++
++$(LIB): $(OBJS) $(SOBJS)
++ $(AR) crv $@ $(OBJS) $(SOBJS)
++
++clean:
++ rm -f $(SOBJS) $(OBJS)
++
++distclean: clean
++ rm -f $(LIB) core *.bak .depend
++
++#########################################################################
++
++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
++
++-include .depend
++
++#########################################################################
+diff -Nur u-boot-2006-04-18-1106/board/akita/akita.c u-boot-2006-04-18-1106-new/board/akita/akita.c
+--- u-boot-2006-04-18-1106/board/akita/akita.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/akita.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,89 @@
++/*
++ * board/akita/akita.c
++ *
++ * Configuration settings for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++void set_turbo_mode(void);
++
++/* ------------------------------------------------------------------------- */
++
++/*
++ * Miscellaneous platform dependent initialisations
++ */
++
++int board_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ /* memory and cpu-speed are setup before relocation */
++ /* so we do _nothing_ here */
++
++ /* arch number of Sharp Zaurus Akita : MACH_TYPE_AKITA */
++ gd->bd->bi_arch_number = 744;
++
++ /* adress of boot parameters */
++ gd->bd->bi_boot_params = 0xa0000100;
++
++ /* set cpu turbo mode */
++ set_turbo_mode();
++
++ spitzkbd_init();
++
++ return 0;
++}
++
++int board_late_init(void)
++{
++ setenv("stdout", "serial");
++ setenv("stderr", "serial");
++ return 0;
++}
++
++
++int dram_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
++ gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
++ gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
++ gd->bd->bi_dram[2].start = PHYS_SDRAM_3;
++ gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE;
++ gd->bd->bi_dram[3].start = PHYS_SDRAM_4;
++ gd->bd->bi_dram[3].size = PHYS_SDRAM_4_SIZE;
++
++ return 0;
++}
+diff -Nur u-boot-2006-04-18-1106/board/akita/config.mk u-boot-2006-04-18-1106-new/board/akita/config.mk
+--- u-boot-2006-04-18-1106/board/akita/config.mk 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/config.mk 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1 @@
++TEXT_BASE = 0xa3000000
+diff -Nur u-boot-2006-04-18-1106/board/akita/kbd.c u-boot-2006-04-18-1106-new/board/akita/kbd.c
+--- u-boot-2006-04-18-1106/board/akita/kbd.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/kbd.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,261 @@
++/*
++ * board/akita/kbd.c
++ *
++ * Keyboard driver for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from:
++ *
++ * linux/drivers/input/keyboard/spitzkbd.c
++ *
++ * Keyboard driver for Sharp Spitz, Borzoi and Akita (SL-Cxx00 series)
++ *
++ * Copyright (C) 2005 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <command.h>
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++#define GPIO_DFLT_LOW 0x400
++#define GPIO_DFLT_HIGH 0x800
++
++void pxa_gpio_mode(int gpio_mode)
++{
++ int gpio = gpio_mode & GPIO_MD_MASK_NR;
++ int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8;
++ int gafr;
++
++ if (gpio_mode & GPIO_DFLT_LOW)
++ GPCR(gpio) = GPIO_bit(gpio);
++ else if (gpio_mode & GPIO_DFLT_HIGH)
++ GPSR(gpio) = GPIO_bit(gpio);
++ if (gpio_mode & GPIO_MD_MASK_DIR)
++ GPDR(gpio) |= GPIO_bit(gpio);
++ else
++ GPDR(gpio) &= ~GPIO_bit(gpio);
++ gafr = GAFR(gpio) & ~(0x3 << (((gpio) & 0xf)*2));
++ GAFR(gpio) = gafr | (fn << (((gpio) & 0xf)*2));
++}
++
++#define SPITZ_KEY_STROBE_NUM (11)
++#define SPITZ_KEY_SENSE_NUM (7)
++
++#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
++#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
++#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
++#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
++#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
++#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
++#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
++#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
++
++#define SPITZ_GPIO_KEY_STROBE0 88
++#define SPITZ_GPIO_KEY_STROBE1 23
++#define SPITZ_GPIO_KEY_STROBE2 24
++#define SPITZ_GPIO_KEY_STROBE3 25
++#define SPITZ_GPIO_KEY_STROBE4 26
++#define SPITZ_GPIO_KEY_STROBE5 27
++#define SPITZ_GPIO_KEY_STROBE6 52
++#define SPITZ_GPIO_KEY_STROBE7 103
++#define SPITZ_GPIO_KEY_STROBE8 107
++#define SPITZ_GPIO_KEY_STROBE9 108
++#define SPITZ_GPIO_KEY_STROBE10 114
++
++#define SPITZ_GPIO_KEY_SENSE0 12
++#define SPITZ_GPIO_KEY_SENSE1 17
++#define SPITZ_GPIO_KEY_SENSE2 91
++#define SPITZ_GPIO_KEY_SENSE3 34
++#define SPITZ_GPIO_KEY_SENSE4 36
++#define SPITZ_GPIO_KEY_SENSE5 38
++#define SPITZ_GPIO_KEY_SENSE6 39
++
++#define SPITZ_GPIO_ON_KEY (95)
++
++#define KB_ROWS 7
++#define KB_COLS 11
++#define KB_ROWMASK(r) (1 << (r))
++#define SCANCODE(r,c) (((r)<<4) + (c) + 1)
++#define NR_SCANCODES ((KB_ROWS<<4) + 1)
++
++#define SCAN_INTERVAL (50) /* ms */
++#define HINGE_SCAN_INTERVAL (150) /* ms */
++
++#define KB_DISCHARGE_DELAY 10
++#define KB_ACTIVATE_DELAY 10
++
++static int spitz_strobes[] = {
++ SPITZ_GPIO_KEY_STROBE0,
++ SPITZ_GPIO_KEY_STROBE1,
++ SPITZ_GPIO_KEY_STROBE2,
++ SPITZ_GPIO_KEY_STROBE3,
++ SPITZ_GPIO_KEY_STROBE4,
++ SPITZ_GPIO_KEY_STROBE5,
++ SPITZ_GPIO_KEY_STROBE6,
++ SPITZ_GPIO_KEY_STROBE7,
++ SPITZ_GPIO_KEY_STROBE8,
++ SPITZ_GPIO_KEY_STROBE9,
++ SPITZ_GPIO_KEY_STROBE10,
++};
++
++static int spitz_senses[] = {
++ SPITZ_GPIO_KEY_SENSE0,
++ SPITZ_GPIO_KEY_SENSE1,
++ SPITZ_GPIO_KEY_SENSE2,
++ SPITZ_GPIO_KEY_SENSE3,
++ SPITZ_GPIO_KEY_SENSE4,
++ SPITZ_GPIO_KEY_SENSE5,
++ SPITZ_GPIO_KEY_SENSE6,
++};
++
++static inline void spitzkbd_discharge_all(void)
++{
++ /* STROBE All HiZ */
++ GPCR0 = SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR0 &= ~SPITZ_GPIO_G0_STROBE_BIT;
++ GPCR1 = SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR1 &= ~SPITZ_GPIO_G1_STROBE_BIT;
++ GPCR2 = SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR2 &= ~SPITZ_GPIO_G2_STROBE_BIT;
++ GPCR3 = SPITZ_GPIO_G3_STROBE_BIT;
++ GPDR3 &= ~SPITZ_GPIO_G3_STROBE_BIT;
++}
++
++static inline void spitzkbd_activate_all(void)
++{
++ /* STROBE ALL -> High */
++ GPSR0 = SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR0 |= SPITZ_GPIO_G0_STROBE_BIT;
++ GPSR1 = SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR1 |= SPITZ_GPIO_G1_STROBE_BIT;
++ GPSR2 = SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR2 |= SPITZ_GPIO_G2_STROBE_BIT;
++ GPSR3 = SPITZ_GPIO_G3_STROBE_BIT;
++ GPDR3 |= SPITZ_GPIO_G3_STROBE_BIT;
++
++ udelay(KB_DISCHARGE_DELAY);
++}
++
++static inline void spitzkbd_activate_col(int col)
++{
++ int gpio = spitz_strobes[col];
++ GPDR0 &= ~SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR1 &= ~SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR2 &= ~SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR3 &= ~SPITZ_GPIO_G3_STROBE_BIT;
++ GPSR(gpio) = GPIO_bit(gpio);
++ GPDR(gpio) |= GPIO_bit(gpio);
++}
++
++static inline void spitzkbd_reset_col(int col)
++{
++ int gpio = spitz_strobes[col];
++ GPDR0 &= ~SPITZ_GPIO_G0_STROBE_BIT;
++ GPDR1 &= ~SPITZ_GPIO_G1_STROBE_BIT;
++ GPDR2 &= ~SPITZ_GPIO_G2_STROBE_BIT;
++ GPDR3 &= ~SPITZ_GPIO_G3_STROBE_BIT;
++ GPCR(gpio) = GPIO_bit(gpio);
++ GPDR(gpio) |= GPIO_bit(gpio);
++}
++
++static inline int spitzkbd_get_row_status(int col)
++{
++ return ((GPLR0 >> 12) & 0x01) | ((GPLR0 >> 16) & 0x02)
++ | ((GPLR2 >> 25) & 0x04) | ((GPLR1 << 1) & 0x08)
++ | ((GPLR1 >> 0) & 0x10) | ((GPLR1 >> 1) & 0x60);
++}
++
++static int spitzkbd_scankeyboard(void)
++{
++ unsigned int row, col, rowd;
++ unsigned int num_pressed, pwrkey = ((GPLR(SPITZ_GPIO_ON_KEY) & GPIO_bit(SPITZ_GPIO_ON_KEY)) != 0);
++ int ret = -1;
++
++ num_pressed = 0;
++ for (col = 0; col < KB_COLS; col++) {
++ spitzkbd_discharge_all();
++ udelay(KB_DISCHARGE_DELAY);
++
++ spitzkbd_activate_col(col);
++ udelay(KB_ACTIVATE_DELAY);
++
++ rowd = spitzkbd_get_row_status(col);
++ for (row = 0; row < KB_ROWS; row++) {
++ unsigned int scancode, pressed;
++
++ scancode = SCANCODE(row, col);
++ pressed = rowd & KB_ROWMASK(row);
++
++ if (pressed)
++ ret = scancode;
++ }
++ spitzkbd_reset_col(col);
++ }
++
++ spitzkbd_activate_all();
++
++ if (pwrkey)
++ return -2;
++
++ return ret;
++}
++
++void spitzkbd_init(void)
++{
++ int i;
++
++ /* Setup sense interrupts - RisingEdge Detect, sense lines as inputs */
++ for (i = 0; i < SPITZ_KEY_SENSE_NUM; i++)
++ pxa_gpio_mode(spitz_senses[i] | GPIO_IN);
++
++ /* Set Strobe lines as outputs - set high */
++ for (i = 0; i < SPITZ_KEY_STROBE_NUM; i++)
++ pxa_gpio_mode(spitz_strobes[i] | GPIO_OUT | GPIO_DFLT_HIGH);
++
++ pxa_gpio_mode(SPITZ_GPIO_ON_KEY | GPIO_IN);
++}
++
++int do_testkey(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
++{
++ int scan;
++
++ if (argc < 2)
++ return 1;
++
++ scan = spitzkbd_scankeyboard();
++
++
++// if (scan >= 0)
++// printf("Scan = %d\n", scan);
++// else
++// printf("Nothing!\n");
++
++ return !(simple_strtol(argv[1], NULL, 10) == scan);
++}
++
++U_BOOT_CMD(
++ testkey, 2, 1, do_testkey,
++ "testkey - compare pressed key with arg\n",
++ "<key scancode>"
++);
+diff -Nur u-boot-2006-04-18-1106/board/akita/lowlevel_init.S u-boot-2006-04-18-1106-new/board/akita/lowlevel_init.S
+--- u-boot-2006-04-18-1106/board/akita/lowlevel_init.S 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/lowlevel_init.S 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,135 @@
++/*
++ * board/akita/lowlevel_init.S
++ *
++ * Configuration settings for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * This was originally from the Lubbock u-boot port and from BLOB with cleanup
++ *
++ * NOTE: I haven't clean this up considerably, just enough to get it
++ * running. See hal_platform_setup.h for the source. See
++ * board/cradle/lowlevel_init.S for another PXA250 setup that is
++ * much cleaner.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++/* wait for coprocessor write complete */
++ .macro CPWAIT reg
++ mrc p15,0,\reg,c2,c0,0
++ mov \reg,\reg
++ sub pc,pc,#4
++ .endm
++
++/*********** Write out to HEX 7 segment leds *********/
++
++#undef DEBUG_HEXLOG
++
++#ifdef DEBUG_HEXLOG
++#define LEDCTL 0x08000040
++#define LEDDAT1 0x08000010
++#define LEDDAT2 0x08000014
++
++.macro wait, count
++ mov r10, \count
++0:
++ subs r10, r10, #1
++ bne 0b
++.endm
++
++.macro hexlog_init
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++ ldr r11, =LEDDAT1
++ mov r10, #0x0
++ str r10, [r11]
++.endm
++
++.macro hexlog, val
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++
++ ldr r11, =LEDDAT1
++ mov r10, \val
++ str r10, [r11]
++
++ wait #0x400000
++.endm
++
++#else
++
++.macro hexlog_init
++ nop
++.endm
++
++.macro hexlog, val
++ nop
++.endm
++
++#endif
++
++/***********************************/
++
++/*
++ * Memory setup
++ */
++
++.globl lowlevel_init
++lowlevel_init:
++
++ mov pc, lr
++
++.globl set_turbo_mode
++
++set_turbo_mode:
++ /* Turn on turbo mode */
++ mrc p14, 0, r2, c6, c0, 0
++ orr r2, r2, #0xB /* Turbo, Fast-Bus, Freq change**/
++ mcr p14, 0, r2, c6, c0, 0
++
++ /* Setup vectors */
++ ldr r0, =TEXT_BASE
++ ldr r1, =TEXT_BASE+0x40
++ ldr r2, =0x0
++1:
++ ldr r3, [r0]
++ str r3, [r2]
++ add r0, r0, #4
++ add r2, r2, #4
++ cmp r0, r1
++ bne 1b
++
++ ldr r0, =0x0
++ ldr r1, [r0, #4]
++ str r1, [r0]
++
++ mov pc, lr
+diff -Nur u-boot-2006-04-18-1106/board/akita/nand.c u-boot-2006-04-18-1106-new/board/akita/nand.c
+--- u-boot-2006-04-18-1106/board/akita/nand.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/nand.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,169 @@
++/*
++ * board/akita/nand.c
++ *
++ * NAND driver for the Sharp Zaurus SL-Cxx00.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from mtd nand driver:
++ *
++ * drivers/mtd/nand/sharpsl.c
++ *
++ * Copyright (C) 2004 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_NAND)
++
++#include <nand.h>
++#include <linux/mtd/nand_ecc.h>
++
++static int sharpsl_io_base = CFG_NAND_BASE;
++
++/* register offset */
++#define ECCLPLB sharpsl_io_base+0x00 /* line parity 7 - 0 bit */
++#define ECCLPUB sharpsl_io_base+0x04 /* line parity 15 - 8 bit */
++#define ECCCP sharpsl_io_base+0x08 /* column parity 5 - 0 bit */
++#define ECCCNTR sharpsl_io_base+0x0C /* ECC byte counter */
++#define ECCCLRR sharpsl_io_base+0x10 /* cleare ECC */
++#define FLASHIO sharpsl_io_base+0x14 /* Flash I/O */
++#define FLASHCTL sharpsl_io_base+0x18 /* Flash Control */
++
++/* Flash control bit */
++#define FLRYBY (1 << 5)
++#define FLCE1 (1 << 4)
++#define FLWP (1 << 3)
++#define FLALE (1 << 2)
++#define FLCLE (1 << 1)
++#define FLCE0 (1 << 0)
++
++#define readb(address) *((volatile unsigned char *)(address))
++#define writeb(v, address) *((volatile unsigned char *)(address))=v
++
++/*
++ * hardware specific access to control-lines
++ */
++static void
++sharpsl_nand_hwcontrol(struct mtd_info* mtd, int cmd)
++{
++ switch (cmd) {
++ case NAND_CTL_SETCLE:
++ writeb(readb(FLASHCTL) | FLCLE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRCLE:
++ writeb(readb(FLASHCTL) & ~FLCLE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETALE:
++ writeb(readb(FLASHCTL) | FLALE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRALE:
++ writeb(readb(FLASHCTL) & ~FLALE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETNCE:
++ writeb(readb(FLASHCTL) & ~(FLCE0|FLCE1), FLASHCTL);
++ break;
++ case NAND_CTL_CLRNCE:
++ writeb(readb(FLASHCTL) | (FLCE0|FLCE1), FLASHCTL);
++ break;
++ }
++}
++
++static int
++sharpsl_nand_dev_ready(struct mtd_info* mtd)
++{
++ return !((readb(FLASHCTL) & FLRYBY) == 0);
++}
++
++static void
++sharpsl_nand_enable_hwecc(struct mtd_info* mtd, int mode)
++{
++ writeb(0 ,ECCCLRR);
++}
++
++static int
++sharpsl_nand_calculate_ecc(struct mtd_info* mtd, const u_char* dat,
++ u_char* ecc_code)
++{
++ ecc_code[0] = ~readb(ECCLPUB);
++ ecc_code[1] = ~readb(ECCLPLB);
++ ecc_code[2] = (~readb(ECCCP) << 2) | 0x03;
++ return readb(ECCCNTR) != 0;
++}
++
++static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
++
++static struct nand_bbt_descr sharpsl_akita_bbt = {
++ .options = 0,
++ .offs = 4,
++ .len = 1,
++ .pattern = scan_ff_pattern
++};
++
++static struct nand_oobinfo akita_oobinfo = {
++ .useecc = MTD_NANDECC_AUTOPLACE,
++ .eccbytes = 24,
++ .eccpos = {
++ 0x5, 0x1, 0x2, 0x3, 0x6, 0x7, 0x15, 0x11,
++ 0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23,
++ 0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37},
++ .oobfree = { {0x08, 0x09} }
++};
++
++/*
++ * Board-specific NAND initialization. The following members of the
++ * argument are board-specific (per include/linux/mtd/nand.h):
++ * - IO_ADDR_R?: address to read the 8 I/O lines of the flash device
++ * - IO_ADDR_W?: address to write the 8 I/O lines of the flash device
++ * - hwcontrol: hardwarespecific function for accesing control-lines
++ * - dev_ready: hardwarespecific function for accesing device ready/busy line
++ * - enable_hwecc?: function to enable (reset) hardware ecc generator. Must
++ * only be provided if a hardware ECC is available
++ * - eccmode: mode of ecc, see defines
++ * - chip_delay: chip dependent delay for transfering data from array to
++ * read regs (tR)
++ * - options: various chip options. They can partly be set to inform
++ * nand_scan about special functionality. See the defines for further
++ * explanation
++ * Members with a "?" were not set in the merged testing-NAND branch,
++ * so they are not set here either.
++ */
++void board_nand_init(struct nand_chip *nand)
++{
++ writeb(readb(FLASHCTL) | FLWP, FLASHCTL);
++
++ nand->IO_ADDR_R = FLASHIO;
++ nand->IO_ADDR_W = FLASHIO;
++ nand->hwcontrol = sharpsl_nand_hwcontrol;
++ nand->dev_ready = sharpsl_nand_dev_ready;
++ nand->eccmode = NAND_ECC_HW3_256;
++ nand->chip_delay = 15;
++ nand->options = NAND_SAMSUNG_LP_OPTIONS;
++ nand->badblock_pattern = &sharpsl_akita_bbt;
++ nand->autooob = &akita_oobinfo;
++ nand->enable_hwecc = sharpsl_nand_enable_hwecc;
++ nand->calculate_ecc = sharpsl_nand_calculate_ecc;
++ nand->correct_data = nand_correct_data;
++}
++#endif /* (CONFIG_COMMANDS & CFG_CMD_NAND) */
+diff -Nur u-boot-2006-04-18-1106/board/akita/u-boot.lds u-boot-2006-04-18-1106-new/board/akita/u-boot.lds
+--- u-boot-2006-04-18-1106/board/akita/u-boot.lds 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/akita/u-boot.lds 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,56 @@
++/*
++ * (C) Copyright 2000
++ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
++OUTPUT_ARCH(arm)
++ENTRY(_start)
++SECTIONS
++{
++ . = 0x00000000;
++
++ . = ALIGN(4);
++ .text :
++ {
++ cpu/pxa/start.o (.text)
++ *(.text)
++ }
++
++ . = ALIGN(4);
++ .rodata : { *(.rodata) }
++
++ . = ALIGN(4);
++ .data : { *(.data) }
++
++ . = ALIGN(4);
++ .got : { *(.got) }
++
++ . = .;
++ __u_boot_cmd_start = .;
++ .u_boot_cmd : { *(.u_boot_cmd) }
++ __u_boot_cmd_end = .;
++
++ . = ALIGN(4);
++ __bss_start = .;
++ .bss : { *(.bss) }
++ _end = .;
++}
+diff -Nur u-boot-2006-04-18-1106/board/corgi/Makefile u-boot-2006-04-18-1106-new/board/corgi/Makefile
+--- u-boot-2006-04-18-1106/board/corgi/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/Makefile 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,51 @@
++#
++# board/corgi/Makefile
++#
++# (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++#
++# (C) Copyright 2000
++# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++#
++# See file CREDITS for list of people who contributed to this
++# project.
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# 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, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++# MA 02111-1307 USA
++#
++
++include $(TOPDIR)/config.mk
++
++LIB = lib$(BOARD).a
++
++OBJS := corgi.o nand.o kbd.o
++SOBJS := lowlevel_init.o
++
++$(LIB): $(OBJS) $(SOBJS)
++ $(AR) crv $@ $(OBJS) $(SOBJS)
++
++clean:
++ rm -f $(SOBJS) $(OBJS)
++
++distclean: clean
++ rm -f $(LIB) core *.bak .depend
++
++#########################################################################
++
++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
++
++-include .depend
++
++#########################################################################
+diff -Nur u-boot-2006-04-18-1106/board/corgi/config.mk u-boot-2006-04-18-1106-new/board/corgi/config.mk
+--- u-boot-2006-04-18-1106/board/corgi/config.mk 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/config.mk 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1 @@
++TEXT_BASE = 0xa1000000
+diff -Nur u-boot-2006-04-18-1106/board/corgi/corgi.c u-boot-2006-04-18-1106-new/board/corgi/corgi.c
+--- u-boot-2006-04-18-1106/board/corgi/corgi.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/corgi.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,87 @@
++/*
++ * board/corgi/corgi.c
++ *
++ * Configuration settings for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++/* ------------------------------------------------------------------------- */
++
++/*
++ * Miscellaneous platform dependent initialisations
++ */
++
++int board_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ /* memory and cpu-speed are setup before relocation */
++ /* so we do _nothing_ here */
++
++ /* arch number of Sharp Zaurus Corgi : MACH_TYPE_CORGI */
++ gd->bd->bi_arch_number = 423;
++
++ /* adress of boot parameters */
++ gd->bd->bi_boot_params = 0xa0000100;
++
++ /* set cpu turbo mode */
++ set_turbo_mode();
++
++ corgikbd_init();
++
++ return 0;
++}
++
++int board_late_init(void)
++{
++ setenv("stdout", "serial");
++ setenv("stderr", "serial");
++ return 0;
++}
++
++
++int dram_init (void)
++{
++ DECLARE_GLOBAL_DATA_PTR;
++
++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
++ gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
++ gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
++ gd->bd->bi_dram[2].start = PHYS_SDRAM_3;
++ gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE;
++ gd->bd->bi_dram[3].start = PHYS_SDRAM_4;
++ gd->bd->bi_dram[3].size = PHYS_SDRAM_4_SIZE;
++
++ return 0;
++}
+diff -Nur u-boot-2006-04-18-1106/board/corgi/kbd.c u-boot-2006-04-18-1106-new/board/corgi/kbd.c
+--- u-boot-2006-04-18-1106/board/corgi/kbd.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/kbd.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,202 @@
++/*
++ * board/corgi/kbd.c
++ *
++ * Keyboard driver for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from:
++ *
++ * linux/drivers/input/keyboard/spitzkbd.c
++ *
++ * Keyboard driver for Sharp Corgi models (SL-C7xx)
++ *
++ * Copyright (C) 2005 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <command.h>
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++#define GPIO_DFLT_LOW 0x400
++#define GPIO_DFLT_HIGH 0x800
++
++void pxa_gpio_mode(int gpio_mode)
++{
++ int gpio = gpio_mode & GPIO_MD_MASK_NR;
++ int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8;
++ int gafr;
++
++ if (gpio_mode & GPIO_DFLT_LOW)
++ GPCR(gpio) = GPIO_bit(gpio);
++ else if (gpio_mode & GPIO_DFLT_HIGH)
++ GPSR(gpio) = GPIO_bit(gpio);
++ if (gpio_mode & GPIO_MD_MASK_DIR)
++ GPDR(gpio) |= GPIO_bit(gpio);
++ else
++ GPDR(gpio) &= ~GPIO_bit(gpio);
++ gafr = GAFR(gpio) & ~(0x3 << (((gpio) & 0xf)*2));
++ GAFR(gpio) = gafr | (fn << (((gpio) & 0xf)*2));
++}
++
++/*
++ * Corgi Keyboard Definitions
++ */
++#define CORGI_KEY_STROBE_NUM (12)
++#define CORGI_KEY_SENSE_NUM (8)
++#define CORGI_GPIO_ALL_STROBE_BIT (0x00003ffc)
++#define CORGI_GPIO_HIGH_SENSE_BIT (0xfc000000)
++#define CORGI_GPIO_HIGH_SENSE_RSHIFT (26)
++#define CORGI_GPIO_LOW_SENSE_BIT (0x00000003)
++#define CORGI_GPIO_LOW_SENSE_LSHIFT (6)
++#define CORGI_GPIO_STROBE_BIT(a) GPIO_bit(66+(a))
++#define CORGI_GPIO_SENSE_BIT(a) GPIO_bit(58+(a))
++#define CORGI_GAFR_ALL_STROBE_BIT (0x0ffffff0)
++#define CORGI_GAFR_HIGH_SENSE_BIT (0xfff00000)
++#define CORGI_GAFR_LOW_SENSE_BIT (0x0000000f)
++#define CORGI_GPIO_KEY_SENSE(a) (58+(a))
++#define CORGI_GPIO_KEY_STROBE(a) (66+(a))
++
++#define CORGI_GPIO_AK_INT (4) /* Headphone Jack Control Interrupt */
++
++#define KB_ROWS 8
++#define KB_COLS 12
++#define KB_ROWMASK(r) (1 << (r))
++#define SCANCODE(r,c) ( ((r)<<4) + (c) + 1 )
++/* zero code, 124 scancodes */
++#define NR_SCANCODES ( SCANCODE(KB_ROWS-1,KB_COLS-1) +1 +1 )
++
++#define SCAN_INTERVAL (50) /* ms */
++#define HINGE_SCAN_INTERVAL (250) /* ms */
++
++#define KB_DISCHARGE_DELAY 10
++#define KB_ACTIVATE_DELAY 10
++
++static inline void corgikbd_discharge_all(void)
++{
++ /* STROBE All HiZ */
++ GPCR2 = CORGI_GPIO_ALL_STROBE_BIT;
++ GPDR2 &= ~CORGI_GPIO_ALL_STROBE_BIT;
++}
++
++static inline void corgikbd_activate_all(void)
++{
++ /* STROBE ALL -> High */
++ GPSR2 = CORGI_GPIO_ALL_STROBE_BIT;
++ GPDR2 |= CORGI_GPIO_ALL_STROBE_BIT;
++
++ udelay(KB_DISCHARGE_DELAY);
++
++ /* Clear any interrupts we may have triggered when altering the GPIO lines */
++ GEDR1 = CORGI_GPIO_HIGH_SENSE_BIT;
++ GEDR2 = CORGI_GPIO_LOW_SENSE_BIT;
++}
++
++static inline void corgikbd_activate_col(int col)
++{
++ /* STROBE col -> High, not col -> HiZ */
++ GPSR2 = CORGI_GPIO_STROBE_BIT(col);
++ GPDR2 = (GPDR2 & ~CORGI_GPIO_ALL_STROBE_BIT) | CORGI_GPIO_STROBE_BIT(col);
++}
++
++static inline void corgikbd_reset_col(int col)
++{
++ /* STROBE col -> Low */
++ GPCR2 = CORGI_GPIO_STROBE_BIT(col);
++ /* STROBE col -> out, not col -> HiZ */
++ GPDR2 = (GPDR2 & ~CORGI_GPIO_ALL_STROBE_BIT) | CORGI_GPIO_STROBE_BIT(col);
++}
++
++#define GET_ROWS_STATUS(c) (((GPLR1 & CORGI_GPIO_HIGH_SENSE_BIT) >> CORGI_GPIO_HIGH_SENSE_RSHIFT) | ((GPLR2 & CORGI_GPIO_LOW_SENSE_BIT) << CORGI_GPIO_LOW_SENSE_LSHIFT))
++
++static int corgikbd_scankeyboard(void)
++{
++ unsigned int row, col, rowd;
++ unsigned int num_pressed;
++ int ret = -1;
++
++ num_pressed = 0;
++ for (col = 0; col < KB_COLS; col++) {
++ corgikbd_discharge_all();
++ udelay(KB_DISCHARGE_DELAY);
++
++ corgikbd_activate_col(col);
++ udelay(KB_ACTIVATE_DELAY);
++
++ rowd = GET_ROWS_STATUS(col);
++ for (row = 0; row < KB_ROWS; row++) {
++ unsigned int scancode, pressed;
++
++ scancode = SCANCODE(row, col);
++ pressed = rowd & KB_ROWMASK(row);
++
++ if (pressed)
++ ret = scancode;
++ }
++ corgikbd_reset_col(col);
++ }
++
++ corgikbd_activate_all();
++
++ return ret;
++}
++
++void corgikbd_init(void)
++{
++ int i;
++
++ /* Setup sense interrupts - RisingEdge Detect, sense lines as inputs */
++ for (i = 0; i < CORGI_KEY_SENSE_NUM; i++)
++ pxa_gpio_mode(CORGI_GPIO_KEY_SENSE(i) | GPIO_IN);
++
++ /* Set Strobe lines as outputs - set high */
++ for (i = 0; i < CORGI_KEY_STROBE_NUM; i++)
++ pxa_gpio_mode(CORGI_GPIO_KEY_STROBE(i) | GPIO_OUT | GPIO_DFLT_HIGH);
++
++ /* Setup the headphone jack as an input */
++ pxa_gpio_mode(CORGI_GPIO_AK_INT | GPIO_IN);
++}
++
++int do_testkey(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
++{
++ int scan;
++
++ if (argc < 2)
++ return 1;
++
++ scan = corgikbd_scankeyboard();
++
++
++// if (scan >= 0)
++// printf("Scan = %d\n", scan);
++// else
++// printf("Nothing!\n");
++
++ return !(simple_strtol(argv[1], NULL, 10) == scan);
++}
++
++U_BOOT_CMD(
++ testkey, 2, 1, do_testkey,
++ "testkey - compare pressed key with arg\n",
++ "<key scancode>"
++);
+diff -Nur u-boot-2006-04-18-1106/board/corgi/lowlevel_init.S u-boot-2006-04-18-1106-new/board/corgi/lowlevel_init.S
+--- u-boot-2006-04-18-1106/board/corgi/lowlevel_init.S 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/lowlevel_init.S 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,136 @@
++/*
++ * board/corgi/lowlevel_init.S
++ *
++ * Configuration settings for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * This was originally from the Lubbock u-boot port and from BLOB with cleanup
++ *
++ * NOTE: I haven't clean this up considerably, just enough to get it
++ * running. See hal_platform_setup.h for the source. See
++ * board/cradle/lowlevel_init.S for another PXA250 setup that is
++ * much cleaner.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <config.h>
++#include <version.h>
++#include <asm/arch/pxa-regs.h>
++
++/* wait for coprocessor write complete */
++ .macro CPWAIT reg
++ mrc p15,0,\reg,c2,c0,0
++ mov \reg,\reg
++ sub pc,pc,#4
++ .endm
++
++/*********** Write out to HEX 7 segment leds *********/
++
++#undef DEBUG_HEXLOG
++
++#ifdef DEBUG_HEXLOG
++#define LEDCTL 0x08000040
++#define LEDDAT1 0x08000010
++#define LEDDAT2 0x08000014
++
++.macro wait, count
++ mov r10, \count
++0:
++ subs r10, r10, #1
++ bne 0b
++.endm
++
++.macro hexlog_init
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++ ldr r11, =LEDDAT1
++ mov r10, #0x0
++ str r10, [r11]
++.endm
++
++.macro hexlog, val
++ ldr r11, =LEDCTL
++ mov r10, #0xff
++ str r10, [r11]
++ ldr r11, =LEDDAT2
++ mov r10, #0xFFFFFFFF
++ str r10, [r11]
++
++ ldr r11, =LEDDAT1
++ mov r10, \val
++ str r10, [r11]
++
++ wait #0x400000
++.endm
++
++#else
++
++.macro hexlog_init
++ nop
++.endm
++
++.macro hexlog, val
++ nop
++.endm
++
++#endif
++
++/***********************************/
++
++/*
++ * Memory setup
++ */
++
++.globl lowlevel_init
++lowlevel_init:
++
++ mov pc, lr
++
++.globl set_turbo_mode
++
++set_turbo_mode:
++ /* Turn on turbo mode */
++ mrc p14, 0, r2, c6, c0, 0
++ orr r2, r2, #0x3 /* Turbo, Freq change */
++ mcr p14, 0, r2, c6, c0, 0
++
++
++ /* Setup vectors */
++ ldr r0, =TEXT_BASE
++ ldr r1, =TEXT_BASE+0x40
++ ldr r2, =0x0
++1:
++ ldr r3, [r0]
++ str r3, [r2]
++ add r0, r0, #4
++ add r2, r2, #4
++ cmp r0, r1
++ bne 1b
++
++ ldr r0, =0x0
++ ldr r1, [r0, #4]
++ str r1, [r0]
++
++ mov pc, lr
+diff -Nur u-boot-2006-04-18-1106/board/corgi/nand.c u-boot-2006-04-18-1106-new/board/corgi/nand.c
+--- u-boot-2006-04-18-1106/board/corgi/nand.c 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/nand.c 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,157 @@
++/*
++ * board/corgi/nand.c
++ *
++ * NAND driver for the Sharp Zaurus SL-C7x0/860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from mtd nand driver:
++ *
++ * drivers/mtd/nand/sharpsl.c
++ *
++ * Copyright (C) 2004 Richard Purdie
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_NAND)
++
++#include <nand.h>
++#include <linux/mtd/nand_ecc.h>
++
++static int sharpsl_io_base = CFG_NAND_BASE;
++
++/* register offset */
++#define ECCLPLB sharpsl_io_base+0x00 /* line parity 7 - 0 bit */
++#define ECCLPUB sharpsl_io_base+0x04 /* line parity 15 - 8 bit */
++#define ECCCP sharpsl_io_base+0x08 /* column parity 5 - 0 bit */
++#define ECCCNTR sharpsl_io_base+0x0C /* ECC byte counter */
++#define ECCCLRR sharpsl_io_base+0x10 /* cleare ECC */
++#define FLASHIO sharpsl_io_base+0x14 /* Flash I/O */
++#define FLASHCTL sharpsl_io_base+0x18 /* Flash Control */
++
++/* Flash control bit */
++#define FLRYBY (1 << 5)
++#define FLCE1 (1 << 4)
++#define FLWP (1 << 3)
++#define FLALE (1 << 2)
++#define FLCLE (1 << 1)
++#define FLCE0 (1 << 0)
++
++#define readb(address) *((volatile unsigned char *)(address))
++#define writeb(v, address) *((volatile unsigned char *)(address))=v
++
++/*
++ * hardware specific access to control-lines
++ */
++static void
++sharpsl_nand_hwcontrol(struct mtd_info* mtd, int cmd)
++{
++ switch (cmd) {
++ case NAND_CTL_SETCLE:
++ writeb(readb(FLASHCTL) | FLCLE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRCLE:
++ writeb(readb(FLASHCTL) & ~FLCLE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETALE:
++ writeb(readb(FLASHCTL) | FLALE, FLASHCTL);
++ break;
++ case NAND_CTL_CLRALE:
++ writeb(readb(FLASHCTL) & ~FLALE, FLASHCTL);
++ break;
++
++ case NAND_CTL_SETNCE:
++ writeb(readb(FLASHCTL) & ~(FLCE0|FLCE1), FLASHCTL);
++ break;
++ case NAND_CTL_CLRNCE:
++ writeb(readb(FLASHCTL) | (FLCE0|FLCE1), FLASHCTL);
++ break;
++ }
++}
++
++static int
++sharpsl_nand_dev_ready(struct mtd_info* mtd)
++{
++ return !((readb(FLASHCTL) & FLRYBY) == 0);
++}
++
++static void
++sharpsl_nand_enable_hwecc(struct mtd_info* mtd, int mode)
++{
++ writeb(0 ,ECCCLRR);
++}
++
++static int
++sharpsl_nand_calculate_ecc(struct mtd_info* mtd, const u_char* dat,
++ u_char* ecc_code)
++{
++ ecc_code[0] = ~readb(ECCLPUB);
++ ecc_code[1] = ~readb(ECCLPLB);
++ ecc_code[2] = (~readb(ECCCP) << 2) | 0x03;
++ return readb(ECCCNTR) != 0;
++}
++
++static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
++
++static struct nand_bbt_descr sharpsl_bbt = {
++ .options = 0,
++ .offs = 4,
++ .len = 2,
++ .pattern = scan_ff_pattern
++};
++
++/*
++ * Board-specific NAND initialization. The following members of the
++ * argument are board-specific (per include/linux/mtd/nand.h):
++ * - IO_ADDR_R?: address to read the 8 I/O lines of the flash device
++ * - IO_ADDR_W?: address to write the 8 I/O lines of the flash device
++ * - hwcontrol: hardwarespecific function for accesing control-lines
++ * - dev_ready: hardwarespecific function for accesing device ready/busy line
++ * - enable_hwecc?: function to enable (reset) hardware ecc generator. Must
++ * only be provided if a hardware ECC is available
++ * - eccmode: mode of ecc, see defines
++ * - chip_delay: chip dependent delay for transfering data from array to
++ * read regs (tR)
++ * - options: various chip options. They can partly be set to inform
++ * nand_scan about special functionality. See the defines for further
++ * explanation
++ * Members with a "?" were not set in the merged testing-NAND branch,
++ * so they are not set here either.
++ */
++void board_nand_init(struct nand_chip *nand)
++{
++ writeb(readb(FLASHCTL) | FLWP, FLASHCTL);
++
++ nand->IO_ADDR_R = FLASHIO;
++ nand->IO_ADDR_W = FLASHIO;
++ nand->hwcontrol = sharpsl_nand_hwcontrol;
++ nand->dev_ready = sharpsl_nand_dev_ready;
++ nand->eccmode = NAND_ECC_HW3_256;
++ nand->chip_delay = 15;
++ nand->badblock_pattern = &sharpsl_bbt;
++ nand->enable_hwecc = sharpsl_nand_enable_hwecc;
++ nand->calculate_ecc = sharpsl_nand_calculate_ecc;
++ nand->correct_data = nand_correct_data;
++}
++#endif /* (CONFIG_COMMANDS & CFG_CMD_NAND) */
+diff -Nur u-boot-2006-04-18-1106/board/corgi/u-boot.lds u-boot-2006-04-18-1106-new/board/corgi/u-boot.lds
+--- u-boot-2006-04-18-1106/board/corgi/u-boot.lds 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/board/corgi/u-boot.lds 2006-07-05 11:19:44.000000000 +0000
+@@ -0,0 +1,56 @@
++/*
++ * (C) Copyright 2000
++ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
++OUTPUT_ARCH(arm)
++ENTRY(_start)
++SECTIONS
++{
++ . = 0x00000000;
++
++ . = ALIGN(4);
++ .text :
++ {
++ cpu/pxa/start.o (.text)
++ *(.text)
++ }
++
++ . = ALIGN(4);
++ .rodata : { *(.rodata) }
++
++ . = ALIGN(4);
++ .data : { *(.data) }
++
++ . = ALIGN(4);
++ .got : { *(.got) }
++
++ . = .;
++ __u_boot_cmd_start = .;
++ .u_boot_cmd : { *(.u_boot_cmd) }
++ __u_boot_cmd_end = .;
++
++ . = ALIGN(4);
++ __bss_start = .;
++ .bss : { *(.bss) }
++ _end = .;
++}
+diff -Nur u-boot-2006-04-18-1106/common/cmd_nand.c u-boot-2006-04-18-1106-new/common/cmd_nand.c
+--- u-boot-2006-04-18-1106/common/cmd_nand.c 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/common/cmd_nand.c 2006-07-05 11:19:44.000000000 +0000
+@@ -81,6 +81,63 @@
+ return 0;
+ }
+
++#ifdef NAND_LOGICAL
++/////////////////////////////////////////////////////////////////////
++// oob structure
++/////////////////////////////////////////////////////////////////////
++
++#define NAND_NOOB_LOGADDR_00 8
++#define NAND_NOOB_LOGADDR_01 9
++#define NAND_NOOB_LOGADDR_10 10
++#define NAND_NOOB_LOGADDR_11 11
++#define NAND_NOOB_LOGADDR_20 12
++#define NAND_NOOB_LOGADDR_21 13
++
++static uint nand_get_logical_no(unsigned char *oob)
++{
++ unsigned short us,bit;
++ int par;
++ int good0, good1;
++
++ if(oob[NAND_NOOB_LOGADDR_00] == oob[NAND_NOOB_LOGADDR_10] &&
++ oob[NAND_NOOB_LOGADDR_01] == oob[NAND_NOOB_LOGADDR_11]){
++ good0 = NAND_NOOB_LOGADDR_00;
++ good1 = NAND_NOOB_LOGADDR_01;
++ }else
++ if(oob[NAND_NOOB_LOGADDR_10] == oob[NAND_NOOB_LOGADDR_20] &&
++ oob[NAND_NOOB_LOGADDR_11] == oob[NAND_NOOB_LOGADDR_21]){
++ good0 = NAND_NOOB_LOGADDR_10;
++ good1 = NAND_NOOB_LOGADDR_11;
++ }else
++ if(oob[NAND_NOOB_LOGADDR_20] == oob[NAND_NOOB_LOGADDR_00] &&
++ oob[NAND_NOOB_LOGADDR_21] == oob[NAND_NOOB_LOGADDR_01]){
++ good0 = NAND_NOOB_LOGADDR_20;
++ good1 = NAND_NOOB_LOGADDR_21;
++ }else{
++ return (uint)-1;
++ }
++
++ us = (((unsigned short)(oob[good0]) & 0x00ff) << 0) |
++ (((unsigned short)(oob[good1]) & 0x00ff) << 8);
++
++ par = 0;
++ for(bit = 0x0001; bit != 0; bit <<= 1){
++ if(us & bit){
++ par++;
++ }
++ }
++ if(par & 1){
++ return (uint)-2;
++ }
++
++ if(us == 0xffff){
++ return 0xffff;
++ }else{
++ return ((us & 0x07fe) >> 1);
++ }
++}
++#endif
++
+ /* ------------------------------------------------------------------------- */
+
+ static void
+@@ -245,6 +302,55 @@
+ if (off == 0 && size == 0)
+ return 1;
+
++#ifdef NAND_LOGICAL
++ s = strchr(cmd, '.');
++ if (s != NULL) {
++ if (strcmp(s, ".logical") == 0) {
++ int blocks = NAND_LOGICAL_SIZE / nand->erasesize;
++ ulong *log2phy = malloc(blocks * sizeof(ulong));
++ u_char *oobuf = malloc(nand->oobblock + nand->oobsize);
++ int i;
++ ulong offset;
++ ret = 1;
++ for (i = 0; i < blocks; i++)
++ log2phy[i] = (uint) -1;
++ offset = 0;
++ for (i = 0; i < blocks; i++) {
++ ret = nand_read_raw(nand, oobuf, offset, nand->oobblock, nand->oobsize);
++ if (!ret) {
++ int log_no = nand_get_logical_no(oobuf + nand->oobblock);
++ if (((int)log_no >= 0) && (log_no < blocks)) {
++ log2phy[log_no] = offset;
++ //printf("NAND logical - %08X -> %04X\n", offset, log_no);
++ }
++ }
++ offset += nand->erasesize;
++ }
++
++ for (i = 0; i < size / nand->erasesize; i++) {
++ ulong sz = nand->erasesize;
++ offset = log2phy[off / nand->erasesize];
++ if ((int)offset < 0) {
++ printf("NAND logical - offset %08X not found\n", off);
++ return 1;
++ }
++ //printf("NAND logical - %04X -> %08X\n", off / nand->erasesize, offset);
++ ret = nand_read(nand, offset, &sz, (u_char *)addr);
++ if (ret) {
++ printf("NAND logical - offset %08X, read error\n", off);
++ return 1;
++ }
++ off += nand->erasesize;
++ addr += nand->erasesize;
++ }
++ printf(" %d bytes read from NAND logical\n", size);
++ free(oobuf);
++ free(log2phy);
++ return ret == 0 ? 0 : 1;
++ }
++ }
++#endif
++
+ i = strncmp(cmd, "read", 4) == 0; /* 1 = read, 0 = write */
+ printf("\nNAND %s: device %d offset %u, size %u ... ",
+ i ? "read" : "write", nand_curr_device, off, size);
+diff -Nur u-boot-2006-04-18-1106/cpu/pxa/config.mk u-boot-2006-04-18-1106-new/cpu/pxa/config.mk
+--- u-boot-2006-04-18-1106/cpu/pxa/config.mk 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/cpu/pxa/config.mk 2006-07-05 11:19:44.000000000 +0000
+@@ -22,8 +22,7 @@
+ # MA 02111-1307 USA
+ #
+
+-PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
+- -msoft-float
++PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 -fomit-frame-pointer
+
+ #PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=strongarm1100
+ PLATFORM_CPPFLAGS += -march=armv5 -mtune=xscale
+@@ -32,5 +31,5 @@
+ # Supply options according to compiler version
+ #
+ # ========================================================================
+-PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
++#PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
+ PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
+diff -Nur u-boot-2006-04-18-1106/cpu/pxa/start.S u-boot-2006-04-18-1106-new/cpu/pxa/start.S
+--- u-boot-2006-04-18-1106/cpu/pxa/start.S 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/cpu/pxa/start.S 2006-07-05 11:19:44.000000000 +0000
+@@ -42,6 +42,7 @@
+ ldr pc, _irq
+ ldr pc, _fiq
+
++_reset: .word reset
+ _undefined_instruction: .word undefined_instruction
+ _software_interrupt: .word software_interrupt
+ _prefetch_abort: .word prefetch_abort
+diff -Nur u-boot-2006-04-18-1106/fs/cramfs/cramfs.c u-boot-2006-04-18-1106-new/fs/cramfs/cramfs.c
+--- u-boot-2006-04-18-1106/fs/cramfs/cramfs.c 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/fs/cramfs/cramfs.c 2006-07-05 11:19:44.000000000 +0000
+@@ -44,8 +44,13 @@
+
+ /* CPU address space offset calculation macro, struct part_info offset is
+ * device address space offset, so we need to shift it by a device start address. */
++#if (CONFIG_COMMANDS & CFG_CMD_FLASH)
+ extern flash_info_t flash_info[];
+ #define PART_OFFSET(x) (x->offset + flash_info[x->dev->id->num].start[0])
++#else
++static struct cramfs_super super_fake;
++#define PART_OFFSET(x) (&super_fake)
++#endif
+
+ static int cramfs_read_super (struct part_info *info)
+ {
+diff -Nur u-boot-2006-04-18-1106/include/asm-arm/arch-pxa/pxa-regs.h u-boot-2006-04-18-1106-new/include/asm-arm/arch-pxa/pxa-regs.h
+--- u-boot-2006-04-18-1106/include/asm-arm/arch-pxa/pxa-regs.h 2006-04-18 09:05:03.000000000 +0000
++++ u-boot-2006-04-18-1106-new/include/asm-arm/arch-pxa/pxa-regs.h 2006-07-05 11:19:44.000000000 +0000
+@@ -1269,15 +1269,16 @@
+ #define _GEDR(x) __REG2(0x40E00048, ((x) & 0x60) >> 3)
+ #define _GAFR(x) __REG2(0x40E00054, ((x) & 0x70) >> 2)
+
+-#define GPLR(x) ((((x) & 0x7f) < 96) ? _GPLR(x) : GPLR3)
+-#define GPDR(x) ((((x) & 0x7f) < 96) ? _GPDR(x) : GPDR3)
+-#define GPSR(x) ((((x) & 0x7f) < 96) ? _GPSR(x) : GPSR3)
+-#define GPCR(x) ((((x) & 0x7f) < 96) ? _GPCR(x) : GPCR3)
+-#define GRER(x) ((((x) & 0x7f) < 96) ? _GRER(x) : GRER3)
+-#define GFER(x) ((((x) & 0x7f) < 96) ? _GFER(x) : GFER3)
+-#define GEDR(x) ((((x) & 0x7f) < 96) ? _GEDR(x) : GEDR3)
+-#define GAFR(x) ((((x) & 0x7f) < 96) ? _GAFR(x) : \
+- ((((x) & 0x7f) < 112) ? GAFR3_L : GAFR3_U))
++#define GPLR(x) (*((((x) & 0x7f) < 96) ? &_GPLR(x) : &GPLR3))
++#define GPDR(x) (*((((x) & 0x7f) < 96) ? &_GPDR(x) : &GPDR3))
++#define GPSR(x) (*((((x) & 0x7f) < 96) ? &_GPSR(x) : &GPSR3))
++#define GPCR(x) (*((((x) & 0x7f) < 96) ? &_GPCR(x) : &GPCR3))
++#define GRER(x) (*((((x) & 0x7f) < 96) ? &_GRER(x) : &GRER3))
++#define GFER(x) (*((((x) & 0x7f) < 96) ? &_GFER(x) : &GFER3))
++#define GEDR(x) (*((((x) & 0x7f) < 96) ? &_GEDR(x) : &GEDR3))
++#define GAFR(x) (*((((x) & 0x7f) < 96) ? &_GAFR(x) : \
++ ((((x) & 0x7f) < 112) ? &GAFR3_L : &GAFR3_U)))
++
+ #else
+
+ #define GPLR(x) __REG2(0x40E00000, ((x) & 0x60) >> 3)
+diff -Nur u-boot-2006-04-18-1106/include/configs/akita.h u-boot-2006-04-18-1106-new/include/configs/akita.h
+--- u-boot-2006-04-18-1106/include/configs/akita.h 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/include/configs/akita.h 2006-07-13 11:00:46.000000000 +0000
+@@ -0,0 +1,324 @@
++/*
++ * include/configs/akita.h
++ *
++ * Configuration settings for the Sharp Zaurus SL-C1000/C3100.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#ifndef __CONFIG_H
++#define __CONFIG_H
++
++#define CONFIG_SKIP_LOWLEVEL_INIT
++
++#undef SKIP_CONFIG_RELOCATE_UBOOT
++
++#undef CONFIG_HARD_I2C
++
++/*
++ * High Level Configuration Options
++ * (easy to change)
++ */
++#define CONFIG_PXA27X 1 /* This is an PXA27x CPU */
++#define CONFIG_AKITA 1 /* on Sharp Zaurus Akita */
++//#define CONFIG_MMC 1
++#define BOARD_LATE_INIT 1
++
++#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
++
++#define RTC 1
++
++/*
++ * Size of malloc() pool
++ */
++//#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024)
++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 256*1024)
++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
++
++/*
++ * select serial console configuration
++ */
++#define CONFIG_FFUART 1 /* we use FFUART on Mainstone */
++
++/* allow to overwrite serial and ethaddr */
++#define CONFIG_BAUDRATE 115200
++//#define CONFIG_DOS_PARTITION 1
++
++#undef CONFIG_SHOW_BOOT_PROGRESS
++
++#if 1
++#define CONFIG_BOOTDELAY 1
++#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds\n"
++
++#define CONFIG_BOOTCOMMAND \
++ "if testkey 101 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x00060000 0x00540000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 2 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 fbcon=rotate:1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 18 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 fbcon=rotate:1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 3 ; " \
++ "then " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 fbcon=rotate:1; " \
++ "bootm; " \
++ "fi; " \
++ "nand read.logical 0xa1000000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1; " \
++ "bootm; "
++#else
++#define CONFIG_BOOTCOMMAND "" // "run boot_flash"
++#endif
++
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192"
++#define CONFIG_SETUP_MEMORY_TAGS 1
++#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
++#define CONFIG_INITRD_TAG 1
++
++#define CONFIG_COMMANDS (( \
++ CONFIG_CMD_DFL | \
++ CFG_CMD_NAND | \
++ CFG_CMD_JFFS2 \
++ ) & ~( \
++ CFG_CMD_NET | \
++ CFG_CMD_FLASH | \
++ CFG_CMD_IMLS \
++ ))
++
++// CFG_CMD_ENV
++
++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
++#include <cmd_confdefs.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
++#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
++#endif
++
++/*
++ * Miscellaneous configurable options
++ */
++#define CFG_HUSH_PARSER 1
++#define CFG_PROMPT_HUSH_PS2 "> "
++
++#define CFG_LONGHELP /* undef to save memory */
++#define CFG_PROMPT "U-Boot> " /* Monitor Command Prompt */
++
++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
++#define CFG_MAXARGS 16 /* max number of command args */
++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
++#define CFG_DEVICE_NULLDEV 1
++
++#define CFG_MEMTEST_START 0xa0400000 /* memtest works on */
++#define CFG_MEMTEST_END 0xa0800000 /* 4 ... 8 MB in DRAM */
++
++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */
++
++#define CFG_LOAD_ADDR 0xa1000000 /* default load address */
++
++#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */
++#define CFG_CPUSPEED 0x207 /* need to look more closely, I think this is Turbo = 2x, L=91Mhz */
++
++ /* valid baudrates */
++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
++
++#define CFG_MMC_BASE 0xF0000000
++
++/*
++ * Stack sizes
++ *
++ * The stack sizes are set up in start.S using the settings below
++ */
++#define CONFIG_STACKSIZE (128*1024) /* regular stack */
++#ifdef CONFIG_USE_IRQ
++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */
++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */
++#endif
++
++/*
++ * Physical Memory Map
++ */
++#define CONFIG_NR_DRAM_BANKS 4 /* we have 2 banks of DRAM */
++#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */
++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */
++#define PHYS_SDRAM_2 0xa4000000 /* SDRAM Bank #2 */
++#define PHYS_SDRAM_2_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_3 0xa8000000 /* SDRAM Bank #3 */
++#define PHYS_SDRAM_3_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_4 0xac000000 /* SDRAM Bank #4 */
++#define PHYS_SDRAM_4_SIZE 0x00000000 /* 0 MB */
++
++#define PHYS_FLASH_1 0xd4000000 /* Flash Bank #1 */
++
++#define CFG_DRAM_BASE 0xa0000000
++#define CFG_DRAM_SIZE 0x04000000
++
++#define CFG_FLASH_BASE PHYS_FLASH_1
++
++/*
++ * GPIO settings for Mainstone
++ */
++
++#define CFG_GPSR0_VAL 0x00708800
++#define CFG_GPSR1_VAL 0x03cf0002
++#define CFG_GPSR2_VAL 0x0021FC00
++#define CFG_GPSR3_VAL 0x00000000
++
++#define CFG_GPCR0_VAL 0x00001000
++#define CFG_GPCR1_VAL 0x00000000
++#define CFG_GPCR2_VAL 0x00000000
++#define CFG_GPCR3_VAL 0x00000000
++
++#define CFG_GPDR0_VAL 0xC27B9C04
++#define CFG_GPDR1_VAL 0x00EFAA83
++#define CFG_GPDR2_VAL 0x0E23FC00
++#define CFG_GPDR3_VAL 0x001E1F81
++
++#define CFG_GAFR0_L_VAL 0x94F00000
++#define CFG_GAFR0_U_VAL 0x015A859A
++#define CFG_GAFR1_L_VAL 0x999A955A
++#define CFG_GAFR1_U_VAL 0x0005A4AA
++#define CFG_GAFR2_L_VAL 0x6AA00000
++#define CFG_GAFR2_U_VAL 0x55A8041A
++#define CFG_GAFR3_L_VAL 0x56AA955A
++#define CFG_GAFR3_U_VAL 0x00000001
++
++#define CFG_PSSR_VAL 0x20 // ???????????
++
++/*
++ * PCMCIA and CF Interfaces
++ */
++#define CFG_MECR_VAL 0x00000001
++#define CFG_MCMEM0_VAL 0x00010204
++#define CFG_MCMEM1_VAL 0x00010204
++#define CFG_MCATT0_VAL 0x00010204
++#define CFG_MCATT1_VAL 0x00010204
++#define CFG_MCIO0_VAL 0x0000c108
++#define CFG_MCIO1_VAL 0x0001c108
++
++//#define CONFIG_PXA_PCMCIA 1
++//#define CONFIG_PXA_IDE 1
++
++#define CONFIG_PCMCIA_SLOT_A 1
++/* just to keep build system happy */
++
++#define CFG_PCMCIA_MEM_ADDR 0x28000000
++#define CFG_PCMCIA_MEM_SIZE 0x04000000
++
++#define CFG_IDE_MAXBUS 1
++/* max. 1 IDE bus */
++#define CFG_IDE_MAXDEVICE 1
++/* max. 1 drive per IDE bus */
++
++#define CFG_ATA_IDE0_OFFSET 0x0000
++
++#define CFG_ATA_BASE_ADDR 0x20000000
++
++/* Offset for data I/O */
++#define CFG_ATA_DATA_OFFSET 0x1f0
++
++/* Offset for normal register accesses */
++#define CFG_ATA_REG_OFFSET 0x1f0
++
++/* Offset for alternate registers */
++#define CFG_ATA_ALT_OFFSET 0x3f0
++
++#define CFG_NO_FLASH 1
++#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
++#define CFG_MAX_FLASH_SECT 512 /* max number of sectors on one chip */
++
++/*-----------------------------------------------------------------------
++ * NAND-FLASH stuff
++ *-----------------------------------------------------------------------
++ */
++#undef CFG_NAND_LEGACY
++
++/* NAND debugging */
++//#define CONFIG_MTD_DEBUG
++//#define CONFIG_MTD_DEBUG_VERBOSE 3
++
++#define CFG_NAND_BASE 0xd4000000
++#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
++#define NAND_MAX_CHIPS 1
++
++//#define CONFIG_MTD_NAND_VERIFY_WRITE 1 /* verify all writes!!! */
++//#define CFG_NAND_SKIP_BAD_DOT_I 1 /* ".i" read skips bad blocks */
++
++#define CONFIG_JFFS2_NAND 1 /* jffs2 on nand support */
++#define NAND_CACHE_PAGES 16 /* size of nand cache in 512 bytes pages */
++
++/*
++ * JFFS2 partitions
++ *
++ */
++/* No command line, one static partition */
++//#undef CONFIG_JFFS2_CMDLINE
++//#define CONFIG_JFFS2_DEV "nand0"
++//#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
++//#define CONFIG_JFFS2_PART_OFFSET 0x00060000
++
++/* mtdparts command line support */
++/* Note: fake mtd_id used, no linux mtd map file */
++
++#define CONFIG_JFFS2_CMDLINE
++#define MTDIDS_DEFAULT "nand0=laze-0"
++//#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
++#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++
++/*
++ * SHARP SL NAND logical partition
++ */
++#define NAND_LOGICAL 1
++#define NAND_LOGICAL_SIZE 0x700000
++
++/*
++ * Environment
++ */
++
++#define CFG_ENV_IS_IN_NAND 1
++#define CFG_ENV_OFFSET 0x40000
++//#define CFG_ENV_OFFSET_REDUND 0x44000
++#define CFG_ENV_SIZE 0x20000
++
++#endif /* __CONFIG_H */
+diff -Nur u-boot-2006-04-18-1106/include/configs/corgi.h u-boot-2006-04-18-1106-new/include/configs/corgi.h
+--- u-boot-2006-04-18-1106/include/configs/corgi.h 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2006-04-18-1106-new/include/configs/corgi.h 2006-07-13 11:19:04.000000000 +0000
+@@ -0,0 +1,326 @@
++/*
++ * include/configs/corgi.h
++ *
++ * Configuration settings for the Sharp Zaurus SL-C7x0/C860.
++ *
++ * (C) Copyright 2006 Alexander Chukov <sash@pdaXrom.org>
++ *
++ * portions from adsvix board configuration:
++ * (C) Copyright 2004
++ * Robert Whaley, Applied Data Systems, Inc. rwhaley@applieddata.net
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger@sysgo.de>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#ifndef __CONFIG_H
++#define __CONFIG_H
++
++#define CONFIG_SKIP_LOWLEVEL_INIT
++
++#undef SKIP_CONFIG_RELOCATE_UBOOT
++
++#undef CONFIG_HARD_I2C
++
++/*
++ * High Level Configuration Options
++ * (easy to change)
++ */
++#define CONFIG_PXA250 1 /* This is an PXA255 CPU */
++#define CONFIG_CORGI 1 /* on Sharp Zaurus Corgi */
++//#define CONFIG_MMC 1
++#define BOARD_LATE_INIT 1
++
++#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
++
++#define RTC 1
++
++/*
++ * Size of malloc() pool
++ */
++//#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024)
++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 256*1024)
++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
++
++/*
++ * select serial console configuration
++ */
++#define CONFIG_FFUART 1 /* we use FFUART on Mainstone */
++
++/* allow to overwrite serial and ethaddr */
++#define CONFIG_BAUDRATE 115200
++//#define CONFIG_DOS_PARTITION 1
++
++#undef CONFIG_SHOW_BOOT_PROGRESS
++
++#if 1
++#define CONFIG_BOOTDELAY 1
++#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds\n"
++
++#define CONFIG_BOOTCOMMAND \
++ "if testkey 101 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x00060000 0x00540000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 2 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 18 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1; " \
++ "bootm; " \
++ "fi; " \
++ "if testkey 3 ; " \
++ "then " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1; " \
++ "bootm; " \
++ "fi; " \
++ "nand read.logical 0xa0800000 0x005a0000 0x00160000; " \
++ "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2; " \
++ "bootm; "
++#else
++#define CONFIG_BOOTCOMMAND "" // "run boot_flash"
++#endif
++
++#define CONFIG_BOOTARGS "console=ttyS0,115200 console=tty1 root=/dev/ram rw ramdisk_size=8192"
++#define CONFIG_SETUP_MEMORY_TAGS 1
++#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
++#define CONFIG_INITRD_TAG 1
++
++#define CONFIG_COMMANDS (( \
++ CONFIG_CMD_DFL | \
++ CFG_CMD_NAND | \
++ CFG_CMD_JFFS2 \
++ ) & ~( \
++ CFG_CMD_NET | \
++ CFG_CMD_FLASH | \
++ CFG_CMD_IMLS \
++ ))
++
++// CFG_CMD_ENV
++
++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
++#include <cmd_confdefs.h>
++
++
++#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
++#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
++#endif
++
++/*
++ * Miscellaneous configurable options
++ */
++#define CFG_HUSH_PARSER 1
++#define CFG_PROMPT_HUSH_PS2 "> "
++
++#define CFG_LONGHELP /* undef to save memory */
++#define CFG_PROMPT "U-Boot> " /* Monitor Command Prompt */
++
++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
++#define CFG_MAXARGS 16 /* max number of command args */
++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
++#define CFG_DEVICE_NULLDEV 1
++
++#define CFG_MEMTEST_START 0xa0400000 /* memtest works on */
++#define CFG_MEMTEST_END 0xa0800000 /* 4 ... 8 MB in DRAM */
++
++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */
++
++#define CFG_LOAD_ADDR 0xa0800000 /* default load address */
++
++#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */
++#define CFG_CPUSPEED 0x207 /* need to look more closely, I think this is Turbo = 2x, L=91Mhz */
++
++ /* valid baudrates */
++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
++
++#define CFG_MMC_BASE 0xF0000000
++
++/*
++ * Stack sizes
++ *
++ * The stack sizes are set up in start.S using the settings below
++ */
++#define CONFIG_STACKSIZE (128*1024) /* regular stack */
++#ifdef CONFIG_USE_IRQ
++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */
++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */
++#endif
++
++/*
++ * Physical Memory Map
++ */
++#define CONFIG_NR_DRAM_BANKS 4 /* we have 2 banks of DRAM */
++#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */
++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */
++#define PHYS_SDRAM_2 0xa4000000 /* SDRAM Bank #2 */
++#define PHYS_SDRAM_2_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_3 0xa8000000 /* SDRAM Bank #3 */
++#define PHYS_SDRAM_3_SIZE 0x00000000 /* 0 MB */
++#define PHYS_SDRAM_4 0xac000000 /* SDRAM Bank #4 */
++#define PHYS_SDRAM_4_SIZE 0x00000000 /* 0 MB */
++
++#define PHYS_FLASH_1 0xd4000000 /* Flash Bank #1 */
++
++#define CFG_DRAM_BASE 0xa0000000
++#define CFG_DRAM_SIZE 0x04000000
++
++#define CFG_FLASH_BASE PHYS_FLASH_1
++
++/*
++ * GPIO settings for Mainstone
++ */
++
++#define CFG_GPSR0_VAL 0x00708800
++#define CFG_GPSR1_VAL 0x03cf0002
++#define CFG_GPSR2_VAL 0x0021FC00
++#define CFG_GPSR3_VAL 0x00000000
++
++#define CFG_GPCR0_VAL 0x00001000
++#define CFG_GPCR1_VAL 0x00000000
++#define CFG_GPCR2_VAL 0x00000000
++#define CFG_GPCR3_VAL 0x00000000
++
++#define CFG_GPDR0_VAL 0xC27B9C04
++#define CFG_GPDR1_VAL 0x00EFAA83
++#define CFG_GPDR2_VAL 0x0E23FC00
++#define CFG_GPDR3_VAL 0x001E1F81
++
++#define CFG_GAFR0_L_VAL 0x94F00000
++#define CFG_GAFR0_U_VAL 0x015A859A
++#define CFG_GAFR1_L_VAL 0x999A955A
++#define CFG_GAFR1_U_VAL 0x0005A4AA
++#define CFG_GAFR2_L_VAL 0x6AA00000
++#define CFG_GAFR2_U_VAL 0x55A8041A
++#define CFG_GAFR3_L_VAL 0x56AA955A
++#define CFG_GAFR3_U_VAL 0x00000001
++
++#define CFG_PSSR_VAL 0x20 // ???????????
++
++/*
++ * PCMCIA and CF Interfaces
++ */
++#define CFG_MECR_VAL 0x00000001
++#define CFG_MCMEM0_VAL 0x00010204
++#define CFG_MCMEM1_VAL 0x00010204
++#define CFG_MCATT0_VAL 0x00010204
++#define CFG_MCATT1_VAL 0x00010204
++#define CFG_MCIO0_VAL 0x0000c108
++#define CFG_MCIO1_VAL 0x0001c108
++
++//#define CONFIG_PXA_PCMCIA 1
++//#define CONFIG_PXA_IDE 1
++
++#define CONFIG_PCMCIA_SLOT_A 1
++/* just to keep build system happy */
++
++#define CFG_PCMCIA_MEM_ADDR 0x28000000
++#define CFG_PCMCIA_MEM_SIZE 0x04000000
++
++#define CFG_IDE_MAXBUS 1
++/* max. 1 IDE bus */
++#define CFG_IDE_MAXDEVICE 1
++/* max. 1 drive per IDE bus */
++
++#define CFG_ATA_IDE0_OFFSET 0x0000
++
++#define CFG_ATA_BASE_ADDR 0x20000000
++
++/* Offset for data I/O */
++#define CFG_ATA_DATA_OFFSET 0x1f0
++
++/* Offset for normal register accesses */
++#define CFG_ATA_REG_OFFSET 0x1f0
++
++/* Offset for alternate registers */
++#define CFG_ATA_ALT_OFFSET 0x3f0
++
++#define CFG_NO_FLASH 1
++#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
++#define CFG_MAX_FLASH_SECT 512 /* max number of sectors on one chip */
++
++/*-----------------------------------------------------------------------
++ * NAND-FLASH stuff
++ *-----------------------------------------------------------------------
++ */
++#undef CFG_NAND_LEGACY
++
++/* NAND debugging */
++//#define CONFIG_MTD_DEBUG
++//#define CONFIG_MTD_DEBUG_VERBOSE 3
++
++#define CFG_NAND_BASE 0xd4000000
++#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
++#define NAND_MAX_CHIPS 1
++
++//#define CONFIG_MTD_NAND_VERIFY_WRITE 1 /* verify all writes!!! */
++//#define CFG_NAND_SKIP_BAD_DOT_I 1 /* ".i" read skips bad blocks */
++
++#define CONFIG_JFFS2_NAND 1 /* jffs2 on nand support */
++#define NAND_CACHE_PAGES 16 /* size of nand cache in 512 bytes pages */
++
++#define NAND_ALLOW_ERASE_ALL 1
++
++/*
++ * JFFS2 partitions
++ *
++ */
++/* No command line, one static partition */
++//#undef CONFIG_JFFS2_CMDLINE
++//#define CONFIG_JFFS2_DEV "nand0"
++//#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
++//#define CONFIG_JFFS2_PART_OFFSET 0x00060000
++
++/* mtdparts command line support */
++/* Note: fake mtd_id used, no linux mtd map file */
++
++#define CONFIG_JFFS2_CMDLINE
++#define MTDIDS_DEFAULT "nand0=laze-0"
++//#define MTDPARTS_DEFAULT "mtdparts=laze-0:256k(uboot),128k(env),-(jffs2)"
++#define MTDPARTS_DEFAULT "mtdparts=laze-0:7168k(Logical),-(JFFS2)"
++
++/*
++ * SHARP SL NAND logical partition
++ */
++#define NAND_LOGICAL 1
++#define NAND_LOGICAL_SIZE 0x700000
++
++/*
++ * Environment
++ */
++
++#define CFG_ENV_IS_IN_NAND 1
++#define CFG_ENV_OFFSET 0x40000
++//#define CFG_ENV_OFFSET_REDUND 0x44000
++#define CFG_ENV_SIZE 0x20000
++
++#endif /* __CONFIG_H */
+--- s/examples/Makefile.orig 2006-12-09 15:08:45.000000000 +0600
++++ s/examples/Makefile 2006-12-09 15:09:00.000000000 +0600
+@@ -60,7 +60,7 @@
+ include $(TOPDIR)/config.mk
+
+ SREC = hello_world.srec
+-BIN = hello_world.bin hello_world
++BIN = hello_world hello_world.bin
+
+ ifeq ($(CPU),mpc8xx)
+ SREC = test_burst.srec
+@@ -122,7 +122,7 @@
+
+ CPPFLAGS += -I..
+
+-all: .depend $(OBJS) $(LIB) $(SREC) $(BIN)
++all: .depend $(OBJS) $(LIB) $(BIN) $(SREC)
+
+ #########################################################################
+ $(LIB): .depend $(LIBOBJS)
diff --git a/packages/u-boot/u-boot-git/uboot-eabi-fix-HACK2.patch b/packages/u-boot/u-boot-git/uboot-eabi-fix-HACK2.patch
new file mode 100644
index 0000000000..858296b980
--- /dev/null
+++ b/packages/u-boot/u-boot-git/uboot-eabi-fix-HACK2.patch
@@ -0,0 +1,94 @@
+Index: git/lib_arm/div0.c
+===================================================================
+--- git.orig/lib_arm/div0.c
++++ git/lib_arm/div0.c
+@@ -22,9 +22,3 @@
+ */
+
+ /* Replacement (=dummy) for GNU/Linux division-by zero handler */
+-void __div0 (void)
+-{
+- extern void hang (void);
+-
+- hang();
+-}
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile
++++ git/Makefile
+@@ -225,7 +225,7 @@ LIBS := $(addprefix $(obj),$(LIBS))
+ .PHONY : $(LIBS)
+
+ # Add GCC lib
+-PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
++PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lgcc_eh
+
+ # The "tools" are needed early, so put this first
+ # Don't include stuff already done in $(LIBS)
+--- git/board/akita/akita.c.orig 2007-12-26 17:52:33.000000000 +0000
++++ git/board/akita/akita.c 2007-12-26 17:52:59.000000000 +0000
+@@ -87,3 +87,7 @@
+
+ return 0;
+ }
++
++void raise() {}
++
++void abort() {}
+--- git/board/corgi/corgi.c.orig 2007-12-26 17:52:33.000000000 +0000
++++ git/board/corgi/corgi.c 2007-12-26 17:52:59.000000000 +0000
+@@ -87,3 +87,7 @@
+
+ return 0;
+ }
++
++void raise() {}
++
++void abort() {}
+Index: git/lib_arm/div0.c
+===================================================================
+--- git.orig/lib_arm/div0.c
++++ git/lib_arm/div0.c
+@@ -22,9 +22,3 @@
+ */
+
+ /* Replacement (=dummy) for GNU/Linux division-by zero handler */
+-void __div0 (void)
+-{
+- extern void hang (void);
+-
+- hang();
+-}
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile
++++ git/Makefile
+@@ -225,7 +225,7 @@ LIBS := $(addprefix $(obj),$(LIBS))
+ .PHONY : $(LIBS)
+
+ # Add GCC lib
+-PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
++PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lgcc_eh
+
+ # The "tools" are needed early, so put this first
+ # Don't include stuff already done in $(LIBS)
+--- git/board/akita/akita.c.orig 2007-12-26 17:52:33.000000000 +0000
++++ git/board/akita/akita.c 2007-12-26 17:52:59.000000000 +0000
+@@ -87,3 +87,7 @@
+
+ return 0;
+ }
++
++void raise() {}
++
++void abort() {}
+--- git/board/corgi/corgi.c.orig 2007-12-26 17:52:33.000000000 +0000
++++ git/board/corgi/corgi.c 2007-12-26 17:52:59.000000000 +0000
+@@ -87,3 +87,7 @@
+
+ return 0;
+ }
++
++void raise() {}
++
++void abort() {}
diff --git a/packages/u-boot/u-boot_git.bb b/packages/u-boot/u-boot_git.bb
index 04eb7eb2e8..56b0797e01 100644
--- a/packages/u-boot/u-boot_git.bb
+++ b/packages/u-boot/u-boot_git.bb
@@ -1,10 +1,12 @@
require u-boot.inc
-PR="r16"
+PR="r17"
SRCREV_davinci-sffsdr = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa"
SRCREV_davinci-dvevm = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa"
SRCREV_beagleboard = "9c1c36409b2cb4e81aab0bd9d0a69c68f4475aae"
SRCREV_neuros-osd2 = "bc66414cd99154a40949db1bd2f45a62b8febca9"
+SRCREV_akita = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee"
+SRCREV_c7x0 = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee"
SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git "
SRC_URI_sequoia = "git://www.denx.de/git/u-boot.git;protocol=git;tag=cf3b41e0c1111dbb865b6e34e9f3c3d3145a6093 "
@@ -15,6 +17,14 @@ SRC_URI_beagleboard = "git://www.sakoman.net/git/u-boot-omap3.git;branch=test;pr
"
SRC_URI_neuros-osd2 += "file://Makefile-fix.patch;patch=1"
+SRC_URI_append_akita = "file://pdaXrom-u-boot.patch;patch=1 \
+ file://uboot-eabi-fix-HACK2.patch;patch=1 \
+ file://akita-standard-partitioning.patch;patch=1 \
+ "
+SRC_URI_append_c7x0 = "file://pdaXrom-u-boot.patch;patch=1 \
+ file://uboot-eabi-fix-HACK2.patch;patch=1 \
+ file://corgi-standard-partitioning.patch;patch=1 \
+ "
S = "${WORKDIR}/git"
diff --git a/packages/xmms-embedded/xmms-embedded_20040327.bb b/packages/xmms-embedded/xmms-embedded_20040327.bb
index 4d5ea6a12b..2701fa25f2 100644
--- a/packages/xmms-embedded/xmms-embedded_20040327.bb
+++ b/packages/xmms-embedded/xmms-embedded_20040327.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "XMMS embedded - lightweight audio player with video and codec plugins"
SECTION = "opie/multimedia"
-DEPENDS = "zlib tremor libmad libid3tag libsidplay glib-2.0 libmikmod-3.1.11"
+DEPENDS = "zlib tremor libmad libid3tag libsidplay glib-2.0 libmikmod"
LICENSE = "GPL"
PR = "r4"