From: Gabor Juhos Date: Sun, 29 Apr 2012 15:20:40 +0000 (+0000) Subject: orion: add 3.3 support X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f687ca229657435bfa22531e75113c6a7dce0419;p=openwrt%2Fstaging%2Fjow.git orion: add 3.3 support SVN-Revision: 31528 --- diff --git a/target/linux/orion/config-3.3 b/target/linux/orion/config-3.3 new file mode 100644 index 0000000000..6909c81d03 --- /dev/null +++ b/target/linux/orion/config-3.3 @@ -0,0 +1,190 @@ +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_ORION5X=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# 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_ATA=m +CONFIG_BCMA_POSSIBLE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CLKSRC_MMIO=y +CONFIG_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200" +CONFIG_CMDLINE_FORCE=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5T=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_FEROCEON=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_FEROCEON=y +CONFIG_CPU_FEROCEON_OLD_ID=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_TLB_FEROCEON=y +CONFIG_CPU_USE_DOMAINS=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_DEV_MV_CESA=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_DEBUG_USER is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DNOTIFY=y +# CONFIG_DSCC4 is not set +# 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_CPU_DEVICES is not set +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=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_HWMON_DEBUG_CHIP is not set +CONFIG_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MV64XXX=y +# CONFIG_I2C_PXA_PCI is not set +CONFIG_INET_LRO=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_KTIME_SCALAR=y +CONFIG_LEDS_GPIO=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_MACH_BIGDISK is not set +# CONFIG_MACH_D2NET is not set +# CONFIG_MACH_DB88F5281 is not set +CONFIG_MACH_DNS323=y +CONFIG_MACH_DT2=y +# CONFIG_MACH_EDMINI_V2 is not set +# CONFIG_MACH_KUROBOX_PRO is not set +# CONFIG_MACH_LINKSTATION_LSCHL is not set +# CONFIG_MACH_LINKSTATION_LS_HGL is not set +# CONFIG_MACH_LINKSTATION_MINI is not set +# CONFIG_MACH_LINKSTATION_PRO is not set +# CONFIG_MACH_MSS2 is not set +# CONFIG_MACH_MV2120 is not set +# CONFIG_MACH_NET2BIG is not set +# CONFIG_MACH_RD88F5181L_FXO is not set +# CONFIG_MACH_RD88F5181L_GE is not set +# CONFIG_MACH_RD88F5182 is not set +# CONFIG_MACH_RD88F6183AP_GE is not set +# CONFIG_MACH_TERASTATION_PRO2 is not set +# CONFIG_MACH_TS209 is not set +# CONFIG_MACH_TS409 is not set +# CONFIG_MACH_TS78XX is not set +CONFIG_MACH_WNR854T=y +CONFIG_MACH_WRT350N_V2=y +CONFIG_MDIO_BOARDINFO=y +# CONFIG_MLX4_CORE is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MV643XX_ETH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NET_DSA=y +# CONFIG_NET_DSA_MV88E6060 is not set +CONFIG_NET_DSA_MV88E6131=y +CONFIG_NET_DSA_MV88E6XXX=y +CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y +CONFIG_NET_DSA_TAG_DSA=y +# CONFIG_NET_DSA_TAG_TRAILER is not set +# CONFIG_NET_VENDOR_3COM is not set +CONFIG_NLS=m +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PATA_ARTOP=m +CONFIG_PCI=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PHYLIB=y +CONFIG_PLAT_ORION=y +# CONFIG_PREEMPT_RCU is not set +# CONFIG_QUOTACTL is not set +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_ISL1208=y +CONFIG_SATA_PMP=y +CONFIG_SCSI=m +CONFIG_SCSI_MOD=m +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SENSORS_SCH56XX_COMMON 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_VFP is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WAN=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/orion/dns323/config-3.3 b/target/linux/orion/dns323/config-3.3 new file mode 100644 index 0000000000..b0daf7f223 --- /dev/null +++ b/target/linux/orion/dns323/config-3.3 @@ -0,0 +1,47 @@ +CONFIG_ATA=y +CONFIG_ATAGS_PROC=y +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_SD=y +CONFIG_CMDLINE="root=/dev/mtdblock3 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200" +CONFIG_CRC16=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_PCOMP2=y +CONFIG_DM_CRYPT=y +CONFIG_DM_MIRROR=y +CONFIG_DM_SNAPSHOT=y +CONFIG_EXPORTFS=y +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_FS_MBCACHE=y +CONFIG_GPIO_DEVICE=y +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_JBD=y +CONFIG_JBD2=y +CONFIG_KEXEC=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_MD=y +CONFIG_MD_AUTODETECT=y +CONFIG_MD_LINEAR=y +# CONFIG_MD_MULTIPATH is not set +CONFIG_MD_RAID0=y +CONFIG_MD_RAID1=y +# CONFIG_MD_RAID10 is not set +# CONFIG_MD_RAID456 is not set +CONFIG_NLS=y +CONFIG_RTC_DRV_M41T80=y +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_SATA_MV=y +CONFIG_SCSI=y +CONFIG_SCSI_MOD=y +CONFIG_SENSORS_G760A=y +CONFIG_SENSORS_LM75=y +# CONFIG_USB_SUPPORT is not set +CONFIG_XFS_FS=y diff --git a/target/linux/orion/harddisk/config-3.3 b/target/linux/orion/harddisk/config-3.3 new file mode 100644 index 0000000000..a566aa537e --- /dev/null +++ b/target/linux/orion/harddisk/config-3.3 @@ -0,0 +1,28 @@ +CONFIG_ATA=y +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_SD=y +CONFIG_CRC16=y +# CONFIG_DM_CRYPT is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_SNAPSHOT is not set +CONFIG_EXT4_FS=y +CONFIG_FS_MBCACHE=y +CONFIG_JBD2=y +CONFIG_MD=y +CONFIG_MD_AUTODETECT=y +CONFIG_MD_LINEAR=y +# CONFIG_MD_MULTIPATH is not set +CONFIG_MD_RAID0=y +CONFIG_MD_RAID1=y +# CONFIG_MD_RAID10 is not set +# CONFIG_MD_RAID456 is not set +CONFIG_NLS=y +CONFIG_SATA_MV=y +CONFIG_SCSI=y +CONFIG_SCSI_MOD=y +CONFIG_USB=y +CONFIG_USB_COMMON=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_STORAGE=y diff --git a/target/linux/orion/patches-3.3/100-wrt350nv2_openwrt_partition_map.patch b/target/linux/orion/patches-3.3/100-wrt350nv2_openwrt_partition_map.patch new file mode 100644 index 0000000000..5e2dc25141 --- /dev/null +++ b/target/linux/orion/patches-3.3/100-wrt350nv2_openwrt_partition_map.patch @@ -0,0 +1,32 @@ +--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c ++++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c +@@ -134,11 +134,11 @@ static struct mtd_partition wrt350n_v2_n + { + .name = "kernel", + .offset = 0x00000000, +- .size = 0x00760000, ++ .size = 0x00100000, // change to kernel mtd size here (1/3) + }, { + .name = "rootfs", +- .offset = 0x001a0000, +- .size = 0x005c0000, ++ .offset = 0x00100000, // change to kernel mtd size here (2/3) ++ .size = 0x00650000, // adopt to kernel mtd size here (3/3) = 0x00750000 - + }, { + .name = "lang", + .offset = 0x00760000, +@@ -151,6 +151,14 @@ static struct mtd_partition wrt350n_v2_n + .name = "u-boot", + .offset = 0x007c0000, + .size = 0x00040000, ++ }, { ++ .name = "eRcOmM_do_not_touch", ++ .offset = 0x00750000, ++ .size = 0x00010000, // erasesize ++ }, { ++ .name = "image", // for sysupgrade ++ .offset = 0x00000000, ++ .size = 0x00750000, + }, + }; + diff --git a/target/linux/orion/patches-3.3/101-wnr854t_partition_map.patch b/target/linux/orion/patches-3.3/101-wnr854t_partition_map.patch new file mode 100644 index 0000000000..9757d45784 --- /dev/null +++ b/target/linux/orion/patches-3.3/101-wnr854t_partition_map.patch @@ -0,0 +1,13 @@ +--- a/arch/arm/mach-orion5x/wnr854t-setup.c ++++ b/arch/arm/mach-orion5x/wnr854t-setup.c +@@ -66,6 +66,10 @@ static struct mtd_partition wnr854t_nor_ + .name = "uboot", + .offset = 0x00760000, + .size = 0x00040000, ++ }, { ++ .name = "image", // for sysupgrade ++ .offset = 0x00000000, ++ .size = 0x00760000, + }, + }; + diff --git a/target/linux/orion/patches-3.3/200-dt2_board_support.patch b/target/linux/orion/patches-3.3/200-dt2_board_support.patch new file mode 100644 index 0000000000..91909abac0 --- /dev/null +++ b/target/linux/orion/patches-3.3/200-dt2_board_support.patch @@ -0,0 +1,26 @@ +--- a/arch/arm/mach-orion5x/Kconfig ++++ b/arch/arm/mach-orion5x/Kconfig +@@ -16,6 +16,13 @@ config MACH_RD88F5182 + Say 'Y' here if you want your kernel to support the + Marvell Orion-NAS (88F5182) RD2 + ++config MACH_DT2 ++ bool "Freecom DataTank Gateway" ++ select I2C_BOARDINFO ++ help ++ Say 'Y' here if you want your kernel to support the ++ Freecom DataTank Gateway ++ + config MACH_KUROBOX_PRO + bool "KuroBox Pro" + select I2C_BOARDINFO +--- a/arch/arm/mach-orion5x/Makefile ++++ b/arch/arm/mach-orion5x/Makefile +@@ -18,6 +18,7 @@ obj-$(CONFIG_MACH_BIGDISK) += d2net-setu + obj-$(CONFIG_MACH_NET2BIG) += net2big-setup.o + obj-$(CONFIG_MACH_MSS2) += mss2-setup.o + obj-$(CONFIG_MACH_WNR854T) += wnr854t-setup.o ++obj-$(CONFIG_MACH_DT2) += dt2-setup.o + obj-$(CONFIG_MACH_RD88F5181L_GE) += rd88f5181l-ge-setup.o + obj-$(CONFIG_MACH_RD88F5181L_FXO) += rd88f5181l-fxo-setup.o + obj-$(CONFIG_MACH_RD88F6183AP_GE) += rd88f6183ap-ge-setup.o diff --git a/target/linux/orion/patches-3.3/300-dns323_partition_map.patch b/target/linux/orion/patches-3.3/300-dns323_partition_map.patch new file mode 100644 index 0000000000..6eab81fd57 --- /dev/null +++ b/target/linux/orion/patches-3.3/300-dns323_partition_map.patch @@ -0,0 +1,30 @@ +--- a/arch/arm/mach-orion5x/dns323-setup.c ++++ b/arch/arm/mach-orion5x/dns323-setup.c +@@ -113,6 +113,13 @@ subsys_initcall(dns323_pci_init); + * 0x00020000-0x001a0000 : "Linux Kernel" + * 0x001a0000-0x007d0000 : "File System" + * 0x007d0000-0x00800000 : "u-boot" ++ * ++ * Layout as used by OpenWrt ++ * 0x00000000-0x00010000 : "MTD1" ++ * 0x00010000-0x00020000 : "MTD2" ++ * 0x00020000-0x001a0000 : "kernel" ++ * 0x001a0000-0x007d0000 : "rootfs" ++ * 0x007d0000-0x00800000 : "u-boot" + */ + + #define DNS323_NOR_BOOT_BASE 0xf4000000 +@@ -128,11 +135,11 @@ static struct mtd_partition dns323_parti + .size = 0x00010000, + .offset = 0x00010000, + }, { +- .name = "Linux Kernel", ++ .name = "kernel", + .size = 0x00180000, + .offset = 0x00020000, + }, { +- .name = "File System", ++ .name = "rootfs", + .size = 0x00630000, + .offset = 0x001A0000, + }, { diff --git a/target/linux/orion/patches-3.3/400-fix-section-mismatch-warnings.patch b/target/linux/orion/patches-3.3/400-fix-section-mismatch-warnings.patch new file mode 100644 index 0000000000..84ca91f0a5 --- /dev/null +++ b/target/linux/orion/patches-3.3/400-fix-section-mismatch-warnings.patch @@ -0,0 +1,31 @@ +--- a/arch/arm/mach-orion5x/common.c ++++ b/arch/arm/mach-orion5x/common.c +@@ -192,7 +192,7 @@ void __init orion5x_init_early(void) + + int orion5x_tclk; + +-int __init orion5x_find_tclk(void) ++static __init int orion5x_find_tclk(void) + { + u32 dev, rev; + +@@ -204,7 +204,7 @@ int __init orion5x_find_tclk(void) + return 166666667; + } + +-static void orion5x_timer_init(void) ++static __init void orion5x_timer_init(void) + { + orion5x_tclk = orion5x_find_tclk(); + +--- a/arch/arm/mach-orion5x/addr-map.c ++++ b/arch/arm/mach-orion5x/addr-map.c +@@ -76,7 +76,7 @@ static int __init cpu_win_can_remap(cons + /* + * Description of the windows needed by the platform code + */ +-static struct __initdata orion_addr_map_cfg addr_map_cfg = { ++static struct orion_addr_map_cfg addr_map_cfg __initdata = { + .num_wins = 8, + .cpu_win_can_remap = cpu_win_can_remap, + .bridge_virt_base = ORION5X_BRIDGE_VIRT_BASE, diff --git a/target/linux/orion/patches-3.3/a01-dt2-fixes-for-3.3.patch b/target/linux/orion/patches-3.3/a01-dt2-fixes-for-3.3.patch new file mode 100644 index 0000000000..c101f142da --- /dev/null +++ b/target/linux/orion/patches-3.3/a01-dt2-fixes-for-3.3.patch @@ -0,0 +1,34 @@ +--- a/arch/arm/mach-orion5x/dt2-setup.c ++++ b/arch/arm/mach-orion5x/dt2-setup.c +@@ -146,7 +146,7 @@ void __init dt2_pci_preinit(void) + } + } + +-static int __init dt2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) ++static int __init dt2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) + { + int irq; + +@@ -383,8 +383,7 @@ __tagtable(ATAG_MV_UBOOT, parse_tag_dt2_ + * + * Vanilla kernel should use "tag_fixup_mem32" function. + */ +-void __init openwrt_fixup(struct machine_desc *mdesc, struct tag *t, +- char **from, struct meminfo *meminfo) ++void __init openwrt_fixup(struct tag *t, char **from, struct meminfo *meminfo) + { + char *p = NULL; + static char openwrt_init_tag[] __initdata = " init=/etc/preinit"; +@@ -437,10 +436,11 @@ void __init openwrt_fixup(struct machine + /* Warning: Freecom uses their own custom bootloader with mach-type (=1500) */ + MACHINE_START(DT2, "Freecom DataTank Gateway") + /* Maintainer: Zintis Petersons */ +- .boot_params = 0x00000100, ++ .atag_offset = 0x100, + .init_machine = dt2_init, + .map_io = orion5x_map_io, + .init_irq = orion5x_init_irq, + .timer = &orion5x_timer, + .fixup = openwrt_fixup, //tag_fixup_mem32, ++ .restart = orion5x_restart, + MACHINE_END