From 57b447281dbe7afa5a10d3af20c8081cad575246 Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Wed, 11 Mar 2015 12:20:03 +0000 Subject: [PATCH] ppc44x: use the mtdsplit framework for the Taishan Signed-off-by: Imre Kaloz SVN-Revision: 44652 --- target/linux/ppc44x/config-3.18 | 30 +++++++++++-------- target/linux/ppc44x/image/Makefile | 4 +-- .../patches-3.18/100-openwrt_flashmap.patch | 13 ++++---- .../110-openwrt_dts_cmdline.patch | 4 +-- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/target/linux/ppc44x/config-3.18 b/target/linux/ppc44x/config-3.18 index 41ea21d97f..b18edbf93f 100644 --- a/target/linux/ppc44x/config-3.18 +++ b/target/linux/ppc44x/config-3.18 @@ -11,13 +11,17 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y CONFIG_ARCH_HAS_ILOG2_U32=y +CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_WALK_MEMORY=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +# CONFIG_ARCH_RANDOM is not set +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y @@ -51,6 +55,7 @@ CONFIG_GENERIC_BUG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CMOS_UPDATE=y +# CONFIG_GENERIC_CSUM is not set CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW_LEVEL=y @@ -69,14 +74,16 @@ CONFIG_GPIOLIB=y CONFIG_GPIO_DEVRES=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y +CONFIG_HAS_IOPORT_MAP=y # CONFIG_HAS_RAPIDIO is not set # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_TRACEHOOK=y # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_HAVE_DYNAMIC_FTRACE=y @@ -85,9 +92,9 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set -CONFIG_HAVE_GENERIC_HARDIRQS=y CONFIG_HAVE_IDE=y CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MEMBLOCK_NODE_MAP=y @@ -124,6 +131,7 @@ CONFIG_IRQ_WORK=y CONFIG_ISA_DMA_API=y # CONFIG_KATMAI is not set CONFIG_KERNEL_START=0xc0000000 +CONFIG_LIBFDT=y CONFIG_LOWMEM_SIZE=0x30000000 # CONFIG_MATH_EMULATION is not set # CONFIG_MMIO_NVRAM is not set @@ -133,8 +141,8 @@ CONFIG_MODULES_USE_ELF_RELA=y # CONFIG_MPIC_WEIRD is not set CONFIG_MTD_CFI_ADV_OPTIONS=y # CONFIG_MTD_CFI_GEOMETRY is not set -CONFIG_MTD_OF_PARTS=y -CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_SPLIT_FIRMWARE=y +CONFIG_MTD_SPLIT_UIMAGE_FW=y CONFIG_NEED_DMA_MAP_STATE=y # CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set CONFIG_NEED_PER_CPU_KM=y @@ -144,7 +152,7 @@ CONFIG_NOT_COHERENT_CACHE=y CONFIG_NR_IRQS=512 CONFIG_OF=y CONFIG_OF_ADDRESS=y -CONFIG_OF_DEVICE=y +CONFIG_OF_ADDRESS_PCI=y CONFIG_OF_EARLY_FLATTREE=y CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO=y @@ -153,6 +161,7 @@ CONFIG_OF_MTD=y CONFIG_OF_NET=y CONFIG_OF_PCI=y CONFIG_OF_PCI_IRQ=y +CONFIG_OF_RESERVED_MEM=y CONFIG_OLD_SIGACTION=y CONFIG_OLD_SIGSUSPEND=y CONFIG_PAGEFLAGS_EXTENDED=y @@ -166,10 +175,10 @@ CONFIG_PCI_MSI=y CONFIG_PHYSICAL_START=0x00000000 CONFIG_PHYS_64BIT=y CONFIG_PHYS_ADDR_T_64BIT=y -# CONFIG_POWERNV_MSI is not set CONFIG_PPC=y CONFIG_PPC32=y CONFIG_PPC44x_SIMPLE=y +# CONFIG_PPC4xx_HSTA_MSI is not set CONFIG_PPC4xx_MSI=y # CONFIG_PPC4xx_OCM is not set CONFIG_PPC4xx_PCI_EXPRESS=y @@ -186,7 +195,7 @@ CONFIG_PPC_ADV_DEBUG_REGS=y # CONFIG_PPC_BOOK3S_32 is not set # CONFIG_PPC_CELL is not set # CONFIG_PPC_CELL_NATIVE is not set -# CONFIG_PPC_CLOCK is not set +# CONFIG_PPC_COPRO_BASE is not set CONFIG_PPC_DCR=y # CONFIG_PPC_DCR_MMIO is not set CONFIG_PPC_DCR_NATIVE=y @@ -209,13 +218,12 @@ CONFIG_PPC_PCI_CHOICE=y # CONFIG_PPC_RTAS is not set CONFIG_PPC_UDBG_16550=y CONFIG_PPC_WERROR=y -# CONFIG_PPC_WSP is not set # CONFIG_PPC_XICS is not set # CONFIG_PQ2ADS is not set # CONFIG_PREEMPT_RCU is not set -CONFIG_PROC_DEVICETREE=y CONFIG_PTE_64BIT=y # CONFIG_RAINIER is not set +CONFIG_RAS=y # CONFIG_RCU_STALL_COMMON is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y # CONFIG_SAM440EP is not set @@ -232,8 +240,6 @@ CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_TAISHAN=y CONFIG_TASK_SIZE=0xc0000000 CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_UIDGID_CONVERTED=y -CONFIG_USB_ARCH_HAS_XHCI=y CONFIG_USB_SUPPORT=y # CONFIG_WARP is not set CONFIG_WORD_SIZE=32 diff --git a/target/linux/ppc44x/image/Makefile b/target/linux/ppc44x/image/Makefile index d4b1260fe1..b0513af788 100644 --- a/target/linux/ppc44x/image/Makefile +++ b/target/linux/ppc44x/image/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2007-2010 OpenWrt.org +# Copyright (C) 2007-2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -31,7 +31,7 @@ endef define Image/Build/squashfs $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) ( \ - dd if=$(KDIR)/cuImage.taishan bs=2048k conv=sync; \ + dd if=$(KDIR)/cuImage.taishan bs=256k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=256k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-taishan-$(1).img ( \ diff --git a/target/linux/ppc44x/patches-3.18/100-openwrt_flashmap.patch b/target/linux/ppc44x/patches-3.18/100-openwrt_flashmap.patch index 471e686d32..5a0295ea7b 100644 --- a/target/linux/ppc44x/patches-3.18/100-openwrt_flashmap.patch +++ b/target/linux/ppc44x/patches-3.18/100-openwrt_flashmap.patch @@ -1,19 +1,18 @@ --- a/arch/powerpc/boot/dts/taishan.dts +++ b/arch/powerpc/boot/dts/taishan.dts -@@ -195,15 +195,15 @@ +@@ -194,16 +194,12 @@ + #address-cells = <1>; #size-cells = <1>; partition@0 { - label = "kernel"; +- label = "kernel"; - reg = <0x0 0x180000>; -+ reg = <0x0 0x200000>; ++ label = "firmware"; ++ reg = <0x0 0x3e00000>; }; - partition@180000 { - label = "root"; - reg = <0x180000 0x200000>; -+ partition@200000 { -+ label = "rootfs"; -+ reg = <0x200000 0x3c00000>; - }; +- }; - partition@380000 { - label = "user"; - reg = <0x380000 0x3bc0000>; diff --git a/target/linux/ppc44x/patches-3.18/110-openwrt_dts_cmdline.patch b/target/linux/ppc44x/patches-3.18/110-openwrt_dts_cmdline.patch index e61943014c..bcf18718e9 100644 --- a/target/linux/ppc44x/patches-3.18/110-openwrt_dts_cmdline.patch +++ b/target/linux/ppc44x/patches-3.18/110-openwrt_dts_cmdline.patch @@ -1,9 +1,9 @@ --- a/arch/powerpc/boot/dts/taishan.dts +++ b/arch/powerpc/boot/dts/taishan.dts -@@ -423,5 +423,6 @@ +@@ -419,5 +419,6 @@ chosen { linux,stdout-path = "/plb/opb/serial@40000300"; -+ bootargs = "console=ttyS1,115200 root=/dev/mtdblock1 rootfstype=squashfs noinitrd"; ++ bootargs = "rootfstype=squashfs noinitrd"; }; }; -- 2.25.1