BOARD:=etrax
BOARDNAME:=Foxboard (ETRAX 100LX)
FEATURES:=squashfs jffs2
-LINUX_VERSION:=2.6.30.10
+LINUX_VERSION:=2.6.32.7
DEVICE_TYPE=
include $(INCLUDE_DIR)/target.mk
+++ /dev/null
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-# CONFIG_BINARY_PRINTF is not set
-CONFIG_BITREVERSE=y
-# CONFIG_BLK_DEV_INITRD is not set
-CONFIG_BOUNCE=y
-# CONFIG_BRIDGE is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-# CONFIG_CRIS_MACH_ARTPEC3 is not set
-CONFIG_CRIS=y
-# CONFIG_ETRAX100LX is not set
-CONFIG_ETRAX100LX_V2=y
-CONFIG_ETRAX_ARCH_V10=y
-# CONFIG_ETRAX_ARCH_V32 is not set
-CONFIG_ETRAX_AXISFLASHMAP=y
-CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=jffs2 noinitrd console=ttyS0,115200"
-# CONFIG_ETRAX_CSP0_LEDS is not set
-# CONFIG_ETRAX_DEBUG_PORT0 is not set
-# CONFIG_ETRAX_DEBUG_PORT1 is not set
-# CONFIG_ETRAX_DEBUG_PORT2 is not set
-# CONFIG_ETRAX_DEBUG_PORT3 is not set
-CONFIG_ETRAX_DEBUG_PORT_NULL=y
-CONFIG_ETRAX_DEF_R_BUS_CONFIG=0x4
-CONFIG_ETRAX_DEF_R_PORT_PA_DATA=0xf0
-CONFIG_ETRAX_DEF_R_PORT_PA_DIR=0x1c
-CONFIG_ETRAX_DEF_R_PORT_PB_CONFIG=0x00
-CONFIG_ETRAX_DEF_R_PORT_PB_DATA=0x03
-CONFIG_ETRAX_DEF_R_PORT_PB_DIR=0xce
-CONFIG_ETRAX_DEF_R_SDRAM_CONFIG=0x09603737
-CONFIG_ETRAX_DEF_R_SDRAM_TIMING=0x80008002
-CONFIG_ETRAX_DEF_R_WAITSTATES=0x95f8
-CONFIG_ETRAX_DRAM_SIZE=32
-CONFIG_ETRAX_DRAM_VIRTUAL_BASE=c0000000
-CONFIG_ETRAX_ETHERNET=y
-CONFIG_ETRAX_FAST_TIMER=y
-CONFIG_ETRAX_FLASH1_SIZE=0
-CONFIG_ETRAX_FLASH_BUSWIDTH=2
-# CONFIG_ETRAXFS is not set
-CONFIG_ETRAX_GPIO=y
-# CONFIG_ETRAX_I2C_GVC is not set
-# CONFIG_ETRAX_I2C is not set
-# CONFIG_ETRAX_KMALLOCED_MODULES is not set
-CONFIG_ETRAX_LED1G=2
-CONFIG_ETRAX_LED1R=2
-CONFIG_ETRAX_LED2G=3
-CONFIG_ETRAX_LED2R=3
-CONFIG_ETRAX_LED3G=2
-CONFIG_ETRAX_LED3R=2
-CONFIG_ETRAX_NANDFLASH_BUSWIDTH=1
-CONFIG_ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY=y
-# CONFIG_ETRAX_NETWORK_LED_ON_WHEN_LINK is not set
-# CONFIG_ETRAX_NO_LEDS is not set
-CONFIG_ETRAX_PA_BUTTON_BITMASK=02
-CONFIG_ETRAX_PA_CHANGEABLE_BITS=0xFF
-CONFIG_ETRAX_PA_CHANGEABLE_DIR=0xFF
-CONFIG_ETRAX_PA_LEDS=y
-CONFIG_ETRAX_PB_CHANGEABLE_BITS=0xFF
-CONFIG_ETRAX_PB_CHANGEABLE_DIR=0xFF
-# CONFIG_ETRAX_PB_LEDS is not set
-CONFIG_ETRAX_PTABLE_SECTOR=0
-CONFIG_ETRAX_RESCUE_SER0=y
-# CONFIG_ETRAX_RESCUE_SER1 is not set
-# CONFIG_ETRAX_RESCUE_SER2 is not set
-# CONFIG_ETRAX_RESCUE_SER3 is not set
-# CONFIG_ETRAX_RS485 is not set
-CONFIG_ETRAX_SDRAM=y
-CONFIG_ETRAX_SER0_CD_ON_PA_BIT=-1
-CONFIG_ETRAX_SER0_CD_ON_PB_BIT=-1
-CONFIG_ETRAX_SER0_DSR_ON_PA_BIT=-1
-CONFIG_ETRAX_SER0_DSR_ON_PB_BIT=-1
-CONFIG_ETRAX_SER0_DTR_ON_PA_BIT=-1
-CONFIG_ETRAX_SER0_DTR_ON_PB_BIT=-1
-# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_MIXED is not set
-CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE=y
-# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PA is not set
-# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PB is not set
-CONFIG_ETRAX_SER0_RI_ON_PA_BIT=-1
-CONFIG_ETRAX_SER0_RI_ON_PB_BIT=-1
-CONFIG_ETRAX_SER2_CD_ON_PA_BIT=-1
-CONFIG_ETRAX_SER2_CD_ON_PB_BIT=-1
-CONFIG_ETRAX_SER2_DSR_ON_PA_BIT=-1
-CONFIG_ETRAX_SER2_DSR_ON_PB_BIT=-1
-CONFIG_ETRAX_SER2_DTR_ON_PA_BIT=-1
-CONFIG_ETRAX_SER2_DTR_ON_PB_BIT=-1
-# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_MIXED is not set
-CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE=y
-# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PA is not set
-# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PB is not set
-CONFIG_ETRAX_SER2_RI_ON_PA_BIT=-1
-CONFIG_ETRAX_SER2_RI_ON_PB_BIT=-1
-CONFIG_ETRAX_SER3_CD_ON_PA_BIT=-1
-CONFIG_ETRAX_SER3_CD_ON_PB_BIT=-1
-CONFIG_ETRAX_SER3_DSR_ON_PA_BIT=-1
-CONFIG_ETRAX_SER3_DSR_ON_PB_BIT=-1
-CONFIG_ETRAX_SER3_DTR_ON_PA_BIT=-1
-CONFIG_ETRAX_SER3_DTR_ON_PB_BIT=-1
-# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_MIXED is not set
-CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE=y
-# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PA is not set
-# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PB is not set
-CONFIG_ETRAX_SER3_RI_ON_PA_BIT=-1
-CONFIG_ETRAX_SER3_RI_ON_PB_BIT=-1
-# CONFIG_ETRAX_SERIAL_FAST_TIMER is not set
-# CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST is not set
-# CONFIG_ETRAX_SERIAL_PORT0_DMA0_OUT is not set
-# CONFIG_ETRAX_SERIAL_PORT0_DMA1_IN is not set
-# CONFIG_ETRAX_SERIAL_PORT0_DMA6_OUT is not set
-# CONFIG_ETRAX_SERIAL_PORT0_DMA7_IN is not set
-CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_IN=y
-CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_OUT=y
-CONFIG_ETRAX_SERIAL_PORT0=y
-# CONFIG_ETRAX_SERIAL_PORT1 is not set
-CONFIG_ETRAX_SERIAL_PORT2_DMA2_OUT=y
-CONFIG_ETRAX_SERIAL_PORT2_DMA3_IN=y
-# CONFIG_ETRAX_SERIAL_PORT2_DMA6_OUT is not set
-# CONFIG_ETRAX_SERIAL_PORT2_DMA7_IN is not set
-# CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_IN is not set
-# CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_OUT is not set
-CONFIG_ETRAX_SERIAL_PORT2=y
-# CONFIG_ETRAX_SERIAL_PORT3_DMA2_OUT is not set
-# CONFIG_ETRAX_SERIAL_PORT3_DMA3_IN is not set
-CONFIG_ETRAX_SERIAL_PORT3_DMA4_OUT=y
-CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN=y
-# CONFIG_ETRAX_SERIAL_PORT3_DMA8_OUT is not set
-# CONFIG_ETRAX_SERIAL_PORT3_DMA9_IN is not set
-# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_IN is not set
-# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_OUT is not set
-CONFIG_ETRAX_SERIAL_PORT3=y
-CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS=5
-CONFIG_ETRAX_SERIAL=y
-# CONFIG_ETRAX_SOFT_SHUTDOWN is not set
-# CONFIG_ETRAX_SYNCHRONOUS_SERIAL is not set
-# CONFIG_ETRAX_USB_HOST is not set
-# CONFIG_ETRAX_VCS_SIM is not set
-# CONFIG_ETRAX_WATCHDOG is not set
-CONFIG_FORCE_MAX_ZONEORDER=6
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_IOMAP=y
-# CONFIG_GEN_RTC is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_HAS_DMA=y
-CONFIG_HAS_IOMEM=y
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_HAVE_IDE=y
-CONFIG_HAVE_MLOCK=y
-# CONFIG_HW_RANDOM is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_MTDRAM=y
-CONFIG_MTDRAM_ABS_POS=0
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTDRAM_TOTAL_SIZE=0
-# CONFIG_NETDEV_1000 is not set
-CONFIG_NO_IOPORT=y
-# CONFIG_OOM_REBOOT is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
-# CONFIG_PCI is not set
-# CONFIG_RTC is not set
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SERIAL_8250 is not set
-# CONFIG_SLOW_WORK is not set
-# CONFIG_SVINTO_SIM is not set
-# CONFIG_SYSTEM_PROFILER is not set
-CONFIG_UID16=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-# CONFIG_USB_ARCH_HAS_HCD is not set
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-CONFIG_USB_SUPPORT=y
--- /dev/null
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_BITREVERSE=y
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_BOUNCE=y
+# CONFIG_BRIDGE is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CFG80211_DEFAULT_PS_VALUE=0
+CONFIG_CRIS=y
+# CONFIG_CRIS_MACH_ARTPEC3 is not set
+CONFIG_DECOMPRESS_LZMA=y
+# CONFIG_ETRAX100LX is not set
+CONFIG_ETRAX100LX_V2=y
+# CONFIG_ETRAXFS is not set
+CONFIG_ETRAX_ARCH_V10=y
+# CONFIG_ETRAX_ARCH_V32 is not set
+CONFIG_ETRAX_AXISFLASHMAP=y
+CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=jffs2 noinitrd console=ttyS0,115200"
+# CONFIG_ETRAX_CSP0_LEDS is not set
+# CONFIG_ETRAX_DEBUG_PORT0 is not set
+# CONFIG_ETRAX_DEBUG_PORT1 is not set
+# CONFIG_ETRAX_DEBUG_PORT2 is not set
+# CONFIG_ETRAX_DEBUG_PORT3 is not set
+CONFIG_ETRAX_DEBUG_PORT_NULL=y
+CONFIG_ETRAX_DEF_R_BUS_CONFIG=0x4
+CONFIG_ETRAX_DEF_R_PORT_PA_DATA=0xf0
+CONFIG_ETRAX_DEF_R_PORT_PA_DIR=0x1c
+CONFIG_ETRAX_DEF_R_PORT_PB_CONFIG=0x00
+CONFIG_ETRAX_DEF_R_PORT_PB_DATA=0x03
+CONFIG_ETRAX_DEF_R_PORT_PB_DIR=0xce
+CONFIG_ETRAX_DEF_R_SDRAM_CONFIG=0x09603737
+CONFIG_ETRAX_DEF_R_SDRAM_TIMING=0x80008002
+CONFIG_ETRAX_DEF_R_WAITSTATES=0x95f8
+CONFIG_ETRAX_DRAM_SIZE=32
+CONFIG_ETRAX_DRAM_VIRTUAL_BASE=c0000000
+CONFIG_ETRAX_ETHERNET=y
+CONFIG_ETRAX_FAST_TIMER=y
+CONFIG_ETRAX_FLASH1_SIZE=0
+CONFIG_ETRAX_FLASH_BUSWIDTH=2
+CONFIG_ETRAX_GPIO=y
+# CONFIG_ETRAX_I2C is not set
+# CONFIG_ETRAX_I2C_GVC is not set
+# CONFIG_ETRAX_KMALLOCED_MODULES is not set
+CONFIG_ETRAX_LED1G=2
+CONFIG_ETRAX_LED1R=2
+CONFIG_ETRAX_LED2G=3
+CONFIG_ETRAX_LED2R=3
+CONFIG_ETRAX_LED3G=2
+CONFIG_ETRAX_LED3R=2
+CONFIG_ETRAX_NANDFLASH_BUSWIDTH=1
+CONFIG_ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY=y
+# CONFIG_ETRAX_NETWORK_LED_ON_WHEN_LINK is not set
+# CONFIG_ETRAX_NO_LEDS is not set
+CONFIG_ETRAX_PA_BUTTON_BITMASK=02
+CONFIG_ETRAX_PA_CHANGEABLE_BITS=0xFF
+CONFIG_ETRAX_PA_CHANGEABLE_DIR=0xFF
+CONFIG_ETRAX_PA_LEDS=y
+CONFIG_ETRAX_PB_CHANGEABLE_BITS=0xFF
+CONFIG_ETRAX_PB_CHANGEABLE_DIR=0xFF
+# CONFIG_ETRAX_PB_LEDS is not set
+CONFIG_ETRAX_PTABLE_SECTOR=0
+CONFIG_ETRAX_RESCUE_SER0=y
+# CONFIG_ETRAX_RESCUE_SER1 is not set
+# CONFIG_ETRAX_RESCUE_SER2 is not set
+# CONFIG_ETRAX_RESCUE_SER3 is not set
+# CONFIG_ETRAX_RS485 is not set
+CONFIG_ETRAX_SDRAM=y
+CONFIG_ETRAX_SER0_CD_ON_PA_BIT=-1
+CONFIG_ETRAX_SER0_CD_ON_PB_BIT=-1
+CONFIG_ETRAX_SER0_DSR_ON_PA_BIT=-1
+CONFIG_ETRAX_SER0_DSR_ON_PB_BIT=-1
+CONFIG_ETRAX_SER0_DTR_ON_PA_BIT=-1
+CONFIG_ETRAX_SER0_DTR_ON_PB_BIT=-1
+# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_MIXED is not set
+CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE=y
+# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PA is not set
+# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PB is not set
+CONFIG_ETRAX_SER0_RI_ON_PA_BIT=-1
+CONFIG_ETRAX_SER0_RI_ON_PB_BIT=-1
+CONFIG_ETRAX_SER2_CD_ON_PA_BIT=-1
+CONFIG_ETRAX_SER2_CD_ON_PB_BIT=-1
+CONFIG_ETRAX_SER2_DSR_ON_PA_BIT=-1
+CONFIG_ETRAX_SER2_DSR_ON_PB_BIT=-1
+CONFIG_ETRAX_SER2_DTR_ON_PA_BIT=-1
+CONFIG_ETRAX_SER2_DTR_ON_PB_BIT=-1
+# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_MIXED is not set
+CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE=y
+# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PA is not set
+# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PB is not set
+CONFIG_ETRAX_SER2_RI_ON_PA_BIT=-1
+CONFIG_ETRAX_SER2_RI_ON_PB_BIT=-1
+CONFIG_ETRAX_SER3_CD_ON_PA_BIT=-1
+CONFIG_ETRAX_SER3_CD_ON_PB_BIT=-1
+CONFIG_ETRAX_SER3_DSR_ON_PA_BIT=-1
+CONFIG_ETRAX_SER3_DSR_ON_PB_BIT=-1
+CONFIG_ETRAX_SER3_DTR_ON_PA_BIT=-1
+CONFIG_ETRAX_SER3_DTR_ON_PB_BIT=-1
+# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_MIXED is not set
+CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE=y
+# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PA is not set
+# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PB is not set
+CONFIG_ETRAX_SER3_RI_ON_PA_BIT=-1
+CONFIG_ETRAX_SER3_RI_ON_PB_BIT=-1
+CONFIG_ETRAX_SERIAL=y
+# CONFIG_ETRAX_SERIAL_FAST_TIMER is not set
+# CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST is not set
+CONFIG_ETRAX_SERIAL_PORT0=y
+# CONFIG_ETRAX_SERIAL_PORT0_DMA0_OUT is not set
+# CONFIG_ETRAX_SERIAL_PORT0_DMA1_IN is not set
+# CONFIG_ETRAX_SERIAL_PORT0_DMA6_OUT is not set
+# CONFIG_ETRAX_SERIAL_PORT0_DMA7_IN is not set
+CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_IN=y
+CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_OUT=y
+# CONFIG_ETRAX_SERIAL_PORT1 is not set
+CONFIG_ETRAX_SERIAL_PORT2=y
+CONFIG_ETRAX_SERIAL_PORT2_DMA2_OUT=y
+CONFIG_ETRAX_SERIAL_PORT2_DMA3_IN=y
+# CONFIG_ETRAX_SERIAL_PORT2_DMA6_OUT is not set
+# CONFIG_ETRAX_SERIAL_PORT2_DMA7_IN is not set
+# CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_IN is not set
+# CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_OUT is not set
+CONFIG_ETRAX_SERIAL_PORT3=y
+# CONFIG_ETRAX_SERIAL_PORT3_DMA2_OUT is not set
+# CONFIG_ETRAX_SERIAL_PORT3_DMA3_IN is not set
+CONFIG_ETRAX_SERIAL_PORT3_DMA4_OUT=y
+CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN=y
+# CONFIG_ETRAX_SERIAL_PORT3_DMA8_OUT is not set
+# CONFIG_ETRAX_SERIAL_PORT3_DMA9_IN is not set
+# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_IN is not set
+# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_OUT is not set
+CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS=5
+# CONFIG_ETRAX_SOFT_SHUTDOWN is not set
+# CONFIG_ETRAX_SYNCHRONOUS_SERIAL is not set
+# CONFIG_ETRAX_USB_HOST is not set
+# CONFIG_ETRAX_VCS_SIM is not set
+# CONFIG_ETRAX_WATCHDOG is not set
+CONFIG_FORCE_MAX_ZONEORDER=6
+# CONFIG_FSNOTIFY is not set
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_IOMAP=y
+# CONFIG_GEN_RTC is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_MTDRAM_ABS_POS=0
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTDRAM_TOTAL_SIZE=0
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_MTDRAM=y
+# CONFIG_NETDEV_1000 is not set
+CONFIG_NO_IOPORT=y
+# CONFIG_OOM_REBOOT is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+# CONFIG_RTC is not set
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SERIAL_8250 is not set
+# CONFIG_SVINTO_SIM is not set
+# CONFIG_SYSTEM_PROFILER is not set
+# CONFIG_TREE_PREEMPT_RCU is not set
+CONFIG_TREE_RCU=y
+CONFIG_UID16=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB_ARCH_HAS_HCD is not set
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_SUPPORT=y
+++ /dev/null
---- a/arch/cris/boot/compressed/Makefile
-+++ b/arch/cris/boot/compressed/Makefile
-@@ -18,7 +18,7 @@ ldflags-y += -T $(srctree)/$(src)/decomp
- OBJECTS-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
- OBJECTS-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
- OBJECTS= $(OBJECTS-y) $(obj)/misc.o
--OBJCOPYFLAGS = -O binary --remove-section=.bss
-+#OBJCOPYFLAGS = -O binary --remove-section=.bss
-
- quiet_cmd_image = BUILD $@
- cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
---- a/arch/cris/boot/Makefile
-+++ b/arch/cris/boot/Makefile
-@@ -5,7 +5,7 @@
- objcopyflags-$(CONFIG_ETRAX_ARCH_V10) += -R .note -R .comment
- objcopyflags-$(CONFIG_ETRAX_ARCH_V32) += --remove-section=.bss
-
--OBJCOPYFLAGS = -O binary $(objcopyflags-y)
-+#OBJCOPYFLAGS = -O binary $(objcopyflags-y)
-
-
- subdir- := compressed rescue
-@@ -17,7 +17,7 @@ $(obj)/Image: vmlinux FORCE
-
- $(obj)/compressed/vmlinux: $(obj)/Image FORCE
- $(Q)$(MAKE) $(build)=$(obj)/compressed $@
-- $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
-+# $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
-
- $(obj)/zImage: $(obj)/compressed/vmlinux
- @cp $< $@
---- a/arch/cris/boot/rescue/Makefile
-+++ b/arch/cris/boot/rescue/Makefile
-@@ -14,7 +14,7 @@ arch-$(CONFIG_ETRAX_ARCH_V10) = v10
- arch-$(CONFIG_ETRAX_ARCH_V32) = v32
-
- ldflags-y += -T $(srctree)/$(src)/rescue_$(arch-y).lds
--OBJCOPYFLAGS = -O binary --remove-section=.bss
-+#OBJCOPYFLAGS = -O binary --remove-section=.bss
- obj-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
- obj-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
- OBJECTS := $(obj-y)
---- a/arch/cris/Makefile
-+++ b/arch/cris/Makefile
-@@ -40,7 +40,7 @@ endif
-
- LD = $(CROSS_COMPILE)ld -mcrislinux
-
--OBJCOPYFLAGS := -O binary -R .note -R .comment -S
-+OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S
-
- CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
-
+++ /dev/null
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -385,7 +385,7 @@ struct mtd_info *cfi_cmdset_0002(struct
-
- cfi_fixup_major_minor(cfi, extp);
-
-- if (extp->MajorVersion != '1' ||
-+ if (extp->MajorVersion < '0' || extp->MajorVersion > '3' ||
- (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
- if (cfi->mfr == MANUFACTURER_SAMSUNG &&
- (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
+++ /dev/null
---- a/arch/cris/arch-v10/drivers/axisflashmap.c
-+++ b/arch/cris/arch-v10/drivers/axisflashmap.c
-@@ -113,7 +113,7 @@ static struct map_info map_cse1 = {
-
- /* If no partition-table was found, we use this default-set. */
- #define MAX_PARTITIONS 7
--#define NUM_DEFAULT_PARTITIONS 3
-+#define NUM_DEFAULT_PARTITIONS 2
-
- /*
- * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the
-@@ -122,19 +122,14 @@ static struct map_info map_cse1 = {
- */
- static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
- {
-- .name = "boot firmware",
-- .size = CONFIG_ETRAX_PTABLE_SECTOR,
-- .offset = 0
-- },
-- {
- .name = "kernel",
-- .size = 0x200000 - (6 * CONFIG_ETRAX_PTABLE_SECTOR),
-- .offset = CONFIG_ETRAX_PTABLE_SECTOR
-+ .size = 0x00,
-+ .offset = 0
- },
- {
-- .name = "filesystem",
-- .size = 5 * CONFIG_ETRAX_PTABLE_SECTOR,
-- .offset = 0x200000 - (5 * CONFIG_ETRAX_PTABLE_SECTOR)
-+ .name = "rootfs",
-+ .size = 0x200000,
-+ .offset = 0x200000
- }
- };
-
-@@ -281,6 +276,11 @@ static int __init init_axis_flash(void)
- struct partitiontable_entry *ptable;
- int use_default_ptable = 1; /* Until proven otherwise. */
- const char pmsg[] = " /dev/flash%d at 0x%08x, size 0x%08x\n";
-+ unsigned int kernel_part_size = 0;
-+ unsigned char *flash_mem = (unsigned char*)(FLASH_CACHED_ADDR);
-+ unsigned int flash_scan_count = 0;
-+ const char *part_magic = "ACME_PART_MAGIC";
-+ unsigned int magic_len = strlen(part_magic);
-
- if (!(mymtd = flash_probe())) {
- /* There's no reason to use this module if no flash chip can
-@@ -293,6 +293,31 @@ static int __init init_axis_flash(void)
- axisflash_mtd = mymtd;
- }
-
-+ /* scan flash to findout where out partition starts */
-+
-+ printk(KERN_INFO "Scanning flash for end of kernel magic\n");
-+ for(flash_scan_count = 0; flash_scan_count < 100000; flash_scan_count++) {
-+ if(strncmp(&flash_mem[flash_scan_count], part_magic, magic_len - 1) == 0) {
-+ kernel_part_size = flash_mem[flash_scan_count + magic_len ];
-+ kernel_part_size <<= 8;
-+ kernel_part_size += flash_mem[flash_scan_count + magic_len + 2];
-+ kernel_part_size <<= 8;
-+ kernel_part_size += flash_mem[flash_scan_count + magic_len + 1];
-+ kernel_part_size <<= 8;
-+ kernel_part_size += flash_mem[flash_scan_count + magic_len + 3];
-+ printk(KERN_INFO "Kernel ends at 0x%.08X\n", kernel_part_size);
-+ flash_scan_count = 1100000;
-+ }
-+ }
-+
-+
-+ if(kernel_part_size){
-+ kernel_part_size = (kernel_part_size & 0xffff0000);
-+ axis_default_partitions[0].size = kernel_part_size;
-+ axis_default_partitions[1].size = mymtd->size - axis_default_partitions[0].size;
-+ axis_default_partitions[1].offset = axis_default_partitions[0].size;
-+ }
-+
- if (mymtd) {
- mymtd->owner = THIS_MODULE;
- ptable_head = (struct partitiontable_head *)(FLASH_CACHED_ADDR +
---- a/arch/cris/arch-v10/lib/hw_settings.S
-+++ b/arch/cris/arch-v10/lib/hw_settings.S
-@@ -60,3 +60,5 @@
- .dword R_PORT_PB_SET
- .dword PB_SET_VALUE
- .dword 0 ; No more register values
-+ .ascii "ACME_PART_MAGIC"
-+ .dword 0xdeadc0de
+++ /dev/null
---- a/drivers/usb/host/Makefile
-+++ b/drivers/usb/host/Makefile
-@@ -25,6 +25,7 @@ obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o
- obj-$(CONFIG_USB_FHCI_HCD) += fhci.o
- obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o
- obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o
-+obj-$(CONFIG_ETRAX_USB_HOST) += hc-crisv10.o
- obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o
- obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
- obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o
---- a/drivers/usb/Makefile
-+++ b/drivers/usb/Makefile
-@@ -19,6 +19,7 @@ obj-$(CONFIG_USB_U132_HCD) += host/
- obj-$(CONFIG_USB_R8A66597_HCD) += host/
- obj-$(CONFIG_USB_HWA_HCD) += host/
- obj-$(CONFIG_USB_ISP1760_HCD) += host/
-+obj-$(CONFIG_ETRAX_USB_HOST) += host/
-
- obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
-
---- a/arch/cris/arch-v10/drivers/Kconfig
-+++ b/arch/cris/arch-v10/drivers/Kconfig
-@@ -410,7 +410,7 @@ config ETRAX_RS485_DISABLE_RECEIVER
- Axis 2400/2401 must disable receiver.
-
- config ETRAX_USB_HOST
-- bool "USB host"
-+ tristate "ETRAX USB host"
- select USB
- help
- This option enables the host functionality of the ETRAX 100LX
+++ /dev/null
---- a/arch/cris/Kconfig
-+++ b/arch/cris/Kconfig
-@@ -649,6 +649,8 @@ endchoice
-
- endmenu
-
-+menu "Device Drivers"
-+
- source "drivers/base/Kconfig"
-
- # standard linux drivers
-@@ -660,13 +662,19 @@ source "drivers/pnp/Kconfig"
-
- source "drivers/block/Kconfig"
-
-+# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
-+
-+source "drivers/misc/Kconfig"
-+
- source "drivers/ide/Kconfig"
-
--source "drivers/net/Kconfig"
-+source "drivers/scsi/Kconfig"
-
--source "drivers/i2c/Kconfig"
-+source "drivers/ata/Kconfig"
-
--source "drivers/rtc/Kconfig"
-+source "drivers/net/Kconfig"
-+
-+source "drivers/isdn/Kconfig"
-
- #
- # input before char - char/joystick depends on it. As does USB.
-@@ -675,14 +683,50 @@ source "drivers/input/Kconfig"
-
- source "drivers/char/Kconfig"
-
--source "fs/Kconfig"
-+source "drivers/i2c/Kconfig"
-+
-+#source "drivers/spi/Kconfig"
-+
-+source "drivers/gpio/Kconfig"
-+
-+source "drivers/w1/Kconfig"
-+
-+source "drivers/power/Kconfig"
-+
-+source "drivers/hwmon/Kconfig"
-+
-+source "drivers/thermal/Kconfig"
-+
-+source "drivers/watchdog/Kconfig"
-+
-+source "drivers/ssb/Kconfig"
-+
-+#source "drivers/l3/Kconfig"
-+
-+source "drivers/mfd/Kconfig"
-+
-+source "drivers/media/Kconfig"
-+
-+source "drivers/video/Kconfig"
-+
-+source "sound/Kconfig"
-+
-+source "drivers/hid/Kconfig"
-
- source "drivers/usb/Kconfig"
-
- source "drivers/uwb/Kconfig"
-
-+source "drivers/leds/Kconfig"
-+
-+source "drivers/rtc/Kconfig"
-+
- source "drivers/staging/Kconfig"
-
-+endmenu
-+
-+source "fs/Kconfig"
-+
- source "arch/cris/Kconfig.debug"
-
- source "security/Kconfig"
+++ /dev/null
-Index: linux-2.6.30.8/arch/cris/arch-v10/drivers/Kconfig
-===================================================================
---- linux-2.6.30.8.orig/arch/cris/arch-v10/drivers/Kconfig 2009-10-02 11:31:49.000000000 +0200
-+++ linux-2.6.30.8/arch/cris/arch-v10/drivers/Kconfig 2009-10-06 10:36:23.000000000 +0200
-@@ -450,11 +450,31 @@
- i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
- val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
-
-+config ETRAX_I2C_GVC
-+ bool "I2C GVC support"
-+ depends on ETRAX_ARCH_V10 && !ETRAX_I2C
-+ select ETRAX_I2C_USES_PB_NOT_PB_I2C
-+ help
-+ Enables an I2C driver with Geert Vancompernolle improvement.
-+
-+config ETRAX_I2C_SLAVE_DELAY
-+ bool "I2C Slave delay support"
-+ depends on ETRAX_I2C_GVC && EXPERIMENTAL
-+ help
-+ Enable this to enhanced master/slave dialog
-+ Improvement by Positive Going (www.positivegoing.it) and BK srl (www.b-k.it)
-+
-+config ETRAX_I2C_DYN_ALLOC
-+ bool "I2C major device dynamic alloc"
-+ depends on ETRAX_I2C_GVC && EXPERIMENTAL
-+ help
-+ Enable this to dynamicaly alloc major i2c device number
-+
- # this is true for most products since PB-I2C seems to be somewhat
- # flawed..
- config ETRAX_I2C_USES_PB_NOT_PB_I2C
- bool "I2C uses PB not PB-I2C"
-- depends on ETRAX_I2C
-+ depends on ETRAX_I2C || ETRAX_I2C_GVC
- help
- Select whether to use the special I2C mode in the PB I/O register or
- not. This option needs to be selected in order to use some drivers
-@@ -478,7 +498,7 @@
-
- config ETRAX_I2C_EEPROM
- bool "I2C EEPROM (non-volatile RAM) support"
-- depends on ETRAX_I2C
-+ depends on ETRAX_I2C || ETRAX_I2C_GVC
- help
- Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
- driver. Select size option: Probed, 2k, 8k, 16k.
-Index: linux-2.6.30.8/arch/cris/arch-v10/drivers/Makefile
-===================================================================
---- linux-2.6.30.8.orig/arch/cris/arch-v10/drivers/Makefile 2009-10-02 11:31:14.000000000 +0200
-+++ linux-2.6.30.8/arch/cris/arch-v10/drivers/Makefile 2009-10-02 11:31:50.000000000 +0200
-@@ -4,6 +4,7 @@
-
- obj-$(CONFIG_ETRAX_AXISFLASHMAP) += axisflashmap.o
- obj-$(CONFIG_ETRAX_I2C) += i2c.o
-+obj-$(CONFIG_ETRAX_I2C_GVC) += i2c_gvc.o
- obj-$(CONFIG_ETRAX_I2C_EEPROM) += eeprom.o
- obj-$(CONFIG_ETRAX_GPIO) += gpio.o
- obj-$(CONFIG_ETRAX_DS1302) += ds1302.o
+++ /dev/null
---- a/drivers/serial/crisv10.c
-+++ b/drivers/serial/crisv10.c
-@@ -31,6 +31,7 @@ static char *serial_version = "$Revision
- #include <linux/module.h>
- #include <linux/uaccess.h>
- #include <linux/io.h>
-+#include <linux/device.h>
-
- #include <asm/irq.h>
- #include <asm/dma.h>
-@@ -4414,6 +4415,8 @@ static const struct tty_operations rs_op
- #endif
- };
-
-+static struct class *rs_class;
-+
- static int __init rs_init(void)
- {
- int i;
-@@ -4547,6 +4550,24 @@ static int __init rs_init(void)
- #endif
- #endif /* CONFIG_SVINTO_SIM */
-
-+ rs_class = class_create(THIS_MODULE, "rs_tty");
-+#ifdef CONFIG_ETRAX_SERIAL_PORT0
-+ device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 64), NULL, "ttyS0");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT1
-+ device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 65), NULL, "ttyS1");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT2
-+ device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 66), NULL, "ttyS2");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT3
-+ device_create(rs_class, NULL,
-+ MKDEV(TTY_MAJOR, 67), NULL, "ttyS3");
-+#endif
-+
- return 0;
- }
-
+++ /dev/null
---- a/arch/cris/arch-v10/drivers/gpio.c
-+++ b/arch/cris/arch-v10/drivers/gpio.c
-@@ -21,6 +21,7 @@
- #include <linux/poll.h>
- #include <linux/init.h>
- #include <linux/interrupt.h>
-+#include <linux/device.h>
-
- #include <asm/etraxgpio.h>
- #include <arch/svinto.h>
-@@ -771,6 +772,8 @@ static void ioif_watcher(const unsigned
-
- /* main driver initialization routine, called from mem.c */
-
-+static struct class *gp_class;
-+
- static int __init gpio_init(void)
- {
- int res;
-@@ -784,6 +787,8 @@ static int __init gpio_init(void)
- return res;
- }
-
-+ gp_class = class_create(THIS_MODULE, "gpio_etrax");
-+
- /* Clear all leds */
- #if defined (CONFIG_ETRAX_CSP0_LEDS) || defined (CONFIG_ETRAX_PA_LEDS) || defined (CONFIG_ETRAX_PB_LEDS)
- CRIS_LED_NETWORK_SET(0);
-@@ -796,6 +801,8 @@ static int __init gpio_init(void)
- CRIS_LED_BIT_SET(i);
- #endif
-
-+ device_create(gp_class, NULL,
-+ MKDEV(GPIO_MAJOR, 2), NULL, "leds");
- #endif
- /* The I/O interface allocation watcher will be called when
- * registering it. */
-@@ -822,6 +829,12 @@ static int __init gpio_init(void)
- if (res)
- printk(KERN_CRIT "err: PA irq for gpio\n");
-
-+ device_create(gp_class, NULL,
-+ MKDEV(GPIO_MAJOR, 0), NULL, "gpioa");
-+ device_create(gp_class, NULL,
-+ MKDEV(GPIO_MAJOR, 1), NULL, "gpiob");
-+ device_create(gp_class, NULL,
-+ MKDEV(GPIO_MAJOR, 3), NULL, "gpiog");
- return res;
- }
-
+++ /dev/null
---- a/arch/cris/arch-v10/drivers/i2c.c
-+++ b/arch/cris/arch-v10/drivers/i2c.c
-@@ -21,6 +21,7 @@
- #include <linux/fs.h>
- #include <linux/string.h>
- #include <linux/init.h>
-+#include <linux/device.h>
-
- #include <asm/etraxi2c.h>
-
-@@ -678,6 +679,8 @@ i2c_init(void)
- return res;
- }
-
-+static struct class *i2c_class;
-+
- static int __init
- i2c_register(void)
- {
-@@ -693,7 +696,11 @@ i2c_register(void)
- }
-
- printk(KERN_INFO "I2C driver v2.2, (c) 1999-2004 Axis Communications AB\n");
--
-+
-+ i2c_class = class_create(THIS_MODULE, "i2c_etrax");
-+ device_create(i2c_class, NULL,
-+ MKDEV(I2C_MAJOR, 0), NULL, "i2c");
-+
- return 0;
- }
-
--- /dev/null
+--- a/arch/cris/boot/compressed/Makefile
++++ b/arch/cris/boot/compressed/Makefile
+@@ -18,7 +18,7 @@ ldflags-y += -T $(srctree)/$(src)/decomp
+ OBJECTS-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
+ OBJECTS-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
+ OBJECTS= $(OBJECTS-y) $(obj)/misc.o
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
++#OBJCOPYFLAGS = -O binary --remove-section=.bss
+
+ quiet_cmd_image = BUILD $@
+ cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
+--- a/arch/cris/boot/Makefile
++++ b/arch/cris/boot/Makefile
+@@ -5,7 +5,7 @@
+ objcopyflags-$(CONFIG_ETRAX_ARCH_V10) += -R .note -R .comment
+ objcopyflags-$(CONFIG_ETRAX_ARCH_V32) += --remove-section=.bss
+
+-OBJCOPYFLAGS = -O binary $(objcopyflags-y)
++#OBJCOPYFLAGS = -O binary $(objcopyflags-y)
+
+
+ subdir- := compressed rescue
+@@ -17,7 +17,7 @@ $(obj)/Image: vmlinux FORCE
+
+ $(obj)/compressed/vmlinux: $(obj)/Image FORCE
+ $(Q)$(MAKE) $(build)=$(obj)/compressed $@
+- $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
++# $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
+
+ $(obj)/zImage: $(obj)/compressed/vmlinux
+ @cp $< $@
+--- a/arch/cris/boot/rescue/Makefile
++++ b/arch/cris/boot/rescue/Makefile
+@@ -14,7 +14,7 @@ arch-$(CONFIG_ETRAX_ARCH_V10) = v10
+ arch-$(CONFIG_ETRAX_ARCH_V32) = v32
+
+ ldflags-y += -T $(srctree)/$(src)/rescue_$(arch-y).lds
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
++#OBJCOPYFLAGS = -O binary --remove-section=.bss
+ obj-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
+ obj-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
+ OBJECTS := $(obj-y)
+--- a/arch/cris/Makefile
++++ b/arch/cris/Makefile
+@@ -40,7 +40,7 @@ endif
+
+ LD = $(CROSS_COMPILE)ld -mcrislinux
+
+-OBJCOPYFLAGS := -O binary -R .note -R .comment -S
++OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S
+
+ CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
+
--- /dev/null
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -385,7 +385,7 @@ struct mtd_info *cfi_cmdset_0002(struct
+
+ cfi_fixup_major_minor(cfi, extp);
+
+- if (extp->MajorVersion != '1' ||
++ if (extp->MajorVersion < '0' || extp->MajorVersion > '3' ||
+ (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
+ if (cfi->mfr == MANUFACTURER_SAMSUNG &&
+ (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
--- /dev/null
+--- a/arch/cris/arch-v10/drivers/axisflashmap.c
++++ b/arch/cris/arch-v10/drivers/axisflashmap.c
+@@ -113,7 +113,7 @@ static struct map_info map_cse1 = {
+
+ /* If no partition-table was found, we use this default-set. */
+ #define MAX_PARTITIONS 7
+-#define NUM_DEFAULT_PARTITIONS 3
++#define NUM_DEFAULT_PARTITIONS 2
+
+ /*
+ * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the
+@@ -122,19 +122,14 @@ static struct map_info map_cse1 = {
+ */
+ static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
+ {
+- .name = "boot firmware",
+- .size = CONFIG_ETRAX_PTABLE_SECTOR,
+- .offset = 0
+- },
+- {
+ .name = "kernel",
+- .size = 0x200000 - (6 * CONFIG_ETRAX_PTABLE_SECTOR),
+- .offset = CONFIG_ETRAX_PTABLE_SECTOR
++ .size = 0x00,
++ .offset = 0
+ },
+ {
+- .name = "filesystem",
+- .size = 5 * CONFIG_ETRAX_PTABLE_SECTOR,
+- .offset = 0x200000 - (5 * CONFIG_ETRAX_PTABLE_SECTOR)
++ .name = "rootfs",
++ .size = 0x200000,
++ .offset = 0x200000
+ }
+ };
+
+@@ -281,6 +276,11 @@ static int __init init_axis_flash(void)
+ struct partitiontable_entry *ptable;
+ int use_default_ptable = 1; /* Until proven otherwise. */
+ const char pmsg[] = " /dev/flash%d at 0x%08x, size 0x%08x\n";
++ unsigned int kernel_part_size = 0;
++ unsigned char *flash_mem = (unsigned char*)(FLASH_CACHED_ADDR);
++ unsigned int flash_scan_count = 0;
++ const char *part_magic = "ACME_PART_MAGIC";
++ unsigned int magic_len = strlen(part_magic);
+
+ if (!(mymtd = flash_probe())) {
+ /* There's no reason to use this module if no flash chip can
+@@ -293,6 +293,31 @@ static int __init init_axis_flash(void)
+ axisflash_mtd = mymtd;
+ }
+
++ /* scan flash to findout where out partition starts */
++
++ printk(KERN_INFO "Scanning flash for end of kernel magic\n");
++ for(flash_scan_count = 0; flash_scan_count < 100000; flash_scan_count++) {
++ if(strncmp(&flash_mem[flash_scan_count], part_magic, magic_len - 1) == 0) {
++ kernel_part_size = flash_mem[flash_scan_count + magic_len ];
++ kernel_part_size <<= 8;
++ kernel_part_size += flash_mem[flash_scan_count + magic_len + 2];
++ kernel_part_size <<= 8;
++ kernel_part_size += flash_mem[flash_scan_count + magic_len + 1];
++ kernel_part_size <<= 8;
++ kernel_part_size += flash_mem[flash_scan_count + magic_len + 3];
++ printk(KERN_INFO "Kernel ends at 0x%.08X\n", kernel_part_size);
++ flash_scan_count = 1100000;
++ }
++ }
++
++
++ if(kernel_part_size){
++ kernel_part_size = (kernel_part_size & 0xffff0000);
++ axis_default_partitions[0].size = kernel_part_size;
++ axis_default_partitions[1].size = mymtd->size - axis_default_partitions[0].size;
++ axis_default_partitions[1].offset = axis_default_partitions[0].size;
++ }
++
+ if (mymtd) {
+ mymtd->owner = THIS_MODULE;
+ ptable_head = (struct partitiontable_head *)(FLASH_CACHED_ADDR +
+--- a/arch/cris/arch-v10/lib/hw_settings.S
++++ b/arch/cris/arch-v10/lib/hw_settings.S
+@@ -60,3 +60,5 @@
+ .dword R_PORT_PB_SET
+ .dword PB_SET_VALUE
+ .dword 0 ; No more register values
++ .ascii "ACME_PART_MAGIC"
++ .dword 0xdeadc0de
--- /dev/null
+--- a/drivers/usb/host/Makefile
++++ b/drivers/usb/host/Makefile
+@@ -25,6 +25,7 @@ obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o
+ obj-$(CONFIG_USB_FHCI_HCD) += fhci.o
+ obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o
+ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o
++obj-$(CONFIG_ETRAX_USB_HOST) += hc-crisv10.o
+ obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o
+ obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
+ obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o
+--- a/drivers/usb/Makefile
++++ b/drivers/usb/Makefile
+@@ -19,6 +19,7 @@ obj-$(CONFIG_USB_U132_HCD) += host/
+ obj-$(CONFIG_USB_R8A66597_HCD) += host/
+ obj-$(CONFIG_USB_HWA_HCD) += host/
+ obj-$(CONFIG_USB_ISP1760_HCD) += host/
++obj-$(CONFIG_ETRAX_USB_HOST) += host/
+
+ obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
+
+--- a/arch/cris/arch-v10/drivers/Kconfig
++++ b/arch/cris/arch-v10/drivers/Kconfig
+@@ -410,7 +410,7 @@ config ETRAX_RS485_DISABLE_RECEIVER
+ Axis 2400/2401 must disable receiver.
+
+ config ETRAX_USB_HOST
+- bool "USB host"
++ tristate "ETRAX USB host"
+ select USB
+ help
+ This option enables the host functionality of the ETRAX 100LX
--- /dev/null
+--- a/arch/cris/Kconfig
++++ b/arch/cris/Kconfig
+@@ -649,6 +649,8 @@ endchoice
+
+ endmenu
+
++menu "Device Drivers"
++
+ source "drivers/base/Kconfig"
+
+ # standard linux drivers
+@@ -660,13 +662,19 @@ source "drivers/pnp/Kconfig"
+
+ source "drivers/block/Kconfig"
+
++# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
++
++source "drivers/misc/Kconfig"
++
+ source "drivers/ide/Kconfig"
+
+-source "drivers/net/Kconfig"
++source "drivers/scsi/Kconfig"
+
+-source "drivers/i2c/Kconfig"
++source "drivers/ata/Kconfig"
+
+-source "drivers/rtc/Kconfig"
++source "drivers/net/Kconfig"
++
++source "drivers/isdn/Kconfig"
+
+ #
+ # input before char - char/joystick depends on it. As does USB.
+@@ -675,14 +683,50 @@ source "drivers/input/Kconfig"
+
+ source "drivers/char/Kconfig"
+
+-source "fs/Kconfig"
++source "drivers/i2c/Kconfig"
++
++#source "drivers/spi/Kconfig"
++
++source "drivers/gpio/Kconfig"
++
++source "drivers/w1/Kconfig"
++
++source "drivers/power/Kconfig"
++
++source "drivers/hwmon/Kconfig"
++
++source "drivers/thermal/Kconfig"
++
++source "drivers/watchdog/Kconfig"
++
++source "drivers/ssb/Kconfig"
++
++#source "drivers/l3/Kconfig"
++
++source "drivers/mfd/Kconfig"
++
++source "drivers/media/Kconfig"
++
++source "drivers/video/Kconfig"
++
++source "sound/Kconfig"
++
++source "drivers/hid/Kconfig"
+
+ source "drivers/usb/Kconfig"
+
+ source "drivers/uwb/Kconfig"
+
++source "drivers/leds/Kconfig"
++
++source "drivers/rtc/Kconfig"
++
+ source "drivers/staging/Kconfig"
+
++endmenu
++
++source "fs/Kconfig"
++
+ source "arch/cris/Kconfig.debug"
+
+ source "security/Kconfig"
--- /dev/null
+--- a/arch/cris/arch-v10/drivers/Kconfig
++++ b/arch/cris/arch-v10/drivers/Kconfig
+@@ -450,11 +450,31 @@ config ETRAX_I2C
+ i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
+ val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
+
++config ETRAX_I2C_GVC
++ bool "I2C GVC support"
++ depends on ETRAX_ARCH_V10 && !ETRAX_I2C
++ select ETRAX_I2C_USES_PB_NOT_PB_I2C
++ help
++ Enables an I2C driver with Geert Vancompernolle improvement.
++
++config ETRAX_I2C_SLAVE_DELAY
++ bool "I2C Slave delay support"
++ depends on ETRAX_I2C_GVC && EXPERIMENTAL
++ help
++ Enable this to enhanced master/slave dialog
++ Improvement by Positive Going (www.positivegoing.it) and BK srl (www.b-k.it)
++
++config ETRAX_I2C_DYN_ALLOC
++ bool "I2C major device dynamic alloc"
++ depends on ETRAX_I2C_GVC && EXPERIMENTAL
++ help
++ Enable this to dynamicaly alloc major i2c device number
++
+ # this is true for most products since PB-I2C seems to be somewhat
+ # flawed..
+ config ETRAX_I2C_USES_PB_NOT_PB_I2C
+ bool "I2C uses PB not PB-I2C"
+- depends on ETRAX_I2C
++ depends on ETRAX_I2C || ETRAX_I2C_GVC
+ help
+ Select whether to use the special I2C mode in the PB I/O register or
+ not. This option needs to be selected in order to use some drivers
+@@ -478,7 +498,7 @@ config ETRAX_I2C_CLK_PORT
+
+ config ETRAX_I2C_EEPROM
+ bool "I2C EEPROM (non-volatile RAM) support"
+- depends on ETRAX_I2C
++ depends on ETRAX_I2C || ETRAX_I2C_GVC
+ help
+ Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
+ driver. Select size option: Probed, 2k, 8k, 16k.
+--- a/arch/cris/arch-v10/drivers/Makefile
++++ b/arch/cris/arch-v10/drivers/Makefile
+@@ -4,6 +4,7 @@
+
+ obj-$(CONFIG_ETRAX_AXISFLASHMAP) += axisflashmap.o
+ obj-$(CONFIG_ETRAX_I2C) += i2c.o
++obj-$(CONFIG_ETRAX_I2C_GVC) += i2c_gvc.o
+ obj-$(CONFIG_ETRAX_I2C_EEPROM) += eeprom.o
+ obj-$(CONFIG_ETRAX_GPIO) += gpio.o
+ obj-$(CONFIG_ETRAX_DS1302) += ds1302.o
--- /dev/null
+--- a/drivers/serial/crisv10.c
++++ b/drivers/serial/crisv10.c
+@@ -31,6 +31,7 @@ static char *serial_version = "$Revision
+ #include <linux/module.h>
+ #include <linux/uaccess.h>
+ #include <linux/io.h>
++#include <linux/device.h>
+
+ #include <asm/irq.h>
+ #include <asm/dma.h>
+@@ -4414,6 +4415,8 @@ static const struct tty_operations rs_op
+ #endif
+ };
+
++static struct class *rs_class;
++
+ static int __init rs_init(void)
+ {
+ int i;
+@@ -4547,6 +4550,24 @@ static int __init rs_init(void)
+ #endif
+ #endif /* CONFIG_SVINTO_SIM */
+
++ rs_class = class_create(THIS_MODULE, "rs_tty");
++#ifdef CONFIG_ETRAX_SERIAL_PORT0
++ device_create(rs_class, NULL,
++ MKDEV(TTY_MAJOR, 64), NULL, "ttyS0");
++#endif
++#ifdef CONFIG_ETRAX_SERIAL_PORT1
++ device_create(rs_class, NULL,
++ MKDEV(TTY_MAJOR, 65), NULL, "ttyS1");
++#endif
++#ifdef CONFIG_ETRAX_SERIAL_PORT2
++ device_create(rs_class, NULL,
++ MKDEV(TTY_MAJOR, 66), NULL, "ttyS2");
++#endif
++#ifdef CONFIG_ETRAX_SERIAL_PORT3
++ device_create(rs_class, NULL,
++ MKDEV(TTY_MAJOR, 67), NULL, "ttyS3");
++#endif
++
+ return 0;
+ }
+
--- /dev/null
+--- a/arch/cris/arch-v10/drivers/gpio.c
++++ b/arch/cris/arch-v10/drivers/gpio.c
+@@ -21,6 +21,7 @@
+ #include <linux/poll.h>
+ #include <linux/init.h>
+ #include <linux/interrupt.h>
++#include <linux/device.h>
+
+ #include <asm/etraxgpio.h>
+ #include <arch/svinto.h>
+@@ -771,6 +772,8 @@ static void ioif_watcher(const unsigned
+
+ /* main driver initialization routine, called from mem.c */
+
++static struct class *gp_class;
++
+ static int __init gpio_init(void)
+ {
+ int res;
+@@ -784,6 +787,8 @@ static int __init gpio_init(void)
+ return res;
+ }
+
++ gp_class = class_create(THIS_MODULE, "gpio_etrax");
++
+ /* Clear all leds */
+ #if defined (CONFIG_ETRAX_CSP0_LEDS) || defined (CONFIG_ETRAX_PA_LEDS) || defined (CONFIG_ETRAX_PB_LEDS)
+ CRIS_LED_NETWORK_SET(0);
+@@ -796,6 +801,8 @@ static int __init gpio_init(void)
+ CRIS_LED_BIT_SET(i);
+ #endif
+
++ device_create(gp_class, NULL,
++ MKDEV(GPIO_MAJOR, 2), NULL, "leds");
+ #endif
+ /* The I/O interface allocation watcher will be called when
+ * registering it. */
+@@ -822,6 +829,12 @@ static int __init gpio_init(void)
+ if (res)
+ printk(KERN_CRIT "err: PA irq for gpio\n");
+
++ device_create(gp_class, NULL,
++ MKDEV(GPIO_MAJOR, 0), NULL, "gpioa");
++ device_create(gp_class, NULL,
++ MKDEV(GPIO_MAJOR, 1), NULL, "gpiob");
++ device_create(gp_class, NULL,
++ MKDEV(GPIO_MAJOR, 3), NULL, "gpiog");
+ return res;
+ }
+
--- /dev/null
+--- a/arch/cris/arch-v10/drivers/i2c.c
++++ b/arch/cris/arch-v10/drivers/i2c.c
+@@ -21,6 +21,7 @@
+ #include <linux/fs.h>
+ #include <linux/string.h>
+ #include <linux/init.h>
++#include <linux/device.h>
+
+ #include <asm/etraxi2c.h>
+
+@@ -678,6 +679,8 @@ i2c_init(void)
+ return res;
+ }
+
++static struct class *i2c_class;
++
+ static int __init
+ i2c_register(void)
+ {
+@@ -693,7 +696,11 @@ i2c_register(void)
+ }
+
+ printk(KERN_INFO "I2C driver v2.2, (c) 1999-2004 Axis Communications AB\n");
+-
++
++ i2c_class = class_create(THIS_MODULE, "i2c_etrax");
++ device_create(i2c_class, NULL,
++ MKDEV(I2C_MAJOR, 0), NULL, "i2c");
++
+ return 0;
+ }
+
endef
define Profile/default/Description
- Normal Foxboard setup (no vhdl)
+ Normal Foxboard setup
endef
$(eval $(call Profile,default))