diff options
Diffstat (limited to 'target/linux/iop32x')
7 files changed, 286 insertions, 0 deletions
diff --git a/target/linux/iop32x/Makefile b/target/linux/iop32x/Makefile new file mode 100644 index 000000000..90bdc6f2e --- /dev/null +++ b/target/linux/iop32x/Makefile @@ -0,0 +1,19 @@ +# +# Copyright (C) 2007-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +ARCH:=arm +BOARD:=iop32x +BOARDNAME:=Intel IOP32x +FEATURES:=squashfs broken +MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> + +LINUX_VERSION:=3.3.8 + +include $(INCLUDE_DIR)/target.mk + +$(eval $(call BuildTarget)) diff --git a/target/linux/iop32x/base-files/etc/config/network b/target/linux/iop32x/base-files/etc/config/network new file mode 100644 index 000000000..1d9b55b2d --- /dev/null +++ b/target/linux/iop32x/base-files/etc/config/network @@ -0,0 +1,11 @@ +# Network configuration file + +config interface loopback + option ifname lo + option proto static + option ipaddr 127.0.0.1 + option netmask 255.0.0.0 + +config interface lan + option ifname eth0 + option proto dhcp diff --git a/target/linux/iop32x/config-3.3 b/target/linux/iop32x/config-3.3 new file mode 100644 index 000000000..6adc702d5 --- /dev/null +++ b/target/linux/iop32x/config-3.3 @@ -0,0 +1,147 @@ +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_ARCH_IOP32X=y +# CONFIG_ARCH_IQ31244 is not set +# CONFIG_ARCH_IQ80321 is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_USES_GETTIMEOFFSET is not set +CONFIG_ARM=y +# CONFIG_ARM_CPU_SUSPEND is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_NR_BANKS=8 +CONFIG_ARM_PATCH_PHYS_VIRT=y +# CONFIG_ARM_THUMB is not set +# CONFIG_ARPD is not set +CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y +CONFIG_ATA=m +CONFIG_BCMA_POSSIBLE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5T=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_HAS_PMU=y +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_USE_DOMAINS=y +CONFIG_CPU_XSCALE=y +# CONFIG_DEBUG_USER is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DNOTIFY=y +# CONFIG_DSCC4 is not set +CONFIG_E1000=y +# CONFIG_FARSYNC is not set +CONFIG_FRAME_POINTER=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GPIOLIB=y +# CONFIG_HAMRADIO is not set +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SCHED_CLOCK=y +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_HDLC=m +CONFIG_HDLC_CISCO=m +CONFIG_HDLC_FR=m +CONFIG_HDLC_PPP=m +CONFIG_HDLC_RAW=m +CONFIG_HWMON=y +CONFIG_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_IOP3XX is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INTEL_IOP_ADMA=y +# CONFIG_IOP_WATCHDOG is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_IWMMXT is not set +CONFIG_KTIME_SCALAR=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_MACH_EM7210 is not set +# CONFIG_MACH_GLANTANK is not set +CONFIG_MACH_N2100=y +# CONFIG_MTD_CFI_AMDSTD is not set +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NET_DMA=y +CONFIG_NLS=m +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PCI=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PLAT_IOP=y +# CONFIG_PREEMPT_RCU is not set +CONFIG_R8169=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PCF8563=y +CONFIG_RTC_DRV_X1205=y +CONFIG_SCSI=m +CONFIG_SCSI_MOD=m +# CONFIG_SCSI_MULTI_LUN is not set +CONFIG_SPLIT_PTLOCK_CPUS=999999 +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_UID16=y +CONFIG_USB=m +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_COMMON=m +CONFIG_USB_EHCI_HCD=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_UHCI_HCD=m +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WAN=y +CONFIG_XSCALE_PMU=y +CONFIG_XZ_DEC=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/iop32x/image/Makefile b/target/linux/iop32x/image/Makefile new file mode 100644 index 000000000..160067386 --- /dev/null +++ b/target/linux/iop32x/image/Makefile @@ -0,0 +1,41 @@ +# +# Copyright (C) 2007-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/image.mk + +define Image/Prepare + cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage +endef + +define Image/BuildKernel + cp $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage +# +# XXX - FIXME +# +# BIN_DIR=$(BIN_DIR) IMG_PREFIX="$(IMG_PREFIX)" $(TOPDIR)/scripts/arm-magic.sh +endef + +define Image/Build + $(call Image/Build/$(1),$(1)) +endef + +define Image/Build/jffs2-64k + dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=65536 conv=sync +endef + +define Image/Build/jffs2-128k + dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=131072 conv=sync + $(call Image/Build/slug,$(1)) +endef + +define Image/Build/squashfs + $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) + dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=131072 conv=sync + $(call Image/Build/slug,$(1)) +endef + +$(eval $(call BuildImage)) diff --git a/target/linux/iop32x/patches-3.3/001-ARM-Fix-missing-linux-types.h-inclusion-in-asm-hardw.patch b/target/linux/iop32x/patches-3.3/001-ARM-Fix-missing-linux-types.h-inclusion-in-asm-hardw.patch new file mode 100644 index 000000000..a03eff74c --- /dev/null +++ b/target/linux/iop32x/patches-3.3/001-ARM-Fix-missing-linux-types.h-inclusion-in-asm-hardw.patch @@ -0,0 +1,33 @@ +From 15e9b9b9ed268fa91e52c44d621f3d0296162d15 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Fri, 23 Mar 2012 15:37:34 +0000 +Subject: [PATCH] ARM: Fix missing linux/types.h #inclusion in asm/hardware/iop3xx.h + +arch/arm/include/asm/hardware/iop3xx.h needs to include linux/types.h to avoid +the following errors: + +In file included from arch/arm/plat-iop/restart.c:10:0: +/data/fs/linux-2.6-fscache/arch/arm/include/asm/hardware/iop3xx.h:239:1: error: unknown type name 'u32' +/data/fs/linux-2.6-fscache/arch/arm/include/asm/hardware/iop3xx.h: In function 'read_tmr0': +/data/fs/linux-2.6-fscache/arch/arm/include/asm/hardware/iop3xx.h:241:2: error: unknown type name 'u32' +/data/fs/linux-2.6-fscache/arch/arm/include/asm/hardware/iop3xx.h: At top level: +/data/fs/linux-2.6-fscache/arch/arm/include/asm/hardware/iop3xx.h:246:31: error: unknown type name 'u32' +... + +Signed-off-by: David Howells <dhowells@redhat.com> +--- + arch/arm/include/asm/hardware/iop3xx.h | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +--- a/arch/arm/include/asm/hardware/iop3xx.h ++++ b/arch/arm/include/asm/hardware/iop3xx.h +@@ -231,6 +231,9 @@ extern int iop3xx_get_init_atu(void); + + + #ifndef __ASSEMBLY__ ++ ++#include <linux/types.h> ++ + void iop3xx_map_io(void); + void iop_init_cp6_handler(void); + void iop_init_time(unsigned long tickrate); diff --git a/target/linux/iop32x/patches-3.3/002-Disintegrate-asm-system.h-for-ARM.patch b/target/linux/iop32x/patches-3.3/002-Disintegrate-asm-system.h-for-ARM.patch new file mode 100644 index 000000000..b91e9a27e --- /dev/null +++ b/target/linux/iop32x/patches-3.3/002-Disintegrate-asm-system.h-for-ARM.patch @@ -0,0 +1,24 @@ +From 9f97da78bf018206fb623cd351d454af2f105fe0 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Wed, 28 Mar 2012 18:30:01 +0100 +Subject: [PATCH] Disintegrate asm/system.h for ARM + +Disintegrate asm/system.h for ARM. + +Signed-off-by: David Howells <dhowells@redhat.com> +cc: Russell King <linux@arm.linux.org.uk> +cc: linux-arm-kernel@lists.infradead.org +--- + arch/arm/plat-iop/restart.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +--- a/arch/arm/plat-iop/restart.c ++++ b/arch/arm/plat-iop/restart.c +@@ -8,6 +8,7 @@ + * published by the Free Software Foundation. + */ + #include <asm/hardware/iop3xx.h> ++#include <asm/system.h> + #include <mach/hardware.h> + + void iop3xx_restart(char mode, const char *cmd) diff --git a/target/linux/iop32x/patches-3.3/003-plat-iop-fix-section-mismatch.patch b/target/linux/iop32x/patches-3.3/003-plat-iop-fix-section-mismatch.patch new file mode 100644 index 000000000..ab8025dd9 --- /dev/null +++ b/target/linux/iop32x/patches-3.3/003-plat-iop-fix-section-mismatch.patch @@ -0,0 +1,11 @@ +--- a/arch/arm/plat-iop/pci.c ++++ b/arch/arm/plat-iop/pci.c +@@ -221,7 +221,7 @@ int iop3xx_pci_setup(int nr, struct pci_ + return 1; + } + +-struct pci_bus *iop3xx_pci_scan_bus(int nr, struct pci_sys_data *sys) ++struct pci_bus * __devinit iop3xx_pci_scan_bus(int nr, struct pci_sys_data *sys) + { + return pci_scan_root_bus(NULL, sys->busnr, &iop3xx_ops, sys, + &sys->resources); |