From 2f2ae0205c3377c77e9b213e6e53565557539b2b Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Tue, 29 Jan 2008 00:58:46 +0000 Subject: [PATCH] add basic support for the AMCC PPC405EX Kilauea evaluation board SVN-Revision: 10303 --- target/linux/ppc40x/Makefile | 23 ++ target/linux/ppc40x/config-default | 200 ++++++++++++++++++ target/linux/ppc40x/image/Makefile | 42 ++++ .../001-kilauea_openwrt_flashmap.patch | 26 +++ 4 files changed, 291 insertions(+) create mode 100644 target/linux/ppc40x/Makefile create mode 100644 target/linux/ppc40x/config-default create mode 100644 target/linux/ppc40x/image/Makefile create mode 100644 target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile new file mode 100644 index 0000000000..cd64ea3f65 --- /dev/null +++ b/target/linux/ppc40x/Makefile @@ -0,0 +1,23 @@ +# +# Copyright (C) 2008 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:=ppc40x +BOARDNAME:=AMCC Kilauea +FEATURES:=squashfs + +LINUX_VERSION:=2.6.24 +LINUX_KARCH:=powerpc + +include $(INCLUDE_DIR)/target.mk + +define Target/Description + Build firmware images for the AMCC Kilauea evaluation board +endef + +$(eval $(call BuildTarget)) diff --git a/target/linux/ppc40x/config-default b/target/linux/ppc40x/config-default new file mode 100644 index 0000000000..53746b7b6b --- /dev/null +++ b/target/linux/ppc40x/config-default @@ -0,0 +1,200 @@ +CONFIG_40x=y +# CONFIG_44x is not set +CONFIG_4xx=y +# CONFIG_6xx is not set +# CONFIG_8139TOO is not set +# CONFIG_ADVANCED_OPTIONS is not set +# CONFIG_AGP is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_HAS_ILOG2_U32=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +# CONFIG_ARCH_NO_VIRT_TO_BUS is not set +CONFIG_ARCH_POPULATES_NODE_MAP=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_AUDIT_ARCH=y +CONFIG_BASE_SMALL=0 +CONFIG_BITREVERSE=y +# CONFIG_BOOKE_WDT is not set +CONFIG_BOOT_LOAD=0x00400000 +CONFIG_BOUNCE=y +# CONFIG_BT is not set +CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit" +CONFIG_CMDLINE_BOOL=y +CONFIG_CONSISTENT_SIZE=0x00200000 +CONFIG_CONSISTENT_START=0xff100000 +# CONFIG_CPM2 is not set +# CONFIG_CPU_FREQ is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_DEFAULT_UIMAGE is not set +CONFIG_DEVICE_TREE="" +CONFIG_DEVPORT=y +# CONFIG_E200 is not set +CONFIG_EARLY_PRINTK=y +# CONFIG_EDAC is not set +# CONFIG_EP405 is not set +# CONFIG_FSL_ULI1575 is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +# CONFIG_GENERIC_IOMAP is not set +CONFIG_GENERIC_NVRAM=y +# CONFIG_GENERIC_TBSYNC is not set +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GEN_RTC is not set +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HIBERNATION_UP_POSSIBLE=y +# CONFIG_HIGHMEM is not set +CONFIG_HIGHMEM_START=0xfe000000 +CONFIG_HW_RANDOM=y +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +# CONFIG_I2C is not set +CONFIG_IBM_NEW_EMAC=y +# CONFIG_IBM_NEW_EMAC_DEBUG is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32 +# CONFIG_IBM_NEW_EMAC_RGMII is not set +CONFIG_IBM_NEW_EMAC_RXB=256 +CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256 +CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 +# CONFIG_IBM_NEW_EMAC_TAH is not set +CONFIG_IBM_NEW_EMAC_TXB=256 +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IDE is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQ_PER_CPU=y +CONFIG_ISA_DMA_API=y +CONFIG_KERNEL_START=0xc0000000 +CONFIG_KILAUEA=y +# CONFIG_LEDS_ALIX is not set +CONFIG_LOWMEM_SIZE=0x30000000 +# CONFIG_MACINTOSH_DRIVERS is not set +# CONFIG_MAKALU is not set +# CONFIG_MATH_EMULATION is not set +# CONFIG_MMIO_NVRAM is not set +# CONFIG_MPIC is not set +# CONFIG_MPIC_WEIRD is not set +CONFIG_MTD=y +# CONFIG_MTD_ABSENT is not set +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLOCK2MTD is not set +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_AMDSTD=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_GEOMETRY is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_CFI_INTELEXT is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +CONFIG_MTD_CHAR=y +# CONFIG_MTD_CMDLINE_PARTS is not set +CONFIG_MTD_COMPLEX_MAPPINGS=y +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_GEN_PROBE=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_OTP is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_PCI is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PLATRAM is not set +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_NATSEMI is not set +# CONFIG_NE2K_PCI is not set +# CONFIG_NET_VENDOR_3COM is not set +CONFIG_NOT_COHERENT_CACHE=y +# CONFIG_NVRAM is not set +CONFIG_OF=y +CONFIG_OF_DEVICE=y +CONFIG_PCIEAER=y +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIPCWATCHDOG is not set +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_SYSCALL=y +CONFIG_PPC=y +CONFIG_PPC32=y +# CONFIG_PPC64 is not set +# CONFIG_PPC_85xx is not set +# CONFIG_PPC_8xx is not set +# CONFIG_PPC_970_NAP 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_I8259 is not set +# CONFIG_PPC_INDIRECT_IO is not set +CONFIG_PPC_INDIRECT_PCI=y +CONFIG_PPC_MERGE=y +# CONFIG_PPC_MM_SLICES is not set +# CONFIG_PPC_MPC106 is not set +# CONFIG_PPC_MPC5200 is not set +# CONFIG_PPC_MPC52xx is not set +CONFIG_PPC_OF=y +# CONFIG_PPC_RTAS is not set +# CONFIG_PPC_UDBG_16550 is not set +# CONFIG_PQ2ADS is not set +CONFIG_PROC_DEVICETREE=y +CONFIG_RESOURCES_64BIT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_WAIT_SCAN=m +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_EXTENDED=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_SLABINFO=y +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_SOUND is not set +# CONFIG_SPARSEMEM_STATIC is not set +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set +CONFIG_SSB_POSSIBLE=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_TASK_SIZE=0xc0000000 +CONFIG_TICK_ONESHOT=y +# CONFIG_UCC_SLOW is not set +# CONFIG_USB is not set +# CONFIG_USER_NS is not set +# CONFIG_VGASTATE is not set +# CONFIG_VIA_RHINE is not set +# CONFIG_WALNUT is not set +CONFIG_WANT_DEVICE_TREE=y +CONFIG_WORD_SIZE=32 +# CONFIG_XILINX_SYSACE is not set +# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set diff --git a/target/linux/ppc40x/image/Makefile b/target/linux/ppc40x/image/Makefile new file mode 100644 index 0000000000..ce3f136583 --- /dev/null +++ b/target/linux/ppc40x/image/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (C) 2008 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=128k + +define Image/Prepare + cp $(LINUX_DIR)/arch/powerpc/boot/uImage $(KDIR)/uImage + dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/kilauea.dts > $(KDIR)/openwrt-kilauea.dtb +endef + +define Image/BuildKernel + cp $(KDIR)/uImage $(BIN_DIR)/openwrt-$(BOARD)-uImage +endef + +define Image/Build + $(call Image/Build/$(1),$(1)) +endef + +define Image/Build/jffs2-128k + ( \ + dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage bs=1920k conv=sync; \ + dd if=$(KDIR)/openwrt-kilauea.dtb bs=128k conv=sync; \ + dd if=$(KDIR)/root.$(1) bs=128k conv=sync; \ + ) > $(BIN_DIR)/openwrt-$(BOARD)-jffs2.img +endef + +define Image/Build/squashfs + $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) + ( \ + dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage bs=1920k conv=sync; \ + dd if=$(KDIR)/openwrt-kilauea.dtb bs=128k conv=sync; \ + dd if=$(KDIR)/root.$(1) bs=128k conv=sync; \ + ) > $(BIN_DIR)/openwrt-$(BOARD)-$(1).img +endef + +$(eval $(call BuildImage)) diff --git a/target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch b/target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch new file mode 100644 index 0000000000..7c93bb97df --- /dev/null +++ b/target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch @@ -0,0 +1,26 @@ +diff -Nur linux-2.6.24/arch/powerpc/boot/dts/kilauea.dts linux-2.6.24-owrt/arch/powerpc/boot/dts/kilauea.dts +--- linux-2.6.24/arch/powerpc/boot/dts/kilauea.dts 2008-01-29 01:34:30.000000000 +0100 ++++ linux-2.6.24-owrt/arch/powerpc/boot/dts/kilauea.dts 2008-01-29 01:35:01.000000000 +0100 +@@ -138,15 +130,15 @@ + #size-cells = <1>; + partition@0 { + label = "kernel"; +- reg = <0 200000>; ++ reg = <0 1e0000>; + }; +- partition@200000 { +- label = "root"; +- reg = <200000 200000>; ++ partition@1e0000 { ++ label = "device-tree"; ++ reg = <1e0000 20000>; + }; +- partition@400000 { +- label = "user"; +- reg = <400000 3b60000>; ++ partition@200000 { ++ label = "rootfs"; ++ reg = <200000 3d60000>; + }; + partition@3f60000 { + label = "env"; -- 2.25.1