From bc00650a333196197371dfb9dcf7215a08e04c16 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 11 Jun 2007 15:53:34 +0000 Subject: mboxkbd-layouts-gui: Add DEPENDS and SECTION. --- packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb b/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb index 717f2009e3..661f5f9017 100644 --- a/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb +++ b/packages/matchbox-keyboard/mboxkbd-layouts-gui_git.bb @@ -1,8 +1,11 @@ DESCRIPTION = "matchbox-keyboard layouts control application" AUTHOR = "Sergey Lapin" -SRC_URI = "git://ossfans.org/home/slapin/git/mk-layouts-gui.git;protocol=git" +SECTION = "x11" LICENSE = "GPL" -PR = "r2" +DEPENDS = "gtk+" +PR = "r3" + +SRC_URI = "git://ossfans.org/home/slapin/git/mk-layouts-gui.git;protocol=git" S = "${WORKDIR}/git" -- cgit v1.2.3 From 34507431261c131688bb5c4553be4b813bd5dcd0 Mon Sep 17 00:00:00 2001 From: Rolf Leggewie Date: Tue, 12 Jun 2007 22:31:54 +0000 Subject: gaim: set DEFAULT_PREFERENCE = "-1" for unfetchable cvs version --- packages/gaim/gaim_2.0.0-cvs-mco1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/gaim/gaim_2.0.0-cvs-mco1.bb b/packages/gaim/gaim_2.0.0-cvs-mco1.bb index c201f7a0f7..bf8591920c 100644 --- a/packages/gaim/gaim_2.0.0-cvs-mco1.bb +++ b/packages/gaim/gaim_2.0.0-cvs-mco1.bb @@ -3,6 +3,8 @@ SRCDATE_${PN} = "20050904" #Change to x.y.z+cvs${SRCDATE}-mco1 when 2.0.0 changes PV = "2.0.0-cvs-mco1-${SRCDATE}" +DEFAULT_PREFERENCE = "-1" + WEBCVSURL = "http://handhelds.org/cgi-bin/cvsweb.cgi/~checkout~/gaim" SRC_URI = "cvs://anonymous@gaim.cvs.sourceforge.net/cvsroot/gaim;module=gaim \ -- cgit v1.2.3 From 1cddb9beecc177f61483cbd5e87cb5d56eae551d Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 13 Jun 2007 08:04:50 +0000 Subject: gpsd: added forgotten file --- packages/gpsd/files/gpsd-default | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 packages/gpsd/files/gpsd-default diff --git a/packages/gpsd/files/gpsd-default b/packages/gpsd/files/gpsd-default new file mode 100644 index 0000000000..c345edf974 --- /dev/null +++ b/packages/gpsd/files/gpsd-default @@ -0,0 +1,3 @@ +# If you must specify a non-NMEA driver, uncomment and modify the next line +#GPSD_OPTS= +GPS_DEV="/dev/ttyS3" -- cgit v1.2.3 From 850164965c34ac53488bf27e1a4e56283c1d4e08 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 08:25:24 +0000 Subject: xcalibrate: merge fixes from poky. This should stop it fetching everytime and allow builds from machines without internet connection --- packages/xcalibrate/xcalibrate_git.bb | 5 +++-- packages/xcalibrateext/xcalibrateext_git.bb | 4 ++-- packages/xorg-lib/libxcalibrate_git.bb | 5 +++-- packages/xorg-proto/calibrateproto_git.bb | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/xcalibrate/xcalibrate_git.bb b/packages/xcalibrate/xcalibrate_git.bb index 7b2b4d3b63..aba693ad6c 100644 --- a/packages/xcalibrate/xcalibrate_git.bb +++ b/packages/xcalibrate/xcalibrate_git.bb @@ -1,11 +1,12 @@ -PV = "0.0+git${SRCDATE}" LICENSE = "BSD-X" SECTION = "x11/libs" PRIORITY = "optional" DEPENDS = "virtual/libx11 xcalibrateext libxext" DESCRIPTION = "XCalibrate client-side library" -SRC_URI = "git://anongit.freedesktop.org/xorg/lib/libXCalibrate;protocol=git" +PV = "0.0+git4be232e30cd33a44a1ce6d3ec429ee6101540c62" + +SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git;tag=4be232e30cd33a44a1ce6d3ec429ee6101540c62" S = "${WORKDIR}/git" inherit autotools pkgconfig diff --git a/packages/xcalibrateext/xcalibrateext_git.bb b/packages/xcalibrateext/xcalibrateext_git.bb index 9e5943a70b..16955b5753 100644 --- a/packages/xcalibrateext/xcalibrateext_git.bb +++ b/packages/xcalibrateext/xcalibrateext_git.bb @@ -1,11 +1,11 @@ -PV = "0.0+git${SRCDATE}" SECTION = "x11/libs" LICENSE = "BSD-X" DESCRIPTION = "XCalibrate extension headers" +PV = "0.0+gita1d5ef0c73fbef3e758c51b57ac69ba9567bae04" PR = "r1" -SRC_URI = "git://anongit.freedesktop.org/xorg/proto/calibrateproto;protocol=git" +SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git;tag=a1d5ef0c73fbef3e758c51b57ac69ba9567bae04" S = "${WORKDIR}/git" inherit autotools pkgconfig diff --git a/packages/xorg-lib/libxcalibrate_git.bb b/packages/xorg-lib/libxcalibrate_git.bb index 94b5265103..4e70d2670a 100644 --- a/packages/xorg-lib/libxcalibrate_git.bb +++ b/packages/xorg-lib/libxcalibrate_git.bb @@ -3,13 +3,13 @@ SECTION = "x11/libs" PRIORITY = "optional" LICENSE = "BSD-X" -PV = "0.0+git${SRCDATE}" +PV = "0.0+git4be232e30cd33a44a1ce6d3ec429ee6101540c62" DEPENDS = "virtual/libx11 calibrateproto libxext" FILES_${PN}-locale += "${datadir}/X11/locale" -SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git" +SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git;tag=4be232e30cd33a44a1ce6d3ec429ee6101540c62" S = "${WORKDIR}/git" inherit autotools pkgconfig @@ -17,3 +17,4 @@ inherit autotools pkgconfig do_stage() { autotools_stage_all } + diff --git a/packages/xorg-proto/calibrateproto_git.bb b/packages/xorg-proto/calibrateproto_git.bb index 8c61f3c0a4..bc407badb4 100644 --- a/packages/xorg-proto/calibrateproto_git.bb +++ b/packages/xorg-proto/calibrateproto_git.bb @@ -2,8 +2,8 @@ require xorg-proto-common.inc DESCRIPTION = " Touchscreen calibration protocol" -PV = "0.0+git${SRCDATE}" +PV = "0.0+gita1d5ef0c73fbef3e758c51b57ac69ba9567bae04" -SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git" +SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git;tag=a1d5ef0c73fbef3e758c51b57ac69ba9567bae04" S = "${WORKDIR}/git" -- cgit v1.2.3 From 5fc0973f438a37c7d3a7722c3b32ed926ae9f9a1 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 08:32:23 +0000 Subject: netbase: add empty dirs needed for the build --- packages/netbase/netbase/if-post-down.d/.mtn2git_empty | 0 packages/netbase/netbase/if-pre-up.d/.mtn2git_empty | 0 packages/netbase/netbase/if-up.d/.mtn2git_empty | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/netbase/netbase/if-post-down.d/.mtn2git_empty create mode 100644 packages/netbase/netbase/if-pre-up.d/.mtn2git_empty create mode 100644 packages/netbase/netbase/if-up.d/.mtn2git_empty diff --git a/packages/netbase/netbase/if-post-down.d/.mtn2git_empty b/packages/netbase/netbase/if-post-down.d/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/netbase/netbase/if-pre-up.d/.mtn2git_empty b/packages/netbase/netbase/if-pre-up.d/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/netbase/netbase/if-up.d/.mtn2git_empty b/packages/netbase/netbase/if-up.d/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.2.3 From 339c032ea9a177b184eb78d984835ae440cc8b56 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 08:33:50 +0000 Subject: grrrr --- packages/gpsd/files/gpsd-default | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 packages/gpsd/files/gpsd-default diff --git a/packages/gpsd/files/gpsd-default b/packages/gpsd/files/gpsd-default deleted file mode 100644 index c345edf974..0000000000 --- a/packages/gpsd/files/gpsd-default +++ /dev/null @@ -1,3 +0,0 @@ -# If you must specify a non-NMEA driver, uncomment and modify the next line -#GPSD_OPTS= -GPS_DEV="/dev/ttyS3" -- cgit v1.2.3 From df6f7f3624879b030ed9f1d47f1d71bccde1de84 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 09:32:53 +0000 Subject: linux 2.6.20, 2.6.21, 2.6.21+2.6.21+2.6.22-rc1: at91sam9263-ek updates --- .../linux/linux-2.6.21+2.6.22-rc1/.mtn2git_empty | 0 .../linux-2.6.21+2.6.22-rc1/at91-mmcfix.patch | 35 +++++++++++++ packages/linux/linux_2.6.20.bb | 27 +++++++++- packages/linux/linux_2.6.21+2.6.22-rc1.bb | 61 ++++++++++++++++++++++ packages/linux/linux_2.6.21.bb | 2 + 5 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 packages/linux/linux-2.6.21+2.6.22-rc1/.mtn2git_empty create mode 100644 packages/linux/linux-2.6.21+2.6.22-rc1/at91-mmcfix.patch create mode 100644 packages/linux/linux_2.6.21+2.6.22-rc1.bb diff --git a/packages/linux/linux-2.6.21+2.6.22-rc1/.mtn2git_empty b/packages/linux/linux-2.6.21+2.6.22-rc1/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/linux/linux-2.6.21+2.6.22-rc1/at91-mmcfix.patch b/packages/linux/linux-2.6.21+2.6.22-rc1/at91-mmcfix.patch new file mode 100644 index 0000000000..0b503b9409 --- /dev/null +++ b/packages/linux/linux-2.6.21+2.6.22-rc1/at91-mmcfix.patch @@ -0,0 +1,35 @@ +From: Marc Pignat +Date: Wed, 6 Jun 2007 18:27:59 +0000 (+0200) +Subject: mmc-atmel: remove linux/mmc/protocol.h dependencies +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=b6cedb38613d41367839df9d2181df3c81fb25c4 + +mmc-atmel: remove linux/mmc/protocol.h dependencies + +Fix compilation error by removing command decoding from at91_mci.c driver. +Decoding commands in the host driver is the wrong way. + +Signed-off-by: Marc Pignat +Signed-off-by: Pierre Ossman +--- + +--- /tmp/at91_mci.c 2007-06-13 11:17:32.809501930 +0200 ++++ linux-2.6.21/drivers/mmc/host/at91_mci.c 2007-06-13 11:19:36.953487036 +0200 +@@ -417,7 +417,7 @@ + blocks = 0; + } + +- if (cmd->opcode == MMC_STOP_TRANSMISSION) ++ if (host->flags & FL_SENT_STOP) + cmdr |= AT91_MCI_TRCMD_STOP; + + if (host->bus_mode == MMC_BUSMODE_OPENDRAIN) +@@ -561,8 +561,7 @@ + status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); + + if (status & AT91_MCI_ERRORS) { +- if ((status & AT91_MCI_RCRCE) && +- ((cmd->opcode == MMC_SEND_OP_COND) || (cmd->opcode == SD_APP_OP_COND))) { ++ if ((status & AT91_MCI_RCRCE) && !(mmc_resp_type(cmd) & MMC_RSP_CRC)) { + cmd->error = MMC_ERR_NONE; + } + else { diff --git a/packages/linux/linux_2.6.20.bb b/packages/linux/linux_2.6.20.bb index 80f6c71442..91388a2f95 100644 --- a/packages/linux/linux_2.6.20.bb +++ b/packages/linux/linux_2.6.20.bb @@ -1,7 +1,11 @@ DESCRIPTION = "Linux Kernel" SECTION = "kernel" LICENSE = "GPL" -PR = "r6" + +# These devices need mkimage to generate a kernel image +DEPENDS_at91sam9263ek = "u-boot-mkimage-gta01-native" + +PR = "r7" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://defconfig" @@ -11,13 +15,32 @@ SRC_URI_append_n2100 = "\ file://rtc-rs5c372-n2100.patch;patch=1 \ " +SRC_URI_append_at91sam9263ek = " \ + http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;patch=1 \ + http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \ + " + inherit kernel + KERNEL_IMAGETYPE = "bzImage" KERNEL_IMAGETYPE_n2100 = "zImage" +KERNEL_IMAGETYPE_at91sam9263ek = "uImage" do_configure_prepend() { - install -m 0644 ${WORKDIR}/defconfig ${S}/.config + if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then + echo "CONFIG_AEABI=y" >> ${S}/.config + echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config + else + echo "# CONFIG_AEABI is not set" >> ${S}/.config + echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config + fi + + sed -e '/CONFIG_AEABI/d' \ + -e '/CONFIG_OABI_COMPAT=/d' \ + '${WORKDIR}/defconfig' >>'${S}/.config' + + yes '' | oe_runmake oldconfig } do_install_append_n2100() { diff --git a/packages/linux/linux_2.6.21+2.6.22-rc1.bb b/packages/linux/linux_2.6.21+2.6.22-rc1.bb new file mode 100644 index 0000000000..2773280da2 --- /dev/null +++ b/packages/linux/linux_2.6.21+2.6.22-rc1.bb @@ -0,0 +1,61 @@ +DESCRIPTION = "Linux Kernel" +SECTION = "kernel" +LICENSE = "GPL" + +DEFAULT_PREFERENCE = "-1" + + +# These devices need mkimage to generate a kernel image +DEPENDS_kb9202 = "u-boot-mkimage-gta01-native" +DEPENDS_at32stk1000 = "u-boot-mkimage-gta01-native" +DEPENDS_atngw100 = "u-boot-mkimage-gta01-native" +DEPENDS_at91sam9263ek = "u-boot-mkimage-gta01-native" + +DEFAULT_PREFERENCE_at91sam9263ek = "-1" + +PR = "r0" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \ + ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-2.6.22-rc1.bz2;patch=1 \ + file://defconfig \ + " + +SRC_URI_append_simpad = "\ + file://linux-2.6.21-SIMpad-cs3-simpad.patch;patch=1 \ + file://linux-2.6.21-SIMpad-mq200.patch;patch=1 \ + file://linux-2.6.21-SIMpad-serial-and-gpio_keys.patch;patch=1 \ + file://linux-2.6.21-SIMpad-ucb1x00-switches.patch;patch=1 \ + file://linux-2.6.21-pcmcia-device-to-platform-driver.patch;patch=1 \ + " +SRC_URI_append_kb9202 = " http://maxim.org.za/AT91RM9200/2.6/2.6.22-rc1-at91.patch.gz;patch=1 \ + file://at91-mmcfix.patch;patch=1" +SRC_URI_append_at91sam9263ek = " http://maxim.org.za/AT91RM9200/2.6/2.6.22-rc1-at91.patch.gz;patch=1 \ + file://at91-mmcfix.patch;patch=1" + +S = "${WORKDIR}/linux-2.6.21" + +inherit kernel + +KERNEL_IMAGETYPE_progear = "bzImage" +KERNEL_IMAGETYPE_simpad = "zImage" +KERNEL_IMAGETYPE_kb9202 = "uImage" +KERNEL_IMAGETYPE_atngw100 = "uImage" +KERNEL_IMAGETYPE_at32stk1000 = "uImage" +KERNEL_IMAGETYPE_at91sam9263ek = "uImage" + +do_configure_prepend() { + if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then + echo "CONFIG_AEABI=y" >> ${S}/.config + echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config + else + echo "# CONFIG_AEABI is not set" >> ${S}/.config + echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config + fi + + sed -e '/CONFIG_AEABI/d' \ + -e '/CONFIG_OABI_COMPAT=/d' \ + '${WORKDIR}/defconfig' >>'${S}/.config' + + yes '' | oe_runmake oldconfig +} + diff --git a/packages/linux/linux_2.6.21.bb b/packages/linux/linux_2.6.21.bb index 94ec06072a..d823b4d625 100644 --- a/packages/linux/linux_2.6.21.bb +++ b/packages/linux/linux_2.6.21.bb @@ -8,6 +8,8 @@ DEPENDS_at32stk1000 = "u-boot-mkimage-gta01-native" DEPENDS_atngw100 = "u-boot-mkimage-gta01-native" DEPENDS_at91sam9263ek = "u-boot-mkimage-gta01-native" +DEFAULT_PREFERENCE_at91sam9263ek = "-1" + PR = "r3" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ -- cgit v1.2.3 From 23c20b0182b031338d5e89b226ebb1ae869f432a Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 09:40:53 +0000 Subject: linux 2.6.20, 2.6.21, 2.6.21+2.6.22-rc1: fix install for uImage --- packages/linux/linux_2.6.20.bb | 6 ++++++ packages/linux/linux_2.6.21+2.6.22-rc1.bb | 5 +++++ packages/linux/linux_2.6.21.bb | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/packages/linux/linux_2.6.20.bb b/packages/linux/linux_2.6.20.bb index 91388a2f95..76a90006d0 100644 --- a/packages/linux/linux_2.6.20.bb +++ b/packages/linux/linux_2.6.20.bb @@ -43,6 +43,12 @@ do_configure_prepend() { yes '' | oe_runmake oldconfig } +do_install_prepend() { + if test -e arch/${ARCH}/boot/Image ; then + ln -f arch/arm/boot/Image arch/arm/boot/uImage + fi +} + do_install_append_n2100() { install -d ${DEPLOY_DIR_IMAGE} install -m 0644 ${S}/arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} diff --git a/packages/linux/linux_2.6.21+2.6.22-rc1.bb b/packages/linux/linux_2.6.21+2.6.22-rc1.bb index 2773280da2..b127d33f24 100644 --- a/packages/linux/linux_2.6.21+2.6.22-rc1.bb +++ b/packages/linux/linux_2.6.21+2.6.22-rc1.bb @@ -59,3 +59,8 @@ do_configure_prepend() { yes '' | oe_runmake oldconfig } +do_install_prepend() { + if test -e arch/${ARCH}/boot/Image ; then + ln -f arch/arm/boot/Image arch/arm/boot/uImage + fi +} diff --git a/packages/linux/linux_2.6.21.bb b/packages/linux/linux_2.6.21.bb index d823b4d625..34dd5355e0 100644 --- a/packages/linux/linux_2.6.21.bb +++ b/packages/linux/linux_2.6.21.bb @@ -51,3 +51,9 @@ do_configure_prepend() { yes '' | oe_runmake oldconfig } +do_install_prepend() { + if test -e arch/${ARCH}/boot/Image ; then + ln -f arch/arm/boot/Image arch/arm/boot/uImage + fi +} + -- cgit v1.2.3 From b349242785e44742d96bc3165b31a8f65eb56ecd Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 09:46:42 +0000 Subject: linux 2.6.20, 2.6.21, 2.6.21+2.6.22-rc1: more uImage fixes, don't we love that all kernel archs behave the same? --- packages/linux/linux_2.6.20.bb | 4 ++++ packages/linux/linux_2.6.21+2.6.22-rc1.bb | 4 ++++ packages/linux/linux_2.6.21.bb | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/packages/linux/linux_2.6.20.bb b/packages/linux/linux_2.6.20.bb index 76a90006d0..d8882187ea 100644 --- a/packages/linux/linux_2.6.20.bb +++ b/packages/linux/linux_2.6.20.bb @@ -47,6 +47,10 @@ do_install_prepend() { if test -e arch/${ARCH}/boot/Image ; then ln -f arch/arm/boot/Image arch/arm/boot/uImage fi + + if test -e arch/${ARCH}/boot/images/uImage ; then + ln -f arch/arm/boot/images/uImage arch/arm/boot/uImage + fi } do_install_append_n2100() { diff --git a/packages/linux/linux_2.6.21+2.6.22-rc1.bb b/packages/linux/linux_2.6.21+2.6.22-rc1.bb index b127d33f24..c8d28ee6c2 100644 --- a/packages/linux/linux_2.6.21+2.6.22-rc1.bb +++ b/packages/linux/linux_2.6.21+2.6.22-rc1.bb @@ -63,4 +63,8 @@ do_install_prepend() { if test -e arch/${ARCH}/boot/Image ; then ln -f arch/arm/boot/Image arch/arm/boot/uImage fi + + if test -e arch/${ARCH}/boot/images/uImage ; then + ln -f arch/arm/boot/images/uImage arch/arm/boot/uImage + fi } diff --git a/packages/linux/linux_2.6.21.bb b/packages/linux/linux_2.6.21.bb index 34dd5355e0..24d4018de2 100644 --- a/packages/linux/linux_2.6.21.bb +++ b/packages/linux/linux_2.6.21.bb @@ -55,5 +55,9 @@ do_install_prepend() { if test -e arch/${ARCH}/boot/Image ; then ln -f arch/arm/boot/Image arch/arm/boot/uImage fi + + if test -e arch/${ARCH}/boot/images/uImage ; then + ln -f arch/arm/boot/images/uImage arch/arm/boot/uImage + fi } -- cgit v1.2.3 From 21b6863a4b2d6ed5bd11949de415b817057303e6 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 10:00:50 +0000 Subject: netbase: one more missing dir --- packages/netbase/netbase/if-down.d/.mtn2git_empty | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/netbase/netbase/if-down.d/.mtn2git_empty diff --git a/packages/netbase/netbase/if-down.d/.mtn2git_empty b/packages/netbase/netbase/if-down.d/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.2.3 From 28ca62fc66a15d032257ad50ee0540b6eb3e5eaa Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Wed, 13 Jun 2007 10:11:09 +0000 Subject: poptop 1.3.4: Remove the wtmp plugin, it's built for the wrong arch. I suspect this will close #2479 which looks to be this issue combined with insane.bbclass. --- packages/poptop/poptop_1.3.4.bb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/poptop/poptop_1.3.4.bb b/packages/poptop/poptop_1.3.4.bb index 9e4f31764f..5c6a71bb2e 100644 --- a/packages/poptop/poptop_1.3.4.bb +++ b/packages/poptop/poptop_1.3.4.bb @@ -8,7 +8,7 @@ SECTION = "network" LICENSE = "GPL" RDEPENDS_${PN} = "ppp" RDEPENDS_${PN}-logwtmp-plugin = "${PN}" -PR = "r0" +PR = "r1" SRC_URI = "${SOURCEFORGE_MIRROR}/poptop/pptpd-${PV}.tar.gz \ file://fix-plugins-install.patch;patch=1 \ @@ -26,12 +26,13 @@ do_install_append() { install -d ${D}${sbindir} ${D}/${sysconfdir} ${D}/${sysconfdir}/ppp install -m 0644 samples/options.pptpd ${D}/${sysconfdir}/ppp/ install -m 0644 samples/pptpd.conf ${D}/${sysconfdir}/ + # broken + rm -f ${D}${libdir}/pptpd/pptpd-logwtmp.so } -PACKAGES = "${PN}-dbg ${PN}-bcrelay ${PN}-logwtmp-plugin ${PN} ${PN}-doc" +PACKAGES = "${PN}-dbg ${PN}-bcrelay ${PN} ${PN}-doc" FILES_${PN}-bcrelay = "${sbindir}/bcrelay" -FILES_${PN}-logwtmp-plugin = "${libdir}/pptpd/pptpd-logwtmp.so" CONFFILES_${PN} = "${sysconfdir}/pptpd.conf \ ${sysconfdir}/ppp/options.pptpd" -- cgit v1.2.3 From 17e73f44c043e98722fb0220457cbc845b95fc37 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 13 Jun 2007 10:30:07 +0000 Subject: u-boot-mkimage-gta01-native: add a static git tag and put patches in OE to stop breakage --- .../u-boot-mkimage-gta01-native/.mtn2git_empty | 0 .../bbt-create-optional.patch | 52 + .../bbt-scan-second.patch | 69 + .../boot-from-ram-and-nand.patch | 98 + .../boot-from-ram-reloc.patch | 62 + .../u-boot-mkimage-gta01-native/boot-menu.patch | 769 ++++ .../u-boot-mkimage-gta01-native/cmd-unzip.patch | 58 + .../u-boot-mkimage-gta01-native/console-ansi.patch | 127 + .../u-boot-mkimage-gta01-native/default-env.patch | 101 + .../u-boot-mkimage-gta01-native/dontask.patch | 22 + .../dynenv-harden.patch | 139 + .../early-powerdown.patch | 40 + .../enable-splash-bmp.patch | 56 + .../u-boot-mkimage-gta01-native/env_nand_oob.patch | 198 + .../u-boot-mkimage-gta01-native/ext2load_hex.patch | 17 + .../u-boot-mkimage-gta01-native/lowlevel_foo.patch | 229 ++ .../mmcinit-power-up.patch | 73 + .../nand-badisbad.patch | 30 + .../nand-createbbt.patch | 126 + .../nand-dynamic_partitions.patch | 354 ++ .../u-boot-mkimage-gta01-native/nand-otp.patch | 302 ++ .../nand-read_write_oob.patch | 23 + .../neo1973-chargefast.patch | 316 ++ .../preboot-override.patch | 137 + .../u-boot-mkimage-gta01-native/raise-limits.patch | 31 + packages/uboot/u-boot-mkimage-gta01-native/series | 76 + .../splashimage-command.patch | 24 + .../uboot-20061030-neo1973.patch | 2248 +++++++++++ .../uboot-20061030-qt2410.patch | 1233 ++++++ .../uboot-arm920_s3c2410_irq_demux.patch | 56 + .../uboot-arm920t-gd_in_irq.patch | 28 + .../uboot-bbt-quiet.patch | 43 + .../uboot-cmd_s3c2410.patch | 175 + .../uboot-cramfs_but_no_jffs2.patch | 41 + .../u-boot-mkimage-gta01-native/uboot-dfu.patch | 2081 ++++++++++ .../u-boot-mkimage-gta01-native/uboot-gta02.patch | 1560 ++++++++ .../u-boot-mkimage-gta01-native/uboot-hxd8.patch | 1169 ++++++ .../uboot-license.patch | 712 ++++ .../uboot-machtypes.patch | 4121 ++++++++++++++++++++ .../uboot-mokoversion.patch | 10 + .../uboot-nand-markbad-reallybad.patch | 20 + .../uboot-neo1973-defaultenv.patch | 31 + .../uboot-neo1973-resume.patch | 113 + .../uboot-s3c2410-misccr-definitions.patch | 45 + .../uboot-s3c2410-mmc.patch | 818 ++++ .../uboot-s3c2410-nand.patch | 525 +++ .../uboot-s3c2410-norelocate_irqvec_cpy.patch | 32 + .../uboot-s3c2410-warnings-fix.patch | 98 + .../uboot-s3c2410_fb.patch | 215 + .../uboot-s3c2410_udc.patch | 1263 ++++++ .../uboot-s3c2440.patch | 1301 ++++++ .../uboot-s3c2443.patch | 256 ++ .../uboot-smdk2440.patch | 1481 +++++++ .../uboot-smdk2443.patch | 1411 +++++++ .../uboot-strtoul.patch | 43 + .../uboot-usbtty-acm.patch | 1607 ++++++++ .../u-boot-mkimage-gta01-native/unbusy-i2c.patch | 88 + .../usbdcore-multiple_configs.patch | 63 + .../wakeup-reason-nand-only.patch | 68 + packages/uboot/u-boot-mkimage-gta01-native_oe.bb | 82 + packages/uboot/u-boot-mkimage-gta01-native_svn.bb | 2 + 61 files changed, 26568 insertions(+) create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/.mtn2git_empty create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/bbt-create-optional.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/bbt-scan-second.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-and-nand.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-reloc.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/boot-menu.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/cmd-unzip.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/console-ansi.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/default-env.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/dontask.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/dynenv-harden.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/early-powerdown.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/enable-splash-bmp.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/env_nand_oob.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/ext2load_hex.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/lowlevel_foo.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/mmcinit-power-up.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/nand-badisbad.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/nand-createbbt.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/nand-dynamic_partitions.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/nand-otp.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/nand-read_write_oob.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/neo1973-chargefast.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/preboot-override.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/raise-limits.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/series create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/splashimage-command.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-20061030-neo1973.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-20061030-qt2410.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920_s3c2410_irq_demux.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920t-gd_in_irq.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-bbt-quiet.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-cmd_s3c2410.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-cramfs_but_no_jffs2.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-dfu.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-gta02.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-hxd8.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-license.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-machtypes.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-mokoversion.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-nand-markbad-reallybad.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-neo1973-defaultenv.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-neo1973-resume.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410-misccr-definitions.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410-mmc.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410-nand.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410-norelocate_irqvec_cpy.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410-warnings-fix.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410_fb.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410_udc.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2440.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2443.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-smdk2440.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-smdk2443.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-strtoul.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/uboot-usbtty-acm.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/unbusy-i2c.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/usbdcore-multiple_configs.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native/wakeup-reason-nand-only.patch create mode 100644 packages/uboot/u-boot-mkimage-gta01-native_oe.bb diff --git a/packages/uboot/u-boot-mkimage-gta01-native/.mtn2git_empty b/packages/uboot/u-boot-mkimage-gta01-native/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/uboot/u-boot-mkimage-gta01-native/bbt-create-optional.patch b/packages/uboot/u-boot-mkimage-gta01-native/bbt-create-optional.patch new file mode 100644 index 0000000000..d7a2a872e5 --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/bbt-create-optional.patch @@ -0,0 +1,52 @@ +This patch makes creation of the BBT optional for the s3c24x0 platform. +It adds: + +- a new platform-independent NAND-wide flag NAND_DONT_CREATE_BBT +- one user of this flag, namely s3c24x0 + +Experimental. + +- Werner Almesberger + + +Index: u-boot/cpu/arm920t/s3c24x0/nand.c +=================================================================== +--- u-boot.orig/cpu/arm920t/s3c24x0/nand.c 2007-02-16 23:53:29.000000000 +0100 ++++ u-boot/cpu/arm920t/s3c24x0/nand.c 2007-02-16 23:53:54.000000000 +0100 +@@ -169,7 +169,7 @@ + + nand->eccmode = NAND_ECC_SOFT; + #ifdef CONFIG_S3C2410_NAND_BBT +- nand->options = NAND_USE_FLASH_BBT; ++ nand->options = NAND_USE_FLASH_BBT | NAND_DONT_CREATE_BBT; + #else + nand->options = 0; + #endif +Index: u-boot/drivers/nand/nand_bbt.c +=================================================================== +--- u-boot.orig/drivers/nand/nand_bbt.c 2007-02-16 23:53:36.000000000 +0100 ++++ u-boot/drivers/nand/nand_bbt.c 2007-02-16 23:53:54.000000000 +0100 +@@ -678,7 +678,8 @@ + } + create: + /* Create the bad block table by scanning the device ? */ +- if (!(td->options & NAND_BBT_CREATE)) ++ if (!(td->options & NAND_BBT_CREATE) || ++ (this->options & NAND_DONT_CREATE_BBT)) + continue; + + /* Create the table in memory by scanning the chip(s) */ +Index: u-boot/include/linux/mtd/nand.h +=================================================================== +--- u-boot.orig/include/linux/mtd/nand.h 2007-02-16 23:53:08.000000000 +0100 ++++ u-boot/include/linux/mtd/nand.h 2007-02-16 23:53:54.000000000 +0100 +@@ -187,7 +187,8 @@ + * This can only work if we have the ecc bytes directly behind the + * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */ + #define NAND_HWECC_SYNDROME 0x00020000 +- ++/* Do not create an BBT if none is found. Overrides NAND_BBT_CREATE. */ ++#define NAND_DONT_CREATE_BBT 0x00040000 + + /* Options set by nand scan */ + /* Nand scan has allocated oob_buf */ diff --git a/packages/uboot/u-boot-mkimage-gta01-native/bbt-scan-second.patch b/packages/uboot/u-boot-mkimage-gta01-native/bbt-scan-second.patch new file mode 100644 index 0000000000..37b2807908 --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/bbt-scan-second.patch @@ -0,0 +1,69 @@ +Scan also the second OOB page for bad block information. + +board/neo1973/gta01/nand.c (board_nand_init): added board-specific badblock + pattern which sets NAND_BBT_SCAN2NDPAGE +drivers/nand/nand_base.c (nand_block_bad): also consider the second page in a + block if NAND_BBT_SCAN2NDPAGE is set + +- Werner Almesberger + +Index: u-boot/board/neo1973/gta01/nand.c +=================================================================== +--- u-boot.orig/board/neo1973/gta01/nand.c ++++ u-boot/board/neo1973/gta01/nand.c +@@ -113,9 +113,23 @@ + } + + ++/* Derived from drivers/nand/nand_bbt.c:smallpage_flashbased */ ++ ++static uint8_t scan_ff_pattern[] = { 0xff, 0xff }; ++ ++static struct nand_bbt_descr badblock_pattern = { ++ .options = ++ NAND_BBT_SCANEMPTY | NAND_BBT_SCANALLPAGES | NAND_BBT_SCAN2NDPAGE, ++ .offs = 5, ++ .len = 1, ++ .pattern = scan_ff_pattern ++}; ++ ++ + int board_nand_init(struct nand_chip *nand) + { + nand->read_otp = samsung_nand_read_otp; + nand->write_otp = samsung_nand_write_otp; ++ nand->badblock_pattern = &badblock_pattern; + return s3c24x0_nand_init(nand); + } +Index: u-boot/drivers/nand/nand_base.c +=================================================================== +--- u-boot.orig/drivers/nand/nand_base.c ++++ u-boot/drivers/nand/nand_base.c +@@ -421,7 +421,7 @@ + * + * Check, if the block is bad. + */ +-static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip) ++static int nand_block_bad_page(struct mtd_info *mtd, loff_t ofs, int getchip) + { + int page, chipnr, res = 0; + struct nand_chip *this = mtd->priv; +@@ -460,6 +460,18 @@ + return res; + } + ++static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip) ++{ ++ struct nand_chip *this = mtd->priv; ++ ++ if (nand_block_bad_page(mtd, ofs, getchip)) ++ return 1; ++ if (this->badblock_pattern->options & NAND_BBT_SCAN2NDPAGE && ++ nand_block_bad_page(mtd, ofs+(1 << this->page_shift), getchip)) ++ return 1; ++ return 0; ++} ++ + /** + * nand_default_block_markbad - [DEFAULT] mark a block bad + * @mtd: MTD device structure diff --git a/packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-and-nand.patch b/packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-and-nand.patch new file mode 100644 index 0000000000..fa0de39ab7 --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-and-nand.patch @@ -0,0 +1,98 @@ +Auto-detect whether we're booting from RAM or NAND, and act accordingly. This +allows us to use the same u-boot binary for all boot modes. + +include/configs/neo1973.h: introduced new config option + CONFIG_LL_INIT_NAND_ONLY to perform low-level initialization only when + booting from NAND +include/configs/neo1973.h: got rid of BUILD_FOR_RAM +cpu/arm920t/start.S: detect if we need to boot from NAND at run time (i.e., if + we're running at address 0) + +- Werner Almesberger + +Index: u-boot/cpu/arm920t/start.S +=================================================================== +--- u-boot.orig/cpu/arm920t/start.S ++++ u-boot/cpu/arm920t/start.S +@@ -157,18 +157,26 @@ + str r1, [r0] + #endif /* CONFIG_S3C2400 || CONFIG_S3C2410 */ + +- /* +- * we do sys-critical inits only at reboot, +- * not when booting from ram! +- */ + #ifndef CONFIG_SKIP_LOWLEVEL_INIT ++#ifndef CONFIG_LL_INIT_NAND_ONLY + bl cpu_init_crit + #endif ++#endif + + #ifndef CONFIG_SKIP_RELOCATE_UBOOT +-#ifndef CONFIG_S3C2410_NAND_BOOT +-relocate: /* relocate U-Boot to RAM */ + adr r0, _start /* r0 <- current position of code */ ++ ++#ifdef CONFIG_S3C2410_NAND_BOOT ++ /* are we running from NAND ? */ ++#define BWSCON 0x48000000 ++ ldr r1, =BWSCON /* Z = CPU booted from NAND */ ++ ldr r1, [r1] ++ tst r1, #6 /* BWSCON[2:1] = OM[1:0] */ ++ teqeq r0, #0 /* Z &= running at address 0 */ ++ beq nand_load ++#endif /* CONFIG_S3C2410_NAND_BOOT */ ++ ++relocate: /* relocate U-Boot to RAM */ + ldr r1, _TEXT_BASE /* test if we run from flash or RAM */ + cmp r0, r1 /* don't reloc during debug */ + beq done_relocate +@@ -188,10 +196,13 @@ + ldr pc, _done_relocate /* jump to relocated code */ + _done_relocate: + .word done_relocate +-done_relocate: +-#else /* NAND_BOOT */ +-relocate: +-copy_myself: ++ ++#ifdef CONFIG_S3C2410_NAND_BOOT ++nand_load: ++#if !defined(CONFIG_SKIP_LOWLEVEL_INIT) && defined(CONFIG_LL_INIT_NAND_ONLY) ++ bl cpu_init_crit ++#endif ++ + /* mov r10, lr */ + + @ reset NAND +@@ -275,7 +286,8 @@ + #endif + 1: b 1b + done_nand_read: +-#endif /* NAND_BOOT */ ++#endif /* CONFIG_S3C2410_NAND_BOOT */ ++done_relocate: + #endif /* CONFIG_SKIP_RELOCATE_UBOOT */ + + /* Set up the stack */ +Index: u-boot/include/configs/neo1973_gta01.h +=================================================================== +--- u-boot.orig/include/configs/neo1973_gta01.h ++++ u-boot/include/configs/neo1973_gta01.h +@@ -26,14 +26,10 @@ + #ifndef __CONFIG_H + #define __CONFIG_H + +-#if defined(BUILD_FOR_RAM) +-/* If we want to start u-boot from inside RAM */ +-#define CONFIG_SKIP_LOWLEVEL_INIT 1 +-#else +-/* we want to start u-boot directly from within NAND flash */ ++/* we want to be able to start u-boot directly from within NAND flash */ ++#define CONFIG_LL_INIT_NAND_ONLY + #define CONFIG_S3C2410_NAND_BOOT 1 + #define CONFIG_S3C2410_NAND_SKIP_BAD 1 +-#endif + + #define CFG_UBOOT_SIZE 0x40000 /* size of u-boot, for NAND loading */ + diff --git a/packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-reloc.patch b/packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-reloc.patch new file mode 100644 index 0000000000..53a3e05c67 --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/boot-from-ram-reloc.patch @@ -0,0 +1,62 @@ +This patch allows us to boot from anywhere in RAM. It mainly sets the stage +for later patches. The only real changes here is the better handling of already +cached code (e.g., if we were started by a previous instance of u-boot), and +that we drop CONFIG_SKIP_RELOCATE_UBOOT from neo1973.h + +cpu/arm920t/start.S: if not relocating, instead of going straight to + stack_setup, jump to done_relocate, which may perform other setup tasks +cpu/arm920t/start.S: after relocating, flush the cache and jump to the new code +include/configs/neo1973.h: remove CONFIG_SKIP_RELOCATE_UBOOT + +- Werner Almesberger + +Index: u-boot/cpu/arm920t/start.S +=================================================================== +--- u-boot.orig/cpu/arm920t/start.S ++++ u-boot/cpu/arm920t/start.S +@@ -171,7 +171,7 @@ relocate: /* relocate U-Boot to RAM + adr r0, _start /* r0 <- current position of code */ + ldr r1, _TEXT_BASE /* test if we run from flash or RAM */ + cmp r0, r1 /* don't reloc during debug */ +- beq stack_setup ++ beq done_relocate + + ldr r2, _armboot_start + ldr r3, _bss_start +@@ -181,8 +181,14 @@ relocate: /* relocate U-Boot to RAM + copy_loop: + ldmia r0!, {r3-r10} /* copy from source address [r0] */ + stmia r1!, {r3-r10} /* copy to target address [r1] */ +- cmp r0, r2 /* until source end addreee [r2] */ ++ cmp r0, r2 /* until source end address [r2] */ + ble copy_loop ++ mov r0, #0 /* flush v3/v4 cache */ ++ mcr p15, 0, r0, c7, c7, 0 ++ ldr pc, _done_relocate /* jump to relocated code */ ++_done_relocate: ++ .word done_relocate ++done_relocate: + #else /* NAND_BOOT */ + relocate: + copy_myself: +@@ -270,7 +276,7 @@ notmatch: + 1: b 1b + done_nand_read: + #endif /* NAND_BOOT */ +-#endif /* CONFIG_SKIP_RELOCATE_UBOOT */ ++#endif /* CONFIG_SKIP_RELOCATE_UBOOT */ + + /* Set up the stack */ + stack_setup: +Index: u-boot/include/configs/neo1973_gta01.h +=================================================================== +--- u-boot.orig/include/configs/neo1973_gta01.h ++++ u-boot/include/configs/neo1973_gta01.h +@@ -28,7 +28,6 @@ + + #if defined(BUILD_FOR_RAM) + /* If we want to start u-boot from inside RAM */ +-#define CONFIG_SKIP_RELOCATE_UBOOT 1 + #define CONFIG_SKIP_LOWLEVEL_INIT 1 + #else + /* we want to start u-boot directly from within NAND flash */ diff --git a/packages/uboot/u-boot-mkimage-gta01-native/boot-menu.patch b/packages/uboot/u-boot-mkimage-gta01-native/boot-menu.patch new file mode 100644 index 0000000000..352967ae06 --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/boot-menu.patch @@ -0,0 +1,769 @@ +board/neo1973/bootmenu.c: simple configurable boot menu +board/neo1973/neo1973.c (neo1973_new_second): return 1 if a new second has + started since the last call +board/neo1973/neo1973.c (neo1973_on_key_pressed): return 1 if the $POWER key is + pressed +board/neo1973/neo1973.c (board_late_init): make use of neo1973_new_second and + neo1973_on_key_pressed +board/neo1973/neo1973.h: added function prototypes +u-boot/board/neo1973/neo1973.c (board_late_init): enter the boot menu when + "AUX" was pressed at least half the time +u-boot/board/neo1973/neo1973.c (board_late_init): minor code cleanup +u-boot/common/console.c, include/console.h: added "console_poll_hook" to be + called when waiting for console in put in "getc" and "tstc" +board/neo1973/neo1973.c (board_late_init): poll for the boot menu also on RAM + boot, reset, or unknown cause +board/neo1973/neo1973.c (board_late_init): don't look for the power key if + woken up by the charger +board/neo1973/neo1973.h, board/neo1973/neo1973.c, board/neo1973/bootmenu.c: + renamed neo1973_911_key_pressed to neo1973_aux_key_pressed + +- Werner Almesberger + +Index: u-boot/board/neo1973/common/bootmenu.c +=================================================================== +--- /dev/null ++++ u-boot/board/neo1973/common/bootmenu.c +@@ -0,0 +1,120 @@ ++/* ++ * bootmenu.c - Boot menu ++ * ++ * Copyright (C) 2006-2007 by OpenMoko, Inc. ++ * Written by Werner Almesberger ++ * All Rights Reserved ++ * ++ * 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., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++ ++#include ++#include ++#include ++#include ++ ++#ifdef CONFIG_USBD_DFU ++#include "usbdcore.h" ++#include "usb_dfu.h" ++#endif ++ ++#include "neo1973.h" ++ ++ ++#define DEBOUNCE_LOOPS 1000 /* wild guess */ ++ ++ ++static int debounce(int (*fn)(void), int *last) ++{ ++ int on, i; ++ ++again: ++ on = fn(); ++ if (on != *last) ++ for (i = DEBOUNCE_LOOPS; i; i--) ++ if (on != fn()) ++ goto again; ++ *last = on; ++ return on; ++} ++ ++ ++static int aux_key(void *user) ++{ ++ static int last_aux = -1; ++ ++ return debounce(neo1973_aux_key_pressed, &last_aux); ++} ++ ++ ++static int on_key(void *user) ++{ ++ static int last_on = -1; ++ ++ return debounce(neo1973_on_key_pressed, &last_on); ++} ++ ++ ++static void factory_reset(void *user) ++{ ++ default_env(); ++ run_command("dynpart", 0); ++ run_command("bootd", 0); ++} ++ ++ ++static int seconds(void *user) ++{ ++ return neo1973_new_second(); ++} ++ ++ ++static int system_idle(void) ++{ ++#ifdef CONFIG_USBD_DFU ++ if (system_dfu_state) ++ return *system_dfu_state == DFU_STATE_appIDLE; ++#endif ++ return 1; ++} ++ ++ ++static void poweroff_if_idle(void *user) ++{ ++ unsigned long flags; ++ ++ local_irq_save(flags); ++ if (system_idle()) ++ neo1973_poweroff(); ++ local_irq_restore(flags); ++} ++ ++ ++static struct bootmenu_setup bootmenu_setup = { ++ .next_key = aux_key, ++ .enter_key = on_key, ++ .seconds = seconds, ++ .idle_action = poweroff_if_idle, ++}; ++ ++ ++void neo1973_bootmenu(void) ++{ ++ bootmenu_add("Boot", NULL, "bootd"); ++ bootmenu_init(&bootmenu_setup); ++ bootmenu_add("Factory reset", factory_reset, NULL); ++ bootmenu(); ++} +Index: u-boot/board/neo1973/gta01/gta01.c +=================================================================== +--- u-boot.orig/board/neo1973/gta01/gta01.c ++++ u-boot/board/neo1973/gta01/gta01.c +@@ -229,10 +229,15 @@ int board_late_init(void) + extern unsigned char booted_from_nand; + unsigned char tmp; + char buf[32]; ++ int menu_vote = 0; /* <= 0: no, > 0: yes */ ++ int seconds = 0; + + /* Initialize the Power Management Unit with a safe register set */ + pcf50606_init(); + ++ /* if there's no other reason, must be regular reset */ ++ neo1973_wakeup_cause = NEO1973_WAKEUP_RESET; ++ + if (!booted_from_nand) + goto woken_by_reset; + +@@ -242,45 +247,41 @@ int board_late_init(void) + setenv("pcf50606_int1", buf); + + if (tmp & PCF50606_INT1_ALARM) { +- /* we've been woken up by RTC alarm or charger insert, boot */ ++ /* we've been woken up by RTC alarm, boot */ + neo1973_wakeup_cause = NEO1973_WAKEUP_ALARM; + goto continue_boot; + } + if (tmp & PCF50606_INT1_EXTONR) { ++ /* we've been woken up by charger insert */ + neo1973_wakeup_cause = NEO1973_WAKEUP_CHARGER; + } + + if (tmp & PCF50606_INT1_ONKEYF) { +- int seconds = 0; +- neo1973_wakeup_cause = NEO1973_WAKEUP_POWER_KEY; + /* we've been woken up by a falling edge of the onkey */ ++ neo1973_wakeup_cause = NEO1973_WAKEUP_POWER_KEY; ++ } + +- /* we can't just setenv(bootdelay,-1) because that would +- * accidentially become permanent if the user does saveenv */ +- if (neo1973_911_key_pressed()) +- nobootdelay = 1; +- +- while (1) { +- u_int8_t int1, oocs; +- +- oocs = pcf50606_reg_read(PCF50606_REG_OOCS); +- if (oocs & PFC50606_OOCS_ONKEY) +- break; +- +- int1 = pcf50606_reg_read(PCF50606_REG_INT1); +- if (int1 & PCF50606_INT1_SECOND) +- seconds++; +- +- if (seconds >= POWER_KEY_SECONDS) +- goto continue_boot; +- } +- /* Power off if minimum number of seconds not reached */ +- neo1973_poweroff(); ++ if (neo1973_wakeup_cause == NEO1973_WAKEUP_CHARGER) { ++ /* if we still think it was only a charger insert, boot */ ++ goto continue_boot; + } + + woken_by_reset: +- /* if there's no other reason, must be regular reset */ +- neo1973_wakeup_cause = NEO1973_WAKEUP_RESET; ++ ++ while (neo1973_wakeup_cause == NEO1973_WAKEUP_RESET || ++ neo1973_on_key_pressed()) { ++ if (neo1973_aux_key_pressed()) ++ menu_vote++; ++ else ++ menu_vote--; ++ ++ if (neo1973_new_second()) ++ seconds++; ++ if (seconds >= POWER_KEY_SECONDS) ++ goto continue_boot; ++ } ++ /* Power off if minimum number of seconds not reached */ ++ neo1973_poweroff(); + + continue_boot: + jbt6k74_init(); +@@ -304,6 +305,11 @@ continue_boot: + } + #endif + ++ if (menu_vote > 0) { ++ neo1973_bootmenu(); ++ nobootdelay = 1; ++ } ++ + return 0; + } + +@@ -369,7 +375,17 @@ void neo1973_vibrator(int on) + #endif + } + +-int neo1973_911_key_pressed(void) ++int neo1973_new_second(void) ++{ ++ return pcf50606_reg_read(PCF50606_REG_INT1) & PCF50606_INT1_SECOND; ++} ++ ++int neo1973_on_key_pressed(void) ++{ ++ return !(pcf50606_reg_read(PCF50606_REG_OOCS) & PFC50606_OOCS_ONKEY); ++} ++ ++int neo1973_aux_key_pressed(void) + { + S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO(); + if (gpio->GPFDAT & (1 << 6)) +Index: u-boot/board/neo1973/gta01/Makefile +=================================================================== +--- u-boot.orig/board/neo1973/gta01/Makefile ++++ u-boot/board/neo1973/gta01/Makefile +@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk + + LIB = lib$(BOARD).a + +-OBJS := gta01.o pcf50606.o ../common/cmd_neo1973.o ../common/jbt6k74.o ../common/udc.o ++OBJS := gta01.o pcf50606.o ../common/cmd_neo1973.o ../common/jbt6k74.o ../common/udc.o ../common/bootmenu.o + SOBJS := ../common/lowlevel_init.o + + .PHONY: all +Index: u-boot/board/neo1973/common/neo1973.h +=================================================================== +--- u-boot.orig/board/neo1973/common/neo1973.h ++++ u-boot/board/neo1973/common/neo1973.h +@@ -29,4 +29,10 @@ int neo1973_911_key_pressed(void); + const char *neo1973_get_charge_status(void); + int neo1973_set_charge_mode(enum neo1973_charger_cmd cmd); + ++int neo1973_new_second(void); ++int neo1973_on_key_pressed(void); ++int neo1973_aux_key_pressed(void); ++ ++void neo1973_bootmenu(void); ++ + #endif +Index: u-boot/common/console.c +=================================================================== +--- u-boot.orig/common/console.c ++++ u-boot/common/console.c +@@ -160,8 +160,12 @@ void fprintf (int file, const char *fmt, + + /** U-Boot INITIAL CONSOLE-COMPATIBLE FUNCTION *****************************/ + ++void (*console_poll_hook)(int activity); ++ + int getc (void) + { ++ while (console_poll_hook && !tstc()); ++ + if (gd->flags & GD_FLG_DEVINIT) { + /* Get from the standard input */ + return fgetc (stdin); +@@ -171,7 +175,7 @@ int getc (void) + return serial_getc (); + } + +-int tstc (void) ++static int do_tstc (void) + { + if (gd->flags & GD_FLG_DEVINIT) { + /* Test the standard input */ +@@ -182,6 +186,16 @@ int tstc (void) + return serial_tstc (); + } + ++int tstc (void) ++{ ++ int ret; ++ ++ ret = do_tstc(); ++ if (console_poll_hook) ++ console_poll_hook(ret); ++ return ret; ++} ++ + void putc (const char c) + { + #ifdef CONFIG_SILENT_CONSOLE +Index: u-boot/include/console.h +=================================================================== +--- u-boot.orig/include/console.h ++++ u-boot/include/console.h +@@ -33,6 +33,8 @@ + extern device_t *stdio_devices[] ; + extern char *stdio_names[MAX_FILES] ; + ++extern void (*console_poll_hook)(int activity); ++ + int console_realloc(int top); + + #endif +Index: u-boot/common/Makefile +=================================================================== +--- u-boot.orig/common/Makefile ++++ u-boot/common/Makefile +@@ -50,7 +50,8 @@ COBJS = main.o ACEX1K.o altera.o bedbug. + memsize.o miiphybb.o miiphyutil.o \ + s_record.o serial.o soft_i2c.o soft_spi.o spartan2.o spartan3.o \ + usb.o usb_kbd.o usb_storage.o \ +- virtex2.o xilinx.o crc16.o xyzModem.o cmd_mac.o cmd_mfsl.o ++ virtex2.o xilinx.o crc16.o xyzModem.o cmd_mac.o cmd_mfsl.o \ ++ bootmenu.o + + SRCS := $(AOBJS:.o=.S) $(COBJS:.o=.c) + OBJS := $(addprefix $(obj),$(AOBJS) $(COBJS)) +Index: u-boot/common/bootmenu.c +=================================================================== +--- /dev/null ++++ u-boot/common/bootmenu.c +@@ -0,0 +1,311 @@ ++/* ++ * bootmenu.c - Boot menu ++ * ++ * Copyright (C) 2006-2007 by OpenMoko, Inc. ++ * Written by Werner Almesberger ++ * All Rights Reserved ++ * ++ * 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., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++ ++#include ++ ++#ifdef CFG_BOOTMENU ++ ++#include ++#include ++#include ++#include ++ ++ ++extern const char version_string[]; ++ ++ ++#define ANSI_CLEAR "\e[2J" ++#define ANSI_REVERSE "\e[7m" ++#define ANSI_NORMAL "\e[m" ++#define ANSI_GOTOYX "\e[%d;%dH" ++ ++/* ++ * MIN_BOOT_MENU_TIMEOUT ensures that users can't by accident set the timeout ++ * unusably short. ++ */ ++#define MIN_BOOT_MENU_TIMEOUT 10 /* 10 seconds */ ++#define BOOT_MENU_TIMEOUT 60 /* 60 seconds */ ++#define AFTER_COMMAND_WAIT 3 /* wait (2,3] after running commands */ ++#define MAX_MENU_ITEMS 10 /* cut off after that many */ ++ ++#define TOP_ROW 2 ++#define MENU_0_ROW (TOP_ROW+5) ++ ++ ++struct option { ++ const char *label; ++ void (*fn)(void *user); /* run_command if NULL */ ++ void *user; ++}; ++ ++ ++static const struct bootmenu_setup *setup; ++static struct option options[MAX_MENU_ITEMS]; ++static int num_options = 0; ++static int max_width = 0; ++ ++static device_t *bm_con; ++ ++ ++static void bm_printf(const char *fmt, ...) ++{ ++ va_list args; ++ char printbuffer[CFG_PBSIZE]; ++ ++ va_start(args, fmt); ++ vsprintf(printbuffer, fmt, args); ++ va_end(args); ++ ++ bm_con->puts(printbuffer); ++} ++ ++ ++static char *get_option(int n) ++{ ++ char name[] = "menu_XX"; ++ ++ sprintf(name+5, "%d", n); ++ return getenv(name); ++} ++ ++ ++static void print_option(const struct option *option, int reverse) ++{ ++ int n = option-options; ++ ++ bm_printf(ANSI_GOTOYX, MENU_0_ROW+n, 1); ++ if (reverse) ++ bm_printf(ANSI_REVERSE); ++ bm_printf(" %-*s ", max_width, option->label); ++ if (reverse) ++ bm_printf(ANSI_NORMAL); ++} ++ ++ ++static int get_var_positive_int(char *var, int default_value) ++{ ++ const char *s; ++ char *end; ++ int n; ++ ++ s = getenv(var); ++ if (!s) ++ return default_value; ++ n = simple_strtoul(s, &end, 0); ++ if (!*s || *end || n < 1) ++ return default_value; ++ return n; ++} ++ ++ ++static void show_bootmenu(void) ++{ ++ const struct option *option; ++ ++ bm_printf(ANSI_CLEAR ANSI_GOTOYX "%s", TOP_ROW, 1, version_string); ++ bm_printf(ANSI_GOTOYX "*** BOOT MENU ***", TOP_ROW+3, 1); ++ bm_printf(ANSI_GOTOYX, MENU_0_ROW, 1); ++ ++ for (option = options; option != options+num_options; option++) ++ print_option(option, option == options); ++ ++ bm_printf("\n\nPress [AUX] to select, [POWER] to execute.\n"); ++} ++ ++ ++static void redirect_console(int grab) ++{ ++ static device_t *orig_stdout, *orig_stderr; ++ ++ if (grab) { ++ orig_stdout = stdio_devices[stdout]; ++ orig_stderr = stdio_devices[stderr]; ++ stdio_devices[stdout] = bm_con; ++ stdio_devices[stderr] = bm_con; ++ } ++ else { ++ /* ++ * Make this conditional, because the command may also change ++ * the console. ++ */ ++ if (stdio_devices[stdout] == bm_con) ++ stdio_devices[stdout] = orig_stdout; ++ if (stdio_devices[stderr] == bm_con) ++ stdio_devices[stderr] = orig_stderr; ++ } ++} ++ ++ ++static void do_option(const struct option *option) ++{ ++ int seconds, aux; ++ ++ bm_printf(ANSI_CLEAR ANSI_GOTOYX, 1, 1); ++ redirect_console(1); ++ ++ if (option->fn) ++ option->fn(option->user); ++ else ++ run_command(option->user, 0); ++ ++ redirect_console(0); ++ seconds = get_var_positive_int("after_command_wait", ++ AFTER_COMMAND_WAIT); ++ if (seconds) ++ bm_printf("\nPress [AUX] to %s.", ++ option ? "return to boot menu" : "power off"); ++ aux = 1; /* require up-down transition */ ++ while (seconds) { ++ int tmp; ++ ++ tmp = setup->next_key(setup->user); ++ if (tmp && !aux) ++ break; ++ aux = tmp; ++ if (setup->seconds(setup->user)) ++ seconds--; ++ } ++ if (!option) ++ setup->idle_action(setup->idle_action); ++ show_bootmenu(); ++} ++ ++ ++static void bootmenu_hook(int activity) ++{ ++ static int aux = 1, on = 1; ++ static const struct option *option = options; ++ static int seconds = 0; ++ int tmp; ++ ++ if (activity) ++ seconds = 0; ++ tmp = setup->next_key(setup->user); ++ if (tmp && !aux) { ++ print_option(option, 0); ++ option++; ++ if (option == options+num_options) ++ option = options; ++ print_option(option, 1); ++ seconds = 0; ++ } ++ aux = tmp; ++ tmp = setup->enter_key(setup->user); ++ if (tmp && !on) { ++ do_option(option); ++ option = options; ++ seconds = 0; ++ } ++ on = tmp; ++ if (setup->seconds(setup->user)) { ++ int timeout; ++ ++ timeout = get_var_positive_int("boot_menu_timeout", ++ BOOT_MENU_TIMEOUT); ++ if (timeout < MIN_BOOT_MENU_TIMEOUT) ++ timeout = MIN_BOOT_MENU_TIMEOUT; ++ if (++seconds > timeout) { ++ setup->idle_action(setup->idle_action); ++ seconds = 0; ++ } ++ } ++} ++ ++ ++static device_t *find_console(const char *name) ++{ ++ int i; ++ ++ for (i = 1; i != ListNumItems(devlist); i++) { ++ device_t *dev = ListGetPtrToItem(devlist, i); ++ ++ if (!strcmp(name, dev->name)) ++ if (dev->flags & DEV_FLAGS_OUTPUT) ++ return dev; ++ } ++ return NULL; ++} ++ ++ ++void bootmenu_add(const char *label, void (*fn)(void *user), void *user) ++{ ++ int len; ++ ++ options[num_options].label = label; ++ options[num_options].fn = fn; ++ options[num_options].user = user; ++ num_options++; ++ ++ len = strlen(label); ++ if (len > max_width) ++ max_width = len; ++} ++ ++ ++void bootmenu_init(struct bootmenu_setup *__setup) ++{ ++ int n; ++ ++ setup = __setup; ++ for (n = 1; n != MAX_MENU_ITEMS+1; n++) { ++ const char *spec, *colon; ++ ++ spec = get_option(n); ++ if (!spec) ++ continue; ++ colon = strchr(spec, ':'); ++ if (!colon) ++ bootmenu_add(spec, NULL, (char *) spec); ++ else { ++ char *label; ++ int len = colon-spec; ++ ++ label = malloc(len+1); ++ if (!label) ++ return; ++ memcpy(label, spec, len); ++ label[len] = 0; ++ bootmenu_add(label, NULL, (char *) colon+1); ++ } ++ } ++} ++ ++ ++void bootmenu(void) ++{ ++ bm_con = find_console("vga"); ++ if (bm_con && bm_con->start && bm_con->start() < 0) ++ bm_con = NULL; ++ if (!bm_con) ++ bm_con = stdio_devices[stdout]; ++ if (!bm_con) ++ return; ++#if 0 ++ console_assign(stdout, "vga"); ++ console_assign(stderr, "vga"); ++#endif ++ show_bootmenu(); ++ console_poll_hook = bootmenu_hook; ++} ++ ++#endif /* CFG_BOOTMENU */ +Index: u-boot/include/bootmenu.h +=================================================================== +--- /dev/null ++++ u-boot/include/bootmenu.h +@@ -0,0 +1,71 @@ ++/* ++ * bootmenu.h - Boot menu ++ * ++ * Copyright (C) 2006-2007 by OpenMoko, Inc. ++ * Written by Werner Almesberger ++ * All Rights Reserved ++ * ++ * 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., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#ifndef BOOTMENU_H ++#define BOOTMENU_H ++ ++#define MIN_BOOT_MENU_TIMEOUT 10 /* 10 seconds */ ++#define BOOT_MENU_TIMEOUT 60 /* 60 seconds */ ++#define AFTER_COMMAND_WAIT 3 /* wait (2,3] after running commands */ ++#define MAX_MENU_ITEMS 10 /* cut off after that many */ ++ ++ ++struct bootmenu_setup { ++ /* non-zero while the "next" key is being pressed */ ++ int (*next_key)(void *user); ++ ++ /* non-zero while the "enter" key is being pressed */ ++ int (*enter_key)(void *user); ++ ++ /* return the number of seconds that have passed since the last call ++ to "seconds". It's okay to limit the range to [0, 1]. */ ++ int (*seconds)(void *user); ++ ++ /* action to take if the boot menu times out */ ++ void (*idle_action)(void *user); ++ ++ /* user-specific data, passes "as is" to the functions above */ ++ void *user; ++}; ++ ++ ++/* ++ * Initialize the menu from the environment. ++ */ ++ ++void bootmenu_init(struct bootmenu_setup *setup); ++ ++/* ++ * To add entries on top of the boot menu, call bootmenu_add before ++ * bootmenu_init. To add entries at the end, call it after bootmenu_init. ++ * If "fn" is NULL, the command specified in "user" is executed. ++ */ ++ ++void bootmenu_add(const char *label, void (*fn)(void *user), void *user); ++ ++/* ++ * Run the boot menu. ++ */ ++ ++void bootmenu(void); ++ ++#endif /* !BOOTMENU_H */ +Index: u-boot/include/configs/neo1973_gta01.h +=================================================================== +--- u-boot.orig/include/configs/neo1973_gta01.h ++++ u-boot/include/configs/neo1973_gta01.h +@@ -160,6 +160,8 @@ + /* valid baudrates */ + #define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + ++#define CFG_BOOTMENU ++ + /*----------------------------------------------------------------------- + * Stack sizes + * diff --git a/packages/uboot/u-boot-mkimage-gta01-native/cmd-unzip.patch b/packages/uboot/u-boot-mkimage-gta01-native/cmd-unzip.patch new file mode 100644 index 0000000000..ee4c1984fc --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/cmd-unzip.patch @@ -0,0 +1,58 @@ +common/cmd_mem.c: new command "unzip srcaddr dstaddr [dstsize]" to unzip from + memory to memory, and option CONFIG_UNZIP to enable it + +- Werner Almesberger + +Index: u-boot/common/cmd_mem.c +=================================================================== +--- u-boot.orig/common/cmd_mem.c ++++ u-boot/common/cmd_mem.c +@@ -1148,6 +1148,34 @@ int do_mem_crc (cmd_tbl_t *cmdtp, int fl + } + #endif /* CONFIG_CRC32_VERIFY */ + ++ ++#ifdef CONFIG_UNZIP ++int gunzip (void *, int, unsigned char *, unsigned long *); ++ ++int do_unzip ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ++{ ++ unsigned long src, dst; ++ unsigned long src_len = ~0UL, dst_len = ~0UL; ++ int err; ++ ++ switch (argc) { ++ case 4: ++ dst_len = simple_strtoul(argv[3], NULL, 16); ++ /* fall through */ ++ case 3: ++ src = simple_strtoul(argv[1], NULL, 16); ++ dst = simple_strtoul(argv[2], NULL, 16); ++ break; ++ default: ++ printf ("Usage:\n%s\n", cmdtp->usage); ++ return 1; ++ } ++ ++ return !!gunzip((void *) dst, dst_len, (void *) src, &src_len); ++} ++#endif /* CONFIG_UNZIP */ ++ ++ + /**************************************************/ + #if (CONFIG_COMMANDS & CFG_CMD_MEMORY) + U_BOOT_CMD( +@@ -1251,5 +1279,13 @@ U_BOOT_CMD( + ); + #endif /* CONFIG_MX_CYCLIC */ + ++#ifdef CONFIG_UNZIP ++U_BOOT_CMD( ++ unzip, 4, 1, do_unzip, ++ "unzip - unzip a memory region\n", ++ "srcaddr dstaddr [dstsize]\n" ++); ++#endif /* CONFIG_UNZIP */ ++ + #endif + #endif /* CFG_CMD_MEMORY */ diff --git a/packages/uboot/u-boot-mkimage-gta01-native/console-ansi.patch b/packages/uboot/u-boot-mkimage-gta01-native/console-ansi.patch new file mode 100644 index 0000000000..2ac5b75dee --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/console-ansi.patch @@ -0,0 +1,127 @@ +drivers/cfb_console.c: added processing of ANSI escape sequences \e[2J, \e[m, + \e[7m, and \e[row;colH +drivers/cfb_console.c (video_putc): make \r return to the beginning of the line + +- Werner Almesberger + +Index: u-boot/drivers/cfb_console.c +=================================================================== +--- u-boot.orig/drivers/cfb_console.c ++++ u-boot/drivers/cfb_console.c +@@ -181,6 +181,7 @@ CONFIG_VIDEO_HW_CURSOR: - Uses the + + #include + #include ++#include + #include + #include + #ifdef CFG_CMD_DATE +@@ -676,10 +677,96 @@ static void console_newline (void) + + /*****************************************************************************/ + ++static enum { ++ CS_NORMAL = 0, ++ CS_ESC, ++ CS_NUM1, ++ CS_NUM2, ++} state = 0; ++ ++static int n