aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xb2qt-init-build-env5
-rw-r--r--conf/bblayers.conf.bbb.sample50
-rw-r--r--conf/distro/include/beaglebone.conf11
-rw-r--r--meta-beagleboard-extras/conf/layer.conf (renamed from meta-ti-extras/recipes/powervr-drivers/omap3-sgx-modules_5.01.01.02.bbappend)13
-rwxr-xr-xmeta-beagleboard-extras/recipes/linux/linux-mainline/0001-AM335x-Adding-SGX-DT-node.patch34
-rwxr-xr-xmeta-beagleboard-extras/recipes/linux/linux-mainline/0002-AM33XX-Invoke-hwmod-deassert-for-SGX-graphics-device.patch121
-rwxr-xr-xmeta-beagleboard-extras/recipes/linux/linux-mainline/0003-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch97
-rw-r--r--meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-add-support-for-perf-registers-API.diff128
-rw-r--r--meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch163
-rw-r--r--meta-beagleboard-extras/recipes/linux/linux-mainline_3.8.bbappend40
-rw-r--r--meta-beagleboard-extras/recipes/u-boot/u-boot-uenv-script.bb (renamed from meta-ti-extras/recipes/u-boot/u-boot-uenv-script.bb)0
-rw-r--r--meta-beagleboard-extras/recipes/u-boot/u-boot-uenv-script/uEnv.txt (renamed from meta-ti-extras/recipes/u-boot/u-boot-uenv-script/uEnv.txt)0
-rw-r--r--meta-ti-extras/recipes/linux/linux-ti-staging_3.14.bbappend4
-rw-r--r--meta-ti-extras/recipes/powervr-drivers/omap3-sgx-modules/0001-Rename-omap_dss_device-output-to-src.patch25
-rwxr-xr-xscripts/setup-environment.sh5
15 files changed, 659 insertions, 37 deletions
diff --git a/b2qt-init-build-env b/b2qt-init-build-env
index f32900df..8541c726 100755
--- a/b2qt-init-build-env
+++ b/b2qt-init-build-env
@@ -104,9 +104,12 @@ get_groups() {
tibidabo)
PROJECT_GROUPS="architech"
;;
- beaglebone|beagleboard|am335x-evm)
+ beagleboard|am335x-evm)
PROJECT_GROUPS="ti"
;;
+ beaglebone)
+ PROJECT_GROUPS="bbb"
+ ;;
raspberrypi|raspberrypi2|raspberrypi3)
PROJECT_GROUPS="rpi"
;;
diff --git a/conf/bblayers.conf.bbb.sample b/conf/bblayers.conf.bbb.sample
new file mode 100644
index 00000000..2fc15013
--- /dev/null
+++ b/conf/bblayers.conf.bbb.sample
@@ -0,0 +1,50 @@
+##############################################################################
+##
+## Copyright (C) 2016 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the Boot to Qt meta layer.
+##
+## $QT_BEGIN_LICENSE:COMM$
+##
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## $QT_END_LICENSE$
+##
+##############################################################################
+
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "6"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}"
+
+BBLAYERS ?= " \
+ ${BSPDIR}/sources/poky/meta \
+ ${BSPDIR}/sources/poky/meta-yocto \
+ ${BSPDIR}/sources/meta-beagleboard/common-bsp \
+ ${BSPDIR}/sources/meta-ti \
+ ${BSPDIR}/sources/meta-fsl-arm \
+ ${BSPDIR}/sources/meta-openembedded/meta-oe \
+ ${BSPDIR}/sources/meta-openembedded/meta-python \
+ ${BSPDIR}/sources/meta-openembedded/meta-networking \
+ ${BSPDIR}/sources/meta-openembedded/meta-initramfs \
+ ${BSPDIR}/sources/meta-openembedded/meta-multimedia \
+ ${BSPDIR}/sources/meta-b2qt \
+ ${BSPDIR}/sources/meta-b2qt/meta-ti-extras \
+ ${BSPDIR}/sources/meta-b2qt/meta-beagleboard-extras \
+ ${BSPDIR}/sources/meta-mingw \
+ ${BSPDIR}/sources/meta-qt5 \
+ "
+BBLAYERS_NON_REMOVABLE ?= " \
+ ${BSPDIR}/sources/poky/meta \
+ ${BSPDIR}/sources/poky/meta-yocto \
+ "
diff --git a/conf/distro/include/beaglebone.conf b/conf/distro/include/beaglebone.conf
index 1627f37b..8a2c3e23 100644
--- a/conf/distro/include/beaglebone.conf
+++ b/conf/distro/include/beaglebone.conf
@@ -34,14 +34,17 @@ EXTRA_IMAGEDEPENDS += "u-boot-uenv-script"
DISTRO_FEATURES_remove = "webengine"
-PREFERRED_VERSION_linux-ti-staging = "3.14%"
-
-PREFERRED_VERSION_libgles-omap3 = "5.01.01.02"
-PREFERRED_VERSION_omap3-sgx-modules = "5.01.01.02"
+PREFERRED_VERSION_libgles-omap3 = "4.10.00.01"
+PREFERRED_VERSION_omap3-sgx-modules = "4.10.00.01"
PREFERRED_PROVIDER_virtual/egl = "libgles-omap3"
PREFERRED_PROVIDER_virtual/libgles2 = "libgles-omap3"
+PREFERRED_PROVIDER_u-boot = "u-boot"
+EXTRA_IMAGEDEPENDS_remove = "u-boot-denx"
+UBOOT_MACHINE = "am335x_boneblack_config"
+KERNEL_IMAGETYPE = "zImage"
+
MACHINE_EXTRA_INSTALL = "\
libgles-omap3 \
libgles-omap3-rawdemos \
diff --git a/meta-ti-extras/recipes/powervr-drivers/omap3-sgx-modules_5.01.01.02.bbappend b/meta-beagleboard-extras/conf/layer.conf
index 0fad0306..1f7639f6 100644
--- a/meta-ti-extras/recipes/powervr-drivers/omap3-sgx-modules_5.01.01.02.bbappend
+++ b/meta-beagleboard-extras/conf/layer.conf
@@ -19,5 +19,14 @@
##
##############################################################################
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI += "file://0001-Rename-omap_dss_device-output-to-src.patch"
+# We have a conf and classes directory, append to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have a recipes directory, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
+ ${LAYERDIR}/recipes*/*/*.bbappend \
+ "
+
+BBFILE_COLLECTIONS += "b2qt_bb"
+BBFILE_PATTERN_b2qt_bb := "^${LAYERDIR}/"
+BBFILE_PRIORITY_b2qt_bb = "20"
diff --git a/meta-beagleboard-extras/recipes/linux/linux-mainline/0001-AM335x-Adding-SGX-DT-node.patch b/meta-beagleboard-extras/recipes/linux/linux-mainline/0001-AM335x-Adding-SGX-DT-node.patch
new file mode 100755
index 00000000..97ce0009
--- /dev/null
+++ b/meta-beagleboard-extras/recipes/linux/linux-mainline/0001-AM335x-Adding-SGX-DT-node.patch
@@ -0,0 +1,34 @@
+From 1400fbf3e8e02eb1efd210a892a0d602061c7ca8 Mon Sep 17 00:00:00 2001
+From: Prathap M S <msprathap@ti.com>
+Date: Mon, 2 Sep 2013 11:42:13 +0530
+Subject: [PATCH 1/3] AM335x : Adding SGX DT node
+
+This adds the SGX DT node for AM335x.
+
+Signed-off-by: Prathap M S <msprathap@ti.com>
+---
+ arch/arm/boot/dts/am33xx.dtsi | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
+index 17e0da8..74c6e41 100644
+--- a/arch/arm/boot/dts/am33xx.dtsi
++++ b/arch/arm/boot/dts/am33xx.dtsi
+@@ -96,6 +96,14 @@
+ reg = <0x48200000 0x1000>;
+ };
+
++ sgx@0x56000000 {
++ compatible = "ti,sgx";
++ ti,hwmods = "gfx";
++ clock-frequency = <200000000>;
++ reg = <0x56000000 0x1000000>;
++ interrupts = <37>;
++ };
++
+ edma: edma@49000000 {
+ compatible = "ti,edma3";
+ ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
+--
+1.7.1
+
diff --git a/meta-beagleboard-extras/recipes/linux/linux-mainline/0002-AM33XX-Invoke-hwmod-deassert-for-SGX-graphics-device.patch b/meta-beagleboard-extras/recipes/linux/linux-mainline/0002-AM33XX-Invoke-hwmod-deassert-for-SGX-graphics-device.patch
new file mode 100755
index 00000000..05672d3a
--- /dev/null
+++ b/meta-beagleboard-extras/recipes/linux/linux-mainline/0002-AM33XX-Invoke-hwmod-deassert-for-SGX-graphics-device.patch
@@ -0,0 +1,121 @@
+From 4179cd27a2caa23688646e043e2872e89c9a7bc7 Mon Sep 17 00:00:00 2001
+From: Prathap M S <msprathap@ti.com>
+Date: Mon, 2 Sep 2013 11:52:03 +0530
+Subject: [PATCH 2/3] AM33XX : Invoke hwmod deassert for SGX(graphics device)
+
+By default reset is asserted for SGX.
+Adding gpu.c file introducing omap_sgx_init_of() for deasserting SGX reset.
+This calls omap_device_deassert_hardreset() for deasserting the reset for SGX.
+
+Signed-off-by: Prathap M S <msprathap@ti.com>
+---
+ arch/arm/mach-omap2/Makefile | 2 +-
+ arch/arm/mach-omap2/board-generic.c | 4 +++
+ arch/arm/mach-omap2/common.h | 1 +
+ arch/arm/mach-omap2/gpu.c | 48 +++++++++++++++++++++++++++++++++++
+ 4 files changed, 54 insertions(+), 1 deletions(-)
+ create mode 100644 arch/arm/mach-omap2/gpu.c
+
+diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
+index d4f6715..b65cc56 100644
+--- a/arch/arm/mach-omap2/Makefile
++++ b/arch/arm/mach-omap2/Makefile
+@@ -8,7 +8,7 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
+ # Common support
+ obj-y := id.o io.o control.o mux.o devices.o fb.o serial.o gpmc.o timer.o pm.o \
+ common.o gpio.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \
+- omap_device.o sram.o
++ omap_device.o sram.o gpu.o
+
+ omap-2-3-common = irq.o
+ hwmod-common = omap_hwmod.o omap_hwmod_reset.o \
+diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
+index be5d005..e2b3981 100644
+--- a/arch/arm/mach-omap2/board-generic.c
++++ b/arch/arm/mach-omap2/board-generic.c
+@@ -22,6 +22,7 @@
+ #include "common.h"
+ #include "common-board-devices.h"
+ #include "dss-common.h"
++#include "soc.h"
+
+ #if !(defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3))
+ #define intc_of_init NULL
+@@ -50,6 +50,8 @@ static void __init omap_generic_init(void)
+ omap4_panda_display_init_of();
+ else if (of_machine_is_compatible("ti,omap4-sdp"))
+ omap_4430sdp_display_init_of();
++ if (omap3_has_sgx())
++ omap_sgx_init_of();
+ }
+
+ #ifdef CONFIG_SOC_OMAP2420
+diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
+index dfcc182..7d2f04e 100644
+--- a/arch/arm/mach-omap2/common.h
++++ b/arch/arm/mach-omap2/common.h
+@@ -296,6 +296,7 @@ extern void omap_reserve(void);
+
+ struct omap_hwmod;
+ extern int omap_dss_reset(struct omap_hwmod *);
++void __init omap_sgx_init_of(void);
+
+ /* SoC specific clock initializer */
+ extern int (*omap_clk_init)(void);
+diff --git a/arch/arm/mach-omap2/gpu.c b/arch/arm/mach-omap2/gpu.c
+new file mode 100644
+index 0000000..98a66cf
+--- /dev/null
++++ b/arch/arm/mach-omap2/gpu.c
+@@ -0,0 +1,48 @@
++/*
++ * Deassert reset for AM33xx graphics device(SGX) hwmod
++ *
++ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
++ * Prathap MS <msprathap@ti.com>
++ *
++ * 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 version 2.
++ *
++ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
++ * kind, whether express or implied; without even the implied warranty
++ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ */
++#include <linux/of_platform.h>
++#include "omap_device.h"
++
++void __init omap_sgx_init_of(void)
++{
++ struct device_node *node;
++ struct platform_device *pdev;
++ int ret = 0;
++ node = of_find_compatible_node(NULL, NULL, "ti,sgx");
++ if (!node)
++ return;
++ pdev = of_find_device_by_node(node);
++ if (!pdev) {
++ pr_warn("of_find_device_by_node() failed for sgx\n");
++ return;
++ }
++ ret = omap_device_deassert_hardreset(pdev, "gfx");
++ if (ret != 0)
++ pr_warn("omap_device_deassert_hardreset() failed for sgx(gfx hwmod)\n");
++
++ node = of_find_compatible_node(NULL, NULL, "ti,am335x-timer");
++ if (!node)
++ return;
++ pdev = of_find_device_by_node(node);
++ if (!pdev) {
++ pr_warn("of_find_device_by_node() failed for sgx\n");
++ return;
++ }
++ ret = omap_device_deassert_hardreset(pdev, "timer7");
++ if (ret != 0)
++ pr_warn("omap_device_deassert_hardreset() failed for sgx(gfx hwmod)\n");
++}
++
+--
+1.7.1
+
diff --git a/meta-beagleboard-extras/recipes/linux/linux-mainline/0003-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch b/meta-beagleboard-extras/recipes/linux/linux-mainline/0003-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch
new file mode 100755
index 00000000..c4259825
--- /dev/null
+++ b/meta-beagleboard-extras/recipes/linux/linux-mainline/0003-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch
@@ -0,0 +1,97 @@
+From 0f4e7d4b7d7314b38a9fd3497d7d4e0c36d19bff Mon Sep 17 00:00:00 2001
+From: Prathap M S <msprathap@ti.com>
+Date: Mon, 2 Sep 2013 12:05:23 +0530
+Subject: [PATCH 3/3] video: da8xx-fb: Add API to register wait for vsync callback
+
+This patch adds APIs to register and unregister wait for vsync callback.
+This is derived from commit id 2d44302545da24fd22912d964102bc31a7489e97
+This commit id was part of 3.2 kernel sources.
+
+Signed-off-by: Prathap M S <msprathap@ti.com>
+---
+ drivers/video/da8xx-fb.c | 33 +++++++++++++++++++++++++++++++++
+ include/video/da8xx-fb.h | 4 ++++
+ 2 files changed, 37 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
+index 131cf4c..ef06b85 100644
+--- a/drivers/video/da8xx-fb.c
++++ b/drivers/video/da8xx-fb.c
+@@ -199,6 +199,9 @@ static struct fb_fix_screeninfo da8xx_fb_fix = {
+ .accel = FB_ACCEL_NONE
+ };
+
++static vsync_callback_t vsync_cb_handler;
++static void *vsync_cb_arg;
++
+ static struct fb_videomode known_lcd_panels[] = {
+ /* Sharp LCD035Q3DG01 */
+ [0] = {
+@@ -806,6 +809,32 @@ static int lcd_init(struct da8xx_fb_par *par, const struct lcd_ctrl_config *cfg,
+ return 0;
+ }
+
++int register_vsync_cb(vsync_callback_t handler, void *arg, int idx)
++{
++ if ((vsync_cb_handler == NULL) && (vsync_cb_arg == NULL)) {
++ vsync_cb_arg = arg;
++ vsync_cb_handler = handler;
++ } else {
++ return -EEXIST;
++ }
++
++ return 0;
++}
++EXPORT_SYMBOL(register_vsync_cb);
++
++int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx)
++{
++ if ((vsync_cb_handler == handler) && (vsync_cb_arg == arg)) {
++ vsync_cb_handler = NULL;
++ vsync_cb_arg = NULL;
++ } else {
++ return -ENXIO;
++ }
++
++ return 0;
++}
++EXPORT_SYMBOL(unregister_vsync_cb);
++
+ /* IRQ handler for version 2 of LCDC */
+ static irqreturn_t lcdc_irq_handler_rev02(int irq, void *arg)
+ {
+@@ -843,6 +872,8 @@ static irqreturn_t lcdc_irq_handler_rev02(int irq, void *arg)
+ LCD_DMA_FRM_BUF_CEILING_ADDR_0_REG);
+ par->vsync_flag = 1;
+ wake_up_interruptible(&par->vsync_wait);
++ if (vsync_cb_handler)
++ vsync_cb_handler(vsync_cb_arg);
+ }
+
+ if (stat & LCD_END_OF_FRAME1) {
+@@ -918,6 +949,8 @@ static irqreturn_t lcdc_irq_handler_rev01(int irq, void *arg)
+ LCD_DMA_FRM_BUF_CEILING_ADDR_1_REG);
+ par->vsync_flag = 1;
+ wake_up_interruptible(&par->vsync_wait);
++ if (vsync_cb_handler)
++ vsync_cb_handler(vsync_cb_arg);
+ }
+ }
+
+diff --git a/include/video/da8xx-fb.h b/include/video/da8xx-fb.h
+index efed3c3..a6cc484 100644
+--- a/include/video/da8xx-fb.h
++++ b/include/video/da8xx-fb.h
+@@ -91,5 +91,9 @@ struct lcd_sync_arg {
+ /* Proprietary FB_SYNC_ flags */
+ #define FB_SYNC_CLK_INVERT 0x40000000
+
++typedef void (*vsync_callback_t)(void *arg);
++int register_vsync_cb(vsync_callback_t handler, void *arg, int idx);
++int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx);
++
+ #endif /* ifndef DA8XX_FB_H */
+
+--
+1.7.1
+
diff --git a/meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-add-support-for-perf-registers-API.diff b/meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-add-support-for-perf-registers-API.diff
new file mode 100644
index 00000000..13b251ae
--- /dev/null
+++ b/meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-add-support-for-perf-registers-API.diff
@@ -0,0 +1,128 @@
+From 8221f36672b7a1336c2bf245c394f0b5453784a1 Mon Sep 17 00:00:00 2001
+From: Will Deacon <will.deacon@arm.com>
+Date: Thu, 26 Sep 2013 12:36:35 +0100
+Subject: [PATCH] ARM: perf: add support for perf registers API
+
+This patch implements the functions required for the perf registers API,
+allowing the perf tool to interface kernel register dumps with libunwind
+in order to provide userspace backtracing.
+
+B2Qt: Backported for 3.8 kernel
+
+Cc: Jean Pihet <jean.pihet@linaro.org>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+---
+ arch/arm/Kconfig | 2 ++
+ arch/arm/include/uapi/asm/Kbuild | 1 +
+ arch/arm/include/uapi/asm/perf_regs.h | 23 +++++++++++++++++++++++
+ arch/arm/kernel/Makefile | 1 +
+ arch/arm/kernel/perf_regs.c | 30 ++++++++++++++++++++++++++++++
+ 5 files changed, 57 insertions(+)
+ create mode 100644 arch/arm/include/uapi/asm/perf_regs.h
+ create mode 100644 arch/arm/kernel/perf_regs.c
+
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index 67874b8..6f630be 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -46,6 +46,8 @@ config ARM
+ select HAVE_MEMBLOCK
+ select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
+ select HAVE_PERF_EVENTS
++ select HAVE_PERF_REGS
++ select HAVE_PERF_USER_STACK_DUMP
+ select HAVE_REGS_AND_STACK_ACCESS_API
+ select HAVE_SYSCALL_TRACEPOINTS
+ select HAVE_UID16
+diff --git a/arch/arm/include/uapi/asm/Kbuild b/arch/arm/include/uapi/asm/Kbuild
+index 47bcb2d..570b82f 100644
+--- a/arch/arm/include/uapi/asm/Kbuild
++++ b/arch/arm/include/uapi/asm/Kbuild
+@@ -8,6 +8,7 @@ header-y += hwcap.h
+ header-y += ioctls.h
+ header-y += kvm_para.h
+ header-y += mman.h
++header-y += perf_regs.h
+ header-y += posix_types.h
+ header-y += ptrace.h
+ header-y += setup.h
+diff --git a/arch/arm/include/uapi/asm/perf_regs.h b/arch/arm/include/uapi/asm/perf_regs.h
+new file mode 100644
+index 0000000..ce59448
+--- /dev/null
++++ b/arch/arm/include/uapi/asm/perf_regs.h
+@@ -0,0 +1,23 @@
++#ifndef _ASM_ARM_PERF_REGS_H
++#define _ASM_ARM_PERF_REGS_H
++
++enum perf_event_arm_regs {
++ PERF_REG_ARM_R0,
++ PERF_REG_ARM_R1,
++ PERF_REG_ARM_R2,
++ PERF_REG_ARM_R3,
++ PERF_REG_ARM_R4,
++ PERF_REG_ARM_R5,
++ PERF_REG_ARM_R6,
++ PERF_REG_ARM_R7,
++ PERF_REG_ARM_R8,
++ PERF_REG_ARM_R9,
++ PERF_REG_ARM_R10,
++ PERF_REG_ARM_FP,
++ PERF_REG_ARM_IP,
++ PERF_REG_ARM_SP,
++ PERF_REG_ARM_LR,
++ PERF_REG_ARM_PC,
++ PERF_REG_ARM_MAX,
++};
++#endif /* _ASM_ARM_PERF_REGS_H */
+diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
+index 5bbec7b..c6ab18f 100644
+--- a/arch/arm/kernel/Makefile
++++ b/arch/arm/kernel/Makefile
+@@ -69,6 +69,7 @@ obj-$(CONFIG_CPU_XSC3) += xscale-cp0.o
+ obj-$(CONFIG_CPU_MOHAWK) += xscale-cp0.o
+ obj-$(CONFIG_CPU_PJ4) += pj4-cp0.o
+ obj-$(CONFIG_IWMMXT) += iwmmxt.o
++obj-$(CONFIG_PERF_EVENTS) += perf_regs.o
+ obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o perf_event_cpu.o
+ AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt
+ obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o
+diff --git a/arch/arm/kernel/perf_regs.c b/arch/arm/kernel/perf_regs.c
+new file mode 100644
+index 0000000..6e4379c
+--- /dev/null
++++ b/arch/arm/kernel/perf_regs.c
+@@ -0,0 +1,30 @@
++
++#include <linux/errno.h>
++#include <linux/kernel.h>
++#include <linux/perf_event.h>
++#include <linux/bug.h>
++#include <asm/perf_regs.h>
++#include <asm/ptrace.h>
++
++u64 perf_reg_value(struct pt_regs *regs, int idx)
++{
++ if (WARN_ON_ONCE((u32)idx >= PERF_REG_ARM_MAX))
++ return 0;
++
++ return regs->uregs[idx];
++}
++
++#define REG_RESERVED (~((1ULL << PERF_REG_ARM_MAX) - 1))
++
++int perf_reg_validate(u64 mask)
++{
++ if (!mask || mask & REG_RESERVED)
++ return -EINVAL;
++
++ return 0;
++}
++
++u64 perf_reg_abi(struct task_struct *task)
++{
++ return PERF_SAMPLE_REGS_ABI_32;
++}
+--
+1.9.1
+
diff --git a/meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch b/meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch
new file mode 100644
index 00000000..e3e8d21f
--- /dev/null
+++ b/meta-beagleboard-extras/recipes/linux/linux-mainline/ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch
@@ -0,0 +1,163 @@
+From 26f603c457e0af9f5f6a0ddda66e69978c7f43b4 Mon Sep 17 00:00:00 2001
+From: Will Deacon <will.deacon@arm.com>
+Date: Thu, 26 Sep 2013 12:36:36 +0100
+Subject: [PATCH] ARM: perf: wire up perf_regs and unwind support for ARM
+
+This patch hooks in the perf_regs and libunwind code for ARM.
+
+B2Qt: Backported for 3.8 kernel
+
+Cc: Jean Pihet <jean.pihet@linaro.org>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+---
+ tools/perf/Makefile | 4 +++
+ tools/perf/arch/arm/Makefile | 3 ++
+ tools/perf/arch/arm/include/perf_regs.h | 54 +++++++++++++++++++++++++++++++++
+ tools/perf/arch/arm/util/unwind.c | 48 +++++++++++++++++++++++++++++
+ 4 files changed, 109 insertions(+)
+ create mode 100644 tools/perf/arch/arm/include/perf_regs.h
+ create mode 100644 tools/perf/arch/arm/util/unwind.c
+
+diff --git a/tools/perf/Makefile b/tools/perf/Makefile
+index fb1b1c4..316c575 100644
+--- a/tools/perf/Makefile
++++ b/tools/perf/Makefile
+@@ -84,6 +84,10 @@ ifeq ($(ARCH),x86_64)
+ NO_PERF_REGS := 0
+ LIBUNWIND_LIBS = -lunwind -lunwind-x86_64
+ endif
++ifeq ($(ARCH),arm)
++ NO_PERF_REGS := 0
++ LIBUNWIND_LIBS = -lunwind -lunwind-arm
++endif
+
+ # Treat warnings as errors unless directed not to
+ ifneq ($(WERROR),0)
+diff --git a/tools/perf/arch/arm/Makefile b/tools/perf/arch/arm/Makefile
+index 15130b5..fe9b61e 100644
+--- a/tools/perf/arch/arm/Makefile
++++ b/tools/perf/arch/arm/Makefile
+@@ -2,3 +2,6 @@ ifndef NO_DWARF
+ PERF_HAVE_DWARF_REGS := 1
+ LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/dwarf-regs.o
+ endif
++ifndef NO_LIBUNWIND
++LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/unwind.o
++endif
+diff --git a/tools/perf/arch/arm/include/perf_regs.h b/tools/perf/arch/arm/include/perf_regs.h
+new file mode 100644
+index 0000000..2a1cfde
+--- /dev/null
++++ b/tools/perf/arch/arm/include/perf_regs.h
+@@ -0,0 +1,54 @@
++#ifndef ARCH_PERF_REGS_H
++#define ARCH_PERF_REGS_H
++
++#include <stdlib.h>
++#include "../../util/types.h"
++#include <asm/perf_regs.h>
++
++#define PERF_REGS_MASK ((1ULL << PERF_REG_ARM_MAX) - 1)
++#define PERF_REG_IP PERF_REG_ARM_PC
++#define PERF_REG_SP PERF_REG_ARM_SP
++
++static inline const char *perf_reg_name(int id)
++{
++ switch (id) {
++ case PERF_REG_ARM_R0:
++ return "r0";
++ case PERF_REG_ARM_R1:
++ return "r1";
++ case PERF_REG_ARM_R2:
++ return "r2";
++ case PERF_REG_ARM_R3:
++ return "r3";
++ case PERF_REG_ARM_R4:
++ return "r4";
++ case PERF_REG_ARM_R5:
++ return "r5";
++ case PERF_REG_ARM_R6:
++ return "r6";
++ case PERF_REG_ARM_R7:
++ return "r7";
++ case PERF_REG_ARM_R8:
++ return "r8";
++ case PERF_REG_ARM_R9:
++ return "r9";
++ case PERF_REG_ARM_R10:
++ return "r10";
++ case PERF_REG_ARM_FP:
++ return "fp";
++ case PERF_REG_ARM_IP:
++ return "ip";
++ case PERF_REG_ARM_SP:
++ return "sp";
++ case PERF_REG_ARM_LR:
++ return "lr";
++ case PERF_REG_ARM_PC:
++ return "pc";
++ default:
++ return NULL;
++ }
++
++ return NULL;
++}
++
++#endif /* ARCH_PERF_REGS_H */
+diff --git a/tools/perf/arch/arm/util/unwind.c b/tools/perf/arch/arm/util/unwind.c
+new file mode 100644
+index 0000000..da3dc95
+--- /dev/null
++++ b/tools/perf/arch/arm/util/unwind.c
+@@ -0,0 +1,48 @@
++
++#include <errno.h>
++#include <libunwind.h>
++#include "perf_regs.h"
++#include "../../util/unwind.h"
++
++int unwind__arch_reg_id(int regnum)
++{
++ switch (regnum) {
++ case UNW_ARM_R0:
++ return PERF_REG_ARM_R0;
++ case UNW_ARM_R1:
++ return PERF_REG_ARM_R1;
++ case UNW_ARM_R2:
++ return PERF_REG_ARM_R2;
++ case UNW_ARM_R3:
++ return PERF_REG_ARM_R3;
++ case UNW_ARM_R4:
++ return PERF_REG_ARM_R4;
++ case UNW_ARM_R5:
++ return PERF_REG_ARM_R5;
++ case UNW_ARM_R6:
++ return PERF_REG_ARM_R6;
++ case UNW_ARM_R7:
++ return PERF_REG_ARM_R7;
++ case UNW_ARM_R8:
++ return PERF_REG_ARM_R8;
++ case UNW_ARM_R9:
++ return PERF_REG_ARM_R9;
++ case UNW_ARM_R10:
++ return PERF_REG_ARM_R10;
++ case UNW_ARM_R11:
++ return PERF_REG_ARM_FP;
++ case UNW_ARM_R12:
++ return PERF_REG_ARM_IP;
++ case UNW_ARM_R13:
++ return PERF_REG_ARM_SP;
++ case UNW_ARM_R14:
++ return PERF_REG_ARM_LR;
++ case UNW_ARM_R15:
++ return PERF_REG_ARM_PC;
++ default:
++ pr_err("unwind: invalid reg id %d\n", regnum);
++ return -EINVAL;
++ }
++
++ return -EINVAL;
++}
+--
+1.9.1
+
diff --git a/meta-beagleboard-extras/recipes/linux/linux-mainline_3.8.bbappend b/meta-beagleboard-extras/recipes/linux/linux-mainline_3.8.bbappend
new file mode 100644
index 00000000..a945ea8c
--- /dev/null
+++ b/meta-beagleboard-extras/recipes/linux/linux-mainline_3.8.bbappend
@@ -0,0 +1,40 @@
+##############################################################################
+##
+## Copyright (C) 2016 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the Boot to Qt meta layer.
+##
+## $QT_BEGIN_LICENSE:COMM$
+##
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## $QT_END_LICENSE$
+##
+##############################################################################
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI += "\
+ file://0001-AM335x-Adding-SGX-DT-node.patch \
+ file://0002-AM33XX-Invoke-hwmod-deassert-for-SGX-graphics-device.patch \
+ file://0003-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch \
+ file://ARM-perf-add-support-for-perf-registers-API.diff \
+ file://ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch \
+ "
+
+INSANE_SKIP_${PN} = "installed-vs-shipped"
+KERNEL_IMAGETYPE = "zImage"
+B = "${S}"
+
+do_configure_prepend() {
+ sed -e '/CONFIG_USB_FUNCTIONFS_ETH=/d' \
+ -e '/CONFIG_USB_FUNCTIONFS_RNDIS=/d' \
+ -i ${WORKDIR}/defconfig
+ echo "CONFIG_FHANDLE=y" >> ${WORKDIR}/defconfig
+}
diff --git a/meta-ti-extras/recipes/u-boot/u-boot-uenv-script.bb b/meta-beagleboard-extras/recipes/u-boot/u-boot-uenv-script.bb
index 56955611..56955611 100644
--- a/meta-ti-extras/recipes/u-boot/u-boot-uenv-script.bb
+++ b/meta-beagleboard-extras/recipes/u-boot/u-boot-uenv-script.bb
diff --git a/meta-ti-extras/recipes/u-boot/u-boot-uenv-script/uEnv.txt b/meta-beagleboard-extras/recipes/u-boot/u-boot-uenv-script/uEnv.txt
index d41ef600..d41ef600 100644
--- a/meta-ti-extras/recipes/u-boot/u-boot-uenv-script/uEnv.txt
+++ b/meta-beagleboard-extras/recipes/u-boot/u-boot-uenv-script/uEnv.txt
diff --git a/meta-ti-extras/recipes/linux/linux-ti-staging_3.14.bbappend b/meta-ti-extras/recipes/linux/linux-ti-staging_3.14.bbappend
index ee30872b..49f8f581 100644
--- a/meta-ti-extras/recipes/linux/linux-ti-staging_3.14.bbappend
+++ b/meta-ti-extras/recipes/linux/linux-ti-staging_3.14.bbappend
@@ -25,7 +25,3 @@ SRC_URI += "\
"
KERNEL_CONFIG_FRAGMENTS += "${WORKDIR}/usb-serial.cfg"
KERNEL_DEVICETREE_b2qt = "am335x-evm.dtb am335x-evmsk.dtb am335x-bone.dtb am335x-boneblack.dtb"
-
-KERNEL_GIT_URI = "git://github.com/beagleboard/linux"
-BRANCH = "3.14"
-SRCREV = "b36a2d5ca4e2859c92fac09ccedf4e42d620dda7"
diff --git a/meta-ti-extras/recipes/powervr-drivers/omap3-sgx-modules/0001-Rename-omap_dss_device-output-to-src.patch b/meta-ti-extras/recipes/powervr-drivers/omap3-sgx-modules/0001-Rename-omap_dss_device-output-to-src.patch
deleted file mode 100644
index 6b0b4c72..00000000
--- a/meta-ti-extras/recipes/powervr-drivers/omap3-sgx-modules/0001-Rename-omap_dss_device-output-to-src.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 643c4eb9f6e09f3b674990285da7fb1174d6f450 Mon Sep 17 00:00:00 2001
-From: Samuli Piippo <samuli.piippo@theqtcompany.com>
-Date: Thu, 17 Mar 2016 11:58:40 +0200
-Subject: [PATCH] Rename omap_dss_device output to src
-
----
- services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c b/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c
-index 17bf181..ebacc51 100644
---- a/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c
-+++ b/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c
-@@ -177,7 +177,7 @@ MODULE_SUPPORTED_DEVICE(DEVNAME);
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0))
- #define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->manager : NULL
- #else
--#define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->output->manager : NULL
-+#define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->src->manager : NULL
- #endif
-
- #define WAIT_FOR_VSYNC(man) ((man)->wait_for_vsync)
---
-1.9.1
-
diff --git a/scripts/setup-environment.sh b/scripts/setup-environment.sh
index 7f0f5066..9e8c4d18 100755
--- a/scripts/setup-environment.sh
+++ b/scripts/setup-environment.sh
@@ -60,9 +60,12 @@ if [ ! -f ${PWD}/${BUILDDIRECTORY}/conf/bblayers.conf ]; then
tibidabo)
LAYERSCONF="bblayers.conf.tibidabo.sample"
;;
- beaglebone|beagleboard|am335x-evm)
+ beagleboard|am335x-evm)
LAYERSCONF="bblayers.conf.ti.sample"
;;
+ beaglebone)
+ LAYERSCONF="bblayers.conf.bbb.sample"
+ ;;
raspberrypi|raspberrypi2|raspberrypi3)
LAYERSCONF="bblayers.conf.rpi.sample"
;;