summaryrefslogtreecommitdiffstats
path: root/meta-vib3-extras
diff options
context:
space:
mode:
authorTeemu Holappa <teemu.holappa@theqtcompany.com>2016-04-13 15:47:51 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2016-05-05 08:16:14 +0000
commit86ce53afdeb5fbf863100231b83521bf34375930 (patch)
tree2926e8631c2197bdcb10a35c0d31cf5c4e078945 /meta-vib3-extras
parent5800a3bfe48a2092ac3b8cf250f04840a6397f3f (diff)
downloadmeta-boot2qt-86ce53afdeb5fbf863100231b83521bf34375930.tar.gz
Fix to NVidia's tegra configurations.
Changed both nvidia-logan and tegra-t18x to use the same metalayer from the Vibrante 4.0 SDK. Kernel sources and libraries are stored into the internal CI repository. These definitions can be overridden by SDK folder using following environment variables: export KERN_DIR=~/Vibrante4.0_RC1/vibrante-t186ref-linux_src/kernel export PLATFORM_TOPDIR=~/Vibrante4.0_RC1/vibrante-t186ref-linux export TOOLCHAIN_PATH=~/Vibrante4.0_RC1/toolchains/tegra-4.9-nv export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE TOOLCHAIN_PATH KERN_DIR PLATFORM_TOPDIR" Change-Id: If58a0fcbe01daa9a55dd041b79a9d80a90fde284 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Diffstat (limited to 'meta-vib3-extras')
-rw-r--r--meta-vib3-extras/conf/layer.conf32
-rw-r--r--meta-vib3-extras/recipes/graphics-fw/graphics-fw_1.0.bbappend26
-rw-r--r--meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend9
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch52
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch133
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch20
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch11
-rw-r--r--meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend57
-rw-r--r--meta-vib3-extras/recipes/qt5/qtbase_git.bbappend23
9 files changed, 363 insertions, 0 deletions
diff --git a/meta-vib3-extras/conf/layer.conf b/meta-vib3-extras/conf/layer.conf
new file mode 100644
index 0000000..8a3341f
--- /dev/null
+++ b/meta-vib3-extras/conf/layer.conf
@@ -0,0 +1,32 @@
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# We have a conf and classes directory, append to BBPATH
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_vib3"
31BBFILE_PATTERN_b2qt_vib3 := "^${LAYERDIR}/"
32BBFILE_PRIORITY_b2qt_vib3 = "20"
diff --git a/meta-vib3-extras/recipes/graphics-fw/graphics-fw_1.0.bbappend b/meta-vib3-extras/recipes/graphics-fw/graphics-fw_1.0.bbappend
new file mode 100644
index 0000000..6080c3f
--- /dev/null
+++ b/meta-vib3-extras/recipes/graphics-fw/graphics-fw_1.0.bbappend
@@ -0,0 +1,26 @@
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
22SRC_URI_remove = " \
23 file://${PLATFORM_TOPDIR}/lib-target/NETB_img.bin \
24 file://${PLATFORM_TOPDIR}/lib-target/nvhost_msenc031.fw \
25 file://${PLATFORM_TOPDIR}/lib-target/vic03_ucode.bin \
26"
diff --git a/meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend b/meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend
new file mode 100644
index 0000000..3ff042b
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux-libc-headers/linux-libc-headers_4.1.bbappend
@@ -0,0 +1,9 @@
1
2# Use our kernel instead of yocto which defaults to mainline 3.10.
3# Commit id of our kernel's include/uapi directory in kernel tree -
4# 8c37e1bfe7dd26a9d4cf4510460a75264c906444
5SRC_URI = "file://${KERN_DIR}/linux.tar.bz2"
6
7# Extracting linux.tar.bz2 creates directories
8# <top>/vibrante-oss-src/kernel
9S = "${WORKDIR}/vibrante-oss-src/kernel"
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
new file mode 100644
index 0000000..ee61a74
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
@@ -0,0 +1,52 @@
1From ef372125fd64fc181869be4cf528488f9e8b46c2 Mon Sep 17 00:00:00 2001
2From: Behan Webster <behanw@converseincode.com>
3Date: Wed, 24 Sep 2014 01:06:46 +0100
4Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
5
6With compilers which follow the C99 standard (like modern versions of gcc and
7clang), "extern inline" does the wrong thing (emits code for an externally
8linkable version of the inline function). In this case using static inline
9and removing the NULL version of return_address in return_address.c does
10the right thing.
11
12Signed-off-by: Behan Webster <behanw@converseincode.com>
13Reviewed-by: Mark Charlebois <charlebm@gmail.com>
14Acked-by: Steven Rostedt <rostedt@goodmis.org>
15Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16---
17 arch/arm/include/asm/ftrace.h | 2 +-
18 arch/arm/kernel/return_address.c | 5 -----
19 2 files changed, 1 insertion(+), 6 deletions(-)
20
21diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
22index f89515a..2bb8cac 100644
23--- a/arch/arm/include/asm/ftrace.h
24+++ b/arch/arm/include/asm/ftrace.h
25@@ -45,7 +45,7 @@ void *return_address(unsigned int);
26
27 #else
28
29-extern inline void *return_address(unsigned int level)
30+static inline void *return_address(unsigned int level)
31 {
32 return NULL;
33 }
34diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
35index fafedd8..f6aa84d 100644
36--- a/arch/arm/kernel/return_address.c
37+++ b/arch/arm/kernel/return_address.c
38@@ -63,11 +63,6 @@ void *return_address(unsigned int level)
39 #warning "TODO: return_address should use unwind tables"
40 #endif
41
42-void *return_address(unsigned int level)
43-{
44- return NULL;
45-}
46-
47 #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
48
49 EXPORT_SYMBOL_GPL(return_address);
50--
511.9.1
52
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch
new file mode 100644
index 0000000..66f031f
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/0001-Change-extern-inline-to-static-inline.patch
@@ -0,0 +1,133 @@
1From 0873625fb43dda5a54919b7414f235cdfdd98ddc Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@theqtcompany.com>
3Date: Wed, 13 Apr 2016 15:42:49 +0300
4Subject: [PATCH] Change "extern inline" to "static inline"
5
6With compilers which follow the C99 standard (like modern versions of gcc and
7clang), "extern inline" does the wrong thing (emits code for an externally
8linkable version of the inline function). "static inline" is the correct choice
9instead.
10---
11 drivers/staging/rtl8192u/ieee80211/ieee80211.h | 10 +++++-----
12 drivers/staging/rtl8712/ieee80211.h | 4 ++--
13 lib/mpi/mpi-inline.h | 2 +-
14 lib/mpi/mpi-internal.h | 16 ++++++++--------
15 4 files changed, 16 insertions(+), 16 deletions(-)
16
17diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
18index 502bfdb..1c8d026 100644
19--- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h
20+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
21@@ -2254,7 +2254,7 @@ static inline void *ieee80211_priv(struct net_device *dev)
22 return ((struct ieee80211_device *)netdev_priv(dev))->priv;
23 }
24
25-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
26+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
27 {
28 /* Single white space is for Linksys APs */
29 if (essid_len == 1 && essid[0] == ' ')
30@@ -2270,7 +2270,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
31 return 1;
32 }
33
34-extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
35+static inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
36 {
37 /*
38 * It is possible for both access points and our device to support
39@@ -2296,7 +2296,7 @@ extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mod
40 return 0;
41 }
42
43-extern inline int ieee80211_get_hdrlen(u16 fc)
44+static inline int ieee80211_get_hdrlen(u16 fc)
45 {
46 int hdrlen = IEEE80211_3ADDR_LEN;
47
48@@ -2582,12 +2582,12 @@ void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee);
49
50 extern const long ieee80211_wlan_frequencies[];
51
52-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
53+static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
54 {
55 ieee->scans++;
56 }
57
58-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
59+static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
60 {
61 return ieee->scans;
62 }
63diff --git a/drivers/staging/rtl8712/ieee80211.h b/drivers/staging/rtl8712/ieee80211.h
64index 21515c3..7518061 100644
65--- a/drivers/staging/rtl8712/ieee80211.h
66+++ b/drivers/staging/rtl8712/ieee80211.h
67@@ -734,7 +734,7 @@ enum ieee80211_state {
68 #define IEEE_G (1<<2)
69 #define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G)
70
71-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
72+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
73 {
74 /* Single white space is for Linksys APs */
75 if (essid_len == 1 && essid[0] == ' ')
76@@ -748,7 +748,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
77 return 1;
78 }
79
80-extern inline int ieee80211_get_hdrlen(u16 fc)
81+static inline int ieee80211_get_hdrlen(u16 fc)
82 {
83 int hdrlen = 24;
84
85diff --git a/lib/mpi/mpi-inline.h b/lib/mpi/mpi-inline.h
86index e2b3985..c245ea3 100644
87--- a/lib/mpi/mpi-inline.h
88+++ b/lib/mpi/mpi-inline.h
89@@ -30,7 +30,7 @@
90 #define G10_MPI_INLINE_H
91
92 #ifndef G10_MPI_INLINE_DECL
93-#define G10_MPI_INLINE_DECL extern inline
94+#define G10_MPI_INLINE_DECL static inline
95 #endif
96
97 G10_MPI_INLINE_DECL mpi_limb_t
98diff --git a/lib/mpi/mpi-internal.h b/lib/mpi/mpi-internal.h
99index 77adcf6..4566d11 100644
100--- a/lib/mpi/mpi-internal.h
101+++ b/lib/mpi/mpi-internal.h
102@@ -172,20 +172,20 @@ void mpi_rshift_limbs(MPI a, unsigned int count);
103 int mpi_lshift_limbs(MPI a, unsigned int count);
104
105 /*-- mpihelp-add.c --*/
106-mpi_limb_t mpihelp_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
107- mpi_size_t s1_size, mpi_limb_t s2_limb);
108+//mpi_limb_t mpihelp_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
109+// mpi_size_t s1_size, mpi_limb_t s2_limb);
110 mpi_limb_t mpihelp_add_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
111 mpi_ptr_t s2_ptr, mpi_size_t size);
112-mpi_limb_t mpihelp_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
113- mpi_ptr_t s2_ptr, mpi_size_t s2_size);
114+//mpi_limb_t mpihelp_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
115+// mpi_ptr_t s2_ptr, mpi_size_t s2_size);
116
117 /*-- mpihelp-sub.c --*/
118-mpi_limb_t mpihelp_sub_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
119- mpi_size_t s1_size, mpi_limb_t s2_limb);
120+//mpi_limb_t mpihelp_sub_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
121+// mpi_size_t s1_size, mpi_limb_t s2_limb);
122 mpi_limb_t mpihelp_sub_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
123 mpi_ptr_t s2_ptr, mpi_size_t size);
124-mpi_limb_t mpihelp_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
125- mpi_ptr_t s2_ptr, mpi_size_t s2_size);
126+//mpi_limb_t mpihelp_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
127+// mpi_ptr_t s2_ptr, mpi_size_t s2_size);
128
129 /*-- mpihelp-cmp.c --*/
130 int mpihelp_cmp(mpi_ptr_t op1_ptr, mpi_ptr_t op2_ptr, mpi_size_t size);
131--
1321.9.1
133
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch
new file mode 100644
index 0000000..8bbc38b
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compile_error_in_tegra_drivers.patch
@@ -0,0 +1,20 @@
1--- a/drivers/platform/tegra/tegra_cl_dvfs.c 2016-04-19 13:05:46.897056724 +0300
2+++ b/drivers/platform/tegra/tegra_cl_dvfs.c 2016-04-19 12:55:28.053751626 +0300
3@@ -1021,7 +1021,7 @@
4
5 static void cl_dvfs_calibrate(struct tegra_cl_dvfs *cld)
6 {
7- u32 val, data;
8+ u32 val=0, data=0;
9 ktime_t now;
10 unsigned long rate;
11 unsigned long step = RATE_STEP(cld);
12@@ -3303,7 +3303,7 @@
13
14 static int monitor_get(void *data, u64 *val)
15 {
16- u32 v, s;
17+ u32 v=0, s=0;
18 unsigned long flags;
19 struct clk *c = (struct clk *)data;
20 struct tegra_cl_dvfs *cld = ((struct clk *)data)->u.dfll.cl_dvfs;
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch
new file mode 100644
index 0000000..fc8fe9f
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia/Fix_compiler_error_in_tegra12_lock.patch
@@ -0,0 +1,11 @@
1--- a/drivers/platform/tegra/tegra12_clocks.c 2016-04-19 13:51:34.912235128 +0300
2+++ b/drivers/platform/tegra/tegra12_clocks.c 2016-04-19 13:51:55.739478254 +0300
3@@ -1331,7 +1331,7 @@
4 */
5 static void tegra12_cpu_clk_init(struct clk *c)
6 {
7- c->state = (!is_lp_cluster() == (c->u.cpu.mode == MODE_G))? ON : OFF;
8+ c->state = ((!is_lp_cluster()) == (c->u.cpu.mode == MODE_G))? ON : OFF;
9 }
10
11 static int tegra12_cpu_clk_enable(struct clk *c)
diff --git a/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend b/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend
new file mode 100644
index 0000000..5d4b59a
--- /dev/null
+++ b/meta-vib3-extras/recipes/linux/linux-nvidia_3.10.bbappend
@@ -0,0 +1,57 @@
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 := "__default:${THISDIR}/${PN}:"
23
24DEPENDS_remove = "external-tegra-toolchain"
25do_kernel_defconfig[depends] = "kern-tools-native:do_populate_sysroot"
26
27SRC_URI += "\
28 file://0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch \
29 file://0001-Change-extern-inline-to-static-inline.patch \
30 file://Fix_compile_error_in_tegra_drivers.patch \
31 file://Fix_compiler_error_in_tegra12_lock.patch \
32 "
33
34do_compile_prepend () {
35 # Cross compiling exports
36 export ARCH=${TARGET_ARCH}
37 export CROSS_COMPILE=${CROSS_COMPILE}
38
39 echo "CONFIG_FHANDLE=y" >> ${B}/.config
40 make olddefconfig
41}
42
43do_install_append() {
44 s=$(readlink -m "${S}")
45 kernsrc="${STAGING_KERNEL_DIR}"
46
47 if [ "${s}" != "${kernsrc}" ]; then
48 mkdir -p "${kernsrc}"
49 rm -rf "${kernsrc}"
50 mv "${S}" "${STAGING_KERNEL_DIR}"
51 ln -sf "${kernsrc}" "${s}"
52 fi
53}
54
55python do_patch () {
56 bb.build.exec_func('patch_do_patch', d)
57}
diff --git a/meta-vib3-extras/recipes/qt5/qtbase_git.bbappend b/meta-vib3-extras/recipes/qt5/qtbase_git.bbappend
new file mode 100644
index 0000000..c33ee23
--- /dev/null
+++ b/meta-vib3-extras/recipes/qt5/qtbase_git.bbappend
@@ -0,0 +1,23 @@
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
22DEPENDS += "graphics-headers"
23PACKAGECONFIG += "kms"