Commit ab64064d authored by Oleg Dzhimiev's avatar Oleg Dzhimiev
Browse files

initial

parents
Loading
Loading
Loading
Loading

LICENSE

0 → 100644
+1499 −0

File added.

Preview size limit exceeded, changes collapsed.

README

0 → 100644
+119 −0
Original line number Original line Diff line number Diff line
META-EZYNQ
===========

This layer provides an unofficial support for Xilinx Zynq architecture 
as well as evaluation boards.

ezynq-u-boot ...partially duplicates functionality of Xilinx proprietary tool 
that creates fsbl (first stage boot loader) and bootgen (later). 
It does not support secure boot functionality and loading the FPGA (PL) part 
with a bitstream - it is planned to do under the control of the operating system - 
if needed this feature can be implemented using u-boot...

Supported Boards/Machines
=========================

Boards Supported by this layer and sub-layers:
	* Avnet/Digilent MicroZed (Zynq)

Dependencies
============

This layer depends on:

	URI: git://git.openembedded.org/bitbake

	URI: git://git.openembedded.org/openembedded-core
	layers: meta

	(for external toolchains only)
	URI: git://github.com/MentorEmbedded/meta-sourcery.git
	layers: meta-sourcery

	URI: git://github.com/Xilinx/u-boot-xlnx.git;branch=master-next

	URI: git://git.code.sf.net/p/elphel/ezynq

Sub-Layers
==========

This repository contains the meta-elphel layer as well as additional board
specific layers. Each of these board specific layers provide additional
configuration for the associated board. Please refer to the associated README
in each sub-layer for more details.

Note: sub-layers have no dependency between each other, all sub-layers can be
used at the same time without conflicts.

Build Instructions
==================

The following instructions require a Poky installation (or equivalent).

Initialize a build using the 'oe-init-build-env' script in Poky. Once
initialized configure bblayers.conf by adding the 'meta-elphel' layer as
well as any or all of the sub-layers of this repository, e.g.:

	meta-ezynq \
	meta-ezynq/meta-microzed \

To build a specific target BSP configure the associated machine in local.conf:
(See associated sub-layers for available machines and additional details)

	MACHINE ?= "microzed"

Build U-Boot:

	$ bitbake ezynq-u-boot

Once complete the images for the target machine will be available in the output
directory 'tmp/deploy/images'.

Images generated:
	* boot.bin (fsbl is not required to boot)

Booting
=======

Please see the associated README for the target machine, located in the
associated sub-layer.

Configuring External Toolchain
==============================

In order to build with an external toolchain some additional configuration must
be set in the build environments local.conf. The 'meta-sourcery' layer must also
be setup in your bblayers.conf

First configure the use of an external toolchain, including the location to the
toolchain (this example is for a microblazeel toolchain, ensure that you insert
the relevant information for your target machine and target toolchain):

	TCMODE = "external-csl"
	CSL_TARGET_SYS_<machine name> = "microblazeel-xilinx-linux-gnu"
	EXTERNAL_TOOLCHAIN = "<path to toolchain>/microblazeel-xilinx-linux-gnu"
	EXTERNAL_TOOLCHAIN_SYSROOT = "<path to toolchain>/microblazeel-xilinx-linux-gnu/microblazeel-xilinx-linux-gnu/libc"
	INSANE_SKIP_external-sourcery-toolchain-dev += "ldflags"

Additionally the preferred provider for various packages must be configured to
use the external toolchain:

	PREFERRED_PROVIDER_linux-libc-headers = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_linux-libc-headers-dev = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_libgcc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_eglibc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/libc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/libintl = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/libiconv = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_glibc-thread-db = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/linux-libc-headers-dev = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_gdbserver = "external-sourcery-toolchain"

conf/layer.conf

0 → 100644
+12 −0
Original line number Original line Diff line number Diff line
# We have a conf and classes directory, add to BBPATH
BBPATH := "${BBPATH}:${LAYERDIR}"

# We have a packages directory, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
	    ${LAYERDIR}/recipes-*/*/*.bbappend"

# Leaving as is until better understanding
BBFILE_COLLECTIONS += "elphel"
BBFILE_PATTERN_elphel := "^${LAYERDIR}/"
BBFILE_PRIORITY_elphel = "8"
+29 −0
Original line number Original line Diff line number Diff line
DEFAULTTUNE ?= "zynq"
SOC_FAMILY ?= "zynq"

require conf/machine/include/tune-cortexa9.inc
require conf/machine/include/soc-family.inc

TUNEVALID[zynq] = "Zynq"
AVAILTUNES += "zynq"

TUNE_FEATURES_tune-zynq += "${TUNE_FEATURES_tune-armv7a-neon} zynq"
ARMPKGARCH = "${ARMPKGARCH_tune-armv7a-neon}"
PACKAGE_EXTRA_ARCHS_tune-zynq = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} zynq"

# Linux Configuration
PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
PREFERRED_VERSION_linux-xlnx ?= "3.8%"
KERNEL_IMAGETYPE ?= "uImage"

# Set default load address. 
# Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required
KERNEL_EXTRA_ARGS_zynq += "UIMAGE_LOADADDR=0x8000"

# File System Configuration
IMAGE_FSTYPES ?= "cpio ext2 ext2.gz.u-boot ext2.gz"
IMAGE_CLASSES += "image_types_uboot"

# U-Boot Configuration
PREFERRED_PROVIDER_ezynq-u-boot ?= "ezynq"
PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%"

meta-microzed/LICENSE

0 → 100644
+1499 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading