aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/machine/ep108-zynqmp.conf3
-rw-r--r--conf/machine/include/machine-xilinx-default.inc1
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline/0001-ARM64-Add-new-Xilinx-ZynqMP-SoC.patch436
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline/0002-net-cadence-Enable-MACB-driver-for-ARM64.patch41
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline/0003-spi-Enable-Cadence-SPI-driver-for-ARM64.patch32
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline/0004-arm64-mm-Correct-check-for-EXEC-faults.patch46
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline/0005-arm64-Implement-cpu_relax-as-yield.patch33
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline/0006-arm64-spinlock-sev-when-unlocking-locks.patch28
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline/0007-kbuild-Create-directory-for-target-DTB.patch31
-rw-r--r--recipes-kernel/linux/linux-zynqmp-mainline_3.19.bb24
10 files changed, 2 insertions, 673 deletions
diff --git a/conf/machine/ep108-zynqmp.conf b/conf/machine/ep108-zynqmp.conf
index 85975617..8283fe15 100644
--- a/conf/machine/ep108-zynqmp.conf
+++ b/conf/machine/ep108-zynqmp.conf
@@ -13,8 +13,7 @@ EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
SERIAL_CONSOLE = "115200 ttyPS0"
-# Use ZynqMP recipes for Kernal and U-Boot
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-zynqmp-mainline"
+# Use ZynqMP recipes for U-Boot
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-zynqmp-mainline"
KERNEL_DEVICETREE = "xilinx/zynqmp-ep108.dtb"
diff --git a/conf/machine/include/machine-xilinx-default.inc b/conf/machine/include/machine-xilinx-default.inc
index e5d6584b..d654a2a2 100644
--- a/conf/machine/include/machine-xilinx-default.inc
+++ b/conf/machine/include/machine-xilinx-default.inc
@@ -9,6 +9,7 @@ IMAGE_CLASSES += "image_types_uboot"
# Kernel Configuration
XILINX_DEFAULT_KERNEL := "linux-xlnx"
XILINX_DEFAULT_KERNEL_microblaze := "linux-yocto"
+XILINX_DEFAULT_KERNEL_zynqmp := "linux-yocto"
PREFERRED_PROVIDER_virtual/kernel ??= "${XILINX_DEFAULT_KERNEL}"
PREFERRED_VERSION_linux-xlnx ?= "3.19%"
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline/0001-ARM64-Add-new-Xilinx-ZynqMP-SoC.patch b/recipes-kernel/linux/linux-zynqmp-mainline/0001-ARM64-Add-new-Xilinx-ZynqMP-SoC.patch
deleted file mode 100644
index 9aed3963..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline/0001-ARM64-Add-new-Xilinx-ZynqMP-SoC.patch
+++ /dev/null
@@ -1,436 +0,0 @@
-From a8de57243f95b3b2a5f858d416b084abb7049445 Mon Sep 17 00:00:00 2001
-From: Michal Simek <michal.simek@xilinx.com>
-Date: Wed, 11 Feb 2015 14:37:23 +0100
-Subject: [PATCH 1/7] ARM64: Add new Xilinx ZynqMP SoC
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Initial version of device tree for Xilinx ZynqMP SoC.
-
-Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
----
- arch/arm64/Kconfig | 5 +
- arch/arm64/boot/dts/Makefile | 1 +
- arch/arm64/boot/dts/xilinx/Makefile | 5 +
- arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts | 46 +++++
- arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 301 ++++++++++++++++++++++++++++
- arch/arm64/configs/defconfig | 1 +
- 6 files changed, 359 insertions(+)
- create mode 100644 arch/arm64/boot/dts/xilinx/Makefile
- create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts
- create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp.dtsi
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index b1f9a20..fd103ed 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -173,6 +173,11 @@ config ARCH_XGENE
- help
- This enables support for AppliedMicro X-Gene SOC Family
-
-+config ARCH_ZYNQMP
-+ bool "Xilinx Zynq MP SOC Family"
-+ help
-+ This enables support for Xilinx Zynq MP SOC Family
-+
- endmenu
-
- menu "Bus support"
-diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
-index c62b0f4..9470c79 100644
---- a/arch/arm64/boot/dts/Makefile
-+++ b/arch/arm64/boot/dts/Makefile
-@@ -2,5 +2,6 @@ dts-dirs += amd
- dts-dirs += apm
- dts-dirs += arm
- dts-dirs += cavium
-+dts-dirs += xilinx
-
- subdir-y := $(dts-dirs)
-diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile
-new file mode 100644
-index 0000000..ae16427
---- /dev/null
-+++ b/arch/arm64/boot/dts/xilinx/Makefile
-@@ -0,0 +1,5 @@
-+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-ep108.dtb
-+
-+always := $(dtb-y)
-+subdir-y := $(dts-dirs)
-+clean-files := *.dtb
-diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts b/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts
-new file mode 100644
-index 0000000..121a47f
---- /dev/null
-+++ b/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts
-@@ -0,0 +1,46 @@
-+/*
-+ * dts file for Xilinx ZynqMP ep108 development board
-+ *
-+ * (c) Copyright 2014 - 2015, Xilinx, Inc.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ */
-+
-+/dts-v1/;
-+
-+/include/ "zynqmp.dtsi"
-+
-+/ {
-+ model = "ZynqMP EP108";
-+
-+ aliases {
-+ serial0 = &uart0;
-+ };
-+
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
-+ memory {
-+ device_type = "memory";
-+ reg = <0x0 0x0 0x40000000>;
-+ };
-+};
-+
-+&gem0 {
-+ status = "okay";
-+ phy-handle = <&phy0>;
-+ phy-mode = "rgmii-id";
-+ phy0: phy@0{
-+ reg = <0>;
-+ max-speed = <100>;
-+ };
-+};
-+
-+&uart0 {
-+ status = "okay";
-+};
-+
-diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
-new file mode 100644
-index 0000000..d8402fd
---- /dev/null
-+++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
-@@ -0,0 +1,301 @@
-+/*
-+ * dts file for Xilinx ZynqMP
-+ *
-+ * (c) Copyright 2014 - 2015, Xilinx, Inc.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ */
-+
-+/ {
-+ compatible = "xlnx,zynqmp";
-+ #address-cells = <2>;
-+ #size-cells = <1>;
-+
-+ cpus {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ cpu@0 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ enable-method = "psci";
-+ reg = <0x0>;
-+ };
-+
-+ cpu@1 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ enable-method = "psci";
-+ reg = <0x1>;
-+ };
-+
-+ cpu@2 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ enable-method = "psci";
-+ reg = <0x2>;
-+ };
-+
-+ cpu@3 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ enable-method = "psci";
-+ reg = <0x3>;
-+ };
-+ };
-+
-+ psci {
-+ compatible = "arm,psci-0.2";
-+ method = "smc";
-+ };
-+
-+ pmu {
-+ compatible = "arm,armv8-pmuv3";
-+ interrupts = <0 143 4>,
-+ <0 144 4>,
-+ <0 145 4>,
-+ <0 146 4>;
-+ };
-+
-+ amba_apu {
-+ compatible = "simple-bus";
-+ #address-cells = <2>;
-+ #size-cells = <1>;
-+ ranges;
-+
-+ timer {
-+ compatible = "arm,armv8-timer";
-+ interrupt-parent = <&gic>;
-+ interrupts = <1 13 0xff01>,
-+ <1 14 0xff01>,
-+ <1 11 0xff01>,
-+ <1 10 0xff01>;
-+ };
-+
-+ gic: interrupt-controller@f9010000 {
-+ compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
-+ #interrupt-cells = <3>;
-+ reg = <0x0 0xf9010000 0x10000>,
-+ <0x0 0xf9020000 0x20000>,
-+ <0x0 0xf9040000 0x20000>,
-+ <0x0 0xf9060000 0x20000>;
-+ interrupt-controller;
-+ };
-+ };
-+
-+ amba {
-+ compatible = "simple-bus";
-+ #address-cells = <2>;
-+ #size-cells = <1>;
-+ ranges;
-+
-+ misc_clk: misc_clk {
-+ compatible = "fixed-clock";
-+ #clock-cells = <0>;
-+ clock-frequency = <25000000>;
-+ };
-+
-+ ttc0: timer@ff110000 {
-+ compatible = "cdns,ttc";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
-+ reg = <0x0 0xff110000 0x1000>;
-+ clocks = <&misc_clk>;
-+ timer-width = <32>;
-+ };
-+
-+ ttc1: timer@ff120000 {
-+ compatible = "cdns,ttc";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
-+ reg = <0x0 0xff120000 0x1000>;
-+ clocks = <&misc_clk>;
-+ timer-width = <32>;
-+ };
-+
-+ ttc2: timer@ff130000 {
-+ compatible = "cdns,ttc";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
-+ reg = <0x0 0xff130000 0x1000>;
-+ clocks = <&misc_clk>;
-+ timer-width = <32>;
-+ };
-+
-+ ttc3: timer@ff140000 {
-+ compatible = "cdns,ttc";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
-+ reg = <0x0 0xff140000 0x1000>;
-+ clocks = <&misc_clk>;
-+ timer-width = <32>;
-+ };
-+
-+ uart0: serial@ff000000 {
-+ compatible = "cdns,uart-r1p8";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 21 4>;
-+ reg = <0x0 0xff000000 0x1000>;
-+ clock-names = "uart_clk", "pclk";
-+ clocks = <&misc_clk &misc_clk>;
-+ };
-+
-+ uart1: serial@ff010000 {
-+ compatible = "cdns,uart-r1p8";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 22 4>;
-+ reg = <0x0 0xff010000 0x1000>;
-+ clock-names = "uart_clk", "pclk";
-+ clocks = <&misc_clk &misc_clk>;
-+ };
-+
-+ gpio: gpio@ff0a0000 {
-+ compatible = "xlnx,zynq-gpio-1.0";
-+ status = "disabled";
-+ #gpio-cells = <0x2>;
-+ clocks = <&misc_clk>;
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 16 4>;
-+ reg = <0x0 0xff0a0000 0x1000>;
-+ };
-+
-+ gem0: ethernet@ff0b0000 {
-+ compatible = "cdns,gem";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 57 4>;
-+ reg = <0x0 0xff0b0000 0x1000>;
-+ clock-names = "pclk", "hclk", "tx_clk";
-+ clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ gem1: ethernet@ff0c0000 {
-+ compatible = "cdns,gem";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 59 4>;
-+ reg = <0x0 0xff0c0000 0x1000>;
-+ clock-names = "pclk", "hclk", "tx_clk";
-+ clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ gem2: ethernet@ff0d0000 {
-+ compatible = "cdns,gem";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 61 4>;
-+ reg = <0x0 0xff0d0000 0x1000>;
-+ clock-names = "pclk", "hclk", "tx_clk";
-+ clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ gem3: ethernet@ff0e0000 {
-+ compatible = "cdns,gem";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 63 4>;
-+ reg = <0x0 0xff0e0000 0x1000>;
-+ clock-names = "pclk", "hclk", "tx_clk";
-+ clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ spi0: spi@ff040000 {
-+ compatible = "cdns,spi-r1p6";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 19 4>;
-+ reg = <0x0 0xff040000 0x1000>;
-+ clock-names = "ref_clk", "pclk";
-+ clocks = <&misc_clk &misc_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ spi1: spi@ff050000 {
-+ compatible = "cdns,spi-r1p6";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 20 4>;
-+ reg = <0x0 0xff050000 0x1000>;
-+ clock-names = "ref_clk", "pclk";
-+ clocks = <&misc_clk &misc_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ i2c_clk: i2c_clk {
-+ compatible = "fixed-clock";
-+ #clock-cells = <0x0>;
-+ clock-frequency = <111111111>;
-+ };
-+
-+ i2c0: i2c@ff020000 {
-+ compatible = "cdns,i2c-r1p10";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 17 4>;
-+ reg = <0x0 0xff020000 0x1000>;
-+ clocks = <&i2c_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ i2c1: i2c@ff030000 {
-+ compatible = "cdns,i2c-r1p10";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 18 4>;
-+ reg = <0x0 0xff030000 0x1000>;
-+ clocks = <&i2c_clk>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ sdhci0: sdhci@ff160000 {
-+ compatible = "arasan,sdhci-8.9a";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 48 4>;
-+ reg = <0x0 0xff160000 0x1000>;
-+ clock-names = "clk_xin", "clk_ahb";
-+ clocks = <&misc_clk>, <&misc_clk>;
-+ };
-+
-+ sdhci1: sdhci@ff170000 {
-+ compatible = "arasan,sdhci-8.9a";
-+ status = "disabled";
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 49 4>;
-+ reg = <0x0 0xff170000 0x1000>;
-+ clock-names = "clk_xin", "clk_ahb";
-+ clocks = <&misc_clk>, <&misc_clk>;
-+ };
-+
-+ watchdog0: watchdog@fd4d0000 {
-+ compatible = "cdns,wdt-r1p2";
-+ status = "disabled";
-+ clocks= <&misc_clk>;
-+ interrupt-parent = <&gic>;
-+ interrupts = <0 52 1>;
-+ reg = <0x0 0xfd4d0000 0x1000>;
-+ timeout-sec = <10>;
-+ };
-+ };
-+};
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 5376d90..d1b5da8 100644
---- a/arch/arm64/configs/defconfig
-+++ b/arch/arm64/configs/defconfig
-@@ -34,6 +34,7 @@ CONFIG_MODULE_UNLOAD=y
- CONFIG_ARCH_THUNDER=y
- CONFIG_ARCH_VEXPRESS=y
- CONFIG_ARCH_XGENE=y
-+CONFIG_ARCH_ZYNQMP=y
- CONFIG_PCI=y
- CONFIG_PCI_MSI=y
- CONFIG_PCI_XGENE=y
---
-2.1.1
-
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline/0002-net-cadence-Enable-MACB-driver-for-ARM64.patch b/recipes-kernel/linux/linux-zynqmp-mainline/0002-net-cadence-Enable-MACB-driver-for-ARM64.patch
deleted file mode 100644
index 032137eb..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline/0002-net-cadence-Enable-MACB-driver-for-ARM64.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 84cf0db302640fc5b29556b1064508eaa39ab08a Mon Sep 17 00:00:00 2001
-From: Michal Simek <michal.simek@xilinx.com>
-Date: Wed, 11 Feb 2015 14:31:38 +0100
-Subject: [PATCH 2/7] net: cadence: Enable MACB driver for ARM64
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This driver is used on new Xilinx ZynqMP SoC.
-
-Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
----
- drivers/net/ethernet/cadence/Kconfig | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/net/ethernet/cadence/Kconfig b/drivers/net/ethernet/cadence/Kconfig
-index 321d2ad..4562f90 100644
---- a/drivers/net/ethernet/cadence/Kconfig
-+++ b/drivers/net/ethernet/cadence/Kconfig
-@@ -4,7 +4,7 @@
-
- config NET_CADENCE
- bool "Cadence devices"
-- depends on HAS_IOMEM && (ARM || AVR32 || MICROBLAZE || COMPILE_TEST)
-+ depends on HAS_IOMEM && (ARM || ARM64 || AVR32 || MICROBLAZE || COMPILE_TEST)
- default y
- ---help---
- If you have a network (Ethernet) card belonging to this class, say Y.
-@@ -30,7 +30,7 @@ config ARM_AT91_ETHER
-
- config MACB
- tristate "Cadence MACB/GEM support"
-- depends on HAS_DMA && (PLATFORM_AT32AP || ARCH_AT91 || ARCH_PICOXCELL || ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST)
-+ depends on HAS_DMA && (PLATFORM_AT32AP || ARCH_AT91 || ARCH_PICOXCELL || ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST)
- select PHYLIB
- ---help---
- The Cadence MACB ethernet interface is found on many Atmel AT32 and
---
-2.1.1
-
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline/0003-spi-Enable-Cadence-SPI-driver-for-ARM64.patch b/recipes-kernel/linux/linux-zynqmp-mainline/0003-spi-Enable-Cadence-SPI-driver-for-ARM64.patch
deleted file mode 100644
index 9e6b9a84..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline/0003-spi-Enable-Cadence-SPI-driver-for-ARM64.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 411f7900bf4609e398bca8ae0be39bb3ab6b2642 Mon Sep 17 00:00:00 2001
-From: Michal Simek <michal.simek@xilinx.com>
-Date: Wed, 11 Feb 2015 14:34:56 +0100
-Subject: [PATCH 3/7] spi: Enable Cadence SPI driver for ARM64
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This driver is used on new Xilinx ZynqMP SoC.
-
-Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
----
- drivers/spi/Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 9982998..07bb370 100644
---- a/drivers/spi/Kconfig
-+++ b/drivers/spi/Kconfig
-@@ -159,7 +159,7 @@ config SPI_BUTTERFLY
-
- config SPI_CADENCE
- tristate "Cadence SPI controller"
-- depends on ARM
-+ depends on ARM || ARM64
- help
- This selects the Cadence SPI controller master driver
- used by Xilinx Zynq.
---
-2.1.1
-
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline/0004-arm64-mm-Correct-check-for-EXEC-faults.patch b/recipes-kernel/linux/linux-zynqmp-mainline/0004-arm64-mm-Correct-check-for-EXEC-faults.patch
deleted file mode 100644
index 438546da..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline/0004-arm64-mm-Correct-check-for-EXEC-faults.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 9f0f9df61d6c198528ba2fd43981b166ea337dd3 Mon Sep 17 00:00:00 2001
-From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
-Date: Mon, 28 Apr 2014 11:15:24 +1000
-Subject: [PATCH 4/7] arm64: mm: Correct check for EXEC faults
-
-ESR_LNX_EXEC doesn't match anything in the specs. Replace it
-with ESR.EC IABT based checks.
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
-Signed-off-by: Michal Simek <michal.simek@xilinx.com>
----
- arch/arm64/mm/fault.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
-index c11cd27..276529a 100644
---- a/arch/arm64/mm/fault.c
-+++ b/arch/arm64/mm/fault.c
-@@ -36,6 +36,7 @@
- #include <asm/system_misc.h>
- #include <asm/pgtable.h>
- #include <asm/tlbflush.h>
-+#include <asm/esr.h>
-
- static const char *fault_name(unsigned int esr);
-
-@@ -199,6 +200,7 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr,
- int fault, sig, code;
- unsigned long vm_flags = VM_READ | VM_WRITE | VM_EXEC;
- unsigned int mm_flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
-+ unsigned long esr_ec = esr >> ESR_EL1_EC_SHIFT;
-
- tsk = current;
- mm = tsk->mm;
-@@ -217,7 +219,7 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr,
- if (user_mode(regs))
- mm_flags |= FAULT_FLAG_USER;
-
-- if (esr & ESR_LNX_EXEC) {
-+ if (esr_ec == ESR_EL1_EC_IABT_EL0 || esr_ec == ESR_EL1_EC_IABT_EL1) {
- vm_flags = VM_EXEC;
- } else if ((esr & ESR_EL1_WRITE) && !(esr & ESR_EL1_CM)) {
- vm_flags = VM_WRITE;
---
-2.1.1
-
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline/0005-arm64-Implement-cpu_relax-as-yield.patch b/recipes-kernel/linux/linux-zynqmp-mainline/0005-arm64-Implement-cpu_relax-as-yield.patch
deleted file mode 100644
index 5f0c5a6d..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline/0005-arm64-Implement-cpu_relax-as-yield.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9a7a3eb786ef4d7221c9090f2bd47933fbbdb047 Mon Sep 17 00:00:00 2001
-From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
-Date: Thu, 12 Jun 2014 17:05:42 -0700
-Subject: [PATCH 5/7] arm64: Implement cpu_relax as yield
-
-ARM64 has the yield instruction which has the intended semantics of
-cpu_relax. Implement.
-
-Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
-Signed-off-by: Michal Simek <michal.simek@xilinx.com>
----
- arch/arm64/include/asm/processor.h | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h
-index f9be30e..334144d 100644
---- a/arch/arm64/include/asm/processor.h
-+++ b/arch/arm64/include/asm/processor.h
-@@ -126,7 +126,10 @@ extern void release_thread(struct task_struct *);
-
- unsigned long get_wchan(struct task_struct *p);
-
--#define cpu_relax() barrier()
-+static inline void cpu_relax(void) {
-+ barrier();
-+ asm volatile("yield");
-+}
- #define cpu_relax_lowlatency() cpu_relax()
-
- /* Thread switching */
---
-2.1.1
-
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline/0006-arm64-spinlock-sev-when-unlocking-locks.patch b/recipes-kernel/linux/linux-zynqmp-mainline/0006-arm64-spinlock-sev-when-unlocking-locks.patch
deleted file mode 100644
index bc90a758..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline/0006-arm64-spinlock-sev-when-unlocking-locks.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 761cba95ae66984cf60423190aefb3b794774033 Mon Sep 17 00:00:00 2001
-From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
-Date: Thu, 12 Jun 2014 17:05:43 -0700
-Subject: [PATCH 6/7] arm64: spinlock: sev when unlocking locks
-
-Because spinners are doing a wfe in their poll of the lock.
-
-Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
-Signed-off-by: Michal Simek <michal.simek@xilinx.com>
----
- arch/arm64/include/asm/spinlock.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm64/include/asm/spinlock.h b/arch/arm64/include/asm/spinlock.h
-index cee1287..c4df86f 100644
---- a/arch/arm64/include/asm/spinlock.h
-+++ b/arch/arm64/include/asm/spinlock.h
-@@ -87,6 +87,7 @@ static inline void arch_spin_unlock(arch_spinlock_t *lock)
- {
- asm volatile(
- " stlrh %w1, %0\n"
-+" sev\n"
- : "=Q" (lock->owner)
- : "r" (lock->owner + 1)
- : "memory");
---
-2.1.1
-
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline/0007-kbuild-Create-directory-for-target-DTB.patch b/recipes-kernel/linux/linux-zynqmp-mainline/0007-kbuild-Create-directory-for-target-DTB.patch
deleted file mode 100644
index d90bdba9..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline/0007-kbuild-Create-directory-for-target-DTB.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d24f5867cd1120665c01fe001a601f335b99126b Mon Sep 17 00:00:00 2001
-From: Nathan Rossi <nathan.rossi@xilinx.com>
-Date: Wed, 18 Feb 2015 17:34:14 +1000
-Subject: [PATCH 7/7] kbuild: Create directory for target DTB
-
-When building specific DTBs out of the kernel tree the vendor subdirs
-(boot/dts/<vendor>) are not created, ensure that they are before
-building the DTB.
-
-Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
----
- scripts/Makefile.lib | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
-index 5117552..f195f97 100644
---- a/scripts/Makefile.lib
-+++ b/scripts/Makefile.lib
-@@ -272,7 +272,8 @@ $(obj)/%.dtb.S: $(obj)/%.dtb
- $(call cmd,dt_S_dtb)
-
- quiet_cmd_dtc = DTC $@
--cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
-+cmd_dtc = mkdir -p `dirname ${dtc-tmp}` ; \
-+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
- $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \
- -i $(dir $<) $(DTC_FLAGS) \
- -d $(depfile).dtc.tmp $(dtc-tmp) ; \
---
-2.1.1
-
diff --git a/recipes-kernel/linux/linux-zynqmp-mainline_3.19.bb b/recipes-kernel/linux/linux-zynqmp-mainline_3.19.bb
deleted file mode 100644
index b6258981..00000000
--- a/recipes-kernel/linux/linux-zynqmp-mainline_3.19.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-
-# This kernel is based on the mainline v3.19 release
-LINUX_VERSION = "3.19"
-KBRANCH ?= "master"
-SRCREV ?= "bfa76d49576599a4b9f9b7a71f23d73d6dcff735"
-
-include linux-xlnx.inc
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-zynqmp-mainline:"
-SRC_URI = " \
- git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=https;branch=${KBRANCH} \
- file://xilinx-base;type=kmeta;destsuffix=xilinx-base \
- file://0001-ARM64-Add-new-Xilinx-ZynqMP-SoC.patch \
- file://0002-net-cadence-Enable-MACB-driver-for-ARM64.patch \
- file://0003-spi-Enable-Cadence-SPI-driver-for-ARM64.patch \
- file://0004-arm64-mm-Correct-check-for-EXEC-faults.patch \
- file://0005-arm64-Implement-cpu_relax-as-yield.patch \
- file://0006-arm64-spinlock-sev-when-unlocking-locks.patch \
- file://0007-kbuild-Create-directory-for-target-DTB.patch \
- "
-
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-KERNEL_DEVICETREE_ep108-zynqmp = "xilinx/zynqmp-ep108.dtb"
-KERNEL_DEVICETREE_qemuzynqmp = "xilinx/zynqmp-ep108.dtb"