summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/ucslugc.conf4
-rw-r--r--packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch39
-rw-r--r--packages/linux/nslu2-kernel_2.6.14-rc2.bb3
3 files changed, 43 insertions, 3 deletions
diff --git a/conf/distro/ucslugc.conf b/conf/distro/ucslugc.conf
index 550c26ddfb..82b4b67ab8 100644
--- a/conf/distro/ucslugc.conf
+++ b/conf/distro/ucslugc.conf
@@ -6,7 +6,7 @@
# STANDARD UcSlugC DEFINITIONS
#----------------------------------------------------------------------------------
DISTRO_NAME = "UcSlugC"
-DISTRO_VERSION = "2-beta"
+DISTRO_VERSION = "3-beta"
DISTRO_FEED = "unstable"
DISTRO_TYPE ?= "beta"
@@ -132,7 +132,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
# Select the correct versions of the kernel and modules
PREFERRED_PROVIDER_virtual/kernel ?= "openslug-kernel"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
-PREFERRED_VERSION_openslug-kernel ?= "2.6.12.2"
+PREFERRED_VERSION_openslug-kernel ?= "2.6.14-rc2"
PREFERRED_VERSION_ixp4xx-csr ?= "1.4"
PREFERRED_VERSION_ixp425-eth ?= "1.1"
diff --git a/packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch b/packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch
new file mode 100644
index 0000000000..2fa828cf48
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch
@@ -0,0 +1,39 @@
+# Work round problems with the flash being unreadable on boot.
+#
+--- linux-2.6.13/.pc/25-nslu2-arch-reset.patch/include/asm-arm/arch-ixp4xx/system.h 2005-08-28 16:41:01.000000000 -0700
++++ linux-2.6.13/include/asm-arm/arch-ixp4xx/system.h 2005-09-25 23:34:14.762872391 -0700
+@@ -10,6 +10,7 @@
+ */
+
+ #include <asm/hardware.h>
++#include <asm/mach-types.h>
+
+ static inline void arch_idle(void)
+ {
+@@ -22,6 +23,21 @@
+
+ static inline void arch_reset(char mode)
+ {
++ /* On NSLU2 machines the flash is sometimes left in a non-read
++ * mode, such that attempting a read will cause problems - such as
++ * a hang. This will prevent both hard and soft reboot since the
++ * first thing done is to read the first instruction from the flash!
++ * Therefore issue a flash reset command here.
++ */
++ if ( machine_is_nslu2()) {
++ /* Use the physical address here and write the reset command
++ * to the command address (not technically necessary). See
++ * <linux/mtd/cfi.h> for how to calculate this for other
++ * systems. The NSLU2 has one bank of 16 bit flash.
++ */
++ *(__u16*)(NSLU2_FLASH_BASE+0xAA/*command*/) = 0x00ff/*reset*/;
++ }
++
+ if ( 1 && mode == 's') {
+ /* Jump into ROM at address 0 */
+ cpu_reset(0);
+@@ -39,4 +55,3 @@
+ *IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
+ }
+ }
+-
diff --git a/packages/linux/nslu2-kernel_2.6.14-rc2.bb b/packages/linux/nslu2-kernel_2.6.14-rc2.bb
index 74c57a1830..200d7ef3a5 100644
--- a/packages/linux/nslu2-kernel_2.6.14-rc2.bb
+++ b/packages/linux/nslu2-kernel_2.6.14-rc2.bb
@@ -8,7 +8,7 @@ PR_CONFIG = "0"
# Increment the number below (i.e. the digits after PR) when
# making changes within this file or for changes to the patches
# applied to the kernel.
-PR = "r2.${PR_CONFIG}"
+PR = "r3.${PR_CONFIG}"
include nslu2-kernel.inc
@@ -29,6 +29,7 @@ N2K_PATCHES = "\
file://15-ixp4xx-set-irq-type-return.patch;patch=1 \
file://15-ixp4xx-writesb-l-w.patch;patch=1 \
file://20-timer.patch;patch=1 \
+ file://25-nslu2-arch-reset.patch;patch=1 \
file://30-i2c-x1205.patch;patch=1 \
file://50-nslu2-arch.patch;patch=1 \
file://50-nslu2-general.patch;patch=1 \