Commit d59603e4 authored by Oleg Dzhimiev's avatar Oleg Dzhimiev

1. updated master to dora branch. 2. images are not operational

parent 1f2cde21
# Utility functions for various Xilinx specific recipes
# Returns a ':' seperated list of expanded '${BBPATH}/$path'
def get_additional_bbpath_filespath(path, d):
board_extrapaths = []
bbpath = d.getVar("BBPATH", True) or ""
for i in bbpath.split(":"):
board_extrapaths.append(os.path.join(i, path))
if len(board_extrapaths):
return ":".join(board_extrapaths) + ":"
return ""
# Add a prefix or suffix to all paths in the list of paths
# e.g. add 'file://' to all paths
def paths_affix(paths, suffix = "", prefix = ""):
if paths:
files=set()
for path in paths.split():
newpath = path
if suffix and len(suffix) != 0:
newpath = newpath + suffix
if prefix and len(prefix) != 0:
newpath = prefix + newpath
files.add(newpath)
if len(files) != 0:
return ' '.join(files)
return ''
# Expand all relative paths to absolute based on the WORKDIR location
def expand_workdir_paths(variable, d):
workdir = d.getVar("WORKDIR", True)
variable_value = d.getVar(variable, True) or ''
if variable_value:
files=set()
for path in variable_value.split():
if workdir:
files.add(os.path.join(workdir, path))
else:
files.add(path)
if len(files) != 0:
return ' '.join(files)
return ''
# Returns a space seperated list of all files which match the extension, joined
# with the dir path.
def expand_dir_basepaths_by_extension(variable, dir, extension, d):
variable_value = d.getVar(variable, True) or ''
if variable_value:
files=set()
for path in variable_value.split():
if os.path.splitext(path)[1] == extension or extension == None:
if dir:
files.add(os.path.join(dir, os.path.basename(path)))
else:
files.add(os.path.basename(path))
if len(files) != 0:
return ' '.join(files)
return ''
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -7,9 +7,12 @@ require conf/machine/include/tune-zynq.inc ...@@ -7,9 +7,12 @@ require conf/machine/include/tune-zynq.inc
# Corresponding from linux-xlnx and ezynq-u-boot # Corresponding from linux-xlnx and ezynq-u-boot
PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%" PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%"
PREFERRED_VERSION_linux-xlnx ?= "3.8%" PREFERRED_VERSION_linux-xlnx ?= "3.10%"
# Zedboard machine definition known by ezynq and xilinx u-boot # Zedboard machine definition known by ezynq and xilinx u-boot
UBOOT_MACHINE = "elphel393_config" UBOOT_MACHINE = "elphel393_config"
SERIAL_CONSOLE = "115200 ttyPS0" SERIAL_CONSOLE = "115200 ttyPS0"
\ No newline at end of file
MACHINE_DEVICETREE := "elphel393/elphel393.dts"
MACHINE_KCONFIG := "common/elphel393_defconfig_${LINUX_VERSION}.cfg"
\ No newline at end of file
...@@ -13,7 +13,7 @@ PACKAGE_EXTRA_ARCHS_tune-zynq = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} zynq" ...@@ -13,7 +13,7 @@ PACKAGE_EXTRA_ARCHS_tune-zynq = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} zynq"
# Linux Configuration # Linux Configuration
PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
PREFERRED_VERSION_linux-xlnx ?= "3.8%" PREFERRED_VERSION_linux-xlnx ?= "3.10%"
KERNEL_IMAGETYPE ?= "uImage" KERNEL_IMAGETYPE ?= "uImage"
# Set default load address. # Set default load address.
# Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required # Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required
......
...@@ -7,9 +7,14 @@ require conf/machine/include/tune-zynq.inc ...@@ -7,9 +7,14 @@ require conf/machine/include/tune-zynq.inc
# Corresponding from linux-xlnx and ezynq-u-boot # Corresponding from linux-xlnx and ezynq-u-boot
PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%" PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%"
PREFERRED_VERSION_linux-xlnx ?= "3.8%" PREFERRED_VERSION_linux-xlnx ?= "3.10%"
# microzed machine definition known by ezynq and xilinx u-boot # microzed machine definition known by ezynq and xilinx u-boot
UBOOT_MACHINE = "zynq_microzed_config" UBOOT_MACHINE = "zynq_microzed_config"
SERIAL_CONSOLE = "115200 ttyPS0" SERIAL_CONSOLE = "115200 ttyPS0"
\ No newline at end of file
MACHINE_DEVICETREE := "microzed/microzed.dts"
#Copy of zedboard's defconfig
MACHINE_KCONFIG := "common/microzed_defconfig_${LINUX_VERSION}.cfg"
...@@ -7,9 +7,14 @@ require conf/machine/include/tune-zynq.inc ...@@ -7,9 +7,14 @@ require conf/machine/include/tune-zynq.inc
# Corresponding from linux-xlnx and ezynq-u-boot # Corresponding from linux-xlnx and ezynq-u-boot
PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%" PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%"
PREFERRED_VERSION_linux-xlnx ?= "3.8%" PREFERRED_VERSION_linux-xlnx ?= "3.10%"
# ZC706 machine definition known by ezynq and xilinx u-boot # ZC706 machine definition known by ezynq and xilinx u-boot
UBOOT_MACHINE = "zynq_zc706_config" UBOOT_MACHINE = "zynq_zc706_config"
SERIAL_CONSOLE = "115200 ttyPS0" SERIAL_CONSOLE = "115200 ttyPS0"
\ No newline at end of file
MACHINE_DEVICETREE := "zc706/zynq_zc706.dts"
#Copy of zedboard's defconfig
MACHINE_KCONFIG := "common/microzed_defconfig_${LINUX_VERSION}.cfg"
\ No newline at end of file
...@@ -7,9 +7,13 @@ require conf/machine/include/tune-zynq.inc ...@@ -7,9 +7,13 @@ require conf/machine/include/tune-zynq.inc
# Corresponding from linux-xlnx and ezynq-u-boot # Corresponding from linux-xlnx and ezynq-u-boot
PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%" PREFERRED_VERSION_ezynq-u-boot ?= "v2013.01%"
PREFERRED_VERSION_linux-xlnx ?= "3.8%" PREFERRED_VERSION_linux-xlnx ?= "3.10%"
# Zedboard machine definition known by ezynq and xilinx u-boot # Zedboard machine definition known by ezynq and xilinx u-boot
UBOOT_MACHINE = "zynq_zed_config" UBOOT_MACHINE = "zynq_zed_config"
SERIAL_CONSOLE = "115200 ttyPS0" SERIAL_CONSOLE = "115200 ttyPS0"
\ No newline at end of file
MACHINE_DEVICETREE := "zedboard/zynq_zed.dts"
MACHINE_KCONFIG := "common/microzed_defconfig_${LINUX_VERSION}.cfg"
\ No newline at end of file
#!/bin/sh
IP="192.168.0.15"
fails=0
semifails=0
tries=0
while true
do
ifconfig eth0 down
ifconfig eth0 up
ping -c 1 -w 10 $IP >/dev/null
rslt=$?
semifails=$((semifails+$rslt))
if [ $rslt != 0 ] ; then
echo "Recovering..."
sleep 5
ping -c 1 -w 10 $IP >/dev/null
rslt=$?
fi
fails=$(($fails+$rslt))
tries=$(($tries+1))
echo "tries: $tries fails: $fails long-up and fails: $semifails"
done
\ No newline at end of file
<?
echo phpinfo();
?>
\ No newline at end of file
#!/usr/bin/python
print '<html><body><div style="font-size:5em"><b>Python works more or less</b></div></body></html>'
\ No newline at end of file
# Support for device tree generation
FILES_kernel-devicetree = "/boot/devicetree*"
OOT_KERNEL_DEVICETREE_FLAGS ?= "-R 8 -p 0x3000"
python __anonymous () {
oot_devicetree = d.getVar("OOT_KERNEL_DEVICETREE", True) or ''
if oot_devicetree:
depends = d.getVar("DEPENDS", True)
d.setVar("DEPENDS", "%s dtc-native" % depends)
packages = d.getVar("PACKAGES", True)
if "kernel-devicetree" not in packages:
d.setVar("PACKAGES", "%s kernel-devicetree" % packages)
}
do_install_append() {
if test -n "${OOT_KERNEL_DEVICETREE}"; then
for DTS_FILE in ${OOT_KERNEL_DEVICETREE}; do
if [ ! -f ${DTS_FILE} ]; then
echo "Warning: ${DTS_FILE} is not available!"
continue
fi
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
dtc -I dts -O dtb ${OOT_KERNEL_DEVICETREE_FLAGS} -o ${DTS_BASE_NAME} ${DTS_FILE}
install -m 0644 ${DTS_BASE_NAME} ${D}/${KERNEL_IMAGEDEST}/devicetree-${DTB_SYMLINK_NAME}.dtb
done
fi
}
do_deploy_append() {
if test -n "${OOT_KERNEL_DEVICETREE}"; then
for DTS_FILE in ${OOT_KERNEL_DEVICETREE}; do
if [ ! -f ${DTS_FILE} ]; then
echo "Warning: ${DTS_FILE} is not available!"
continue
fi
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
install -d ${DEPLOYDIR}
install -m 0644 ${B}/${DTS_BASE_NAME} ${DEPLOYDIR}/${DTB_NAME}.dtb
cd ${DEPLOYDIR}
ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME}.dtb
cd -
done
fi
}
pkg_postinst_kernel-devicetree () {
cd /${KERNEL_IMAGEDEST}
for DTS_FILE in ${OOT_KERNEL_DEVICETREE}
do
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
update-alternatives --install /${KERNEL_IMAGEDEST}/${DTS_BASE_NAME}.dtb ${DTS_BASE_NAME}.dtb devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
done
}
pkg_postrm_kernel-devicetree () {
cd /${KERNEL_IMAGEDEST}
for DTS_FILE in ${OOT_KERNEL_DEVICETREE}
do
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
update-alternatives --remove ${DTS_BASE_NAME}.dtb devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
done
}
\ No newline at end of file
inherit xilinx-utils
# If OOT_KERNEL_DEVICETREE is not set, default to the device tree's provided by
# MACHINE_DEVICETREE
OOT_KERNEL_DEVICETREE ?= "${@expand_dir_basepaths_by_extension("MACHINE_DEVICETREE", os.path.join(d.getVar("WORKDIR", True), 'dts'), '.dts', d)}"
# Appends the '<layer>/conf/machine/boards' path to FILESEXTRAPATHS for all
# layers (using the ${BBPATH})
FILESEXTRAPATHS_append := "${@get_additional_bbpath_filespath('conf/machine/boards:', d)}"
# Using the MACHINE_DEVICETREE and MACHINE_KCONFIG vars, append them to SRC_URI
SRC_URI_append += " \
${@paths_affix(d.getVar("MACHINE_DEVICETREE", True) or '', prefix = 'file://')} \
${@paths_affix(d.getVar("MACHINE_KCONFIG", True) or '', prefix = 'file://')} \
"
# Copy all device tree's into the same directory. This is due to compatibility
# with dtc and the use of DTSI (Device Tree Includes), the version of DTC in
# Yocto does not provide include path support.
do_install_prepend() {
if test -n "${MACHINE_DEVICETREE}"; then
mkdir -p ${WORKDIR}/devicetree
for i in ${MACHINE_DEVICETREE}; do
if test -e ${WORKDIR}/$i; then
cp ${WORKDIR}/$i ${WORKDIR}/devicetree
fi
done
fi
}
\ No newline at end of file
inherit kernel DESCRIPTION = "Xilinx Kernel"
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
# This version extension should match CONFIG_LOCALVERSION in defconfig # This version extension should match CONFIG_LOCALVERSION in defconfig
LINUX_VERSION_EXTENSION ?= "-xilinx" 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}" PV = "${LINUX_VERSION}${LINUX_VERSION_EXTENSION}+git${SRCPV}"
SRC_URI_append += " file://xilinx_nandps_elphel393.patch" KBRANCH ?= "master"
SRC_URI_append += " file://xilinx_emacps_elphel393.patch" SRC_URI = "git://github.com/Xilinx/linux-xlnx;protocol=git;branch=${KBRANCH}"
# MACHINE=elphel393
SRC_URI_append_elphel393 += " file://elphel393_defconfig_${LINUX_VERSION}.cfg \
file://dts/elphel393.dts"
KERNEL_DEVICETREE_elphel393 = "${WORKDIR}/dts/elphel393.dts"
#MACHINE=microzed
#Copy of zedboard's defconfig
SRC_URI_append_microzed += " file://microzed_defconfig_${LINUX_VERSION}.cfg \
file://dts/microzed.dts"
KERNEL_DEVICETREE_microzed = "${WORKDIR}/dts/microzed.dts" # Source Directory
S = "${WORKDIR}/git"
#MACHINE=zedboard FILESEXTRAPATHS_append := "${THISDIR}/linux-xlnx:"
#Copy of zedboard's defconfig SRC_URI_append += " file://xilinx_nandps_elphel393.patch"
SRC_URI_append_zedboard += " file://microzed_defconfig_${LINUX_VERSION}.cfg \ #SRC_URI_append += " file://xilinx_emacps_elphel393.patch"
file://dts/zynq-zed.dts"
KERNEL_DEVICETREE_zedboard = "${WORKDIR}/dts/zynq-zed.dts"
#MACHINE=zc706 inherit kernel
#Copy of zedboard's defconfig require linux-dtb.inc
SRC_URI_append_zc706 += " file://microzed_defconfig_${LINUX_VERSION}.cfg \ require linux-machine-config.inc
file://dts/zynq-zc706.dts"
KERNEL_DEVICETREE_zc706 = "${WORKDIR}/dts/zynq-zc706.dts" # returns all the elements from the src uri that are .cfg files
\ No newline at end of file def find_config_fragments(d):
sources=src_patches(d, True)
sources_list=[]
for s in sources:
if s.endswith('.cfg'):
sources_list.append(s)
return sources_list
kernel_do_configure_prepend() {
# Find all ".cfg" files and cat them together into a .config
CFG_FILES="${@" ".join(find_config_fragments(d))}"
if [ ! -z "$CFG_FILES" ]; then
echo "# Generated by linux-xlnx recipe in meta-xilinx" > "${B}/.config"
for i in $CFG_FILES; do
echo "Joining configuration file $i"
echo "# $i" >> "${B}/.config"
cat $i >> "${B}/.config"
done
fi
}
/* */
/dts-v1/;
/ {
model = "Xilinx Zynq ZC706";
compatible = "xlnx,zynq-zc706";
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x1>;
memory {
device_type = "memory";
reg = <0x00000000 0x40000000>;
};
chosen {
bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=:::::eth0:dhcp earlyprintk ramdisk_size=131072";
linux,stdout-path = "/amba@0/uart@E0001000";
};
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 5 4>, <0 6 4>;
interrupt-parent = <&gic>;
};
amba@0 {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;
gic: intc@f8f01000 {
interrupt-controller;
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>;
reg = <0xf8f01000 0x1000>,
<0xf8f00100 0x0100>;
};
pl310@f8f02000 {
compatible = "arm,pl310-cache";
cache-unified;
cache-level = <2>;
reg = <0xf8f02000 0x1000>;
arm,data-latency = <3 2 2>;
arm,tag-latency = <2 2 2>;
};
ps7_ddrc_0: ps7-ddrc@f8006000 {
compatible = "xlnx,ps7-ddrc-1.00.a", "xlnx,ps7-ddrc";
reg = < 0xf8006000 0x1000 >;
xlnx,has-ecc = <0x0>;
} ;
ps7_ocm_0: ps7-ocm@0xfffc0000 {
compatible = "xlnx,ps7-ocm";
reg = <0xfffc0000 0x40000>; /* 256k */
};
uart@e0001000 {
compatible = "xlnx,ps7-uart-1.00.a";
reg = <0xe0001000 0x1000>;
interrupts = <0 50 4>;
interrupt-parent = <&gic>;
clock = <50000000>;
};
slcr: slcr@f8000000 {
compatible = "xlnx,zynq-slcr";
reg = <0xF8000000 0x1000>;
clocks {
#address-cells = <1>;
#size-cells = <0>;
armpll: armpll {
#clock-cells = <0>;
clock-output-names = "armpll";
clocks = <&ps_clk>;
compatible = "xlnx,zynq-pll";
lockbit = <0>;
reg = < 0x100 0x110 0x10c >;
} ;
ddrpll: ddrpll {
#clock-cells = <0>;
clock-output-names = "ddrpll";
clocks = <&ps_clk>;
compatible = "xlnx,zynq-pll";
lockbit = <1>;
reg = < 0x104 0x114 0x10c >;
} ;
iopll: iopll {
#clock-cells = <0>;
clock-output-names = "iopll";
clocks = <&ps_clk>;
compatible = "xlnx,zynq-pll";
lockbit = <2>;
reg = < 0x108 0x118 0x10c >;
} ;
ps_clk: ps_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <33333333>;
clock-output-names = "ps_clk";
};
};
};
timer@0xf8001000 {
compatible = "xlnx,ps7-ttc-1.00.a";
reg = <0xf8001000 0x1000>;
interrupts = <0 10 4>,<0 11 4>,<0 12 4>;
interrupt-parent = <&gic>;
};
timer@f8f00600 {
compatible = "arm,cortex-a9-twd-timer";
reg = <0xf8f00600 0x20>;
interrupts = <1 13 0x301>;
interrupt-parent = <&gic>;
};
swdt@f8005000 {
device_type = "watchdog";
compatible = "xlnx,ps7-wdt-1.00.a";
reg = <0xf8005000 0x100>;
reset = <0>;
timeout = <10>;
};
scuwdt@f8f00620 {
device_type = "watchdog";
compatible = "arm,mpcore_wdt";
reg = <0xf8f00620 0x20>;
clock-frequency = <333333333>;
reset = <1>;
};
eth@e000b000 {
compatible = "xlnx,ps7-ethernet-1.00.a";
reg = <0xe000b000 0x1000>;
interrupts = <0 22 4>;
interrupt-parent = <&gic>;
phy-handle = <&phy0>;
phy-mode = "rgmii-id";
xlnx,ptp-enet-clock = <111111111>;
xlnx,slcr-div0-1000Mbps = <8>;
xlnx,slcr-div0-100Mbps = <8>;
xlnx,slcr-div0-10Mbps = <8>;
xlnx,slcr-div1-1000Mbps = <1>;
xlnx,slcr-div1-100Mbps = <5>;
xlnx,slcr-div1-10Mbps = <50>;
#address-cells = <0x1>;
#size-cells = <0x0>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy0: phy@7 {
compatible = "marvell,88e1116r";
device_type = "ethernet-phy";
reg = <7>;
};
};
};
i2c0: i2c@e0004000 {
compatible = "xlnx,ps7-i2c-1.00.a";
reg = <0xE0004000 0x1000>;
interrupts = <0 25 4>;
interrupt-parent = <&gic>;
bus-id = <0>;
input-clk = <111111111>;
i2c-clk = <100000>;
#address-cells = <1>;
#size-cells = <0>;
i2cswitch@74 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x74>;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
osc@5d {
compatible = "si570";
reg = <0x5d>;
factory-fout = <156250000>;
initial-fout = <148500000>;
};
};
i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
eeprom@54 {
compatible = "at,24c08";
reg = <0x54>;
};
};
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
gpio@21 {
compatible = "ti,tca6416";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
};
};
i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
rtc@54 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
};
};
};
sdhci@e0100000 {
compatible = "xlnx,ps7-sdhci-1.00.a";
reg = <0xe0100000 0x1000>;
xlnx,has-cd = <0x1>;
interrupts = <0 24 4>;
interrupt-parent = <&gic>;
clock-frequency = <33333000>;
};
usb@e0002000 {
compatible = "xlnx,ps7-usb-1.00.a";
reg = <0xe0002000 0x1000>;
interrupts = <0 21 4>;
interrupt-parent = <&gic>;
dr_mode = "host";
phy_type = "ulpi";
};
gpio@e000a000 {
compatible = "xlnx,ps7-gpio-1.00.a";
reg = <0xe000a000 0x1000>;
interrupts = <0 20 4>;
interrupt-parent = <&gic>;
};
qspi0: spi@e000d000 {
compatible = "xlnx,ps7-qspi-1.00.a";
reg = <0xE000D000 0x1000>;
interrupts = <0 19 4>;
interrupt-parent = <&gic>;
speed-hz = <200000000>;
bus-num = <1>;
num-chip-select = <1>;
#address-cells = <1>;
#size-cells = <0>;
is-dual = <1>;
flash@0 {
compatible = "n25q128";
reg = <0x0>;
spi-max-frequency = <30000000>;
#address-cells = <1>;
#size-cells = <1>;
partition@qspi-fsbl-uboot {
label = "qspi-fsbl-uboot";
reg = <0x0 0x100000>;
};
partition@qspi-linux {
label = "qspi-linux";
reg = <0x100000 0x500000>;
};
partition@qspi-device-tree {
label = "qspi-device-tree";
reg = <0x600000 0x20000>;
};
partition@qspi-rootfs {
label = "qspi-rootfs";
reg = <0x620000 0x5E0000>;
};
partition@qspi-bitstream {
label = "qspi-bitstream";
reg = <0xC00000 0x1400000>;
};
};
};
devcfg@f8007000 {
compatible = "xlnx,ps7-dev-cfg-1.00.a";
reg = <0xf8007000 0x100>;
interrupts = <0 8 4>;
interrupt-parent = <&gic>;
};
xadc@f8007100 {
compatible = "xlnx,ps7-xadc-1.00.a";
reg = <0xf8007100 0x20>;
interrupts = <0 7 4>;
interrupt-parent = <&gic>;
};
ps7_dma_s: ps7-dma@f8003000 {
#dma-cells = <1>;
#dma-channels = <8>;
#dma-requests = <4>;
arm,primecell-periphid = <0x41330>;
compatible = "xlnx,ps7-dma-1.00.a", "arm,primecell", "arm,pl330";
interrupt-parent = <&gic>;
interrupts = < 0 13 4 0 14 4 0 15 4 0 16 4 0 17 4 0 40 4 0 41 4 0 42 4 0 43 4 >;
reg = < 0xf8003000 0x1000 >;
} ;
};
};
diff --git a/drivers/mtd/nand/xilinx_nandps.c b/drivers/mtd/nand/xilinx_nandps.c diff --git a/drivers/mtd/nand/xilinx_nandps.c b/drivers/mtd/nand/xilinx_nandps.c
index 4b140ed5..9623cc1 100644 index bf660d4..775c168 100644
--- a/drivers/mtd/nand/xilinx_nandps.c --- a/drivers/mtd/nand/xilinx_nandps.c
+++ b/drivers/mtd/nand/xilinx_nandps.c +++ b/drivers/mtd/nand/xilinx_nandps.c
@@ -114,6 +114,9 @@ static const struct xnandps_command_format xnandps_commands[] = { @@ -115,6 +115,9 @@ static const struct xnandps_command_format xnandps_commands[] = {
{NAND_CMD_PARAM, NAND_CMD_NONE, 1, NAND_CMD_NONE}, {NAND_CMD_PARAM, NAND_CMD_NONE, 1, NAND_CMD_NONE},
{NAND_CMD_GET_FEATURES, NAND_CMD_NONE, 1, NAND_CMD_NONE}, {NAND_CMD_GET_FEATURES, NAND_CMD_NONE, 1, NAND_CMD_NONE},
{NAND_CMD_SET_FEATURES, NAND_CMD_NONE, 1, NAND_CMD_NONE}, {NAND_CMD_SET_FEATURES, NAND_CMD_NONE, 1, NAND_CMD_NONE},
......
# See include file for common information
include linux-xlnx.inc
PR = "r1"
# Kernel version and SRCREV correspond to:
# github.com/Xilinx/linux-xlnx.git xilinx-v14.7 tag
LINUX_VERSION = "3.10"
SRCREV = "efc27505715e64526653f35274717c0fc56491e3"
\ No newline at end of file
# 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