Commit 442c0e02 authored by Oleg Dzhimiev's avatar Oleg Dzhimiev

added elphel393 MACHINE

parent 9322fbbc
#@TYPE: Machine
#@NAME: elphel393
#@DESCRIPTION: Machine support for elphel393.
# http://www.elphel.com/
# Versions corresponding to zedboard documentation
PREFERRED_VERSION_linux-xlnx ?= "3.8%"
PREFERRED_VERSION_u-boot-xlnx ?= "v2013.01%"
require conf/machine/include/tune-zynq.inc
# Zedboard machine definition known by Xilinx UBOOT
UBOOT_MACHINE = "elphel393_config"
SERIAL_CONSOLE = "115200 ttyPS0"
\ No newline at end of file
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_FSTYPES ?= "ext2.gz.u-boot"
IMAGE_CLASSES += "image_types_uboot"
# U-Boot Configuration
PREFERRED_PROVIDER_u-boot ?= "u-boot-xlnx"
PREFERRED_VERSION_u-boot-xlnx ?= "v2013.01%"
DESCRIPTION = "Elphel NC 393 image (based on core-image-minimal)."
IMAGE_INSTALL = "packagegroup-core-boot python-core ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
# remove not needed ipkg informations
IMAGE_INSTALL_append = " python-core \
i2c-tools \
mtd-utils \
ethtool \
openssh \
net-tools \
modphp \
apache2 \
php-cli"
IMAGE_LINGUAS = " "
......@@ -8,5 +19,4 @@ LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE = "32768"
IMAGE_ROOTFS_SIZE = "65536"
inherit kernel
# This version extension should match CONFIG_LOCALVERSION in defconfig
LINUX_VERSION_EXTENSION ?= "-xilinx"
require recipes-kernel/linux/linux-yocto.inc
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-xlnx:"
SRC_URI = "git://github.com/Xilinx/linux-xlnx;protocol=git;nocheckout=1"
PR = "r1"
PV = "${LINUX_VERSION}${LINUX_VERSION_EXTENSION}+git${SRCPV}"
# Override COMPATIBLE_MACHINE to include your machine in a bbappend file.
COMPATIBLE_MACHINE = "elphel393"
SRC_URI_append_elphel393 += "file://elphel393_defconfig_${LINUX_VERSION}.cfg \
file://elphel393.dts"
KERNEL_DEVICETREE_elphel393 = "${S}/elphel393.dts"
\ No newline at end of file
/* */
/dts-v1/;
/ {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "xlnx,zynq-zc770";
model = "Xilinx Zynq";
aliases {
ethernet0 = "/amba@0/ps7-ethernet@e000b000";
serial0 = "/amba@0/serial@e0000000";
};
chosen {
bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.0.9 earlyprintk ramdisk_size=65536";
linux,stdout-path = "/axi@0/serial@e0000000";
};
cpus {
#address-cells = <0x1>;
#cpus = <0x2>;
#size-cells = <0x0>;
cpu@0 {
compatible = "xlnx,ps7-cortexa9-1.00.a";
d-cache-line-size = <0x20>;
d-cache-size = <0x8000>;
device_type = "cpu";
i-cache-line-size = <0x20>;
i-cache-size = <0x8000>;
model = "ps7_cortexa9,1.00.a";
reg = <0x0>;
xlnx,cpu-1x-clk-freq-hz = <0x69f6bcb>;
xlnx,cpu-clk-freq-hz = <0x27bc86bf>;
};
cpu@1 {
compatible = "xlnx,ps7-cortexa9-1.00.a";
d-cache-line-size = <0x20>;
d-cache-size = <0x8000>;
device_type = "cpu";
i-cache-line-size = <0x20>;
i-cache-size = <0x8000>;
model = "ps7_cortexa9,1.00.a";
reg = <0x1>;
xlnx,cpu-1x-clk-freq-hz = <0x69f6bcb>;
xlnx,cpu-clk-freq-hz = <0x27bc86bf>;
};
};
pmu {
compatible = "arm,cortex-a9-pmu";
interrupt-parent = <0x1>;
interrupts = <0x0 0x5 0x4 0x0 0x6 0x4>;
reg = <0xf8891000 0x1000 0xf8893000 0x1000>;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x40000000>;
};
amba@0 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "xlnx,ps7-axi-interconnect-1.00.a", "simple-bus";
ranges;
ps7-afi@f8008000 {
compatible = "xlnx,ps7-afi-1.00.a";
reg = <0xf8008000 0x1000>;
};
ps7-afi@f8009000 {
compatible = "xlnx,ps7-afi-1.00.a";
reg = <0xf8009000 0x1000>;
};
ps7-afi@f800a000 {
compatible = "xlnx,ps7-afi-1.00.a";
reg = <0xf800a000 0x1000>;
};
ps7-afi@f800b000 {
compatible = "xlnx,ps7-afi-1.00.a";
reg = <0xf800b000 0x1000>;
};
ps7-ddrc@f8006000 {
compatible = "xlnx,ps7-ddrc-1.00.a", "xlnx,ps7-ddrc";
reg = <0xf8006000 0x1000>;
xlnx,has-ecc = <0x0>;
};
ps7-dev-cfg@f8007000 {
compatible = "xlnx,ps7-dev-cfg-1.00.a";
interrupt-parent = <0x1>;
interrupts = <0x0 0x8 0x4>;
reg = <0xf8007000 0x1000>;
};
ps7-dma@f8003000 {
#dma-cells = <0x1>;
#dma-channels = <0x8>;
#dma-requests = <0x4>;
arm,primecell-periphid = <0x41330>;
compatible = "xlnx,ps7-dma-1.00.a", "arm,primecell", "arm,pl330";
interrupt-parent = <0x1>;
interrupts = <0x0 0xd 0x4 0x0 0xe 0x4 0x0 0xf 0x4 0x0 0x10 0x4 0x0 0x11 0x4 0x0 0x28 0x4 0x0 0x29 0x4 0x0 0x2a 0x4 0x0 0x2b 0x4>;
reg = <0xf8003000 0x1000>;
};
ps7-ethernet@e000b000 {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "xlnx,ps7-ethernet-1.00.a";
interrupt-parent = <0x1>;
interrupts = <0x0 0x16 0x1>;
local-mac-address = [00 0a 35 00 00 00];
phy-handle = <0x2>;
phy-mode = "rgmii-id";
reg = <0xe000b000 0x1000>;
xlnx,enet-clk-freq-hz = <0x7735940>;
xlnx,enet-reset = <0xffffffff>;
xlnx,enet-slcr-1000mbps-div0 = <0x8>;
xlnx,enet-slcr-1000mbps-div1 = <0x1>;
xlnx,enet-slcr-100mbps-div0 = <0x8>;
xlnx,enet-slcr-100mbps-div1 = <0x5>;
xlnx,enet-slcr-10mbps-div0 = <0x8>;
xlnx,enet-slcr-10mbps-div1 = <0x32>;
xlnx,eth-mode = <0x1>;
xlnx,has-mdio = <0x1>;
xlnx,ptp-enet-clock = <0x69f6bcb>;
mdio {
#address-cells = <0x1>;
#size-cells = <0x0>;
phy@3 {
compatible = "atheros,8035";
device_type = "ethernet-phy";
reg = <0x3>;
linux,phandle = <0x2>;
phandle = <0x2>;
};
};
};
ps7-i2c@e0004000 {
bus-id = <0>;
compatible = "xlnx,ps7-i2c-1.00.a";
i2c-clk = <400000>;
input-clk = <111111114>;
interrupt-parent = <0x1>;
interrupts = < 0 25 4 >;
reg = < 0xe0004000 0x1000 >;
xlnx,has-interrupt = <0x0>;
xlnx,i2c-clk-freq-hz = <0x69f6bcb>;
xlnx,i2c-reset = "";
} ;
ps7-gpio@e000a000 {
#gpio-cells = <0x2>;
compatible = "xlnx,ps7-gpio-1.00.a";
emio-gpio-width = <0x40>;
gpio-controller;
gpio-mask-high = <0xc0000>;
gpio-mask-low = <0xfe81>;
interrupt-parent = <0x1>;
interrupts = <0x0 0x14 0x4>;
reg = <0xe000a000 0x1000>;
};
ps7-iop-bus-config@e0200000 {
compatible = "xlnx,ps7-iop-bus-config-1.00.a";
reg = <0xe0200000 0x1000>;
};
ps7-pl310@f8f02000 {
arm,data-latency = <0x3 0x2 0x2>;
arm,tag-latency = <0x2 0x2 0x2>;
cache-level = <0x2>;
cache-unified;
compatible = "xlnx,ps7-pl310-1.00.a", "arm,pl310-cache";
interrupt-parent = <0x1>;
interrupts = <0x0 0x2 0x4>;
reg = <0xf8f02000 0x1000>;
};
ps7-qspi-linear@fc000000 {
compatible = "xlnx,ps7-qspi-linear-1.00.a";
reg = <0xfc000000 0x1000000>;
xlnx,qspi-clk-freq-hz = <0xe4e1c0>;
};
ps7-ram@0 {
compatible = "xlnx,ps7-ram-1.00.a", "xlnx,ps7-ocm";
reg = <0xfffc0000 0x40000>;
};
ps7-scugic@f8f01000 {
#address-cells = <0x2>;
#interrupt-cells = <0x3>;
#size-cells = <0x1>;
compatible = "xlnx,ps7-scugic-1.00.a", "arm,cortex-a9-gic", "arm,gic";
interrupt-controller;
linux,phandle = <0x1>;
phandle = <0x1>;
reg = <0xf8f01000 0x1000 0xf8f00100 0x100>;
};
ps7-scutimer@f8f00600 {
compatible = "xlnx,ps7-scutimer-1.00.a", "arm,cortex-a9-twd-timer";
interrupt-parent = <0x1>;
interrupts = <0x1 0xd 0x301>;
reg = <0xf8f00600 0x20>;
};
ps7-scuwdt@f8f00620 {
compatible = "xlnx,ps7-scuwdt-1.00.a";
device_type = "watchdog";
interrupt-parent = <0x1>;
interrupts = <0x1 0xe 0x301>;
reg = <0xf8f00620 0xe0>;
};
ps7-sdio@e0100000 {
clock-frequency = <0x7735940>;
compatible = "xlnx,ps7-sdio-1.00.a", "generic-sdhci";
interrupt-parent = <0x1>;
interrupts = <0x0 0x18 0x4>;
reg = <0xe0100000 0x1000>;
xlnx,has-cd = <0x1>;
xlnx,has-power = <0x0>;
xlnx,has-wp = <0x1>;
xlnx,sdio-clk-freq-hz = <0x3f93e10>;
};
ps7-slcr@f8000000 {
compatible = "xlnx,ps7-slcr-1.00.a", "xlnx,zynq-slcr";
reg = <0xf8000000 0x1000>;
clocks {
#address-cells = <0x1>;
#size-cells = <0x0>;
armpll {
#clock-cells = <0x0>;
clock-output-names = "armpll";
clocks = <0x3>;
compatible = "xlnx,zynq-pll";
lockbit = <0x0>;
reg = <0x100 0x110 0x10c>;
};
ddrpll {
#clock-cells = <0x0>;
clock-output-names = "ddrpll";
clocks = <0x3>;
compatible = "xlnx,zynq-pll";
lockbit = <0x1>;
reg = <0x104 0x114 0x10c>;
};
iopll {
#clock-cells = <0x0>;
clock-output-names = "iopll";
clocks = <0x3>;
compatible = "xlnx,zynq-pll";
lockbit = <0x2>;
reg = <0x108 0x118 0x10c>;
};
ps_clk {
#clock-cells = <0x0>;
clock-frequency = <0x1fca055>;
clock-output-names = "ps_clk";
compatible = "fixed-clock";
linux,phandle = <0x3>;
phandle = <0x3>;
};
};
};
ps7-ttc@f8001000 {
compatible = "xlnx,ps7-ttc-1.00.a";
interrupt-parent = <0x1>;
interrupts = <0x0 0xa 0x4 0x0 0xb 0x4 0x0 0xc 0x4>;
reg = <0xf8001000 0x1000>;
};
ps7-smcc@e000e000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "xlnx,ps7-smcc-1.00.a", "xlnx,ps7-smc";
interrupt-parent = <0x1>;
interrupts = < 0 18 4 >;
ranges ;
reg = < 0xe000e000 0x1000 >;
xlnx,addr25 = <0x0>;
xlnx,nor-chip-sel0 = <0x0>;
xlnx,nor-chip-sel1 = <0x0>;
xlnx,sram-chip-sel0 = <0x0>;
xlnx,sram-chip-sel1 = <0x0>;
ps7-nand@e1000000 {
compatible = "xlnx,ps7-nand-1.00.a";
reg = < 0xe1000000 0x1000000 >;
xlnx,nand-clk-freq-hz = <0x5f5e100>;
xlnx,nand-width = <0x8>;
xlnx,nand-cycle-t0 = <0x4>;
xlnx,nand-cycle-t1 = <0x4>;
xlnx,nand-cycle-t2 = <0x1>;
xlnx,nand-cycle-t3 = <0x2>;
xlnx,nand-cycle-t4 = <0x2>;
xlnx,nand-cycle-t5 = <0x2>;
xlnx,nand-cycle-t6 = <0x4>;
#address-cells = <0x1>;
#size-cells = <0x1>;
partition@0 {
label = "nand-main";
reg = <0x0 0x100000>;
};
} ;
} ;
serial@e0000000 {
compatible = "xlnx,ps7-uart-1.00.a", "xlnx,xuartps";
current-speed = <0x1c200>;
device_type = "serial";
interrupt-parent = <0x1>;
interrupts = <0x0 0x1b 0x4>;
port-number = <0x0>;
reg = <0xe0000000 0x1000>;
xlnx,has-modem = <0x0>;
xlnx,uart-clk-freq-hz = <0x2faf080>;
};
ps7-usb@e0002000 {
compatible = "xlnx,ps7-usb-1.00.a";
dr_mode = "host";
interrupt-parent = <0x1>;
interrupts = <0x0 0x15 0x4>;
phy_type = "ulpi";
reg = <0xe0002000 0x1000>;
xlnx,usb-reset = <0xffffffff>;
};
ps7-xadc@f8007100 {
compatible = "xlnx,ps7-xadc-1.00.a";
interrupt-parent = <0x1>;
interrupts = <0x0 0x7 0x4>;
reg = <0xf8007100 0x20>;
};
};
};
This diff is collapsed.
# See include file for common information
include linux-xlnx.inc
# Kernel version and SRCREV correspond to: github.com/Xilinx v14.5 tag
LINUX_VERSION = "3.8"
SRCREV = "6a0bedad60e2bca8d9b50bf81b9895e29e31a6d7"
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment