summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xb2qt-init-build-env17
-rw-r--r--conf/bblayers.conf.tibidabo.sample1
-rw-r--r--conf/distro/include/tibidabo.conf6
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc246
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch30
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch31
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch34
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc10
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc12
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc10
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc10
-rw-r--r--meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.9-1.0.0-hfp.bb9
-rw-r--r--meta-architech-extras/recipes/imx-lib/imx-lib_3.10.9-1.0.0.bb10
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/0001-perf-tools-Fix-getrusage-related-build-failure-on-gl.patch43
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/0002-ARM-7668-1-fix-memset-related-crashes-caused-by-rece.patch259
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/0003-ARM-7670-1-fix-the-memset-fix.patch87
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/0004-ENGR00271136-Fix-build-break-when-CONFIG_CLK_DEBUG-i.patch43
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/0005-ENGR00271359-Add-Multi-touch-support.patch98
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/0006-Add-support-for-DVI-monitors.patch227
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/0007-ARM-mach-mx6-board-mx6q_sabresd-Register-SDHC3-first.patch38
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/drm-vivante-Add-00-sufix-in-returned-bus-Id.patch31
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx-3.0.35/epdc-Rename-mxcfb_epdc_kernel.h-to-mxc_epdc.h.patch143
-rw-r--r--meta-architech-extras/recipes/linux/linux-imx_3.0.35.bb35
-rw-r--r--meta-architech-extras/recipes/u-boot/u-boot-fslc_2013.10.bb25
-rw-r--r--scripts/manifest.xml10
-rw-r--r--scripts/manifest_dizzy.xml10
-rw-r--r--scripts/manifest_tibidabo.xml31
34 files changed, 1536 insertions, 54 deletions
diff --git a/b2qt-init-build-env b/b2qt-init-build-env
index c61e0c6..83776eb 100755
--- a/b2qt-init-build-env
+++ b/b2qt-init-build-env
@@ -130,20 +130,6 @@ mirror() {
130 ${REPO} sync 130 ${REPO} sync
131} 131}
132 132
133patch_poky() {
134 cd sources/poky
135 found=$(git rev-list --grep="bitbake: cooker: add support for using % as a wildcard in bbappend filename" HEAD)
136 if [ -z "$found" ]; then
137 git cherry-pick 381d5920188398bc53b2454843054c8690bca243 > /dev/null
138 fi
139
140 found=$(git rev-list --grep="bitbake: cooker: Fix support for wildcards in bbappend filenames" HEAD)
141 if [ -z "$found" ]; then
142 git cherry-pick f91a3f46a1ee586e330be0868e8fbc4d2e78d361 > /dev/null
143 fi
144 cd -
145}
146
147init() { 133init() {
148 if [ -z "${DEVICE}" ]; then 134 if [ -z "${DEVICE}" ]; then
149 echo "device not defined" 135 echo "device not defined"
@@ -153,6 +139,7 @@ init() {
153 139
154 get_groups 140 get_groups
155 mkdir -p .repo/manifests 141 mkdir -p .repo/manifests
142 rm -f .repo/manifests/manifest*.xml
156 cp ${DIR}/scripts/manifest*.xml .repo/manifests 143 cp ${DIR}/scripts/manifest*.xml .repo/manifests
157 if [ -f .repo/manifests/manifest_${DEVICE}.xml ]; then 144 if [ -f .repo/manifests/manifest_${DEVICE}.xml ]; then
158 MANIFEST="manifest_${DEVICE}.xml" 145 MANIFEST="manifest_${DEVICE}.xml"
@@ -162,8 +149,6 @@ init() {
162 ${REPO} init -u ${PWD}/.repo/repo -b default -m ${MANIFEST} -g "${PROJECT_GROUPS}" ${REFERENCE} 149 ${REPO} init -u ${PWD}/.repo/repo -b default -m ${MANIFEST} -g "${PROJECT_GROUPS}" ${REFERENCE}
163 ${REPO} sync 150 ${REPO} sync
164 151
165 patch_poky
166
167 if [ ! -e "sources/meta-b2qt" ]; then 152 if [ ! -e "sources/meta-b2qt" ]; then
168 ln -s ${DIR} sources/meta-b2qt 153 ln -s ${DIR} sources/meta-b2qt
169 fi 154 fi
diff --git a/conf/bblayers.conf.tibidabo.sample b/conf/bblayers.conf.tibidabo.sample
index 734f66a..20d049d 100644
--- a/conf/bblayers.conf.tibidabo.sample
+++ b/conf/bblayers.conf.tibidabo.sample
@@ -32,6 +32,7 @@ BBLAYERS ?= " \
32 ${BSPDIR}/sources/poky/meta \ 32 ${BSPDIR}/sources/poky/meta \
33 ${BSPDIR}/sources/poky/meta-yocto \ 33 ${BSPDIR}/sources/poky/meta-yocto \
34 ${BSPDIR}/sources/meta-fsl-arm \ 34 ${BSPDIR}/sources/meta-fsl-arm \
35 ${BSPDIR}/sources/meta-fsl-arm-extra \
35 ${BSPDIR}/sources/meta-tibidabo \ 36 ${BSPDIR}/sources/meta-tibidabo \
36 ${BSPDIR}/sources/meta-openembedded/meta-oe \ 37 ${BSPDIR}/sources/meta-openembedded/meta-oe \
37 ${BSPDIR}/sources/meta-qt5 \ 38 ${BSPDIR}/sources/meta-qt5 \
diff --git a/conf/distro/include/tibidabo.conf b/conf/distro/include/tibidabo.conf
index 1e5e7e0..abe47cb 100644
--- a/conf/distro/include/tibidabo.conf
+++ b/conf/distro/include/tibidabo.conf
@@ -20,6 +20,8 @@
20## 20##
21############################################################################# 21#############################################################################
22 22
23KERNEL_IMAGETYPE = "uImage"
24
23BOOTFS_CONTENT = "\ 25BOOTFS_CONTENT = "\
24 ${KERNEL_IMAGETYPE}:${KERNEL_IMAGETYPE} \ 26 ${KERNEL_IMAGETYPE}:${KERNEL_IMAGETYPE} \
25 bootscript:bootscript \ 27 bootscript:bootscript \
@@ -41,6 +43,4 @@ MACHINE_EXTRA_INSTALL_SDK = " \
41 libgles2-mx6-dev \ 43 libgles2-mx6-dev \
42 " 44 "
43 45
44module_autoload_mxc_v4l2_capture = "mxc_v4l2_capture" 46KERNEL_MODULE_AUTOLOAD += "mxc_v4l2_capture"
45
46BBMASK += "|meta-fsl-extras/recipes/u-boot|meta-fsl-extras/recipes/linux/linux-boundary|meta-fsl-extras/recipes/broadcom-nvram-config"
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
new file mode 100644
index 0000000..f661539
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
@@ -0,0 +1,246 @@
1# Copyright (C) 2012-2013 Freescale Semiconductor
2# Copyright (C) 2012-2013 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5DESCRIPTION = "GPU driver and apps for imx6"
6SECTION = "libs"
7LICENSE = "Proprietary"
8LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3"
9DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes mesa', '', d)}"
10PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 virtual/libopenvg"
11
12PE = "1"
13
14inherit fsl-eula-unpack
15
16SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
17 file://egl.pc \
18 file://egl_x11.pc \
19 file://glesv1_cm.pc \
20 file://glesv1_cm_x11.pc \
21 file://glesv2.pc \
22 file://glesv2_x11.pc \
23 file://vg.pc \
24 file://vg_x11.pc \
25 file://gc_wayland_protocol.pc \
26 file://wayland-egl.pc \
27 file://wayland-viv.pc \
28 "
29
30PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
31 libgl-mx6 libgl-mx6-dev libgl-mx6-dbg \
32 libgles-mx6 libgles-mx6-dev libgles-mx6-dbg \
33 libgles2-mx6 libgles2-mx6-dev libgles2-mx6-dbg \
34 libglslc-mx6 libglslc-mx6-dev libglslc-mx6-dbg \
35 libopencl-mx6 libopencl-mx6-dev libopencl-mx6-dbg \
36 libopenvg-mx6 libopenvg-mx6-dev libopenvg-mx6-dbg \
37 libvdk-mx6 libvdk-mx6-dev libvdk-mx6-dbg \
38 libegl-mx6 libegl-mx6-dev libegl-mx6-dbg \
39 libgal-mx6 libgal-mx6-dev libgal-mx6-dbg \
40 libvivante-mx6 libvivante-mx6-dev libvivante-mx6-dbg \
41 libvivante-dri-mx6 \
42 libvivante-dfb-mx6 \
43 libwayland-viv-mx6 libwayland-viv-mx6-dev libwayland-viv-mx6-dbg \
44 libgc-wayland-protocol-mx6 libgc-wayland-protocol-mx6-dev libgc-wayland-protocol-mx6-dbg \
45 libwayland-egl-mx6-dev \
46"
47
48# Skip package if it does not match the machine float-point type in use
49python __anonymous () {
50 is_machine_hardfp = base_contains("TUNE_FEATURES", "callconvention-hard", True, False, d)
51 is_package_hardfp = d.getVar("PACKAGE_FP_TYPE", True) == "hardfp"
52
53 if is_package_hardfp != is_machine_hardfp:
54 PN = d.getVar("PN", True)
55 PV = d.getVar("PV", True)
56 bb.debug(1, "Skipping %s (%s) as machine and package float-point does not match" % (PN, PV))
57 raise bb.parse.SkipPackage("Package Float-Point is not compatible with the machine")
58}
59
60USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
61USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}"
62USE_WL = "${@base_contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
63
64# Inhibit warnings about files being stripped.
65INHIBIT_PACKAGE_STRIP = "1"
66INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
67
68# FIXME: The provided binary doesn't provide soname. If in future BSP
69# release the libraries are fixed, we can drop this hack.
70REALSOLIBS := "${SOLIBS}"
71SOLIBS = "${SOLIBSDEV}"
72
73# For the packages that make up the OpenGL interfaces, inject variables so that
74# they don't get Debian-renamed (which would remove the -mx6 suffix).
75#
76# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
77# the source we cannot fix it. Disable the insane check for now.
78python __anonymous() {
79 packages = d.getVar('PACKAGES', True).split()
80 for p in packages:
81 d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
82
83 for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
84 ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
85 ("libgles3",)):
86 fullp = p[0] + "-mx6"
87 pkgs = " ".join(p)
88 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
89 d.appendVar("RREPLACES_" + fullp, pkgs)
90 d.appendVar("RPROVIDES_" + fullp, pkgs)
91 d.appendVar("RCONFLICTS_" + fullp, pkgs)
92
93 # For -dev, the first element is both the Debian and original name
94 fullp += "-dev"
95 pkgs = p[0] + "-dev"
96 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
97 d.appendVar("RREPLACES_" + fullp, pkgs)
98 d.appendVar("RPROVIDES_" + fullp, pkgs)
99 d.appendVar("RCONFLICTS_" + fullp, pkgs)
100}
101
102do_install () {
103 install -d ${D}${libdir}
104 install -d ${D}${includedir}
105
106 cp -a ${S}/usr/lib/*.so* ${D}${libdir}
107 cp -axr ${S}/usr/include/* ${D}${includedir}
108 cp -axr ${S}/opt ${D}
109
110 install -d ${D}${libdir}/pkgconfig
111
112 # The preference order, based in DISTRO_FEATURES, is x11, wayland, directfb and fb
113 if [ "${USE_X11}" = "yes" ]; then
114 cp -r ${S}/usr/lib/dri ${D}${libdir}
115 backend=x11
116
117 install -m 0644 ${WORKDIR}/egl_x11.pc ${D}${libdir}/pkgconfig/egl.pc
118 install -m 0644 ${WORKDIR}/glesv1_cm_x11.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
119 install -m 0644 ${WORKDIR}/glesv2_x11.pc ${D}${libdir}/pkgconfig/glesv2.pc
120 install -m 0644 ${WORKDIR}/vg_x11.pc ${D}${libdir}/pkgconfig/vg.pc
121 #FIXME: WL & X11 is not currently functional
122 #if [ "${USE_WL}" = "yes" ]; then
123 # install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
124 # install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
125 # install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
126 #fi
127 elif [ "${USE_WL}" = "yes" ]; then
128 backend=wl
129
130 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
131 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
132 install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
133 install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc
134 install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
135 install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
136 install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
137 else
138 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
139 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
140 install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
141 install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc
142
143 if [ "${USE_DFB}" = "yes" ]; then
144 cp -r ${S}/usr/lib/directfb-1.6-0 ${D}${libdir}
145 backend=dfb
146 else
147 # Regular framebuffer
148 backend=fb
149 fi
150 fi
151
152 # We'll only have one backend here so we rename it to generic name
153 # and avoid rework in other packages, when possible
154 mv ${D}${libdir}/libGL.so.1.2 ${D}${libdir}/libGL.so.1.2.0
155 ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1.2
156 ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so
157 mv ${D}${libdir}/libEGL-${backend}.so ${D}${libdir}/libEGL.so.1.0
158 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
159 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
160 mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
161 mv ${D}${libdir}/libVIVANTE-${backend}.so ${D}${libdir}/libVIVANTE.so
162
163 for backend in wl x11 fb dfb; do
164 find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';'
165 done
166
167 find ${D}${libdir} -type f -exec chmod 644 {} \;
168 find ${D}${includedir} -type f -exec chmod 644 {} \;
169}
170
171S = "${WORKDIR}/${PN}-${PV}"
172
173FILES_${PN} += "/opt"
174FILES_${PN}-dev = "${includedir}"
175FILES_${PN}-dbg = "${libdir}/.debug /opt/viv_samples/*/*/.debug"
176
177FILES_libclc-mx6 = "${libdir}/libCLC${SOLIBS}"
178FILES_libclc-mx6-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
179FILES_libclc-mx6-dbg = "${libdir}/.debug/libCLC${SOLIBS}"
180
181# libEGL.so is used by some demo apps from Freescale
182INSANE_SKIP_libegl-mx6 += "dev-so"
183FILES_libegl-mx6 = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
184FILES_libegl-mx6-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
185FILES_libegl-mx6-dbg = "${libdir}/.debug/libEGL${SOLIBS}"
186
187FILES_libgal-mx6 = "${libdir}/libGAL${SOLIBS}"
188FILES_libgal-mx6-dev = "${libdir}/libGAL${SOLIBSDEV}"
189FILES_libgal-mx6-dbg = "${libdir}/.debug/libGAL${SOLIBS}"
190
191FILES_libgl-mx6 = "${libdir}/libGL${REALSOLIBS}"
192FILES_libgl-mx6-dev = "${libdir}/libGL${SOLIBSDEV}"
193FILES_libgl-mx6-dbg = "${libdir}/.debug/libGL.${SOLIBS}"
194RDEPENDS_libgl-mx6-dev = "libgl-mesa-dev"
195
196# libEGL needs to open libGLESv1.so
197INSANE_SKIP_libgles-mx6 += "dev-so"
198FILES_libgles-mx6 = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBS}"
199FILES_libgles-mx6-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc"
200FILES_libgles-mx6-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS} ${libdir}/.debug/libGLES_*${SOLIBS}"
201
202# libEGL needs to open libGLESv2.so
203INSANE_SKIP_libgles2-mx6 += "dev-so"
204FILES_libgles2-mx6 = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
205FILES_libgles2-mx6-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc"
206FILES_libgles2-mx6-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}"
207RDEPENDS_libgles2-mx6 = "libglslc-mx6"
208
209FILES_libglslc-mx6 = "${libdir}/libGLSLC${SOLIBS}"
210FILES_libglslc-mx6-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
211FILES_libglslc-mx6-dbg = "${libdir}/.debug/libGLSLC${SOLIBS}"
212
213FILES_libopencl-mx6 = "${libdir}/libOpenCL${SOLIBS}"
214FILES_libopencl-mx6-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
215FILES_libopencl-mx6-dbg = "${libdir}/.debug/libOpenCL${SOLIBS}"
216RDEPENDS_libopencl-mx6 = "libclc-mx6"
217
218FILES_libopenvg-mx6 = "${libdir}/libOpenVG*${SOLIBS}"
219FILES_libopenvg-mx6-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
220FILES_libopenvg-mx6-dbg = "${libdir}/.debug/libOpenVG*${SOLIBS}"
221
222FILES_libvdk-mx6 = "${libdir}/libVDK${SOLIBS}"
223FILES_libvdk-mx6-dev = "${includedir}/*vdk.h ${libdir}/libVDK${SOLIBSDEV}"
224FILES_libvdk-mx6-dbg = "${libdir}/.debug/libVDK${SOLIBS}"
225
226FILES_libvivante-mx6 = "${libdir}/libVIVANTE${SOLIBS}"
227FILES_libvivante-mx6-dev = "${libdir}/libVIVANTE${SOLIBSDEV}"
228FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}"
229
230FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so"
231
232FILES_libvivante-dfb-mx6 = "${libdir}/directfb-1.6-0/gfxdrivers/libdirectfb_gal.so"
233
234INSANE_SKIP_libwayland-viv-mx6 += "dev-so"
235FILES_libwayland-viv-mx6 = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}"
236FILES_libwayland-viv-mx6-dev = "${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
237FILES_libwayland-viv-mx6-dbg = "${libdir}/.debug/libwayland-viv${SOLIBS}"
238
239INSANE_SKIP_libgc-wayland-protocol-mx6 += "dev-so"
240FILES_libgc-wayland-protocol-mx6 = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
241FILES_libgc-wayland-protocol-mx6-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
242FILES_libgc-wayland-protocol-mx6-dbg = "${libdir}/libgc_wayland_protocol${SOLIBS}"
243
244FILES_libwayland-egl-mx6-dev = "${libdir}/pkgconfig/wayland-egl.pc"
245
246COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch
new file mode 100644
index 0000000..dc91d7c
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch
@@ -0,0 +1,30 @@
1From 1a4a35678ef70283d1a31835deecd39711a9db86 Mon Sep 17 00:00:00 2001
2From: Jeremy Stashluk <jstashluk@dekaresearch.com>
3Date: Wed, 30 Jan 2013 13:16:53 -0500
4Subject: [PATCH] change header path to HAL
5
6The gpu-viv-bin-mx6q package from Freescale puts this header in the HAL
7directory under the system. I think this is a problem in the LTIB release as
8well.
9
10Upstream-Status: Pending
11
12Signed-off-by: Jeremy Stashluk <jstashluk@dekaresearch.com>
13
14---
15 usr/include/gc_vdk_types.h | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18Index: gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h
19===================================================================
20--- gpu-viv-bin-mx6q-1.1.0.orig/usr/include/gc_vdk_types.h
21+++ gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h
22@@ -39,7 +39,7 @@ extern "C" {
23 #endif
24
25 #include <EGL/egl.h>
26-#include "gc_hal_eglplatform_type.h"
27+#include <HAL/gc_hal_eglplatform_type.h>
28
29
30 /*******************************************************************************
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc
new file mode 100644
index 0000000..a21922d
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: egl
7Description: Vivante EGL library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lEGL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir} -DLINUX
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc
new file mode 100644
index 0000000..5921583
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: egl
7Description: Vivante EGL library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lEGL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir} -DLINUX
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch
new file mode 100644
index 0000000..3eac116
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch
@@ -0,0 +1,31 @@
1Avoid conflicting types with Xorg newer code
2
3Upstream-Status: Pending
4Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
5
6Index: gpu-viv-bin-mx6q-1.1.0/usr/include/HAL/gc_hal_base.h
7===================================================================
8--- gpu-viv-bin-mx6q-1.1.0.orig/usr/include/HAL/gc_hal_base.h
9+++ gpu-viv-bin-mx6q-1.1.0/usr/include/HAL/gc_hal_base.h
10@@ -101,7 +101,7 @@ extern gcsPLS gcPLS;
11 typedef struct _gcsTLS * gcsTLS_PTR;
12
13 typedef void (* gctTLS_DESTRUCTOR) (
14- gcsTLS_PTR TLS
15+ gcsTLS_PTR pTLS
16 );
17
18 typedef struct _gcsTLS
19@@ -648,10 +648,10 @@ gcoOS_SetPLSValue(
20 /* Get access to the thread local storage. */
21 gceSTATUS
22 gcoOS_GetTLS(
23- OUT gcsTLS_PTR * TLS
24+ OUT gcsTLS_PTR * pTLS
25 );
26
27- /* Copy the TLS from a source thread. */
28+ /* Copy the pTLS from a source thread. */
29 gceSTATUS gcoOS_CopyTLS(IN gcsTLS_PTR Source);
30
31 /* Destroy the objects associated with the current thread. */
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch
new file mode 100644
index 0000000..732a073
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch
@@ -0,0 +1,34 @@
1From c59f9640d185759208f9d55a93b6602936dcb5e8 Mon Sep 17 00:00:00 2001
2From: Adrian Alonso <aalonso00@gmail.com>
3Date: Sat, 26 Jan 2013 17:52:04 -0600
4Subject: [PATCH 2/2] gc_hal_eglplatform: remove xlib undefs
5
6* Remove header undefs for Always and Status definitions
7
8Signed-off-by: Adrian Alonso <aalonso00@gmail.com>
9---
10 usr/include/HAL/gc_hal_eglplatform.h | 3 ---
11 1 file changed, 3 deletions(-)
12
13diff --git a/usr/include/HAL/gc_hal_eglplatform.h b/usr/include/HAL/gc_hal_eglplatform.h
14index a968fe7..e80c65a 100644
15--- a/usr/include/HAL/gc_hal_eglplatform.h
16+++ b/usr/include/HAL/gc_hal_eglplatform.h
17@@ -341,14 +341,11 @@ typedef Pixmap HALNativePixmapType;
18 /* Rename some badly named X defines. */
19 #ifdef Status
20 # define XStatus int
21-# undef Status
22 #endif
23 #ifdef Always
24 # define XAlways 2
25-# undef Always
26 #endif
27 #ifdef CurrentTime
28-# undef CurrentTime
29 # define XCurrentTime 0
30 #endif
31
32--
331.8.1
34
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc
new file mode 100644
index 0000000..f4610ea
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc
@@ -0,0 +1,10 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: gc_wayland_protocol
7Description: Vivante Wayland Protocol Extension Library
8Version: 0.1
9Cflags: -I${includedir}
10Libs: -L${libdir} -lgc_wayland_protocol
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc
new file mode 100644
index 0000000..d97b067
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv1_cm
7Description: Vivante OpenGL ES 1.1 CM library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir}
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc
new file mode 100644
index 0000000..e801633
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv1_cm
7Description: Vivante OpenGL ES 1.1 CM library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir}
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
new file mode 100644
index 0000000..9be46f2
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv2
7Description: Vivante OpenGL ES 2.0 library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lGLESv2 -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc
new file mode 100644
index 0000000..57ad807
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv2
7Description: Vivante OpenGL ES 2.0 library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lGLESv2 -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc
new file mode 100644
index 0000000..7c00def
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: vg
7Description: Vivante OpenVG 1.1 library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lOpenVG -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc
new file mode 100644
index 0000000..94fb91e
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: vg
7Description: Vivante OpenVG 1.1 library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lOpenVG -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc
new file mode 100644
index 0000000..ba1b898
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc
@@ -0,0 +1,10 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: wayland-egl
7Description: Bind the driver EGL to the Wayland API
8Version: 1.0.0
9Libs: -L${libdir} -lEGL
10Cflags: -I${includedir}
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc
new file mode 100644
index 0000000..3fdedd0
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc
@@ -0,0 +1,10 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: Wayland Vivante Lib
7Description: Wayland server side library for Vivante's EGL driver
8Version: 0.1
9Cflags: -I${includedir}/wayland-viv
10Libs: -L${libdir} -lwayland-viv
diff --git a/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.9-1.0.0-hfp.bb b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.9-1.0.0-hfp.bb
new file mode 100644
index 0000000..56610fb
--- /dev/null
+++ b/meta-architech-extras/recipes/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.9-1.0.0-hfp.bb
@@ -0,0 +1,9 @@
1# Copyright (C) 2013 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require gpu-viv-bin-mx6q.inc
5
6SRC_URI[md5sum] = "52f5ebbb6a9b5d0eafdb952246de584e"
7SRC_URI[sha256sum] = "8b0386e13d4a7c770f8bc8e7a6119629c5ed379488dd5ef635bc92353f906003"
8
9PACKAGE_FP_TYPE = "hardfp"
diff --git a/meta-architech-extras/recipes/imx-lib/imx-lib_3.10.9-1.0.0.bb b/meta-architech-extras/recipes/imx-lib/imx-lib_3.10.9-1.0.0.bb
new file mode 100644
index 0000000..f2a736a
--- /dev/null
+++ b/meta-architech-extras/recipes/imx-lib/imx-lib_3.10.9-1.0.0.bb
@@ -0,0 +1,10 @@
1# Copyright (C) 2013 Freescale Semiconductor
2
3require recipes-bsp/imx-lib/imx-lib.inc
4
5SRC_URI[md5sum] = "5cc9c8d09c7ba401cdab4a2ecbda89e2"
6SRC_URI[sha256sum] = "d1581c2f2956731da0c42e9dc17514a4d00790deeb83defeb5e07d14746190d8"
7
8PE = "1"
9
10COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0001-perf-tools-Fix-getrusage-related-build-failure-on-gl.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0001-perf-tools-Fix-getrusage-related-build-failure-on-gl.patch
new file mode 100644
index 0000000..abc02c9
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0001-perf-tools-Fix-getrusage-related-build-failure-on-gl.patch
@@ -0,0 +1,43 @@
1From 503daf4789dd23e4dc1e16c256de0c163fc2bf87 Mon Sep 17 00:00:00 2001
2From: Markus Trippelsdorf <markus@trippelsdorf.de>
3Date: Wed, 4 Apr 2012 10:45:27 +0200
4Subject: [PATCH] perf tools: Fix getrusage() related build failure on glibc
5 trunk
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9Organization: O.S. Systems Software LTDA.
10
11On a system running glibc trunk perf doesn't build:
12
13 CC builtin-sched.o
14builtin-sched.c: In function ‘get_cpu_usage_nsec_parent’: builtin-sched.c:399:16: error: storage size of ‘ru’ isn’t known builtin-sched.c:403:2: error: implicit declaration of function ‘getrusage’ [-Werror=implicit-function-declaration]
15 [...]
16
17Fix it by including sys/resource.h.
18
19Upstream-Status: Pending
20
21Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
22Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
23Link: http://lkml.kernel.org/r/20120404084527.GA294@x4
24Signed-off-by: Ingo Molnar <mingo@kernel.org>
25---
26 tools/perf/builtin-sched.c | 1 +
27 1 file changed, 1 insertion(+)
28
29diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
30index dcfe887..3632c2f 100644
31--- a/tools/perf/builtin-sched.c
32+++ b/tools/perf/builtin-sched.c
33@@ -14,6 +14,7 @@
34 #include "util/debug.h"
35
36 #include <sys/prctl.h>
37+#include <sys/resource.h>
38
39 #include <semaphore.h>
40 #include <pthread.h>
41--
421.8.4.rc3
43
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0002-ARM-7668-1-fix-memset-related-crashes-caused-by-rece.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0002-ARM-7668-1-fix-memset-related-crashes-caused-by-rece.patch
new file mode 100644
index 0000000..4c31e74
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0002-ARM-7668-1-fix-memset-related-crashes-caused-by-rece.patch
@@ -0,0 +1,259 @@
1From 2235b85f1c76d98b5f1e160cbd0a61a84c15e125 Mon Sep 17 00:00:00 2001
2From: Ivan Djelic <ivan.djelic@parrot.com>
3Date: Wed, 6 Mar 2013 20:09:27 +0100
4Subject: [PATCH] ARM: 7668/1: fix memset-related crashes caused by recent GCC
5 (4.7.2) optimizations
6Organization: O.S. Systems Software LTDA.
7
8Recent GCC versions (e.g. GCC-4.7.2) perform optimizations based on
9assumptions about the implementation of memset and similar functions.
10The current ARM optimized memset code does not return the value of
11its first argument, as is usually expected from standard implementations.
12
13For instance in the following function:
14
15void debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
16{
17 memset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter));
18 waiter->magic = waiter;
19 INIT_LIST_HEAD(&waiter->list);
20}
21
22compiled as:
23
24800554d0 <debug_mutex_lock_common>:
25800554d0: e92d4008 push {r3, lr}
26800554d4: e1a00001 mov r0, r1
27800554d8: e3a02010 mov r2, #16 ; 0x10
28800554dc: e3a01011 mov r1, #17 ; 0x11
29800554e0: eb04426e bl 80165ea0 <memset>
30800554e4: e1a03000 mov r3, r0
31800554e8: e583000c str r0, [r3, #12]
32800554ec: e5830000 str r0, [r3]
33800554f0: e5830004 str r0, [r3, #4]
34800554f4: e8bd8008 pop {r3, pc}
35
36GCC assumes memset returns the value of pointer 'waiter' in register r0; causing
37register/memory corruptions.
38
39This patch fixes the return value of the assembly version of memset.
40It adds a 'mov' instruction and merges an additional load+store into
41existing load/store instructions.
42For ease of review, here is a breakdown of the patch into 4 simple steps:
43
44Step 1
45======
46Perform the following substitutions:
47ip -> r8, then
48r0 -> ip,
49and insert 'mov ip, r0' as the first statement of the function.
50At this point, we have a memset() implementation returning the proper result,
51but corrupting r8 on some paths (the ones that were using ip).
52
53Step 2
54======
55Make sure r8 is saved and restored when (! CALGN(1)+0) == 1:
56
57save r8:
58- str lr, [sp, #-4]!
59+ stmfd sp!, {r8, lr}
60
61and restore r8 on both exit paths:
62- ldmeqfd sp!, {pc} @ Now <64 bytes to go.
63+ ldmeqfd sp!, {r8, pc} @ Now <64 bytes to go.
64(...)
65 tst r2, #16
66 stmneia ip!, {r1, r3, r8, lr}
67- ldr lr, [sp], #4
68+ ldmfd sp!, {r8, lr}
69
70Step 3
71======
72Make sure r8 is saved and restored when (! CALGN(1)+0) == 0:
73
74save r8:
75- stmfd sp!, {r4-r7, lr}
76+ stmfd sp!, {r4-r8, lr}
77
78and restore r8 on both exit paths:
79 bgt 3b
80- ldmeqfd sp!, {r4-r7, pc}
81+ ldmeqfd sp!, {r4-r8, pc}
82(...)
83 tst r2, #16
84 stmneia ip!, {r4-r7}
85- ldmfd sp!, {r4-r7, lr}
86+ ldmfd sp!, {r4-r8, lr}
87
88Step 4
89======
90Rewrite register list "r4-r7, r8" as "r4-r8".
91
92Upstream-Status: Pending
93
94Signed-off-by: Ivan Djelic <ivan.djelic@parrot.com>
95Reviewed-by: Nicolas Pitre <nico@linaro.org>
96Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
97Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
98(cherry picked from commit 455bd4c430b0c0a361f38e8658a0d6cb469942b5)
99---
100 arch/arm/lib/memset.S | 85 ++++++++++++++++++++++++++-------------------------
101 1 file changed, 44 insertions(+), 41 deletions(-)
102
103diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S
104index 650d592..d912e73 100644
105--- a/arch/arm/lib/memset.S
106+++ b/arch/arm/lib/memset.S
107@@ -19,9 +19,9 @@
108 1: subs r2, r2, #4 @ 1 do we have enough
109 blt 5f @ 1 bytes to align with?
110 cmp r3, #2 @ 1
111- strltb r1, [r0], #1 @ 1
112- strleb r1, [r0], #1 @ 1
113- strb r1, [r0], #1 @ 1
114+ strltb r1, [ip], #1 @ 1
115+ strleb r1, [ip], #1 @ 1
116+ strb r1, [ip], #1 @ 1
117 add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3))
118 /*
119 * The pointer is now aligned and the length is adjusted. Try doing the
120@@ -29,10 +29,14 @@
121 */
122
123 ENTRY(memset)
124- ands r3, r0, #3 @ 1 unaligned?
125+/*
126+ * Preserve the contents of r0 for the return value.
127+ */
128+ mov ip, r0
129+ ands r3, ip, #3 @ 1 unaligned?
130 bne 1b @ 1
131 /*
132- * we know that the pointer in r0 is aligned to a word boundary.
133+ * we know that the pointer in ip is aligned to a word boundary.
134 */
135 orr r1, r1, r1, lsl #8
136 orr r1, r1, r1, lsl #16
137@@ -43,29 +47,28 @@ ENTRY(memset)
138 #if ! CALGN(1)+0
139
140 /*
141- * We need an extra register for this loop - save the return address and
142- * use the LR
143+ * We need 2 extra registers for this loop - use r8 and the LR
144 */
145- str lr, [sp, #-4]!
146- mov ip, r1
147+ stmfd sp!, {r8, lr}
148+ mov r8, r1
149 mov lr, r1
150
151 2: subs r2, r2, #64
152- stmgeia r0!, {r1, r3, ip, lr} @ 64 bytes at a time.
153- stmgeia r0!, {r1, r3, ip, lr}
154- stmgeia r0!, {r1, r3, ip, lr}
155- stmgeia r0!, {r1, r3, ip, lr}
156+ stmgeia ip!, {r1, r3, r8, lr} @ 64 bytes at a time.
157+ stmgeia ip!, {r1, r3, r8, lr}
158+ stmgeia ip!, {r1, r3, r8, lr}
159+ stmgeia ip!, {r1, r3, r8, lr}
160 bgt 2b
161- ldmeqfd sp!, {pc} @ Now <64 bytes to go.
162+ ldmeqfd sp!, {r8, pc} @ Now <64 bytes to go.
163 /*
164 * No need to correct the count; we're only testing bits from now on
165 */
166 tst r2, #32
167- stmneia r0!, {r1, r3, ip, lr}
168- stmneia r0!, {r1, r3, ip, lr}
169+ stmneia ip!, {r1, r3, r8, lr}
170+ stmneia ip!, {r1, r3, r8, lr}
171 tst r2, #16
172- stmneia r0!, {r1, r3, ip, lr}
173- ldr lr, [sp], #4
174+ stmneia ip!, {r1, r3, r8, lr}
175+ ldmfd sp!, {r8, lr}
176
177 #else
178
179@@ -74,54 +77,54 @@ ENTRY(memset)
180 * whole cache lines at once.
181 */
182
183- stmfd sp!, {r4-r7, lr}
184+ stmfd sp!, {r4-r8, lr}
185 mov r4, r1
186 mov r5, r1
187 mov r6, r1
188 mov r7, r1
189- mov ip, r1
190+ mov r8, r1
191 mov lr, r1
192
193 cmp r2, #96
194- tstgt r0, #31
195+ tstgt ip, #31
196 ble 3f
197
198- and ip, r0, #31
199- rsb ip, ip, #32
200- sub r2, r2, ip
201- movs ip, ip, lsl #(32 - 4)
202- stmcsia r0!, {r4, r5, r6, r7}
203- stmmiia r0!, {r4, r5}
204- tst ip, #(1 << 30)
205- mov ip, r1
206- strne r1, [r0], #4
207+ and r8, ip, #31
208+ rsb r8, r8, #32
209+ sub r2, r2, r8
210+ movs r8, r8, lsl #(32 - 4)
211+ stmcsia ip!, {r4, r5, r6, r7}
212+ stmmiia ip!, {r4, r5}
213+ tst r8, #(1 << 30)
214+ mov r8, r1
215+ strne r1, [ip], #4
216
217 3: subs r2, r2, #64
218- stmgeia r0!, {r1, r3-r7, ip, lr}
219- stmgeia r0!, {r1, r3-r7, ip, lr}
220+ stmgeia ip!, {r1, r3-r8, lr}
221+ stmgeia ip!, {r1, r3-r8, lr}
222 bgt 3b
223- ldmeqfd sp!, {r4-r7, pc}
224+ ldmeqfd sp!, {r4-r8, pc}
225
226 tst r2, #32
227- stmneia r0!, {r1, r3-r7, ip, lr}
228+ stmneia ip!, {r1, r3-r8, lr}
229 tst r2, #16
230- stmneia r0!, {r4-r7}
231- ldmfd sp!, {r4-r7, lr}
232+ stmneia ip!, {r4-r7}
233+ ldmfd sp!, {r4-r8, lr}
234
235 #endif
236
237 4: tst r2, #8
238- stmneia r0!, {r1, r3}
239+ stmneia ip!, {r1, r3}
240 tst r2, #4
241- strne r1, [r0], #4
242+ strne r1, [ip], #4
243 /*
244 * When we get here, we've got less than 4 bytes to zero. We
245 * may have an unaligned pointer as well.
246 */
247 5: tst r2, #2
248- strneb r1, [r0], #1
249- strneb r1, [r0], #1
250+ strneb r1, [ip], #1
251+ strneb r1, [ip], #1
252 tst r2, #1
253- strneb r1, [r0], #1
254+ strneb r1, [ip], #1
255 mov pc, lr
256 ENDPROC(memset)
257--
2581.8.4.rc3
259
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0003-ARM-7670-1-fix-the-memset-fix.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0003-ARM-7670-1-fix-the-memset-fix.patch
new file mode 100644
index 0000000..b8d6f53
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0003-ARM-7670-1-fix-the-memset-fix.patch
@@ -0,0 +1,87 @@
1From 2ba23fa6c4128febaaf57fe184420a7111caa237 Mon Sep 17 00:00:00 2001
2From: Nicolas Pitre <nicolas.pitre@linaro.org>
3Date: Tue, 12 Mar 2013 13:00:42 +0100
4Subject: [PATCH] ARM: 7670/1: fix the memset fix
5Organization: O.S. Systems Software LTDA.
6
7Commit 455bd4c430b0 ("ARM: 7668/1: fix memset-related crashes caused by
8recent GCC (4.7.2) optimizations") attempted to fix a compliance issue
9with the memset return value. However the memset itself became broken
10by that patch for misaligned pointers.
11
12This fixes the above by branching over the entry code from the
13misaligned fixup code to avoid reloading the original pointer.
14
15Also, because the function entry alignment is wrong in the Thumb mode
16compilation, that fixup code is moved to the end.
17
18While at it, the entry instructions are slightly reworked to help dual
19issue pipelines.
20
21Upstream-Status: Pending
22
23Signed-off-by: Nicolas Pitre <nico@linaro.org>
24Tested-by: Alexander Holler <holler@ahsoftware.de>
25Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
26(cherry picked from commit 418df63adac56841ef6b0f1fcf435bc64d4ed177)
27---
28 arch/arm/lib/memset.S | 33 +++++++++++++--------------------
29 1 file changed, 13 insertions(+), 20 deletions(-)
30
31diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S
32index d912e73..94b0650 100644
33--- a/arch/arm/lib/memset.S
34+++ b/arch/arm/lib/memset.S
35@@ -14,31 +14,15 @@
36
37 .text
38 .align 5
39- .word 0
40-
41-1: subs r2, r2, #4 @ 1 do we have enough
42- blt 5f @ 1 bytes to align with?
43- cmp r3, #2 @ 1
44- strltb r1, [ip], #1 @ 1
45- strleb r1, [ip], #1 @ 1
46- strb r1, [ip], #1 @ 1
47- add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3))
48-/*
49- * The pointer is now aligned and the length is adjusted. Try doing the
50- * memset again.
51- */
52
53 ENTRY(memset)
54-/*
55- * Preserve the contents of r0 for the return value.
56- */
57- mov ip, r0
58- ands r3, ip, #3 @ 1 unaligned?
59- bne 1b @ 1
60+ ands r3, r0, #3 @ 1 unaligned?
61+ mov ip, r0 @ preserve r0 as return value
62+ bne 6f @ 1
63 /*
64 * we know that the pointer in ip is aligned to a word boundary.
65 */
66- orr r1, r1, r1, lsl #8
67+1: orr r1, r1, r1, lsl #8
68 orr r1, r1, r1, lsl #16
69 mov r3, r1
70 cmp r2, #16
71@@ -127,4 +111,13 @@ ENTRY(memset)
72 tst r2, #1
73 strneb r1, [ip], #1
74 mov pc, lr
75+
76+6: subs r2, r2, #4 @ 1 do we have enough
77+ blt 5b @ 1 bytes to align with?
78+ cmp r3, #2 @ 1
79+ strltb r1, [ip], #1 @ 1
80+ strleb r1, [ip], #1 @ 1
81+ strb r1, [ip], #1 @ 1
82+ add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3))
83+ b 1b
84 ENDPROC(memset)
85--
861.8.4.rc3
87
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0004-ENGR00271136-Fix-build-break-when-CONFIG_CLK_DEBUG-i.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0004-ENGR00271136-Fix-build-break-when-CONFIG_CLK_DEBUG-i.patch
new file mode 100644
index 0000000..7316351
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0004-ENGR00271136-Fix-build-break-when-CONFIG_CLK_DEBUG-i.patch
@@ -0,0 +1,43 @@
1From d8601292ae25e0af47aa4486055221ab44113f0e Mon Sep 17 00:00:00 2001
2From: Mahesh Mahadevan <Mahesh.Mahadevan@freescale.com>
3Date: Mon, 15 Jul 2013 15:34:54 -0500
4Subject: [PATCH] ENGR00271136 Fix build break when CONFIG_CLK_DEBUG is
5 disabled
6Organization: O.S. Systems Software LTDA.
7
8clk structure member name is defined only when CONFIG_CLK_DEBUG is enabled.
9Hence need to encapsulate the code with this config.
10
11Patch received from imx community:
12https://community.freescale.com/thread/308482
13
14Upstream-Status: Pending
15
16Signed-off-by: xiongweihuang
17Signed-off-by: Mahesh Mahadevan <Mahesh.Mahadevan@freescale.com>
18---
19 arch/arm/plat-mxc/clock.c | 4 ++--
20 1 file changed, 2 insertions(+), 2 deletions(-)
21
22diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c
23index 93347eb..1aa2664 100755
24--- a/arch/arm/plat-mxc/clock.c
25+++ b/arch/arm/plat-mxc/clock.c
26@@ -58,12 +58,12 @@ static void __clk_disable(struct clk *clk)
27 {
28 if (clk == NULL || IS_ERR(clk))
29 return;
30-
31+#ifdef CONFIG_CLK_DEBUG
32 if (!clk->usecount) {
33 WARN(1, "clock enable/disable mismatch! clk %s\n", clk->name);
34 return;
35 }
36-
37+#endif
38 if (!(--clk->usecount)) {
39 if (clk->disable)
40 clk->disable(clk);
41--
421.8.4.rc3
43
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0005-ENGR00271359-Add-Multi-touch-support.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0005-ENGR00271359-Add-Multi-touch-support.patch
new file mode 100644
index 0000000..cb20198
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0005-ENGR00271359-Add-Multi-touch-support.patch
@@ -0,0 +1,98 @@
1From 538f4bb2f7a51f267395550a5be9f0ab2e426712 Mon Sep 17 00:00:00 2001
2From: Erik Boto <erik.boto@pelagicore.com>
3Date: Tue, 16 Jul 2013 12:06:05 -0500
4Subject: [PATCH] ENGR00271359 Add Multi-touch support
5Organization: O.S. Systems Software LTDA.
6
7The previous behavior of the driver did not work properly with Qt5
8QtQuick multi touch-point gestures, due to how touch-points are
9reported when removing a touch-point. My interpretation of the
10available documentation [1] was that the driver should report all
11touch-points between SYN_REPORTs, but it is not explicitly stated so.
12I've found another mail-thread [2] where the creator of the protocol
13states:
14
15"The protocol defines a generic way of sending a variable amount of
16contacts. The contact count is obtained by counting the number of
17non-empty finger packets between SYN_REPORT events."-Henrik Rydberg
18
19I think this verifies my assumption that all touch-points should be
20reported between SYN_REPORTs, otherwise it can not be used to obtain
21the count.
22
23[1] https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt
24[2] http://lists.x.org/archives/xorg-devel/2010-March/006466.html
25
26Upstream-Status: Pending
27
28Signed-off-by: Erik Boto <erik.boto@pelagicore.com>
29Signed-off-by: Mahesh Mahadevan <Mahesh.Mahadevan@freescale.com>
30(cherry picked from commit 7cba001c5a502680f6dbf902821726779a9c9287)
31---
32 drivers/input/touchscreen/egalax_ts.c | 36 +++++++++++++++++------------------
33 1 file changed, 18 insertions(+), 18 deletions(-)
34
35diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c
36index 0b6cde7..271f820 100644
37--- a/drivers/input/touchscreen/egalax_ts.c
38+++ b/drivers/input/touchscreen/egalax_ts.c
39@@ -133,7 +133,6 @@ retry:
40 }
41
42 if (down) {
43- /* should also report old pointers */
44 events[id].valid = valid;
45 events[id].status = down;
46 events[id].x = x;
47@@ -144,23 +143,6 @@ retry:
48 input_report_abs(input_dev, ABS_Y, y);
49 input_event(data->input_dev, EV_KEY, BTN_TOUCH, 1);
50 input_report_abs(input_dev, ABS_PRESSURE, 1);
51-#else
52- for (i = 0; i < MAX_SUPPORT_POINTS; i++) {
53- if (!events[i].valid)
54- continue;
55- dev_dbg(&client->dev, "report id:%d valid:%d x:%d y:%d",
56- i, valid, x, y);
57-
58- input_report_abs(input_dev,
59- ABS_MT_TRACKING_ID, i);
60- input_report_abs(input_dev,
61- ABS_MT_TOUCH_MAJOR, 1);
62- input_report_abs(input_dev,
63- ABS_MT_POSITION_X, events[i].x);
64- input_report_abs(input_dev,
65- ABS_MT_POSITION_Y, events[i].y);
66- input_mt_sync(input_dev);
67- }
68 #endif
69 } else {
70 dev_dbg(&client->dev, "release id:%d\n", id);
71@@ -176,6 +158,24 @@ retry:
72 #endif
73 }
74
75+#ifndef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH
76+ /* report all pointers */
77+ for (i = 0; i < MAX_SUPPORT_POINTS; i++) {
78+ if (!events[i].valid)
79+ continue;
80+ dev_dbg(&client->dev, "report id:%d valid:%d x:%d y:%d",
81+ i, valid, x, y);
82+ input_report_abs(input_dev,
83+ ABS_MT_TRACKING_ID, i);
84+ input_report_abs(input_dev,
85+ ABS_MT_TOUCH_MAJOR, 1);
86+ input_report_abs(input_dev,
87+ ABS_MT_POSITION_X, events[i].x);
88+ input_report_abs(input_dev,
89+ ABS_MT_POSITION_Y, events[i].y);
90+ input_mt_sync(input_dev);
91+ }
92+#endif
93 input_sync(input_dev);
94 return IRQ_HANDLED;
95 }
96--
971.8.4.rc3
98
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0006-Add-support-for-DVI-monitors.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0006-Add-support-for-DVI-monitors.patch
new file mode 100644
index 0000000..00a6b5c
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0006-Add-support-for-DVI-monitors.patch
@@ -0,0 +1,227 @@
1From 3e6441d113f72b412081a2c87f39011e4c253a35 Mon Sep 17 00:00:00 2001
2From: Robert Winkler <robert.winkler@boundarydevices.com>
3Date: Fri, 19 Jul 2013 19:00:41 -0700
4Subject: [PATCH] Add support for DVI monitors
5Organization: O.S. Systems Software LTDA.
6
7Upstream-Status: Pending
8
9Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
10---
11 arch/arm/plat-mxc/include/mach/mxc_hdmi.h | 7 +++
12 drivers/video/mxc_hdmi.c | 98 +++++++++++++------------------
13 2 files changed, 49 insertions(+), 56 deletions(-)
14
15diff --git a/arch/arm/plat-mxc/include/mach/mxc_hdmi.h b/arch/arm/plat-mxc/include/mach/mxc_hdmi.h
16index 94f7638..af59c62 100644
17--- a/arch/arm/plat-mxc/include/mach/mxc_hdmi.h
18+++ b/arch/arm/plat-mxc/include/mach/mxc_hdmi.h
19@@ -605,6 +605,10 @@ enum {
20 HDMI_IH_MUTE_PHY_STAT0_TX_PHY_LOCK = 0x2,
21 HDMI_IH_MUTE_PHY_STAT0_HPD = 0x1,
22
23+/* IH and IH_MUTE convenience macro RX_SENSE | HPD*/
24+ HDMI_DVI_IH_STAT = 0x3D,
25+
26+
27 /* IH_AHBDMAAUD_STAT0 field values */
28 HDMI_IH_AHBDMAAUD_STAT0_ERROR = 0x20,
29 HDMI_IH_AHBDMAAUD_STAT0_LOST = 0x10,
30@@ -903,6 +907,9 @@ enum {
31 HDMI_PHY_HPD = 0x02,
32 HDMI_PHY_TX_PHY_LOCK = 0x01,
33
34+/* HDMI STAT convenience RX_SENSE | HPD */
35+ HDMI_DVI_STAT = 0xF2,
36+
37 /* PHY_I2CM_SLAVE_ADDR field values */
38 HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2 = 0x69,
39 HDMI_PHY_I2CM_SLAVE_ADDR_HEAC_PHY = 0x49,
40diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c
41index c5069aa..544f352 100644
42--- a/drivers/video/mxc_hdmi.c
43+++ b/drivers/video/mxc_hdmi.c
44@@ -180,7 +180,6 @@ struct mxc_hdmi {
45 bool dft_mode_set;
46 char *dft_mode_str;
47 int default_bpp;
48- u8 latest_intr_stat;
49 bool irq_enabled;
50 spinlock_t irq_lock;
51 bool phy_enabled;
52@@ -1996,58 +1995,48 @@ static void hotplug_worker(struct work_struct *work)
53 struct delayed_work *delay_work = to_delayed_work(work);
54 struct mxc_hdmi *hdmi =
55 container_of(delay_work, struct mxc_hdmi, hotplug_work);
56- u32 phy_int_stat, phy_int_pol, phy_int_mask;
57- u8 val;
58+ u32 hdmi_phy_stat0, hdmi_phy_pol0, hdmi_phy_mask0;
59 unsigned long flags;
60 char event_string[32];
61 char *envp[] = { event_string, NULL };
62
63- phy_int_stat = hdmi->latest_intr_stat;
64- phy_int_pol = hdmi_readb(HDMI_PHY_POL0);
65
66- dev_dbg(&hdmi->pdev->dev, "phy_int_stat=0x%x, phy_int_pol=0x%x\n",
67- phy_int_stat, phy_int_pol);
68+ hdmi_phy_stat0 = hdmi_readb(HDMI_PHY_STAT0);
69+ hdmi_phy_pol0 = hdmi_readb(HDMI_PHY_POL0);
70+
71+ dev_dbg(&hdmi->pdev->dev, "hdmi_phy_stat0=0x%x, hdmi_phy_pol0=0x%x\n",
72+ hdmi_phy_stat0, hdmi_phy_pol0);
73+
74+ /* Make HPD intr active low to capture unplug event or
75+ * active high to capture plugin event */
76+ hdmi_writeb((HDMI_DVI_STAT & ~hdmi_phy_stat0), HDMI_PHY_POL0);
77
78 /* check cable status */
79- if (phy_int_stat & HDMI_IH_PHY_STAT0_HPD) {
80- /* cable connection changes */
81- if (phy_int_pol & HDMI_PHY_HPD) {
82- /* Plugin event */
83- dev_dbg(&hdmi->pdev->dev, "EVENT=plugin\n");
84- mxc_hdmi_cable_connected(hdmi);
85-
86- /* Make HPD intr active low to capture unplug event */
87- val = hdmi_readb(HDMI_PHY_POL0);
88- val &= ~HDMI_PHY_HPD;
89- hdmi_writeb(val, HDMI_PHY_POL0);
90-
91- sprintf(event_string, "EVENT=plugin");
92- kobject_uevent_env(&hdmi->pdev->dev.kobj, KOBJ_CHANGE, envp);
93+ if (hdmi_phy_stat0 & HDMI_DVI_STAT) {
94+ /* Plugin event */
95+ dev_dbg(&hdmi->pdev->dev, "EVENT=plugin\n");
96+ mxc_hdmi_cable_connected(hdmi);
97+
98+ sprintf(event_string, "EVENT=plugin");
99+ kobject_uevent_env(&hdmi->pdev->dev.kobj, KOBJ_CHANGE, envp);
100 #ifdef CONFIG_MXC_HDMI_CEC
101- mxc_hdmi_cec_handle(0x80);
102+ mxc_hdmi_cec_handle(0x80);
103 #endif
104- hdmi_set_cable_state(1);
105-
106- } else if (!(phy_int_pol & HDMI_PHY_HPD)) {
107- /* Plugout event */
108- dev_dbg(&hdmi->pdev->dev, "EVENT=plugout\n");
109- hdmi_set_cable_state(0);
110- mxc_hdmi_abort_stream();
111- mxc_hdmi_cable_disconnected(hdmi);
112+ hdmi_set_cable_state(1);
113
114- /* Make HPD intr active high to capture plugin event */
115- val = hdmi_readb(HDMI_PHY_POL0);
116- val |= HDMI_PHY_HPD;
117- hdmi_writeb(val, HDMI_PHY_POL0);
118+ } else {
119+ /* Plugout event */
120+ dev_dbg(&hdmi->pdev->dev, "EVENT=plugout\n");
121+ hdmi_set_cable_state(0);
122+ mxc_hdmi_abort_stream();
123+ mxc_hdmi_cable_disconnected(hdmi);
124
125- sprintf(event_string, "EVENT=plugout");
126- kobject_uevent_env(&hdmi->pdev->dev.kobj, KOBJ_CHANGE, envp);
127+ sprintf(event_string, "EVENT=plugout");
128+ kobject_uevent_env(&hdmi->pdev->dev.kobj, KOBJ_CHANGE, envp);
129 #ifdef CONFIG_MXC_HDMI_CEC
130- mxc_hdmi_cec_handle(0x100);
131+ mxc_hdmi_cec_handle(0x100);
132 #endif
133
134- } else
135- dev_dbg(&hdmi->pdev->dev, "EVENT=none?\n");
136 }
137
138 /* Lock here to ensure full powerdown sequence
139@@ -2055,12 +2044,12 @@ static void hotplug_worker(struct work_struct *work)
140 spin_lock_irqsave(&hdmi->irq_lock, flags);
141
142 /* Re-enable HPD interrupts */
143- phy_int_mask = hdmi_readb(HDMI_PHY_MASK0);
144- phy_int_mask &= ~HDMI_PHY_HPD;
145- hdmi_writeb(phy_int_mask, HDMI_PHY_MASK0);
146+ hdmi_phy_mask0 = hdmi_readb(HDMI_PHY_MASK0);
147+ hdmi_phy_mask0 &= ~HDMI_DVI_STAT;
148+ hdmi_writeb(hdmi_phy_mask0, HDMI_PHY_MASK0);
149
150 /* Unmute interrupts */
151- hdmi_writeb(~HDMI_IH_MUTE_PHY_STAT0_HPD, HDMI_IH_MUTE_PHY_STAT0);
152+ hdmi_writeb(~HDMI_DVI_IH_STAT, HDMI_IH_MUTE_PHY_STAT0);
153
154 if (hdmi_readb(HDMI_IH_FC_STAT2) & HDMI_IH_FC_STAT2_OVERFLOW_MASK)
155 mxc_hdmi_clear_overflow();
156@@ -2086,7 +2075,7 @@ static void hdcp_hdp_worker(struct work_struct *work)
157 static irqreturn_t mxc_hdmi_hotplug(int irq, void *data)
158 {
159 struct mxc_hdmi *hdmi = data;
160- u8 val, intr_stat;
161+ u8 val;
162 unsigned long flags;
163
164 spin_lock_irqsave(&hdmi->irq_lock, flags);
165@@ -2108,25 +2097,22 @@ static irqreturn_t mxc_hdmi_hotplug(int irq, void *data)
166 * HDMI registers.
167 */
168 /* Capture status - used in hotplug_worker ISR */
169- intr_stat = hdmi_readb(HDMI_IH_PHY_STAT0);
170-
171- if (intr_stat & HDMI_IH_PHY_STAT0_HPD) {
172+ if (hdmi_readb(HDMI_IH_PHY_STAT0) & HDMI_DVI_IH_STAT) {
173
174 dev_dbg(&hdmi->pdev->dev, "Hotplug interrupt received\n");
175- hdmi->latest_intr_stat = intr_stat;
176
177 /* Mute interrupts until handled */
178
179 val = hdmi_readb(HDMI_IH_MUTE_PHY_STAT0);
180- val |= HDMI_IH_MUTE_PHY_STAT0_HPD;
181+ val |= HDMI_DVI_IH_STAT;
182 hdmi_writeb(val, HDMI_IH_MUTE_PHY_STAT0);
183
184 val = hdmi_readb(HDMI_PHY_MASK0);
185- val |= HDMI_PHY_HPD;
186+ val |= HDMI_DVI_STAT;
187 hdmi_writeb(val, HDMI_PHY_MASK0);
188
189 /* Clear Hotplug interrupts */
190- hdmi_writeb(HDMI_IH_PHY_STAT0_HPD, HDMI_IH_PHY_STAT0);
191+ hdmi_writeb(HDMI_DVI_IH_STAT, HDMI_IH_PHY_STAT0);
192
193 schedule_delayed_work(&(hdmi->hotplug_work), msecs_to_jiffies(20));
194 }
195@@ -2282,13 +2268,13 @@ static void mxc_hdmi_fb_registered(struct mxc_hdmi *hdmi)
196 HDMI_PHY_I2CM_CTLINT_ADDR);
197
198 /* enable cable hot plug irq */
199- hdmi_writeb((u8)~HDMI_PHY_HPD, HDMI_PHY_MASK0);
200+ hdmi_writeb((u8)~HDMI_DVI_STAT, HDMI_PHY_MASK0);
201
202 /* Clear Hotplug interrupts */
203- hdmi_writeb(HDMI_IH_PHY_STAT0_HPD, HDMI_IH_PHY_STAT0);
204+ hdmi_writeb(HDMI_DVI_IH_STAT, HDMI_IH_PHY_STAT0);
205
206 /* Unmute interrupts */
207- hdmi_writeb(~HDMI_IH_MUTE_PHY_STAT0_HPD, HDMI_IH_MUTE_PHY_STAT0);
208+ hdmi_writeb(~HDMI_DVI_IH_STAT, HDMI_IH_MUTE_PHY_STAT0);
209
210 hdmi->fb_reg = true;
211
212@@ -2522,10 +2508,10 @@ static int mxc_hdmi_disp_init(struct mxc_dispdrv_handle *disp,
213
214 /* Configure registers related to HDMI interrupt
215 * generation before registering IRQ. */
216- hdmi_writeb(HDMI_PHY_HPD, HDMI_PHY_POL0);
217+ hdmi_writeb(HDMI_DVI_STAT, HDMI_PHY_POL0);
218
219 /* Clear Hotplug interrupts */
220- hdmi_writeb(HDMI_IH_PHY_STAT0_HPD, HDMI_IH_PHY_STAT0);
221+ hdmi_writeb(HDMI_DVI_IH_STAT, HDMI_IH_PHY_STAT0);
222
223 hdmi->nb.notifier_call = mxc_hdmi_fb_event;
224 ret = fb_register_client(&hdmi->nb);
225--
2261.8.4.rc3
227
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0007-ARM-mach-mx6-board-mx6q_sabresd-Register-SDHC3-first.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0007-ARM-mach-mx6-board-mx6q_sabresd-Register-SDHC3-first.patch
new file mode 100644
index 0000000..d02aa40
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/0007-ARM-mach-mx6-board-mx6q_sabresd-Register-SDHC3-first.patch
@@ -0,0 +1,38 @@
1From cd31abbe08372fa870fac78ae845edd4859f8835 Mon Sep 17 00:00:00 2001
2From: Fabio Estevam <fabio.estevam@freescale.com>
3Date: Sat, 28 Sep 2013 18:46:18 -0300
4Subject: [PATCH] ARM: mach-mx6: board-mx6q_sabresd: Register SDHC3 first
5Organization: O.S. Systems Software LTDA.
6
7On sabresd boards we boot from SDHC3, so let's register it as mmc0.
8
9Currently eMMC is mmc0 and mmc1 can be SDHC3 or SDHC2 (if present).
10
11Registering SDHC3 is safer as we can always find the rootfs.
12
13Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
14---
15 arch/arm/mach-mx6/board-mx6q_sabresd.c | 5 +----
16 1 file changed, 1 insertion(+), 4 deletions(-)
17
18diff --git a/arch/arm/mach-mx6/board-mx6q_sabresd.c b/arch/arm/mach-mx6/board-mx6q_sabresd.c
19index 3f9a845..4e6b323 100644
20--- a/arch/arm/mach-mx6/board-mx6q_sabresd.c
21+++ b/arch/arm/mach-mx6/board-mx6q_sabresd.c
22@@ -1847,12 +1847,9 @@ static void __init mx6_sabresd_board_init(void)
23
24 imx6q_add_pm_imx(0, &mx6q_sabresd_pm_data);
25
26- /* Move sd4 to first because sd4 connect to emmc.
27- Mfgtools want emmc is mmcblk0 and other sd card is mmcblk1.
28- */
29+ imx6q_add_sdhci_usdhc_imx(2, &mx6q_sabresd_sd3_data);
30 imx6q_add_sdhci_usdhc_imx(3, &mx6q_sabresd_sd4_data);
31 imx6q_add_sdhci_usdhc_imx(1, &mx6q_sabresd_sd2_data);
32- imx6q_add_sdhci_usdhc_imx(2, &mx6q_sabresd_sd3_data);
33 imx_add_viv_gpu(&imx6_gpu_data, &imx6q_gpu_pdata);
34 imx6q_sabresd_init_usb();
35 /* SATA is not supported by MX6DL/Solo */
36--
371.8.4.rc3
38
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/drm-vivante-Add-00-sufix-in-returned-bus-Id.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/drm-vivante-Add-00-sufix-in-returned-bus-Id.patch
new file mode 100644
index 0000000..815d02c
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/drm-vivante-Add-00-sufix-in-returned-bus-Id.patch
@@ -0,0 +1,31 @@
1From b37a944f55a5010bd08297a63db0275540922f32 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Thu, 22 Aug 2013 16:31:29 -0300
4Subject: [PATCH] drm/vivante: Add ":00" sufix in returned bus Id
5
6This makes the 3.0.35 compatible with a Xorg driver build for 3.5.7 or
7newer kernels.
8
9Upstream-Status: Inapropriate [embedded specific]
10
11Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12---
13 drivers/gpu/drm/vivante/vivante_drv.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/drivers/gpu/drm/vivante/vivante_drv.c b/drivers/gpu/drm/vivante/vivante_drv.c
17index 4224608..cea360d 100644
18--- a/drivers/gpu/drm/vivante/vivante_drv.c
19+++ b/drivers/gpu/drm/vivante/vivante_drv.c
20@@ -55,7 +55,7 @@
21
22 #include "drm_pciids.h"
23
24-static char platformdevicename[] = "Vivante GCCore";
25+static char platformdevicename[] = "Vivante GCCore:00";
26 static struct platform_device *pplatformdev;
27
28 static struct drm_driver driver = {
29--
301.8.4.rc1
31
diff --git a/meta-architech-extras/recipes/linux/linux-imx-3.0.35/epdc-Rename-mxcfb_epdc_kernel.h-to-mxc_epdc.h.patch b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/epdc-Rename-mxcfb_epdc_kernel.h-to-mxc_epdc.h.patch
new file mode 100644
index 0000000..0a20b3f
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx-3.0.35/epdc-Rename-mxcfb_epdc_kernel.h-to-mxc_epdc.h.patch
@@ -0,0 +1,143 @@
1From 149545df26169d257b144ff78934ce9cb5b6818b Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sat, 19 Oct 2013 10:55:11 -0300
4Subject: [PATCH] epdc: Rename mxcfb_epdc_kernel.h to mxc_epdc.h
5Organization: O.S. Systems Software LTDA.
6
7This allow for forward compatibility with imx-test >= 3.10.9-1.0.0.
8
9Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
10---
11 drivers/video/mxc/mxc_epdc_fb.c | 2 +-
12 include/linux/mxcfb_epdc.h | 49 +++++++++++++++++++++++++++++++++++++++
13 include/linux/mxcfb_epdc_kernel.h | 49 ---------------------------------------
14 3 files changed, 50 insertions(+), 50 deletions(-)
15 create mode 100644 include/linux/mxcfb_epdc.h
16 delete mode 100644 include/linux/mxcfb_epdc_kernel.h
17
18diff --git a/drivers/video/mxc/mxc_epdc_fb.c b/drivers/video/mxc/mxc_epdc_fb.c
19index 4103498..b3ef8ea 100644
20--- a/drivers/video/mxc/mxc_epdc_fb.c
21+++ b/drivers/video/mxc/mxc_epdc_fb.c
22@@ -43,7 +43,7 @@
23 #include <linux/dmaengine.h>
24 #include <linux/pxp_dma.h>
25 #include <linux/mxcfb.h>
26-#include <linux/mxcfb_epdc_kernel.h>
27+#include <linux/mxcfb_epdc.h>
28 #include <linux/gpio.h>
29 #include <linux/regulator/driver.h>
30 #include <linux/fsl_devices.h>
31diff --git a/include/linux/mxcfb_epdc.h b/include/linux/mxcfb_epdc.h
32new file mode 100644
33index 0000000..06fea6f
34--- /dev/null
35+++ b/include/linux/mxcfb_epdc.h
36@@ -0,0 +1,49 @@
37+/*
38+ * Copyright (C) 2010-2012 Freescale Semiconductor, Inc. All Rights Reserved.
39+ *
40+ * This program is free software; you can redistribute it and/or modify
41+ * it under the terms of the GNU General Public License as published by
42+ * the Free Software Foundation; either version 2 of the License, or
43+ * (at your option) any later version.
44+ *
45+ * This program is distributed in the hope that it will be useful,
46+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
47+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
48+ * GNU General Public License for more details.
49+ *
50+ * You should have received a copy of the GNU General Public License
51+ * along with this program; if not, write to the Free Software
52+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
53+ *
54+ */
55+#ifndef _MXCFB_EPDC_KERNEL
56+#define _MXCFB_EPDC_KERNEL
57+
58+void mxc_epdc_fb_set_waveform_modes(struct mxcfb_waveform_modes *modes,
59+ struct fb_info *info);
60+int mxc_epdc_fb_set_temperature(int temperature, struct fb_info *info);
61+int mxc_epdc_fb_set_auto_update(u32 auto_mode, struct fb_info *info);
62+int mxc_epdc_fb_send_update(struct mxcfb_update_data *upd_data,
63+ struct fb_info *info);
64+int mxc_epdc_fb_wait_update_complete(
65+ struct mxcfb_update_marker_data *marker_data,
66+ struct fb_info *info);
67+int mxc_epdc_fb_set_pwrdown_delay(u32 pwrdown_delay,
68+ struct fb_info *info);
69+int mxc_epdc_get_pwrdown_delay(struct fb_info *info);
70+int mxc_epdc_fb_set_upd_scheme(u32 upd_scheme, struct fb_info *info);
71+
72+void mxc_spdc_fb_set_waveform_modes(struct mxcfb_waveform_modes *modes,
73+ struct fb_info *info);
74+int mxc_spdc_fb_set_temperature(int temperature, struct fb_info *info);
75+int mxc_spdc_fb_set_auto_update(u32 auto_mode, struct fb_info *info);
76+int mxc_spdc_fb_send_update(struct mxcfb_update_data *upd_data,
77+ struct fb_info *info);
78+int mxc_spdc_fb_wait_update_complete(
79+ struct mxcfb_update_marker_data *marker_data,
80+ struct fb_info *info);
81+int mxc_spdc_fb_set_pwrdown_delay(u32 pwrdown_delay,
82+ struct fb_info *info);
83+int mxc_spdc_get_pwrdown_delay(struct fb_info *info);
84+int mxc_spdc_fb_set_upd_scheme(u32 upd_scheme, struct fb_info *info);
85+#endif
86diff --git a/include/linux/mxcfb_epdc_kernel.h b/include/linux/mxcfb_epdc_kernel.h
87deleted file mode 100644
88index 06fea6f..0000000
89--- a/include/linux/mxcfb_epdc_kernel.h
90+++ /dev/null
91@@ -1,49 +0,0 @@
92-/*
93- * Copyright (C) 2010-2012 Freescale Semiconductor, Inc. All Rights Reserved.
94- *
95- * This program is free software; you can redistribute it and/or modify
96- * it under the terms of the GNU General Public License as published by
97- * the Free Software Foundation; either version 2 of the License, or
98- * (at your option) any later version.
99- *
100- * This program is distributed in the hope that it will be useful,
101- * but WITHOUT ANY WARRANTY; without even the implied warranty of
102- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
103- * GNU General Public License for more details.
104- *
105- * You should have received a copy of the GNU General Public License
106- * along with this program; if not, write to the Free Software
107- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
108- *
109- */
110-#ifndef _MXCFB_EPDC_KERNEL
111-#define _MXCFB_EPDC_KERNEL
112-
113-void mxc_epdc_fb_set_waveform_modes(struct mxcfb_waveform_modes *modes,
114- struct fb_info *info);
115-int mxc_epdc_fb_set_temperature(int temperature, struct fb_info *info);
116-int mxc_epdc_fb_set_auto_update(u32 auto_mode, struct fb_info *info);
117-int mxc_epdc_fb_send_update(struct mxcfb_update_data *upd_data,
118- struct fb_info *info);
119-int mxc_epdc_fb_wait_update_complete(
120- struct mxcfb_update_marker_data *marker_data,
121- struct fb_info *info);
122-int mxc_epdc_fb_set_pwrdown_delay(u32 pwrdown_delay,
123- struct fb_info *info);
124-int mxc_epdc_get_pwrdown_delay(struct fb_info *info);
125-int mxc_epdc_fb_set_upd_scheme(u32 upd_scheme, struct fb_info *info);
126-
127-void mxc_spdc_fb_set_waveform_modes(struct mxcfb_waveform_modes *modes,
128- struct fb_info *info);
129-int mxc_spdc_fb_set_temperature(int temperature, struct fb_info *info);
130-int mxc_spdc_fb_set_auto_update(u32 auto_mode, struct fb_info *info);
131-int mxc_spdc_fb_send_update(struct mxcfb_update_data *upd_data,
132- struct fb_info *info);
133-int mxc_spdc_fb_wait_update_complete(
134- struct mxcfb_update_marker_data *marker_data,
135- struct fb_info *info);
136-int mxc_spdc_fb_set_pwrdown_delay(u32 pwrdown_delay,
137- struct fb_info *info);
138-int mxc_spdc_get_pwrdown_delay(struct fb_info *info);
139-int mxc_spdc_fb_set_upd_scheme(u32 upd_scheme, struct fb_info *info);
140-#endif
141--
1421.8.4.rc3
143
diff --git a/meta-architech-extras/recipes/linux/linux-imx_3.0.35.bb b/meta-architech-extras/recipes/linux/linux-imx_3.0.35.bb
new file mode 100644
index 0000000..8b80a6e
--- /dev/null
+++ b/meta-architech-extras/recipes/linux/linux-imx_3.0.35.bb
@@ -0,0 +1,35 @@
1# Copyright (C) 2011-2013 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require recipes-kernel/linux/linux-imx.inc
5
6COMPATIBLE_MACHINE = "(mx6)"
7
8# Revision of 4.1.0 branch
9SRCREV = "bdde708ebfde4a8c1d3829578d3f6481a343533a"
10LOCALVERSION = "-4.1.0+yocto"
11
12# Patches need for Yocto and not applied by Freescale when doing 4.1.0 branch
13SRC_URI += "file://drm-vivante-Add-00-sufix-in-returned-bus-Id.patch \
14 file://epdc-Rename-mxcfb_epdc_kernel.h-to-mxc_epdc.h.patch \
15 file://0001-perf-tools-Fix-getrusage-related-build-failure-on-gl.patch \
16 file://0002-ARM-7668-1-fix-memset-related-crashes-caused-by-rece.patch \
17 file://0003-ARM-7670-1-fix-the-memset-fix.patch \
18 file://0004-ENGR00271136-Fix-build-break-when-CONFIG_CLK_DEBUG-i.patch \
19 file://0005-ENGR00271359-Add-Multi-touch-support.patch \
20 file://0006-Add-support-for-DVI-monitors.patch \
21 file://0007-ARM-mach-mx6-board-mx6q_sabresd-Register-SDHC3-first.patch"
22
23# kernel image files are not needed in the image
24RDEPENDS_kernel-base = ""
25
26do_configure_prepend() {
27 # FunctionFS for adb
28 echo "CONFIG_USB_FUNCTIONFS=m" >> ${WORKDIR}/defconfig
29
30 # Enable USB serial support
31 echo "CONFIG_USB_SERIAL=m" >> ${WORKDIR}/defconfig
32 echo "CONFIG_USB_SERIAL_GENERIC=y" >> ${WORKDIR}/defconfig
33 echo "CONFIG_USB_SERIAL_FTDI_SIO=m" >> ${WORKDIR}/defconfig
34 echo "CONFIG_USB_SERIAL_PL2303=m" >> ${WORKDIR}/defconfig
35}
diff --git a/meta-architech-extras/recipes/u-boot/u-boot-fslc_2013.10.bb b/meta-architech-extras/recipes/u-boot/u-boot-fslc_2013.10.bb
new file mode 100644
index 0000000..73d4371
--- /dev/null
+++ b/meta-architech-extras/recipes/u-boot/u-boot-fslc_2013.10.bb
@@ -0,0 +1,25 @@
1require recipes-bsp/u-boot/u-boot.inc
2
3LICENSE = "GPLv2+"
4LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb"
5COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6|vf60)"
6
7DEPENDS_mxs += "elftosb-native openssl-native"
8
9PROVIDES += "u-boot"
10
11PV = "v2013.10"
12
13SRCREV = "079e214888279518ce061c71238a74a0c3db2c28"
14SRC_URI = "git://github.com/Freescale/u-boot-imx.git"
15
16S = "${WORKDIR}/git"
17
18# FIXME: Allow linking of 'tools' binaries with native libraries
19# used for generating the boot logo and other tools used
20# during the build process.
21EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
22 HOSTLDFLAGS="-L${STAGING_BASE_LIBDIR_NATIVE} -L${STAGING_LIBDIR_NATIVE}" \
23 HOSTSTRIP=true'
24
25PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/scripts/manifest.xml b/scripts/manifest.xml
index 714a84d..2a39879 100644
--- a/scripts/manifest.xml
+++ b/scripts/manifest.xml
@@ -9,6 +9,7 @@
9 <remote fetch="git://github.com/beagleboard" name="beagleboard"/> 9 <remote fetch="git://github.com/beagleboard" name="beagleboard"/>
10 <remote fetch="git://github.com/meta-qt5" name="qt5"/> 10 <remote fetch="git://github.com/meta-qt5" name="qt5"/>
11 <remote fetch="git://git.toradex.com" name="toradex"/> 11 <remote fetch="git://git.toradex.com" name="toradex"/>
12 <remote fetch="git://github.com/architech-boards" name="architech"/>
12 <remote fetch="ssh://qt-gerrit.ci.local/QtRD-15810" name="gerrit"/> 13 <remote fetch="ssh://qt-gerrit.ci.local/QtRD-15810" name="gerrit"/>
13 14
14 <project name="poky" 15 <project name="poky"
@@ -28,7 +29,7 @@
28 remote="yocto" 29 remote="yocto"
29 revision="db1571f40c375a398a8cdbb42de4c4f272ab0cd1" 30 revision="db1571f40c375a398a8cdbb42de4c4f272ab0cd1"
30 path="sources/meta-fsl-arm" 31 path="sources/meta-fsl-arm"
31 groups="notdefault,fsl,toradex"/> 32 groups="notdefault,fsl,toradex,architech"/>
32 <project name="meta-ti" 33 <project name="meta-ti"
33 remote="yocto" 34 remote="yocto"
34 revision="6d1c337af7d43953f6d0802ffd0bf1d9d3cfb146" 35 revision="6d1c337af7d43953f6d0802ffd0bf1d9d3cfb146"
@@ -43,7 +44,7 @@
43 remote="freescale" 44 remote="freescale"
44 revision="794e46e0b0a3e7e270a2f3c217d8fe5751a6b2c6" 45 revision="794e46e0b0a3e7e270a2f3c217d8fe5751a6b2c6"
45 path="sources/meta-fsl-arm-extra" 46 path="sources/meta-fsl-arm-extra"
46 groups="notdefault,fsl,toradex"/> 47 groups="notdefault,fsl,toradex,architech"/>
47 <project name="meta-beagleboard" 48 <project name="meta-beagleboard"
48 remote="beagleboard" 49 remote="beagleboard"
49 revision="b5c709b2b6bd3bf236df923fa8f245a00fbb1b60" 50 revision="b5c709b2b6bd3bf236df923fa8f245a00fbb1b60"
@@ -54,6 +55,11 @@
54 revision="36c19b10b340983946f8f52ab7fa91d9aa1e53f6" 55 revision="36c19b10b340983946f8f52ab7fa91d9aa1e53f6"
55 path="sources/meta-toradex" 56 path="sources/meta-toradex"
56 groups="notdefault,toradex"/> 57 groups="notdefault,toradex"/>
58 <project name="meta-tibidabo"
59 remote="architech"
60 revision="06c6b09e0776507e1230aa98b5ca10d9d3968286"
61 path="sources/meta-tibidabo"
62 groups="notdefault,architech"/>
57 63
58</manifest> 64</manifest>
59 65
diff --git a/scripts/manifest_dizzy.xml b/scripts/manifest_dizzy.xml
index ac9098f..956ff74 100644
--- a/scripts/manifest_dizzy.xml
+++ b/scripts/manifest_dizzy.xml
@@ -9,6 +9,7 @@
9 <remote fetch="git://github.com/beagleboard" name="beagleboard"/> 9 <remote fetch="git://github.com/beagleboard" name="beagleboard"/>
10 <remote fetch="git://github.com/meta-qt5" name="qt5"/> 10 <remote fetch="git://github.com/meta-qt5" name="qt5"/>
11 <remote fetch="git://git.toradex.com" name="toradex"/> 11 <remote fetch="git://git.toradex.com" name="toradex"/>
12 <remote fetch="git://github.com/architech-boards" name="architech"/>
12 <remote fetch="ssh://qt-gerrit.ci.local/QtRD-15810" name="gerrit"/> 13 <remote fetch="ssh://qt-gerrit.ci.local/QtRD-15810" name="gerrit"/>
13 14
14 <project name="poky" 15 <project name="poky"
@@ -28,7 +29,7 @@
28 remote="yocto" 29 remote="yocto"
29 revision="dizzy" 30 revision="dizzy"
30 path="sources/meta-fsl-arm" 31 path="sources/meta-fsl-arm"
31 groups="notdefault,fsl,toradex"/> 32 groups="notdefault,fsl,toradex,architech"/>
32 <project name="meta-ti" 33 <project name="meta-ti"
33 remote="yocto" 34 remote="yocto"
34 revision="master" 35 revision="master"
@@ -43,7 +44,7 @@
43 remote="freescale" 44 remote="freescale"
44 revision="dizzy" 45 revision="dizzy"
45 path="sources/meta-fsl-arm-extra" 46 path="sources/meta-fsl-arm-extra"
46 groups="notdefault,fsl,toradex"/> 47 groups="notdefault,fsl,toradex,architech"/>
47 <project name="meta-beagleboard" 48 <project name="meta-beagleboard"
48 remote="beagleboard" 49 remote="beagleboard"
49 revision="master" 50 revision="master"
@@ -54,6 +55,11 @@
54 revision="V2.3-next" 55 revision="V2.3-next"
55 path="sources/meta-toradex" 56 path="sources/meta-toradex"
56 groups="notdefault,toradex"/> 57 groups="notdefault,toradex"/>
58 <project name="meta-tibidabo"
59 remote="architech"
60 revision="dora"
61 path="sources/meta-tibidabo"
62 groups="notdefault,architech"/>
57 63
58</manifest> 64</manifest>
59 65
diff --git a/scripts/manifest_tibidabo.xml b/scripts/manifest_tibidabo.xml
deleted file mode 100644
index 97c18dd..0000000
--- a/scripts/manifest_tibidabo.xml
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<manifest>
3
4 <default sync-j="4" revision="dora"/>
5
6 <remote fetch="git://git.yoctoproject.org" name="yocto"/>
7 <remote fetch="git://git.openembedded.org" name="oe"/>
8 <remote fetch="git://github.com/Freescale" name="freescale"/>
9 <remote fetch="https://github.com/architech-boards/" name="architech"/>
10
11 <project name="poky"
12 remote="yocto"
13 revision="84c2763fa0bf08a83caa2c5ee532b5bef2ff918b"
14 path="sources/poky"/>
15 <project name="meta-openembedded"
16 remote="oe"
17 revision="40e0f371f3eb1628655c484feac0cebf810737b4"
18 path="sources/meta-openembedded"/>
19
20 <project name="meta-fsl-arm"
21 remote="yocto"
22 revision="fb1681666fac9c096314cd01242be4613b7ff140"
23 path="sources/meta-fsl-arm"
24 groups="notdefault,architech"/>
25 <project name="meta-tibidabo"
26 remote="architech"
27 revision="06c6b09e0776507e1230aa98b5ca10d9d3968286"
28 path="sources/meta-tibidabo"
29 groups="notdefault,architech"/>
30
31</manifest>