diff options
author | Stephan Linz <linz@li-pro.net> | 2011-03-29 09:01:03 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2011-04-14 09:08:13 +0200 |
commit | 5dd27e8eb09c19d36686f8f09e93dc3563e78734 (patch) | |
tree | 4c3acd39f3f34ca87eb0753491da38f86e64dc80 /platforms | |
parent | b583d35beb7c27164de336e8a32dca4e93992b2a (diff) | |
download | ptxdist-5dd27e8eb09c19d36686f8f09e93dc3563e78734.tar.gz ptxdist-5dd27e8eb09c19d36686f8f09e93dc3563e78734.tar.xz |
V3: add Xilinx MicroBlaze architecture
This is support for Xilinx MicroBlaze processors. MicroBlaze
is a soft core processor designed for Xilinx FPGAs. With this
new architecture ptxdist have to handle dynamic platform
configurations exported by Xilinx design tools.
Some essential changes and extensions inside a few ptxdist core
scripts were made to merge external platform configurations into
the ptxdist platform configuration. That is very important since
the resulting build process have to know about the real CPU
features like hardware multiplier, barrel shifter or similar high
performance accelerators.
So ptxdist knows about this specialty, parse the new platform
directory "xlbsp" and use the content for its own platform
configuration. The content of the new platform directory "xlbsp"
comes from Xilinx design tools and have to be:
* auto-config.in (Linux Kernel 2.4 configuration)
* Kconfig.auto (Linux Kernel 2.6 configuration)
* xilinx.dts (Linux Kernel 2.6 configuration)
* config.mk (U-Boot configuration)
* xparameters.h (U-Boot configuration)
Signed-off-by: Stephan Linz <linz@li-pro.net>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'platforms')
-rw-r--r-- | platforms/architecture.in | 9 | ||||
-rw-r--r-- | platforms/kernel.in | 5 | ||||
-rw-r--r-- | platforms/microblaze.in | 36 | ||||
-rw-r--r-- | platforms/xlbsp_softcpu.in | 25 |
4 files changed, 74 insertions, 1 deletions
diff --git a/platforms/architecture.in b/platforms/architecture.in index 0105e834f..dd6b67ac0 100644 --- a/platforms/architecture.in +++ b/platforms/architecture.in @@ -71,6 +71,13 @@ choice help This is support for the SPARC architecture. + config ARCH_MICROBLAZE + bool "microblaze " + select HAS_MMU + select ARCH_SUPPORTS_ENDIAN_BIG + help + This is support for the Xilinx MicroBlaze architecture (with MMU). + config ARCH_MIPS bool "mips " select HAS_MMU @@ -256,6 +263,7 @@ config ARCH_STRING default "m68k" if ARCH_M68K default "ppc" if ARCH_PPC default "sparc" if ARCH_SPARC + default "microblaze" if ARCH_MICROBLAZE default "mips" if ARCH_MIPS default "cris" if ARCH_CRIS default "parisc" if ARCH_PARISC @@ -263,6 +271,7 @@ config ARCH_STRING # ---------------------------------------------------------------------------- +source "generated/microblaze_options.in" source "generated/architecture_options.in" endmenu diff --git a/platforms/kernel.in b/platforms/kernel.in index 476bddeb3..be89a8587 100644 --- a/platforms/kernel.in +++ b/platforms/kernel.in @@ -83,6 +83,7 @@ config KERNEL_ARCH_STRING default "blackfin" if ARCH_BLACKFIN default "m68k" if ARCH_M68K default "sparc" if ARCH_SPARC + default "microblaze" if ARCH_MICROBLAZE default "mips" if ARCH_MIPS default "mips" if ARCH_MIPSEL default "cris" if ARCH_CRIS @@ -142,6 +143,7 @@ choice help This is the target to get the kernel image as an raw uncompressed binary file. + config KERNEL_IMAGE_SIMPLE bool prompt "simpleImage" @@ -182,7 +184,8 @@ config KERNEL_IMAGE default "vmImage" if KERNEL_IMAGE_VM default "vmlinux" if KERNEL_IMAGE_VMLINUX default "Image" if KERNEL_IMAGE_RAW - default "simpleImage.${PTXCONF_KERNEL_IMAGE_SIMPLE_TARGET}.elf" if KERNEL_IMAGE_SIMPLE + default "simpleImage.${PTXCONF_KERNEL_IMAGE_SIMPLE_TARGET}.elf" if KERNEL_IMAGE_SIMPLE && KERNEL_ARCH_POWERPC + default "simpleImage.${PTXCONF_KERNEL_IMAGE_SIMPLE_TARGET}" if KERNEL_IMAGE_SIMPLE && ARCH_MICROBLAZE config KERNEL_XZ prompt "build xz-utils hosttool" diff --git a/platforms/microblaze.in b/platforms/microblaze.in new file mode 100644 index 000000000..e5c979387 --- /dev/null +++ b/platforms/microblaze.in @@ -0,0 +1,36 @@ +## SECTION=microblaze_options + +menu "microblaze options " +depends on ARCH_MICROBLAZE + +config ARCH_MICROBLAZE_HAVE_XLBSP + prompt "Xilinx BSP (TPOS)" + bool + default y + help + The Xilinx BSP (shortly "xlbsp") is part of a specific OSELAS.BSP() + and consits of different automatically generated files from the + Xilinx FPGA design. All files for the xlbsp have to be copied from + Xilinx FPGA design project into the OSELAS.BSP() platforms directory + ${PTXDIST_PLATFORMCONFIGDIR}/platforms/xlbsp. Then make a link in + OSELAS.BSP() platforms directory: + + xlbsp_softcpu.in -> xlbsp/Kconfig.auto + + You have to copy all auto generated files from Xilinx BSP "Third + Party OS (TPOS)" to xlbsp in your OSELAS.BSP(). To get TPOS you have + to include the EDK user repository from MB-Ref into your Xilinx FPGA + design flow. + + See: http://gitorious.org/mbref/mbref + or: http://www.li-pro.de/xilinx_mb/mbref/start + +if ARCH_MICROBLAZE_HAVE_XLBSP + +menu "SoftCPU features" +source "generated/xlbsp_softcpu.in" +endmenu + +endif + +endmenu diff --git a/platforms/xlbsp_softcpu.in b/platforms/xlbsp_softcpu.in new file mode 100644 index 000000000..a8f6b9633 --- /dev/null +++ b/platforms/xlbsp_softcpu.in @@ -0,0 +1,25 @@ +## SECTION=xlbsp_softcpu + +comment "------------------------------------" +comment "Xilinx BSP Configuration" +comment "------------------------------------" +comment "" +comment "Do you missing configuration?" +comment "" +comment "You need the file 'Kconfig.auto'" +comment "from your Xilinx BSP directory." +comment "" +comment "Copy this file into the Xilinx BSP" +comment "configuration path, normaly at:" +comment "'${PTXDIST_WORKSPACE}/platforms/xlbsp' or" +comment "'${PTXDIST_PLATFORMCONFIGDIR}/platforms/xlbsp'." +comment "" +comment "HINT: In some cases, the 'SECTION'" +comment "comment in Kconfig.auto is missing." +comment "This leads to the same error. If so" +comment "adding the comment line on top of" +comment "the file Kconfig.auto:" +comment "" +comment "## SECTION=xlbsp_softcpu" +comment "" +comment "------------------------------------" |