From a18947c20dba2c0c38db8bde1ad4684995df4bbd Mon Sep 17 00:00:00 2001 From: Manjukumar Matha Date: Wed, 6 Dec 2017 16:06:35 -0800 Subject: meta-xilinx: Restructuring meta-xilinx to support multiple layers As discussed previously on mailing list, we are proceeding with layer restructuring. For rocko release we will have the following layers meta-xilinx ->meta-xilinx-bsp (current meta-xilinx) ->meta-xilinx-contrib In the subsequent releases we will add other layers from Xilinx meta-xilinx ->meta-xilinx-bsp (current meta-xilinx) ->meta-petalinux ->meta-xilinx-tools ->meta-xilinx-contrib This will provide one clone to get all the required meta layers from Xilinx for a complete solution, and the users can blacklist any layer which they don't want to use using bblayer.conf. This will enables us to help our vendors/partners to add their reference designs, board definitions etc. Recipe changes : * Move reference design zybo-linux-bd.bb to meta-xilinx-contrib * Move kernel patches realted to zybo-linux-bd-zynq7 board to meta-xilinx-contrib * Update README Signed-off-by: Manjukumar Matha --- recipes-kernel/linux/linux-microblaze.inc | 5 - recipes-kernel/linux/linux-xlnx-dev.bb | 18 - recipes-kernel/linux/linux-xlnx.inc | 44 -- ...rm-xilinx-Add-encoder-for-Digilent-boards.patch | 302 ---------- ...002-clk-Add-driver-for-axi_dynclk-IP-Core.patch | 607 --------------------- ...0003-drm-xilinx-Fix-DPMS-transition-to-on.patch | 54 -- recipes-kernel/linux/linux-xlnx_2017.3.bb | 12 - recipes-kernel/linux/linux-yocto-dev.bbappend | 1 - recipes-kernel/linux/linux-yocto-tiny_%.bbappend | 1 - recipes-kernel/linux/linux-yocto-xilinx.inc | 25 - recipes-kernel/linux/linux-yocto_%.bbappend | 1 - .../bsp/kc705-microblazeel/kc705-microblazeel.cfg | 17 - .../bsp/kc705-microblazeel/kc705-microblazeel.scc | 4 - .../bsp/xilinx/microblaze-standard.scc | 14 - .../xilinx-kmeta/bsp/xilinx/microblaze-tiny.scc | 11 - .../xilinx-kmeta/bsp/xilinx/soc/drivers-drm.cfg | 14 - .../xilinx-kmeta/bsp/xilinx/soc/drivers-drm.scc | 4 - .../bsp/xilinx/soc/drivers-softip-pcie.cfg | 7 - .../bsp/xilinx/soc/drivers-softip-pcie.scc | 5 - .../bsp/xilinx/soc/drivers-xlnx-softip.cfg | 19 - .../bsp/xilinx/soc/drivers-xlnx-zynq.cfg | 16 - .../bsp/xilinx/soc/drivers-xlnx-zynqmp.cfg | 67 --- .../xilinx-kmeta/bsp/xilinx/soc/drivers-zynqmp.cfg | 68 --- .../linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.cfg | 26 - .../linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.scc | 10 - .../xilinx-kmeta/bsp/xilinx/zynqmp-standard.scc | 15 - .../linux/xilinx-kmeta/bsp/xilinx/zynqmp-tiny.scc | 9 - .../zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.cfg | 19 - .../zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc | 7 - .../linux/xilinx-kmeta/features/uio/uio.cfg | 4 - .../linux/xilinx-kmeta/features/uio/uio.scc | 5 - .../xilinx-kmeta/features/v4l2/v4l2-xilinx.cfg | 23 - .../xilinx-kmeta/features/v4l2/v4l2-xilinx.scc | 4 - 33 files changed, 1438 deletions(-) delete mode 100644 recipes-kernel/linux/linux-microblaze.inc delete mode 100644 recipes-kernel/linux/linux-xlnx-dev.bb delete mode 100644 recipes-kernel/linux/linux-xlnx.inc delete mode 100644 recipes-kernel/linux/linux-xlnx/v2017.3/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch delete mode 100644 recipes-kernel/linux/linux-xlnx/v2017.3/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch delete mode 100644 recipes-kernel/linux/linux-xlnx/v2017.3/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch delete mode 100644 recipes-kernel/linux/linux-xlnx_2017.3.bb delete mode 100644 recipes-kernel/linux/linux-yocto-dev.bbappend delete mode 100644 recipes-kernel/linux/linux-yocto-tiny_%.bbappend delete mode 100644 recipes-kernel/linux/linux-yocto-xilinx.inc delete mode 100644 recipes-kernel/linux/linux-yocto_%.bbappend delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-standard.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-tiny.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-softip.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynq.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynqmp.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-zynqmp.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-standard.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-tiny.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/features/uio/uio.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/features/uio/uio.scc delete mode 100644 recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.cfg delete mode 100644 recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.scc (limited to 'recipes-kernel') diff --git a/recipes-kernel/linux/linux-microblaze.inc b/recipes-kernel/linux/linux-microblaze.inc deleted file mode 100644 index e23a50e8..00000000 --- a/recipes-kernel/linux/linux-microblaze.inc +++ /dev/null @@ -1,5 +0,0 @@ -# MicroBlaze is a uImage target, but its not called 'uImage' instead it is called 'linux.bin.ub' -python () { - if d.getVar('KERNEL_IMAGETYPE', True).endswith('.ub'): - d.setVar('DEPENDS', "%s u-boot-mkimage-native" % d.getVar('DEPENDS', True)) -} diff --git a/recipes-kernel/linux/linux-xlnx-dev.bb b/recipes-kernel/linux/linux-xlnx-dev.bb deleted file mode 100644 index acb9938f..00000000 --- a/recipes-kernel/linux/linux-xlnx-dev.bb +++ /dev/null @@ -1,18 +0,0 @@ -# This recipe tracks the 'bleeding edge' linux-xlnx repository. -# Since this tree is frequently updated, AUTOREV is used to track its contents. -# -# To enable this recipe, set PREFERRED_PROVIDER_virtual/kernel = "linux-xlnx-dev" - -KBRANCH ?= "master" - -# Use the SRCREV for the last tagged revision of linux-xlnx. -SRCREV ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-xlnx-dev", "${AUTOREV}", "84fb0cc65aae5970471cbc54b0c89009b9b904af", d)}' - -# skip version sanity, because the version moves with AUTOREV -KERNEL_VERSION_SANITY_SKIP = "1" - -LINUX_VERSION ?= "4.9+" -LINUX_VERSION_EXTENSION ?= "-xilinx-dev" - -include linux-xlnx.inc - diff --git a/recipes-kernel/linux/linux-xlnx.inc b/recipes-kernel/linux/linux-xlnx.inc deleted file mode 100644 index 39c146aa..00000000 --- a/recipes-kernel/linux/linux-xlnx.inc +++ /dev/null @@ -1,44 +0,0 @@ -# This version extension should match CONFIG_LOCALVERSION in defconfig -XILINX_RELEASE_VERSION ?= "" -LINUX_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}" -PV = "${LINUX_VERSION}${LINUX_VERSION_EXTENSION}+git${SRCPV}" - -# Sources, by default allow for the use of SRCREV pointing to orphaned tags/commits -KBRANCH ?= "" -SRCBRANCHARG = "${@['nobranch=1', 'branch=${KBRANCH}'][d.getVar('KBRANCH', True) != '']}" - -FILESOVERRIDES_append = ":${XILINX_RELEASE_VERSION}" -KERNELURI ?= "git://github.com/Xilinx/linux-xlnx.git;protocol=https" -SRC_URI = "${KERNELURI};${SRCBRANCHARG}" - -SRCREV_machine ?= "${SRCREV}" - -require recipes-kernel/linux/linux-yocto.inc -require linux-microblaze.inc - -DESCRIPTION = "Xilinx Kernel" - -# Force the use of the KBUILD_DEFCONFIG even if some other defconfig was generated in the ${WORKDIR} -do_kernel_metadata_prepend () { - [ -n "${KBUILD_DEFCONFIG}" ] && [ -e ${WORKDIR}/defconfig ] && rm ${WORKDIR}/defconfig -} - -# Default to be only compatible with specific machines or soc families -COMPATIBLE_MACHINE ?= "^$" -COMPATIBLE_MACHINE_zynq = ".*" -COMPATIBLE_MACHINE_zynqmp = ".*" -COMPATIBLE_MACHINE_kc705-microblazeel = ".*" - -# Use DEFCONFIGs for configuring linux-xlnx kernels -KCONFIG_MODE ?= "alldefconfig" -KBUILD_DEFCONFIG_zynqmp = "xilinx_zynqmp_defconfig" -KBUILD_DEFCONFIG_zynq = "xilinx_zynq_defconfig" -KBUILD_DEFCONFIG_microblaze = "mmu_defconfig" - -# Add meta-xilinx kmeta, used for MicroBlaze BSP fragments -FILESEXTRAPATHS_prepend := "${THISDIR}:" -SRC_URI_append = " file://xilinx-kmeta;type=kmeta;name=xilinx-kmeta;destsuffix=xilinx-kmeta" - -# MicroBlaze BSP fragments -KERNEL_FEATURES_append_kc705-microblazeel = " bsp/kc705-microblazeel/kc705-microblazeel.scc" - diff --git a/recipes-kernel/linux/linux-xlnx/v2017.3/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch b/recipes-kernel/linux/linux-xlnx/v2017.3/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch deleted file mode 100644 index b8ba70ea..00000000 --- a/recipes-kernel/linux/linux-xlnx/v2017.3/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch +++ /dev/null @@ -1,302 +0,0 @@ -From c1bf9e8c50baa237b514715dcb9c8fd367694c93 Mon Sep 17 00:00:00 2001 -From: Jason Wu -Date: Sun, 10 Apr 2016 13:14:13 +1000 -Subject: [PATCH 1/3] drm: xilinx: Add encoder for Digilent boards - -Add the dglnt_encoder driver that enables DRM support for the VGA and -HDMI output ports found on many Digilent boards. - -Upstream-Status: Pending - -Signed-off-by: Sam Bobrowicz -Signed-off-by: Jason Wu ---- - .../bindings/drm/xilinx/dglnt_encoder.txt | 23 +++ - drivers/gpu/drm/xilinx/Kconfig | 6 + - drivers/gpu/drm/xilinx/Makefile | 1 + - drivers/gpu/drm/xilinx/dglnt_encoder.c | 217 +++++++++++++++++++++ - 4 files changed, 247 insertions(+) - create mode 100644 Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt - create mode 100644 drivers/gpu/drm/xilinx/dglnt_encoder.c - -diff --git a/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt -new file mode 100644 -index 0000000000..242b24e482 ---- /dev/null -+++ b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt -@@ -0,0 +1,23 @@ -+Device-Tree bindings for Digilent DRM Encoder Slave -+ -+This driver provides support for VGA and HDMI outputs on Digilent FPGA boards. -+The VGA or HDMI port must be connected to a Xilinx display pipeline via an -+axi2vid IP core. -+ -+Required properties: -+ - compatible: Should be "digilent,drm-encoder". -+ -+Optional properties: -+ - dglnt,edid-i2c: The I2C device connected to the DDC bus on the video -+ connector. This is used to obtain the supported resolutions -+ of an attached monitor. If not defined, then a default -+ set of resolutions is used and the display will initialize -+ to 720p. Note most VGA connectors on Digilent boards do -+ not have the DDC bus routed out. -+ -+Example: -+ -+ encoder_0: digilent_encoder { -+ compatible = "digilent,drm-encoder"; -+ dglnt,edid-i2c = <&i2c1>; -+ }; -diff --git a/drivers/gpu/drm/xilinx/Kconfig b/drivers/gpu/drm/xilinx/Kconfig -index 12b548c2a9..c3e2562e53 100644 ---- a/drivers/gpu/drm/xilinx/Kconfig -+++ b/drivers/gpu/drm/xilinx/Kconfig -@@ -57,3 +57,9 @@ config DRM_XILINX_SDI - depends on DRM_XILINX - help - DRM driver for Xilinx Display Port Subsystem. -+ -+config DRM_DIGILENT_ENCODER -+ tristate "Digilent VGA/HDMI DRM Encoder Driver" -+ depends on DRM_XILINX -+ help -+ DRM slave encoder for Video-out on Digilent boards. -diff --git a/drivers/gpu/drm/xilinx/Makefile b/drivers/gpu/drm/xilinx/Makefile -index 19bc1541ca..c2717e40ea 100644 ---- a/drivers/gpu/drm/xilinx/Makefile -+++ b/drivers/gpu/drm/xilinx/Makefile -@@ -7,6 +7,7 @@ xilinx_drm-y := xilinx_drm_crtc.o xilinx_drm_connector.o xilinx_drm_drv.o \ - xilinx_drm_plane.o - xilinx_drm-y += xilinx_cresample.o xilinx_osd.o xilinx_rgb2yuv.o xilinx_vtc.o - -+obj-$(CONFIG_DRM_DIGILENT_ENCODER) += dglnt_encoder.o - obj-$(CONFIG_DRM_XILINX) += xilinx_drm.o - obj-$(CONFIG_DRM_XILINX_DP) += xilinx_drm_dp.o - obj-$(CONFIG_DRM_XILINX_DP_SUB) += xilinx_drm_dp_sub.o -diff --git a/drivers/gpu/drm/xilinx/dglnt_encoder.c b/drivers/gpu/drm/xilinx/dglnt_encoder.c -new file mode 100644 -index 0000000000..26a23986f9 ---- /dev/null -+++ b/drivers/gpu/drm/xilinx/dglnt_encoder.c -@@ -0,0 +1,217 @@ -+/* -+ * dglnt_encoder.c - DRM slave encoder for Video-out on Digilent boards -+ * -+ * Copyright (C) 2015 Digilent -+ * Author: Sam Bobrowicz -+ * -+ * Based on udl_encoder.c and udl_connector.c, Copyright (C) 2012 Red Hat. -+ * Also based on xilinx_drm_dp.c, Copyright (C) 2014 Xilinx, Inc. -+ * -+ * This software is licensed under the terms of the GNU General Public -+ * License version 2, as published by the Free Software Foundation, and -+ * may be copied, distributed, and modified under those terms. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ */ -+ -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define DGLNT_ENC_MAX_FREQ 150000 -+#define DGLNT_ENC_MAX_H 1920 -+#define DGLNT_ENC_MAX_V 1080 -+#define DGLNT_ENC_PREF_H 1280 -+#define DGLNT_ENC_PREF_V 720 -+ -+struct dglnt_encoder { -+ struct drm_encoder *encoder; -+ struct i2c_adapter *i2c_bus; -+ bool i2c_present; -+}; -+ -+static inline struct dglnt_encoder *to_dglnt_encoder( -+ struct drm_encoder *encoder) -+{ -+ return to_encoder_slave(encoder)->slave_priv; -+} -+ -+static bool dglnt_mode_fixup(struct drm_encoder *encoder, -+ const struct drm_display_mode *mode, -+ struct drm_display_mode *adjusted_mode) -+{ -+ return true; -+} -+ -+static void dglnt_encoder_mode_set(struct drm_encoder *encoder, -+ struct drm_display_mode *mode, -+ struct drm_display_mode *adjusted_mode) -+{ -+} -+ -+static void -+dglnt_encoder_dpms(struct drm_encoder *encoder, int mode) -+{ -+} -+ -+static void dglnt_encoder_save(struct drm_encoder *encoder) -+{ -+} -+ -+static void dglnt_encoder_restore(struct drm_encoder *encoder) -+{ -+} -+ -+static int dglnt_encoder_mode_valid(struct drm_encoder *encoder, -+ struct drm_display_mode *mode) -+{ -+ if (mode && -+ !(mode->flags & ((DRM_MODE_FLAG_INTERLACE | -+ DRM_MODE_FLAG_DBLCLK) | DRM_MODE_FLAG_3D_MASK)) && -+ (mode->clock <= DGLNT_ENC_MAX_FREQ) && -+ (mode->hdisplay <= DGLNT_ENC_MAX_H) && -+ (mode->vdisplay <= DGLNT_ENC_MAX_V)) -+ return MODE_OK; -+ return MODE_BAD; -+} -+ -+static int dglnt_encoder_get_modes(struct drm_encoder *encoder, -+ struct drm_connector *connector) -+{ -+ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder); -+ struct edid *edid; -+ int num_modes = 0; -+ -+ if (dglnt->i2c_present) { -+ edid = drm_get_edid(connector, dglnt->i2c_bus); -+ drm_mode_connector_update_edid_property(connector, edid); -+ if (edid) { -+ num_modes = drm_add_edid_modes(connector, edid); -+ kfree(edid); -+ } -+ } else { -+ num_modes = drm_add_modes_noedid(connector, DGLNT_ENC_MAX_H, -+ DGLNT_ENC_MAX_V); -+ drm_set_preferred_mode(connector, DGLNT_ENC_PREF_H, -+ DGLNT_ENC_PREF_V); -+ } -+ return num_modes; -+} -+ -+static enum drm_connector_status dglnt_encoder_detect( -+ struct drm_encoder *encoder, -+ struct drm_connector *connector) -+{ -+ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder); -+ -+ if (dglnt->i2c_present) { -+ if (drm_probe_ddc(dglnt->i2c_bus)) -+ return connector_status_connected; -+ return connector_status_disconnected; -+ } else -+ return connector_status_unknown; -+} -+ -+static struct drm_encoder_slave_funcs dglnt_encoder_slave_funcs = { -+ .dpms = dglnt_encoder_dpms, -+ .save = dglnt_encoder_save, -+ .restore = dglnt_encoder_restore, -+ .mode_fixup = dglnt_mode_fixup, -+ .mode_valid = dglnt_encoder_mode_valid, -+ .mode_set = dglnt_encoder_mode_set, -+ .detect = dglnt_encoder_detect, -+ .get_modes = dglnt_encoder_get_modes, -+}; -+ -+static int dglnt_encoder_encoder_init(struct platform_device *pdev, -+ struct drm_device *dev, -+ struct drm_encoder_slave *encoder) -+{ -+ struct dglnt_encoder *dglnt = platform_get_drvdata(pdev); -+ struct device_node *sub_node; -+ -+ encoder->slave_priv = dglnt; -+ encoder->slave_funcs = &dglnt_encoder_slave_funcs; -+ -+ dglnt->encoder = &encoder->base; -+ -+ /* get i2c adapter for edid */ -+ dglnt->i2c_present = false; -+ sub_node = of_parse_phandle(pdev->dev.of_node, "dglnt,edid-i2c", 0); -+ if (sub_node) { -+ dglnt->i2c_bus = of_find_i2c_adapter_by_node(sub_node); -+ if (!dglnt->i2c_bus) -+ DRM_INFO("failed to get the edid i2c adapter, using default modes\n"); -+ else -+ dglnt->i2c_present = true; -+ of_node_put(sub_node); -+ } -+ -+ return 0; -+} -+ -+static int dglnt_encoder_probe(struct platform_device *pdev) -+{ -+ struct dglnt_encoder *dglnt; -+ -+ dglnt = devm_kzalloc(&pdev->dev, sizeof(*dglnt), GFP_KERNEL); -+ if (!dglnt) -+ return -ENOMEM; -+ -+ platform_set_drvdata(pdev, dglnt); -+ -+ return 0; -+} -+ -+static int dglnt_encoder_remove(struct platform_device *pdev) -+{ -+ return 0; -+} -+ -+static const struct of_device_id dglnt_encoder_of_match[] = { -+ { .compatible = "digilent,drm-encoder", }, -+ { /* end of table */ }, -+}; -+MODULE_DEVICE_TABLE(of, dglnt_encoder_of_match); -+ -+static struct drm_platform_encoder_driver dglnt_encoder_driver = { -+ .platform_driver = { -+ .probe = dglnt_encoder_probe, -+ .remove = dglnt_encoder_remove, -+ .driver = { -+ .owner = THIS_MODULE, -+ .name = "dglnt-drm-enc", -+ .of_match_table = dglnt_encoder_of_match, -+ }, -+ }, -+ -+ .encoder_init = dglnt_encoder_encoder_init, -+}; -+ -+static int __init dglnt_encoder_init(void) -+{ -+ return platform_driver_register(&dglnt_encoder_driver.platform_driver); -+} -+ -+static void __exit dglnt_encoder_exit(void) -+{ -+ platform_driver_unregister(&dglnt_encoder_driver.platform_driver); -+} -+ -+module_init(dglnt_encoder_init); -+module_exit(dglnt_encoder_exit); -+ -+MODULE_AUTHOR("Digilent, Inc."); -+MODULE_DESCRIPTION("DRM slave encoder for Video-out on Digilent boards"); -+MODULE_LICENSE("GPL v2"); --- -2.14.2 - diff --git a/recipes-kernel/linux/linux-xlnx/v2017.3/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch b/recipes-kernel/linux/linux-xlnx/v2017.3/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch deleted file mode 100644 index 9b6229db..00000000 --- a/recipes-kernel/linux/linux-xlnx/v2017.3/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch +++ /dev/null @@ -1,607 +0,0 @@ -From 217e3b6f4393926b8dcad841381527ef3fc808c2 Mon Sep 17 00:00:00 2001 -From: Jason Wu -Date: Sun, 10 Apr 2016 13:16:06 +1000 -Subject: [PATCH 2/3] clk: Add driver for axi_dynclk IP Core - -Add support for the axi_dynclk IP Core available from Digilent. This IP -core dynamically configures the clock resources inside a Xilinx FPGA to -generate a clock with a software programmable frequency. - -Upstream-Status: Pending - -Signed-off-by: Sam Bobrowicz -Signed-off-by: Jason Wu ---- - drivers/clk/Kconfig | 8 + - drivers/clk/Makefile | 1 + - drivers/clk/clk-dglnt-dynclk.c | 547 +++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 556 insertions(+) - create mode 100644 drivers/clk/clk-dglnt-dynclk.c - -diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig -index dccb111100..7fe65a702b 100644 ---- a/drivers/clk/Kconfig -+++ b/drivers/clk/Kconfig -@@ -148,6 +148,14 @@ config CLK_QORIQ - This adds the clock driver support for Freescale QorIQ platforms - using common clock framework. - -+config COMMON_CLK_DGLNT_DYNCLK -+ tristate "Digilent axi_dynclk Driver" -+ depends on ARCH_ZYNQ || MICROBLAZE -+ help -+ ---help--- -+ Support for the Digilent AXI Dynamic Clock core for Xilinx -+ FPGAs. -+ - config COMMON_CLK_XGENE - bool "Clock driver for APM XGene SoC" - default y -diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 0760449dde..45ce97d053 100644 ---- a/drivers/clk/Makefile -+++ b/drivers/clk/Makefile -@@ -24,6 +24,7 @@ obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o - obj-$(CONFIG_COMMON_CLK_CDCE925) += clk-cdce925.o - obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o - obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o -+obj-$(CONFIG_COMMON_CLK_DGLNT_DYNCLK) += clk-dglnt-dynclk.o - obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o - obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o - obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o -diff --git a/drivers/clk/clk-dglnt-dynclk.c b/drivers/clk/clk-dglnt-dynclk.c -new file mode 100644 -index 0000000000..496ad5fc90 ---- /dev/null -+++ b/drivers/clk/clk-dglnt-dynclk.c -@@ -0,0 +1,547 @@ -+/* -+ * clk-dglnt-dynclk.c - Digilent AXI Dynamic Clock (axi_dynclk) Driver -+ * -+ * Copyright (C) 2015 Digilent -+ * Author: Sam Bobrowicz -+ * -+ * Reused code from clk-axi-clkgen.c, Copyright (C) 2012-2013 Analog Devices Inc. -+ * -+ * This software is licensed under the terms of the GNU General Public -+ * License version 2, as published by the Free Software Foundation, and -+ * may be copied, distributed, and modified under those terms. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define CLK_BIT_WEDGE 13 -+#define CLK_BIT_NOCOUNT 12 -+ -+/* This value is used to signal an error */ -+#define ERR_CLKCOUNTCALC 0xFFFFFFFF -+#define ERR_CLKDIVIDER (1 << CLK_BIT_WEDGE | 1 << CLK_BIT_NOCOUNT) -+ -+#define DYNCLK_DIV_1_REGMASK 0x1041 -+/* 25 MHz (125 KHz / 5) */ -+#define DYNCLK_DEFAULT_FREQ 125000 -+ -+#define MMCM_FREQ_VCOMIN 600000 -+#define MMCM_FREQ_VCOMAX 1200000 -+#define MMCM_FREQ_PFDMIN 10000 -+#define MMCM_FREQ_PFDMAX 450000 -+#define MMCM_FREQ_OUTMIN 4000 -+#define MMCM_FREQ_OUTMAX 800000 -+#define MMCM_DIV_MAX 106 -+#define MMCM_FB_MIN 2 -+#define MMCM_FB_MAX 64 -+#define MMCM_CLKDIV_MAX 128 -+#define MMCM_CLKDIV_MIN 1 -+ -+#define OFST_DISPLAY_CTRL 0x0 -+#define OFST_DISPLAY_STATUS 0x4 -+#define OFST_DISPLAY_CLK_L 0x8 -+#define OFST_DISPLAY_FB_L 0x0C -+#define OFST_DISPLAY_FB_H_CLK_H 0x10 -+#define OFST_DISPLAY_DIV 0x14 -+#define OFST_DISPLAY_LOCK_L 0x18 -+#define OFST_DISPLAY_FLTR_LOCK_H 0x1C -+ -+static const u64 lock_lookup[64] = { -+ 0b0011000110111110100011111010010000000001, -+ 0b0011000110111110100011111010010000000001, -+ 0b0100001000111110100011111010010000000001, -+ 0b0101101011111110100011111010010000000001, -+ 0b0111001110111110100011111010010000000001, -+ 0b1000110001111110100011111010010000000001, -+ 0b1001110011111110100011111010010000000001, -+ 0b1011010110111110100011111010010000000001, -+ 0b1100111001111110100011111010010000000001, -+ 0b1110011100111110100011111010010000000001, -+ 0b1111111111111000010011111010010000000001, -+ 0b1111111111110011100111111010010000000001, -+ 0b1111111111101110111011111010010000000001, -+ 0b1111111111101011110011111010010000000001, -+ 0b1111111111101000101011111010010000000001, -+ 0b1111111111100111000111111010010000000001, -+ 0b1111111111100011111111111010010000000001, -+ 0b1111111111100010011011111010010000000001, -+ 0b1111111111100000110111111010010000000001, -+ 0b1111111111011111010011111010010000000001, -+ 0b1111111111011101101111111010010000000001, -+ 0b1111111111011100001011111010010000000001, -+ 0b1111111111011010100111111010010000000001, -+ 0b1111111111011001000011111010010000000001, -+ 0b1111111111011001000011111010010000000001, -+ 0b1111111111010111011111111010010000000001, -+ 0b1111111111010101111011111010010000000001, -+ 0b1111111111010101111011111010010000000001, -+ 0b1111111111010100010111111010010000000001, -+ 0b1111111111010100010111111010010000000001, -+ 0b1111111111010010110011111010010000000001, -+ 0b1111111111010010110011111010010000000001, -+ 0b1111111111010010110011111010010000000001, -+ 0b1111111111010001001111111010010000000001, -+ 0b1111111111010001001111111010010000000001, -+ 0b1111111111010001001111111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001, -+ 0b1111111111001111101011111010010000000001 -+}; -+ -+static const u32 filter_lookup_low[64] = { -+ 0b0001011111, -+ 0b0001010111, -+ 0b0001111011, -+ 0b0001011011, -+ 0b0001101011, -+ 0b0001110011, -+ 0b0001110011, -+ 0b0001110011, -+ 0b0001110011, -+ 0b0001001011, -+ 0b0001001011, -+ 0b0001001011, -+ 0b0010110011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001010011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0001100011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010010011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011, -+ 0b0010100011 -+}; -+ -+struct dglnt_dynclk_reg; -+struct dglnt_dynclk_mode; -+struct dglnt_dynclk; -+ -+struct dglnt_dynclk_reg { -+ u32 clk0L; -+ u32 clkFBL; -+ u32 clkFBH_clk0H; -+ u32 divclk; -+ u32 lockL; -+ u32 fltr_lockH; -+}; -+ -+struct dglnt_dynclk_mode { -+ u32 freq; -+ u32 fbmult; -+ u32 clkdiv; -+ u32 maindiv; -+}; -+ -+struct dglnt_dynclk { -+ void __iomem *base; -+ struct clk_hw clk_hw; -+ unsigned long freq; -+}; -+ -+u32 dglnt_dynclk_divider(u32 divide) -+{ -+ u32 output = 0; -+ u32 highTime = 0; -+ u32 lowTime = 0; -+ -+ if ((divide < 1) || (divide > 128)) -+ return ERR_CLKDIVIDER; -+ -+ if (divide == 1) -+ return DYNCLK_DIV_1_REGMASK; -+ -+ highTime = divide / 2; -+ /* if divide is odd */ -+ if (divide & 0x1) { -+ lowTime = highTime + 1; -+ output = 1 << CLK_BIT_WEDGE; -+ } else { -+ lowTime = highTime; -+ } -+ -+ output |= 0x03F & lowTime; -+ output |= 0xFC0 & (highTime << 6); -+ return output; -+} -+ -+u32 dglnt_dynclk_count_calc(u32 divide) -+{ -+ u32 output = 0; -+ u32 divCalc = 0; -+ -+ divCalc = dglnt_dynclk_divider(divide); -+ if (divCalc == ERR_CLKDIVIDER) -+ output = ERR_CLKCOUNTCALC; -+ else -+ output = (0xFFF & divCalc) | ((divCalc << 10) & 0x00C00000); -+ return output; -+} -+ -+ -+int dglnt_dynclk_find_reg(struct dglnt_dynclk_reg *regValues, -+ struct dglnt_dynclk_mode *clkParams) -+{ -+ if ((clkParams->fbmult < 2) || clkParams->fbmult > 64) -+ return -EINVAL; -+ -+ regValues->clk0L = dglnt_dynclk_count_calc(clkParams->clkdiv); -+ if (regValues->clk0L == ERR_CLKCOUNTCALC) -+ return -EINVAL; -+ -+ regValues->clkFBL = dglnt_dynclk_count_calc(clkParams->fbmult); -+ if (regValues->clkFBL == ERR_CLKCOUNTCALC) -+ return -EINVAL; -+ -+ regValues->clkFBH_clk0H = 0; -+ -+ regValues->divclk = dglnt_dynclk_divider(clkParams->maindiv); -+ if (regValues->divclk == ERR_CLKDIVIDER) -+ return -EINVAL; -+ -+ regValues->lockL = (u32)(lock_lookup[clkParams->fbmult - 1] & -+ 0xFFFFFFFF); -+ -+ regValues->fltr_lockH = (u32)((lock_lookup[clkParams->fbmult - 1] >> -+ 32) & 0x000000FF); -+ regValues->fltr_lockH |= ((filter_lookup_low[clkParams->fbmult - 1] << -+ 16) & 0x03FF0000); -+ -+ return 0; -+} -+ -+void dglnt_dynclk_write_reg(struct dglnt_dynclk_reg *regValues, -+ void __iomem *baseaddr) -+{ -+ writel(regValues->clk0L, baseaddr + OFST_DISPLAY_CLK_L); -+ writel(regValues->clkFBL, baseaddr + OFST_DISPLAY_FB_L); -+ writel(regValues->clkFBH_clk0H, baseaddr + OFST_DISPLAY_FB_H_CLK_H); -+ writel(regValues->divclk, baseaddr + OFST_DISPLAY_DIV); -+ writel(regValues->lockL, baseaddr + OFST_DISPLAY_LOCK_L); -+ writel(regValues->fltr_lockH, baseaddr + OFST_DISPLAY_FLTR_LOCK_H); -+} -+ -+u32 dglnt_dynclk_find_mode(u32 freq, u32 parentFreq, -+ struct dglnt_dynclk_mode *bestPick) -+{ -+ u32 bestError = MMCM_FREQ_OUTMAX; -+ u32 curError; -+ u32 curClkMult; -+ u32 curFreq; -+ u32 divVal; -+ u32 curFb, curClkDiv; -+ u32 minFb = 0; -+ u32 maxFb = 0; -+ u32 curDiv = 1; -+ u32 maxDiv; -+ bool freq_found = false; -+ -+ bestPick->freq = 0; -+ if (parentFreq == 0) -+ return 0; -+ -+ /* minimum frequency is actually dictated by VCOmin */ -+ if (freq < MMCM_FREQ_OUTMIN) -+ freq = MMCM_FREQ_OUTMIN; -+ if (freq > MMCM_FREQ_OUTMAX) -+ freq = MMCM_FREQ_OUTMAX; -+ -+ if (parentFreq > MMCM_FREQ_PFDMAX) -+ curDiv = 2; -+ maxDiv = parentFreq / MMCM_FREQ_PFDMIN; -+ if (maxDiv > MMCM_DIV_MAX) -+ maxDiv = MMCM_DIV_MAX; -+ -+ while (curDiv <= maxDiv && !freq_found) { -+ minFb = curDiv * DIV_ROUND_UP(MMCM_FREQ_VCOMIN, parentFreq); -+ maxFb = curDiv * (MMCM_FREQ_VCOMAX / parentFreq); -+ if (maxFb > MMCM_FB_MAX) -+ maxFb = MMCM_FB_MAX; -+ if (minFb < MMCM_FB_MIN) -+ minFb = MMCM_FB_MIN; -+ -+ divVal = curDiv * freq; -+ /* -+ * This multiplier is used to find the best clkDiv value for -+ * each FB value -+ */ -+ curClkMult = ((parentFreq * 1000) + (divVal / 2)) / divVal; -+ -+ curFb = minFb; -+ while (curFb <= maxFb && !freq_found) { -+ curClkDiv = ((curClkMult * curFb) + 500) / 1000; -+ if (curClkDiv > MMCM_CLKDIV_MAX) -+ curClkDiv = MMCM_CLKDIV_MAX; -+ if (curClkDiv < MMCM_CLKDIV_MIN) -+ curClkDiv = MMCM_CLKDIV_MIN; -+ curFreq = (((parentFreq * curFb) / curDiv) / curClkDiv); -+ if (curFreq >= freq) -+ curError = curFreq - freq; -+ else -+ curError = freq - curFreq; -+ if (curError < bestError) { -+ bestError = curError; -+ bestPick->clkdiv = curClkDiv; -+ bestPick->fbmult = curFb; -+ bestPick->maindiv = curDiv; -+ bestPick->freq = curFreq; -+ } -+ if (!curError) -+ freq_found = true; -+ curFb++; -+ } -+ curDiv++; -+ } -+ return bestPick->freq; -+} -+ -+static struct dglnt_dynclk *clk_hw_to_dglnt_dynclk(struct clk_hw *clk_hw) -+{ -+ return container_of(clk_hw, struct dglnt_dynclk, clk_hw); -+} -+ -+ -+static int dglnt_dynclk_enable(struct clk_hw *clk_hw) -+{ -+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); -+ unsigned int clock_state; -+ -+ if (dglnt_dynclk->freq) { -+ writel(1, dglnt_dynclk->base + OFST_DISPLAY_CTRL); -+ do { -+ clock_state = readl(dglnt_dynclk->base + -+ OFST_DISPLAY_STATUS); -+ } while (!clock_state); -+ } -+ return 0; -+} -+ -+static void dglnt_dynclk_disable(struct clk_hw *clk_hw) -+{ -+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); -+ -+ writel(0, dglnt_dynclk->base + OFST_DISPLAY_CTRL); -+} -+ -+static int dglnt_dynclk_set_rate(struct clk_hw *clk_hw, -+ unsigned long rate, unsigned long parent_rate) -+{ -+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); -+ struct dglnt_dynclk_reg clkReg; -+ struct dglnt_dynclk_mode clkMode; -+ -+ if (parent_rate == 0 || rate == 0) -+ return -EINVAL; -+ if (rate == dglnt_dynclk->freq) -+ return 0; -+ -+ /* -+ * Convert from Hz to KHz, then multiply by five to account for -+ * BUFR division -+ */ -+ rate = (rate + 100) / 200; -+ /* convert from Hz to KHz */ -+ parent_rate = (parent_rate + 500) / 1000; -+ if (!dglnt_dynclk_find_mode(rate, parent_rate, &clkMode)) -+ return -EINVAL; -+ -+ /* -+ * Write to the PLL dynamic configuration registers to configure it -+ * with the calculated parameters. -+ */ -+ dglnt_dynclk_find_reg(&clkReg, &clkMode); -+ dglnt_dynclk_write_reg(&clkReg, dglnt_dynclk->base); -+ dglnt_dynclk->freq = clkMode.freq * 200; -+ dglnt_dynclk_disable(clk_hw); -+ dglnt_dynclk_enable(clk_hw); -+ -+ return 0; -+} -+ -+static long dglnt_dynclk_round_rate(struct clk_hw *hw, unsigned long rate, -+ unsigned long *parent_rate) -+{ -+ struct dglnt_dynclk_mode clkMode; -+ -+ dglnt_dynclk_find_mode(((rate + 100) / 200), -+ ((*parent_rate) + 500) / 1000, &clkMode); -+ -+ return (clkMode.freq * 200); -+} -+ -+static unsigned long dglnt_dynclk_recalc_rate(struct clk_hw *clk_hw, -+ unsigned long parent_rate) -+{ -+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); -+ -+ return dglnt_dynclk->freq; -+} -+ -+ -+static const struct clk_ops dglnt_dynclk_ops = { -+ .recalc_rate = dglnt_dynclk_recalc_rate, -+ .round_rate = dglnt_dynclk_round_rate, -+ .set_rate = dglnt_dynclk_set_rate, -+ .enable = dglnt_dynclk_enable, -+ .disable = dglnt_dynclk_disable, -+}; -+ -+static const struct of_device_id dglnt_dynclk_ids[] = { -+ { .compatible = "digilent,axi-dynclk", }, -+ { }, -+}; -+MODULE_DEVICE_TABLE(of, dglnt_dynclk_ids); -+ -+static int dglnt_dynclk_probe(struct platform_device *pdev) -+{ -+ const struct of_device_id *id; -+ struct dglnt_dynclk *dglnt_dynclk; -+ struct clk_init_data init; -+ const char *parent_name; -+ const char *clk_name; -+ struct resource *mem; -+ struct clk *clk; -+ -+ if (!pdev->dev.of_node) -+ return -ENODEV; -+ -+ id = of_match_node(dglnt_dynclk_ids, pdev->dev.of_node); -+ if (!id) -+ return -ENODEV; -+ -+ dglnt_dynclk = devm_kzalloc(&pdev->dev, sizeof(*dglnt_dynclk), -+ GFP_KERNEL); -+ if (!dglnt_dynclk) -+ return -ENOMEM; -+ -+ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ dglnt_dynclk->base = devm_ioremap_resource(&pdev->dev, mem); -+ if (IS_ERR(dglnt_dynclk->base)) -+ return PTR_ERR(dglnt_dynclk->base); -+ -+ parent_name = of_clk_get_parent_name(pdev->dev.of_node, 0); -+ if (!parent_name) -+ return -EINVAL; -+ -+ clk_name = pdev->dev.of_node->name; -+ of_property_read_string(pdev->dev.of_node, "clock-output-names", -+ &clk_name); -+ -+ init.name = clk_name; -+ init.ops = &dglnt_dynclk_ops; -+ init.flags = 0; -+ init.parent_names = &parent_name; -+ init.num_parents = 1; -+ -+ dglnt_dynclk->freq = 0; -+ dglnt_dynclk_disable(&dglnt_dynclk->clk_hw); -+ -+ dglnt_dynclk->clk_hw.init = &init; -+ clk = devm_clk_register(&pdev->dev, &dglnt_dynclk->clk_hw); -+ if (IS_ERR(clk)) -+ return PTR_ERR(clk); -+ -+ return of_clk_add_provider(pdev->dev.of_node, of_clk_src_simple_get, -+ clk); -+} -+ -+static int dglnt_dynclk_remove(struct platform_device *pdev) -+{ -+ of_clk_del_provider(pdev->dev.of_node); -+ -+ return 0; -+} -+ -+static struct platform_driver dglnt_dynclk_driver = { -+ .driver = { -+ .name = "dglnt-dynclk", -+ .owner = THIS_MODULE, -+ .of_match_table = dglnt_dynclk_ids, -+ }, -+ .probe = dglnt_dynclk_probe, -+ .remove = dglnt_dynclk_remove, -+}; -+module_platform_driver(dglnt_dynclk_driver); -+ -+MODULE_LICENSE("GPL v2"); -+MODULE_AUTHOR("Sam Bobrowicz "); -+MODULE_DESCRIPTION("CCF Driver for Digilent axi_dynclk IP Core"); --- -2.14.2 - diff --git a/recipes-kernel/linux/linux-xlnx/v2017.3/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch b/recipes-kernel/linux/linux-xlnx/v2017.3/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch deleted file mode 100644 index a98d84c5..00000000 --- a/recipes-kernel/linux/linux-xlnx/v2017.3/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 1a18e2b514ae9e75145597ac509a87f656c976ba Mon Sep 17 00:00:00 2001 -From: Nathan Rossi -Date: Mon, 2 May 2016 23:46:42 +1000 -Subject: [PATCH 3/3] drm: xilinx: Fix DPMS transition to on - -Fix the issues where the VTC is reset (losing its timing config). - -Also fix the issue where the plane destroys its DMA descriptors and -marks the DMA channels as inactive but never recreates the descriptors -and never updates the active state when turning DPMS back on. - -Signed-off-by: Nathan Rossi -Upstream-Status: Pending [This is a workaround] ---- - drivers/gpu/drm/xilinx/xilinx_drm_crtc.c | 1 - - drivers/gpu/drm/xilinx/xilinx_drm_plane.c | 3 ++- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c -index 631d35b921..93dbd4b58a 100644 ---- a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c -+++ b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c -@@ -88,7 +88,6 @@ static void xilinx_drm_crtc_dpms(struct drm_crtc *base_crtc, int dpms) - default: - if (crtc->vtc) { - xilinx_vtc_disable(crtc->vtc); -- xilinx_vtc_reset(crtc->vtc); - } - if (crtc->cresample) { - xilinx_cresample_disable(crtc->cresample); -diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c -index 6a248b72d4..d2518a4bdf 100644 ---- a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c -+++ b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c -@@ -140,7 +140,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane) - for (i = 0; i < MAX_NUM_SUB_PLANES; i++) { - struct xilinx_drm_plane_dma *dma = &plane->dma[i]; - -- if (dma->chan && dma->is_active) { -+ if (dma->chan) { - flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT; - desc = dmaengine_prep_interleaved_dma(dma->chan, - &dma->xt, -@@ -153,6 +153,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane) - dmaengine_submit(desc); - - dma_async_issue_pending(dma->chan); -+ dma->is_active = true; - } - } - } --- -2.14.2 - diff --git a/recipes-kernel/linux/linux-xlnx_2017.3.bb b/recipes-kernel/linux/linux-xlnx_2017.3.bb deleted file mode 100644 index 9178f970..00000000 --- a/recipes-kernel/linux/linux-xlnx_2017.3.bb +++ /dev/null @@ -1,12 +0,0 @@ -LINUX_VERSION = "4.9" -XILINX_RELEASE_VERSION = "v2017.3" -SRCREV ?= "f1b1e077d641fc83b54c1b8f168cbb58044fbd4e" - -include linux-xlnx.inc - -SRC_URI_append_zybo-linux-bd-zynq7 = " \ - file://0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch \ - file://0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch \ - file://0003-drm-xilinx-Fix-DPMS-transition-to-on.patch \ - " - diff --git a/recipes-kernel/linux/linux-yocto-dev.bbappend b/recipes-kernel/linux/linux-yocto-dev.bbappend deleted file mode 100644 index 05c39951..00000000 --- a/recipes-kernel/linux/linux-yocto-dev.bbappend +++ /dev/null @@ -1 +0,0 @@ -require linux-yocto-xilinx.inc diff --git a/recipes-kernel/linux/linux-yocto-tiny_%.bbappend b/recipes-kernel/linux/linux-yocto-tiny_%.bbappend deleted file mode 100644 index 05c39951..00000000 --- a/recipes-kernel/linux/linux-yocto-tiny_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require linux-yocto-xilinx.inc diff --git a/recipes-kernel/linux/linux-yocto-xilinx.inc b/recipes-kernel/linux/linux-yocto-xilinx.inc deleted file mode 100644 index 92093008..00000000 --- a/recipes-kernel/linux/linux-yocto-xilinx.inc +++ /dev/null @@ -1,25 +0,0 @@ -require linux-microblaze.inc - -# Add meta-xilinx kmeta -FILESEXTRAPATHS_prepend := "${THISDIR}:" -SRC_URI_append = " file://xilinx-kmeta;type=kmeta;name=xilinx-kmeta;destsuffix=xilinx-kmeta" - -# Zynq default generic KMACHINE -COMPATIBLE_MACHINE_zynq = "zynq" -KMACHINE_zynq = "zynq" - -# ZynqMP default generic KMACHINE -COMPATIBLE_MACHINE_zynqmp = "zynqmp" -KMACHINE_zynqmp = "zynqmp" - -# MicroBlaze KMACHINEs -KMACHINE_ml605-qemu-microblazeel = "qemumicroblazeel" -KMACHINE_s3adsp1800-qemu-microblazeeb = "qemumicroblazeeb" - -# MicroBlaze default generic KMACHINE -KMACHINE_microblaze = "microblaze" -COMPATIBLE_MACHINE_microblaze = "microblaze" - -# Default kernel config fragements for specific machines -KERNEL_FEATURES_append_kc705-microblazeel = " bsp/kc705-microblazeel/kc705-microblazeel.scc" - diff --git a/recipes-kernel/linux/linux-yocto_%.bbappend b/recipes-kernel/linux/linux-yocto_%.bbappend deleted file mode 100644 index 05c39951..00000000 --- a/recipes-kernel/linux/linux-yocto_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require linux-yocto-xilinx.inc diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg deleted file mode 100644 index bf7f316a..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg +++ /dev/null @@ -1,17 +0,0 @@ -CONFIG_XILINX_MICROBLAZE0_FAMILY="kintex7" - -# CPU ISA Config -CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 -CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 -CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1 -CONFIG_XILINX_MICROBLAZE0_USE_DIV=1 -CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2 -CONFIG_XILINX_MICROBLAZE0_USE_FPU=0 -CONFIG_XILINX_MICROBLAZE0_HW_VER="10.0" - -# Memory Base Address -CONFIG_KERNEL_BASE_ADDR=0x80000000 - -CONFIG_XILINX_AXI_EMAC=y -CONFIG_XILINX_PHY=y -CONFIG_BLK_DEV_INITRD=y diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.scc deleted file mode 100644 index aaf7c2af..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Kernel Config for kc705-microblazeel specific setup" -define KFEATURE_COMPATIBILITY board - -kconf hardware kc705-microblazeel.cfg diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-standard.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-standard.scc deleted file mode 100644 index 170489d4..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-standard.scc +++ /dev/null @@ -1,14 +0,0 @@ -define KMACHINE microblaze -define KTYPE standard -define KARCH microblaze - -include ktypes/standard/standard.scc - -include bsp/xilinx/soc/microblaze.scc - -# Common board drivers -include bsp/xilinx/board-common.scc - -# default policy for standard kernels -include features/latencytop/latencytop.scc -include features/profiling/profiling.scc diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-tiny.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-tiny.scc deleted file mode 100644 index 979fb86b..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/microblaze-tiny.scc +++ /dev/null @@ -1,11 +0,0 @@ -define KMACHINE microblaze -define KTYPE tiny -define KARCH microblaze - -include ktypes/tiny/tiny.scc - -include bsp/xilinx/soc/microblaze.scc - -# Common board drivers -include bsp/xilinx/board-common.scc - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.cfg deleted file mode 100644 index 0f66c8bc..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.cfg +++ /dev/null @@ -1,14 +0,0 @@ -# CMA -CONFIG_CMA=y -CONFIG_DMA_CMA=y -CONFIG_CMA_SIZE_MBYTES=128 -CONFIG_CMA_SIZE_SEL_MBYTES=y -CONFIG_CMA_ALIGNMENT=8 - -# DRM -CONFIG_DRM=y -CONFIG_DRM_XILINX=y - -# frame buffer console -CONFIG_FRAMEBUFFER_CONSOLE=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.scc deleted file mode 100644 index 56c80c3a..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-drm.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Enable Xilinx DRM support" -define KFEATURE_COMPATIBILITY board - -kconfig hardware drivers-drm.cfg diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.cfg deleted file mode 100644 index df88fce7..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.cfg +++ /dev/null @@ -1,7 +0,0 @@ - -# PCIe -CONFIG_PCI=y -CONFIG_PCI_MSI=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIE_XILINX=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.scc deleted file mode 100644 index e60047ae..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-softip-pcie.scc +++ /dev/null @@ -1,5 +0,0 @@ -define KFEATURE_DESCRIPTION "Xilinx AXI PCIe Host Bridge" -define KFEATURE_COMPATIBILITY board - -kconfig hardware drivers-softip-pcie.cfg - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-softip.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-softip.cfg deleted file mode 100644 index 5c2529a2..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-softip.cfg +++ /dev/null @@ -1,19 +0,0 @@ -# Xilinx DMA engines -CONFIG_XILINX_DMA_ENGINES=y - -# Xilinx Traffic Generator -CONFIG_XILINX_TRAFGEN=y - -# Xilinx Perfmon UIO driver -CONFIG_UIO_XILINX_APM=y - -# Interrupt controller -CONFIG_XILINX_INTC=y - -# Xilinx PHY -CONFIG_XILINX_PHY=y - -# JESD204B PHY -CONFIG_XILINX_JESD204B=y -CONFIG_XILINX_JESD204B_PHY=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynq.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynq.cfg deleted file mode 100644 index 9b70ac4e..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynq.cfg +++ /dev/null @@ -1,16 +0,0 @@ -# Devcfg -CONFIG_XILINX_DEVCFG=y - -# Ethernet -CONFIG_XILINX_PS_EMAC=y - -# SPI -CONFIG_SPI_ZYNQ_QSPI=y - -# NAND -CONFIG_MTD_NAND_PL353=y -CONFIG_MTD_NAND_PL35X=y - -# FPGA -CONFIG_XILINX_PR_DECOUPLER=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynqmp.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynqmp.cfg deleted file mode 100644 index 4cbb2050..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-xlnx-zynqmp.cfg +++ /dev/null @@ -1,67 +0,0 @@ -CONFIG_SOC_XILINX_ZYNQMP=y - -# PMU Firmware API -CONFIG_ZYNQMP_PM_API_DEBUGFS=y - -# DMA -CONFIG_DMADEVICES=y -CONFIG_XILINX_DMA_ENGINES=y -CONFIG_XILINX_DPDMA=y - -# NAND -CONFIG_MTD=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ARASAN=y - -# PCIe -CONFIG_PCI=y -CONFIG_PCI_MSI=y -CONFIG_PCIE_XILINX_NWL=y - -# CONFIG_ARM_MALI is not set - -CONFIG_PHY_XILINX_ZYNQMP=y - -# EDAC -CONFIG_EDAC=y -CONFIG_EDAC_MM_EDAC=y -CONFIG_EDAC_CORTEX_ARM64=y -CONFIG_EDAC_SYNOPSYS=y -CONFIG_EDAC_ZYNQMP_OCM=y - -# Sound -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_DRIVERS=y -CONFIG_SND_SOC=y -CONFIG_SND_SOC_XILINX_DP=y - -# Ethernet -CONFIG_MACB_EXT_BD=y - -# FPGA -CONFIG_FPGA=y -CONFIG_FPGA_MGR_ZYNQMP_FPGA=y -CONFIG_FPGA_REGION=y -CONFIG_FPGA_BRIDGE=y -CONFIG_XILINX_PR_DECOUPLER=y - -# AMS -CONFIG_XILINX_AMS=y - -# NVMEM -CONFIG_NVMEM=y -CONFIG_NVMEM_ZYNQMP=y - -# Fabric Clock -CONFIG_STAGING=y -CONFIG_XILINX_FCLK=y - -# Clock controllers -CONFIG_COMMON_CLK=y -CONFIG_COMMON_CLK_ZYNQMP=y - -# Reset controller -CONFIG_RESET_CONTROLLER=y -CONFIG_ZYNQMP_RESET_CONTROLLER=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-zynqmp.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-zynqmp.cfg deleted file mode 100644 index dc69a659..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/drivers-zynqmp.cfg +++ /dev/null @@ -1,68 +0,0 @@ - -# Bus -CONFIG_ARM_CCI400_PMU=y - -# IOMMU -CONFIG_IOMMU_SUPPORT=y -CONFIG_ARM_SMMU=y - -# Serial -CONFIG_TTY=y -CONFIG_SERIAL_EARLYCON=y -CONFIG_SERIAL_XILINX_PS_UART=y -CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y - -# Watchdog -CONFIG_WATCHDOG=y -CONFIG_CADENCE_WATCHDOG=y - -# RTC -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_ZYNQMP=y - -# Ethernet -CONFIG_NET_CADENCE=y -CONFIG_MACB=y - -# GPIO -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_ZYNQ=y - -# I2C -CONFIG_I2C=y -CONFIG_I2C_CADENCE=y - -# SPI -CONFIG_SPI=y -CONFIG_SPI_CADENCE=y -CONFIG_SPI_ZYNQMP_GQSPI=y - -# CAN -CONFIG_CAN=y -CONFIG_CAN_DEV=y -CONFIG_CAN_XILINXCAN=y - -# SATA -CONFIG_ATA=y -CONFIG_ATA_SFF=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_AHCI_CEVA=y - -# MMC/SD -CONFIG_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_OF_ARASAN=y - -# USB -CONFIG_USB=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_DWC3=y -CONFIG_USB_GADGET=y - -# DMA -CONFIG_DMA_ENGINE=y -CONFIG_XILINX_ZYNQMP_DMA=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.cfg deleted file mode 100644 index 072a3feb..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.cfg +++ /dev/null @@ -1,26 +0,0 @@ - -# Arch Feature Selections -CONFIG_ARM64=y -CONFIG_64BIT=y -CONFIG_ARCH_ZYNQMP=y - -# SMP -CONFIG_SMP=y - -# ARM 32-Bit compatiblity -CONFIG_COMPAT=y -# CONFIG_COMPAT_BRK is not set - -# CPU Frequency -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ_STAT_DETAILS=y -CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_CPUFREQ_DT=y -CONFIG_CPU_IDLE=y -CONFIG_ARM_CPUIDLE=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.scc deleted file mode 100644 index 8fcb8e62..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/soc/zynqmp.scc +++ /dev/null @@ -1,10 +0,0 @@ -define KFEATURE_DESCRIPTION "Xilinx Zynq UltraScale+ MPSoC" -define KFEATURE_COMPATIBILITY board - -include features/net/net.scc -include cfg/timer/no_hz.scc - -kconf hardware zynqmp.cfg -kconf hardware drivers-zynqmp.cfg -include bsp/xilinx/soc/drivers-softip.scc - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-standard.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-standard.scc deleted file mode 100644 index 1c9a4f3d..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-standard.scc +++ /dev/null @@ -1,15 +0,0 @@ -define KMACHINE zynqmp -define KTYPE standard -define KARCH arm64 - -include ktypes/standard/standard.scc - -include bsp/xilinx/soc/zynqmp.scc -include bsp/xilinx/board-common.scc - -include features/input/input.scc -include cfg/usb-mass-storage.scc - -# default policy for standard kernels -#include features/latencytop/latencytop.scc -#include features/profiling/profiling.scc diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-tiny.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-tiny.scc deleted file mode 100644 index 6cdfc723..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/xilinx/zynqmp-tiny.scc +++ /dev/null @@ -1,9 +0,0 @@ -define KMACHINE zynqmp -define KTYPE tiny -define KARCH arm64 - -include ktypes/tiny/tiny.scc - -include bsp/xilinx/soc/zynqmp.scc -include bsp/xilinx/board-common.scc - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.cfg b/recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.cfg deleted file mode 100644 index 37eaa4cf..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.cfg +++ /dev/null @@ -1,19 +0,0 @@ -# Keyboard GPIO support -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_GPIO_POLLED=y - -# Sound support for Zybo linux_bd project -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_SOC=y -CONFIG_SND_SOC_ADI=y -CONFIG_SND_SOC_ADI_AXI_I2S=y -CONFIG_SND_SIMPLE_CARD=y -CONFIG_SND_SOC_SSM2602_I2C=y - -# Drivers for Digilent DRM encoder -# DRM encoder -CONFIG_DRM_DIGILENT_ENCODER=y -# Common Clock Framework -CONFIG_COMMON_CLK_DGLNT_DYNCLK=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc b/recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc deleted file mode 100644 index f3e6e8b8..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc +++ /dev/null @@ -1,7 +0,0 @@ -define KFEATURE_DESCRIPTION "Kernel Config for ZYBO Linux-BD Design" -define KFEATURE_COMPATIBILITY board - -kconf hardware zybo-linux-bd-zynq7.cfg - -include bsp/xilinx/soc/drivers-drm.scc - diff --git a/recipes-kernel/linux/xilinx-kmeta/features/uio/uio.cfg b/recipes-kernel/linux/xilinx-kmeta/features/uio/uio.cfg deleted file mode 100644 index 048ffe49..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/features/uio/uio.cfg +++ /dev/null @@ -1,4 +0,0 @@ -CONFIG_UIO=y -CONFIG_UIO_PDRV_GENIRQ=y -CONFIG_UIO_DMEM_GENIRQ=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/features/uio/uio.scc b/recipes-kernel/linux/xilinx-kmeta/features/uio/uio.scc deleted file mode 100644 index 9697949a..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/features/uio/uio.scc +++ /dev/null @@ -1,5 +0,0 @@ -define KFEATURE_DESCRIPTION "Enable UIO Support" -define KFEATURE_COMPATIBILITY board - -kconfig hardware uio.cfg - diff --git a/recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.cfg b/recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.cfg deleted file mode 100644 index 49a5d6fe..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.cfg +++ /dev/null @@ -1,23 +0,0 @@ -# Media support -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_CONTROLLER=y - -# V4L -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_DEV=y -CONFIG_VIDEO_V4L2=y -CONFIG_VIDEO_V4L2_SUBDEV_API=y - -# Xilinx Video drivers -CONFIG_VIDEO_XILINX=y -CONFIG_VIDEO_XILINX_CFA=y -CONFIG_VIDEO_XILINX_CRESAMPLE=y -CONFIG_VIDEO_XILINX_HLS=y -CONFIG_VIDEO_XILINX_REMAPPER=y -CONFIG_VIDEO_XILINX_RGB2YUV=y -CONFIG_VIDEO_XILINX_SCALER=y -CONFIG_VIDEO_XILINX_SWITCH=y -CONFIG_VIDEO_XILINX_TPG=y -CONFIG_VIDEO_XILINX_VTC=y - diff --git a/recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.scc b/recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.scc deleted file mode 100644 index 6d6ba6ac..00000000 --- a/recipes-kernel/linux/xilinx-kmeta/features/v4l2/v4l2-xilinx.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Enable Xilinx V4L2 support" -define KFEATURE_COMPATIBILITY board - -kconfig hardware v4l2-xilinx.cfg \ No newline at end of file -- cgit v1.2.3-54-g00ecf