From 5c105d9f3fd086aff195d3849dcf847d6b0bd927 Mon Sep 17 00:00:00 2001 From: blogic Date: Fri, 5 Oct 2012 10:12:53 +0000 Subject: branch Attitude Adjustment git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/ppc44x/Makefile | 26 +++ target/linux/ppc44x/base-files/etc/inittab | 4 + target/linux/ppc44x/config-3.3 | 220 +++++++++++++++++++++ target/linux/ppc44x/image/Makefile | 45 +++++ .../ppc44x/patches-3.3/100-openwrt_flashmap.patch | 56 ++++++ .../patches-3.3/110-openwrt_dts_cmdline.patch | 9 + 6 files changed, 360 insertions(+) create mode 100644 target/linux/ppc44x/Makefile create mode 100644 target/linux/ppc44x/base-files/etc/inittab create mode 100644 target/linux/ppc44x/config-3.3 create mode 100644 target/linux/ppc44x/image/Makefile create mode 100644 target/linux/ppc44x/patches-3.3/100-openwrt_flashmap.patch create mode 100644 target/linux/ppc44x/patches-3.3/110-openwrt_dts_cmdline.patch (limited to 'target/linux/ppc44x') diff --git a/target/linux/ppc44x/Makefile b/target/linux/ppc44x/Makefile new file mode 100644 index 000000000..5f59320b8 --- /dev/null +++ b/target/linux/ppc44x/Makefile @@ -0,0 +1,26 @@ +# +# Copyright (C) 2007-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +ARCH:=powerpc +BOARD:=ppc44x +BOARDNAME:=AMCC/IBM PPC44x +FEATURES:=squashfs broken +CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=440 +MAINTAINER:=Imre Kaloz + +LINUX_VERSION:=3.3.8 + +include $(INCLUDE_DIR)/target.mk + +DEFAULT_PACKAGES := $(filter-out ppp%,$(DEFAULT_PACKAGES)) + +define Target/Description + Build firmware images for AMCC/IBM PPC44x based boards. +endef + +$(eval $(call BuildTarget)) diff --git a/target/linux/ppc44x/base-files/etc/inittab b/target/linux/ppc44x/base-files/etc/inittab new file mode 100644 index 000000000..67c36a6a9 --- /dev/null +++ b/target/linux/ppc44x/base-files/etc/inittab @@ -0,0 +1,4 @@ +::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +ttyS0::askfirst:/bin/ash --login +ttyS1::askfirst:/bin/ash --login diff --git a/target/linux/ppc44x/config-3.3 b/target/linux/ppc44x/config-3.3 new file mode 100644 index 000000000..434b46d74 --- /dev/null +++ b/target/linux/ppc44x/config-3.3 @@ -0,0 +1,220 @@ +# CONFIG_40x is not set +CONFIG_440GX=y +CONFIG_44x=y +CONFIG_460EX=y +CONFIG_4xx=y +CONFIG_4xx_SOC=y +# CONFIG_ADVANCED_OPTIONS is not set +# CONFIG_ARCHES is not set +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_ARCH_HAS_ILOG2_U32=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_NO_VIRT_TO_BUS is not set +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_AUDIT_ARCH=y +# CONFIG_BAMBOO is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BLUESTONE is not set +CONFIG_BOOKE=y +CONFIG_BOUNCE=y +CONFIG_CANYONLANDS=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd" +CONFIG_CMDLINE_BOOL=y +CONFIG_CONSISTENT_SIZE=0x00200000 +CONFIG_DECOMPRESS_LZMA=y +# CONFIG_DEFAULT_UIMAGE is not set +CONFIG_DTC=y +# CONFIG_E200 is not set +CONFIG_EARLY_PRINTK=y +# CONFIG_EBONY is not set +# CONFIG_EIGER is not set +# CONFIG_EPAPR_BOOT is not set +CONFIG_EXTRA_TARGETS="uImage" +# CONFIG_FSL_ULI1575 is not set +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_NVRAM=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_GENERIC_TBSYNC is not set +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GEN_RTC is not set +# CONFIG_GLACIER is not set +CONFIG_GPIOLIB=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +# CONFIG_HAS_RAPIDIO is not set +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +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_WORK=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HW_RANDOM=y +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +CONFIG_IBM_EMAC=y +CONFIG_IBM_EMAC_EMAC4=y +CONFIG_IBM_EMAC_POLL_WEIGHT=32 +CONFIG_IBM_EMAC_RGMII=y +CONFIG_IBM_EMAC_RXB=128 +CONFIG_IBM_EMAC_RX_COPY_THRESHOLD=256 +CONFIG_IBM_EMAC_RX_SKB_HEADROOM=0 +CONFIG_IBM_EMAC_TAH=y +CONFIG_IBM_EMAC_TXB=128 +CONFIG_IBM_EMAC_ZMII=y +# CONFIG_ICON is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IOMMU_HELPER=y +# CONFIG_IPIC is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_ISA_DMA_API=y +# CONFIG_KATMAI is not set +CONFIG_KERNEL_START=0xc0000000 +CONFIG_LOWMEM_SIZE=0x30000000 +# CONFIG_MATH_EMULATION is not set +CONFIG_MAX_ACTIVE_REGIONS=32 +# CONFIG_MMIO_NVRAM is not set +# CONFIG_MPIC is not set +# CONFIG_MPIC_U3_HT_IRQS is not set +# 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_NEED_DMA_MAP_STATE=y +# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEED_SG_DMA_LENGTH=y +# CONFIG_NONSTATIC_KERNEL is not set +CONFIG_NOT_COHERENT_CACHE=y +CONFIG_NR_IRQS=512 +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DEVICE=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xc0000000 +CONFIG_PCI=y +CONFIG_PCIEAER=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCI_DISABLE_COMMON_QUIRKS=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_MSI=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PHYS_64BIT=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PPC=y +CONFIG_PPC32=y +CONFIG_PPC44x_SIMPLE=y +CONFIG_PPC4xx_MSI=y +CONFIG_PPC4xx_PCI_EXPRESS=y +# CONFIG_PPC64 is not set +# CONFIG_PPC_47x is not set +# CONFIG_PPC_85xx is not set +# CONFIG_PPC_8xx is not set +# CONFIG_PPC_970_NAP is not set +CONFIG_PPC_ADV_DEBUG_DACS=2 +CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y +CONFIG_PPC_ADV_DEBUG_DVCS=2 +CONFIG_PPC_ADV_DEBUG_IACS=4 +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_DCR=y +# CONFIG_PPC_DCR_MMIO is not set +CONFIG_PPC_DCR_NATIVE=y +# CONFIG_PPC_EARLY_DEBUG is not set +# CONFIG_PPC_EPAPR_HV_PIC is not set +CONFIG_PPC_FPU=y +# CONFIG_PPC_I8259 is not set +# CONFIG_PPC_ICP_HV is not set +# CONFIG_PPC_ICP_NATIVE is not set +# CONFIG_PPC_ICS_RTAS is not set +CONFIG_PPC_INDIRECT_PCI=y +CONFIG_PPC_MMU_NOHASH=y +# CONFIG_PPC_MM_SLICES is not set +# CONFIG_PPC_MPC106 is not set +CONFIG_PPC_MSI_BITMAP=y +CONFIG_PPC_OF=y +# CONFIG_PPC_P7_NAP is not set +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_RWSEM_XCHGADD_ALGORITHM=y +# CONFIG_SAM440EP is not set +CONFIG_SCHED_HRTICK=y +# CONFIG_SCSI_DMA is not set +# CONFIG_SEQUOIA is not set +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FSL=y +# CONFIG_SERIAL_8250_MANY_PORTS is not set +# CONFIG_SERIAL_8250_RSA is not set +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SWIOTLB=y +CONFIG_TAISHAN=y +CONFIG_TASK_SIZE=0xc0000000 +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_SUPPORT=y +# CONFIG_WARP is not set +CONFIG_WORD_SIZE=32 +# CONFIG_XILINX_SYSACE is not set +# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set +CONFIG_XZ_DEC=y +# CONFIG_YOSEMITE is not set diff --git a/target/linux/ppc44x/image/Makefile b/target/linux/ppc44x/image/Makefile new file mode 100644 index 000000000..af4b26c53 --- /dev/null +++ b/target/linux/ppc44x/image/Makefile @@ -0,0 +1,45 @@ +# +# 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 + +JFFS2_BLOCKSIZE=256k + +define Image/Prepare + cp $(LINUX_DIR)/arch/powerpc/boot/cuImage.taishan $(KDIR)/uImage + $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/canyonlands.dts > $(KDIR)/openwrt-canyonlands.dtb +endef + +define Image/BuildKernel + cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage +endef + +define Image/Build + $(call Image/Build/$(1),$(1)) +endef + +define Image/Build/jffs2-256k + ( \ + dd if=$(KDIR)/uImage bs=2048k conv=sync; \ + dd if=$(KDIR)/root.$(1) bs=256k conv=sync; \ + ) > $(BIN_DIR)/$(IMG_PREFIX)-jffs2.img +endef + +define Image/Build/squashfs + $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) + ( \ + dd if=$(KDIR)/uImage bs=2048k conv=sync; \ + dd if=$(KDIR)/root.$(1) bs=256k conv=sync; \ + ) > $(BIN_DIR)/$(IMG_PREFIX)-taishan-$(1).img + ( \ + dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage bs=1920k conv=sync; \ + dd if=$(KDIR)/openwrt-canyonlands.dtb bs=128k conv=sync; \ + dd if=$(KDIR)/root.$(1) bs=256k conv=sync; \ + ) > $(BIN_DIR)/$(IMG_PREFIX)-canyonlands-$(1).img +endef + +$(eval $(call BuildImage)) diff --git a/target/linux/ppc44x/patches-3.3/100-openwrt_flashmap.patch b/target/linux/ppc44x/patches-3.3/100-openwrt_flashmap.patch new file mode 100644 index 000000000..471e686d3 --- /dev/null +++ b/target/linux/ppc44x/patches-3.3/100-openwrt_flashmap.patch @@ -0,0 +1,56 @@ +--- a/arch/powerpc/boot/dts/taishan.dts ++++ b/arch/powerpc/boot/dts/taishan.dts +@@ -195,15 +195,15 @@ + #size-cells = <1>; + partition@0 { + label = "kernel"; +- reg = <0x0 0x180000>; ++ reg = <0x0 0x200000>; + }; +- partition@180000 { +- label = "root"; +- reg = <0x180000 0x200000>; ++ partition@200000 { ++ label = "rootfs"; ++ reg = <0x200000 0x3c00000>; + }; +- partition@380000 { +- label = "user"; +- reg = <0x380000 0x3bc0000>; ++ partition@3e00000 { ++ label = "diagnostics"; ++ reg = <0x3e00000 0x140000>; + }; + partition@3f40000 { + label = "env"; +--- a/arch/powerpc/boot/dts/canyonlands.dts ++++ b/arch/powerpc/boot/dts/canyonlands.dts +@@ -222,24 +222,12 @@ + #address-cells = <1>; + #size-cells = <1>; + partition@0 { +- label = "kernel"; +- reg = <0x00000000 0x001e0000>; +- }; +- partition@1e0000 { +- label = "dtb"; +- reg = <0x001e0000 0x00020000>; ++ label = "kernel+dtb"; ++ reg = <0x00000000 0x00200000>; + }; + partition@200000 { +- label = "ramdisk"; +- reg = <0x00200000 0x01400000>; +- }; +- partition@1600000 { +- label = "jffs2"; +- reg = <0x01600000 0x00400000>; +- }; +- partition@1a00000 { +- label = "user"; +- reg = <0x01a00000 0x02560000>; ++ label = "rootfs"; ++ reg = <0x00200000 0x03d60000>; + }; + partition@3f60000 { + label = "env"; diff --git a/target/linux/ppc44x/patches-3.3/110-openwrt_dts_cmdline.patch b/target/linux/ppc44x/patches-3.3/110-openwrt_dts_cmdline.patch new file mode 100644 index 000000000..e61943014 --- /dev/null +++ b/target/linux/ppc44x/patches-3.3/110-openwrt_dts_cmdline.patch @@ -0,0 +1,9 @@ +--- a/arch/powerpc/boot/dts/taishan.dts ++++ b/arch/powerpc/boot/dts/taishan.dts +@@ -423,5 +423,6 @@ + + chosen { + linux,stdout-path = "/plb/opb/serial@40000300"; ++ bootargs = "console=ttyS1,115200 root=/dev/mtdblock1 rootfstype=squashfs noinitrd"; + }; + }; -- cgit v1.2.3