diff options
author | Samuli Piippo <samuli.piippo@theqtcompany.com> | 2015-06-09 13:29:16 +0300 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@theqtcompany.com> | 2015-06-11 08:50:42 +0300 |
commit | af74eaeda04ab4cbca42abc4bb4818a9b3df465e (patch) | |
tree | 5cc065c93d375435acb52c6632ec05fe8b09c5ae | |
parent | 9a52dfdf5988a422d1831eba1081ef383b5244ca (diff) | |
download | meta-boot2qt-af74eaeda04ab4cbca42abc4bb4818a9b3df465e.tar.gz |
tibidabo: use latest version poky for tibidabo
Instead of using old patched version of poky for the meta-tibidabo layer,
use the same version of all the meta layer as for the other devices.
This requires the old u-boot, kernel, gpu driver and imx-lib recipes
to be copied from meta-fsl-arm.
Change-Id: I2e804fbe895370c23f8ae89cff4fe283302dabe1
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@theqtcompany.com>
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 | ||
133 | patch_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 | |||
147 | init() { | 133 | init() { |
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 | ||
23 | KERNEL_IMAGETYPE = "uImage" | ||
24 | |||
23 | BOOTFS_CONTENT = "\ | 25 | BOOTFS_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 | ||
44 | module_autoload_mxc_v4l2_capture = "mxc_v4l2_capture" | 46 | KERNEL_MODULE_AUTOLOAD += "mxc_v4l2_capture" |
45 | |||
46 | BBMASK += "|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 | |||
5 | DESCRIPTION = "GPU driver and apps for imx6" | ||
6 | SECTION = "libs" | ||
7 | LICENSE = "Proprietary" | ||
8 | LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3" | ||
9 | DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes mesa', '', d)}" | ||
10 | PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 virtual/libopenvg" | ||
11 | |||
12 | PE = "1" | ||
13 | |||
14 | inherit fsl-eula-unpack | ||
15 | |||
16 | SRC_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 | |||
30 | PACKAGES =+ "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 | ||
49 | python __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 | |||
60 | USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}" | ||
61 | USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}" | ||
62 | USE_WL = "${@base_contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}" | ||
63 | |||
64 | # Inhibit warnings about files being stripped. | ||
65 | INHIBIT_PACKAGE_STRIP = "1" | ||
66 | INHIBIT_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. | ||
70 | REALSOLIBS := "${SOLIBS}" | ||
71 | SOLIBS = "${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. | ||
78 | python __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 | |||
102 | do_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 | |||
171 | S = "${WORKDIR}/${PN}-${PV}" | ||
172 | |||
173 | FILES_${PN} += "/opt" | ||
174 | FILES_${PN}-dev = "${includedir}" | ||
175 | FILES_${PN}-dbg = "${libdir}/.debug /opt/viv_samples/*/*/.debug" | ||
176 | |||
177 | FILES_libclc-mx6 = "${libdir}/libCLC${SOLIBS}" | ||
178 | FILES_libclc-mx6-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}" | ||
179 | FILES_libclc-mx6-dbg = "${libdir}/.debug/libCLC${SOLIBS}" | ||
180 | |||
181 | # libEGL.so is used by some demo apps from Freescale | ||
182 | INSANE_SKIP_libegl-mx6 += "dev-so" | ||
183 | FILES_libegl-mx6 = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " | ||
184 | FILES_libegl-mx6-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" | ||
185 | FILES_libegl-mx6-dbg = "${libdir}/.debug/libEGL${SOLIBS}" | ||
186 | |||
187 | FILES_libgal-mx6 = "${libdir}/libGAL${SOLIBS}" | ||
188 | FILES_libgal-mx6-dev = "${libdir}/libGAL${SOLIBSDEV}" | ||
189 | FILES_libgal-mx6-dbg = "${libdir}/.debug/libGAL${SOLIBS}" | ||
190 | |||
191 | FILES_libgl-mx6 = "${libdir}/libGL${REALSOLIBS}" | ||
192 | FILES_libgl-mx6-dev = "${libdir}/libGL${SOLIBSDEV}" | ||
193 | FILES_libgl-mx6-dbg = "${libdir}/.debug/libGL.${SOLIBS}" | ||
194 | RDEPENDS_libgl-mx6-dev = "libgl-mesa-dev" | ||
195 | |||
196 | # libEGL needs to open libGLESv1.so | ||
197 | INSANE_SKIP_libgles-mx6 += "dev-so" | ||
198 | FILES_libgles-mx6 = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBS}" | ||
199 | FILES_libgles-mx6-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc" | ||
200 | FILES_libgles-mx6-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS} ${libdir}/.debug/libGLES_*${SOLIBS}" | ||
201 | |||
202 | # libEGL needs to open libGLESv2.so | ||
203 | INSANE_SKIP_libgles2-mx6 += "dev-so" | ||
204 | FILES_libgles2-mx6 = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}" | ||
205 | FILES_libgles2-mx6-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc" | ||
206 | FILES_libgles2-mx6-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}" | ||
207 | RDEPENDS_libgles2-mx6 = "libglslc-mx6" | ||
208 | |||
209 | FILES_libglslc-mx6 = "${libdir}/libGLSLC${SOLIBS}" | ||
210 | FILES_libglslc-mx6-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}" | ||
211 | FILES_libglslc-mx6-dbg = "${libdir}/.debug/libGLSLC${SOLIBS}" | ||
212 | |||
213 | FILES_libopencl-mx6 = "${libdir}/libOpenCL${SOLIBS}" | ||
214 | FILES_libopencl-mx6-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}" | ||
215 | FILES_libopencl-mx6-dbg = "${libdir}/.debug/libOpenCL${SOLIBS}" | ||
216 | RDEPENDS_libopencl-mx6 = "libclc-mx6" | ||
217 | |||
218 | FILES_libopenvg-mx6 = "${libdir}/libOpenVG*${SOLIBS}" | ||
219 | FILES_libopenvg-mx6-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" | ||
220 | FILES_libopenvg-mx6-dbg = "${libdir}/.debug/libOpenVG*${SOLIBS}" | ||
221 | |||
222 | FILES_libvdk-mx6 = "${libdir}/libVDK${SOLIBS}" | ||
223 | FILES_libvdk-mx6-dev = "${includedir}/*vdk.h ${libdir}/libVDK${SOLIBSDEV}" | ||
224 | FILES_libvdk-mx6-dbg = "${libdir}/.debug/libVDK${SOLIBS}" | ||
225 | |||
226 | FILES_libvivante-mx6 = "${libdir}/libVIVANTE${SOLIBS}" | ||
227 | FILES_libvivante-mx6-dev = "${libdir}/libVIVANTE${SOLIBSDEV}" | ||
228 | FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}" | ||
229 | |||
230 | FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so" | ||
231 | |||
232 | FILES_libvivante-dfb-mx6 = "${libdir}/directfb-1.6-0/gfxdrivers/libdirectfb_gal.so" | ||
233 | |||
234 | INSANE_SKIP_libwayland-viv-mx6 += "dev-so" | ||
235 | FILES_libwayland-viv-mx6 = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}" | ||
236 | FILES_libwayland-viv-mx6-dev = "${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc" | ||
237 | FILES_libwayland-viv-mx6-dbg = "${libdir}/.debug/libwayland-viv${SOLIBS}" | ||
238 | |||
239 | INSANE_SKIP_libgc-wayland-protocol-mx6 += "dev-so" | ||
240 | FILES_libgc-wayland-protocol-mx6 = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}" | ||
241 | FILES_libgc-wayland-protocol-mx6-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc" | ||
242 | FILES_libgc-wayland-protocol-mx6-dbg = "${libdir}/libgc_wayland_protocol${SOLIBS}" | ||
243 | |||
244 | FILES_libwayland-egl-mx6-dev = "${libdir}/pkgconfig/wayland-egl.pc" | ||
245 | |||
246 | COMPATIBLE_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 @@ | |||
1 | From 1a4a35678ef70283d1a31835deecd39711a9db86 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jeremy Stashluk <jstashluk@dekaresearch.com> | ||
3 | Date: Wed, 30 Jan 2013 13:16:53 -0500 | ||
4 | Subject: [PATCH] change header path to HAL | ||
5 | |||
6 | The gpu-viv-bin-mx6q package from Freescale puts this header in the HAL | ||
7 | directory under the system. I think this is a problem in the LTIB release as | ||
8 | well. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-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 | |||
18 | Index: 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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: egl | ||
7 | Description: Vivante EGL library | ||
8 | Requires.private: | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lEGL | ||
11 | Libs.private: -lm -lpthread -ldl | ||
12 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: egl | ||
7 | Description: Vivante EGL library | ||
8 | Requires.private: libdrm x11 xext xdamage xfixes xcb | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lEGL | ||
11 | Libs.private: -lm -lpthread -ldl | ||
12 | Cflags: -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 @@ | |||
1 | Avoid conflicting types with Xorg newer code | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
5 | |||
6 | Index: 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 @@ | |||
1 | From c59f9640d185759208f9d55a93b6602936dcb5e8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Adrian Alonso <aalonso00@gmail.com> | ||
3 | Date: Sat, 26 Jan 2013 17:52:04 -0600 | ||
4 | Subject: [PATCH 2/2] gc_hal_eglplatform: remove xlib undefs | ||
5 | |||
6 | * Remove header undefs for Always and Status definitions | ||
7 | |||
8 | Signed-off-by: Adrian Alonso <aalonso00@gmail.com> | ||
9 | --- | ||
10 | usr/include/HAL/gc_hal_eglplatform.h | 3 --- | ||
11 | 1 file changed, 3 deletions(-) | ||
12 | |||
13 | diff --git a/usr/include/HAL/gc_hal_eglplatform.h b/usr/include/HAL/gc_hal_eglplatform.h | ||
14 | index 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 | -- | ||
33 | 1.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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=${exec_prefix}/lib | ||
4 | includedir=${prefix}/include | ||
5 | |||
6 | Name: gc_wayland_protocol | ||
7 | Description: Vivante Wayland Protocol Extension Library | ||
8 | Version: 0.1 | ||
9 | Cflags: -I${includedir} | ||
10 | Libs: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: glesv1_cm | ||
7 | Description: Vivante OpenGL ES 1.1 CM library | ||
8 | Requires.private: | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL | ||
11 | Libs.private: -lm -lpthread -ldl | ||
12 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: glesv1_cm | ||
7 | Description: Vivante OpenGL ES 1.1 CM library | ||
8 | Requires.private: libdrm x11 xext xdamage xfixes xcb | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL | ||
11 | Libs.private: -lm -lpthread -ldl | ||
12 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: glesv2 | ||
7 | Description: Vivante OpenGL ES 2.0 library | ||
8 | Requires.private: | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lGLESv2 -lEGL -lGAL | ||
11 | Libs.private: -lpthread -lrt | ||
12 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: glesv2 | ||
7 | Description: Vivante OpenGL ES 2.0 library | ||
8 | Requires.private: libdrm x11 xext xdamage xfixes xcb | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lGLESv2 -lEGL -lGAL | ||
11 | Libs.private: -lpthread -lrt | ||
12 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: vg | ||
7 | Description: Vivante OpenVG 1.1 library | ||
8 | Requires.private: | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lOpenVG -lEGL -lGAL | ||
11 | Libs.private: -lpthread -lrt | ||
12 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=/usr/lib | ||
4 | includedir=/usr/include | ||
5 | |||
6 | Name: vg | ||
7 | Description: Vivante OpenVG 1.1 library | ||
8 | Requires.private: libdrm x11 xext xdamage xfixes xcb | ||
9 | Version: 8.0 | ||
10 | Libs: -L${libdir} -lOpenVG -lEGL -lGAL | ||
11 | Libs.private: -lpthread -lrt | ||
12 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=${exec_prefix}/lib | ||
4 | includedir=${prefix}/include | ||
5 | |||
6 | Name: wayland-egl | ||
7 | Description: Bind the driver EGL to the Wayland API | ||
8 | Version: 1.0.0 | ||
9 | Libs: -L${libdir} -lEGL | ||
10 | Cflags: -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 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=${exec_prefix}/lib | ||
4 | includedir=${prefix}/include | ||
5 | |||
6 | Name: Wayland Vivante Lib | ||
7 | Description: Wayland server side library for Vivante's EGL driver | ||
8 | Version: 0.1 | ||
9 | Cflags: -I${includedir}/wayland-viv | ||
10 | Libs: -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 | |||
4 | require gpu-viv-bin-mx6q.inc | ||
5 | |||
6 | SRC_URI[md5sum] = "52f5ebbb6a9b5d0eafdb952246de584e" | ||
7 | SRC_URI[sha256sum] = "8b0386e13d4a7c770f8bc8e7a6119629c5ed379488dd5ef635bc92353f906003" | ||
8 | |||
9 | PACKAGE_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 | |||
3 | require recipes-bsp/imx-lib/imx-lib.inc | ||
4 | |||
5 | SRC_URI[md5sum] = "5cc9c8d09c7ba401cdab4a2ecbda89e2" | ||
6 | SRC_URI[sha256sum] = "d1581c2f2956731da0c42e9dc17514a4d00790deeb83defeb5e07d14746190d8" | ||
7 | |||
8 | PE = "1" | ||
9 | |||
10 | COMPATIBLE_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 @@ | |||
1 | From 503daf4789dd23e4dc1e16c256de0c163fc2bf87 Mon Sep 17 00:00:00 2001 | ||
2 | From: Markus Trippelsdorf <markus@trippelsdorf.de> | ||
3 | Date: Wed, 4 Apr 2012 10:45:27 +0200 | ||
4 | Subject: [PATCH] perf tools: Fix getrusage() related build failure on glibc | ||
5 | trunk | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | Organization: O.S. Systems Software LTDA. | ||
10 | |||
11 | On a system running glibc trunk perf doesn't build: | ||
12 | |||
13 | CC builtin-sched.o | ||
14 | builtin-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 | |||
17 | Fix it by including sys/resource.h. | ||
18 | |||
19 | Upstream-Status: Pending | ||
20 | |||
21 | Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de> | ||
22 | Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> | ||
23 | Link: http://lkml.kernel.org/r/20120404084527.GA294@x4 | ||
24 | Signed-off-by: Ingo Molnar <mingo@kernel.org> | ||
25 | --- | ||
26 | tools/perf/builtin-sched.c | 1 + | ||
27 | 1 file changed, 1 insertion(+) | ||
28 | |||
29 | diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c | ||
30 | index 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 | -- | ||
42 | 1.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 @@ | |||
1 | From 2235b85f1c76d98b5f1e160cbd0a61a84c15e125 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ivan Djelic <ivan.djelic@parrot.com> | ||
3 | Date: Wed, 6 Mar 2013 20:09:27 +0100 | ||
4 | Subject: [PATCH] ARM: 7668/1: fix memset-related crashes caused by recent GCC | ||
5 | (4.7.2) optimizations | ||
6 | Organization: O.S. Systems Software LTDA. | ||
7 | |||
8 | Recent GCC versions (e.g. GCC-4.7.2) perform optimizations based on | ||
9 | assumptions about the implementation of memset and similar functions. | ||
10 | The current ARM optimized memset code does not return the value of | ||
11 | its first argument, as is usually expected from standard implementations. | ||
12 | |||
13 | For instance in the following function: | ||
14 | |||
15 | void 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 | |||
22 | compiled as: | ||
23 | |||
24 | 800554d0 <debug_mutex_lock_common>: | ||
25 | 800554d0: e92d4008 push {r3, lr} | ||
26 | 800554d4: e1a00001 mov r0, r1 | ||
27 | 800554d8: e3a02010 mov r2, #16 ; 0x10 | ||
28 | 800554dc: e3a01011 mov r1, #17 ; 0x11 | ||
29 | 800554e0: eb04426e bl 80165ea0 <memset> | ||
30 | 800554e4: e1a03000 mov r3, r0 | ||
31 | 800554e8: e583000c str r0, [r3, #12] | ||
32 | 800554ec: e5830000 str r0, [r3] | ||
33 | 800554f0: e5830004 str r0, [r3, #4] | ||
34 | 800554f4: e8bd8008 pop {r3, pc} | ||
35 | |||
36 | GCC assumes memset returns the value of pointer 'waiter' in register r0; causing | ||
37 | register/memory corruptions. | ||
38 | |||
39 | This patch fixes the return value of the assembly version of memset. | ||
40 | It adds a 'mov' instruction and merges an additional load+store into | ||
41 | existing load/store instructions. | ||
42 | For ease of review, here is a breakdown of the patch into 4 simple steps: | ||
43 | |||
44 | Step 1 | ||
45 | ====== | ||
46 | Perform the following substitutions: | ||
47 | ip -> r8, then | ||
48 | r0 -> ip, | ||
49 | and insert 'mov ip, r0' as the first statement of the function. | ||
50 | At this point, we have a memset() implementation returning the proper result, | ||
51 | but corrupting r8 on some paths (the ones that were using ip). | ||
52 | |||
53 | Step 2 | ||
54 | ====== | ||
55 | Make sure r8 is saved and restored when (! CALGN(1)+0) == 1: | ||
56 | |||
57 | save r8: | ||
58 | - str lr, [sp, #-4]! | ||
59 | + stmfd sp!, {r8, lr} | ||
60 | |||
61 | and 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 | |||
70 | Step 3 | ||
71 | ====== | ||
72 | Make sure r8 is saved and restored when (! CALGN(1)+0) == 0: | ||
73 | |||
74 | save r8: | ||
75 | - stmfd sp!, {r4-r7, lr} | ||
76 | + stmfd sp!, {r4-r8, lr} | ||
77 | |||
78 | and 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 | |||
88 | Step 4 | ||
89 | ====== | ||
90 | Rewrite register list "r4-r7, r8" as "r4-r8". | ||
91 | |||
92 | Upstream-Status: Pending | ||
93 | |||
94 | Signed-off-by: Ivan Djelic <ivan.djelic@parrot.com> | ||
95 | Reviewed-by: Nicolas Pitre <nico@linaro.org> | ||
96 | Signed-off-by: Dirk Behme <dirk.behme@gmail.com> | ||
97 | Signed-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 | |||
103 | diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S | ||
104 | index 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 | -- | ||
258 | 1.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 @@ | |||
1 | From 2ba23fa6c4128febaaf57fe184420a7111caa237 Mon Sep 17 00:00:00 2001 | ||
2 | From: Nicolas Pitre <nicolas.pitre@linaro.org> | ||
3 | Date: Tue, 12 Mar 2013 13:00:42 +0100 | ||
4 | Subject: [PATCH] ARM: 7670/1: fix the memset fix | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | Commit 455bd4c430b0 ("ARM: 7668/1: fix memset-related crashes caused by | ||
8 | recent GCC (4.7.2) optimizations") attempted to fix a compliance issue | ||
9 | with the memset return value. However the memset itself became broken | ||
10 | by that patch for misaligned pointers. | ||
11 | |||
12 | This fixes the above by branching over the entry code from the | ||
13 | misaligned fixup code to avoid reloading the original pointer. | ||
14 | |||
15 | Also, because the function entry alignment is wrong in the Thumb mode | ||
16 | compilation, that fixup code is moved to the end. | ||
17 | |||
18 | While at it, the entry instructions are slightly reworked to help dual | ||
19 | issue pipelines. | ||
20 | |||
21 | Upstream-Status: Pending | ||
22 | |||
23 | Signed-off-by: Nicolas Pitre <nico@linaro.org> | ||
24 | Tested-by: Alexander Holler <holler@ahsoftware.de> | ||
25 | Signed-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 | |||
31 | diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S | ||
32 | index 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 | -- | ||
86 | 1.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 @@ | |||
1 | From d8601292ae25e0af47aa4486055221ab44113f0e Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Mahadevan <Mahesh.Mahadevan@freescale.com> | ||
3 | Date: Mon, 15 Jul 2013 15:34:54 -0500 | ||
4 | Subject: [PATCH] ENGR00271136 Fix build break when CONFIG_CLK_DEBUG is | ||
5 | disabled | ||
6 | Organization: O.S. Systems Software LTDA. | ||
7 | |||
8 | clk structure member name is defined only when CONFIG_CLK_DEBUG is enabled. | ||
9 | Hence need to encapsulate the code with this config. | ||
10 | |||
11 | Patch received from imx community: | ||
12 | https://community.freescale.com/thread/308482 | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | |||
16 | Signed-off-by: xiongweihuang | ||
17 | Signed-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 | |||
22 | diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c | ||
23 | index 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 | -- | ||
42 | 1.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 @@ | |||
1 | From 538f4bb2f7a51f267395550a5be9f0ab2e426712 Mon Sep 17 00:00:00 2001 | ||
2 | From: Erik Boto <erik.boto@pelagicore.com> | ||
3 | Date: Tue, 16 Jul 2013 12:06:05 -0500 | ||
4 | Subject: [PATCH] ENGR00271359 Add Multi-touch support | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | The previous behavior of the driver did not work properly with Qt5 | ||
8 | QtQuick multi touch-point gestures, due to how touch-points are | ||
9 | reported when removing a touch-point. My interpretation of the | ||
10 | available documentation [1] was that the driver should report all | ||
11 | touch-points between SYN_REPORTs, but it is not explicitly stated so. | ||
12 | I've found another mail-thread [2] where the creator of the protocol | ||
13 | states: | ||
14 | |||
15 | "The protocol defines a generic way of sending a variable amount of | ||
16 | contacts. The contact count is obtained by counting the number of | ||
17 | non-empty finger packets between SYN_REPORT events."-Henrik Rydberg | ||
18 | |||
19 | I think this verifies my assumption that all touch-points should be | ||
20 | reported between SYN_REPORTs, otherwise it can not be used to obtain | ||
21 | the 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 | |||
26 | Upstream-Status: Pending | ||
27 | |||
28 | Signed-off-by: Erik Boto <erik.boto@pelagicore.com> | ||
29 | Signed-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 | |||
35 | diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c | ||
36 | index 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 | -- | ||
97 | 1.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 @@ | |||
1 | From 3e6441d113f72b412081a2c87f39011e4c253a35 Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Winkler <robert.winkler@boundarydevices.com> | ||
3 | Date: Fri, 19 Jul 2013 19:00:41 -0700 | ||
4 | Subject: [PATCH] Add support for DVI monitors | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-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 | |||
15 | diff --git a/arch/arm/plat-mxc/include/mach/mxc_hdmi.h b/arch/arm/plat-mxc/include/mach/mxc_hdmi.h | ||
16 | index 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, | ||
40 | diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c | ||
41 | index 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 | -- | ||
226 | 1.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 @@ | |||
1 | From cd31abbe08372fa870fac78ae845edd4859f8835 Mon Sep 17 00:00:00 2001 | ||
2 | From: Fabio Estevam <fabio.estevam@freescale.com> | ||
3 | Date: Sat, 28 Sep 2013 18:46:18 -0300 | ||
4 | Subject: [PATCH] ARM: mach-mx6: board-mx6q_sabresd: Register SDHC3 first | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | On sabresd boards we boot from SDHC3, so let's register it as mmc0. | ||
8 | |||
9 | Currently eMMC is mmc0 and mmc1 can be SDHC3 or SDHC2 (if present). | ||
10 | |||
11 | Registering SDHC3 is safer as we can always find the rootfs. | ||
12 | |||
13 | Signed-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 | |||
18 | diff --git a/arch/arm/mach-mx6/board-mx6q_sabresd.c b/arch/arm/mach-mx6/board-mx6q_sabresd.c | ||
19 | index 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 | -- | ||
37 | 1.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 @@ | |||
1 | From b37a944f55a5010bd08297a63db0275540922f32 Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Thu, 22 Aug 2013 16:31:29 -0300 | ||
4 | Subject: [PATCH] drm/vivante: Add ":00" sufix in returned bus Id | ||
5 | |||
6 | This makes the 3.0.35 compatible with a Xorg driver build for 3.5.7 or | ||
7 | newer kernels. | ||
8 | |||
9 | Upstream-Status: Inapropriate [embedded specific] | ||
10 | |||
11 | Signed-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 | |||
16 | diff --git a/drivers/gpu/drm/vivante/vivante_drv.c b/drivers/gpu/drm/vivante/vivante_drv.c | ||
17 | index 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 | -- | ||
30 | 1.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 @@ | |||
1 | From 149545df26169d257b144ff78934ce9cb5b6818b Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Sat, 19 Oct 2013 10:55:11 -0300 | ||
4 | Subject: [PATCH] epdc: Rename mxcfb_epdc_kernel.h to mxc_epdc.h | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | This allow for forward compatibility with imx-test >= 3.10.9-1.0.0. | ||
8 | |||
9 | Signed-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 | |||
18 | diff --git a/drivers/video/mxc/mxc_epdc_fb.c b/drivers/video/mxc/mxc_epdc_fb.c | ||
19 | index 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> | ||
31 | diff --git a/include/linux/mxcfb_epdc.h b/include/linux/mxcfb_epdc.h | ||
32 | new file mode 100644 | ||
33 | index 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 | ||
86 | diff --git a/include/linux/mxcfb_epdc_kernel.h b/include/linux/mxcfb_epdc_kernel.h | ||
87 | deleted file mode 100644 | ||
88 | index 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 | -- | ||
142 | 1.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 | |||
4 | require recipes-kernel/linux/linux-imx.inc | ||
5 | |||
6 | COMPATIBLE_MACHINE = "(mx6)" | ||
7 | |||
8 | # Revision of 4.1.0 branch | ||
9 | SRCREV = "bdde708ebfde4a8c1d3829578d3f6481a343533a" | ||
10 | LOCALVERSION = "-4.1.0+yocto" | ||
11 | |||
12 | # Patches need for Yocto and not applied by Freescale when doing 4.1.0 branch | ||
13 | SRC_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 | ||
24 | RDEPENDS_kernel-base = "" | ||
25 | |||
26 | do_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 @@ | |||
1 | require recipes-bsp/u-boot/u-boot.inc | ||
2 | |||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb" | ||
5 | COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6|vf60)" | ||
6 | |||
7 | DEPENDS_mxs += "elftosb-native openssl-native" | ||
8 | |||
9 | PROVIDES += "u-boot" | ||
10 | |||
11 | PV = "v2013.10" | ||
12 | |||
13 | SRCREV = "079e214888279518ce061c71238a74a0c3db2c28" | ||
14 | SRC_URI = "git://github.com/Freescale/u-boot-imx.git" | ||
15 | |||
16 | S = "${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. | ||
21 | EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \ | ||
22 | HOSTLDFLAGS="-L${STAGING_BASE_LIBDIR_NATIVE} -L${STAGING_LIBDIR_NATIVE}" \ | ||
23 | HOSTSTRIP=true' | ||
24 | |||
25 | PACKAGE_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> | ||