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